SyML(シ エム エル,口語的に「シェメル」,Syntext Markup Language)は,宇田川が開発している XML 系マークアップ言語である。拡張子は「.syml」。
XHTML の置換を目指す。将来的には Cν とともに Dν に統合する。
「SML」,「STML」ともにコンピューター言語名として存在することや,語感・字面の問題で「SyML」を採用した。
HTML 等は交換形式として,内部利用に特化する。
Avant-garde Extension for JavaScript(JavaScript 向け前衛拡張),イージス。
希哲社が開発する μS,νS の標準ライブラリ。前縁向け技術であり,名称空間を保護する体系でもあることから,ギリシャ神話の女神アテナの防具アイギス(英語読み:イージス)にちなむ。
JavaScript,μS では ae
客体で,νS では盾に見立てた @
で参照出来,後者はしばしば「たて」や「シールド」と読む。
@( 'div.example' ).set_stl( 'bg-col', 'red' );
@icn
}{ae.js
}{@win
}{希哲17年2月12日の開発}{@thm
}{ae.thm.vs
}{希哲17年1月27日の開発}{希哲17年1月28日21歩}{希哲17年1月28日14歩}Synic Style Sheets
途中で終了。
現状,SyML では hdr 要素 を HTML/hdr 要素 と HTML/bod/hdr 要素 とで階層で区別していたが,これだと名前だけで端的に区別しにくいため,HTML 用語に合わせて hd 要素を設けることにした。
部分的に抜き出した場合,親要素との関係が崩れ XSLT での処理が難しくなるという問題もあったため,これで多少マシになるか。
kn
の外充て函数}{INSERT 文}{SET()}{FN()}{出場}{希哲13年12月6日の日記}(56)前日30時頃,新知番実装の換装作業が XPO/Pg に差し掛かってから爆発的に出場周りの改良案が生まれ,また30時頃までその整理に追われた。
この日最大の収穫。
DGDBI により,Cμ 交度上の出場情報は集約されたが,SQL 譜類として管理している諸定義中の情報は別に管理せざるをえない,という問題が残っていた。特に知番関連の記述が煩わしく,現在の知番実装最大の課題となっていた。
ふと,これらを定義するための外充て函数を用意し,それを通して定義すれば良いのではないかと思いついた。
仮に,tpl() で雛形変数を処理した求頼文を返し,qy_tpl() でそれを絡包するということを考えた。ドル引用符を利用すれば,これまでと変わらない感覚で記述出来るだろう。
雛形変数の記法は使い慣れている SyML に合わせることにした。例えば, [? clm_pk_kt ?] として Cμ 上の the_clm_pk_kt を参照出来るようにする。
これにより,知番実装の取り扱いに関する問題は完全に解消しそうだ。
そもそも最初は,主に名前付き仮引数のために PostgreSQL 9 を標準的な環境として採用することを決めた程度のところから始まった。求頼を知番交換規約に完全準拠させたい,という動機からだった。
現状,取得系の求頼はほぼ外充て函数化しているが,作成・更新系の求頼は INSERT 文や UPDATE 文を相振りから直に送信するという形を取っていた。
これは,kn の外充て函数を検討し始めた当時は PostgreSQL 9.0 が出て十分な時間が経っておらず,開発環境でも VPS でも導入しにくいことや,SQL 標準との兼ね合いなどから総合的に名前付き仮引数の使用を見送っていたことが背景にある。保守性の観点から,仕様の不安定な時期に引数の順序に依存した函数を使うべきではなかった。
すでに9.0の離立から9年経っており,開発環境でも捌き手でも自然に使える状況にあり,最近前縁でも ES 2015 や HTML5,CSS3 といった最新仕様への追随を決めたところでもあり,そろそろ世代更新してもいい頃だろうと判断した。
これにより,相振り・出場間で知番のやりとりが簡約化され一貫したものになる。
現状,XPO/Pg の実装に必要な交度は src/ 以下にまとめて置いてある。もともと備立名を tst.so にしていたくらい手定めから始まっているので,手早く備立・手定めを繰り返せるようにしていた。
もうそれなりに熟れているので,正式に xtd.DB に取り入れることにした。
頭譜名は xtd.DB/RDB/Pg/be(be.h)にし,現在 SPI:: としている名称空間も be:: に統一することにした。
be という表現は libpq-fe.h から瀕答を得た。
また,これまで libxtd では PgSQL と表現してきたが,略称として中途半端であるため Pg に統一することにした。〈page〉 の pg と紛らわしい気もしたが,RDB:: と組み合せて使えば問題ないだろう。
DEF_FN(),RET_ROW(),GET_ROW() といったマクロ群の考案により,外充て函数の定義が大幅に簡略化された。
その他,マクロ,出与え型の取り扱いや名前の整合性について検討し,細々とした理腑を進めた。
外充て函数では,PostgreSQL 側の用語に合わせ,row を tup などとしていたが,これは直感性を重視し前縁側で統一し,可能であれば類型なども統合することにした。
出場関連ではないが,魔法引括の通称化のために考案した *+.h 形式の譜類を,本体頭譜の見通しを保つため,付加的な要素をまとめておく頭譜として位置付け直し,これを「付加頭譜」(plus header)と呼ぶことにした。