1 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 08:28:29 ] プログラミング言語処理系の開発に興味のある人達のスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化, それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。 意味論に関する話題も歓迎です。 前スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ 5 pc8.2ch.net/test/read.cgi/tech/1106129164/ (前スレ) 関連リンクは多分 >>2-10 あたり
369 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 23:59:39 ] ほぼ同意。 ps.りんご畑だとパーサだったかな?
370 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 00:12:20 ] typo ×文法を合うように ○文法に合うように
371 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 01:10:48 ] >>367 >予約語と同じ名前のメソッド名を定義できるとか そもそもこんなことができると紛らわしいからよした方が… ワインバーグが「プログラミングの心理学」のどっかにそんなことを書いていたはず。
372 名前:デフォルトの名無しさん [2005/06/08(水) 01:17:01 ] >>371 古い概念にとらわれるな
373 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 10:02:30 ] >>372 歴史に学べ
374 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 10:04:01 ] >>367 ifという名前のローカル変数を作ってしまってif文が使えない とかいうことになるので、字句解析でやっといた方がいいんじゃないかな。
375 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 10:41:04 ] 素人な質問だけど、構文解析どう書くの? IDENT expr IDENT block IDENT block で$1と$3と$5がそれぞれ"if" "then" "else"であることを アクションでチェック?現実に実現可能なもの?
376 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 12:25:52 ] 構文木を識別子以外のものに基づいて組み立てれば無問題。括弧とか。
377 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 12:26:47 ] >>360 育男ちゃんに代打ちしてもらえばいいじゃん
378 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 13:08:32 ] 文法の、どこに error を噛ませれば良いのか分からんですたい
379 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 13:39:49 ] エラーが発生したらなかったことにしたい単位のところ。 全てが式の言語なら式。Cみたいのなら文か関数。 例外処理のcatchのようなもんだ。
380 名前:デフォルトの名無しさん [2005/06/08(水) 20:52:34 ] それよりも的確な場所でエラーを検出することができるかどうかだよ 極端な言語で言えば、LISP系はソースコードの何行目でエラーが出た、 とかの検出が困難。 S式として妥当ならreadが通ってしまう。 readに通した時点で行の情報は失われる。 よく知らないけどLISPのエラー検出の最小単位って関数かな? エラー検出とかのためにリストがどの行のものか保存するLISP処理系ってある?
381 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 20:56:29 ] VCのコンパイラって/Pオプションでプリプロセッサを通した結果がとりだせるじゃないですか bccではそのようなコンパイルオプションってないですか?
382 名前:367 mailto:sage [2005/06/08(水) 21:04:00 ] ご回答いただいた皆様、どうもありがとうございます。 そもそもの動機は、事前にすべての予約語を予測することができない(あとで必ず新しい予約語を追加したくなる)ので、 せめて識別子がくることが明確にわかっている場所でなら、予約語でも識別子として使えるようにしておけば、 新しい予約語を追加したときに、多少なりとも影響を小さくできるかなと思ったからです。 また個人的には「switch」や「end」をメソッド名として使えたらなーと思うことがあったので、メソッド名であることが明らかなら 予約語でもメソッド名にできるようにしたかったのです。(Rubyだとそれができるみたい) しかーし、発想をかえまして、予約語になんらかのプレフィックスをつけることにしました。 PHPやPerlでは、変数名と予約語がかぶらないように変数名のほうにプレフィックスをつけますが、 それとは逆に予約語にプレフィックスをつければ、変数名やメソッド名とかぶらなくてすむんじゃないかと。 ifやwhileにプレフィックスをつける言語なんてきわものっぽいですが、なんか気に入ったのでこれでいくことにします。 スレ汚しすみませんでした。
383 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 21:06:52 ] >>379 いや、俺が気になるのは、それが全てのエラーを正しく捕まえてくれるのかと、無限ループが起きないかどうかです ……多分、yyerrok の挙動の理解が甘いような気がするんだけど 根元に error を仕込みたいですけど、エラーリカバリ後のゴミが結構引っかかります orz
384 名前:デフォルトの名無しさん [2005/06/08(水) 21:54:44 ] もれが気になるのは、ねーちゃんのケータイかどうかってことだ。
385 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 21:59:44 ] >>384 どっからそういう話になるんだ? 誤爆?
386 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 22:12:00 ] www.sidhe.org/~dan/presentations/Parrot_Implementation.pdf Parrotの実装について
387 名前:デフォルトの名無しさん [2005/06/08(水) 23:24:31 ] 予約語と識別子の区別はなんとでもなると思うが、 後から追加した予約語の文法定義はどうやって追加するの? ってあたりが気になった。
388 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 20:22:41 ] >>380 gaucheとか、エラー時に行番号を表示してくれるから何かやってるんじゃない?
389 名前:デフォルトの名無しさん [2005/06/09(木) 23:54:13 ] >>380 >>388 構文木のノード毎に、行数を覚えておけば済むでしょ
390 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:05:29 ] >>389 (´,_ゝ`)プッ
391 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:49:48 ] gaucheってランタイムエラーのときも行数表示するん?
392 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:50:19 ] 「人権擁護法案」を知って下さい。どう考えるかは 貴方次第です。 法務省 第154回国会(常会)提出主要法律案 人権擁護法(案) www.moj.go.jp/HOUAN/JINKENYOUGO/refer02.html ズームイン朝でおなじみ、 辛坊治郎さんのコラムです。 ttp://shinsho.shueisha.co.jp/toranomaki/020724/index.html こちらは櫻井よしこさんのコラムです。 ttp://blog.yoshiko-sakurai.jp/archives/2005/03/post_324.html 櫻井よしこ 人権擁護法案緊急リポ(SAPIO 6月22日号6月8日発売) www.uplo.net/www/vip14260.jpg www.uplo.net/www/vip14261.jpg www.uplo.net/www/vip14262.jpg www.uplo.net/www/vip14263.jpg 他にもこのような方々が危険性を危惧しています。 西尾幹二 ttp://nitiroku-nishio.jp/blog/ 西村幸祐 ttp://nishimura-voice.seesaa.net/ タックルと報道2001とチャンネル桜の動画。 nur.ath.cx/no0/50/tset/no0050292.zip 参考資料 国連の勧告といわれる物 国内機構の地位に関する原則(パリ原則) www.moj.go.jp/SHINGI/010525/refer05.html
393 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 09:18:46 ] >>391 するよん。バックトレースにも表示される。
394 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 13:02:02 ] >>367 字句解析で識別するしかない。 予約語のない(キーワードと同じ変数名が使える)言語としてはPL/Iがある(あっ た、というべきか)。が、たとえ予約語のない言語でもキーワードは字句解析 で識別しないとダメだろう。 そのような言語では、具体的にはこういうふうにする。 stmt: IF expr THEN ....(略) expr: Identifier Identifier: IDENTIFIER | IF | THEN ... むろんCのような文法ではこれはconflictをおこすので無理だが、 PL/Iならなんとかなるかもしれない。もっともPL/IがLR(1)で記述できるかど うかは不勉強にして知らない。もっと長い先読みが必要かもしれない。
395 名前:りんごタン mailto:sage [2005/06/11(土) 11:18:27 ] >>394 > むろんCのような文法ではこれはconflictをおこすので無理だが、 > PL/Iならなんとかなるかもしれない。 どういうことですか? PL/1 自体、リアルでは使ったこと無いんですが(つまり、本の知識のみ) conflict の発生に大きな違いがでますか?
396 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 12:39:18 ] >>394 LISP みたいに () で囲むというような規則を厳守すれば、キーワードの識別は意味解析まで遅らせられる気がしますが
397 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 10:53:24 ] llvm.cs.uiuc.edu/pubs/2004-Spring-AlexanderssonMSThesis.html RubyComp: A Ruby-to-LLVM Compiler Prototype (Anders Alexandersson, M.S. Thesis) Abstract: Dynamic programming languages are not generally precompiled, but are interpreted at run-time. This approach has some serious drawbacks, e.g. complex deployment, human readable source code not preserving the intellectual properties of the developers and no ability to do optimizations at compile-time or run-time. In this paper we study the possibility to precompile the Ruby language, a dynamic object-oriented language, into Low Level Virtual Machine (LLVM) code for execution by the LLVM run-time, a compiler framework for lifelong optimization of an application. The result of the project is a Ruby compiler prototype, describing the infrastructure and overall design principles to map the highly dynamic properties of the Ruby language into low-level static constructs of the LLVM language. The LLVM framework supports different hardware platforms, and by using LLVM as the target of compilation the benefits of that portability are gained.
398 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 13:34:32 ] ほう。 漏れ自身はRubyは全然使ってないんだが、 世界中にファンが居るんですね。 動的言語としてのRubyの言語仕様のうち、 コンパイルしにくい要素って何なのでしょうか
399 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 17:17:28 ] eval?
400 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 17:23:55 ] (´・ω・`) エヴァってても関係無いがな
401 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 17:38:48 ] evalとリフレクション? >>400 ないの? lisp系以外でevalのある言語のコンパイラってある? perlccやexerbのようなのでなく。
402 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 17:53:24 ] Lisp 以外のネイティブコンパイラは知らないけど、 Lisp と同じようにすれば良いかと (スタンドアローンは要件に無かったから)
403 名前:デフォルトの名無しさん [2005/06/12(日) 18:29:58 ] LISP房とRUBY房ほど、有名な房はいないなW
404 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 18:31:03 ] 房?
405 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 19:38:28 ] JavaとかC++は??
406 名前:デフォルトの名無しさん [2005/06/12(日) 20:48:33 ] >>403 2大棒
407 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 21:30:37 ] >>398 コンパイルしにくいというよりは、staticに決めにくいということでは? メソッド呼び出しをstaticにすることなんか絶対にできないし、 クラス定義でさえ実行文だから、staticにクラスを作成しておくこともできないし、 ローカル変数と引数なしのメソッドの見分けもつかないし。 staticにできることといえば、事前に構文解析してツリーつくるぐらいだけじゃねえか?
408 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 22:13:27 ] >>407 Rubyは知らないが、アンタの話がピント外れなのはよく判る。
409 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 22:34:09 ] >>408 スレ的にピントをぼかしてるのはおまい様ではないのかえ?
410 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 22:37:21 ] >>407 >staticにできることといえば、事前に構文解析してツリーつくるぐらいだけじゃねえか? そう、exerbはまさにそれ。 でもevalがあるからパーサが不要というわけじゃない。 結局スクリプトにインタプリタをくっつけただけ(に毛が生えた程度)
411 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 23:01:58 ] >>410 でもその”毛”は結構デカイんだよな(w
412 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 23:06:40 ] 剛毛
413 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 23:13:18 ] >>402 lispのevalってコンパイラではどんな風に実装されてるの? 多分S式に特化した工夫があるんだよね。 >>411 作るのは大変だろうけど、そんなに実行効率変わるもんなの?
414 名前:デフォルトの名無しさん [2005/06/12(日) 23:33:12 ] おれは、どちらかというとパイパン派だけどな
415 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 00:13:17 ] >>409 ほっといてやれよ、408が知らないのはRubyだけじゃないだろ。
416 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 00:51:55 ] LISPのevalがする仕事ってのは入力リストを コードと見なしてマクロ展開しながら評価してくだけ。 S式になってる時点で字句解析が済んだリストの状態ってことだから、 たとえば動的に作成した引数リストを渡したいだけならreadしたものを そのままapplyに渡せたりするので、少し工夫すればevalを使う 必要はあんまりない。 ほとんどコンパイル済みのクロージャとかで間に合う。 この辺rubyとかperlのevalの事情とはだいぶ違う。
417 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 01:18:37 ] よくあるようなschemeコンパイラが出力するネイティブコードには 1) プログラム全体のS式(パースなどはされてるかも) 2) S式を評価するインタプリタ(eval) に加えて、最適化用に 3) defineされた関数をコンパイルしたネイティブコード があらかじめ含まれてる、って理解でいいかな。 しかし一部のschemeコンパイラ(chezとか)の異常な速さには、 もっと秘密がありそうだw
418 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 01:30:09 ] は? 1を含む必要が理解できないんだが。
419 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 01:44:14 ] >>417 ChezやGaucheなどの速い部類のschemeは read後のevalの代わりにcompileフェーズが入る。 もちろんマクロはcompile直前に全て展開される。 read→compile→run(→write)
420 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 01:59:54 ] >>418 あ、schemeはリフレクションみたいにプログラムをデータとして扱うことはできないのか。 じゃquoteされてるとこだけでいいのかも。(自信なし) >>419 あー、JITか。なるほどなるほど。サンクスです。 Rubyも爆速コンパイラ作ってJITやhotspotすればいいんだな。(無理)
421 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 02:01:09 ] >>416 むしろevalが出てくるLISPコードは下手糞が書いたものか、 自分で評価周りを拡張するとかの特殊用途ぐらい。
422 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 02:02:31 ] >420 誤解があるようだけど schemeのS式もLISPと同じくプログラム=データですよ。
423 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 02:09:49 ] いったんdefineされた関数の定義を、S式として取り出して扱うこともできるんでしたっけ。 (define (f x) x) の f から '(lambda (x) x) を取り出すみたいな。 だとしたら>>417 の1がいるかな、と思ったんですが。
424 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 02:46:12 ] >>423 かなり昔のLISPの本を読んだね? 今はdefine定義された関数を評価するとクロージャという Schemeオブジェクトとして抽象化される。 クロージャからデータ(コードの印字表現)は基本的に取り出すことはできない。 コンパイルすると不要な情報は消えてしまうし、できたとしても処理系依存で実装される。 もちろん取り出せる処理系もある。 まあ、これ以上詳しくはschemeスレで聞くか、適当な入門サイトでも見た方が。
425 名前:398 [2005/06/13(月) 12:14:36 ] 下らん。もう一回言うね。 >>397 の研究内容を踏まえて、 動的言語としてのRubyの言語仕様のうち、 コンパイルしにくい要素って何なんだろうね。
426 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 13:26:07 ] >>425 は?今まで言われてきた通りじゃないの? >the main difficulty of compiling Ruby is the fact that the program can >be updated during run-time とあるから、論文の著者自体は>>407 を問題視してると思われ。 つか、論文あるんだから読めよ。
427 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 13:43:04 ] >>424 なるほど、ありがとうございました。 schemeというとプログラム=データだってよく聞くんですが、 その本質の意味や利点をいまいち理解できてないんですよね。 入門サイトに行ってきます。
428 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 14:05:56 ] >>426 ちょっと目を通した。 >>407 そのまんまの話で、proof of conceptという事でがっくり。 今後に期待といった感じか。
429 名前:398 mailto:sage [2005/06/13(月) 18:15:38 ] >>426 論外だな。もう一回言うね。 >>397 の研究内容を踏まえて、 動的言語としてのRubyの言語仕様のうち、 コンパイルしにくい要素って何なんだろうね。
430 名前:398=428 ◆Nj.Bk96Vy2 [2005/06/13(月) 18:21:49 ] >>429 をスレ荒らしと判定。レス削除依頼を出します。
431 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 19:47:55 ] >>429 そもそもrubyはコンパイルできないじゃん しにくいという以前に、できない言語なんだよ
432 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 20:41:35 ] 英語読めないんだね
433 名前:デフォルトの名無しさん [2005/06/13(月) 21:28:11 ] >>431 はぁ? そんな言語ありませんが? アフォですか?
434 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 21:44:05 ] コンパイルの定義で揉める巧妙な書き込みがなされているな
435 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 21:44:44 ] Rubyは存在しないらしい、という学説がここに提唱されました
436 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 22:35:40 ] 具体的な根拠も書かずに煽るだけの輩がいるからねぇ
437 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 23:19:26 ] >>436 発狂?
438 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 23:23:15 ] Rubyの開発周りはキチガイだらけだからね
439 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 23:25:50 ] なんだ荒らしか
440 名前:ptr->433 mailto:sage [2005/06/14(火) 00:13:09 ] 要は、コンパイラが作れないような言語はないってことでしょ?
441 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 00:31:05 ] インタプリタが作れる言語ならコンパイラは原理的には作れるね。 コンパイルするメリットがあるかどうかはともかく。
442 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 01:18:12 ] eval
443 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 03:51:04 ] 下らん。もう一回言うね。 >>397 の研究内容を踏まえて、 動的言語としてのRubyの言語仕様のうち、 コンパイルしにくい要素って何なんだろうね。
444 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 03:57:46 ] >>443 をスレ荒らしと判定。レス削除依頼を出します。
445 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 07:50:41 ] >>425 をスレ荒らしと判定。レス削除依頼を出します。
446 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 07:59:05 ] うへ、プ板版のkouei35みたいなやつが居るな。 こういう奴がいると強制ID制度ほしくなるな。
447 名前:デフォルトの名無しさん [2005/06/14(火) 10:36:44 ] >>434 件の論文は、中間コードへのコンパイルの事だと思うのだけど。Ruby-toLLVM compiler こっちではネイティブコードへのコンパイルを想定してる様な雰囲気ですよね。 >>428 sRubyについて調べてみては?
448 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 10:54:58 ] なんだRubyの人って説明不足で揉めるような書き込みが大得意なんだな。 最初からLLVMって書いてあるのに。
449 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 11:02:24 ] >>447 > sRubyについて調べてみては? えぇ〜と、なんか前聞いた覚えあるんだけどこれかな? thekode.net/misc/sruby.pdf Robert Feldt, sRuby - A Ruby dialect for low-level programming
450 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 11:15:29 ] これだからRubyがからむと嫌なんだ・・・
451 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 11:51:46 ] 中間コードへのコンパイルもネイティブコードへのコンパイルも 本質的に他言語への翻訳でしょ。 コンパイルの定義で揉めるというのは、 「インタプリタとスクリプトをくっつけて単体実行可能にしたもの」 を出力するのはコンパイルと言えるか否か、という話じゃないの? >>450 まあでも、字句解析構文解析のかみ合わなくて不毛な話題よりは 今の方が面白いよ。
452 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 18:30:27 ] 下らん。もう一回言うね。 >>397 の研究内容を踏まえて、 動的言語としてのRubyの言語仕様のうち、 コンパイルしにくい要素って何なんだろうね。
453 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 19:03:05 ] そんなに何度も繰り返すなら、 まずはコンパイルしにくくない要素のコンパイルをあなたが説明してね。
454 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 19:55:33 ] ここまでくると荒らしだな
455 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 20:22:40 ] >>450 lispもなw
456 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:15:48 ] Lisp で荒れる理由: アンチが厨だから Ruby で荒れる理由: ユーザが厨だから
457 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:18:31 ] >Lisp で荒れる理由: アンチが厨だから Lispユーザーが平気でこう言うあたりが、荒れる真の理由かねw
458 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:39:52 ] まあ日本のLisp人口の多数派は40前後のおっさんだからね。
459 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:45:03 ] Lispは40年前に生まれた言語だから、生まれた時から、Lispってる計算になる
460 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:46:43 ] >>458 こういう FUD を平気で言うあたりがアンチが厨だという証拠w
461 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:50:00 ] 年齢が40前後がなんでFUDになるのだろう。
462 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:55:53 ] この公式はどうだろう アンチLISP=Rubist アンチRuby=LISPer
463 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 21:58:23 ] >>460 は数少ない現役厨房Lisperか。大事にせにゃw
464 名前:デフォルトの名無しさん [2005/06/14(火) 22:02:58 ] >>462 すなわち、こういう事のようだな(↓) LISPシンパ≒Rubyシンパ
465 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 22:18:29 ] ………………………… き り す て …………………………
466 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 22:20:02 ] lispもなw たったこの一言が原因で、しつこく粘着して しっかりと荒らすんだから、ある意味すごい
467 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 22:28:37 ] ………………………… Reset …………………………
468 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 22:46:48 ] このスレでLispとRubyの話題は禁止ということで
469 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 22:55:05 ] ………………………… >>468 を は つ げ ん き ん し …………………………