何ヶ月かに一度、Freshmeat.netをチェックして、
目新しい言語がないかと調べてみることにしている。
「言語おたく」としては当然の行為だ。
で、今回見付けたのが、これ。
名前は「きゅー」と読むのだろうか。RubyやPythonより高速だと主張している。
言語として目新しいのは、
- ブロック終端を「;;」で示す。これは新しい発想だ。
慣れると「end」よりも視覚的に「軽い」ので良いかもしれない。
「end if」のような終端や、
pragmaで指定すればtabを使ったインデントによるブロックも使えるが、
その「多様性」はあんまり良くないような気がする。
- 型の代わりにvalidatorが指定できる。validatorは要するに関数である。
高速化のヒントには使えないが、柔軟な型指定ができる。
定数についてはコンパイル時にvalidatorを呼ぶようだ。
- switchで分岐に用いるオペレータを明示的に指定できる。
これは10年以上前に石塚さんから強く要求されたのに断ったもの。
Quではわりと文法的にきれいにまとまっている。
ただし、レシーバはswitchで指定した値のようなので、
その点はRubyと違い、使い勝手に影響しそう。
- QuLightingモジュールによるJITが提供されている。
文法や実装のあちこちにRubyの影響が見える。が、文法には独自の発展が見られるし、
ソースコードは私のものよりも整理されているようだ。今後の楽しみな言語である。
他にも、Slateとかも興味深い。
ブロック終端を「;;」で示すのはbsh系 (bash含む) のcase文とか
PとRの間なんすかね。
Ocamlなんかもそうですね。 < ;;
マスコットはぜひコイツで。<br>http://www.qoo.jp/<br><br>#スペルが違うか…