SOFTWARE

Lambda LLC が独自に開発しているソフトウェアプロダクトです。

Lambda Smalltalk

Cranelift JIT コンパイルを搭載した、高速で現代的な Smalltalk 処理系。LuaJIT や Node.js V8 に匹敵する性能を実現しながら、「すべてがオブジェクト、すべてがメッセージ」という純粋な Smalltalk の哲学を継承しています。

Lambda Prelude

常駐サービス向けに設計された、静的型付きの関数型 Smalltalk。Hindley-Milner 型推論と Smalltalk 風の表層構文を融合し、OCaml 5 の effect handler 上に構築されたアクターモデル、ネイティブ AOT コンパイル(バイトコード VM や JIT なし)、HTTP/TLS/SQL/暗号化などサービス開発に必要な機能を標準装備しています。

Lambda C

組み込みシステムやリソース制約のある環境向けに設計された、軽量な C 風スクリプト VM。コンパクトな 4 バイト命令フォーマット、動的 FFI(Foreign Function Interface)、ホットリロード機能を備え、ホスト側で安全境界を制御できる「意図と実行の分離」アーキテクチャを採用しています。

Lambda OS

ドローンの飛行制御のような、マイクロ秒単位が要求されるハードリアルタイム制御に向けた RTOS。ハードウェア・割り込み・スケジューラ・ドライバを受け持つカーネルを Zig で記述し、その上のアプリケーション層を Lambda C バイトコードで動かします。スクリプトは MMU で隔離されたアクターとして「意図」を表現し、実行可否はカーネルが判断します。優先度継承・デッドライン超過検知・CPU 予約・レート単調(RM)スケジューリング解析といったリアルタイム制御の基本機構、コアごとに固定優先度でプリエンプティブに動く SMP スケジューラ、Ethernet から TCP / DHCP / DNS まで揃ったネットワークスタックを備えます。位置透過なメッセージパッシングによる分散アクターは OS 間通信にも対応します。単一の Zig ツールチェーンで、64 ビットの x86_64 / RISC-V / AArch64 から、RV32 や ARM Cortex-M0+ といった 32 ビットの安価なマイコンまでを一貫してカバーします。

LPScript

ブラウザで動く画面を書くための、アクタを持つ静的型付き関数型 Smalltalk。状態を持つのはアクタ、届くものはメッセージ、描き直すかどうかは状態が変わったかどうか——ボタン操作でも通信の応答でも毎フレームの更新でも、書き方は変わりません。一万行の一覧も、ブロック崩しも、canvas のシューティングも、この仕組みだけで書けます。どこを再描画するかを指定する場所そのものが無く、memo も依存配列も購読も要りません。マークアップはデザイナの HTML をそのまま複製して使い、ページに無いセレクタや、ハンドラの無いメッセージはコンパイル時に弾かれます。金額は Decimal、日付は暦の日付、JSON は桁を落とさない——業務データの扱いは既定で正しくしてありますが、書ける画面がそこに限られるわけではありません。出力は普通の ES モジュールで、重い処理は Worker spawn:on: と書くだけで別スレッドに移せます。Lambda Prelude の兄弟にあたり、言語の形だけを受け継いでいます。

LP-9

Windows と Linux のデスクトップで動く画面を書くための、アクタを持つ静的型付き関数型 Smalltalk。状態はアクタが持ち、クリックもキーも通信の答えも時計の一刻みも、全部メッセージとしてアクタに届きます。画面は「何を描くか」の記述を返すだけで、前のコマと同じ記述の領域は描き直しません。受注の一覧と明細も、監視盤も、地図の上を動く機体も、タスクトレイに常駐する道具も、同じ仕組みで書きます。ハンドラの無いメッセージや、画面がメッセージを待って止まる書き方は、動かす前に断られます。金額は Decimal、日付は暦の日付で、SQLite・PostgreSQL・MariaDB・HTTP・JSON を標準で備え、日本語入力は変換中の文字と候補まで画面の側で描きます。開発中は lp9 run の解釈器ですぐ動かし、出荷時は lp9 build が Zig のソースを経てネイティブの実行ファイルを作ります。二つは同じ答えを出し、生成コードの速さは手書きの Zig と 1.5% の差です。Lambda Prelude のデスクトップ版にあたり、言語の形を受け継ぎつつ、ランタイムは Zig で一から作られています。