bad*_*ash 7 implementation haskell functional-programming
在功能范例中,函数是主要的"控制结构".例如,+操作符也被视为一个函数,你可以像任何其他"对象"一样传递它们.我想知道如果我必须实现一个玩具功能语言,我会将简单的函数实现为真正的函数(即转换+为可调用的例程)或将它们转换为普通指令,这些指令将被"内联"放入已翻译的代码中.但是,通过第二种策略,我是否可以将它们传递给部分像Haskell一样应用它们?您对将功能实现/翻译为功能语言的核心理念有何看法?
小智 0
我可以推荐 PJL 这本书。我在它的帮助下编写了一个编译器(1989-90 年,在 Prolog 中),这本书是对该主题的很好的介绍。
它可能已经过时了(写于 1987 年,距今 30 年前了),但它仍然很好地涵盖了基础知识。然而,它完全专注于像 Haskell 这样的惰性语言。当时 Haskell 还不存在,本书使用了 LML 或 Miranda(一种前身语言),但这些语言非常接近。