Gauche > Archives > 2013/02/23

2013/02/23 02:31:27 UTCshiro
#
シカゴ在住の人へ:"Land of lisp"の作者が "Lisp vs. Haskell Death Match!" ってトークをやるそうですよ。http://www.meetup.com/Northshore-Fringe-Coders/events/105877702/
2013/02/23 10:07:42 UTCiyanaha
#
どうでもいいことなんですが、
#
"Land of Lisp"の頭文字をとると"LOL"になって、"Let Over Lambda"と同じになっちゃいますね
#
略称で呼びたいとき不便
2013/02/23 10:18:11 UTC(び)
#
Let Over Lambda はLOL、Land of Lisp はLoLでひとつ。
#
もっとも、Common Lispの名前は基本case insensitiveなので、区別つかないんですが。
2013/02/23 10:33:32 UTCshiro
#
|LOL|と|LoL|というのはどうか。
2013/02/23 10:35:13 UTC(び)
#
ちょっと負けた気分。mizumaruさん御用達のmlisp使えってことかなぁ...
2013/02/23 10:57:30 UTCiyanaha
#
でも、原書は"LAND OF LISP"なんですよねえ
2013/02/23 12:32:57 UTCshiro
#
やた!グランドセフトワンプスを初めてクリアしたぞ!
2013/02/23 14:00:14 UTCkazh98
#
はじめまして。Gauche のオブジェクトシステムでインスタンスを複製することって可能ですか?
2013/02/23 14:06:12 UTCshiro
#
コピーってことですか? 今のところ汎用のは無いです。単純なshallow copyで良ければこんな感じで書けます https://gist.github.com/shirok/5019888
2013/02/23 14:17:51 UTCkazh98
#
class-slots とslot-definition-name を用いれば、クラスのすべてのスロット名を取得することができるのですね。ありがとうございます。
2013/02/23 14:23:49 UTCshiro
#
ただ、CLOS系オブジェクトシステムは一部のスロットをread-onlyにしたりset!される時に別のアクションを呼んだり等色々妙なことができちゃうので、常にどんなインスタンスにも使えるというわけにはいかないのが、汎用のコピーメソッドを用意してない理由です。
2013/02/23 14:26:59 UTCkazh98
#
なるほど・・・実装が明らかになっているクラスのインスタンスに対してのみ、先ほどのコピー手続きを用いるのが安全ということですね。。
2013/02/23 14:29:05 UTCshiro
#
まあ、上のcopy-instanceをデフォルトメソッドにしておいて、妙なことをやってるクラスにはcopy-instanceも専用のを提供してもらう、という方針も可能ではあるのですが。
2013/02/23 14:33:39 UTCkazh98
#
言語の設計って難しいですね、、、オーバーライドし忘れたとき怖いかも。