トップページ⇒tech
1001コメント282KB

「コンパイラ・スクリプトエンジン」相談室10

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/05/06(土) 00:59:13
プログラミング言語処理系の開発に興味のある人達のスレッドです。

字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。

過去スレ
1 http://pc.2ch.net/tech/kako/981/981672957.html
2 http://pc2.2ch.net/test/read.cgi/tech/1021136715/
3 http://pc5.2ch.net/test/read.cgi/tech/1070089173/
4 http://pc5.2ch.net/test/read.cgi/tech/1100097050/
5 http://pc8.2ch.net/test/read.cgi/tech/1106129164/
6 http://pc8.2ch.net/test/read.cgi/tech/1115335709/
7 http://pc8.2ch.net/test/read.cgi/tech/1129287390/
8 http://pc8.2ch.net/test/read.cgi/tech/1131273918/
9 http://pc8.2ch.net/test/read.cgi/tech/1135082582/
関連リンクは多分 >>2-10 あたり
0002デフォルトの名無しさん2006/05/06(土) 01:01:17
Wikiのまとめページ
http://www6.atwiki.jp/compilerandscriptengine/

★コンパイラ一般

・色々なツールの紹介
 http://catalog.compilertools.net/
・コンパイラ関連のリンク集
 http://www.ulis.ac.jp/~nakai/rel_web_compilers.shtml
・スクリプティング言語資料室(仮) (リンク集)
 http://www.kt.rim.or.jp/~kbk/
・Compiler Construction
 http://rananim.ie.u-ryukyu.ac.jp/~kono/lecture/2000/compiler/index.html
・Compiler Construction (1997)
 http://rananim.ie.u-ryukyu.ac.jp/~kono/lecture/1997/compiler/compiler.html
・情報システム工学実験 III コンパイラ・コンパイラ
 http://math.cs.kitami-it.ac.jp/~fuchino/proin/experimentIII-2000/jikken.html
・OS/Programming 簡単な C コンパイラ
 http://www.csg.is.titech.ac.jp/~chiba/lecture/os/
・正規表現
 http://hp.vector.co.jp/authors/VA007799/viviProg/doc_regexp.htm
・コンパイラ研究・開発情報の一集積所
 http://compilers.cs.uec.ac.jp/
・Links and Selected Readings
 http://www.gnu.org/software/gcc/readings.html
・国産のコンパイラ共通インフラストラクチャCOINS
 http://www.coins-project.org/
0003デフォルトの名無しさん2006/05/06(土) 01:02:08
★字句・構文解析

・Lex and YACC primer/HOWTO (邦訳)
 ttp://www.linux.or.jp/JF/JFdocs/Lex-YACC-HOWTO.html
・Turbo Pascal Lex/Yacc
 http://www.musikwissenschaft.uni-mainz.de/~ag/tply/tply.html
・Jim Roskind's LALR(1) C++ Grammar
 ttp://www.empathy.com/pccts/roskind.html
・Flexと Bisonを同時に使う
 http://guppy.eng.kagawa-u.ac.jp/~kagawa/1999/SysProg/both.html
・KITE_ASM (yacc,lex)
 http://www.arch.cs.kumamoto-u.ac.jp/project/kite/kiteasm/
・bison用のC++ LALR skeleton
 ttp://www.bj-ig.de/software/bison/
・ANTLR(非yaccのパーサジェネレータ)
 ttp://www.antlr.org/
・JavaCC(Java Compiler Compiler)
 ttps://javacc.dev.java.net/
 ttp://village.infoweb.ne.jp/~fwif0083/program/java/javacc/javaccgrm.html
 ttp://www.asahi-net.or.jp/~DP8T-ASM/java/tips/JavaCCHelloWorld.html
・CUP, JLex, JFlex
 http://www.cs.princeton.edu/~appel/modern/java/ (JLex, CUP)
 ttp://www.jflex.de/
・SableCC
 ttp://www.sablecc.org/
・¬<><∪∪ (notavacc)LALR(1)
 http://ne.cs.uec.ac.jp/~koto/notavacc/
・boost::spirit(C++のテンプレートでEBNFの構文を模倣)
 http://spirit.sourceforge.net/
 ttp://boost.cppll.jp/HEAD/libs/spirit/index.html(マニュアル日本語化プロジェクト)
 ttp://www.fides.dti.ne.jp/~oka-t/cpplab-boost-spirit.html
0004デフォルトの名無しさん2006/05/06(土) 01:02:39
★ごみ集め

・GC FAQ -- draft
 http://www.iecc.com/gclist/GC-faq.html
・A garbage collector for C and C++
 http://www.hpl.hp.com/personal/Hans_Boehm/gc/
・一般教養としての Garbage Collection
 http://www.is.s.u-tokyo.ac.jp/~vu/01/jugyo/processor/process/soft/compilerresume/gc/gc.html
・Garbage Collection : Algorithms for Automatic Dynamic Memory Management
 http://www.amazon.com/exec/obidos/ASIN/0471941484/

★処理系,スクリプト

・kikyou.info (吉里吉里というゲームのスクリプト)
 http://kikyou.info/
・tiny C コンパイラ (C)
 http://www.watalab.cs.uec.ac.jp/tinyCabs.html
・6809用 Micro C コンパイラ
 http://www.axe-inc.co.jp/pds/mc09.html
・Portable Object Compiler (Obj-C >> C のトランスレータ?)
 http://users.pandora.be/stes/compiler.html
・自作コンパイラの部屋(PL/1, Pascal等)
 http://www.tokumaru.org/
・『Rubyソースコード完全解説』サポートページ
 http://i.loveruby.net/ja/rhg/
・『やさしい Lisp の作り方』『やさしい Java インタプリタ の作り方』
 http://www.okisoft.co.jp/esc/go.html
・MSによるPEフォーマット仕様書(日本語)
 http://www.interq.or.jp/chubu/r6/reasm/PE_FORMAT/intro.html
0005デフォルトの名無しさん2006/05/06(土) 01:03:12
★学会

・PLDI
 http://research.microsoft.com/conferences/pldi06/
 コンパイラの研究に関する最新成果を知りたければまずはここ。
・POPL
 http://www.cs.princeton.edu/~dpw/popl/06/
 PLDIよりは理論寄りだが大いに参考になる。
・ICFP
 http://icfp06.cs.uchicago.edu/
 関数型言語に関する学会。とても難しい。
・OOPSLA
 http://www.oopsla.org/
 オブジェクト指向言語に関する学会。最近はやや低調?
・ICCC
 http://www.st.cs.uni-sb.de/cc/
 ヨーロッパ系。派手さはないが堅実。
0006以上テンプレ2006/05/06(土) 01:03:44
★参考書籍

・コンパイラ 原理・技法・ツール 1&2
 http://www.amazon.co.jp/exec/obidos/ASIN/4781905854/
 http://www.amazon.co.jp/exec/obidos/ASIN/4781905862/
 通称ドラゴンブック。バイブル。
・コンパイラ構成法 原田 賢一
 http://www.amazon.co.jp/exec/obidos/ASIN/4320029224/
 http://www.hara.cs.keio.ac.jp/kCompiler/ (ソース、正誤表のダウンロード)
・プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝
 http://www.amazon.co.jp/exec/obidos/ASIN/4000103458/
 一冊で済ませたい人へ。
・コンパイラの構成と最適化 中田 育男
 http://www.amazon.co.jp/exec/obidos/ASIN/4254121393/
 最適化がメインだが、構文解析からコード生成までの基本事項も解説されている。
・コンパイラの仕組み 渡邊 坦
 http://www.amazon.co.jp/exec/obidos/ASIN/4254127081/
 薄い奴(185p)を読みたい人に。
・21st Century Compilers (Alfred V. Aho, Sethi, Ravi Sethi, Jeffrey D. Ullman, Monica Lam)
 http://www.amazon.co.jp/exec/obidos/ASIN/0321131436/
 まだ出ていない。
・スモールコンパイラの制作で学ぶプログラムのしくみ
 http://www.cbook24.com/bm_detail.asp?sku=4774121770
 初心者向けの優しい解説本。
0007デフォルトの名無しさん2006/05/06(土) 01:09:12
>>1
乙
0008デフォルトの名無しさん2006/05/06(土) 01:22:33
Rubyのブロック渡し+yeildって何のためにあるの?
Proc.new がやたら遅いのを改善すれば存在価値ないよね。
ブロック無くせば Lispの方言くらいに認めてあげるよ。
0009デフォルトの名無しさん2006/05/06(土) 01:42:13
>>8
Ruby らしさのため。それがわかんないようなバカは氏んでください。
まぁ Lisp みたいなユーザビリティの低い言語と同列に語られたくないし。
Haskell と Ruby が今後の必須科目。それ以外は低能か変態向け。
0010デフォルトの名無しさん2006/05/06(土) 01:53:47
ブロック渡しが Rubyのアイデンテテなんだね。
他の言語のよいところをつぎはぎした生きた言語である Rubyは
ユーザイリティが高くて大人気なんだね。
これからの時代Rubyは必須科目だね。
でも純粋だけは名乗らないでね。
0011デフォルトの名無しさん2006/05/06(土) 02:20:00
他言語の良い所でも学ぶべき所は学ぶのが Ruby の良い所。
ユーザビリティを考慮してうまく取り込んでいる。
今後は必修科目は Ruby と Haskell だってんだろド低能がぁぁ
VM としては YARV コンパイラは GHC が鉄板
0012デフォルトの名無しさん2006/05/06(土) 02:23:47
言語設計に全くかかわりのない業界の言葉なんだけど、
Ruby(Rails)に大規模Webアプリの実績がもう少しあれば信用できるんだけれど…
0013デフォルトの名無しさん2006/05/06(土) 02:34:50
必修科目が Ruby と Haskell …
そりゃ無茶だろうw
0014デフォルトの名無しさん2006/05/06(土) 02:37:32
>>13
お前みてーな低能にはなw
実現したらバカが駆逐されて実に爽快だろうなw
0015デフォルトの名無しさん2006/05/06(土) 02:38:22
>>10
また議論で負けたいのか
0016デフォルトの名無しさん2006/05/06(土) 02:40:36
>>14
>実現したらバカが駆逐されて実に爽快だろうなw
実現しっこないって自分で認めちゃだめでしょ?
せめて希望だけは持ち続けねば!
0017デフォルトの名無しさん2006/05/06(土) 02:48:52
議論で負けているように見えるのか。
ここはひどいインターネットですね。
0018デフォルトの名無しさん2006/05/06(土) 02:50:06
アレ?反省したんじゃなかったの?

991 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:15
や、>>977 の発言を見て Rubyを純粋だと信じてやまないピュアな若者を
いじってみたくなっただけなんだ。
正直純粋とかアイデンティティとかどうでもいい。いまは反省している。
0019デフォルトの名無しさん2006/05/06(土) 02:53:33
純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。

Smalltalkは人によっては純粋。Rubyも人によっては純粋。
それで何がダメなのか具体的に反論してみろよ?
負けてないならさぁ。
0020デフォルトの名無しさん2006/05/06(土) 02:55:07
個人的には2ちゃんねるのような匿名板で、議論に勝ったり負けたりということに何の意味があるのかさっぱりわからん
0021デフォルトの名無しさん2006/05/06(土) 02:55:39
そりゃレスポンスがあればいじっちゃうだろ。

>>19
Rubyのどこがダメか今までいってきたんだけど...
むしろそれの答が
>Ruby らしさのため。それがわかんないようなバカは氏んでください。
なんだけど。
0022デフォルトの名無しさん2006/05/06(土) 02:57:29
とりあえずだな、俺は21世紀になってこの方、RubyもHaskellも
仕事で使わせて貰ったことはない。
これが現実だ。
0023デフォルトの名無しさん2006/05/06(土) 02:57:29
>>21
ブロックがオブジェクトじゃないからダメとかいう、個人の主観に過ぎないことぐらいしかダメ出ししてねーくせに。
別にオブジェクトと捉えて特に問題も無いのにさぁ。
0024デフォルトの名無しさん2006/05/06(土) 02:59:49
>>22
へー

で、今話題になってる純粋なSmalltalkは、Scheme仕事で使ってんのか?
使ってないなら、それは今関係無い話だ。
0025デフォルトの名無しさん2006/05/06(土) 03:01:32
Rubyは仕事で使っているけど…Railsをね。
不安でたまらん
0026デフォルトの名無しさん2006/05/06(土) 03:01:53
>>24
ほう、RubyやHaskellから話を逸らしたいのかね?
0027デフォルトの名無しさん2006/05/06(土) 03:04:03
>>26
はぁ?そもそも俺は9じゃないんでどうでもいいけど?
0028デフォルトの名無しさん2006/05/06(土) 03:05:31
>>19
Smalltalk が純粋、Java が純粋…ってなら(それぞれが立脚している
「オブジェクト指向」がなんなのか。具体的にはケイのか、ストラウストラップのか)
分かるような気がするけど、

Ruby が純粋ってヤツは、基本的に、オブジェクト指向にはどんなものがあるのかを
分かっていないか、知ってか知らずか俺定義に走っているか、教祖の尻馬に
乗っているだけか…、どれかだね。
0029デフォルトの名無しさん2006/05/06(土) 03:06:40
>>23
ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?

てか今ここで Rubyのブロックのどこがオブジェクトじゃないのか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...
0030デフォルトの名無しさん2006/05/06(土) 03:08:18
はいはい、じゃあ具体的に何が純粋じゃないのか言ってみ。

何も知らないで俺定義に走ってるのはお前だろ。
0031デフォルトの名無しさん2006/05/06(土) 03:09:02
>>27
なんだ、なんだ、今更逃げ腰かw
0032デフォルトの名無しさん2006/05/06(土) 03:10:07
お前はブロックがオブジェクトかどうかが、純粋かそうじゃないかの全てかよ

Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。
実用の為に、intなどのプリミティブな値あるしさぁ。
0033デフォルトの名無しさん2006/05/06(土) 03:13:36
「純粋」って何なんだ
さっきからオレには全然理解できん
誰か説明してくれ
0034デフォルトの名無しさん2006/05/06(土) 03:14:46
>>29
>ブロックがオブジェトじゃないってのが主観なのかどうか教祖さまに聞いてみれば?

ドアホかお前は。>23をよく読めよ

ブロックがオブジェトじゃないってのは認めてるだろ。
ブロックがオブジェクトじゃないから、純粋じゃない、というのを主観だっつってんだよ。

もうお前黙れ。レスもちゃんと読めない馬鹿と議論なんか出来るか。
0035デフォルトの名無しさん2006/05/06(土) 03:15:40
>>32
いやいや純粋ってそういうもんじゃんか。
Smalltalkは全部オブジェクト、Rubyはそうじゃない。
だから Rubyは Smalltalkより純粋じゃない。って見方ができる。
そんな潔癖に意味あるかは別としてね。

さっき上げた lisp prolog smalltalk haskell ml forth
なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。
で Rubyはなんなのって思うわけよ。

その Rubyらしさとやらを説明してほしいんだけど。
0036デフォルトの名無しさん2006/05/06(土) 03:16:45
>>33
個人の主観に過ぎない幻想

理由は無いけど、SmalltalkやShcemeやJavaはそうで、Rubyはそうじゃないモノ。
0037デフォルトの名無しさん2006/05/06(土) 03:19:24
>>34
オブジェクトと捉えて問題ないか教祖さまに聞いてみれば?

てか今ここで Rubyのブロックのどこがオブジェクトと捉えて問題あるか説明しなきゃいかんのか?
その程度の理解で Rubyマンセーしてるやつと議論するのはちょっと...

あの、どう問題ないのか説明してください。
あと、Rubyはこうだから純粋だっていうのを是非。
0038デフォルトの名無しさん2006/05/06(土) 03:22:38
>>23
>別にオブジェクトと捉えて特に問題も無いのにさぁ。

>>34
>ドアホかお前は。>23をよく読めよ
>ブロックがオブジェトじゃないってのは認めてるだろ。

こいつおもしろいね。
0039デフォルトの名無しさん2006/05/06(土) 03:26:39
>>35
Aの言語より純粋さに多少欠けるから、
Bの言語は純粋と言ってはいけないってか?アホらしい。


>>37>>38
レスもちゃんと読めないアホとは議論できないとさっき言ったろ




0040デフォルトの名無しさん2006/05/06(土) 03:28:43
>さっき上げた lisp prolog smalltalk haskell ml forth
>なんかは独自のパラダイムを持っていてその世界の中ではかなり純粋なんだ。

どう純粋なのか言ってないじゃんw
0041デフォルトの名無しさん2006/05/06(土) 03:29:07
>>39 もなんもないみたいだし
特になんかなければ 終了ってことで。
0042デフォルトの名無しさん2006/05/06(土) 03:29:34
>>39
つまり、お前は自ら議論能力の欠如を吐露したと言う訳だな?
0043デフォルトの名無しさん2006/05/06(土) 03:31:03
>>41
何にも無いのはお互い様。必死になってお互いに相手に証明を求めてるだけ。

>>42
いいや、お前の議論能力の欠如を指摘したまで
0044デフォルトの名無しさん2006/05/06(土) 03:33:26
>>41
じゃ終了だな。
0045デフォルトの名無しさん2006/05/06(土) 03:33:26
>あの、どう問題ないのか説明してください。

これなんかアホの典型。悪魔の証明だ。
普通は問題が「ある」と思うほうが説明する。
0046デフォルトの名無しさん2006/05/06(土) 03:36:05
>>43
おいおい、勝手にお互い様にしちゃいかんだろ。
0047デフォルトの名無しさん2006/05/06(土) 03:36:40
えっと lisp と smalltalkはでてきたと思うけど他は
lisp クロージャ マクロ eval
prolog 一階述語論理 カットによる制御 パターンマッチ
smalltalk オブジェクト指向
haskell 遅延評価 参照透明性
ml 型推論 パターンマッチ カリー化
forth スタック 後置記法

俺の思う純粋は余計なものがないってこと。
0048デフォルトの名無しさん2006/05/06(土) 03:39:44
お前お前って相手がひとりだと勘違いしてないか。43は。
Rubyのブロックはオブジェクトではないし、オブジェクトとして使うには、
別の書き方をしなきゃいけない。そもそも書き方が何通りもあること自体、
Rubyがつぎはぎであることの結果としか思えんのだが。

こんなのを「オブジェクトと捉えて特に問題も無いのにさぁ」といえるのなら、
Javaだって今はWrapperクラスとauto boxingあるから、

>Javaなんか挙げてるやつもいるけど、これこそ純粋じゃないだろ。
>実用の為に、intなどのプリミティブな値あるしさぁ。

こんなことも言えないはずだしね。
0049デフォルトの名無しさん2006/05/06(土) 03:40:52
>>45
ブロックがオブジェクトなんて斬新な意見持ち出す方が説明すべきだと思うぞ。

ブロックは普通の引数と違ってメソッド呼び出しの後ろにくっつけて渡して
それを中から yieldで呼びだせるからオブジェクトじゃないとか説明すればいいのか?
0050デフォルトの名無しさん2006/05/06(土) 03:44:37
>俺の思う純粋は余計なものがないってこと。

「俺の思う」とかつけてる時点で主観だってわかってるんだろ。

>>48
>こんなことも言えないはずだしね。
おいおい、Rubyが純粋じゃないなら、Javaも当然純粋じゃないって意味だ。
つうか、こっちが言いたい台詞だよそれは。お前はJavaが純粋とかのたまったくせに、
Rubyが純粋じゃないとか言ってたアホさに呆れてたんだよ。
0051デフォルトの名無しさん2006/05/06(土) 03:46:28
>>49
アホか。ブロックがオブジェクトと捉えて問題ない、といったんだ。
「ブロックはオブジェクトそのものだ」なんてお前が捏造した意見だろ。
0052デフォルトの名無しさん2006/05/06(土) 03:47:00
どうも脳内毒電波ゆんゆんさんらしいので、言っても意無駄かもしれんが繰り返すぞ。

「お前お前って相手がひとりだと勘違いしてないか。50は」
0053デフォルトの名無しさん2006/05/06(土) 03:49:24
>>50
そうそう、主観なんだよ。
だから Ruby信者の主観を知りたいんだよ。
どういう観点で見たら Rubyが純粋なのかって。
そのレスポンスが期待できないから終了にしたかったんだけど...
なにもないよね?

荷が重ければアイデンティティでもいいけど、
それはいろいろ吸収するってことなんだっけ?
それじゃバランスのいい Perl止まりなんだよな Rubyは。
0054デフォルトの名無しさん2006/05/06(土) 03:50:55
>>52
はぁ?名に言ってんだお前は。

一人一人にレス番号付けてるのに、「お前等は」とか複数形にしろってのか。

馬鹿か黙ってろ
0055デフォルトの名無しさん2006/05/06(土) 03:52:49
結論は20で出ている、という事実を伏せておくのが大人の配慮なんだろうね
0056デフォルトの名無しさん2006/05/06(土) 03:54:04
def foo(&block)
block.call("test")
end

foo{ |it|
p it
}

普通にブロックはそういう風に扱うとオブジェクトになるだろうが。

>>53
じゃあ、ほぼ全てがオブジェクトで、式で、
一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
0057デフォルトの名無しさん2006/05/06(土) 03:56:16
>>53
>だから Ruby信者の主観を知りたいんだよ。

そうだよね。

>>19
>純粋かどうかは個人の定義による以上、Rubyが純粋なオブジェクト指向と思う奴もいてよかろう。

結局これは、「信仰によるもの」というのが結論?
0058デフォルトの名無しさん2006/05/06(土) 03:56:55
ttp://d.hatena.ne.jp/sumim/20040525/p1
0059デフォルトの名無しさん2006/05/06(土) 03:59:45
いや、結論はRuby信者は純粋にヘタレ、でおk
0060デフォルトの名無しさん2006/05/06(土) 03:59:49
>>56
「foo(&block)」は「普通」なのか?

そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
さすがはつぎはぎ言語。
0061デフォルトの名無しさん2006/05/06(土) 04:00:30
>>57
992 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/06(土) 00:18:35
>Rubyが、いろんな言語からつぎはぎした統一感のない言語だってのは事実なんじゃね?
>それを「いいとこ取り」と言う奴もいるだろうが、「ぐちゃぐちゃ」とか「アイデンティティがない」とか
>思う奴もいてよかろう。

その一文はお前をパロってるんですけど。
半角?クンだから、コレはおまえだよな?
0062デフォルトの名無しさん2006/05/06(土) 04:03:08
>>59
そのヘタレよりヘタレがお前だけどな

>>60
>「foo(&block)」は「普通」なのか?
何が普通じゃないんだ?

>そういや昔はそもそもブロックという言葉もなくて、イテレーターと呼ばれてたような。
>さすがはつぎはぎ言語。

だから何なのだろう?もう煽りたいだけのアホは困る。
0063デフォルトの名無しさん2006/05/06(土) 04:05:40
>>59
オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
教祖も純粋にヘタレてる。
0064デフォルトの名無しさん2006/05/06(土) 04:07:12
>>62
ブロックがオブジェクトなら&修飾子はいらんだろ?
0065デフォルトの名無しさん2006/05/06(土) 04:07:15
ここまでの話のどこら辺が

> 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
> CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
> SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
> JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
> 意味論に関する話題も歓迎です。

のうちのどれに関わっているのか教えてくれ。
0066デフォルトの名無しさん2006/05/06(土) 04:08:37
>>54
あのね。
>>52=48 は「俺は >>28じゃねえ」って言いたいんだと思うよ。

>>56
そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
そのブロック文法自体いらないともいえる。主観ではいらない。

>じゃあ、ほぼ全てがオブジェクトで、式で、
>一見普通の関数呼び出しに見えるものさえ全てメソッド呼び出しモデルとなってる、でいいか?
その意見を批判するのはちょっと違うと思うので何も言わないが
新しいパラダイムがある訳でもなく特別潔癖でもない、むしろ雑食な言語を
vi で書くのが純粋のイメージってのが違和感あっただけ。
0067デフォルトの名無しさん2006/05/06(土) 04:10:04
>>63
残念。最初にアイデンティティとか言い出したのは、前スレのコイツです

982 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/05(金) 23:51:09
>>980
SchemeとSmalltalkはRubyよりは「純粋」だと思うよ
Rubyのアイデンティティってなんなの?


>>64
だから、ブロックはオブジェクトだと言ってないって。捏造が好きなアホだな。
便利なための記法なんて、どの言語にもあるだろうに。
0068デフォルトの名無しさん2006/05/06(土) 04:13:13
>>65
>ここまでの話のどこら辺が

もっともだ。じゃあRubyのそういうところについて議論しようか。

・字句解析、構文解析
 →つぎはぎの拡張を繰り返したトンデモ文法のおかげでparserとlexerが
  ごっちゃになってひどいことになってるよな。
・データフロー解析,ループ並列化,データ分散,SSA変換,
 CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
 SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化
 JIT,動的バイナリ変換等の各種最適化, 低消費電力化
 →どれもやってないよな。継続の実装もアレだし。
・VM
 →ようやくYARVが、ってとこか。
・GC
 →「GC や Thread などのインタプリタの実装のトリックが移植性を損なっている」
 http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby%A4%CE%B7%E7%C5%C0

…えーっと。
0069デフォルトの名無しさん2006/05/06(土) 04:14:01
>>66
>そうもできるけど2個以上渡したい時は Proc.newとかしないと駄目でしょ
>そのブロック文法自体いらないともいえる。主観ではいらない。
もともとも文法的に2個以上ブロックを渡すのはムリがある。

>Proc.newとかしないと駄目でしょ
あれ? lambda{}と書けるけど。もしこれがダメならschemeはどうすんの?純粋じゃないの?

>vi で書くのが純粋のイメージってのが違和感あっただけ。
俺が書いたんじゃねーから知らんけど、そもそもviなんか使わんし、
そんなことで噛み付くなよ。
0070デフォルトの名無しさん2006/05/06(土) 04:14:08
Ruby 信者が話にならないのは、パクリ元の言語のことをほとんど知らないからだな。
教祖の尻馬に乗って、寄せ集めの機能を自慢げに語ろうとする。
パクリを認めないばかりか、Ruby オリジナルとか言いかねない教祖が悪いんだけどね…。
0071デフォルトの名無しさん2006/05/06(土) 04:14:44
オブジェクト指向はアイデンティティだべ。
Rubyにゃアイデンティティがねえべ。
従ってRubyはヘタレ。
これは三段論法ではないが、立派な連鎖推理だにょ。
0072デフォルトの名無しさん2006/05/06(土) 04:16:22
> オブジェクト指向はアイデンティティ
飛躍

> Rubyにアイデンティティがない
主観

> 従ってRubyはヘタレ。
論拠が無い
0073デフォルトの名無しさん2006/05/06(土) 04:16:28
>>67
http://www.rubyist.net/~matz/20030807.html#p02
0074デフォルトの名無しさん2006/05/06(土) 04:17:26
>>70
ハイハイ、レッテル張りね。すごいすごい。

>>71
オブジェクト指向はアイデンティティとか恥ずかしげもなく言い切っちゃう
71も純粋にヘタレてる。
0075デフォルトの名無しさん2006/05/06(土) 04:19:15
>>73
お前、その日記の内容見て無いだろ。アホ丸出しだぞ。

今しがた、アイデンティティ Ruby でググッて見つかったのを張ったダケだろ。
0076デフォルトの名無しさん2006/05/06(土) 04:20:36
わかった、わかった、Rubyは純粋。
それも純粋なヘタレ。
0077デフォルトの名無しさん2006/05/06(土) 04:21:22
反論出来ないとコレだw
0078デフォルトの名無しさん2006/05/06(土) 04:22:00
中身が無いのに熱さだけあるってのもすごいよな。
信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど
凡庸な rubyに信者がたくさんいるってのが解せない。

rubyしか書けないから、だったりして。
0079デフォルトの名無しさん2006/05/06(土) 04:22:50
Ruby はオブジェクト間の区別ができるから、純粋なオブジェクト指向言語なんだな。w
なるほど! オブジェクト指向するって、案外、お手軽なんだな。知らなかったよ。
0080デフォルトの名無しさん2006/05/06(土) 04:23:21
>>77
おいおい、おまいさんの書き散らしたレスのどこに「論」があったんだ?
論無き所には、反論もまた無しと言う訳だ。
0081デフォルトの名無しさん2006/05/06(土) 04:24:01
今日はここかい?
0082デフォルトの名無しさん2006/05/06(土) 04:26:38
>>78
Rubyは単なる嗜みの一つだが、馬鹿が沸いてたので指摘したまで。

>>79
理解力0と

>>80
確かに相手側も一切の「論」が無かったな。
馬鹿ばかりだった。
0083デフォルトの名無しさん2006/05/06(土) 04:28:31
>>78
>信者ができるものってなにか飛び抜けててカリスマ性があるようなものだと思ってたんだけど

そりゃ作者が正真正銘本職の宣教師(元)だもの。モルモン教の。
0084デフォルトの名無しさん2006/05/06(土) 04:31:38
主観では、一番のアホは、半角の?を付けてる彼でした。
0085デフォルトの名無しさん2006/05/06(土) 04:36:04
自作自演するときは、微妙に書き方を変えなきゃ
自作自演するときは、微妙に書き方を変えないと。
自作自演するときは,書き方を微妙に変えないと。
0086デフォルトの名無しさん2006/05/06(土) 04:37:32
おや>84。どうして「彼」だとわかったんだ。どうして「彼女」では無いと?
0087デフォルトの名無しさん2006/05/06(土) 04:38:08
そうか。半角?は書き分けのためだったのか。やられた。
0088デフォルトの名無しさん2006/05/06(土) 04:40:20
ttp://www.rubyist.net/~matz/20030808.html#p02

matz はホントにわかってないんだな…。
副作用がなくったって、オブジェクト指向は成り立ちうるのに…。
これで ruby は純粋とかいっちゃうんだから…。

これじゃ信者も苦労するよ…。
0089デフォルトの名無しさん2006/05/06(土) 04:42:24
>>82
単なる嗜みのひとつレベルで、ここまで熱くなれると言う事に
驚愕すると共に、Rubyはただのヘタレではなく、偉大にして
純粋なヘタレであることを、ここに宣言するものである!

すなわち

language of the ruby, by the ruby, for the ruby.

同胞よ涙せよ!
0090デフォルトの名無しさん2006/05/06(土) 04:42:24
>>86
俺は殺人事件の容疑者で、お前は探偵かよ。
0091デフォルトの名無しさん2006/05/06(土) 04:43:13
>>89
お前もこんな時間まで熱くなってんじゃん。

何の信者なの?
0092デフォルトの名無しさん2006/05/06(土) 04:51:35
>>91
もちろん2chのおちょくり信者でんがな。
ところで「コンパイラ・スクリプトエンジン」て何?
Rubyって多分宝石のルビーとは関係ないだよね?
0093デフォルトの名無しさん2006/05/06(土) 04:55:42
サムッ
0094デフォルトの名無しさん2006/05/06(土) 04:58:48
わかったよ>90。お前が探偵役な。
0095デフォルトの名無しさん2006/05/06(土) 06:18:17
なんか深夜にキチガイが湧いていたようですね…でも >>9 の言うとおり
Haskell と Ruby が今後の主流なのは異論がないと思うので。YARV の話でもし
ましょうか。国も認める未踏な先進的プロジェクトです。税金を出す == 我々
も望む望まぬに関わらず Ruby にお金を出しているわけです。使わないと損で
しょう?
0096デフォルトの名無しさん2006/05/06(土) 06:28:03
未踏は ML 処理系にも Scheme 処理系にも金を出している訳だが。
YARV は金払った上に、貴重な俺の時間まで費やす程の物でもないしな。
0097デフォルトの名無しさん2006/05/06(土) 07:06:38
今後の主流はC#とJavaなんじゃないの?
0098デフォルトの名無しさん2006/05/06(土) 07:21:15
PHPも忘れてはいけない
0099デフォルトの名無しさん2006/05/06(土) 10:28:27
↓これ等以外で、リテラル表現を持っている言語ってありますか?

整数、実数、複素数、配列、文字列、構造体、共用体、列挙型、リスト、タプル、
関数(ラムダ)、正規表現、XML(e4x)

リストの内包表記とかもリテラル表現と言って良いのかな。
Scheme のマクロは文法規則のリテラル表現?

面白いリテラル表現がありましたら教えて下さい。
0100デフォルトの名無しさん2006/05/06(土) 11:07:54
>>99
ぱっと思いつくのは
・文字(Javaとかは文字列とは別扱い)
・辞書/ハッシュ/連想配列
0101デフォルトの名無しさん2006/05/06(土) 11:47:22
Lisp の世界にはプログラマブルなリテラルがあるよ。配列や複素数などがこの
機能を使って実装されてる。ライブラリだと日付とか XML、単位などがこの機
能を使ってリテラル表現されてる。
■ このスレッドは過去ログ倉庫に格納されています