0
在Haskell的函數組合操作定義爲:我可以在Haskell中創建我自己的函數組合運算符嗎?
(.) :: (b -> c) -> (a -> b) -> a -> c
當我試圖創建自己的函數組合操作,o
在Haskell,這是行不通的,我究竟做錯了什麼?
o :: a -> (a -> b) -> (b -> c) -> c
g :: Double -> String
g x = show x
h :: Int -> Double
h x = fromIntegral x
f :: Int -> String
f x = o x h g -- can it also be written like this: f = o h g
錯誤消息:
C:\Users\August\Desktop\Haskell\Template\Ex.hs:36:1: error:
The type signature for `o' lacks an accompanying binding
Failed, modules loaded: none.
一點也沒有」 t的工作原因正是錯誤消息所說的:你爲'o'寫了一個類型簽名,但沒有寫出像'oxfg = g(fx)'這樣的定義。 –