1 |
On Thu, 1 Dec 2016 14:53:51 +0800 |
2 |
konsolebox <konsolebox@×××××.com> wrote: |
3 |
|
4 |
> I got similar idea here, but my version is that you don't have to use |
5 |
> u: or v: |
6 |
|
7 |
The entire point of defining it as a prefix-space was to avoid ambiguity, |
8 |
and leave plenty of room for other such selector prefixes. |
9 |
|
10 |
Relying on properties like "is it a number" or "is it text" is a shoddy |
11 |
heuristic. |
12 |
|
13 |
A heuristic that will fail us as soon as we want to add new features in |
14 |
our matcher syntax. |
15 |
|
16 |
Hence, |
17 |
|
18 |
<ATOM>[<CONSTRAINT>(,<CONSTRAINT>...)] |
19 |
|
20 |
CONSTRAINT: <identifier>:<parameter>(,<parameter>...) |
21 |
|
22 |
|
23 |
Then instead of debates about how we can invent some "new" syntax |
24 |
where we have to constantly reinvent existing syntax to allow space |
25 |
for the new syntax, we can just define new identifiers, because we thought |
26 |
ahead about this problem and gave us wiggle room to add features. |