Just use PyPI. Recommend to install cytoolz
before installing Rem to speed up function invocations.
pip install remlang
See all features at Inrtoduction.
-
Pattern Matching
Currently supportcase
syntax.case expr as destruction [when condition] => statements end
- Dictionary Pattern Matching
case %{a: b} as {a : &b+1} => 1 as {a : &b } => 2 end
- Function Parameter Destruction
>> {|(1, 2, c)| c*2} (1, 2, 3) => 6
-
Inverted Syntax (see the priority table in the linked page)
file . open . write some_text
.
has a high priority whilethen
has a lower one. -
Into Statement(just like
goto
)
Rem 支持中文编程, 因为它的tokenizer可以被动态操控,在任意一个Rem模块里,均有一个__compiler__
对象, 负责处理输入语句到ast
的转换。当下内置了一个无参函数中文编程
, 便可以使用中文关键字。
>> call 中文编程
>> 对于 [3, 2] 作为 [甲, 乙] => 甲 * 乙 结束
# 等价于 =>
# case [3, 2] as [甲, 乙] => 甲 * 乙 end
=> 6
中英文token对照
English | 中文 |
---|---|
then | 然后 |
when | 当 |
and | 并且 |
or | 或者 |
in | 含于 |
not | 非 |
case | 对于 |
as | 作为 |
end | 结束 |
where | 其中 |
from | 从 |
import | 导入 |
yield | 生成 |
into | 跳跃到 |
let | 使/让 |
True | 真 |
False | 假 |
None | 空 |
is | 是 |
. |
之 |
它 |
它 |
= | 等于 |