Ian Lynagh <ig...@earth.li> writes: > http://hackage.haskell.org/trac/haskell-prime/wiki/StricterLabelledFieldSyntax
I approve of the principle -- the binding level is confusing, but I would far rather make a bigger change, so that rather than being confusable with the binding level of function application, it /has/ the binding level of function application. ie, instead of a{x=42} one would have to write {x=42}a, and "f {x=42} a" would parse as "(f {x=42}) a" -- and be an error because labelled field assignments aren't currently proper functions (but under this change they could be thought of as a restricted kind of function). This would allow a future change that made them first class citizen; "{x=42}" would have type something like (Num a => forall D. D{x::a} -> D{x::a}) (if you can work out the intent of a syntax made up on the spur of the moment). Working out the ramifications of a type system that allowed that is a job for later, but it would be worthwhile to make it possible. Would it be proper to create a counterproposal for this syntax? ReversedLabelledFieldSyntax? -- Jón Fairbairn jon.fairba...@cl.cam.ac.uk _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://www.haskell.org/mailman/listinfo/haskell-prime