gpt4 book ai didi

function - Haskell 在数据结构中存储函数 - 用例

转载 作者:行者123 更新时间:2023-12-02 08:02:11 26 4
gpt4 key购买 nike

我正在阅读《软件基础》一书 ( http://www.cis.upenn.edu/~bcpierce/sf/Basics.html )。在简介的第二段中,提到由于函数被视为第一类值,因此它们可以存储在数据结构中。快速谷歌搜索这个应用程序出现了酸态( http://acid-state.seize.it/ ),它可能使用它来存储函数(如果我错了,请纠正我)。是否有其他应用程序可以将函数存储为数据结构中的数据?将函数存储为数据是 Haskell 中的常见模式吗?提前致谢。

编辑:我知道高阶函数。

最佳答案

一个简单且易于使用的数据结构函数示例是包含函数(可能还有数据)的记录。

Luke Palmer 的博客文章 Haskell Antipattern: Existential Typeclass 就是一个很好的例子。他解释说,与其尝试为小部件重现 OO 类,使用许多实例,然后将您的 UI 小部件存储在存在量化的列表中,不如记录您将使用的实际函数并返回这不是保留原始数据类型 - 一旦你被存在量化,你就无法获得原始数据类型,所以你不会失去任何表达能力,但在可操作性方面获得了很多。他总结道

Functions are the masters of reuse: when you use an advanced feature, you need a yet more advanced feature to abstract over it (think: classes < existential types < universally quantified constraints < unknown). But all you need to abstract over a function is another function.

这意味着我们可以编写高阶函数来处理这些函数,并轻松地传递它们和操作它们,因为它们是数据。

关于function - Haskell 在数据结构中存储函数 - 用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24006409/

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