Open pasberth opened 11 years ago
,
はべつに特別な構文でいい気もする
=
から始まる構文はすべて同じようにパースするとすれば
==
や =~
にも使えてなかなかいい感じになりそう。
ただし優先順位としては
f x == f y
とあったら
f (x == f) y
なので微妙.
== はすべて同じように優先順位を低くしてパースし
(f x) == (f y)
としてもいい気がする。 =>
も使えるが、今までと同じ構文としては使えない事にして
でもこれだと
if x == y thenExpr
とあったら
(if x) == (y thenExpr)
になっちゃうw こっちのほうが微妙だな。
f (x == f) y
こういう結合の方が良いか。
if じゃなくて
f x == f y :then thenExpr :else elseExpr
という使い方なら
(f x) == (f y)
のほうがいい。
=>
は廃止、 ->
に統合する。
そのうえで -
から始まる quoted symbol を ->
と同じ結合の中置記法とする。
利点:
a -> b -> b
のような今までの使い方ができる。
また
if list -is nil
や
if list -eq "abc"
のように中置記法は、シェルコマンドのオプションに似てて親しみやすい。
if [[ n -eq 1 ]]
など。
今
->
や=>
は特別な構文として用意してるけど あんまりに特別すぎるのがキモい。どうにかできないかな。
-
から始まる id はすべて同じようにパースするとして->
はそのひとつとか。