2013-02-27 31 views
0

假设函数将不同类型的两个变量(例如,一个变量是C语言中的int,一个变量是C语言中的char)作为其输入,并且返回Int中的一个变量。查找某些示例的lambda微积分/ haskell类型

如果此函数被编码为Haskell或lambda微积分代码,函数的类型如何?

因此,假设函数的类型为Int -> (Char -> Char) -> Int。这意味着什么?这是否意味着它收到int变量作为输入并运行(Char -> Char)的函数并输出Int变量?

+0

metoosFunction ::诠释 - >字符 - >诠释 – jtobin 2013-02-27 01:50:26

+0

“......并运行(煤焦>字符)的功能......”停止,如果你想学习Haskell的思维程序上。 _你**不要**“运行”functions_,你宁愿评估他们对某些输入的结果。 – leftaroundabout 2013-02-27 13:56:57

回答

6

Int -> (Char -> Char) -> Int的一种意味着该函数接受IntChar -> Char类型的函数作为输入,并且输出Int

该功能实际上不必实际使用使用其输入本身。例如,

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

*Main Data.Char> meetoosFunction 1 toUpper 
42