Gauche > Archives > 2009/08/21

2009/08/21 06:25:05 UTChigepon
#
Gauche の Memcached クライアントライブラリを眺めていたら value を (format #f "~s" value) で文字列化して入れてた。
#
組み込みでオブジェクトのシリアライズ機能はないのでしたっけ。
#
なさそうだ。
2009/08/21 06:30:26 UTCshiro
#
実は密かにgauche.serializerというモジュールがあります。
#
オフィシャルではないし、いつまで取っとくかもわからないのでおおっぴらにはおすすめできませんが。
#
もともとSTk用に書いて、仕事のツールで実際に使っていたものを、Gaucheに移植するときに一緒に移植したものです。
#
なのでそれなりに使用実績はありますが、APIがこれで良いのかどうか疑問なのでオフィシャルにしてません。
2009/08/21 06:34:00 UTChigepon
#
おお。Gauche はそういうの多いですね(笑)。>密か
#
コード見てみます。ありがとうございます。
2009/08/21 06:35:15 UTCshiro
#
多いです。実装は後からいくらでも変えられるけど、APIの設計は後から変えるのが難しいので、もっと使い込んでから…と思ってると秘密機能がだんだん増えてゆく…
2009/08/21 06:36:01 UTChigepon
#
そこは shiro さんなりのポリシーですよね。あとユーザーの多さ故の配慮と言うか。
2009/08/21 06:36:22 UTCshiro
#
もともと、「最適なシリアライザは問題領域によって異なる」というのが設計の出発点にあって、どうやったら性能を落とさず、かつ必要な形にカスタマイズできるかってのを考えてたんですが考え終わってない
#
もっともAPI互換性についてはPaul Grahamの「互換性は絆創膏みたいなものだ。はがすときは痛いけどすぐに痛みは忘れる」だっけ、そういう要素もあるので必要以上に恐れるのもまずいんですけどね。
2009/08/21 06:38:12 UTChigepon
#
問題領域によって異なるってのは本当にその通りだと思います。個人的にはデフォルトのシリアライザはある程度効率よく。不満な人は自分で一からシリアライザ書いてねでも良い気がします。
#
問題は Gauche しか内部構造を知り得ないオブジェクトのシリアライズか。
#
なるほど>絆創膏。
2009/08/21 06:39:16 UTCshiro
#
まあそうですねえ。少なくともテキストとして読めるかバイナリにしちゃうかって二つくらいはデフォルトを用意しときたいですが。
2009/08/21 23:50:40 UTCshiro
#
このバグレポートは秀逸すぎる
#
http://bugs.php.net/bug.php?id=48669