我有兴趣提高我的功能编程技能,我相信最好的方法是做一个中型项目。在过去,我曾与Scheme合作,并希望继续这样做。有人可以建议一些中型计划项目的想法吗? (注意:我精通C语言(ANSI C89 / ISO C90),因此利用Scheme的外部函数接口(例如)与像ncurses这样的库进行交互不仅是可行的,而且是首选的。)
答案 0 :(得分:4)
答案 1 :(得分:4)
您可能会从最近的帖子中获得一些想法 PLT计划邮件列表中的PLT项目正在等待贡献者。
特别要看看Flatt的帖子:
http://list.cs.brown.edu/pipermail/plt-scheme/2009-January/029585.html
我们可以使用一些图像文件库:
阅读GIF文件(我们已经有一个写作库)
读写BMP文件
读写XPM& XBM文件
所有这些格式目前都是使用C代码内置到MrEd中的,但是 代码很难看,我们想摆脱它。另外,这些图像格式 很简单。
答案 2 :(得分:1)
延续Web服务器怎么样? Smalltalk已经有一个(Seaside)和PLT Scheme在它的发行版中有一个,但我认为这是一个很好的全面项目,因为它涵盖了网络,多线程,I / O,用户可扩展性等等。
有一篇有趣的文章here可能会让你开始。
祝你好运!!!答案 3 :(得分:1)
如果你有一个坚实的Scheme,并且想要了解编译器生成代码时会发生什么,请遵循this tutorial。 author's homepage上有相关资源。
注意:论文,教程和测试用例并不完全排列。你必须保持对你的智慧并为自己解决一些问题。特别是,按照教程直到lambdas,然后按照文章进行标签/代码/标签调用,然后返回到堆分配教程,然后返回到论文继续,然后再进行下一步。 (抱歉让它变得复杂,但那是对我有用的路线。)
答案 4 :(得分:0)
Programming Praxis可以找到一组很好的练习,主要是在Scheme中提供解决方案。