Skip to content

Instantly share code, notes, and snippets.

@deciduously
Created November 29, 2018 13:29
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Embed
What would you like to do?
Some library functions implemented in terms of foldr
module StdFolds where
myOr :: [Bool] -> Bool
myOr = foldr (||) False
myAny :: (a -> Bool) -> [a] -> Bool
myAny = flip foldr False . ((||) .)
myElem :: Eq a => a -> [a] -> Bool
myElem = myAny.(==)
myMap :: (a -> b) -> [a] -> [b]
myMap = flip foldr [] . ((:) .)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment