1 |
On Thu, 10 Nov 2016 23:53:40 +0100 |
2 |
Michał Górny <mgorny@g.o> wrote: |
3 |
|
4 |
> dev-foo/bar[>=3][foo] # version + USE |
5 |
|
6 |
I kinda find this asking for problems with visual ambiguity. |
7 |
|
8 |
Use different grouping symbols or supercede the USE syntax entirely. |
9 |
|
10 |
dev-foo/bar[foo]#(>=3) |
11 |
|
12 |
Or something. I'm also suggesting here the possibility to define 2-symbol |
13 |
openers instead of 1, like is common in quoting systems, eg: |
14 |
|
15 |
${thingshere} |
16 |
#{thingshere} |
17 |
&{thingshere} |
18 |
|
19 |
That way you have more wiggle room for more punctuation abuse later. |
20 |
|
21 |
....orrr we could do away with punctuation abuse and make "[]" be a "Parameter space" |
22 |
|
23 |
|
24 |
dev-foo/bar[u:foo,v:>=3] |
25 |
|
26 |
Where the general form is: |
27 |
|
28 |
[NAME:VAL,VAL,VAL,NAME:VAL,VAL] |
29 |
|
30 |
Where |
31 |
|
32 |
NAME=u == "use requirement" |
33 |
NAME=v == "version requirement" |
34 |
|
35 |
I know I'm painting a bike shed here, but I remember years ago suggesting the |
36 |
last feature we added should have planned for a more future-extensible syntax, |
37 |
and here we are again, bodging syntax entirely instead of simply extending the defined one. |
38 |
|
39 |
Punctuation is precious and rare, and so you should exploit only as little as you need. |