1 个不稳定版本
| 0.1.9 | 2022 年 6 月 3 日 |
|---|
#601 在 WebAssembly
59KB
1.5K SLoC
Oolisp
基于 Web 的 LISP 解释器
关于
语法 & 类型
数字
- 与我们都熟悉的数字类似。(例如
1,1.1,1.1e+13,1.1e-13)
符号
- 符号是可以分配给任何值的名称。(例如
add,def,fun,some-var) - 用法:
def {symbol-name} value
字符串
- 字符串是由双引号分隔的字符。(例如
"c'ect ci nest pa un pipe?","hg king")
S 表达式
- S 表达式用于调用和评估函数。(例如
(+ 1 2 3),(- (+ 9 1) (* 5 2)),(list 1 2 3 4),(== {} {})) - 用法:
(函数 arg0 arg1 arg2)
q表达式
- Q-表达式是值列表,保持未评估状态。(例如:
{1 1 1 1},{+ 9 (== {} {})})用法:{elem0 elem1 elem2}
lambda
- Lambda函数是构建函数的方法,可以是部分应用。(例如:
(\ {a b} {+ a b}))用法:(\ {arg-list} {body})
深受以下影响
依赖关系
~1.5–2.4MB
~46K SLoC