lambda:lambda演算解释器

时间:2024-04-21 09:25:18
【文件属性】:

文件名称:lambda:lambda演算解释器

文件大小:157KB

文件格式:ZIP

更新时间:2024-04-21 09:25:18

C++

lambda演算解释器 什么: 用C ++编写的小型lambda演算解释器。 它支持α转换和β减少,以及精确跟踪替换和重命名的输出。 如何: 支持标准的lambda演算语法,例如: (λz.(((λx.(λy.x)) z) ((λx.(λy.x)) z))) 请注意,变量名称可以是多字符,因此必须用空格分隔。 支持用于多参数函数的语法糖: λx y.x == λx.λy.x 还支持Haskell风格的lambda语法,因为没有人知道如何键入λ: \x y -> x == \x -> \y -> x 还支持let绑定: let S = \x y z -> x z (y z) let K = \x y -> x let I = \x -> x S K K == I 如果使用了FLAG_VAR_REPLACEMENT标志(与:v切换),则解释器将尝试通过使用alpha等效性FLAG_


【文件预览】:
lambda-master
----LICENSE(11KB)
----.gitignore(207B)
----lib()
--------ski.lc(156B)
--------num.lc(326B)
--------bool.lc(123B)
----Makefile(2KB)
----README.md(2KB)
----source()
--------parser.cpp(9KB)
--------eval.cpp(6KB)
--------lexer.cpp(4KB)
--------util.cpp(6KB)
--------repl.cpp(4KB)
--------include()
--------file.cpp(3KB)
--------highlight.cpp(7KB)
--------main.cpp(1KB)
----external()
--------zpr.h(63KB)
--------utf8proc()
--------zbuf.h(14KB)

网友评论