名前問題

守岡知彦 / MORIOKA Tomohiko tomo @ m17n.org
2002年 12月 11日 (水) 13:38:00 JST


>>>>> In [utf-2000 : No.00303] 
>>>>>	"上地さん" = "KAMICHI, Koichi" <kamichi @ sfc.keio.ac.jp> wrote:

上地さん> 口を挟んで申し訳ないですが…。
上地さん> たぶん、江渡さんの考えているUTF-2000(モデル)は
上地さん> 守岡さんの考えるUTF-2000(モデル)よりも大きい
上地さん> ではないかと思います。
上地さん> (モデル=概念と解釈)

江渡さんがどのようなものを考えていらっしゃるのかは判らないのですが、そ
ういう可能性はありますね。もともと「My symbolic system」とかそのまた元
になる考えはもやもやしたものでしたが、現在の私としては「UTF-2000 モデ
ル」を限定的に考えています。「UTF-2000 モデル」では不十分な問題に対し
てはまた別の方法を考え名前を付けて行く方が判りやすいのではないかと思っ
ています。

上地さん> g新部さんwrote:
上地さん> >UTF-2000 は最初, 以下のような話から始まったと思います。
上地さん> >
上地さん> >	o 符号化文字集合の寄せ集めとしての Mule ってどうでしょ
上地さん> >	  うか?
上地さん> >	o 符号化文字集合の寄せ集めとしての Unicode ってどうで
上地さん> >	  しょうか?
上地さん> >	o 文字の集合は文字の集合として, 文字は文字のオブジェク
上地さん> >	  トとして, エンコーディングはエンコーディグとして扱い
上地さん> >	  たいものだ。
上地さん> >
上地さん> >===> 文字オブジェクトを扱うこととし, 内部エンコーディングは
上地さん> >     それとは独立に UTF-8 のマルチバイト表現を用いる。符号
上地さん> >     化された整数値と文字オブジェクトとの間の対応関係を別に
上地さん> >     管理する。
上地さん> >	.... GNU Emacs UTF-2000 試験実装 (1998) 

上地さん> ということでしたら、案外細かい概念ではないかと。

GNU Emacs UTF-2000 試験実装 (1998) は現在の(私の)定義の全てを実現し
ていた訳ではなく(また、この時点では文字をどのように抽象化しどのような 
APIを用意すれば良いかについて良く判っていなかったと思います)、

・文字を文字オブジェクトとして隠蔽する

という部分のみ実現できていたと思います。現在の(私の)定義では文字オブ
ジェクトを文字属性の集合で表現し、CCS の code point やグリフなども文字
属性の一種として表すという風にしています。当時においてもそうした考えは
あったと思いますが実装はされていなかった訳です(ちなみに、XEmacs
UTF-2000 でも当初は実装しきれてなくて、そうした API が登場したのは1999
年10月に出した 0.10 (八尾) が最初のようです)。

また、最初はもしかしたらメカニズム主導で考えていたような気がしますが、
現在の私は「文字列の表現と文字オブジェクトの表現(やセマンティクス)が
独立である」ということは実装上の重要な性質として捉えています。


上地さん> すこしあいまいですが
上地さん> utf-2000、libchise、kage、API、xemacs/utf-2000実装
上地さん> は同じレイヤー(ある意味サブプロジェクト)に位置すると考えて
上地さん> いいのでしょうか。

作業の点ではそうだと思います。ただ、

(a) CHISE は UTF-2000 を包含する
(b) CHISE は KAGE を包含する
(c) モデルは実装の基礎である
(d) 実装と API は(当面は)セット
(e) libchise は CHISE 機能の基盤を提供するライブラリ
(f) XEmacs UTF-2000 は UTF-2000 の実装

がいえ、また、私の理解が正しければ

(g) UTF-2000 と KAGE は(多分)独立?

だと思います。

そして、ソフトウェア構成上は

           |elisp programs |Ruby progs|Scheme progs|
application+---------------+----------+------------+...
         層|XEmacs UTF-2000|Ruby/CHISE|Gauche/CHISE|
           +--------------------------------------------
 service 層|              libchise
           +--------------------------------+------+----
           |文字データベース管理システム    |      |
     処理層+------------+----+----------+---+ KAGE |....
           |Berkeley DB |....|PostgreSQL|...|      |


みたいな感じになると綺麗なんじゃないかと思います(今は、XEmacs
UTF-2000 が処理層まで突き抜けてたり、KAGE が application 層まで突き抜
けてたりする訳ですが)。


上地さん> 以上のように仮定すると、utf-2000という名称は
上地さん> まずlibchiseでは代替できませんよね。

層思います。


上地さん> ひとつ疑問なのは、

守岡>>私としては、UTF-2000 モデルおよび UTF-2000 実装を指す名称として
守岡>>やはり新しいもの(例:Chaon)を作る必要があると思っています。

上地さん> とありますが、chaonはutf-2000という名称に代替するものですか?
上地さん> それとも、utf-2000モデル+実装の名称を残したまま、両者を包含
上地さん> したものの呼称としてchaonと呼ぶということでしょうか?
上地さん> 後者の場合、utf-2000自体の名称はそのままということですか?

Chaon は UTF-2000 という名称に代替するものとして考えています。即ち、
「UTF-2000 モデル」を『Chaon モデル』、「UTF-2000 実装」を『Chaon 実装』
と呼ぶ訳です。


上地さん> あとは、現在の呼称であるXEmacs/UTF-2000の実装している
上地さん> UTF-2000的機能が、UTF-2000と一致しない(ということでしたよね?)
上地さん> のも混乱しやすいかなと思います。

現実がモデル通りに行かないのは普通のことだと思うのでこれは構わないと思
います。とはいえ、XEmacs UTF-2000 は今日では UTF-2000 モデルの実装とい
うよりも CHISE プロジェクトの構成要素という風になって来てるので、むし
ろ XEmacs/CHISE に改名し、中身もそれに見合ったものにして行く方が良い気
もします。


上地さん> #せっかく口を挟ましていただくので、これを機会に私も完全に
上地さん> 理解したいです。お手数かけます。

;; ありがとうございます。

-- 
守岡 知彦 (MORIOKA Tomohiko) <tomo @ kanji.zinbun.kyoto-u.ac.jp>




More information about the CHISE-ja mailing list