CatyScript 2.0
とりあえず予定つうか希望を。
- ワード概念とワードの解釈の明確化(文字列解釈、名前解釈、値解釈)
- when分岐の拡張(疑似タグ分岐と値分岐)
- 変数参照の明確化(構文、メカニズム、意味論)
- スコープの明確化(環境変数、パラメータも含めて)
- set, doset構文の導入
- ハイフン変数の導入(名前が'-'である特殊変数)
- 制御用パイプ記号 ';', '|&', '||' の導入
- コマンド宣言からコマンド定義に
- begin/repeat制御構造(エルゴット・イテレーション)
最大の変化とウリは、begin/repeat制御。repeat単独でも使えるが、ともかく繰り返しの構文。goto-with-data を実行するおそらくは一番安全な構文で、エルゴット・イテレーションにより意味論が完璧に作れる。ただし、tame CatyScript にはrepeat入れない。Webで長時間処理は困るから。
エルゴット・イテレーションはコンウェイ不動点演算子の双対。直和によるモノイド圏の、単位対象(空集合)、余対角(fold)、トレースを使って定義される。エルゴット・イテレーションからトレースを再現可能。これは、不動点からのトレース再現の双対。