[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 23:20 / Filesize : 244 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【入門】CommonLisp【質問よろず】



1 名前:デフォルトの名無しさん mailto:sage [04/11/25 21:48:56]
lispを触ってみたい入門者のQ&A
初心者のQ&A
本スレでは恥ずかしくて聞けない人のQ&A
本スレは高度すぎて割り込めない人のQ&A
linuxでなくてwindowsでやりたいんですが・・・Q&A
lispを使用してC#やJAVAの代替にするための方法(おまけ)

ま、ゆっくりたりましょう。

「いいものの本質は、いかなる時代においても変わらない」byパワーズ

348 名前:デフォルトの名無しさん mailto:sage [05/03/05 19:11:19 ]
>schemeな人が「Lisp?(プゲラ」みたいなことよく言ってるけど、
どこで言ってたのか教えてくれよ(プゲラ

349 名前:デフォルトの名無しさん mailto:sage [05/03/05 20:39:24 ]
正直言って Scheme の define-syntax はいまいち馴染めん。
call/cc も catch/throw で代用できるケースしかあまり使わない。
(そうでないケースで使うと極端に効率の悪い処理系もある)
srfi の実装も結構まちまちで、ポータビリティを考えると結構めんどくさい。

ってなわけで、最近は Scheme より Common Lisp を使うことが多いね。

350 名前:デフォルトの名無しさん mailto:sage [05/03/05 23:32:23 ]
Lisp と Scheme を比較って、意味がわからんぞ。

Lisp
 +- Common Lisp
 +- Scheme
 +- Emacs Lisp
 +- その他の Lisp 方言
 :

351 名前:デフォルトの名無しさん mailto:sage [05/03/05 23:48:15 ]
LOOPマクロが嫌いな奴はみなSchemeに流れたよ

352 名前:デフォルトの名無しさん mailto:sage [05/03/06 00:01:58 ]
>>350
このスレの流れは >>335 から派生しているのだよ。

353 名前:デフォルトの名無しさん mailto:sage [05/03/06 00:40:06 ]
>>351
あぁ、あれか。あれは Common Lisp 派の漏れでも醜いなと思う。
CLtL2 を読んだとき目を疑ったよ。Common Lisp の汚点だ。w
漏れ的にはループは do がデフォかな。loop は無条件繰り返しのときだけ使う。

354 名前:デフォルトの名無しさん mailto:sage [05/03/06 00:44:47 ]
>>349
CommonLispにだってperlやrubyみたいな単一の実装があるわけじゃないんでしょ?
だったらポータビリティの問題はschemeとかわらないんじゃない?


355 名前:デフォルトの名無しさん mailto:sage [05/03/06 00:54:25 ]
んなこたあない

356 名前:デフォルトの名無しさん mailto:sage [05/03/06 00:57:40 ]
>>354
Common Lisp なら言語で定義されている範囲で済むことでも、Scheme の場合は
ちょっとした便利関数でも R5RS では定義されてないから結局 SRFI のお世話に
なってしまう。そのときの処理系間のばらつきが割と大きいように思えるということ。
別に Scheme が嫌いなわけじゃないよ。念のため。



357 名前:デフォルトの名無しさん mailto:sage [05/03/06 01:26:26 ]
Schemeってモジュールやオブジェクト指向といった、現代のプログラミングでは
欠かせない重要なことすら処理系依存じゃん。
そういうのは嫌なとこだよね。

358 名前:デフォルトの名無しさん mailto:sage [05/03/06 06:10:36 ]
SRFIでライブラリの標準化を進めるのはいいが、
定義された関数仕様が気に入らない
マクロ覚えたて厨が考えたみたいなマクロとか、
どこぞの処理系の実装そのまんまとか

ところで、ここはCommonLispスレじゃなかったのか

359 名前:デフォルトの名無しさん mailto:sage [05/03/06 11:49:49 ]
まぁ対比することで Common Lisp の良さが見えてくることもあるからいーじゃない。

360 名前:デフォルトの名無しさん [05/03/06 20:03:24 ]
ところでおまいらどの処理系使ってる?
ちなみに漏れは CLISP だが。

361 名前:デフォルトの名無しさん mailto:sage [05/03/06 20:27:09 ]
ACL trial

362 名前:デフォルトの名無しさん [05/03/06 22:20:39 ]
やっぱりemacsかな
日本語とデバッガと独自関数の便利さから。
しかしcommon lispと結構違うのが痛い。
日本語と環境(デバッガ)とフリーという三つの条件入れるとこれしか選択肢ないんだよな。
Schemeは全滅。

363 名前:デフォルトの名無しさん [05/03/06 22:51:10 ]
>>362
最近の CLISP は GNU libiconv 使ってて国際化は結構充実しているっぽいよ。
clisp.cons.org/impnotes/encoding.html

364 名前:デフォルトの名無しさん mailto:sage [05/03/07 05:40:28 ]
clispいい。
eclipseみたいな環境があればもっといい。
エディタは飽きた。

365 名前:デフォルトの名無しさん mailto:sage [05/03/07 09:20:21 ]
CommonLispではまともなのはCLISPしか選択肢ないよな。
環境が多少悪いかもしれないけどこれしかないんだから
我慢するしかない。

366 名前:デフォルトの名無しさん mailto:sage [05/03/08 06:21:06 ]
そうか、CLISPはIDEがないのか。
JAVAでさくっと作ってみるかな。。。



367 名前:デフォルトの名無しさん mailto:sage [05/03/08 12:36:51 ]
こんなのどーだ。使ったことないけど。
ciapek.uci.agh.edu.pl/~kwlodarc/VisualCLisp/en.htm

368 名前:デフォルトの名無しさん mailto:sage [05/03/08 20:00:20 ]
>>367
使ってみたけど、なんか意味あるのかこれ?
デバッガと言ってもインタプリタがそのまま出てきただけだったぞ。

369 名前:デフォルトの名無しさん mailto:sage [05/03/08 20:10:19 ]
SLIME じゃダメですかね

370 名前:デフォルトの名無しさん mailto:sage [05/03/08 20:31:32 ]
Lispがそんなに生産性高いならIDEくらいさっさと作れるはずだな。

371 名前:デフォルトの名無しさん mailto:sage [05/03/08 20:41:17 ]
slimeってclispで動いたっけ??

372 名前:デフォルトの名無しさん mailto:sage [05/03/08 20:53:58 ]
>370
ACLはACLで出来ている

373 名前:デフォルトの名無しさん mailto:sage [05/03/08 21:16:10 ]
>>371
% ls swank*.lisp
swank-abcl.lisp swank-lispworks.lisp
swank-allegro.lisp swank-loader.lisp
swank-backend.lisp swank-openmcl.lisp
swank-clisp.lisp swank-sbcl.lisp
swank-cmucl.lisp swank-source-path-parser.lisp
swank-gray.lisp swank.lisp


374 名前:デフォルトの名無しさん mailto:sage [05/03/08 21:56:04 ]
clisp 使えても iso-8859-1 決めうちじゃなあ。

375 名前:デフォルトの名無しさん mailto:sage [05/03/09 02:21:04 ]
emacs系が統合環境なんじゃないの?

376 名前:デフォルトの名無しさん mailto:sage [05/03/09 16:07:21 ]
>>371
サポートするってかいてあるけど。ttp://common-lisp.net/project/slime/



377 名前:デフォルトの名無しさん mailto:sage [05/03/09 22:41:11 ]
>>367のエディタで改行して自動でインデントが付かないのは
俺だけか・・・?
微妙に使いづらいな。

378 名前:デフォルトの名無しさん mailto:sage [05/03/09 22:46:23 ]
忘れたころにLOOPマクロマンセー、と書いてみる。漏れは結構好きで使いまくりだ。

379 名前:353 mailto:sage [05/03/09 22:59:16 ]
>>378
そうか。醜いとか汚点とか書いて悪かった。許してくれ。

380 名前:デフォルトの名無しさん mailto:sage [05/03/09 23:25:15 ]
loopも典型的で簡単な使い方をする分にはいいんじゃないの。

381 名前:378 mailto:sage [05/03/09 23:52:10 ]
そうくるとは思わなかったな。何でLOOPなんか使うんだゴルァと叩かれると思ってた。
Common Lisp使ってる時点で異端扱いなので変な目で見られるのは慣れてるのだ(w
でもあのレベルのマクロを皆が好き勝手に作り始めたらポータビリティどころの騒ぎじゃ
なくなるような気はする。

382 名前:デフォルトの名無しさん [05/03/10 06:13:09 ]
emacsのlisp-modeのインデントが

(if predict
□□a
□b)

こうなるんだけど、scheme-modeみたく

(if predict
□□a
□□b)

のように出来ないんディスカー?

383 名前:デフォルトの名無しさん mailto:sage [05/03/10 07:05:10 ]
できる。というかわざわざ前者のようになってるわけだが……。
(put 'if 'lisp-indent-function nil)


384 名前:デフォルトの名無しさん mailto:sage [05/03/10 07:09:41 ]
>>383
ありがとう。
前者のようになっている理由は?

385 名前:デフォルトの名無しさん mailto:sage [05/03/10 08:25:07 ]
>>381
何でLOOPなんか使うんだゴルァ


LOOPみたいな独り善がりマクロがある限り
CommonLispに発展はない

386 名前:353 mailto:sage [05/03/10 11:20:48 ]
>>381
マイナな中でさらに細かい流派を作って、いがみあってもしょうがないからね。
なるべく寛容になるようにしている。w
複雑なLOOPマクロを書けと言われたらちょと困るけど、読むくらいならなんとかなるし。
(たぶん、、、)



387 名前:デフォルトの名無しさん mailto:sage [05/03/10 16:19:01 ]
>>384

lisp: (if COND THEN ELSE ...)
scheme: (if COND THEN ELSE)

388 名前:デフォルトの名無しさん mailto:sage [05/03/10 21:50:33 ]
え、それって理由になってるの?

389 名前:デフォルトの名無しさん mailto:sage [05/03/10 23:04:31 ]
おそらく、理由なんだろうな。
elseが複数あるからってことでしょ?

まあ、だからってなんでaだけ下げるんだという疑問はまだ残るが。

390 名前:378 mailto:sage [05/03/10 23:13:10 ]
>> 385
前半の前提と後半の帰結の関係がさ〜っぱりわからん。理論立てて説明してみ。

LOOPマクロが繰り返し構造に特化したDSLの様相を呈しているという点で独り善がり
という感想を持つのは理解できなくもないが(しかし委員会で承認され規格化されて
いるという点で独善ではありえない)、その存在とCommonLispの発展とに何の関係が?

391 名前:デフォルトの名無しさん mailto:sage [05/03/10 23:35:25 ]
>>389
>elseが複数あるからってことでしょ?

ええー
述語ひとつに対してTHEN節とELSE節の他に、
ELSE1…ELSEn節があるって論理的におかしくないか?

392 名前:デフォルトの名無しさん mailto:sage [05/03/10 23:48:24 ]
Scheme での (if COND THEN (begin ELSE1 ELSE2 ...)) を伝統的 Lisp では
(if COND THEN ELSE1 ELSE2 ...) と書けるってこと。

393 名前:353 mailto:sage [05/03/10 23:52:58 ]
>>387
ええーーーっと思って確かめたけど、Common Lisp は複数の else 句を取れないよね。
初めて知ったが emacs lisp は確かに複数の else 句が取れるんだな。
別に論理的におかしいとまでは思わないけど変わった仕様だね。

394 名前:デフォルトの名無しさん mailto:sage [05/03/10 23:54:48 ]
2個目以降がもったいないから利用しちゃおうという感じか?
わざわざprognとかでネスト深くする必要がないように。

395 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:20:22 ]
>>394
それって、括弧の存在、如いてはS式そのものを否定することにならないか?
Lisperは、括弧を惜しみなくばら撒くもんだとばかり思ってたよ。

396 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:36:07 ]
そんなおおげさな
(+ 3 (+ 1 (+ 4 (+ 1 5))))
だって
(+ 3 1 4 1 5)
と書けるじゃないか

だからといってどうといったことはない





397 名前:デフォルトの名無しさん mailto:sage [05/03/11 04:09:39 ]
括弧の帆を広げて
順風満帆といきたいねえ

398 名前:デフォルトの名無しさん mailto:sage [05/03/11 04:29:34 ]
実益と実害を全く無視して括弧を好むのは本末転倒。

399 名前:デフォルトの名無しさん mailto:sage [05/03/11 04:39:32 ]
((i))

400 名前:デフォルトの名無しさん mailto:sage [05/03/11 12:40:30 ]
>>387
ちなみに Common Lisp は scheme と同じ (if COND THEN [ELSE]) なわけだが、
ELSE を複数書ける Lisp って Emacs Lisp 以外にあるの?

401 名前:デフォルトの名無しさん mailto:sage [05/03/11 12:50:25 ]
よくわからんが、>>392によると、伝統的Lispでは大体そうなんじゃないの。
つまり、MacLispとか?なんか昔はいろいろなLispがあったらしいし。

CommonLispはSchemeの影響もかなり受けてるしな。
最近のLispがELSE一つなんじゃないかと。

402 名前:デフォルトの名無しさん mailto:sage [05/03/11 13:17:30 ]
>>401
MacLisp には if は無かったみたい。
zane.brouhaha.com/~healyzh/doc/lisp.doc.txt
Common Lisp 以前の「伝統的なLisp」では if よりも cond が基本だったし、ELSEが複数
書けるというのは Emacs Lisp のローカルルールではないかと思うのだが。

403 名前:デフォルトの名無しさん mailto:sage [05/03/11 16:11:16 ]
MIT Lisp Machine では ELSE を複数書けたよ。
www.bitsavers.org/pdf/mit/cadr/
Symbolics でも同様だったと思う。

404 名前:デフォルトの名無しさん [05/03/12 02:27:01 ]
On Lispを読んでてクロージャの説明のところで

(let ((counter 0))
 (defun inc ()
  (setq counter (+ counter 1)))
 (defun reset ()
  (setq counter 0)))

こういう内部状態を持つ関数の話が出てきて、Schemeに書き換えようと思ったんだけど
defineはlet式の内部で使っても外から見えないから、
上のCommon Lispの例のdefunをdefineに書き換えただけじゃうまくいかない。
Common Lispの例みたいに共通の環境情報にアクセスできる複数の関数の上手い書き方ってないかな。

(define count
 (let ((counter 0))
  (lambda (option)
   (if option
       (lambda ()
        (set! counter (+ counter 1)))
       (lambda ()
        (set! counter 0))))))

(define inc (count #t))
(define reset (count #f))

これじゃちょっと格好悪いよね…

405 名前:デフォルトの名無しさん mailto:sage [05/03/12 03:12:31 ]
(define inc #f)
(define reset #f)
(let ((counter 0))
(set! inc (lambda () (set! counter (+ counter 1))))
(set! reset (lambda () (set! counter 0))))

406 名前:デフォルトの名無しさん mailto:sage [05/03/12 05:31:54 ]
(define-values (inc reset)
(let ((counter 0))
(values (lambda () (set! counter (+ counter 1)))
(lambda () (set! counter 0)))))




407 名前:デフォルトの名無しさん [05/03/17 09:14:18 ]
本スレではLISPの普及に腐心してるようだ(主にドキュメントみたいだけど)
で、このスレ的にはLISPで何が出来ればいいのだろう?
サーバサイド、DB、XMLや、環境としてWindowsで、こんなところなのだろうか?

408 名前:デフォルトの名無しさん mailto:sage [05/03/17 13:09:54 ]
LISPと言えば人工知能に決まってるじゃないか

409 名前:デフォルトの名無しさん mailto:sage [05/03/17 14:41:00 ]
>408
ワロタw
人工知能にすら使えるほどの高級言語なら、業務システムを記述する
ことは易い。

410 名前:デフォルトの名無しさん mailto:sage [05/03/17 20:22:18 ]
>>409読んで、最高に頭悪そうな発言してくださいスレ
かと思った。

411 名前:デフォルトの名無しさん mailto:sage [05/03/17 23:55:46 ]
Lispで人工知能を作って、それに業務システムを作らせるのが真のLisperだ。

412 名前:デフォルトの名無しさん mailto:sage [05/03/17 23:59:03 ]
>>411
それだ!

413 名前:デフォルトの名無しさん mailto:sage [05/03/18 01:44:25 ]
ASDFの記述でLisp以外のコードの扱いをどう書いたらいいかとか分かるようなサンプル
誰か持ってない? ただアーカイブぶちまけてconfigure, make, make installする
だけなんだけも。ASDF慣れちゃうとmakeが面倒になってきくるけど、Lispオンリーで済む
状態でなくなったときにふとどうしたものかと悩んでしまう今日この頃。

414 名前:デフォルトの名無しさん mailto:sage [05/03/18 05:40:36 ]
ASDFの中でmakeするやつっていくつかあるよ。
でも中のmakefileがLinuxに依存したものになってる場合があって
辟易するんだよなー。Makefileの書式とかコマンドのパスとかさ。
署名前提だから適当に手元で改変して食わせるというのもちょっと手間がいるし。

というわけで例としてはUFFIがあるけど上記の点をよろしくおながいしますm(_ _)m

415 名前:413 mailto:sage [05/03/20 00:34:40 ]
>>414
サンクス。uffi-tests.asd非常に参考になりました。
ってか自分でASDFのソース読みながらこんな使い方でいいのかな思いながら書いてた
ところに上の情報もらったんで、結果的に他の人の使い方も見てダブルチェック。
自分で好きなようにカスタマイズできてASDFって実にイィ!!ですね。

署名前提ってのはasdf-installのことだよね。cCLan最近見てないけど変化あった?

416 名前:デフォルトの名無しさん mailto:sage [05/03/20 00:49:04 ]
Gauche 0.8 + FreeBSD4.9だが日本語を受け付けてくれないyo!!

gosh> "日本語"
*** ERROR: unhandled signal 2 (SIGINT)
Stack Trace:
_______________________________________



417 名前:デフォルトの名無しさん mailto:sage [05/03/20 00:53:03 ]
ところでここSchemeの話題っていいの?

418 名前:デフォルトの名無しさん mailto:sage [05/03/20 00:54:04 ]
>>416
受け付けてくれるyo!!
% gosh -V
Gauche scheme interpreter, version 0.8.3 [euc-jp]
% gosh
gosh> (string-length "はげ")
2

419 名前:デフォルトの名無しさん mailto:sage [05/03/20 17:52:38 ]
>>407
common lisp emacs

# 需要は、それなりにあるんじゃないかな。
# hemlockは、あまり、うまくいってないようだし。

420 名前:デフォルトの名無しさん [2005/03/25(金) 01:36:49 ]
xyzzyでXMLを扱えるコンポーネントって何かあります?

421 名前:デフォルトの名無しさん [2005/03/25(金) 09:22:09 ]
> lispを使用してC#やJAVAの代替にするための方法(おまけ)

どうやんだよ?

422 名前:デフォルトの名無しさん [2005/03/25(金) 09:24:05 ]
gosh> (string-length ">>418 氏ね")
8

423 名前:デフォルトの名無しさん [2005/04/09(土) 13:53:42 ]
clispで定義された
(defun func()(print "func"))->func
という適当な関数を定義してバイトコンパイルしたものを
VC++から呼び出すとか出来ます?パイプでもなんでもいいんですが、
出来ますか?


424 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 18:12:46 ]
できますよ。

425 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 18:28:35 ]
clispって住み心地いいですよね。


426 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 18:29:23 ]
住むところを間違えてます



427 名前:デフォルトの名無しさん [2005/04/09(土) 20:48:02 ]
>>424
やり方を教えておくれ、詳しく、たのむ

428 名前:デフォルトの名無しさん mailto:sage [2005/04/09(土) 21:26:49 ]
clispのマニュアルに詳しくかいてあるよ

429 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 00:43:55 ]
LispからCの関数を呼ぶ例しか書いてない・・・

430 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 02:35:07 ]
おんなじことだろ

431 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 12:30:06 ]
同じか?
いまいちわからんな〜

432 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 14:52:56 ]
文字列で渡す方法とかあるんじゃないの?

clisp_eval_string("(eval '(hello world))");

みたいなやつ。

433 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 15:35:00 ]
system("clisp < tmp_in > tmp_out");
みたいにやればいいじゃん。pipe使えばさらにかっこいいぞ。

434 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 15:41:28 ]
ちょいと、C++からCLISP関数を呼ぶコードを見せておくれでないかい。
リファレンス参照したが、どうにも解らん。たのむよ〜

435 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 17:18:43 ]
>>433

436 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 19:16:55 ]
いわれてみれば、そうだな。
ありがとう、ちょっとやってみるよ。

目標はJAVAから呼ぶこと。



437 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 23:55:31 ]
String command = "lisp.exe";
Process process = Runtime.getRuntime().exec(command);
InputStream is = process.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(is));


String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
clispを呼び出すまではできたんだけどね、出力する方法が分からん。
(当初の目的は、単純にclispの関数を呼び出すだけだったんだけどな〜)

438 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 00:05:10 ]
>>437
(ちょっとスレ違いになるが)
process.getOutputStream() して取得したストリームに書き込めば、それがlisp.exeの
標準入力になる。やはりBufferedWriterをかぶせるのが良いがflushを忘れぬようにな。

439 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 19:31:51 ]
テストフレームワークって何使ったる?
ptester が手軽でいいなと思うんだけど。

440 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 21:56:48 ]
自前のもの。



441 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 22:05:51 ]
Lispだと5分くらいで作れちゃうから、ついつい自前のを作ってしまうのでした。

442 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 22:33:32 ]
やっぱ自前ですか。
最近出版された Practical Common Lisp の中でも数十行で作ってたからな。
でも、 Common なテストフレームワークが欲しくないですか?


443 名前:デフォルトの名無しさん mailto:sage [2005/04/19(火) 20:25:56 ]
これ以上Commonを大きくするのは嫌です

444 名前:デフォルトの名無しさん [2005/04/24(日) 20:53:29 ]
jlinkerってjavaからLispを呼ぶときってどうやるの?
いまいち使い方が分からん。

445 名前:デフォルトの名無しさん [2005/04/25(月) 06:56:03 ]
jlinkerもjilもサンプル通りにやっても動きゃしない。
疲れた。寝る。

446 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 20:30:59 ]
Soft Bank Common Lisp 0.9.0リリースあげ。
ちょっと古いけどslime 1.2あげ。



447 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 21:49:16 ]
>>446
こらこらこら。捏造イクナイ。ところで、あがってないよ。



448 名前:デフォルトの名無しさん mailto:sage [2005/04/25(月) 23:01:36 ]
>>447
sourceforge.net/project/showfiles.php?group_id=1373&package_id=1354&release_id=322932

common-lisp.net/project/slime/






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef