Installation

Download from the Downloads page. Unzip anywhere and add to PATH.

Your First Surgery

Create find_todos.st:

"Extract all TODO comments from source code"
| grammar source matches |

grammar := Grammar from: '
    todo: "TODO" /[^\n]*/
    %ignore /./
'.

source := File read: 'target.js'.
matches := Grammar findAll: grammar in: source.

matches do: [:m |
    (m at: 'text') printNl.
].

Run it:

lambda-st run find_todos.st

You just performed code surgery. No regex wrestling, no AST libraries - just declare the pattern and extract.

VSCode Extension

Full IDE support for serious work:

Setup

  1. Download lambda-smalltalk-x.x.x.vsix from Downloads
  2. VSCode: Extensions → "..." → "Install from VSIX..."
  3. Select the .vsix file

The extension auto-detects lambda-st-lsp and lambda-st-dap in your workspace or PATH.

Debugging

  1. Open a .st file
  2. Click line gutter to set breakpoints
  3. F5 to start debugging
  4. Step through, inspect variables, evaluate expressions

Library and Plugin Search Paths

When you use Module import: or Plugin load:, Lambda Smalltalk searches these locations in order:

PriorityPathDescription
1Current directory./lib/Text/Text.st
2Executable directoryWhere lambda-st is installed
3LAMBDA_ST_LIB_PATHCustom library paths
4LAMBDA_ST_PLUGIN_PATHCustom plugin paths

Environment variables use ; as separator on Windows, : on Unix.

Example: If you install Lambda Smalltalk to C:\lambda-st\, the bundled libraries at C:\lambda-st\lib\ are automatically found.

Module import: 'Text'.        "Loads lib/Text/Text.st"
Plugin load: 'excel_plugin'.  "Loads plugins/excel_plugin.dll"

Next Steps