なんでもかんでもブロック

Rebolは、Lispが全てS式のように、全てがブロックで、コードもデータも区別がありません。スクリプトファイルも一番外側に [ ] がある扱いだそうです。
ブロックには各種の値と単語が並ぶことになります。
予約語はもちろん存在しません。
単語の扱いは四種類あります。

  • word … 変数なら値、関数なら呼び出し、それ以外はリテラル
  • word: … 単語を変数として続く値を割り当て。
  • :word … 単語を常に変数とみなして値を取得。関数でも呼び出さず中身を得る。
  • 'word … リテラル。常に単語そのもの。

というわけでエイリアスの作成は alias: :original みたいな。
大文字小文字は区別されませんが、推奨の表記は全部小文字のハイフン繋ぎ。素敵。
本当ならこのブロックの実態調査から入るべきなのでしょうが、興味本位で、一足飛びに関数の扱いに突入します。
いや、その前に、四則演算と関数呼び出しは押さえておくかな。