(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