
前端时间正好有空就学习了 rust 然后用它写了一个lisp 的解释器 这里有个 liux_x86 版的可执行文件 可以下载下来把玩
有两种模式 一种是 cmd 命令行的形式,一种是直接加载文件运行的模式
在原有 scheme 方言的基础上增加了 tcp 的服务器功能
( (define f (call-with-input-file "./demo.html" read-string)) (call-with-tcp-listener "127.0.0.1:8088" ( lambda (in) ( (display (byte-vector->string (read-byte-vector in 4096))) (string-append "HTTP/1.1 200 OK\r\n\r\n" f) )))) 欢迎大家讨论,也看看后续是否继续迭代新特性
1 zagfai 2022 年 7 月 16 日 手动点赞。 |
2 summerLast OP @zagfai 谢谢 |
3 summerLast OP 还可以中文编程 ``` ( (define 定义 define) (定义 定义函数 defun) (定义 显示 display) (定义 换行 newline) (定义函数 打印 (打印的字) (显示 打印的字) (换行) ) (打印 '你好 中国') ) ``` |
4 kkkiio 2022 年 7 月 16 日 你好像没实现 GC ,Arc<RwLock<T>> 有循环引用问题吧 |
5 yuelang85 2022 年 7 月 16 日 酷 |
6 summerLast OP @kkkiio 是的 变量相关的信息现在全部放在 env 里面了 ,env 持有者结束之后 env 就结束了 env 是一个树形的结构 |
7 kkkiio 2022 年 7 月 18 日 via iPhone @summerLast set-car! 就能制造循环引用了 |
8 summerLast OP @kkkiio 是的,只有引用次数归 0 后才会被 gc |
9 summerLast OP 捞一下 |