3

我在stackoverflow上阅读了另一个关于一等、二等和三等价值的问题,说一流的东西意味着它比二等的东西拥有更多的特权。既然函数是一流的,那么它们在 Haskell 中比其他东西有什么特权?我不知道为什么我被标记了。有任何想法吗?

谢谢。

4

1 回答 1

8

来自维基百科

在编程语言设计中,给定编程语言中的一等公民(也是对象、实体或值)是支持其他实体通常可用的所有操作的实体。这些操作通常包括作为参数传递、从函数返回以及分配给变量。

这意味着在 Haskell 中,函数可以作为参数传递,作为值返回,并分配给变量。该语言具有用于处理、操作和使用一般函数的内置机制,例如 compose 函数(.)、函数map等。

正如 Fixnum 所指出的,Haskell 中的第二类构造是记录语法。您不能构造匿名记录并将其传递给函数,它必须是特定数据类型的实例。

于 2013-10-10T20:42:53.057 回答