Records in Haskell

AntC anthony_clayden at
Thu Mar 1 08:58:42 CET 2012

J. Garrett Morris <jgmorris <at>> writes:

> On Wed, Feb 29, 2012 at 11:05 PM, AntC <anthony_clayden <at>> 
> > I repeat: nobody is using a "type-level string". You (or someone) is
> > making it up.
> It isn't clear where that idea came from.
> On Mon, Jan 2, 2012 at 4:38 AM, Simon Peyton-Jones
> <simonpj <at>> wrote:
> > It seems to me that there's only one essential missing language feature,
> > which is appropriately-kinded type-level strings (and, ideally, the ability
> > to reflect these strings back down to the value level).
> >
> > * Provide type-level string literals, so that “foo” :: String
> Huh.

Thank you Garrett, I feel suitably chided. So the 'culprit' is 'your man 

> You may want to call your type-level-things-that-identify-fields
> strings, labels, fieldLabels, or rumbledethumps, but surely that's not
> the point of interest here?
>  /g

Ah, but there _is_ a point of interest: under DORF I _must_ call my type-level-
things-etc: **types** (or perhaps proxy **types**),

Because they are only and exactly **types**.

And because they are exactly **types** they come under usual namespace control.

SORF's whadyoumaycalls are at the Kind level. (I'm not opposed to them because 
they're new-fangled, I'm opposed because I can't control the namespace.)


More information about the Glasgow-haskell-users mailing list