なんか変な言語見つけた

takuto_hの日記
これは凄い.高校生で,もうこんなことやってるなんて羨ましいなぁ.
"しあん"じゃなくて"さいあん"なのね.
ところで,どんな言語なんだろう?

Cyanのもっとも大きな特徴は、LispのS式とマクロの分離を試みたことです。

http://d.hatena.ne.jp/takuto_h/20081022

どうやら,S式でなくLispのようなマクロが使えるみたいだ.でも,こんなことして何が嬉しいのかなぁ.S式でいいのに.

ブレースも end も嫌いではないですが、連続して現れているのを見るのはあまり好きではありません。

http://www.geocities.jp/takt0_h/cyan/doc/ref/indent-block.html

なるほど.俺は後ろに溜まった閉じ括弧は好きだけどなぁ.
組み込みの変数名やスロット名が短いなぁ.なんかArcみたいだ(俺がその手の言語をあまり知らないだけかもしれない).インスタンスベースを採用したのには,何か理由があるのかな?JavaScriptのプロトタイプベースと似てるけど,オブジェクト自身がparentを持つのがちょっと違うのかな.こっちの方が好みかもしれない.まぁ,今んとこクラスベースの方が好きだけど.
いろいろ揃っているようで,ArrayがなくてHashがあるのは,キーワード引数でHashを使うからかな?それにしても継続までしっかり実装してあって,凄いなぁ.継続は,少し変わった方法で実装してるらしい.でも,

Cyan では継続を用いてループを実現しています。

http://www.geocities.jp/takt0_h/cyan/doc/ref/about-continuation.html

こう聞くと,楽しい反面,パフォーマンスが心配になってしまう.継続自体重そうだし.どうでもいいのかもしれないけど.


そして,ドキュメントがこんだけ揃ってるのがまた凄い.継続の実装方法も丁寧に解りやすく説明されてるしなぁ.
あと,なんでC#なんだろう.何かおいしいの?