喜欢函数式编程和 C 的来看一下?

2018-05-16 07:24:59 +08:00
 ltoddy

https://github.com/ltoddy/scheme.c

用 C 写的 Scheme 解释器,已经完成一大半了,玩一下?

3951 次点击
所在节点    程序员
16 条回复
PressOne
2018-05-16 08:24:56 +08:00
对用 c 和函数式编程的开发者精神上表示支持,力气有点费阿
agagega
2018-05-16 09:18:29 +08:00
乍看以为是单个文件
svenFeng
2018-05-16 09:46:03 +08:00
C 写解释器是真的丑啊。。。。。
看这个姿势是从 sicp 学来的?
ltoddy
2018-05-16 09:52:10 +08:00
@svenFeng 没错啊。况且 SICP 就教。
snailsir
2018-05-16 09:59:19 +08:00
动图妹子不错
svenFeng
2018-05-16 09:59:59 +08:00
@ltoddy sicp 里讲解释器的实现不是很好,可以看看 eopl
ltoddy
2018-05-16 10:07:12 +08:00
@snailsir illya dance
ltoddy
2018-05-16 10:08:15 +08:00
@svenFeng 嗯,等我以后工作之后稳定下来之后在看看。
gleport
2018-05-16 10:18:26 +08:00
试了一下还不完善啊,(define (f x) (+ x 1)) 会报 “ unbound variable ” 的错。楼主可以参考下 https://raw.githubusercontent.com/hmgle/yascm/master/tests/tests.scm 做测试,这个解释器核心程序用了几百行 c,就可以跑 sicp 的元循环求值器了。
ltoddy
2018-05-16 10:25:10 +08:00
@gleport 关于定义函数,还没做完,代码还没上去……
gleport
2018-05-16 11:09:49 +08:00
也贴下上面提到的那个 toy scheme 解释器实现: https://github.com/hmgle/yascm
通过了 [Man or boy test]( https://en.m.wikipedia.org/?title=Man_or_boy_test)
ltoddy
2018-05-16 11:37:38 +08:00
@gleport 我就当锻炼一下了。
gleport
2018-05-16 12:54:24 +08:00
@ltoddy 欢迎加入 scheme 研究院微信群交流~
ltoddy
2018-05-16 15:23:49 +08:00
@gleport 额,鸭子大叔……
gleport
2018-05-16 17:07:51 +08:00
@ltoddy 在下 fractal,群主是鸭子。
ltoddy
2018-05-16 19:14:48 +08:00
@gleport 我跟鸭子有共同的群,他的群我就不进了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/455146

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX