Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.48 KB | None | 0 0
  1. reverse' :: [a] -> [a]
  2. reverse' = foldl (\acc x -> x : acc) []
  3.  
  4. reverse'' :: [a] -> [a]
  5. reverse'' = foldl (flip (:)) []
  6.  
  7. product' :: (Num a) => [a] -> a
  8. product' = foldl (*) 1
  9.  
  10. filter' :: (a -> Bool) -> [a] -> [a]
  11. filter' p = foldr (\x acc -> if p x then x : acc else acc) []
  12.  
  13. last' :: [a] -> a
  14. last' = foldl1 (\_ x -> x)
  15.  
  16. main = do
  17. print $ reverse' [1,2,3,4,5]
  18. print $ reverse'' [1,2,3,4,5]
  19. print $ product' [1,2,3,4,5]
  20. print $ filter' (< 3) [1,2,3,4,5]
  21. print $ last' [1,2,3,4,5]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement