0.1.25 |
|
---|
#2 in #chinilla
665KB
17K SLoC
chinillaclvm_tools_rs
这是 chinilla 的 chinillaclvm 工具 通过 ChinillaMineJP 将其转换为 typescript 的工作,将其二次移植到 rust。如果没有先前对各种半动态事物的类型进行映射的工作,这将是一个非常困难的任务(感谢 ChinillaMineJP)。
进行此操作的一些原因:
-
Chinilla 将 chinillaclvm 的实现切换到 rust:chinillaclvm_rs,并且此代码在相同语言中可能会提高速度并更好地跟踪 chinillaclvm。
-
我在 ocaml 中编写了一个结构更简单、更不复杂的新的编译器,这应该更容易在未来进行改进和验证:ochinillalisp。
-
即使在这个未经优化的形式中,它也更快。
到目前为止,我已经带来了所有接受测试,并且正在添加更多。目前,我不认为从该存储库中的 chinillaclvm_tools 运行这些命令行工具时,有任何不应该是真实的情况。
-
opc
-
opd
-
运行
-
brun
-
repl
argparse 已转换为 javascript,我相信我已经忠实地复制了它在 cmds 中的使用方式,因此命令行解析在这三个版本中应该相似。
预期的目录结构为:
src/classic <-- any ported code with heritage pointing back to
the original chinilla repo.
src/compiler <-- a newer compiler (ochinillalisp) with a simpler
structure. Select new style compilation by
including a `(include *standard-cl-21*)`
form in your toplevel `mod` form.
Mac M1
由于 mac M1 和其他平台处理 python 扩展方式的不同,请使用 cargo build --no-default-features
。
与 chinilla-blockchain 一起使用
# Activate your venv, then
$ maturin develop --release
依赖项
~6–18MB
~257K SLoC