gpt4 book ai didi

haskell - 为什么给 Haskell 添加宏比给 Scheme 更难

转载 作者:行者123 更新时间:2023-12-01 08:12:38 27 4
gpt4 key购买 nike

显然,向 Haskell 添加宏比 Scheme 更难。

我对函数式编程中的宏到底是什么感到非常困惑,但根据我对 C 语言的理解,是代码在预处理时改变了“代码”,而不是程序本身。

这是否与 Haskell 是纯粹的事实有关,因此更难更改功能代码?

这与懒惰评估有关吗?

最佳答案

相反,这当然与 Haskell 的纯粹或懒惰无关。

宏在 Haskell 中不常见的主要原因是它是一种静态的编译语言,因此无论如何都不可能在运行时更改代码。此外,它的语法不像 Lisp 那样简单,因此编写编译时宏总是比较麻烦。

http://hackage.haskell.org/package/template-haskell-2.12.0.0/docs/Language-Haskell-TH.html#t:Exp

Haskell 的惰性求值及其强类型系统的抽象能力意味着在 Scheme 程序员会使用它们的许多情况下您根本不需要宏。基本上,您可以对计算本身的概念进行抽象,这很像宏(如果您问我,那就更酷了……)。

关于haskell - 为什么给 Haskell 添加宏比给 Scheme 更难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48171938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com