2013-02-27 53 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