- 1 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:14:56 ]
- 過去スレ
Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/ Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/ Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/ Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/ Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/ Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/ Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/ Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/ Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/ Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/ Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html
- 159 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:00:35 ]
- >>155
Lisper一般ではなく、あくまで俺の印象だが、 「純粋すぎてちょっとめんどい」って感じ。 たぶん誤解なんだろうけど。
- 160 名前:155 mailto:sage [2008/01/17(木) 14:16:28 ]
- なるほど、ちょっとメンドイというのは、Schemeの芸術的シンプルさから見たら
色々煩すぎるよ、ということでしょうか。
- 161 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:16:43 ]
- > Haskell
数学や哲学の匂いに比べて、肝心の(という言い方はトゲがあるかな)工学の匂いが薄い、 という風に感じる。 でもこれは、2chのスレや、関数型言語関連の検索で引っかかったページからの印象で、 実際にHaskellに触ったことは無いんで、>>159と同じく、色々誤解もあるんだろうなと想像。
- 162 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 14:36:20 ]
- >>160
ちょっと違うかな。 LispでもSchemeでも、関数型風に書くこともできれば、手続き風に書くこともできるよね。 純粋関数型言語ってのはそういう融通が効かなさそうで、用途によっては面倒じゃね?って イメージ。たぶんいろんな逃げ道があって、そうでもないんだろうけど。
- 163 名前:155 mailto:sage [2008/01/17(木) 14:45:03 ]
- >>162
そうですね。言語の入門ってよく"Hello World"をコンソールとかに出力するのとか から始まりますが。Haskellの場合それは典型的な副作用関数なので、モナドが 必要とか、そんな話になってしまいます。
- 164 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:06:23 ]
- >>155
Haskellみて思うのはUKの純粋関数型言語というイメージかな? ML系やLisp系にはUKの言語みたいなこだわりは感じないかなぁ。 良いとか悪いとかいう感想は持ったことない。職人的なこだわりが感じられる。
- 165 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:23:28 ]
- やっぱLispは東海岸?
BSDが西海岸文化で。
- 166 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 18:57:24 ]
- どなたかSimply Schemeの紹介キボンヌ
- 167 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:21:03 ]
- >>165
もっと絞るとボストン周辺文化
- 168 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:33:55 ]
- >>155
俺と全く同じ状況でワロタ。 lispの構文はシンプルで美しいと、心から思ったよ。
- 169 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 01:12:10 ]
- ttp://www.oreilly.co.jp/editors/archives/000155.html
赤多過ぎ。 表紙が「Gaucheプログラミング」って表紙からして間違ってない? ダイジョブカ?
- 170 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 01:38:34 ]
- >>169
逆に考えるんだ。それだけ改善される、と。
- 171 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 01:58:30 ]
- オレも頑張ってるなとオモタよ。
- 172 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 02:26:18 ]
- >>167
そりゃ偏見w インディアナあたりもガンガってる。
- 173 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 03:43:26 ]
- >>163
「モナドが必要」って,一体何をそんなに仰々しく構えているのか. 何も考えずに putStrLn すればいいんですよ. (write "Hello world!") (newline) と書くとき,Schemeの意味論を思い浮かべる? ;; そもそも意味論はRnRSの一部しか記述してないけど
- 174 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 12:25:47 ]
- ここにいる人たちは学生ですか?
あるいは社会人だけど趣味やスキルアップのためにSchemeを やっているのですか? 仕事でScheme使ってる人はいるのでしょうか?
- 175 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 12:49:33 ]
- いつか仕事(個人的なutilじゃなく)で使えればなーと思いつつ、スキルアップのため
- 176 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 12:58:20 ]
- 黒田さんとかshiroさんレベルになれれば、
「大丈夫俺に任せろ」で仕事にできちゃうんだろなぁ
- 177 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 13:15:20 ]
- 普段は普通の手続き型言語やね、でも強いて言えば
再帰が必要な処理だけは手続き型言語で書こうとすると悩むから 一旦Schemeで下書きしてから手続き型に直す
- 178 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 13:17:57 ]
- >>173
むしろ、writeが再定義されてたらどうしよう、とか思い浮かべたほうがいい
- 179 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 13:19:28 ]
- >>174
いろんな人がいると思うよ。画一的に考えるな。 俺は仕事で使ってるよ。Common Lispだけど。
- 180 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 22:00:49 ]
- >>174
本職はハードの設計だが, できあいのツールで機能が足りないときは Lisp で書いてるな. C とか C++ で数値計算する気にならん.
- 181 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 22:12:59 ]
- SIAGの廃れっプリが凄いw
- 182 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 22:40:51 ]
- 無職の人はいるのか?
- 183 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 22:55:04 ]
- Lispme使ってますがなにか?
- 184 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 22:46:09 ]
- >>174
回路設計者(しかも、アナログ)だけど、趣味でschemeやってますよ。
- 185 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:58:15 ]
- 意外とハードウェア技術者が多いな。俺も昔、Lisp系でHDL(ハードウェア記述言語)を作ろうとか
考えたことがあるよ。
- 186 名前:180 mailto:sage [2008/01/20(日) 01:07:07 ]
- >>185 wwWwWW!おまえはなんて俺なんだ!!!
- 187 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:07:34 ]
- Lisperなんだが、あまりにgaucheが素晴らしいのでschemerになろうと思う。
そこで質問なんだが、Lispだとnil==()なのにschemeだと#f != ()な理由ってあるの?
- 188 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:11:05 ]
- >>187
おそらく宗教的な理由
- 189 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:11:19 ]
- 意味のない混同で、バグの温床となることがあるので、止めた。
- 190 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:24:49 ]
- >>185-186
俺が多すぎ
- 191 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:33:02 ]
- VHDLisp
- 192 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:45:17 ]
- >>26-154
Little Schemer ⇒ ゾウさんの絵 ⇒ 繰り返しはどこまで続くのか? ⇒ Yコンビネータ ⇒ To Mock A Mockingbird ⇒ ゲーデルの定理 読み返してみたらホントにそう書いてあった。すげー。
- 193 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 08:01:34 ]
- >>187
どんな所がいいですか?
- 194 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 08:28:45 ]
- SICPにネットリスト記述処理系とかあるし
- 195 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 09:12:55 ]
- おれの場合、elispと「リスト遊び」でリスト便利、って気付いて、
schemeを知ってやべぇ美しすぎる!とか思った。 でも今は仕事でCommonLisp(ACL)を少し使ってる。バカでかい仕様も、 今では信頼の元。CLは愛してるというより尊敬の対象。
- 196 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:39:49 ]
- おまえらループと再帰を使い分けるのは馬鹿らしいと思ってるだろ
配列と構造体とハッシュを使い分けるのも馬鹿らしいと思うことはないかい
- 197 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:42:24 ]
- そういう発想は無かったな。
使い分けるのが馬鹿らしかったら使い分けなきゃいいんじゃないか?w
- 198 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 13:47:21 ]
- >>196
> おまえらループと再帰を使い分けるのは馬鹿らしいと思ってるだろ うん! > 配列と構造体とハッシュを使い分けるのも馬鹿らしいと思うことはないかい あんまおもわねぇなぁ assoc と hash …
- 199 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 14:08:27 ]
- >>198
前スレでassocの書き方を色々とやってたな。4つぐらいあった希ガス。 でも使い分けるという感じではなかった。
- 200 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 15:09:18 ]
- > 配列と構造体とハッシュを使い分けるのも馬鹿らしいと思うことはないかい
JavaScriptなんかはそこらへんルーズなんで楽ちんではある
- 201 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 15:15:18 ]
- Lispでも「俺はハッシュしか使わん」というのは勝手なんだが
問題はキーを比較するときに多態性がないと不便ってことかな
- 202 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 16:06:12 ]
- >>196
Arcってそゆんじゃなかったっけ? alistとhashを抽象化したdbって。 >>200 久しぶりに書くと配列をiterateするのにfor(var in ary)で書いてしまって??となる
- 203 名前:187 mailto:sage [2008/01/20(日) 17:38:21 ]
- >>193
まずschemeで((if #t + -) 1 2)がでできることに感動 まだほとんど触ってないけどgaucheは ・速い(と聞いている) ・バインディングが書きやすい(ように見える) ・スレッドが使える ・dotimes, whileとかあるし、ライブラリが使いやすそう defunとかmapcarなくて戸惑ってるけど、これから勉強します
- 204 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:44:45 ]
- >203
define map
- 205 名前:デフォルトの名無しさん [2008/01/20(日) 19:07:12 ]
- hash と assoc は計算量がちがうよね。
用途に合わせて使い分けるもんじゃないの?
- 206 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:18:13 ]
- まだconsのところだけど、Little Schemer面白くなってきた。
再帰は苦手だけど、この本の再帰の妥当性チェックの仕方の 説明が良かった。コツを掴めそう。
- 207 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:27:45 ]
- >>205
> 用途に合わせて使い分けるもんじゃないの? どの辺で切り分けるかでいつも迷う.
- 208 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:32:14 ]
- 大きいときはハッシュテーブル。
後で追加したものを優先したくて、一発である時点へ戻したいという場合は連想リスト。 どちらでもなければ、どちらでもいい。w
- 209 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:33:08 ]
- www.amazon.com/gp/product/0262541483/
The Scheme Programming Language, 3rd Edition 米国では評価高いみたいですが読んだ人どうですか?
- 210 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:54:09 ]
- >>208
> どちらでもなければ、どちらでもいい。w ここだろ? >>207 が頭抱え込んでるのは…
- 211 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:57:08 ]
- 小さいなら連想リストでいいべ
- 212 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:04:36 ]
- CやC++なんか知らねえ。
おれはscheme一筋って人いますか?
- 213 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:16:13 ]
- >>212
さすがに高級アセンブラであるところの C を知らねぇって奴はいないんじゃねぇの? C++ とはあまりお近づきになりたくないのは確だけど。W
- 214 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:27:52 ]
- C知らないことはないけど、大規模なのは作ったことないorz
- 215 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:51:28 ]
- >>209
巻末の仕様書。
- 216 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:20:23 ]
- Scheme処理系を今時オールアセンブラで書こうっつう漢はいねぇべ
- 217 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:32:41 ]
- (defun my-foreach (proc-list 'val-list)
(if (not (cdr var-list)) (proc-list (car val-list)) (progn (proc-list (car val-list)) (my-foreach proc-list (cdr val-list))))) (setq list-a '(1 2 3 4)) (1 2 3 4) (my-foreach '(lambda (x) (print x)) 'list-a) foreachのような関数をlispで作ろうと考えたのですが、どうもうまくいきません。 上記のようにするとlist-aがvoidだと怒られてしまいます。
- 218 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:00:18 ]
- >>216
ツウジテナイw
- 219 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:03:13 ]
- >>216
8008の頃からマイクロプロセッサさわってると衝動的にその罠に落ちる。 #でもarm7とかだと今でも有効なキガス
- 220 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:21:24 ]
- 話の流れが見えない
>>213 は (equal? C 高級アセンブラ) => #t >>216 のは (equal? C アセンブラ) の評価結果はどうなるんだ?
- 221 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:28:24 ]
- >>220 天使のオペレータ
amb! amb!
- 222 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:45:42 ]
- >>220
そうだと思う。>>216,>>219は妙だw
- 223 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:30:54 ]
- >>217
どこから突っ込めばいいのか…… とりあえず val-list の引用符いらない
- 224 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:31:31 ]
- >>217
(defun my-foreach (proc-list val-list) (if (not (cdr val-list)) (funcall proc-list (car val-list)) (progn (funcall proc-list (car val-list)) (my-foreach proc-list (cdr val-list))))) (setq list-a '(1 2 3 4)) (1 2 3 4) (my-foreach #'(lambda (x) (print x)) 'list-a) schemeと違ってlispはfuncallしないと関数は呼び出せないよ。
- 225 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:49:15 ]
- あ、list-aにクォート付いてたw
(my-foreach #'(lambda (x) (print x)) list-a)
- 226 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:54:50 ]
- >>224
なるほど、勉強になりました。どうもです。
- 227 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:57:56 ]
- >>209
全文公開されてるから読め。
- 228 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:51:48 ]
- Schemeの「継続」ってのをわかりやすく教えてくれないか。
自分的にはドラえもんの「人生やり直し機」みたいなイメージをもっているんだが。
- 229 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:33:40 ]
- なんでも継続 でググ(略
- 230 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 14:16:46 ]
- >>228
的確なイメージですね
- 231 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 15:16:38 ]
- まずは人生やり直し機の実装について語ろうか
- 232 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:03:49 ]
- ファーストクラスの継続は、やり直せる。
ファーストクラスの人生は、やり直す必要がない。
- 233 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:11:06 ]
- >>232
で、ファーストクラス未満の人生は、やり直しが効かないと…
- 234 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:44:04 ]
- 人生は不可逆だからやり直しはできないだろうけど、
出直しならできるんじゃない。本人は変われないが環境を変えることはできる。 Schemeだと昔の環境を保存しておいて復元した環境に飛び込んでいくんでないの。
- 235 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:38:56 ]
- >>234
人生に関しては逆だよ、変わるのは環境じゃなく自分。 乱暴に言えば自分しか変われる要素は無い。
- 236 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:40:27 ]
- 人生の話はスレ違いですよ
- 237 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:22:28 ]
- lispは人生
- 238 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 11:29:02 ]
- Schemeは哲学
- 239 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:09:16 ]
- C#は成功
- 240 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:26:31 ]
- Cは仕事
- 241 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:41:12 ]
- 国歌がないぞ
- 242 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 21:50:38 ]
- 国家はコッカだけに、
「静かな湖畔の...」と対になる曲が必要だな。
- 243 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 08:33:14 ]
- >>176
>黒田さんとかshiroさんレベルになれれば、 shiroさんはコードとか読んでも本当に凄いと思うんだけど、 黒田さんって凄いの? どっかで氏が書いたコード読めますか? どんだけ凄いのか是非読んでみたい。 話だけ聞いてると名物*ANSI* CL厨親父にしか思えない人が多い気がする。
- 244 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 08:34:53 ]
- gauche で cons, list に nil 渡すとエラーになる。
これは gauche の仕様っていう認識で OK?
- 245 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 08:40:36 ]
- schemeにnilなんてあったっけ?
- 246 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:49:23 ]
- >>245
そもそもないのね。 SICP に書いてあったから、あるのかと思った。
- 247 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 12:01:03 ]
- (define nil '())
- 248 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 14:03:19 ]
- '()や#'(lambda ...)のクオートは省略できる?
というか何故クオートつけるのか分からない…
- 249 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:10:53 ]
- 前者については
Schemeの場合は()は自己評価的でないからクォートしなければならないとR5RSに明記されている 空リストはアトムだから自己評価的だという考え方もできるけど リストだからクォートしなければならないとも考えられる。 個人的には自己評価的のほうが自然だと思えるけど。 CLなら自己評価的だからクォートしなくてもいい。 後者については CLの場合はクォートしない(lambda ...)はlambdaマクロとして評価されて #'(lambda ...)に展開される。(らしい。CLはよく知らない) #(...)もCLだと自己評価的、Schemeだとクォートしなければならないけど 自己評価的でいいのに。
- 250 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:39:52 ]
- なるほどありがとう
色々弄ってたら酷い例を見つけてしまった (flet ((function (x) x)) #'(lambda (x) x))
- 251 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:43:34 ]
- >>249
をいをい。#(...) は配列だぞ。#' でひとかたまり。
- 252 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 18:57:53 ]
- >>251
違う話だからパラグラフを分けたのに><
- 253 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 20:07:52 ]
- 適当な接続詞も入れればよかったね
- 254 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 20:25:28 ]
- ちなみにとか
- 255 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 20:40:14 ]
- いや普通わかるだろw
- 256 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:40:53 ]
- いまさらだけど”空リストはアトムだから自己評価的”って
シンボルの例があるから妙な主張でしたね Schemeの場合#'が(syntax ...)に展開される処理系もあるってことも最初書いてたんだけど さすがにこの話ではないと思って削って ついでに#(...)の段落を足したんでした どこかでCLにおける#()は(vector ...)に展開される入力マクロだからクォートしないって見たような気がするけど 違いますよね?
- 257 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:46:40 ]
- CLにおける#()は入力マクロだけど、そういう話とは別に配列というもの
自体が自己評価的。つまり、何度 eval しても変わらない。
- 258 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:44:50 ]
- >>243
トークショーでの黒田さんのツッコミ能力はすごいぞ。その点期待はずれなのが小飼弾だ。
- 259 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:46:52 ]
- それって的確な突っ込みがビシバシ来る感じ?
|

|