我在stackoverflow About first-,second- and third-class value上读到另一个问题,说一流的东西意味着它拥有比二等物更多的特权。由于函数是一流的,它们对Haskell中的其他东西有什么特权? 我不知道为什么我被打倒了。有什么想法吗?
感谢。
答案 0 :(得分:8)
在编程语言设计中,给定编程语言中的一等公民(也就是对象,实体或价值)是支持其他实体通常可用的所有操作的实体。这些操作通常包括作为参数传递,从函数返回并分配给变量。
这意味着在Haskell中,函数可以作为参数传递,作为值返回,并分配给变量。该语言具有内置的机制,可以处理,操作和处理函数,例如撰写函数(.)
,函数map
等。
正如Fixnum所指出的,Haskell中的第二个类构造是记录语法。您不能构造匿名记录并将其传递给函数,它必须是特定数据类型的实例。