First of all, your code works. But functions cannot get shown. Try show idit and you will get a very similar error message.
, , , . , 1 :: Int. , \x -> take x - take, map take [1..5]. :
map :: (a -> b ) -> [a] -> [b]
take :: Int -> ([c] -> [c]) -- explicit parentheses
take map. map, a ~ Int - take b ~ [c] -> [c].
map take :: [Int] -> [[c] -> [c]]
map take [1..5], :
map take :: [Int] -> [[c] -> [c]]
[1..5] :: [Int]
map take [1..5] :: [[c] -> [c]]
. , . ? . .
, , [[c] -> [c]] . :
Prelude> map (\f -> f [1..10]) (map take [1..5])
[[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]