[表示 : 全て 最新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 あたり

674 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 23:20:30 ]
記事、も一回読んでみたけど
Cの関数へのポインタ程度のものを、導入するぐらいにしか見えん
そしてそのCの関数へのポインタのようなものを、クロージャといってるような
カリー化とかできそうに見えない、高階クロージャ(?)すらあやしい

675 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 23:30:18 ]
まぁ糞JAVA言語がそろそろ行き詰まってきたってことだろうなw


676 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 23:41:03 ]
>>674
int func int(int x) {
    return (int y) { x + y; };
};
int result = func(2)(3);

こういうのならできるんじゃね?
実際の java で動くかどうかはしらないけど、一応カリー化できてるはず。

677 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 23:47:51 ]
>>674
おまえはカリー化とクロージャの意味をわかってるのかと
今回提案された仕様のローカル関数及び匿名ローカル関数は
れっきとしたクロージャだし、関数型も導入されるので、
カリー化するのも容易なはず

>>676

ホワイトペーパーの例からだと、たぶんこんな感じではないかと

int(int) add(int x){
 return (int y) : x + y;
}
int result = add(2)(3); // => 5

678 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 23:52:34 ]
>>677
いや、その例からだと add は有名関数だから、宣言は int(int) じゃなくて int では?
4ページ目の一番上。

さすがに、OCaml ばりの厳密で容易なカリー化は期待できないっすよ。
let add fun x y -> x + y;
で宣言して add 1 2 で 3、add 1 で fun y -> 2 + y みたいなのは java では無理でしょ。

679 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 23:53:13 ]
あ、間違えた。まあ良いや。

680 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 00:17:56 ]
>>678
addはカリー化された加算関数で、型はint(int) (int)なので
これでOKなはず。4ページ目の一番上の例は、int (int)な関数だよね

> さすがに、OCaml?ばりの厳密で容易なカリー化は期待できないっすよ。

そりゃOCamlほど容易ではないけど、厳密かどうかで言えば同程度には厳密でしょ

681 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 00:25:58 ]
>>680 上段
ほんとだー。すまねー orz

>>下段
あ、すいません。『厳密』 ってのは 『制約』 ってのと同じような意味で使いました。
OCaml ではカリー化された関数しか扱えないみたいっスから。

int add(int x, iny y) { return x + y; }

「こんな感じに定義して add(1) ってしても 1 + y が帰ってこないじゃないかー」
って >>674 は想像しているのでは? って思いましたんで (^-^;;

682 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 00:27:23 ]
オーバーロードとカリー化の共存は難しい。



683 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 00:39:23 ]
すみません。某スレから誘導されてきました。
yaccやlexで生成したソースはどうやって使ったらいいのでしょうか?

684 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 01:00:40 ]
>>683
きっとお前も質問だけして居なくなるんだろうな…>646みたいに。

685 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 01:23:18 ]
>>684
いえ、ホント基本的な動作からわかってないので藁にもすがる思いですよ。
yyparseやyylexなんかがどういう動作をしてるのか?とかそっからわかっていません。
とりあえず、まず、大まかな流れが知りたいのですが、日本語でいいサイトないでしょうか?
なんかyacc lexが独自に吐き出す関数とか変数とかわかってないです。

やりたいことはプログラムである文字列をパーサに渡して解析結果を取得することなんですが
yacc lexの吐き出したソースが何をどこまでやってくれるのかってそこからいってわかってないです。

686 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 05:18:48 ]
そうですか

687 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 05:55:38 ]
>>683
main() {
  yyparse();
}

yylexはyyparseのなかで勝手に呼ばれる

688 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 09:38:52 ]
>>677
どうも、そういうことが出来そうに見えなかったんだよね
Javaにクロージャ導入なんて記事を書くんなら
俺なら絶対カリー化の例をあげる
でも、カリー化どころか高階関数の例もないので、どうもな
まあ、ライターのレベルが低いだけかもしれんが

689 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 15:34:59 ]
>>688
匿名関数も関数型変数も導入されるらしいのに、
なんで高階関数がないと予想したの?

690 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 21:09:50 ]
読解力のない阿呆 (>>688) のつまらん言い訳だよ

691 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 22:16:14 ]
ライターのレベル以上に、リーダーのレベルが低すぎた悲劇だな。

692 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 01:30:04 ]
つまりLISP最強ってことか。



693 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 02:07:02 ]
なんでじゃ

694 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 04:25:26 ]
Lisp触ってれば間違いようがないものな。

695 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 06:02:16 ]
Lispの処理系をLispで書くのって無謀?

696 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 06:27:23 ]
>>695
ものすごく簡単(数行しかない)なやつから、
きちんと機能を実装して、自分で自分を実行できるやつ、
もっと凄いやつ、と様々なので、答えようがない。

697 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 06:48:53 ]
>>696
> ものすごく簡単(数行しかない)なやつから、

数行はないだろw

698 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 06:52:06 ]
スーパー手抜きlisp
( loop (eval (read)) )


699 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 10:50:14 ]
LISPってライブラリたくさんあるの?

700 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 12:31:04 ]
>>699
君のレスは見ていて痛々しい。

701 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 12:48:32 ]
しらねーなら書き込むなこの池沼が

702 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 13:08:21 ]
ちょこっとLisp調べてみたけど、本当にこの言語で自己記述できるの?
字句解析とか構文解析のコード大体どんな感じになるのか情報orソースきぼんぬ



703 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 14:14:21 ]
>>702
大昔の論文や書籍くらい読め


#とか思ったら良書は絶版かYo!


704 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 14:57:32 ]
>>701
聞けば答えてもらえると思うな、厨房。

705 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 16:47:29 ]
けちくせーやつだな。だったらスレみてんじゃないよ。
Take,TakeでGiveはなしか。

706 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 16:53:24 ]
言いたがりが勝手に口を滑らせるだけだよ。
そんなものでも、最新の情報なら役に立つ。

707 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 17:12:04 ]
>>689
出来ると書いてないから
それにつきますな

708 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 20:46:44 ]
>>702
っSICP
後ろのほうに自己記述に1章裂いてるお

709 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 01:19:54 ]
Schemeを最初からCで書くより、一通りSchemeで書いてから必要な部分だけ
Cにする方が楽だよね。

710 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 07:43:17 ]
今、M$のVisualStudio2005いじってるんだが、GC付きで64bitポインタ、メモリ管理サポートの
ランタイム上で、C#、C++、VisualBasicが走るなんて、Lisp系言語を載せてくださいと言ってる
ようなもんだな、と思った。Javaは過去にやろうとして16MBでギブアップしやがったので、
M$のCLIには少し期待している。

711 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 13:02:07 ]
>>710
HotSpot以降のJVMならパラメータでメモリ量の調整きくよ。

web上のappletが廃れかけた頃にはいろんな言語のコンパイラがjvm用のクラス吐くようになったけど
今ははやらないのかねぇ。



712 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 14:01:08 ]
>>711
むしろ最近になって流行ってきてると思うのだが
JDK6でJava VM用のスクリプト言語をJavaから呼び出すための
APIが標準化されるのも、Java VM用のスクリプト言語が流行ってきたからだろうし
ちなみに先に言っておくと、GroovyもJava VM用のJavaScript処理系であるRhinoも
Pnutsも単なるインタプリタではなく、JVM用のクラスファイルを内部で生成して、実行してる



713 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 16:15:07 ]
>>712
スクリプト処理系が実行時にclassファイル吐いてるのはしらなかったな。
外部ファイルコンパイル実行する時にclassローダ的にはどういう扱いするんだろう?



714 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 18:10:57 ]
今のJVMならメモリの調整効くとかいってるが
そんなことねーよただ確保してるだけでなんも有効には使ってない。
そのへんM$のは賢い。

715 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 20:13:16 ]
>>713
いくつかのスクリプト処理系のソース読んだ限りでは、基本的に、
java.lang.ClassLoaderをサブクラス化して、スクリプトをコンパイルしたクラスは
それに読み込ませるようにしてる
ちなみに、自作のJVM上で動作するJavaライクなスクリプト言語でも、同じような手法で
実装してる

716 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 20:15:58 ]
>>713
あと、わかっているかもしれないけど、念のため追記しておくと、クラスファイルを
生成するといっても、スクリプトを直接実行するときは、別に実際にファイルが
生成されるわけではなく、オンメモリにbyte配列としてクラスファイルを生成して、
それをClassLoaderで読み込むようになってる

717 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 08:56:44 ]
>j ava.lang.ClassLoaderをサブクラス化して

これが必要ってことはclassfileの仕様を拡張してるってこと?

718 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 12:32:30 ]
>>717
いや、そういうわけじゃない
java.lang.ClassLoaderのAPI見ればわかるんだが、
byte配列からClassオブジェクトを構築するためのメソッドなどはprotected
になってるので、プログラムからこのメソッドを呼び出したいなら、サブクラス化
しなければいけないということ

719 名前:デフォルトの名無しさん mailto:sage [2006/08/31(木) 03:43:18 ]
>>714
>そんなことねーよただ確保してるだけでなんも有効には使ってない。

そんなわけねーだろw

720 名前:デフォルトの名無しさん [2006/09/07(木) 15:26:38 ]
ちょっと質問。
スタックを使って実装する言語についてです。
JavaのようにGCを持っていて、オブジェクトへの参照とプリミティブの
両方をスタックに積むことが出来る場合に、
スタック上のプリミティブはGCの邪魔になりました。
オブジェクトはクラス情報を持っていますが、プリミティブには持たせていません。
なぜなら高速性を期待してプリミティブはオブジェクトと区別したからです。
そこでどうしたらいいかと考え、オブジェクト用とプリミティブ用の
個別のスタックを用意したらどうだろうと考えたのですが、
何か考えられる問題点はありますか?
また、ほかにいい方法はありますか?
よろしく。

721 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 19:57:05 ]
>>720
ここはお前専用の相談室だ。
よろしく。

722 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 20:25:02 ]
>>720
GCの実装は?



723 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 20:53:31 ]
つーか>>720の言ってることよくわからんな。
スタックって何に使うスタックのこと言ってるのかわからないし、なんでそのスタックに積んであるものがGCされるのかもさっぱり。
プリミティブ値が邪魔になるってのも意味がわからん。

724 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 21:09:47 ]
>>723
……(;´Д`)アチャー

725 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 21:16:00 ]
>>723
( ゚д゚ )

726 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:52:51 ]
>>723
(笑)

727 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 23:06:54 ]
>>720
型システムが堅いなら系列分けたスタック持っても良いかもしれないが
もし引数がバリアントみたいに使える言語処理なら徒労におわると思う



728 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 23:20:08 ]
>>727
スタック上のプリミティブとオブジェクトを区別できないことから考えて、
構文として静的に区別できるような言語なんじゃないだろうか。
だったら分けても良いかも知れない。

729 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 23:27:16 ]
>>728
ボクシングとかほしくなったら困るんじゃなかろうか(関数呼び出しフレーム作る時ね)


730 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 23:29:51 ]
ボクシングしたものは全てオブジェクト扱いでイイような気がする。
箱に入れてさ。

731 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 06:09:40 ]
素直にプリミティブにタグ付けした方が良い希ガス。

732 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 07:46:50 ]
オブジェクトのメンバの、ポインタと即値はどうやって区別してんだ?



733 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 12:00:11 ]
>>732
型のある言語ならコンパイル時にGC対象を列挙できるので問題はないでしょ?


734 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 02:18:41 ]
>>720がもどってこなくてショボーン(´・ω・`)
どんな言語なのか聞きたかったのに

735 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 02:31:01 ]
>>734
ねー

736 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 09:46:37 ]
質問のレベルから察するとだな

737 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 19:25:02 ]
チン子もえもえどぴゅーってレベルだな

738 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 20:27:29 ]
スタックに積む量次第だけど、スタックに積むときだけプリミティブにタグ付けるのが
実装的には一番楽な気がする。


739 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 20:34:15 ]
で、もうちょい話が進むと、プリミティブは常にタグつきがいいという話になる
ちなみに、L(ry も R(ry も、そうなってたような

740 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 20:47:24 ]
もう手抜きして保守的GCにしちまおうぜ

741 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 21:20:50 ]
可算無限個のメモリを用意するのが最近のトレンド。


742 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 23:20:12 ]
>>739
LispとRuby?

Rubyのprimitiveは最下位ビットが1になっているので
保守的GCに引っかからない、というものだったと思う。

Lispの実装は山ほどあるんでわからん。



743 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 23:42:47 ]
>>741
黙れニート

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
という操作を行う事だろうか。


754 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 00:34:25 ]
>>744-753
マクロにする必要すらないんじゃ?
ドットで繋ぐんだから実装はハッシュか何かだよね?
Schemeで申し訳ないが

(define (pp obj r)
 (if (null? r)
    obj
    (pp (ref obj (car r)) (cdr r))))
(define (p obj . r) (pp obj r))


 (p a 'b 'c 'd)
と書けるよ。

あとはgauche限定?になるけど
(define-method object-apply ((b <hash-table>) . c) (pp b c))

 (a 'b 'c 'd)
と書ける。

755 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 01:45:33 ]
だから、ゴミの実装の詳細なんぞ、
興味ねえから、チラシの裏にでも書いてろ

756 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 01:57:39 ]
744=750=755 ?

757 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 02:06:28 ]
Lisp に絡んでいた奴がまた粘着してるのかねぇ?
↓のようなマクロじゃ気にくわないわけ?

例1: #{ a.b.c.d().e.f.g }
例2: #[ a b c #[ d ] e f g ]

どっちでも好きなほうを選べ.

758 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 02:47:35 ]
>>755ではないが、>>744の質問はスレ違いじゃないのか?
特定の実装(Lisp)の問題なんだから、Lispスレでやればいいじゃんと思った。


759 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 02:54:08 ]
Lisper に喧嘩売ってる俺ってスゲー、みたいな奴が出てくるのは Lisp の功罪だな。
こんな事が後何回繰り返されるのだろうか。

760 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 03:23:00 ]
Lisp スレで相手にしてもらえなかったんじゃないの?
だからって関係ないこっちに来られても困るわけではあるが。

761 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 06:04:36 ]
>>759
相対性理論が長きにわたって物理系のトンデモさんを
無数に相手にしてきたのと、ちょっと似てるね。

762 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 06:30:52 ]
だーから相手にすんなって…すぐにまた LISP 最強!! とか暴れはじめる気配がする



763 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 06:51:13 ]
相対性理論、やっぱ無敵ってこと?それともダサダサってこと?
文章からどっちの意味か見えなかった。

764 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 07:05:01 ]
相対性理論とLispはどっちが難しいんだ?

765 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 07:52:51 ]
それ自体がどうのではなく、名の通り方の問題だろう。
「挑戦者」達は、まず何より名前に噛み付いてる。

766 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 22:03:26 ]
Lispの話になっても、Lisperのオナニーが多少見えるぐらいで、話は何にも広がらんのな

767 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 22:09:54 ]
Lispのマクロってどんな感じなんでせう?
文法を自分で定義してシンタックスシュガーを作れるってイメージ?

768 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 22:25:34 ]
ググれタコ

769 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 22:28:54 ]
レス数増えたと思ったらやっぱりこれか

770 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:12:03 ]
>>767
構文抽象ってやつだね。でも粘着が暴れるから別のスレで聞いたほうがいいとおもう。


771 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:16:34 ]
>>767
後はコンパイル時にデータを生成したりとか。

772 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 03:25:42 ]
>>744
俺は、a.b.c.d().e.f.gって書けるような
S式みたいというかM式の一種というかC言語風の
データ形式を考えてるけど、なかなか、難しいです。
簡単なschemeへのトランスレータは書いてみたけど、
なんか納得がいってません。
こう、ごちゃごちゃと考えがスパゲッティになってて
どう考えを積み上げていったらいいのかわからない段階です。
とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
とか考えてます。



773 名前:772 mailto:sage [2006/09/15(金) 03:49:02 ]
なんか、話が長くなりそうだし、
スレ作ってしまいました。
pc8.2ch.net/test/read.cgi/tech/1158259643/


774 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 13:24:14 ]
>>772
>とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
カンマがないと、 1, -1 が 1-1 になっちゃうでしょ。






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

前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