+1 for orthogonal -XDotPostfixApply. I'm in the absolutely-love-using-dot-for-records camp, but I also like "foo s1.toUpper s2.toUpper".
We're already so lazy about parentheses -- e.g. the non-haskellers I show code to are always appalled at $ ;-) -- and this helps scrap more parens! On Mon, Jul 1, 2013 at 8:53 AM, Adam Gundry <adam.gun...@strath.ac.uk>wrote: > Hi all, > > I have amended the plan [1] as a result of the ongoing discussion, > including leaving the syntax alone for the time being, so record > projections are written prefix. > > Regarding Barney's suggestion of field declarations: > > On 01/07/13 10:50, Barney Hilken wrote: > > 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? > > This makes sense. I guess the question is whether a new declaration form > is justified. The implementation is slightly more subtle than you > suggest, because we don't know whether `name` will be brought into scope > as a field later, in which case the definition would clash with the > actual field. It should be equivalent to defining > > data Unused { name :: () } > data Unused2 { name :: () } > > (twice so that there is always ambiguity about a use of `name`). > > Adam > > [1] > > http://hackage.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/Plan > > > > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users