Hi, > prelude> :t map (foldr filter) > map (foldr filter) :: [[a]] -> [[a -> Bool] -> [a]] > > Two main questions: > 1/ How does hugs derive this answer? > 2/ What input can I give so that it yields a correct result? I've tried > giving it a list of lists but it fails...
Try: map (flip (foldr filter) [even,odd]) [[1,2,3],[4,5,6]] I guess this meets your expectation. Without flipping the arguments: Prelude> map (foldr filter [1,2,3]) [[even]] [[2]] Prelude> map (foldr filter [1,2,3]) [[even],[even,odd]] [[2],[]] Prelude> map (foldr filter [1,2,3]) [[even],[even,odd],[odd]] Bye, Steffen _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe