【问题标题】:How to implement a functional language [closed]如何实现功能语言[关闭]
【发布时间】:2013-02-22 01:22:16
【问题描述】:

我正在尝试了解命令式语言和函数式语言之间的区别。
而且,我想了解闭包以及垃圾收集器是如何实现的。所以我决定尝试实现一个函数式语言的解释器。

由于我不熟悉函数式语言,因此设计一种对我来说太难了。是否有一些关于简单函数式语言的语法和语义的资源?有关如何执行此操作的教程将非常有帮助。

【问题讨论】:

  • 你搞错了。根据定义,您需要先了解函数式语言,然后再认为您要解释一种。只需选择一个并学习一个,为您提供更好的方向。无论如何,结束不是一个真正的问题;太宽泛了。
  • 最好找一个你可以学习的简单函数式编程实现。尝试自己做是一项巨大的事业。
  • 语法与语言是否功能完全无关,除了可能提供“匿名函数”语法。
  • 还有,我想习惯 clousure 你是说 Clojure 吗?
  • 以下内容可能对您有用:a Scheme implementation tutorial。如果它没有关闭,我很乐意将其添加为答案!!!

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


【解决方案1】:

请考虑:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      你可能比阅读 John Allen 的 Lisp 剖析更糟糕。对于惰性语言。

      【讨论】:

        猜你喜欢
        • 2010-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-12
        相关资源
        最近更新 更多