| ... | ... | @@ -12,12 +12,16 @@ Proposed syntaxes for [RankNTypes](rank-n-types) and [ExistentialQuantification] |
|
|
|
|
|
|
|
## Proposal
|
|
|
|
|
|
|
|
- Add `.` to *reservedop* in the lexical syntax
|
|
|
|
- move qualified identifiers (`qvarid`, `qconid` etc.) from the lexical syntax to the context-free syntax
|
|
|
|
|
|
|
|
Reserve . for use as a qualifier in names. Do not permit . as an operator symbol (or as a symbol character?). (Also continue to permit it as a decimal point in floats).
|
|
|
|
|
|
|
|
(Note: `.` also appears in the syntax as a decimal point in floats).
|
|
|
|
|
|
|
|
## Pros
|
|
|
|
|
|
|
|
- Much much simpler. Not impossible to remember.
|
|
|
|
- Paves the way for using `.` as the selection operator in improved record or module systems
|
|
|
|
|
|
|
|
## Cons
|
|
|
|
|
| ... | ... | @@ -27,4 +31,5 @@ Reserve . for use as a qualifier in names. Do not permit . as an operator symbol |
|
|
|
for composition include [Unicode](unicode) symbols such as centred-dot ˙, a bullet point, an unfilled bullet point, the
|
|
|
|
degree sign °, the masculine ordinal indicator °, stroked circle ø, and so on. All of these resemble the mathematical
|
|
|
|
symbol, and some of them are available in the Latin-1 subset.
|
|
|
|
- We need to make a special case of .. in the \[m .. n\] case. |
|
|
|
|
|
|
|
- Breaks quite a lot of code |