【发布时间】:2012-06-19 05:04:00
【问题描述】:
我正在学习计划,直到现在一直在使用诡计。我真的只是在学习一种自学函数式编程语言的方法,但我想发布一个开源项目以加强这项研究——还不确定是什么......我是一名网络开发人员,所以可能是网状的。
很明显,发布方案代码并不是一件容易的事,因为所有这些不同的实现以及超出语言本身核心 (R5RS) 的真正标准。例如,我几乎肯定需要在磁盘上和通过 TCP 套接字进行基本 IO,以及字符串操作,例如扫描/正则表达式,这似乎没有被 R5RS 覆盖,除非我没有看到它在文档中。似乎 Scheme 更像是一种“概念”而不是实用语言……这是一个公平的评估吗?如果我想学习一种更适合在开源项目中使用的函数式编程语言,也许我应该看看 Haskell 之类的东西?
实际上,当您想要发布一个开源项目时,不同的方案实现会带来多大的痛苦?我真的不喜欢在各种主流实现(Chicken、guile、MIT、DrRacket)下维护 5 个不同的函数来处理基本的事情,比如字符串操作。有多少人真正为跨实现兼容性编写方案,而不是与只存在于他们自己方案中的库函数紧密耦合?
我读过http://www.ccs.neu.edu/home/dorai/scmxlate/scheme-boston/talk.html,这并没有让我充满信心;)
编辑 |让我们将“标准”重新定义为“普通”。
【问题讨论】:
-
您的问题似乎使您认为 R5RS 是 Scheme 的最新标准,但事实并非如此。 R6RS 可以处理您所询问的更多事情,它于 2009 年发布,是当前的 Scheme 标准 R6RS 仍然太小而无法完成很多事情,因此您可能希望坚持使用特定的实现。我使用(和开发)Racket,但 Guile 也是一个合理的选择。
标签: scheme