1 {-# LANGUAGE TemplateHaskell #-}
2 {-# LANGUAGE DeriveGeneric #-}
10 import Language.GenDSL
12 data Tuple a b = Tuple a b
14 $(mkConsClass ''Tuple)
16 data Tuple3 a c = Tuple3 a Int c
18 $(mkConsClass ''Tuple3)
20 data TupleR a b = TupleR {first :: a, second :: b}
22 $(mkConsClass ''TupleR)
24 data List a = Nil | Cons a (List a)
25 deriving (Generic, Show)