function-composition
Jaka jest różnica między. (kropka) i $ (znak dolara)?
Jaka jest różnica między kropką (.) a znakiem dolara ($)?
Jak rozumiem, oba są cukrem składniowym, ponieważ nie muszą używać nawiasów.
Skład funkcji Haskella (.) oraz idiomy function application ( $ ): prawidłowe użycie
Czytam prawdziwy Haskell i zbliżam się do końca, ale kwestia stylu jest dla mnie drażniąca, jeśli chodzi o operatory (.) i ( ... może jest tu jakaś najlepsza praktyka, której nie rozumiem? A może to zbędne i nie powinienem być martwisz się o to w ogóle?
Operator składu funkcji Haskella typu (c→D) → (A → b → c) → (a→b → d)
Skład funkcji zwykłej jest Typu
(.) :: (b -> c) -> (a -> b) -> a -> c
Myślę, że powinno to uogólniać do ty ... ć możliwe?
Uwaga: to już zostało zadane tutaj , ale odpowiedź (którą podejrzewam, że musi istnieć) nie została udzielona.
Co robi (f). g mean w Haskell?
Widziałem wiele funkcji zdefiniowanych zgodnie ze wzorem (f .) . g. Na przykład:
countWhere = (length .) . filter
duplicate = (concat .) . replicate
concatMap = (concat .) . map
Co to znaczy?
Operator kropki w Haskell: Potrzebujesz więcej wyjaśnień
Próbuję zrozumieć, co operator kropki robi w tym kodzie Haskella:
sumEuler = sum . (map euler) . mkList
Cały kod źródłowy ... -> Int
euler n = length (filter (relprime n) (mkList n))
sumEuler :: Int -> Int
sumEuler = sum . (map euler) . mkList
skład runST i function
Dlaczego ten typ:
runST $ return $ True
Podczas gdy nie:
runST . return $ True
GHCI narzeka:
Couldn't match expecte ... s. ST s c0
Actual type: a0 -> m0 a0
In the second argument of `(.)', namely `return'
In the expression: runST . return
Co się dzieje, gdy komponuję * z + w Haskell?
Próbuję zrozumieć wynik
(*) . (+)
W Haskell. Wiem, że operator kompozycji jest tylko standardowym składem funkcji matema ... e kroki podczas komponowania tych, ale nie do końca rozumiem, jak to się dzieje, aby uzyskać ten wynik (i jaki jest wynik ).