Gauche > Archives > 2015/11/27

2015/11/27 14:57:40 UTCshiro
#
結局immutable-mapにしました。わかりやすさ優先。
2015/11/27 15:01:40 UTCshiro
#
実装は、comparatorを保持するために今は木自体とは別にアンカーオブジェクトを持ってますが、これが良いのかどうか思案中。insert/deleteでアンカーオブジェクトが必ずアロケートされるのが無駄なような、でもノードの方にcomparatorまで持たせると(1)パターンマッチで綺麗に書けてるところがごちゃごちゃする(2)empty nodeを単に#fでなくアロケートしなくちゃならなくなる(しかもcomparatorごとに異なるのでsingletonにできない。)というのがあって迷い中。性能で大きく差が出るならやってもいいけどってところ。
#
empty nodeにcomparatorを持つ必要があるのはtree自体がemptyの時だけだから、その時だけ特別扱いするって手はあるか。(T B #f #f #f)とか。