[Template-haskell] TupleT type constructor
Alfonso Acosta
alfonso.acosta at gmail.com
Mon Nov 5 13:57:01 EST 2007
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 <alfonso.acosta at gmail.com> wrote:
> On 11/2/07, Simon Peyton-Jones <simonpj at microsoft.com> 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
>
More information about the template-haskell
mailing list