pasberth / Macra

Macro Oriented Language
4 stars 2 forks source link

-> や => という構文が特別すぎるのがキモい #75

Open pasberth opened 11 years ago

pasberth commented 11 years ago

->=> は特別な構文として用意してるけど あんまりに特別すぎるのがキモい。

どうにかできないかな。 - から始まる id はすべて同じようにパースするとして -> はそのひとつとか。

pasberth commented 11 years ago

, はべつに特別な構文でいい気もする

pasberth commented 11 years ago

= から始まる構文はすべて同じようにパースするとすれば

===~ にも使えてなかなかいい感じになりそう。

pasberth commented 11 years ago

ただし優先順位としては

f x == f y

とあったら

f (x == f) y

なので微妙.

pasberth commented 11 years ago

== はすべて同じように優先順位を低くしてパースし

(f x) == (f y)

としてもいい気がする。 => も使えるが、今までと同じ構文としては使えない事にして

pasberth commented 11 years ago

でもこれだと

if x == y thenExpr

とあったら

(if x) == (y thenExpr)

になっちゃうw こっちのほうが微妙だな。

f (x == f) y

こういう結合の方が良いか。

pasberth commented 11 years ago

if じゃなくて

f x == f y :then thenExpr :else elseExpr

という使い方なら

(f x) == (f y)

のほうがいい。

pasberth commented 11 years ago

=> は廃止、 -> に統合する。 そのうえで - から始まる quoted symbol を -> と同じ結合の中置記法とする。

利点:

a -> b -> b

のような今までの使い方ができる。

また

if list -is nil

if list -eq "abc"

のように中置記法は、シェルコマンドのオプションに似てて親しみやすい。

if [[ n -eq 1 ]]

など。