On Fri, Dec 22, 2006 at 11:13:50AM -0800, Dan Weston wrote: > More generally, is there an operator version of dotted pair notation > (gasp, did I just lisp?) that works like: > > data Tuple a b = () | Tuple a b > > () == () > ( ) 1 == Tuple 1 () > (2,'a',"hello") == Tuple 2 (Tuple 'a' (Tuple "hello" ())) > > And is there anyway in Haskell to restrict the type definition above to > require that b be a type that can be constructed (possibly recursively) > with only () or Tuple, so the user doesn't do something stupid like > Tuple 1 'a', which is not a valid dotted pair?
HList seems similar to what you are going for: http://homepages.cwi.nl/~ralf/HList/ John -- John Meacham - ⑆repetae.net⑆john⑈ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe