3个不稳定版本
0.2.1 | 2023年3月21日 |
---|---|
0.2.0 | 2023年3月20日 |
0.1.0 | 2023年2月11日 |
786 在 编程语言 中排名
每月下载量 26 次
92KB
3K SLoC
oris
Monkey语言的解释器
安装
cargo install oris
REPL
$ oris
>> 1 + 1
2
>>
脚本
$ cat dt.oris
let answer = 2 * 3 * 7;
print(answer);
$ oris dt.oris
42
嵌入式
let code = b"
let is_composite = fn(n) {
let f = fn(d) {
if n <= d {
false
} else {
let q = n / d;
if q * d == n {
true
} else {
f(d + 1)
}
}
}
f(2)
}
let sum = fn(m) {
let f = fn(n) {
if n == m {
0
} else {
if is_composite(n) {
0
} else {
n
} + f(n + 1)
}
};
f(1)
}
sum(limit)
";
let mut env = oris::Env::builder().with_int("limit", 14).build();
let result = oris::entry(&mut env, code).unwrap();
assert_eq!(result.as_int().unwrap(), 42);