読者です 読者をやめる 読者になる 読者になる

標高+1m

Make, Hack, Think

S式と悟らせずにS式を書かせる

ブレインウォッシュの第一歩。

plus == [a -> b -> (a .+ b)]

(plus 5 8)

fact == [n ->
  (n .equals 0 .then [1] [(n .* (fact n .- 1))])]

(fact 5)

Objective-Cでメッセージ送信式が[]に包まれてるの思い出してそれがありなら()で包ませるのもありだよね、と。

他の構文(ここではlambda)も括弧を外側に持ってくるようにすればS式の利点の半分くらいは残せる。

具体的に言うと結合指定のための醜い括弧を書かなくて良い。

また例によってjsに翻訳して実験してみてる