前縁が引き外し立求を2回送っている上に,輪括関係が存在しなくても dg_drg_out()
が動作してしまう問題だった。dg_drg_in()
は INSERT
でトランザクションが自然に失敗するが,dg_drg_out()
は DELETE
なのでいずれにせよ成功してしまう。
前縁の問題も見当は付いているが,Aejs の整理が必要なのでとりあえず dg_drg_out()
の修正で対応。
dg_drg_out()
}{dg_drg_in()
}{Aejs}{進捗記録}{いずれにせよ}...昨日それなりに精神力を使ってしまったので,半休にした。事務的な用事を片付け,組計調整も出来,デライト宣伝でも良い手応えがありと充実していた。
引き続き6月の新生デライト完成を目標とするが,不測の事態も想定し7月まではゆとりを持たせることにした。いずれにせよ,新生デライトの完成が完全なデライトの成功に直結する状況だ。十分な宣伝をしつつ,この期間で確実に新生デライトを完成させられるかどうか。その時間配分に全てがかかっている。
黄金週間の総括は,ちょっとした時間でまとまりそうにないので,いったん断念することにした。そのうち振り返ることもあるだろう。
これまでの献典の課題を解消するような新しい文体が出来たこと,それにより自分の中でデライトの現実感がぐっと増したこと,その背景に希哲館訳語なども含めて希哲館事業構想全体の円熟があること,デライト一夜革命に向けた本格的な「伐木」が始まったのだということ,等々,短い間に色々な思いや気付きがあった。いま文章にするには複雑過ぎる。
初めてこの心境の変化に気付いたのは夢の中だった。あのひどい悪夢は,大惨事が起こる直前まで,最近の変化をこう前向きに考えるようになったという良い夢だった。潜在意識が心境の変化を敏感に捉えていたのだろう。
一日一文の新しい文体は自然にツイストにも影響していたが,今後は一日一文・ツイストの文体を意識的に統一することにした。これまで,いわば「深層の文体」中心でたまに「表層の文体」を使う程度だったが,「中層の文体」が加わり,これからは表層・中層の献典の厚みが増していくだろう。これこそ「伐木」だ。
相変わらず開発が快調で,大輪郭整備を思い付いてから輪郭整備にほとんど時間を割けていない。もっとも,そろそろ頭の整理をしないと開発に集中出来ない,というところで考えたのが大輪郭整備だったので,完了を急ぐ必要も無くなってしまった。
大輪郭整備の内容よりも,その構想によって脳爆発下での思考整理に希望が持てたこと,視野が広がり思考の全体最適化が進んだことが良かったのだろう。
大輪郭整備については,15日までの完了を目指すことにしていたが,時期にこだわらず,全体の釣り合いを見ながらじっくり進めていくことにした。
その代わり,新しい目標が出来た。黄金週間を睨んだ第四次宣伝攻勢だ。
昨年の第三次宣伝攻勢でも,年度末・年度始めのデライト宣伝を抑制し,黄金週間を中心に宣伝攻勢をかけた。途中で開発課題の方が大きくなり自然に終息したものの,手応えは非常に良かった。
今年も気付けばそんな時期だということに,3月に入ってから気付いた。2月28日の組計整理ではそんなことは考えず,6月まで様子を見ることにしていたが,計ったように都合が良い。
波状宣伝の必要性に疑問が生じたこともあり構想として宙ぶらりんになっていた第四次宣伝攻勢だったが,金風あたりから想定に反してデライト高速化が停滞したり,デラング整備に重心が移ったことで,日常的なデライト宣伝も自然と抑制的になっていた。少数の理解ある用者しかいないというのも,デラング整備にとっては非常に快適な環境だった。
色々な偶然が重なり,気付けば機が熟しつつある。やるならこの時期しかないだろう。思いついたのが夜だったので細かいことを考える時間が無かったが,黄金週間に向けて調整していくことは決めた。
昨日,寝る直前にまた脳爆発があり,今朝にかけて文字装飾記法とタグ記法周りの概念整理・仕様整理が急速に進んだ。
文字装飾記法は,「文字装飾を伴う慣用表現」のための記法と位置付けることにした。太字記法(##
),斜体記法(//
),下線記法(__
),打ち消し線記法(~~
,翌日のまとめで「打ち消し記法」から改称)の4記法を基本とし,それぞれ所定装体を伴う <b>
,<i>
,<u>
,<s>
HTML 要素に対応する。
@
を使った文字サイズ記法,%
を使った色記法も検討していたが,タグ記法の概念が出来たことで中途半端なものになるため,これは廃案とする。
実装自体は容易な部類で,記法も概ね固まっていたにもかかわらず文字装飾記法の実装に踏み切れなかった理由として意味論的な問題があり,これが思いのほか難題だった。実装方針は3通り考えられる。
記法の趣旨からしても,軽量標記言語の特性を考えても,1つ目に無理があるのは明らかだ。対応する HTML の <b>
,<i>
,<u>
,<s>
は,私が何度解説を読んでもややこしく感じる代物だ。それを多くの人が正しく理解して使うのは不可能だろう。そもそも「文字装飾記法」という分かりやすい説明体系を捨てることになるが,代替案があるわけでもない。
かといって,2つ目ももったいない。要は <span>
で装体指定だけにするということだが,例えば,太字にはしたいが <b>
にはしたくない場合,打ち消し線は引きたいが <s>
にはしたくない場合がどれだけあるのかと考えると,無難を通り越して臆病過ぎる。失う可接性や応用可能性と釣り合わない。
最終的に採用することになった3つ目も,全く考えなかったわけではないが,柔軟性に欠け,前の2つの悪い所が組み合わされる気もして,有力案にはなっていなかった。
この膠着状態を変えたのは,前日に概念としてまとまったばかりのタグ記法だった。
これまで,デラングにおける HTML は,どうしてもデラングで出来ない表現をしたい場合などの“抜け道”とか“救済措置”に近い位置付けで,積極的に使うことを想定していなかった。実際,個人的にはほとんど使っておらず,放置している不具合も多い部分だった。
デラングのタグ記法として間接的に HTML を使うことで,略記法の導入も可能になり,HTML 側の仕様変更に対しても一定の緩衝帯を設けることが出来る。ここに来て初めて,文字装飾記法でも「書き分け」が考えられるようになった。文字装飾記法に対応しうるのが全て1文字要素だったことも幸いした。
昨日の寝る直前に,##太字的な表現##
と <{font-weight:bold}>太字</>
のように書き分けるよりも,##太字##
と <b>太字的な表現</b>
のように書き分ける方がマシであることに気付いて,1つ目の実装方針案は完全に潰せた。
これにより一時的に2つ目の実装方針案が再浮上したが,標準的に使う記法として標準的な用途に最適化不足なのはやはり否めなかった。
最終的に,「文字装飾を伴う慣用表現」という用者が自然に理解出来る範囲での意味論的な位置付けを与え,逸脱する用途ならタグ記法で書き分けるのが使用頻度に対して最適だろうという結論に達した。3つ目の実装方針案を洗練させた格好になる。
例えば,##太字##
は「太字装体の <b>
」に対応する。装体が邪魔なら <b>太字的な表現</b>
と書けるし,意味が邪魔なら <{font-weight:bold}>太字</>
(略記法は検討段階)のように書けるが,これらの場合が稀少なのは明らかで,記述量に上手く釣り合う。ワープロならともかく,軽量標記言語を手書きしようという人にとって難しい使い分けではないだろう。
そもそも,<b>
,<i>
,<u>
,<s>
は,古くからある視覚的要素が HTML5 で慣用的な用途を引き継いで意味論化されたものなので,「文字装飾を伴う慣用表現」と非常に相性が良い。相互変換にも全く問題ない。
何より,直感的に入力すれば構造的に出力されるというデラングの理想に適っている。
文字装飾記法を「文字装飾を伴う慣用表現」と位置付けたことで,慣用表現を持たない文字サイズ記法・色記法は仲間外れになるが,タグ記法によって出る幕がなくなった感があるので,ここで廃案にすることとした。
第一に,タグ記法で略記法を整備した方が一貫性も応用可能性も高い。特定の値でプロパティを省略出来るようにし,<{white}>白い文字</>
のように書ければ,%white%白い文字%%
と書くのと記述量も大差ない。
もともとパラメーターを必要とする記法の異質感はあり,文字装飾記法の統一感を損うかという懸念はあったので丁度良かった。
これまで,複数の文字装飾記法の組み合わせは #/太字と斜体/#
のように,「記号を1つずつ逆さにした終了記号と挟む」といったややこしい説明を考えていたが,##//太字と斜体//##
のような「入れ子」を #/太字と斜体/#
と短縮出来るという考え方にした方が分かりやすいため改めることにした。
今回の検討で,タグ記法が早くも実践的な役割を持つことになり,デラングにおける存在感が一気に増した。
タグ記法に HTML の仕様変更に対する緩衝的な役割を持たせること,要素名の省略で <span>
にすることを考え始めた。
rgx_T
}{s_T
の補助函数}{進捗記録}{幸いした}{書き換え作業}{置換作業}{必要な時期}{置換した}{冗長版}{置換する}...Cμ 文字列処理改良,rgx_T
の置換道手の引数順序変更。
あとは rgx_T::rpl()
の引数順序変更で rgx_T
の置換道手の引数順序変更は完了だが,これまでの道手の呼び出し箇所が Dex のごく一部に限られていたのに対し,.rpl()
は Cμ 初期からあちこちで使っている置換道手なので,少し複雑な作業になる。
まず,いったん .rpl()
を適当な名前に変えて無効化し,呼び出し箇所を引数順序変更済みの .rpl_glb()
あるいは客体表現に置換するか,正規表現・客体表現を使うまでもない処理なら s_T
の補助函数に置換する。現時点で .rpl_glb()
は .rpl()
の冗長版に過ぎないため,置換したままにしておいて問題ない。交度整理をしていけば自然に戻るはずなので,あえて再置換はしないことにした。
置換作業に入る前に,作業に必要な s_T
の補助函数整備も必要だが,既存の「類型化正規表現」(rgx_x_T
)の置換道手も旧式の引数順序にならっているため,まず最初に客体表現(ojx_x_T
)への書き換え作業を済ませることにした。rgx_T
を直接使った交度から類型化正規表現への書き換え作業が想定より遅滞していたことが幸いして,現時点で類型化正規表現は多くない。
いずれにせよ,正規表現の総点検や客体表現への書き換えが必要な時期であり,保守性と効率性の大きな向上が見込める良い機会だ。
!--
}{--!
}{役割的}{記法的}{汎用志向}{区別しにくい}{最初の案}...20日4歩の案を以下のように修正した(補足記法は !
を ?
にする)。
!--
軽い注意書き
--
!!--
重い注意書き
--
!!
や ??
から認識する20日4歩の案では,ある程度整えた文章ならともかく,砕けた文章との相性が悪い。チャットや掲示板の投稿くらいの文章では,疑問符・感嘆符だけを並べて感情表現することはある。汎用志向のデラングでは問題だろう。
最初の案から,開始記号・終了記号が区別しにくいため終了記号には区切り線を使うことを考えていたので,自然に区切り線と組み合わせることを考えた。
偶然だが,これが記法的にも役割的にも HTML の込め言 <!-- ... -->
に似ているのに気付いたことも採用への好材料となった。!--
ではなく --!
を使うことも考えていた。