SquidScriptについて

「SquidScript」(イカ言語)は「=>」がイカっぽいので、「=>」をつかったLISP/Schemeっぽい書式をJavascriptのArrayに変換する仕組みです。つまり下のようなことをするもんです。生でJavaScriptのArray書くのもダセーなと思ったのでこんなかんじでいきました。

#こんなん書くと
draw => (rect => (0,0,100,100))

#こんなふうなものを吐くよ
["draw",["rect",[0,0,100,100]]]

#命令的には「drawってクロージャにrectってメソッドを引数が「0(x),0(y),100(width),100(height)」で呼んでつっこむよ」の意

もつのろん再帰してイテレーションみたいなこともできるようにしてます。

#こんなん書くと
draw => (ite = (100,(line => (200,i,i,i))))

#こんなふうなものを吐くよ
["draw",["ite",[100,["line",[200,i,i,i]]]]

#命令的には「drawってクロージャにiteってメソッドを引数が「100(イテレーションの回数),lineってメソッドを引数が「100(x1),i(y1),i(x2),i(y2)」の実行結果」で呼んでつっこむよ」の意

これをサーバサイドにxhrで投げてます。