REBOLって何?

REBOLは、Amiga OSに貢献した Carl Sassenrath氏が設計し、 開発の中心にいる、プログラミング言語(スクリプト言語)です。

非常に特徴的な言語ですが、いくつかその特徴を挙げるとすれば、以下のよう になるでしょう。

  • インタプリタが非常に小さい。
    • コマンドライン版で360kB程度
    • GUI版で1MB程度
    • (なお、ver. 3ではバイトコード方式に変更の予定)
  • スクリプトにはREBOLヘッダが必要
    • スクリプトには「REBOLヘッダ」と呼ばれる要素が不可欠になっていま す。そこに何を書くかまでは具体的には規定されていませんが、そのスク リプトのメタ情報を書くことが推奨されています。
  • 文法が非常にシンプル
    • REBOLでは、CやJAVAでの"()"や"{}"の代わりに概ね"[]"を使いますが、 "[]"を打つ必要がある場所は必要最小限です。関数の引数の数が決まって いるために、無駄な括弧は使いません。
    • 言語としてはLogoの影響を受けていると述べています。
    • また、式の並びは左から右へと評価されるのに対し、式の中では右か ら左に評価されるあたりは、Lispの風味も感じます。
      • print length? join "exam" "ple"
      • この一行は、次の順番で評価されます
        1. join "exam" "ple"
        2. length? "example"
        3. print 7
  • 多彩な型を持つ
    • 数値や文字列はもちろん、日時、タプル、HTML/XMLタグ、emailアドレ ス、URL、その他の多彩な型を持つ。
  • series(特にブロック)という単一のデータ構造
    • "[]"で、値や変数を括ることで、series(特にブロック。文字列なども seriesの一種です。)というデータ構造を作れます。これは、内部的にどう なっているのかは知りませんが、Lispのリストと同様に強力なデータ構造 です。
  • 複数のインターネットプロトコルへの標準対応
    • httpはもちろん、SMTPその他のインターネットプロトコルに標準対応しています。
  • 強力なparsing関数
    • スクリプト言語と言えば、正規表現がつきものですが、REBOLは ver. 2.xの時点では標準では正規表現に対応していません(ライブラリにて エスケープ記号に対応)。しかし、文字列あるいはシリーズと、それをパー ズするルールを与えることができる強力なparsing関数が備わっています。
こんな言語です。

HP: http://www.rebol.com/
日本語ドキュメント(ちまちまやっています): http://www.rebol.net/wiki/Index_of_Japanese_Documents