Catyの変更や拡張
http://d.hatena.ne.jp/m-hiyama-memo/20110506/1304662541 以降、今まで。
- when-otherwiseのワイルドカード
- PATH_INFO環境変数
- 環境変数が直接参照可能に。
- app.logとloggingモジュールを追加。
- osモジュール os:exec-scriptコマンドを追加。
- rc-once/*.caty による一回実行起動時スクリプト
- 複数候補から選択した値の解決 json:fix-on-selectionコマンド、$selection, $embed。
- モジュール循環依存性の検出
- 型コンパイル方式を少しずつ改善
- make-exception, throw-if-can。throw-if-canは今バグっている。
- pathモジュール
- when, eachにオプションが(構文上は)可能となる。
- gen-dataの改善、@[typical]アノテーション
- デーモンモードでのシグナル(SIGTERM, SIGHUPなど)に対応
- SIGHUPではリスタートする。
- PIDファイルをちゃんと消す。
- システム情報の公開性を少し高めた。
- 疑似タグのプロパティ名に文字列が使える。
- 疑似タグでundefinedが使える。
予定:
- 型の包含性判定
- データセットのサポート
http://d.hatena.ne.jp/m-hiyama-memo/20110506/1304662541 再掲。
- 変数生成 '>'
- 変数参照 '%'
- パイプラインの一時的終了 ';'
- eachによる変数スコープ(つうかエクステント)
- casmでスクリプトコマンド定義
- kindのナンチャッテ第一段階。
- バッグ型
- actions/*.cara
- 新しいスキーマ属性 maxProperties, minProperties, propNameFormat, tight。(remarkは以前から。)
- XJSONパス、XJSON get/put、パートはまだだが。
- ignore-tag-onceルール、pv, item, nth とXJSONパス
- 疑似タグ構文 '@?' '(' (name|string) ':' スカラーリテラル ')'
- 任意のタグ '@*'
- 任意の明示的タグ '@*!'
- 型名タグ '@&'
- undefined型と#'undefined
- @[register-public]
- CatyBNFのナンチャッテ実装: ::=, :=, = が使える。
- /*{{{, }}}*/ コメント
- debug特殊コマンド
- --no-ambient, --no-appオプション
- select-action, select-script, trace-dispatchコマンド
- スキーマ記述用のPythonファイルの分離
- *.caraにfiletypeを書ける
- 例外型の定義(exception宣言)
- deferred型
- お尻スラッシュ問題に対して、マニフェストに "missingSlash" 追加。
- _global.xjsonに "addrsAllowed", "addrsDenied"
- スタックトレースのWebへの出力
- throws only
- 総称コマンドの実行時具体化
- 国際化フレームワーク
- フィルターのコマンド化
- deprecatedアノテーションの処理
- defaultアノテーションの処理
- moduleにdocコメント
- 配列型の項目名
- HTTPメソッドトンネリング
- CatyFITのjudge欄
- ハッシュ記法
- timeメタコマンド
- CatyFITにignore-spaceオプション
予定:
- __integerスキーマ属性
- whenにotherwiseワイルドカード
- 複数プロファイル
- オブジェクトのeach
- ユニオン型のワイルドカード
- importと名前の本籍追跡
- tag-onlyデータ
- コマンドオーバーロード(優先度低し)
- テンプレートの elseif
中途半端または未着手: