如何实现一种功能语言

时间:2013-02-22 01:22:16

标签: functional-programming language-design language-implementation

我正在努力学习命令式和功能性语言之间的差异 而且,我想了解闭包以及如何实现垃圾收集器。所以我决定尝试为函数式语言实现解释器。

由于我不熟悉函数式语言,因此我很难设计它。是否有一些关于简单函数语言的语法和语义的资源?关于如何做到这一点的教程将非常有用。

3 个答案:

答案 0 :(得分:7)

请考虑:

Implementing functional languages: a tutorial
Simon Peyton Jones and David Lester. Published by Prentice Hall, 1992.

Available online,它涵盖了实现编译的惰性函数语言的日益复杂的方法。

跟进the STG machine paper,描述GHC运行时的核心。

答案 1 :(得分:6)

奇怪的是,有。 Structure and Interpretation of Computer Programs本书有一些练习,其中Scheme在Scheme中实现。但是不能跳过准备材料。您将需要了解它(以及如何使用函数式语言编程),尤其是当您在解释器中实现解释器时。

答案 2 :(得分:1)

你可能比阅读约翰艾伦的Lisp剖析更糟糕。对于懒惰的语言。