【文件属性】:
文件名称:cora:天才程序员应该写自己的Lisp!
文件大小:42KB
文件格式:ZIP
更新时间:2021-05-09 11:54:29
programming-language lambda lisp cora C
cora编程语言
受到方案,沉,femtolisp和更多方案的启发...
闭合可以清晰地打印
(lambda (a) 3 (b . 5) (c . 7)) b。5 (lambda (a) 3 (b . 5) (c . 7)) (c。7 (lambda (a) 3 (b . 5) (c . 7))作为femtolisp
内核lambda
最小特殊形式:
引用
拉姆达
如果
做
set是函数而不是特殊形式。
let是一个宏。
(让a 3 b 5 ...)
正确的尾声
像方案一样进行适当的尾部呼叫。
部分申请
模式匹配
(match ( cons 1 2 )
( cons a b) a)
func宏
(func map
f [] => []
f [x . y] => [x . (map f y)])
如今,任何猫和狗都编写自己的编程语言,其中大多数都是很烂的。 它们中的
【文件预览】:
cora-master
----src()
--------builtin.c(6KB)
--------runtime.h(2KB)
--------reader.h(126B)
--------gc.h(582B)
--------init.cora(11KB)
--------compiler.cora(8KB)
--------types.c(7KB)
--------types.h(2KB)
--------Makefile(597B)
--------gc.c(5KB)
--------reader.c(6KB)
--------runtime.c(9KB)
--------builtin.h(1KB)
----lib()
--------codegen.c(7KB)
--------continuation_monad.cora(501B)
--------setjump.c(1KB)
--------ukanren.cora(4KB)
--------Makefile(470B)
--------lib.h(173B)
--------let-loop.cora(1KB)
--------generator.c(3KB)
----doc()
--------idea.md(344B)
--------module.md(735B)
--------todo.md(142B)
--------cora.md(8KB)
--------cora-module.md(929B)
--------cora-side-effect.md(7KB)
--------tutorial.md(2KB)
--------gc.md(5B)
--------reference.md(265B)
----test()
--------types_test.c(451B)
--------ukanren-test.cora(5KB)
--------fact-tail.scm(122B)
--------map.scm(136B)
--------gc_test.c(667B)
--------test.c(595B)
--------fact.scm(102B)
--------reverse.scm(212B)
--------recur-func-macro.scm(193B)
----README.md(1KB)
----Makefile(269B)
----.gitignore(30B)
----main.c(1KB)