tup-functor- Homogeneous tuples

Safe HaskellNone



This small library defines data types Tup1, Tup2 ... Tup9 for homogeneous tuples of small size (both strict and lazy), and various instances for them, most notably Functor and Applicative. We also have a Tup type class:

 class Tup f where
   tupSize     :: f a -> Int
   tupToList   :: f a -> [a]
   tupFromList :: [a] -> f a 
   tupUndef    :: f a -> a

Also included is a very simple preprocesszor tuplepp which translates the syntax {{a,b,c}} into (Tup3 a b c).