Common Lispのパッケージ論

1
fukamachi @nitro_idiot

ブログ書きました > 僕はアリエルに入って何を生み出したか - 八発白中 http://bit.ly/ky0AmU

2011-05-31 00:42:09
年収1億欲しい @inuzini_jiro

某ブログに書かれたパッケージの使い方は、新しいパッケージ機構を作った方が宜しいのではないですか。細かくパッケージを分けるのは、ANSI Common Lispには向いてないのでは?と思う。特定のパッケージだけロード出来るわけでもないし。

2011-05-31 01:58:27
@g177564

最近パッケージで変なことしてるっていうと自分もそうなんだけど某ブログってどこだろうw パッケージの使い勝手の問題は、使う側で工夫するのではなくて利用されるパッケージの側にimportしたりuseしたりする手続を(一つの例として)付けておけば楽なのかもなあと思ったりしています

2011-05-31 08:43:44
@g177564

なるほど元ネタ発見した。自分はlispしか知らないからだと思うけど、パッケージの機能にはそれほど期待していなくて簡単な名前空間の提供位にしか考えてないかも。みんなどういうのを期待してるんだろう

2011-05-31 08:57:34
@g177564

細かくパッケージを切って、代表するパッケージを作成して、パッケージ使わせるためのプロトコルを設計して代表パッケージに含ませておいて、ユーザーがインポートの方法をプロトコルにしたがってカスタマイズできるようにするというのもありなのかなあとかは思う

2011-05-31 09:00:09
@g177564

allegroの階層パッケージは細かくニーズに叶うのかなあ。(defpackage foo (:use)) (defpackage foo.i (:use :cl)) (in-package foo.i) (defun ..::a (n) n) (foo::a 8) ;=> 8

2011-05-31 09:17:53
@g177564

s,細かく,細かく分けたい,

2011-05-31 09:19:37
Masatoshi SANO(aka🦈) @snmsts

中身を多少いじったxx互換パッケージを作って、xxのpackageをuseしてたり外部シンボルとして利用しているpackageの挙動をサックリかえられるようにならないかなぁと思うことはある。つまり、あるパッケージから、外部パッケージの見え方がプログラマブルなら良いのにということ。

2011-05-31 09:29:24
@yuushimizu

one-package-per-one-file style...なるほど

2011-05-31 10:37:04
fukamachi @nitro_idiot

たぶん他の人が言ってることと同じだけど、CLのパッケージは継承したり名前変えたりできないのが不便

2011-05-31 11:20:49
fukamachi @nitro_idiot

#.(rename-package :hoge :fuga) とかで名前変えられるけど不恰好なのでClojureみたいに (:require :hoge :fuga) とか書けるようになってほしい

2011-05-31 11:22:23
fukamachi @nitro_idiot

実際、Clack作ってるときにパッケージ作り直そうと思ったけどやり過ぎだと考えなおしてやめた

2011-05-31 11:24:21
fukamachi @nitro_idiot

あとはリードマクロの有効範囲にもパッケージが使えればいい。named-readtableと合体

2011-05-31 11:28:50