Guest User

Untitled

a guest
Jan 19th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.37 KB | None | 0 0
  1. cpsTail :: [a] -> o -> ([a] -> o) -> o
  2. cpsTail [] d = \f -> d
  3. cpsTail (a:as) d = \f -> f as
  4.  
  5. cpsLoop :: (forall o. [a] -> o -> ([a] -> o) -> o) -> [a] -> [a]
  6. cpsLoop f l =
  7. case f l l id of
  8. [] -> l
  9. list -> cpsLoop f list
  10.  
  11.  
  12. safeTail :: [a] -> Maybe [a]
  13. safeTail [] = Nothing
  14. safeTail (x:xs) = Just xs
  15.  
  16. loop :: (a -> Maybe a) -> a -> a
  17. loop f a = maybe a (loop f) (f a)
Add Comment
Please, Sign In to add comment