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