3

私はstackoverflowについての別の質問を読みました 第一級、第二級、および第三級の価値について 第一級のものは、第二級のものよりも多くの特権を持っていることを意味します。関数はファーストクラスなので、Haskell の他のものに対してどのような特権を持っているのでしょうか? なぜ私がマークダウンされたのかわかりません。何か案は?

ありがとう。

4

1 に答える 1

8

ウィキペディアより

プログラミング言語の設計では、特定のプログラミング言語の第一級市民 (オブジェクト、エンティティ、または値も) は、他のエンティティで一般的に使用できるすべての操作をサポートするエンティティです。これらの操作には、通常、パラメーターとして渡され、関数から返され、変数に割り当てられます。

つまり、Haskell では、関数をパラメーターとして渡し、値として返し、変数に割り当てることができます。この言語には、一般的な関数を処理、操作、操作するためのメカニズムが組み込まれています (構成関数(.)、関数mapなど)。

Fixnum が指摘したように、Haskell の 2 番目のクラス構造はレコード構文です。匿名レコードを作成して関数に渡すことはできません。特定のデータ型のインスタンスである必要があります。

于 2013-10-10T20:42:53.057 に答える