0

関数が入力として異なるタイプの2つの変数を取得し(たとえば、1つの変数はCの言語でintであり、1つの変数はCの言語でcharである)、にある1つの変数を返すとしますInt

この関数がHaskellまたはラムダ計算コードとしてコード化されている場合、関数の型はどのようになりますか?

したがって、関数のタイプが。であるとしますInt -> (Char -> Char) -> Int。これはどういう意味ですか?これは、int変数を入力として受け取り、関数を実行して変数を(Char -> Char)出力することを意味しIntますか?

4

1 に答える 1

6

タイプのは、関数が入力としてタイプの関数とInt -> (Char -> Char) -> Intを受け入れ、を出力することを意味します。IntChar -> CharInt

関数は、実際に入力自体を使用する必要はありません。例えば、

meetoosFunction :: Int -> (Char -> Char) -> Int
meetoosFunction _ _ = 42

*Main Data.Char> meetoosFunction 1 toUpper
42
于 2013-02-27T02:11:10.387 に答える