proposal about character inheritance and some features

守岡知彦 / MORIOKA Tomohiko tomo @ kanji.zinbun.kyoto-u.ac.jp
2004年 1月 23日 (金) 17:29:02 JST


>>>>> In [chise-ja : No.00327] 
>>>>>	"g新部さん" = NIIBE Yutaka <gniibe @ m17n.org> wrote:

g新部さん> unification が「包摂」と訳されることに抵抗を持つものです。

私は、(UCS における)“unification”は「統合」と訳すことにしてて、
(JIS X 0208:1997 における)「包摂」とは別概念と考えています。

;; でも、JIS X 0208:1997 は「包摂」に“unification”の訳語を与えている
;; んですね。

UCS における“unification”は出典の異なる文字を統合したもので、また、
各出典は一次資料ではなく規格や辞書の類です。ある意味、そこでの『文字』
は既に抽象化されていて、一次資料のある範囲の「文字」を包摂しているとい
えます。そうした『文字』間の関係をえいやっと張り付ける行為が
“unification”だと思います。

一方、JIS (というか芝野・豊島ドクトリンか!?)における「包摂」は、一次
資料のある範囲の「文字」(用例の集合)を統一的に定義された「包摂規準」
で抽象化された「文字」に分類するという感じだと思います。

UCS における“unification”には「包摂規準」はなく、unify する対象は離
散化された有限の要素だといえます。一方、「包摂」は(少なくとも気持の上
では)連続的で無限の要素を対象にしているといえます。


g新部さん> MORIOKA Tomohiko wrote:
g新部さん>  > (1) ->unified
g新部さん> [...]
g新部さん>  > (2) <-unified

g新部さん> もしかしたら, 用語としては subsumption (包摂)の関係ではない
g新部さん> でしょうか。CJK unification を不必要に想起させるし。

->unified や ->inherited で表現したいものは、文字の継承ではなくて、文
字定義の継承で、その上で、->unified が表現したいのは、文字定義が1つの
define-char 式に統合されているというデータ管理上のメタ情報です。

そういう意味では、本当は、->unified ではなく ->inherited +
(->inherited*unified . t) みたいに書く方が正しいかも知れません。


共通する部分集合をまとめることで記述を圧縮することが目的であって、継承
関係の系統図を表現し押しつけることが目的ではないので、実装の継承であっ
てインターフェースの継承ではないといえます。

また、継承した子文字オブジェクトは親文字オブジェクトの定義を部分集合と
して持ち、親文字オブジェクトは継承した各子文字オブジェクトを外延として
持っているので、->extensional や ->denotational といった名前が良いかも
知れません。

subsumption は形容詞ではないので形容詞形の subsumptive ないしは
subsumed は良いかも知れません。(subsumption というと Brooks の
subsumption architecture が想起されるのですが、これはバラバラなものが
上下関係なく状況に応じて適当に動くというイメージだと思うので、この場合
にふさわしいかも)


という訳で、->unified / <-unified の代わりに ->subsumptive /
<-subsumptive, ->inherited / <-inherited の代わりに ->denotational /
<-denotational とするのはいかがでしょうか?


g新部さん> 先週, Python の多重継承ではまったところです。

g新部さん>                 Membership                ^ 上
g新部さん>                   |   |    
g新部さん> 	LDAPMembership  PloneMembership 
g新部さん>                 |      |
g新部さん> 	     PloneLDAPMembership             v 下

g新部さん> というのだけど, PloneLDAPMembership のインスタンスで method 
g新部さん> の createMembersarea が, PloneMembership のそれが参照されて
g新部さん> 欲しいのだけどLDAPmembership からたどられて Membership のそ
g新部さん> れが参照されて bug ってました。

g新部さん> で, 質問です。多重継承ですか? 多重継承の場合 Breadth first 
g新部さん> ですよね?

syntax 的には多重継承できるのですが、できれば単一継承に限定したいと思っ
ています。多重継承みたいなことをしたいなら、domain で区別するのが良い
かなと思っています。

多重継承の場合、確かに、depth first はよろしくなさそうですね。

そうか、<chise-ja:00316> で述べた CCS 素性の多重継承の問題も、depth
first をするからまずいのであって、breadth first にやれば良い訳ですね。
(^_^;;;

-- 
===『幾千億の分子に分かれても ========================================
     決して忘れない。    
     この宇宙が終るまで』              守岡 知彦 (MORIOKA Tomohiko)
====================== Email: <tomo @ kanji.zinbun.kyoto-u.ac.jp> ======




More information about the CHISE-ja mailing list