Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cpsTail :: [a] -> o -> ([a] -> o) -> o
- cpsTail [] d = \f -> d
- cpsTail (a:as) d = \f -> f as
- cpsLoop :: (forall o. [a] -> o -> ([a] -> o) -> o) -> [a] -> [a]
- cpsLoop f l =
- case f l l id of
- [] -> l
- list -> cpsLoop f list
- safeTail :: [a] -> Maybe [a]
- safeTail [] = Nothing
- safeTail (x:xs) = Just xs
- loop :: (a -> Maybe a) -> a -> a
- loop f a = maybe a (loop f) (f a)
Add Comment
Please, Sign In to add comment