Cloudflare Workers、Deno、Bun、AWS Lambda、Node.jsなどで動作する、Web標準を基盤とした小型で超高速なWebフレームワークです。
Millillion/lasm
通常のLeanプログラムをWebAssemblyに変換し、Node、サーバーレス、エッジ、WASI、ブラウザー向けに出力するLean 4のAOTコンパイラー。
- スター
- 100
- フォーク
- 7
- 未解決の Issue
- 1
- 最終コミット
- 19 時間前
これは何?
Lasmは通常のLean 4プログラムを事前コンパイルしてWebAssemblyに変換し、同じLeanコードベースをNodeサーバー、サーバーレスまたはエッジ関数、WASIまたはFastlyモジュール、ブラウザーアプリとして実行できるようにします。npmで提供され、Leanとビルドツールが同梱されているため、開発者がインストールする必要があるのはNode、Bun、またはDenoだけです。
Lasmは、Leanのimportと呼び出す関数ごとの宣言を通じてJavaScriptおよびnpmとの相互運用を実現します。また、HTTP用(Lasm.Fetch)、正しさが証明された差分処理を備えるブラウザーUI用(Lasm.UI)、型付きクライアント/サーバーAPI用(Lasm.RPC)、DOMアクセス用(Lasm.Web)のLeanライブラリを提供します。コードはLeanで記述するため、デプロイするコードの性質を定理として記述し、ビルド時に検証できます。代表例であるConduitというRealWorldアプリには、認可、ページネーション、検証ロジックに関する117件の証明済み定理が含まれています。
デプロイ先にはAWS Lambda、Vercel、Netlify、Azure Functions、Google Cloud Functions、Cloudflare Workers、Deno Deploy、Fastly Computeのほか、標準的なWASIおよびブラウザー向け出力が含まれます。プログラムは実行時にLeanのelaborationや評価を行えません。また、エッジ、Bun/Deno、WASI、ブラウザー向けビルドは、ソケットやプロセスを使わず単一スレッドで動作します。
主な機能
- 01通常のLean 4プログラムを事前コンパイルしてWebAssemblyに変換します。
- 02Node、AWS Lambda、Vercel、Netlify、Cloudflare Workers、Deno Deploy、Fastly、WASI、ブラウザー向けにビルドできます。
- 031行の@[js]宣言を使って、LeanからnpmパッケージやJavaScript関数を呼び出せます。
- 04HTTP、ブラウザーUI、型付きクライアント/サーバーRPC、DOMアクセス用のLeanライブラリを提供します。
- 05Leanとビルドツールを同梱した状態でnpmからインストールでき、npm createでプロジェクトテンプレートを利用できます。
ユースケース
- HonoやExpressを使うNode REST APIをLeanで作成する。
- Leanの関数をサーバーレスまたはエッジプラットフォームにデプロイする。
- サーバーレンダリング出力に対応したブラウザー向けシングルページアプリをLeanで構築する。
- Webバックエンドで認可ルールなどの不変条件を証明する。
クイックスタート
- 1
Hono テンプレートで新しいプロジェクトを作成する
npm create @lasm@latest my-app -- --template hono - 2
プロジェクトに移動して依存関係をインストールする
cd my-app && npm install - 3
開発サーバーを起動する
npm run dev
使う前に知っておきたいこと
- Lean ベースのツールチェーン:初回ビルド時に、Lean とビルドツールが約 250〜275 MB ダウンロードされます。
- Edge、Bun/Deno、WASI、ブラウザー向けのビルドは、ソケットやプロセスを使わずシングルスレッドで動作します。
- コンパイラーには Node 24 以降が必要です。代替ランタイムは Bun または Deno のみです。
収録されている特集
トピック
よくある質問
- lasm とは?
- 通常のLeanプログラムをWebAssemblyに変換し、Node、サーバーレス、エッジ、WASI、ブラウザー向けに出力するLean 4のAOTコンパイラー。 Lasmは通常のLean 4プログラムを事前コンパイルしてWebAssemblyに変換し、同じLeanコードベースをNodeサーバー、サーバーレスまたはエッジ関数、WASIまたはFastlyモジュール、ブラウザーアプリとして実行できるようにします。npmで提供され、Leanとビルドツールが同梱されているため、開発者がインストールする必要があるのはNode、Bun、またはDenoだけです。
- lasm は無料で使えますか?ライセンスは?
- lasm は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- lasm は今もメンテナンスされていますか?
- 活発にメンテナンス中。lasm の最終コミットは 2026年11月5日 です。
- lasm は何に使えますか?
- HonoやExpressを使うNode REST APIをLeanで作成する。 Leanの関数をサーバーレスまたはエッジプラットフォームにデプロイする。 サーバーレンダリング出力に対応したブラウザー向けシングルページアプリをLeanで構築する。 Webバックエンドで認可ルールなどの不変条件を証明する。
- lasm のインストール方法は?
- Hono テンプレートで新しいプロジェクトを作成する: npm create @lasm@latest my-app -- --template hono プロジェクトに移動して依存関係をインストールする: cd my-app && npm install 開発サーバーを起動する: npm run dev
- lasm はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Millillion/lasm
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Cloudflare Workersを支えるものと同じコードから作られた、セルフホストやローカル開発向けのJavaScript/Wasmサーバーランタイム。
Node.jsなしで動作するネイティブ実行ファイルやWebAssemblyを生成する実験的なTypeScript/JavaScriptコンパイラ。
LLVMを基盤とするGoコンパイラ。マイクロコントローラー、WebAssembly(WASM/WASI)、コマンドラインツール向けにビルドできます。
独自のCoreLib、ランタイム、SDKを備え、C#と.NET CILをコンパイルして小型のスタンドアロンWASI Preview 2コンポーネントを生成するコンパイラです。
Craneliftコードジェネレーターを基盤とするスタンドアロンのWebAssemblyランタイム。WASIに対応し、複数言語から組み込めます。