On Sat, 9 Aug 2003, Ashley Yakeley wrote:
I'm a bit worried about the use of curly braces. Currently they're used to mark blocks when "layout" isn't used. Might this clash?
IIRC braces are used after "do", "where", "let", "in" and "of" (probably OK), and also for data structures with named fields.
In practice they don't conflict, because { ; } braces always follow a keyword, while labeled-apps never do, and field labels never begin with ?, while implicit-parameter labels always do. The proposed notation seems to be almost the same as the existing field-label notation semantically as well as syntactically, which suggests that it wouldn't be a destabilizing addition. (See section 2.5.) Name conflicts do arise between explicit parameter labels and field labels, which are probably best solved by requiring that they be distinct. Field labels already can't be used in more than one data type, so it's not much of an additional burden. -- Ben