這是我的計劃: boolToInt True = 1
boolToInt False = 0
gt :: Int -> Int -> Int
gt x y = boolToInt $ (>) x y
我嘗試重構gt與gt = boolToInt . (>),但得到的錯誤: ‘(>)’ is applied to too few arguments 來找我唯一的想法是curry和uncu
我想在haskell中編寫一個冪函數,它使用函數組合來計算f到n的冪,其中f是函數本身。 這是我到目前爲止有: let pow 0 f = (\x -> x)
pow n f = f . (pow (n-1) f)
in 2 ((\x -> x+1) 2)
我期待它傳遞函數F(X)= X + 1個冪函數並返回函數的平方。我嘗試傳遞值2到F(X)功能,所以我想它會返回4 當我hask
比方說,我想編寫Text.pack與Text.strip。 :t (.)生產:(b -> c) -> (a -> b) -> a -> c :t (Text.pack)生產:String -> Text :t (Text.strip)生產:Text -> Text 所以對於(b -> c)代strip給出: b = Text c = Text 代pack爲(a -> b)給出: a = Strin
foo :: a -> b -> c
foo = undefined
ghci> :t foo
foo :: a -> b -> c
ghci> :t foo . foo
foo . foo :: a -> b -> c
ghci> :t foo . foo . foo
foo . foo . foo :: a -> b -> c
依此類推。 類型是相同的。我們也清楚地看到