Met*_*too 0 lambda haskell lambda-calculus
假设函数将两个不同类型的变量作为其输入(例如,一个变量在C语言中为int,一个变量在C语言中为char)并返回一个变量Int.
如果此函数被编码为Haskell或lambda演算代码,函数的类型将如何?
所以假设函数有类型Int -> (Char -> Char) -> Int.这意味着什么?这是否意味着它接收int变量作为输入并运行函数(Char -> Char)和输出Int变量?
一种类型Int -> (Char -> Char) -> Int意味着函数接受一个Int和一个类型的函数Char -> Char作为输入,并输出一个Int.
该功能本身不必实际使用其输入.例如,
meetoosFunction :: Int -> (Char -> Char) -> Int
meetoosFunction _ _ = 42
*Main Data.Char> meetoosFunction 1 toUpper
42
Run Code Online (Sandbox Code Playgroud)