(sorry, accidentally failed to send this to the list)

All this extra syntax, whether it's ., #, or {} seems very heavy for a problem 
described as very rare.
Why not simply use a declaration

        field name

whose effect is to declare 

        name :: r {name ::t} => r -> t
        name = getFld

unless name is already in scope as a field name, in which case the declaration 
does nothing?
Then we could continue to use standard functional notation for projection, and 
still deal with the
case of unused projections.

Barney.


_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to