Advertisement
Guest User

Untitled

a guest
Jul 30th, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.22 KB | None | 0 0
  1. {-# LANGUAGE GADTs #-}
  2.  
  3. data Z
  4. data S a
  5.  
  6. data Nested height a where
  7. E :: [a] -> Nested Z a
  8. N :: [Nested n a] -> Nested (S n) a
  9.  
  10. flatten :: Nested height a -> [a]
  11. flatten (E s) = s
  12. flatten (N ns) = ns >>= flatten
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement