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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:59:13 ]
プログラミング言語処理系の開発に興味のある人達のスレッドです。

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

過去スレ
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/
6 pc8.2ch.net/test/read.cgi/tech/1115335709/
7 pc8.2ch.net/test/read.cgi/tech/1129287390/
8 pc8.2ch.net/test/read.cgi/tech/1131273918/
9 pc8.2ch.net/test/read.cgi/tech/1135082582/
関連リンクは多分 >>2-10 あたり

744 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 20:20:23 ]
LISPは今風の書き方ができない。
やっぱa.b.c.d().e.f.gとかしたいわけよ。

LISPで同じことしようとするとオペレータ毎いちいち括弧でくくらないとな。
(dot(dot(dot(call(dot(dot a b)c)d)e)f)g)
もうなんだかわからん。
おっと、マクロにすりゃいいとか言い出すなよ。
俺はLISPを長年研究してきたから嘘は通じんぞ。


745 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 20:39:58 ]
CLOSみたいにaccessorで触る仕組みにすると
(g (f (e (d (c (b a)))))) のような感じになるかな。

746 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 21:07:10 ]
(chain
 (a obj)
 (b it)
 (c it)
 (d it)
 (e it arg1 arg2))

みたいに書けるようにするのはマクロでできるよ。
Rubyでselectやらmapやらを繋げて配列を引き回していたりなんかすると、
ブロック+ドットよりもこっちの方がむしろ見易い気がする。

747 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 21:14:01 ]
>>744
そういう風に華麗にかけるのはいいんだけど、デバッグするときにめんどくさくなんね?
gの呼び出しで値がおかしくなってるんだけどどこで値がおかしくなってるのかわかんないみたいな。

748 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 21:28:46 ]
>>746
で、誰がそんなアホなマクロ使うの?
プロジェクト全体でそのマクロ使うように、
ルール決めしたりできる?www

749 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 21:55:53 ]
>>744
引数を沢山とれるようにして
(dot (call (dot a 'b 'c 'd)) 'e 'f 'g) でいいじゃん。

750 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 22:01:13 ]
だから、んな誰も使うはずのないゴミを書いてみても
自己満足以外の意味ないだろ

751 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 23:26:44 ]
vimのマクロはなにに影響されてできたもんなの?


752 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 00:00:43 ]
>>744
| LISPは今風の書き方ができない。
| やっぱa.b.c.d().e.f.gとかしたいわけよ。

いや。そんな書き方したいと思ったことは一度もないんだが。



753 名前:744 mailto:sage [2006/09/14(木) 00:03:24 ]
ふむ、ふむ。
予想通りのレスだな。

おれは結局フロントエンドを書いた。
しかし、それはもはやLISPではなく、
>>750の言う通りでもあった。
LISPはリスト処理が得意なはずなのに、
こういった階層表現のオペレートが苦手なのは意外だった。

素直にLISPとして表現するならば、
(defvar a '(b (c (d (e (f (g value)))))))
というタグ付きリスト階層を作り、
(cdadadadadadadar a) => value
という操作を行う事だろうか。







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

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

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