Lambda Smalltalk

凄腕の外科医 — JITコンパイル搭載の高速で現代的なSmalltalk

外科手術用器具
ダウンロード

高性能

Cranelift JITコンパイルにより、LuaJITやNode.js V8に匹敵する性能を実現。

純粋なSmalltalk

モダンな利便性を備えたクラシックなSmalltalk構文。すべてがオブジェクト、すべてがメッセージ。

バッテリー同梱

JSON、YAML、TOML、CSV、HTTP、SQLite、正規表現など。PostgreSQL、Redis、Excel、Git、DataFrame、圧縮、暗号化はプラグイン対応。

ポータブル

実行ファイル1つ。プラグインは任意。

コード手術の実例

"JavaScriptソースから全ての関数呼び出しを抽出"
| grammar source matches |

grammar := Grammar from: '
    call: IDENT "(" args? ")"
    args: arg ("," arg)*
    arg: IDENT | NUMBER | STRING
    IDENT: /[a-zA-Z_]\w*/
    NUMBER: /\d+/
    STRING: /"[^"]*"/
    %ignore /\s+|./
'.

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

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

外科手術について詳しく見る。

Smalltalk-80ではない

Lambda Smalltalkは従来のSmalltalk-80実装ではありません

グラフィカル環境のSmalltalk-80が必要なら、SqueakPharoを参照してください。

Lambda SmalltalkはCLIツール、サーバーレス、スクリプティング向けに設計されています。イメージベースのワークフローなしで、Smalltalkの優雅さを活用したい場面に。