文件名称:silc:C 语言中的简单 Lisp 实现
文件大小:39KB
文件格式:ZIP
更新时间:2024-08-10 00:54:32
C
警告
这仍在进行中。
概述
受 lisp500 和 tinyscheme silc 的启发,是一个小型的 lisp 实现。 它只是为了好玩,主要是为了演示 lambda 演算解释。 它具有可移动的垃圾收集器,非常适合在受限环境中使用(所有分配都在有限的堆区域中进行)。
如何构建
在根目录中执行./configure && make repl 。
然后做:
$ rlwrap src/repl/target/silc
示例会话日志:
;; SilcLisp by Alex Shabanov
? (+ 1)
1
? (+)
0
? (+ 1 2 (+ 4 5))
12
? nil
nil
? true
true
? (define foo (lambda (a b) (+ a b 1000)))
#
【文件预览】:
silc-master
----silc.mk(206B)
----test()
--------test_obj.c(3KB)
--------test_print.c(3KB)
--------test_eval.c(6KB)
--------test_gc.c(9KB)
--------test.h(1KB)
--------test_inl.c(4KB)
--------Makefile(2KB)
--------README.md(135B)
--------test_read.c(5KB)
--------test_helpers.h(1KB)
----TODO.md(146B)
----src()
--------silc()
--------demo()
--------repl()
----configure(1KB)
----.gitignore(42B)
----Makefile(296B)
----README.md(3KB)
----LICENSE.txt(580B)