Open umajho opened 2 months ago
现在的闭包语法 \($x, $y -> …) 要打的字符很多很杂(\、(、-、> 和 )),有些过于繁琐,应该在保持解析方便的前提下改掉。
\($x, $y -> …)
\
(
-
>
)
感觉可以改成 |$x, $y| …(d100 |> map(|$x| $x*2))[^1],激进一些的话甚至可以考虑允许置于括号之外/省掉括号(map(d100) |$x| $x*2/d100 |> map |$x| $x*2)。 | 目前只用作 |> 的一部分,因此也不用考虑处理歧义,不会增加解析的复杂性。 dicexp 未来也不是很需要单独使用 | 的场景(如按位或,真需要的话定义一个 bor 关键词/通常函数就好),完全可以不引入其他单独使用 | 的功能。
|$x, $y| …
d100 |> map(|$x| $x*2)
map(d100) |$x| $x*2
d100 |> map |$x| $x*2
|
|>
bor
[^1]: 源自 ruby(虽然 ruby 还会在外边套一层),也启发了 rust、nim 等等语言的语法(虽然语义不尽相同)。
现在的闭包语法
\($x, $y -> …)
要打的字符很多很杂(\
、(
、-
、>
和)
),有些过于繁琐,应该在保持解析方便的前提下改掉。感觉可以改成
|$x, $y| …
(d100 |> map(|$x| $x*2)
)[^1],激进一些的话甚至可以考虑允许置于括号之外/省掉括号(map(d100) |$x| $x*2
/d100 |> map |$x| $x*2
)。|
目前只用作|>
的一部分,因此也不用考虑处理歧义,不会增加解析的复杂性。 dicexp 未来也不是很需要单独使用|
的场景(如按位或,真需要的话定义一个bor
关键词/通常函数就好),完全可以不引入其他单独使用|
的功能。[^1]: 源自 ruby(虽然 ruby 还会在外边套一层),也启发了 rust、nim 等等语言的语法(虽然语义不尽相同)。