@algosail/builtins
v0.0.6
Published
Builtin words for Sail language.
Readme
@algosail/builtins
Builtin words for Sail: stack manipulation, control flow, lists, MATCH.
Exports
import { builtinWords, DUP, SWAP, DIP, MATCH, ... } from '@algosail/builtins'builtinWords is an object mapping name → { name, signature, sig, docs }.
Categories
| Category | Words | |----------|-------| | Stack | DUP, SWAP, DROP, OVER, NIP, TUCK, ROT, ROTR, DUP2, DROP2, SWAP2, POP, CLEAR | | Control | DIP, KEEP, CALL, BI, TRI, CLEAVE, SPREAD, COMPOSE | | Lists | CONS, UNCONS, HEAD, TAIL, MAP, FILTER, REDUCE, SCAN, ANY, ALL, FIND, … | | Match | MATCH |
Signature Format
Each builtin has:
signature— string, e.g."a -- a a"sig—{ inputs, outputs, addEffects?, removeEffects? }in parser formatdocs— description string
See sig.js for helpers: buildSig, v, list, quote.
Usage
- Typecheck — resolves builtin signatures for
builtin_wordsteps - Compiler — emits JS for each builtin in
emitStep.js - Tree-sitter — grammar uses
Object.keys(builtinWords)forbuiltin_wordtoken (dependency to remove in Phase 2.2)
Tests
No tests in this package (pure data). See lang/docs/TESTING.md for brittle usage in other packages.
