Lisp Scheme Part18
..
237:デフォルトの名無しさん
07/09/30 16:08:00
>>215
>LISPで2chツール(ブラウザ他)作ったら人気出ると思うんだ。
まずこの仮定が間違ってるから仕方がない。
238:デフォルトの名無しさん
07/09/30 16:13:43
LISPerはプログラムは作ってもアプリは作らない
239:デフォルトの名無しさん
07/09/30 18:34:50
>>238
!!!
240:デフォルトの名無しさん
07/09/30 18:40:57
処理系作りで忙しいから応用には興味がないとかw
241:デフォルトの名無しさん
07/09/30 19:21:17
言語の乗り換えの契機になるようなアプリって何だろうね。
Rails は Ruby 書く人を (たぶん) 増やしたのだろうけど、
それは、今の時代の空気 (「WEB2.0」だの「アジャイル」だの) に
良く合っていたからかな。Rails はアプリじゃないが。
次の時代の空気を先取りする Lisp 製アプリ
242:デフォルトの名無しさん
07/09/30 19:26:33
を、俺が作ろうと思っている。ちょっとまちなー
243:デフォルトの名無しさん
07/09/30 19:26:52
アプリが増えても書く人は増えないな。やっぱフレームワークですよ。
魔法のようなやつだれか作ってくれ。
244:デフォルトの名無しさん
07/09/30 19:28:18
47氏キター!
245:デフォルトの名無しさん
07/09/30 19:30:35
記念真紀子age
246:デフォルトの名無しさん
07/09/30 19:30:53
schemeがどこまでできるのかわからん・・・
組み込み関数のリファレンス的なページないですか><
247:デフォルトの名無しさん
07/09/30 19:52:00
ocamlとかhaskellなら開発効率が全然違うって話だけどね。
pugsとかいうperl6の処理系を作った大学生はhaskellの勉強から3ヶ月でpugs完成させたっていうけど。
俺は3ヶ月じゃhaskell使いこなせ無さそうだし。
248:デフォルトの名無しさん
07/09/30 20:13:07
Haskellから得るものは大きいが
Lispから得たものはないと言ってみる
249:デフォルトの名無しさん
07/09/30 20:25:27
>>246
ここに全部書いてあるよ
URLリンク(www.r6rs.org)
250:デフォルトの名無しさん
07/09/30 20:30:48
個人的な感覚では、ocamlは型にうるさいschemeって感じだけど、
haskellは全然別物って気がしてる。
haskellは入門書を読んで、ちょろちょろ書いてみる程度しか知らないが。
251:デフォルトの名無しさん
07/09/30 20:41:40
R6RSでたんだ。知らなかったよ。
どこが変わったのかな・・・
252:デフォルトの名無しさん
07/09/30 21:17:23
REPL が無くなったんだっけ? >> R6RS
253:デフォルトの名無しさん
07/09/30 23:12:29
WindowsのUIがまともに使えるLispってACL以外にあるのけ?
254:デフォルトの名無しさん
07/09/30 23:31:48
>>253
>>180
255:デフォルトの名無しさん
07/10/01 00:15:59
つ LispWorks
256:デフォルトの名無しさん
07/10/01 00:21:12
分散処理のライブラリを書いてたらLispっぽくなってきた
/( ^o^ )\なんてこったい
257:デフォルトの名無しさん
07/10/01 00:29:05
>>254
Corman、日本語扱えるようになったの?
258:デフォルトの名無しさん
07/10/01 00:42:12
日本語っつーかunicode対応してないの?
259:デフォルトの名無しさん
07/10/01 00:52:46
>>256
グリーンスパンの(ry
260:デフォルトの名無しさん
07/10/01 01:26:32
>>249
dクス!
261:デフォルトの名無しさん
07/10/01 19:53:54
なんで誰も>>204に「“一寸”ですよ」と教えてあげない件
262:デフォルトの名無しさん
07/10/02 00:32:38
宣言的という事がよくわかりません。どうしたらいいですか。
タコな質問ですみません。
263:デフォルトの名無しさん
07/10/02 03:01:18
処理の手順を書くのは手続き型言語で良いんだけど
その中でも、何かを求める式を考えるときは Scheme を使う俺
手続き型言語で複雑な式は考えたくない
264:デフォルトの名無しさん
07/10/02 22:06:16
しっかしLispってマイナーだよね…
誰も知らんぞ
265:デフォルトの名無しさん
07/10/02 22:13:15
どんなとこに居るんだよw
266:デフォルトの名無しさん
07/10/02 22:30:38
>>264
中学高校のパソ部ですか?ww
267:デフォルトの名無しさん
07/10/02 22:32:52
このつまらない流れは自演なの?
268:デフォルトの名無しさん
07/10/03 00:37:23
しっかしLispってマイナーだよね…
×誰も知らんぞ
○誰も開発に使ってないぞ
269:デフォルトの名無しさん
07/10/03 00:38:27
Lispなら聞いたことあるくらいは言ってもらえる。
Schemeとなると更に知名度下がるけど。
270:デフォルトの名無しさん
07/10/03 00:50:54
俺の周りの奴には一通りプログラミング言語の歴史を説明しておいたから
Lisp を知らない人は居ない。まあ憶える必要の無い言語くらいに思われている
みたいだけど。
271:デフォルトの名無しさん
07/10/03 01:11:04
これを見せればOK\(^o^)/
URLリンク(www.asahi-net.or.jp)
272:デフォルトの名無しさん
07/10/03 01:13:30
URL切れちゃった/(^o^)\
URLリンク(www.asahi-net.or.jp)
273:デフォルトの名無しさん
07/10/03 01:20:20
次からテンプレに貼ります。
274:デフォルトの名無しさん
07/10/03 01:23:52
>>272のリンクにあるみたいにLispがそんなにすげーなら
なんで>>268みたいなことになるんだ?
逆に言えばLispって誰も使わないってことは…
275:デフォルトの名無しさん
07/10/03 01:35:13
Lisperはジェダイかニュータイプなんだよ。
276:デフォルトの名無しさん
07/10/03 01:39:46
>>274
凄すぎて普通程度の脳みそだと使いにくいってことじゃね?
277:デフォルトの名無しさん
07/10/03 01:52:47
>>274
Lisperは一向に完成する見込みのない「LISP以上の何か」を作るのに忙しい
278:デフォルトの名無しさん
07/10/03 08:10:41
マジレスすると、仕事でプログラムやってる奴の
ほとんどは仕事として淡々と与えられたものを使っているだけ。
プログラム自身に興味がある奴はごく一部。
279:デフォルトの名無しさん
07/10/03 08:24:13
programing言語を選択する managerには有り難味がわからない言語だからな。
280:デフォルトの名無しさん
07/10/03 08:43:56
Lispの凄さが真実なら、マネージャーにはすげーありがたい話だろ。
でも誰も使わないっていうんはつまりそういうことなんじゃね?
281:デフォルトの名無しさん
07/10/03 08:45:01
なんで日本政府は一般的にもっと教育、啓蒙しなかったのかな。
その尻拭いに日本政府が金出して安い開発環境作れよ\(^Λ^)/
Allegro高いから買えないんだよ/(^Λ^)\
282:デフォルトの名無しさん
07/10/03 08:46:45
頭のとんがったマネージャーが悪いんだなw
283:デフォルトの名無しさん
07/10/03 08:55:47
啓蒙しようとして先行き過ぎて第5世代がこけちゃったんだよ。
それにちゃんと国のお金で Kyoto Common Lisp (aka GCL) をつくってるじゃん。
284:デフォルトの名無しさん
07/10/03 08:59:37
そうでしたか。すみません\(^λ^)\
285:デフォルトの名無しさん
07/10/03 10:17:54
r5rs→r6rsのdiff解説ページありますか?
286:デフォルトの名無しさん
07/10/03 10:19:28
URLリンク(practical-scheme.net)
287:デフォルトの名無しさん
07/10/03 11:21:28
>>280
つまりそういうこと。
たまたま巡り合わせで一緒に仕事してるだけの玉石混合の面子の中に、
「全員が使いこなせること」を期待して投入できる言語じゃないんだな。
だからマネージャーにはLispは選べない。ほぼ全員が「できる奴」である稀な場合を除いて。
マネージャーに選んでもらえるように作られたJavaあたりとは、そのへん対極だね。
288:デフォルトの名無しさん
07/10/03 18:34:43
"Common Scheme"キタコレ
289:デフォルトの名無しさん
07/10/03 21:40:00
質問させてください。
gaucheでマクロを展開した結果を確認したいのですが、
macroexpandで完全に(展開できなくなるまで)展開されません。
例えば
(define-syntax my-let
(syntax-rules ()
((_ () . body)
(begin . body))
((_ ((var expr) . binds) . body)
(let1 var expr (my-let binds . body)))))
(macroexpand '(my-let ( (b 3)) (list a b)))
;;=> (#<identifier gauche#let> ((b 3)) (#<identifier user#my-let> () (list a b)))
という感じです。my-letが1段階しか展開されません。
完全に展開した結果を得るにはどうしたらよいのでしょうか?
290:デフォルトの名無しさん
07/10/03 22:14:15
>>287
しかしできない奴はとことんできないので、言語はあまり関係ないかも。
言語よりも開発を進めやすいツール・環境を整えられるかが大事だと思った。
そういう意味でJavaは選ばれやすいかもしれない。
Lispにチーム開発向けのツール類ってあるのかな。
291:デフォルトの名無しさん
07/10/03 22:20:24
Lisp信者が言うほどにLispが優れてるって証拠が出て来ないんだよね。
俺たちはLispが最高だって信じてるぜ!って話しでいいならそれでいいけど。
292:デフォルトの名無しさん
07/10/03 22:22:46
自分の周囲を一般化しすぎなんだろう…。
米軍とかスピンアウトしたロボティクス企業とかはいまだに使ってるし、
ちゃんとその手のエンジニアを募集している。
A. 自分の周囲でだれも使ってない → 世間でだれも使ってない
B. 自分の周囲ではマニアが趣味でやってる → 世間でもマニアしか使ってない
は飛躍しすぎだろう。人数ベースでいえば Java より使われていない事は事実だけど、
コンパイラメーカーがやっていける程度の需要はあるってこと。
293:デフォルトの名無しさん
07/10/03 22:23:16
勉強もしないでうわべだけ知ってるつもりになりたいだけならあきらめたほうがいいよ
294:デフォルトの名無しさん
07/10/03 22:30:56
>>291
別に優れてはいないと思うよ。自分で好きにいじくれるところが好きなんであって、
1. 速度ではアセンブラや C でチューニングしたものには劣る
2. 文字数単位での表記の簡潔さやライブラリの充実度では LL 言語よりすくない
3. ユーザー数は C/C++/Java/LL言語 あたりよりすくない
あたりなら大抵の Lisper/Schemer なら認めるところだろう。
少なくとも俺が Lisp をやめらんないのは自由さ、それだけが理由。
師匠の受けうりだが、他にもっといい言語や表記方法があれば速攻乗りかえるよ。
295:デフォルトの名無しさん
07/10/03 23:42:54
そのマイナー言語で何が達成されたのか?
その自由な言語で何が達成されたのか?
新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。
Java,C++はいろんなところでたくさんの人の役に立ってる。
Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。
じゃあLispは一体何をもたらしたんだ?
296:デフォルトの名無しさん
07/10/03 23:44:35
>>289
macroexpandはよくわからんが、
そのマクロ自体がR5RS的には変じゃね?
(define-syntax my-let
(syntax-rules ()
((_ () body ...)
(begin body ...))
((_ ((var expr) binds ...) body ...)
(let1 var expr (my-let (binds ...) body ...)))))
たぶん、この辺の話題と絡んでくると思う。
URLリンク(practical-scheme.net)
なんか俺もあんまり理解できてないので詳しい人の見解が聞きたい。
297:デフォルトの名無しさん
07/10/03 23:48:00
本気で逝ってるの?釣り?
298:デフォルトの名無しさん
07/10/03 23:53:35
>>295
釣り師いいかげんうざいよ。それとも本気?
本気で知りたいならまず1年Lispを使ってみな。
残念ながらここは面接室じゃないんだよ。
299:あえてつられてみよう
07/10/03 23:59:34
>そのマイナー言語で何が達成されたのか?
我々のプロジェクトのプロトタイプをクライアントに承認させるに十分な性能を短期間で叩き出した
>その自由な言語で何が達成されたのか?
同上
>新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。
小僧の人生経験なんか知ったことか
>Java,C++はいろんなところでたくさんの人の役に立ってる。
それを否定した事はいちどもねぇよ
>Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
LLが役に立つ分野を否定した覚えもないが?
>同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。
それがどうした?
>じゃあLispは一体何をもたらしたんだ?
生まれてから今までいくつネタを提供したとおもっているんだ?
だいたいマジな理由なら最初に答えたよ。
300:デフォルトの名無しさん
07/10/04 00:03:33
米軍の兵站システムや軍事シミュレーション、ロボット制御で役に立ってるよ。
過去の実績というなら Prolog、ML、JavaScript、Haskell の実装をもたらした。
あと GUI 統合システムの先駆けで、ガベージコレクション技術を進歩させ、
ファミコン時代の開発環境を提供し、3D-CG 開発環境としてマリオ64などをもたらした。
あと Java 作者の Gosling や Guy L Steel、Java の世界に世代別 GC を導入した David Moon、
Ghostscript の作者 Peter といった分野で貢献してるね。そうか Richard M Stallman がいなけば GNU はなかったので GCC もなかったね。
まぁ、ひたすら難癖をつけるのが目的なんだろうけど…
301:デフォルトの名無しさん
07/10/04 00:06:22
あー有名人の名前を出すとよけい粘着否定したくなるか。300 は忘れてくれ。
302:デフォルトの名無しさん
07/10/04 00:06:52
Lisp を否定する物ではないけど、Lisp は常にプロトタイプの為の言語かもしれない、
とは割と本気で思う。Lisp が解くのは先端の尖った領域の課題で、
一般的に広まるようなものは、きっとLispでは解かれた後に別の言語で
書きなおされるんだろう。
303:デフォルトの名無しさん
07/10/04 00:08:57
Lispは継続的に宣伝してくれるSun並みの規模の企業いないだろ。
まずそれが第一の問題。
304:デフォルトの名無しさん
07/10/04 00:09:20
ていうかマジでもう答でてるよな。
自由で柔軟で強力で、ゆえに「言語の意味と生産性」が使い手の能力の高純度の反映となる言語。
だいたい、多くの人間に等しく効能を与えるタイプの言語じゃないことは散々触れられているのに、
ここに来てまだ
> Java,C++はいろんなところでたくさんの人の役に立ってる。
> Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
みたいな「たくさんの人が使うことがその言語の凄さ」という価値観から来る例をもってくるあたり、
いかに「人の話をまったく聞かずに、誰も俺に答えない誰も俺に答えないと連呼してる」かってのがよくわかる。
305:デフォルトの名無しさん
07/10/04 00:10:59
>>300
有名人云々はともかく、昔GCCをhackしていて、ターゲットアーキテクチャの定義とかがなんか
Lispっぽい言語で書いてあって驚いたことがある。Lisp(的な発想)が無ければあれだけ簡潔に
ポータブルなコンパイラを作るのは難しかったかもしれないね。
306:デフォルトの名無しさん
07/10/04 00:11:46
>>304
たぶんプログラムなんて書いたこともない人なんだろうね。
307:289
07/10/04 00:12:54
>>296
. bodyみたいな使い方は
URLリンク(www.ice.nuie.nagoya-u.ac.jp)
を見て知ったんですが、どうなんでしょう。
define-syntaxはdefine-macroより制約が多すぎてなかなか書けない……
308:デフォルトの名無しさん
07/10/04 00:13:14
>>300
OO, generics, reflectionの世界に果たした貢献も大きい。
今も昔もプログラミング言語の実験場の一つ。
309:デフォルトの名無しさん
07/10/04 00:14:51
一部の人間の宣伝文句の割りにはマイナーなのも事実。
ラテン語みたいなもんかなあ。
310:デフォルトの名無しさん
07/10/04 00:14:59
>>303
だけど、宣伝されて皆が興味を持つLisp、なんてありえると思う?
Lispは永遠にスーパーエンジニアの秘密兵器なんじゃないだろうか。
ま、おれはLispで凄いキラーアプリつくる予定だけど。
311:デフォルトの名無しさん
07/10/04 00:17:35
>>238
312:デフォルトの名無しさん
07/10/04 00:20:05
>>305
RMS の経歴を考えれば妥当でしょ。俺は↓のほうがびっくりした。
URLリンク(lispuser.net)
AoE II 遊んでただけど知らなかったわ。
313:デフォルトの名無しさん
07/10/04 00:22:55
慣れないうちは()の多さに目が疲れる
それを乗り越えれればきっとはまれる
314:デフォルトの名無しさん
07/10/04 00:23:01
KiczalesだってAMOPの中の人だもんなあ
315:デフォルトの名無しさん
07/10/04 00:25:49
最初気になった括弧が、段々ただの「紙の端」くらいにしか思わなくなってくるから不思議だ。
昔の自分は何故、閉じ括弧が連続している部分をあんなに不安げに見つめていたのか、
もううまく思い出せないよ。あんな箇所、全然見る必要無いのにな。
316:デフォルトの名無しさん
07/10/04 00:26:26
>>313
エディタの設定で括弧の色を薄くするという、なんともチープなハックもあるがw
317:デフォルトの名無しさん
07/10/04 00:29:33
ところで括弧の話が出たついでにおまえらに聞くが、R6RSの [ ] ってどう思う?
Lisp慣れてる人は「そんなの要らん」だろうけど、これで少しでも慣れない人に
わかりやすくなるならアリなのかな、とも思うのだが。
318:308
07/10/04 00:30:52
あら、ちょっと探している間にずいぶんと流れてる…
>>307
URLリンク(practical-scheme.net)
って探すのに15分以上かかったのね…
319:デフォルトの名無しさん
07/10/04 00:32:28
工学の為の工学か
320:デフォルトの名無しさん
07/10/04 00:32:39
>>317
おれは関数適用以外の括弧に[]つかうのはアリだと思うけど、
R6RSの投票結果ページにあった反対意見の中には、
処理系独自の拡張用に[]をとっておいて欲しい、というのもあった。
なるほどなあとも思った。
321:デフォルトの名無しさん
07/10/04 00:33:45
独自拡張は#〜使えよ。
322:デフォルトの名無しさん
07/10/04 00:34:28
>>315
その不安感分かるw
そして慣れると段々とカッコが見えなくなってくる。脳での処理方法が変わるんだろうね。
>>317
初心者に何の助けにもならないと思う>>[]
別に()の数が減るわけじゃないし。「異様」なカッコだらけのLispプログラムに、
ちょっと違うカッコ付けたって、普通のプログラムになるわけじゃないし。
323:デフォルトの名無しさん
07/10/04 00:35:35
>>320
確か CLtL にも [ ] を(デフォルトでは)定義しない理由でそんなことが書いてあったな
324:デフォルトの名無しさん
07/10/04 00:35:51
>>317
最小にこだわってたんじゃなかったか?とツッコミたくなるね。[ ] をユーザーに解放しないなんてとんでもない。
つうか define-syntax もよー。チューリング完全ならいいってもんじゃねーだろ。
パターンマッチ + 実用上十分な衝突の回避を defmacro の上に実装してよって思うね。
325:デフォルトの名無しさん
07/10/04 00:38:16
KOKUBANに書ければどうだっていいんだよ
326:デフォルトの名無しさん
07/10/04 00:38:52
>>316
括弧の良さというのは表現の“軽さ”だと思うんだよね。あれ以上シンプルな記号はあまりない。
これが begin 〜 end とか、XMLみたいな表記だったら、仮に論理的に同じこと書けても使い物にならんと思う。
327:デフォルトの名無しさん
07/10/04 00:39:35
その昔スーパー括弧閉じってのがあってですね。
328:デフォルトの名無しさん
07/10/04 00:40:53
>>327
パンチカードでは重宝であったw
329:デフォルトの名無しさん
07/10/04 00:43:13
支援機能つきエディタの発展とともに消えたんだよな >スーパー括弧
330:デフォルトの名無しさん
07/10/04 00:45:52
どんなことがあってもXSLTの再帰関数よりは簡潔です
331:デフォルトの名無しさん
07/10/04 01:25:55
vimですら、対応する括弧が常にハイライト表示なのに、
今時、括弧羅列が見にくいなんてあり得ないわ。
332:デフォルトの名無しさん
07/10/04 02:17:29
本とかで習うとそういう印象なのかもね
333:デフォルトの名無しさん
07/10/04 07:47:34
適切にインデントされてるのとインデントの部分に薄い縦線引いてくれるといいんだけどなぁ。>本
334:デフォルトの名無しさん
07/10/04 10:43:55
>>318
R6RSでそのへんの意味論が決定されたってことは、
R6RS的には後者もOKってことでいいのかな?
335:デフォルトの名無しさん
07/10/04 10:45:33
S式に対する意味論だからそうだね。
まあ以前でも . 使えない実装の方が珍しかっただろうけど。
336:デフォルトの名無しさん
07/10/04 12:56:53
C系から来た人間には、閉じ括弧を纏めちゃうのも疑問だったよ。
閉じ括弧は一つ一つ書いた方が判りやすいのに、って。
実際最初はそうやって書いてた。
今は閉じるのが楽だし慣れたけど。
337:デフォルトの名無しさん
07/10/04 13:57:22
まっとうなインデントの為されたソースなら、何がどう書いてあっても
(hoge (fuga ...
(hage (higii 10 ...
(ahya ...
(pugera ...
このあたりの形で「骨組みの把握」は済んじゃうんだよね。「右っかわ」は殆どディテール専門。
だから閉じ括弧を纏めたほうがスッキリなんだろうな。
もちろん極論だけど、閉じ括弧はリーダが構造を捉える為のものであって、人間が構造を捉える為の
ものではない、という感じ。
これ、Pythonソースの見方に近いのかな? Python触ったことないけど。
少なくともC系のソースは、同じ「骨組みの把握」をするにも、もうちょっとこう、文のアタマ側とケツ側、
両方からじわじわ捉えていく感覚が必要になる。俺の場合は。
338:デフォルトの名無しさん
07/10/04 14:29:27
パイソンは;等を省略すると、
構文構造を追うものがインデントしかない。
だから構文解析から得た情報で、
正しいインデント処理をエディタに任せる書き方慣れていると、
いろいろと面倒な時もある。
インデントは人間が明示的に行う場面が多くなる。
行末で)や}や;の代りに、次の行でのインデント上げを行う。
339:デフォルトの名無しさん
07/10/04 22:36:18
それが良いんだよ。
340:デフォルトの名無しさん
07/10/05 02:31:10
工学のための工学とか頭悪すぎて笑った。
341:デフォルトの名無しさん
07/10/05 02:51:44
自演乙
342:デフォルトの名無しさん
07/10/05 17:26:29
Lisper/Schemerオナニー見せ合いきめえwwwwwwwwwwwwwwwww
343:デフォルトの名無しさん
07/10/05 19:22:42
オナニーすら出来ない技術者以前の厨が喚いてます
344:デフォルトの名無しさん
07/10/05 22:29:28
R6RSの日本語訳マダー?
345:デフォルトの名無しさん
07/10/06 18:33:04
Common LispでもSchemeでもない俺様Lispって今どれぐらいあるのかな
どこかに一覧無い?
346:デフォルトの名無しさん
07/10/06 18:36:11
いったいどうやってそんな一覧を作るんだよ。
347:デフォルトの名無しさん
07/10/06 18:43:56
そのオレ様リスプ使用者が集まってくれないと作りようがないんだがw
348:デフォルトの名無しさん
07/10/06 19:34:59
俺様リスプをつくるような奴が、一覧をつくるとか、そんな無駄なことをする人間だと思うのか?
349:デフォルトの名無しさん
07/10/06 19:44:43
"俺様"抽出は他の人で
URLリンク(www.dmoz.org)
URLリンク(www.dmoz.org)
350:デフォルトの名無しさん
07/10/06 21:38:29
Lisp処理系の作成って情報系じゃ普通に宿題で出るらしいね
351:デフォルトの名無しさん
07/10/06 21:47:01
たしかにMLで作った気がするなあ。しょぼいやつだったけど。
352:デフォルトの名無しさん
07/10/07 00:03:07
設定ファイルが必要になった->XMLで->なんか項目が増えすぎ->動的変更したくなった->なんかLispみたいになった->どうせならLispでいいじゃん->そのまま製品に
こういう事なら2度あった
353:デフォルトの名無しさん
07/10/07 00:15:29
Lisp使って仕事させてくれるなんて羨ましいな。
俺の会社じゃ絶対無理だ。「Lisp?何それ?それで書くと何人月減るのか証明しろよ」って言われる。
…やっぱschemeで仕事できる会社探すわ。
354:デフォルトの名無しさん
07/10/07 00:55:02
馬鹿だな、こっそり使うんだよ。とんがり頭の上司にバレた頃にはもう手遅れなのだ。
355:デフォルトの名無しさん
07/10/07 02:50:19
見付かったら
「これはXMLファイルですよ。<>の変わりに()を使うのがWeb2.0なんですよ?」
と言えばおk。
356:デフォルトの名無しさん
07/10/07 04:33:50
巡回構造のS式の印字表現(read/writeできる)てありますか?
なんかGaucheでは#なんとか#みたいなのを見た事ありますが、
一般的なんでしょうか。
357:デフォルトの名無しさん
07/10/07 04:35:21
すいません
巡回じゃなくて循環ですた
358:デフォルトの名無しさん
07/10/07 05:55:18
>>356
srfi なので一般的って言っていいんじゃないでしょうか。
URLリンク(srfi.schemers.org)
common lisp 由来ですね。
URLリンク(www.lispworks.com)
359:デフォルトの名無しさん
07/10/07 08:28:49
あ、SRFIにあるんすね。
こういうのって、相互参照してる場合どうなるのかなと。
(define x (list 'a 'b))
(define y (list 'c 'd))
(begin (set-cdr! (cdr x) y) #t)
(begin (set-cdr! (cdr y) x) #t)
(write-with-shared-structure x)
#1=(a b c d . #1#)
(write-with-shared-structure y)
#1=(c d a b . #1#)
やっぱこうなるか。
write-with-shared-structureで各々の変数を保存して、
後でread〜で取り出せるかなと思ったんですが、
共有関係が消えてしまいますね。
(define x '#1=(a b #2#))
(define y '#2=(c d #1#))
みたいな事は可能なのかな。
完全に構造を保存する場合はセルをダンプするしかない?
360:デフォルトの名無しさん
07/10/07 08:37:11
(define x '#1=(a b . #2#))
(define y '#2=(c d . #1#))
の間違いです。
参照先が全部確定するまでread-with-shared-structureは結果を
保留する必要があるし、write〜も一度に関係するリストを全て渡すか
しないと無理だから、このサンプルみたいなインターフェースじゃ無理ですね。
361:デフォルトの名無しさん
07/10/07 11:47:08
Lisper&Schemerの誰か、異論・反論よろしく
スレリンク(prog板:311番)
311 名前: 仕様書無しさん [sage] 投稿日: 2007/10/07(日) 02:56:19
> ではメッセージをちゃんとメッセージ(オブジェクト)として実装している言語はないか
> というとそんなこともなくて、古くは、メッセージングのOOの影響を受けて作られた
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
> ACTOR という言語(これは、メッセージングのOOから派生したアクター理論に基づいて
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
> 作られました)では、メッセージもちゃんとオブジェクト(ACTOR ではアクターと呼ぶ)で
〜〜〜〜〜〜
> 表わされていましたし、最近の言語なら Io という言語で、同じくメッセージは
> 実体のあるオブジェクトとして内部的にも表現されている、という例があります。でも希有です。
362:デフォルトの名無しさん
07/10/07 11:57:52
Racter懐かしいな。「警官の髭は完成半ば」だっけ?
363:デフォルトの名無しさん
07/10/07 12:04:14
昔は「OOを思想からマスターしてオッサン技術者共を超えてやるぜ!」
とか思ってた。
で、CLOS勉強したら結局OOって単なるメソッドディスパッチなのね、
と思って萎えた…。
364:デフォルトの名無しさん
07/10/07 14:11:37
CLOS の記法は即物的で夢が無い
365:デフォルトの名無しさん
07/10/07 14:27:34
マルチプルディスパッチの夢は見ないのか?
366:デフォルトの名無しさん
07/10/07 14:36:43
>>364
だが、そこがいい
367:デフォルトの名無しさん
07/10/07 14:54:14
夢は無くとも簡潔さがある!効率がある!自由度がある!
…なんかLispが人気にならない理由が分かった気がする。
368:デフォルトの名無しさん
07/10/07 15:13:32
>>365
夜は:around methodに包まれて寝る。
369:デフォルトの名無しさん
07/10/07 16:19:38
人気がないのは新しくないからじゃね?
370:デフォルトの名無しさん
07/10/07 17:19:05
>>238
371:デフォルトの名無しさん
07/10/07 19:47:44
関数名で処理内容がわかりづらいのはどうにかしてほしいな
○○*とかprincとかprin1とか
372:デフォルトの名無しさん
07/10/07 19:54:56
まあそこらへんは……歴史が長い言語だからねぇ
373:デフォルトの名無しさん
07/10/07 19:58:52
OOは、実用的には呼び出し元の再利用と考えると良いと思う。
374:デフォルトの名無しさん
07/10/07 21:07:49
実用的には特に何も考えなくて良いだろう。
375:デフォルトの名無しさん
07/10/07 23:46:23
Lisp使えるからってオブジェクト指向がばっちりなわけでも無ければ、
SICPをちゃんと読んだわけでも無さそうだね。
376:デフォルトの名無しさん
07/10/08 00:01:47
>>375
おれはオブジェクト指向バッチグーだけど、
SICPにオブジェクト指向なんてあったっけ?抽象化はあったけど。
377:デフォルトの名無しさん
07/10/08 00:17:14
>>376
「〜でもなければ〜でもない」の意味も分からないのか
378:デフォルトの名無しさん
07/10/08 00:38:54
>>377
自分の句読点の位置を見直しましょう。
379:デフォルトの名無しさん
07/10/08 00:45:04
、< もうやめて!わたしの為に争わないで!
380:デフォルトの名無しさん
07/10/08 08:18:46
このタイミングでSICPを持ってくるのか
schemeキチガイは黒板と現実の区別がつかないのな
381:デフォルトの名無しさん
07/10/08 09:01:58
高度に発達した黒板は現実と区別がつかない。
382:デフォルトの名無しさん
07/10/08 09:35:14
オーオー、お前等楽しそうじゃん#AA略
383:デフォルトの名無しさん
07/10/08 10:25:39
>>380はLisp>schemeって考えてんのか?
384:デフォルトの名無しさん
07/10/08 10:28:45
不等号キター!
385:デフォルトの名無しさん
07/10/08 10:50:05
schemeとLispはイスラム教とキリスト教の関係なのか?
386:デフォルトの名無しさん
07/10/08 10:57:37
>>383
コンピュータで動かすことを考えればね。
黒板上なら別にそんなことはないと思う。
387:デフォルトの名無しさん
07/10/08 11:47:26
>>383
中置記法か。お前Lisperじゃないな
388:デフォルトの名無しさん
07/10/08 12:12:42
なんかこういう
URLリンク(www.prescod.net)
事を言っている人が居るみたいなんですが、
どうも的外れな気がするんですが…
皆さんどう思われますか?
389:デフォルトの名無しさん
07/10/08 13:28:54
CommonLispは土方専用だろ
洗練された知的階級の為のSchemeと同じスレで扱う事自体がおかしい
390:デフォルトの名無しさん
07/10/08 13:30:57
schemeはpythonとかと同じで教育用っつーかお試し用っつーかそういうもんだろ
391:デフォルトの名無しさん
07/10/08 13:33:41
↑土方乙。しかもPythonすら理解できてないのかwwwww
392:デフォルトの名無しさん
07/10/08 13:36:58
Common Lisp: 土方歳三
Scheme: 原田左之助
393:デフォルトの名無しさん
07/10/08 13:38:58
洗練された知的階級なんて言葉で自己言及した時点で洗練された知的階級じゃないよ!
ってことを身をもって明らかにするschemerならではの反面教師的教育なのです
394:デフォルトの名無しさん
07/10/08 13:40:05
教育用の言語使ってる割には頭悪そうだな
395:デフォルトの名無しさん
07/10/08 13:43:36
これから教育を受ける段階にある奴ってことだからね。
396:デフォルトの名無しさん
07/10/08 13:45:45
教育すら受けられない中卒Common Lisper
397:デフォルトの名無しさん
07/10/08 13:52:34
そもそも >>389 は Common Lisp も Scheme も使った事が無いんだから
放っといたら良いじゃん
398:デフォルトの名無しさん
07/10/08 15:13:52
つれないこというなよ
399:デフォルトの名無しさん
07/10/08 15:45:11
>383
仕様のサイズ的には合ってね?
400:デフォルトの名無しさん
07/10/08 15:49:15
SchemeはR6RSでかなり分厚くなったと聞いたが
401:デフォルトの名無しさん
07/10/08 16:51:33
それだけ不純になったのよ
402:デフォルトの名無しさん
07/10/08 17:19:43
>>388
斜め読みしただけだけど、やってることは S 式の標準的な書式の見た目を
XML 文書と比較してるだけなのかな。
だとすると
> XML is not S-Expressions
このタイトルは不適切だな。
403:デフォルトの名無しさん
07/10/08 17:33:39
S式はCSVみたいにRFCに定義されたりしないの?
404:デフォルトの名無しさん
07/10/08 17:37:24
ISLISPがRFCになってなかったっけ?
405:デフォルトの名無しさん
07/10/08 17:59:10
ISLISPって全然はやってないんだなw
406:デフォルトの名無しさん
07/10/08 19:11:14
>>392
Mormon Lisp (Ruby): まつもと ゆきひろ
407:デフォルトの名無しさん
07/10/08 20:28:44
CommonLisp+末尾最適化+継続 = 大方のSchemerは文句いわない
Scheme - 末尾最適化 - 継続 = 粗大ゴミ
408:デフォルトの名無しさん
07/10/08 20:42:00
つまり素のLISPはゴミって事?
409:デフォルトの名無しさん
07/10/08 20:42:29
CL = RedHat Linux
Scheme = Plan9
てな感じ
410:デフォルトの名無しさん
07/10/08 20:44:23
今となっては RHL はあんまりw
411:デフォルトの名無しさん
07/10/08 20:46:58
>>408
そりゃCommonLisp以前に戻るんだからしょうがないべよ
その他大勢の方言の一つでしかないんだもの。
412:デフォルトの名無しさん
07/10/08 21:06:18
CommonLISPは分別ゴミ
413:デフォルトの名無しさん
07/10/08 21:11:16
>>408
素のLispはただの理論だからなぁ。
道具として便利であるためには、当然肉付けが必要になるよ。
414:デフォルトの名無しさん
07/10/08 21:26:50
クロージャすらないようではゴミと言われてもしかたあるまい
415:デフォルトの名無しさん
07/10/08 21:28:27
>>414
?
416:デフォルトの名無しさん
07/10/08 21:35:07
>>414
つ FUNARG
417:デフォルトの名無しさん
07/10/08 21:43:34
CL = スイスアーミーナイフ
Scheme = 肥後の守
418:デフォルトの名無しさん
07/10/08 21:49:56
Lispとかけてイケメンととく。
419:デフォルトの名無しさん
07/10/08 22:03:51
その心は、
「かっこが大変よろしゅうございますw」
とかヌカスつもりじゃないだろーな?
420:デフォルトの名無しさん
07/10/08 22:12:48
あーそれ俺が言おうと思ってたやつなのに・・・ひどい
421:デフォルトの名無しさん
07/10/08 22:23:18
むしろ「カッコばかりで中身がありません」じゃないのか?
422:デフォルトの名無しさん
07/10/08 22:25:16
でも簡単にペアになれるんだぜ?
423:デフォルトの名無しさん
07/10/08 23:37:14
少数点以下多数ある数値少数第1位までにして、切り上げして出力する方法ってある?
20.767841011743453→20.8
処理系はgaucheで。
424:デフォルトの名無しさん
07/10/09 00:09:52
ほんとにそれだけしたいなら(10進で)10倍してceiling(かな?)でいいんとちゃう?
単純でわかりやすいし。
425:デフォルトの名無しさん
07/10/09 00:29:55
>>422
うまいこと言うなあ
426:デフォルトの名無しさん
07/10/09 21:15:28
>>422
ウホッ
427:デフォルトの名無しさん
07/10/09 23:32:08
>>424
ありがとうございます。出来ました。
もうひとつ同じような内容ですが、
例えば、-1.0という答えを-1.000という回答に小数点以下第3位まで出す場合はどうすればよろしいですか?
やはりgaucheで
428:デフォルトの名無しさん
07/10/10 00:10:43
URLリンク(www.premiumtv.12gbfree.com)
429:デフォルトの名無しさん
07/10/10 00:17:47
>>406
Moron Lispだと思った。
430:デフォルトの名無しさん
07/10/10 00:25:30
どうでもいいけど、S式でXML表現するときって名前空間はどうすんの?
431:デフォルトの名無しさん
07/10/10 00:27:11
>>429
それも正解。
432:デフォルトの名無しさん
07/10/10 00:49:07
>>427
かなり無理やりっぽいが…
(define (hoge kazu keta)
(let ((b (exact->inexact kazu))
(c (string-length
(number->string
(inexact->exact (round kazu))))))
(format #f "~v,,,'0,a" (+ c keta 1) b)))
(hoge 1 3)
もっとまっとうな方法がありそうな気がする
433:デフォルトの名無しさん
07/10/10 00:51:38
それってformatでパッとできないの?
434:デフォルトの名無しさん
07/10/10 01:18:31
>>430
コモンリスプならパッケージで桶
435:デフォルトの名無しさん
07/10/10 01:34:06
>>434
返信ありがとう。
URNとかも平気なのかな。
まあ、完全な同値変換はできないだろうけど。勉強してみる。
436:デフォルトの名無しさん
07/10/10 02:06:07
こんな表現にすればぁ
(tag :namespace (...) :attribute (...) :nodes (...))
437:デフォルトの名無しさん
07/10/10 05:10:29
>>430
A Lisp Based XML Parser
・LXML parse output format
URLリンク(franz.com)
438:デフォルトの名無しさん
07/10/10 05:14:27
追加
URLリンク(opensource.franz.com)
439:デフォルトの名無しさん
07/10/11 12:19:10
このスレを見ている人はこんなスレも見ています。(ver 0.20)
Bart's PE Builder スレッド 5枚目 [Windows]
懲りずに騙されて花火板にまで飛ばされたわけだが3 [花火]
【CFNM】ちんちん見〜ちゃった☆Part14【えっ〜!】 [game12tr]
uim スレッド 7 [Linux]
2ch特化型サーバ・ロケーション構築作戦 Part26 [2ch運用情報]
440:デフォルトの名無しさん
07/10/11 18:12:43
>>19
> Schemeで書かれた正規表現ライブラリ
> URLリンク(www.cs.rice.edu)
URLリンク(www.ccs.neu.edu)
441:デフォルトの名無しさん
07/10/14 21:19:32
gaucheのGauche-mingw-0.8.11+meadow使ってるんですが、日本語の扱いが上手くいきません。
(print "こんにちは")
だと
縺薙s縺ォ縺。縺ッ
って出てしまう。
どのようにすればよろしいでしょうか?
442:デフォルトの名無しさん
07/10/14 21:59:28
文字コード
443:デフォルトの名無しさん
07/10/14 23:04:31
>>441
set-buffer-file-coding-systemとset-buffer-process-coding-systemで設定。
どっちかっていうとemacsの設定の話だな。
444:デフォルトの名無しさん
07/10/15 18:23:55
文字列が定義されてるとき、その文字列の組み合わせを列挙して、その数も表示する関数(com k seq)を作ってます。(setq abcd (list 'A 'B 'C 'D))として、たとえば(com 3 abcd)を評価すると、
(ABC)
(ABD)
(ACD)
(BCD)
4
となります。
先頭を選んで残りからk-1個選ぶ。先頭を選ばず残りからk個選ぶ。というのを再帰で書けば出来そうというのは考えたんですが、うまくかけません。習ってるのはdefun cond if cons car cdr print list null setqとかで、これだけで書きたいです。
また要素のi番目を調べる関数(ith seq i)と、2つのリストを結合する関数(merg seq1 seq2)、リストに一つの要素を加える関数appは以前に作ってて、これは使えます。
どなたか教えてくれませんか?
445:デフォルトの名無しさん
07/10/15 20:27:47
>>444
Common Lisp 入門スレにヒントがでてたよ。どのくらいまで自力でできたの?
446:デフォルトの名無しさん
07/10/15 21:44:49
うーん。いろいろ書いてみたんですが、うまく書けなくて…
447:444
07/10/15 23:46:07
(defun top (seq tmp)
(print (app tmp (car seq)))
(cond ((null (cdr seq)) )
(T (top (cdr seq) tmp)))
(setq tmp NIL)
)
(defun comb (seq k)
(cond ((= k 1) (top seq tmp) )
((null (cdr seq)) )
(T (setq tmp (list (car seq))) (comb (cdr seq) (- k 1)) (comb (cdr seq) k)
)))
>(comb abcd 2)
(A B)
(A C)
(A D)
(B C)
(B D)
(C D)
K=2のときはうまくいくんですが、3以上のときがうまくいかなくて・・・
どうしたらいいのか・・・・
448:デフォルトの名無しさん
07/10/16 00:05:16
(defun comb (seq k)
(setq tmp NIL)
(comb2 seq k tmp)
)
(defun top (seq tmp)
(print (app tmp (car seq)))
(cond ((null (cdr seq)) )
(T (top (cdr seq) tmp)))
)
(defun comb2 (seq k tmp)
(cond ((= k 1) (top seq tmp) )
((null (cdr seq)) )
(T (setq tmp (app tmp (car seq))) (comb2 (cdr seq) (- k 1) tmp)
)))
こうしたら
(ABC)
(ABD)はでるようになりました。
先頭を選ばず残りからk個選ぶ部分がうまくできません。
449:デフォルトの名無しさん
07/10/16 00:22:15
(comb '(a b c d) 3)
=> ((a b c) (a b d) (a c d) (b c d))
みたいな関数を作って表示は別にしたほうがいいかもしれんね
450:デフォルトの名無しさん
07/10/16 00:26:24
>>449
一応表示は top関数で表示してます。
(defun comb (seq k)
(setq tmp NIL)
(comb2 seq k tmp)
)
(defun top (seq tmp)
(print (app tmp (car seq)))
(cond ((null (cdr seq)) )
(T (top (cdr seq) tmp)))
)
(defun comb2 (seq k tmp)
(cond ((= k 1) (top seq tmp) )
((null (cdr seq)) )
(T (setq tmp (app tmp (car seq))) (comb2 (cdr seq) (- k 1) tmp) (comb2 (cdr seq) k NIL)
))
としました。
451:デフォルトの名無しさん
07/10/16 00:26:55
結果は
[37]> (comb abcd 3)
(A B C)
(A B D)
(C D)
(B C D)
T
[38]> (comb abcde 3)
(A B C)
(A B D)
(A B E)
(C D)
(C E)
(D E)
(B C D)
(B C E)
(D E)
(C D E)
T
ここまでなんとかなりました。 あと先頭要素が加わってないやつに加えられれば良いんですが・・・・
452:デフォルトの名無しさん
07/10/16 00:27:48
comb2定義の最後の括弧が抜けました・・・
453:デフォルトの名無しさん
07/10/16 00:44:01
>>449
読み違いました。そういう手もありですね。
しかしどうやるのか・・・
454:デフォルトの名無しさん
07/10/16 01:02:20
まず紙にでも書いて整理しろよ
頭で想像できてない事をプログラムできるわけないだろ
455:デフォルトの名無しさん
07/10/16 01:05:14
紙にも書いてみましたが>>450のやつから進みません・・・
456:デフォルトの名無しさん
07/10/16 01:15:28
紙に書いても判らんなら、もう一度単純ケースの把握からやってみれば?
ABC 2のケースとか。
あと、リスト処理と考えるより単純な集合の比較の問題って思った方がいいぞ。
carとかnullとかリストオペレーターをそのまま使うんじゃなくて
問題に適合するように抽象化してみるとか。
457:デフォルトの名無しさん
07/10/16 01:28:25
ABC 2 だったら
A選ぶ場合
B選ぶ場合
AB
B選ばない場合
AC
A選ばない場合
B選ぶ場合
BC
B選ばない場合
なし
って感じですよね?でもプログラムだとうまくいかないんですよねぇ。
458:デフォルトの名無しさん
07/10/16 01:36:47
プログラム的に考えてみろよ
例えばビットの組み合わせ問題として解く
1) 記号が3種類なので3ビットで表す
A 001
B 010
C 100
2) 重複に注目しながら全パターンを列挙してみる
AB 011
AC 101
BA 011 x 重複
BC 110
CA 101 x 重複
CB 110 x 重複
答え 110 101 110 すなわち AB AC BC
459:デフォルトの名無しさん
07/10/16 01:44:52
ごめん
答え011 101 110 すなわち AB AC BC
ね。
ABCD 3のケースならビット1が3つあるパターン
A 0001
B 0010
C 0100
D 1000
ならば
ACD 1101
ABD 1011
ABC 0111
BCD 1110
460:デフォルトの名無しさん
07/10/16 03:10:09
>>450
再帰関数についてもうちょっと勉強しないと…
(defun comb (seq k)
(top (comb2 seq k))
) としておいて、comb2は、
kが0でなければ、
seqから一つxを抜き出して、
(comb2 (seqからxを除いたもの) (- k 1))の先頭にxを付け足すしたリスト
を全てのxに対して行って、皆listして返す。
k=0ならNILを返す。
k-1の時の結果から、kの時の結果を作り出す部分と
k=0の時の結果から再帰関数を構成する。
461:デフォルトの名無しさん
07/10/16 08:10:19
>>458
それはわかるんですが。うーん
>>460
先頭にxをつけ加えたリストをすべてのxに対して行うって言うのが書けないんです。正直、言うと誰か書いてもらいたいです。一旦答えわかったら理解できるかもしれないです
462:デフォルトの名無しさん
07/10/16 10:55:02
再帰で書く。
(car seq)に対して行った結果を、(cdr seq)についてやった結果に付け加える。
nilになるまでやる。
463:デフォルトの名無しさん
07/10/16 14:20:44
やっぱりできないんで、答えお願いしてもいいですか
464:デフォルトの名無しさん
07/10/16 14:25:18
やっぱりできないんで、答えお願いしてもいいですか
465:デフォルトの名無しさん
07/10/16 14:31:04
>>258
r6rsでは、
> Characters are objects that represent Unicode scalar values.
ちょっと困ったのが、stringはseqence of characterだから、
サロゲートペアを含めるには、stringじゃなくてbytevectorにしないと、
r6rs準拠にならない。
466:デフォルトの名無しさん
07/10/16 14:31:59
>>463>>464
宿題スレに行け。
467:デフォルトの名無しさん
07/10/16 16:27:15
>>465
なんで?
文字を素直に UCS-4 にしてしまえばいいじゃないか。
468:デフォルトの名無しさん
07/10/16 17:08:54
それじゃ「Unicode scalar values」じゃなくなってしまう。
> (integer->char sv) procedure
>
> Sv must be a Unicode scalar value,
> i.e., a non-negative exact integer object
> in [0, #xD7FF] ∪ [#xE000, #x10FFFF].
469:デフォルトの名無しさん
07/10/16 17:31:53
いや、サロゲートペアなんてのが出てくるのは UTF-16 をそのまま 16bit 値として
扱った場合だけでしょ。
string の内部形式として UTF-32 を使ってればそもそも気にする必要はないし、
内部形式に UTF-16 を使っていたとしても、char アクセス時にそれなりに変換
すればいい。
内部形式を UTF-16 にした string で、それをナイーブに char の配列として
実装しちゃいかんというだけのように読めるけどなあ。
470:デフォルトの名無しさん
07/10/16 18:05:26
UTF-16とかUTF-32とか関係ないです。
R6RSの文字は"Unicode scalar value"を表現します。
またR6RSに従うならそれしかできません。
"Unicode scalar value"はちゃんとした定義のある言葉です。
471:デフォルトの名無しさん
07/10/16 20:10:07
サロゲートペアってのは UTF-16 でしか使われないんだから、UTF-16 と無関係
なわけないじゃないか。
たとえば、U+2000B は UTF-16 で 0xD840 0xDC0B というサロゲートペアで
表されるけど、U+D840 や U+DC0B なんて文字があるわけではない。
あんたが (string (integer->char #xD840) (integer->char #xDC0B)) ができないって
言ってるみたいだから、俺は (string (integer->char #x2000B)) すればいいって
言ってるんだけど、何か勘違いしてる?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5085日前に更新/189 KB
担当:undef