RE: GADTs and pedagogy was Re: GADTs and fundeps

| I doubt pedagogics was an important part of your goal with GADTs, but now | several people wish that "deriving Show" worked so that GADTs could be used for | everything. You mean, if the data type being defined doesn't actually use the generality of GADTs, allow GADT syntax, and deriving() too? S

"Simon Peyton-Jones"
You mean, if the data type being defined doesn't actually use the generality of GADTs, allow GADT syntax, and deriving() too?
Yes, that would be very nice for the HaskellDemo and new users. I'd definitely switch all of my non-GADT datatypes to use that. Pugs does use GADTs fully in some parts[1], but I don't know if deriving would be useful there. [1] http://svn.openfoundry.org/pugs/src/IMC/AST.hs -- Programming is the Magic Executable Fridge Poetry, | www.ScannedInAvian.com It is machines made of thought, fueled by ideas. | -- Shae Matijs Erisson

You mean, if the data type being defined doesn't actually use the generality of GADTs, allow GADT syntax, and deriving() too?
Yes, that would be very nice for the HaskellDemo and new users. I'd definitely switch all of my non-GADT datatypes to use that.
One worry I have about this is that it'll introduce a new tripwire that new users will have to watch out for - if they use GADT notation for all data defintions, eventually they'll pass the threshold beyond which deriving() mysteriously doesn't work, probably without even knowing they're doing anything different. Abe
participants (3)
-
Abraham Egnor
-
Shae Matijs Erisson
-
Simon Peyton-Jones