このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

CatyScriptの構成要素

お絵描きするにも操作的意味論するにも列挙しないと。

  1. 基本コマンド呼び出し
  2. スカラーリテラル(基本コマンド扱い)
  3. 変数参照(ほぼ基本コマンド扱い)
  4. 定義されたコマンドの呼び出し
  5. 配列構成(直積 その1)
  6. オブジェクト構成(直積 その2)、doもある
  7. タギング(直積 その2)、>@ もある

データ構成のレベルでは以上、タギング以外はJSONデータの構成。

次に圏論的なもの。

  1. パイプ結合、';'もある。
  2. when分岐(直和)、otherwiseワイルドカード'*'もある
  3. each、リスト関手[T*]の射部分

メタコマンドによる制御。

  1. call
  2. forward
  3. start

予定している機能、http://d.hatena.ne.jp/m-hiyama-memo/20101018/1287358225 参照。ただし、「set, doset構文の導入」はもうやる気なし。http://d.hatena.ne.jp/m-hiyama-memo/20101018/1287358319 にはrepeatの記述。

  1. begin
  2. repeat
  3. 例外処理
  4. throw
  5. 論理パイプ

分類しにくい。

  1. 代入演算子 '>'
  2. take
  3. time

まだよくわからない。

  1. undefsafe機能
  2. フォーリンデータ型の扱い

SEVC機械という抽象機械を考えている。

  • Stack (Call Stack)
  • Environment (Context)
  • Value
  • Code

[追記] uncloseもあった。→ http://d.hatena.ne.jp/m-hiyama/20110920/1316512670
あと、=[ , ] で書く予定の並行タプル=射の直積。

関係するURLを並べておく。

  1. http://d.hatena.ne.jp/m-hiyama/20090902/1251869950
  2. http://d.hatena.ne.jp/m-hiyama/20101221/1292895388
  3. http://d.hatena.ne.jp/m-hiyama/20091117/1258449015
  4. http://d.hatena.ne.jp/m-hiyama/20091110/1257819178
  5. http://d.hatena.ne.jp/m-hiyama/20091107/1257584135
  6. http://d.hatena.ne.jp/m-hiyama/20091104/1257296704
  7. http://d.hatena.ne.jp/m-hiyama/20091104/1257327232

[/追記]