Re: TupleT type constructor

"Alfonso Acosta" <[email protected]> Mon, 5 Nov 2007 19:57:01 +0100
Newsgroups gmane.comp.lang.haskell.template
Message-ID <[email protected]>
I've been thinking about it for a while and the special TupleT
constructor still seems pretty useful.

However, I think it should only be kept if there's a way to guarantee
that reify is consistent with the definition of Type (i.e. it should
alwa produce TupleT and not "ConT ''(,,,)" and friends )

Furthermore I would find it more appropiate to split Type into
Constructors and Types themselves (just like it happens in
Data.Typeable and Language.Haskell.Syntax)

data Cons = Cons Name | SpecialCons

data SpecialCons = Arrow | Tuple Int | List

data Type = ForallT [Name] Cxt Type | VarT ConT Cons | AppT Type Type


On 11/2/07, Alfonso Acosta <[email protected]> wrote:
> On 11/2/07, Simon Peyton-Jones <[email protected]> wrote:
> > I agree.  As in: I would not be opposed to removing it.  But we'd just need to be sure there was a convenient way of conjuring up the appropriate data constructor for an n-tuple.
>
> TH.Syntax already provides:
>
> tupleTypeName :: Int -> Name
> tupleDataName :: Int -> Name
>
> IMHO, that should be enough
>