wren ng thornton <wren <at> freegeek.org> writes:
> >
> > That's what SORF does: the String Kind
> >
> > No proposal is using a _type_-level string. Barney's confused you.
>
> I was under the impression that all the working proposals were using the
> Has class, ...
Yes, but:
> a la:
>
> someFunction :: Has "name" a => a -> Foo
> someFunction x = ... (name x) ...
>
No! Have you read any of the proposals? Which bit of your anatomy did you use?
Note that that syntax is not valid H98. Also note that the `Has` class uses
three arguments, and in a different sequence to what you show.
That syntax (with 3 args present) turns up in two places:
1. SPJ's SORF proposal
2. Barney Hilken's postings. Please ignore them, is all I can say.
Neither I nor SPJ had anything to do with them.
The DORF syntax is:
someFunction :: Has r Proxy_name t => r -> t
I prefer the sugar, which is the same for SORF and DORF (SPJ invented it, I
stole it unashamedly):
someFunction :: r{ name :: t } => r -> t
The difference between the desugarring is crucial:
- SORF desugars to a String Kind -- hence Has r "name" t => ...
the "name" in quotes represents a String Kind
- DORF desugars to a (proxy) type, not some new-fangled Kind
Has r Proxy_name t => ...
That is H98 (with multi-param type classes).
I propose we use the sugar, so that the implementor can decide how to, um,
implement.
> modulo the debate about the value-level syntax for records, and modulo
> the debate about whether Has should be exposed to users or hidden inside
> GHC. Is this no longer the case?
Was _never_ the case, you've been paying too much attention to the wrong
postings. Look at the wiki pages: that's why I posted it.
I repeat: nobody is using a "type-level string". You (or someone) is making it
up.
This is beginning to exasperate me. Read the wikis: can you see "type-level
string"? Certainly not on the DORF pages, I'm pretty sure not on the SORF
pages. If you find it somewhere else, tell me and I'll get it changed.
AntC
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users