, , , - foldr foldl':
myConcat xs ys = foldl' (:) ys xs
( Hugs REPL):
ERROR - Type error in application
, ( ) [a] a . , , (:), .
Haskell , : flip. , flip
flip :: (a -> b -> c) -> (b -> a -> c)
flip f y x = f x y
flip , ( "" ) . , (:) a -> [a] -> [a], , flip (:) [a] -> a -> [a], foldl'.
flip, :
myConcat xs ys = foldl' (flip (:)) ys xs
, foldl' (a -> b -> c) -> a -> [b] -> c
[1..5] [6..10], [5,4,3,2,1,6,7,8,9,10], . , . reverse myConcat:
myConcat xs ys = foldl' (flip (:)) ys (reverse xs)
, Haskell: , () . , , . , ( , foldr foldl'), . , , .
PS: Haskell, , . , , . , Haskell.