跳到內容

在 JavaScript 裡用

檢查器是 npm 套件 cella-lang:用 wasm-bindgen 編出的 WebAssembly,是一個 ES module,在瀏覽器與 Node 18 以上都能跑。語言模型是 @cella-lang/* 這些套件。

import { readFileSync } from 'node:fs';
import init, { check, init_stdlib_cached, load_module_pack } from 'cella-lang';
import { assets } from 'cella-lang/assets';
await init({ module_or_path: readFileSync(assets.wasm) });
init_stdlib_cached(readFileSync(assets.stdlib)); // 載入標準庫的快照
console.log(check('def two : Nat := add 1 1\n')); // 判決的 JSON
匯入 內容
cella-lang 檢查器
cella-lang/assets 資料檔在哪裡:wasm、標準庫的快照、每個模組的模組包
cella-lang/host 呼叫以函式庫模式編出的 Cella 程式的匯出
cella-lang/dap 形狀照 Debug Adapter Protocol 的除錯工作階段
cella-lang/corpus.json 能執行的範例,附這一版的判決

npm 上的 README 說明每一個匯出、三種模式(不載入標準庫、預載、明確)與判決 JSON 的形狀。