Constructors in GHC (fwd)
Hal Daume III
hdaume@ISI.EDU
Wed, 11 Dec 2002 08:36:05 -0800 (PST)
...this seemed not to make it to the mailing list (ghc-users@haskell.org
isn't valid)...
--
Hal Daume III
"Computer science is no more about computers | hdaume@isi.edu
than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume
---------- Forwarded message ----------
Date: Wed, 11 Dec 2002 08:33:50 -0800 (PST)
From: Hal Daume III <hdaume@isi.edu>
To: Simon Peyton-Jones <simonpj@microsoft.com>
Cc: ghc-users@haskell.org, Kirsten Chevalier <krc@uclink.berkeley.edu>
Subject: Re: Constructors in GHC
Hi,
It finally makes sense now :)
> We could make this more consistent in two ways. Alternative (A): One
> way would be to make it clearer that $wMkT was the real constructor:
>
> data T = $wMkT Int Int
> MkT p = case p of (x,y) -> $wMkT x y
> f x y = $wMkT x y
> g t = case t of $wMkT x y -> x
>
> Alternative (B): The other alternative would be to make the original
> Haskell constructors into the $w things:
>
> data T = MkT Int Int
> $wMkT p = case p of (x,y) -> MkT x y
> f x y = MkT x y
> g t = case t of MkT x y -> x
As someone using external core, I can resoundly say: I don't really care
:). I would probably prefer (B), as you seem to, but it's not a strong
preference.