コマの整理
_kn cpl の実装に着手する前に,希哲11年7月27日から考えていた知機駒手実装の構成変更を実施することにした。これから知駒の保守性が重要になってくるため,かなり雑然としている KnoC/ を整理しておきたい。
従来の KT_ 接頭子を使った管理から,_kn.d/(バイナリ)と _kn.sh.d/(スクリプト)で階層管理する手法への移行を決め(希哲11年7月27日),さらにこれらの cmd/ への一本化を決定(希哲12年2月3日),という経緯があるが,まだ仕様の整理が十分ではなく,命名上の不整合があった。
主な問題は実行譜類と台録の命名をどうするか。台録に .d を付けるという手はずっと考えているが,あまり美しくない気がする。
cmd/ に Synx 駒手も含めるとすると,知機駒手は先頭に一律アンダースコアを入れるのが直感的か。これなら,省割記法用の譜類を別に生成する必要もなくなる(ただし,それが処理機構の不統一になる可能性もある)。これなら .d 接尾子を採用するとしても _kn.d/ は作らなくていいため,_knd とも紛らわしくない。
/_kn/run/cmd/ に場筋を通すとして,/_kn/run/ を内部的に利用する方法も考えた。この場合,たとえば /_kn/run/cmd/_kn が /_kn/run/_kn/ 以下を参照することになるが,ややこしい。
拡張子無しの命名は,スクリプトにすることにした。まず,場筋を通した場合に駒手として参照させたいので台録には出来ない。バイナリ実行前に何らかの処理を挟めることを考えるとスクリプトが無難ということになる。バイナリは .x,台録は .d で区別することになる。
.d のかわりに .. か ... を使う手もあるか。../ との紛らわしさはあるが見た目は直感的。+ はすでに多用していて意味が混乱する可能性があるが,直感的かつ簡潔ではある。とりあえず + で実験してみるか。
また,KnoC/ と SynC/ を分けている意味が現時点であまりなく,場筋が冗長になるだけなので実装は Kom/cmd/ 以下に統合してしまうことにした。
また,一覧性を考え一駒一譜の原則を正式に導入することにした。
大文字記法の考案
sure の省割駒手 ! のシェル上での扱いが微妙なところがあるため,代替案として,駒手を大文字で書くことで特権実行出来る仕組みを考えた。ただし,_kn などを通さない場合,美しい実装は出来そうにない。