06/06/10 01:45:52
どうしてもそう思うなら別にそれでもいいけど
361:デフォルトの名無しさん
06/06/10 06:34:54
>>360
誰もお前のことなんか気にしてないから頑張らなくていいよw
362:デフォルトの名無しさん
06/06/10 08:07:09
>>361
それ、お前が書き込むまでは成立してたんだがなw
363:デフォルトの名無しさん
06/06/10 08:28:39
注目し関心を持つところまでいかなきゃ
「気にする」とは言えないだろ
364:デフォルトの名無しさん
06/06/10 08:30:20
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
365:デフォルトの名無しさん
06/06/10 08:44:29
反応してる時点で気にしまくり
366:デフォルトの名無しさん
06/06/10 08:45:47
どうしてもそう思うなら別にそれでもいいけど
367:デフォルトの名無しさん
06/06/10 08:46:41
Conservative Garbage Collection の基礎を説明しているペーパーが
あったら教えて下さい。↓みたいな基本的な事が書いてあると嬉しいです。
- 何を以てポインタと判断するのか
- ポインタが指している先の変数のサイズをどうやって知るのか
- 実装で良く使われる効率化手法
368:デフォルトの名無しさん
06/06/10 08:55:49
>>366
誰もお前のことなんか気にしてないから頑張らなくていいよw
369:デフォルトの名無しさん
06/06/10 11:30:59
>>367
そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
370:デフォルトの名無しさん
06/06/10 11:40:39
>>367 ほれ
URLリンク(www.google.com)
371:デフォルトの名無しさん
06/06/10 11:57:56
どうしてもそう思うなら別にそれでもいいけど
372:デフォルトの名無しさん
06/06/10 12:19:46
>>371
そろそろレポートの締め切りも近いわけだが、がんばってくれ…。
373:デフォルトの名無しさん
06/06/10 14:13:44
>>372
いや、お前が書き込むまでは頑張ってたんだがなw
374:デフォルトの名無しさん
06/06/10 14:50:05
>>373
誰もお前のことなんか気にしてないから頑張らなくていいよw
375:デフォルトの名無しさん
06/06/10 17:58:05
あ、なんかデジャヴった
376:デフォルトの名無しさん
06/06/10 18:12:25
押井守のアレかよ!
377:デフォルトの名無しさん
06/06/10 18:22:55
話すネタ無いし、ループ好きなのわかったからそろそろ
ループしようぜ!
378:デフォルトの名無しさん
06/06/10 19:54:52
どうしてもそう思うなら別にそれでもいいけど
379:デフォルトの名無しさん
06/06/11 00:28:50
シャヨウ分野だなw
380:デフォルトの名無しさん
06/06/13 22:41:32
なんか、この分野の日本人研究者って、
WーCUPサッカーレベルだねw
381:デフォルトの名無しさん
06/06/13 23:39:09
いや、むしろスキーのジャンプって感じじゃないか?
382:デフォルトの名無しさん
06/06/14 08:42:29
そのこころは?
383:デフォルトの名無しさん
06/06/14 18:40:44
体重が軽い人ほど優秀
384:デフォルトの名無しさん
06/06/14 21:53:52
>>383
いつの時代だよw
385:デフォルトの名無しさん
06/06/14 22:54:08
確かにT先生もN先生もひょろひょろだな
386:デフォルトの名無しさん
06/06/17 21:16:46
>>367
まだここを読んでればだけど、370が示したリンクで最初に出てくる
Boehmの解説ページなり、英語が嫌ならRubyの解説ページなんかいいんじゃないか。
URLリンク(i.loveruby.net)
Rubyの手法の場合、Rubyのオブジェクトしか管理できないので、
Cのmalloc()の代替が欲しいということなら役に立たないけど。
387:デフォルトの名無しさん
06/06/17 22:11:57
そしてループが始まった
388:デフォルトの名無しさん
06/06/18 23:52:57
なんか、この分野の日本人研究者って、
WーCUPサッカーレベルだねw
389:デフォルトの名無しさん
06/06/18 23:58:24
サッカーって書かれると吸血鬼を思い出す。
390:デフォルトの名無しさん
06/06/19 00:01:51
そのこころは?
391:デフォルトの名無しさん
06/06/19 00:40:05
sucker でしょ
392:デフォルトの名無しさん
06/06/19 00:41:09
引き分けたで~
日本の言語技術も、よくて引きわ(ry
393:デフォルトの名無しさん
06/06/19 00:43:30
なんか、この分野の日本人研究者って、
WーCUPフットボールレベルだねw
394:デフォルトの名無しさん
06/06/19 18:53:01
>>393
おそらく一番の馬鹿w
395:デフォルトの名無しさん
06/06/19 19:06:55
>>394
いや、お前が書き込むまでは馬鹿だったんだがなw
396:デフォルトの名無しさん
06/06/19 19:09:06
そのこころは?
397:デフォルトの名無しさん
06/06/19 19:10:39
>>395
誰もお前のことなんか気にしてないから頭良くなっていいよw
398:デフォルトの名無しさん
06/06/19 19:12:04
真の馬鹿がレスしてしまったら
そいつを「馬鹿」とは言えないだろ
399:デフォルトの名無しさん
06/06/19 20:29:35
つまりお前が馬鹿ってことだ。
400:デフォルトの名無しさん
06/06/19 23:32:05
ここは出来の悪い荒らしスクリプトの実験場みたいですね
401:デフォルトの名無しさん
06/06/20 02:25:56
荒らしスレとして、削除されたりしてなw
402:デフォルトの名無しさん
06/06/20 20:57:50
>>400
いや、お前が書き込むまでは実験場じゃなかったんだがなw
403:デフォルトの名無しさん
06/06/20 21:04:49
なにこの強烈な鷹村守
404:デフォルトの名無しさん
06/06/21 03:11:29
ようし、ラットをつれてこい
405:デフォルトの名無しさん
06/06/21 15:24:39
ようし、ラットをつれてこい
406:デフォルトの名無しさん
06/06/22 01:19:53
ようし、マッチョつれてこいキュピピンっていうやつな
407:デフォルトの名無しさん
06/06/24 04:11:36
データフロー解析の簡単な例プリーズ
408:デフォルトの名無しさん
06/06/25 21:04:50
たとえばリンクリスト内にサイクルがあるかを解析するデータフロー方程式は
以下のように書ける。
記号が出なかったので、やっぱりやめ。
409:デフォルトの名無しさん
06/06/26 19:39:40
結論として、Rubyは糞!でよろしかったですか?
410:デフォルトの名無しさん
06/06/26 20:36:14
RubyもLispも糞
411:デフォルトの名無しさん
06/06/26 20:37:19
JavaがBEST
412:デフォルトの名無しさん
06/06/26 20:37:19
それでは、結論として、RubyもLispも糞!でよろしかったですか?
413:デフォルトの名無しさん
06/06/26 23:28:29
それでいいよ。
Haskellに比べたら、それぞれ「不純物」「いい加減」でしかないし。
414:デフォルトの名無しさん
06/06/26 23:44:40
いえ、Haskellは、元々問題外でしたから…
415:デフォルトの名無しさん
06/06/28 21:26:27
質問です、一版論として文字列中への変数値の文字列展開は、どのタイミング
で行うのが一般的でしょうか?
PATH="$PAHT:/etc"
として、文字列リテラルを認識したとき?
それとも左辺へ代入したとき?
それとも左辺値を評価するとき?
416:デフォルトの名無しさん
06/06/28 22:32:20
>文字列リテラルを認識したとき
実装の容易さで大抵これになる。
>左辺値を評価するとき
でもLazy実装もいいかも。
文字列オブジェクトが不変であれば
本当の最後になるまでは展開しなくてもよさげ。
417:デフォルトの名無しさん
06/06/28 23:59:39
>>416
横やりだが、例えば、
x=3
Sample="#x is three."
x+=1
p Sample
のときの表示って、考え方によって異なるね。
418:デフォルトの名無しさん
06/06/29 02:25:02
もし、その表示が異なるなら、考え方の違いと言うより、仕様の違いだと思う>>417
419:デフォルトの名無しさん
06/06/29 23:26:31
設定ファイルを解析し
ソースコードをC、JAVA、C++用に自動出力したいのですが
構造解析までは終わったのですが、そのデータをもとに中間言語を
吐き出したいのです。中間言語のみを作るソフトってありませんか?
420:デフォルトの名無しさん
06/06/30 00:00:48
javac
421:デフォルトの名無しさん
06/06/30 00:02:09
>>419
・設定ファイルって一体なんだ
・中間言語のみを作るソフトはいっぱいあるが、それがどうしたのか
・というか、あんたは一体何をしたいのか
422:デフォルトの名無しさん
06/06/30 00:08:27
>>421
設定ファイルには制御機器のパラメタとかそんな情報が入ってます。
この設定ファイルを読み込み各機器に合わせた設定を行う
Cのソースを吐かせたいのですよ。
中間言語だけ作るソフト教えてくれませんか?
423:デフォルトの名無しさん
06/06/30 00:13:06
> ソースコードをC、JAVA、C++用に自動出力したいのですが
> Cのソースを吐かせたいのですよ。
JAVAとC++は何処へ行った
424:デフォルトの名無しさん
06/06/30 00:18:34
>>422
設定ファイル C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→
変換機
この 「変換機」 が作りたいという判断でOK?
んで、求めているのは
設定ファイル 中間言語 C/C++/Java のプログラム
→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
中間言語作るソフト 自作の変換機
これか?
425:デフォルトの名無しさん
06/06/30 00:23:05
うんうんそうそう
俺なんか>>424が神様に見えてきたよ
ありがたやありがたや。
>>423
最初から欲張るなとか怒られそうなので控えめな
最小限の希望を最後に書きました
426:デフォルトの名無しさん
06/06/30 00:26:22
>>425
とりあえず 「設定ファイルの仕様」 「変換後の C/C++/Java ソースコードのサンプル」 だけでも教えてくれ。
それが分からないと、どうにも言いようがない罠w
427:デフォルトの名無しさん
06/06/30 00:33:03
まだファイルの仕様とか決めていないのですよ
中間言語作るソフトって具体的にどんなソフトなのでしょうか
428:デフォルトの名無しさん
06/06/30 00:37:29
求めてるソフトに望んでる仕様は何なんだ?
多分そんなソフトはないし全部作ることになると思うけど。
429:デフォルトの名無しさん
06/06/30 00:38:11
>>427
バカスwwwwwwwwwwww
お前が求めているソフトは未来人でしか作れんわwwwwwwwww
どうだろうね。.NET の CodeDOM とか参考になるかも。
430:デフォルトの名無しさん
06/06/30 00:45:53
えーと、gccのRTLという中間言語どうやって出来たんだろう
なんかツールで文法とか作ったのかな
431:デフォルトの名無しさん
06/06/30 01:02:23
>>430
もしかして、中間言語の仕様を自動生成しようとか思ってるw?
432:デフォルトの名無しさん
06/06/30 02:51:42
言語をいくつか嗜んでくうち野心に満ちてきました。
俺言語作りたい!!
ポインタをハッシュテーブルで包んであげたらOOPなる?
そんなあまかないですね。
質問であります。俺言語作る人って出回ってるライブラリとか使わないの?
433:デフォルトの名無しさん
06/06/30 03:00:01
>>432
新しく作った言語は、Red-Sapphire と命名しましょう。
434:デフォルトの名無しさん
06/06/30 03:20:35
>>432
命名の参考までに
宝石の一覧
URLリンク(ja.wikipedia.org)
鉱物の一覧
URLリンク(ja.wikipedia.org)
神の一覧
URLリンク(ja.wikipedia.org)
悪魔の一覧
URLリンク(ja.wikipedia.org)
伝説の生物一覧
URLリンク(ja.wikipedia.org)
Category:一覧
URLリンク(ja.wikipedia.org)
435:デフォルトの名無しさん
06/06/30 03:22:48
>>432
>ポインタをハッシュテーブルで包んであげたらOOPなる?
Io をオススメしてみる。
436:デフォルトの名無しさん
06/06/30 04:58:18
スロットの問い合わせにハッシュを使わない動的型付けな OOPL の実装ってある?
437:デフォルトの名無しさん
06/06/30 06:15:36
>>432
名前はダイナモンドにしろ
438:デフォルトの名無しさん
06/06/30 10:16:15
それいけそれいけガイコッツー うんうん ガァ~イコツー
439:デフォルトの名無しさん
06/06/30 20:31:34
命名の参考にもっとも必要なのは、
プログラム言語名称の一覧ではないかと愚考する
440:デフォルトの名無しさん
06/06/30 21:32:11
>>439
それもそうだな。
プログラミング言語一覧 - Wikipedia
URLリンク(ja.wikipedia.org)
ABC's Song - kMonos.NET
URLリンク(www.kmonos.net)
Hello, World Page!
URLリンク(www2.latech.edu)
もっと詳しいのなかったっけ?
441:デフォルトの名無しさん
06/07/01 01:06:27
>>440
2つ目のリンクがオッパイのflashかと思ってしまいましたorz
442:デフォルトの名無しさん
06/07/01 02:05:09
>有志の皆様
ふれてない命名だけこんな濃いアドバイス頂きありがとうございます。
>435
io をちょろっといじくってますけど、
他の言語手を出せば出すほど車輪が頭を過ぎりました
関係ないですけど、flexとbisonをいじり倒してみて思った事があります。
サンプルの使い方から馴染むと苦労する。そんな事無い?
443:デフォルトの名無しさん
06/07/01 09:43:31
最近の流行は手書きだぞ
gcc4.1だってフルスクラッチで書いてあるんだぞ
444:デフォルトの名無しさん
06/07/01 14:37:43
C++のfrontも?
445:デフォルトの名無しさん
06/07/01 14:41:46
>>444
front?
446:デフォルトの名無しさん
06/07/01 18:46:45
お客様frontは、3階になっております
447:デフォルトの名無しさん
06/07/07 01:10:43
正規表現のRFCってどこにあったっけ?
448:デフォルトの名無しさん
06/07/07 01:58:58
POSIX じゃ駄目?
449:デフォルトの名無しさん
06/07/07 02:01:57
完全にサポートしているソフトがない規格
450:デフォルトの名無しさん
06/07/08 08:05:00
>>449
アフォ?
ふつうフルサポートされてますが、
451:デフォルトの名無しさん
06/07/08 09:39:59
されてないよ
ケーパビリィティとか
つうかPOSIXったって細かく色々あるわけで
452:デフォルトの名無しさん
06/07/08 16:03:26
POSIXのどれか指定しないと意味のない議論だね。
453:デフォルトの名無しさん
06/07/09 18:02:50
ん?アフォ?
正規表現の話でしょ?
Posixで確定できるよ。
454:デフォルトの名無しさん
06/07/09 18:37:58
そうですね
455:デフォルトの名無しさん
06/07/09 19:01:20
なんだよいいともかよ
456:デフォルトの名無しさん
06/07/12 04:44:30
POSIXよりPerlの正規表現が強力な件
457:デフォルトの名無しさん
06/07/12 04:57:22
N88BASICみたいな初心者向けの言語で、広く使われている言語ってありますかね?
458:デフォルトの名無しさん
06/07/12 09:34:29
すぐ思いつくのは Python かな。もともと教育用言語だった。
459:デフォルトの名無しさん
06/07/12 12:04:09
>>458
なるほど、教育用言語は間違いなく初心者向けですね
教育用言語と言われるとPascalも思い出しますね
ありがとうございます
ただ、プログラミングの教育用言語というようなもの以外に、
普段プログラミングをしない人が初めてのプログラミングが必要になる、
そういう場合に適した言語を探しています。
VisualBasicは書いたことがないけど、感覚的にはそういうのです
460:デフォルトの名無しさん
06/07/12 18:23:21
教育用=初心者用 ということならば、
Lisperは皆初心者ってことでOK?
461:デフォルトの名無しさん
06/07/12 18:42:35
>>459
そういうことならTcl/TKが適しているように思う。
必須となる概念が少ない、GUI作成が容易、環境非依存等々。
462:デフォルトの名無しさん
06/07/12 21:00:07
>>459
JavaScript か Python かなぁ。
色んなツールのマクロ言語として良く使われているから、非プログラマにも
受け入れられ易いんじゃないかな。
>>460
Lisp が対象としている初心者は、将来 Wizard になる事を期待されている
理工系の学生とかじゃないかな。
463:デフォルトの名無しさん
06/07/12 21:57:37
>>462
ECMAScriptは初心者用とは違うでしょう。Pythonは知らないけど。
N88BASICかVisualBasicかでいいんじゃないかと思う
464:デフォルトの名無しさん
06/07/12 22:28:44
初心者専用という意味ではなく、初心者にも取っ付き易い言語って事で挙げたんだけどな。
ドキュメントが多いし、インストール不要だし、エディタマクロやちょっとしたウェブページの装飾
にも使われているし。
後は用途次第かな。
465:デフォルトの名無しさん
06/07/12 22:37:57
皆さんありがとうございます。
>>464
用途としては、実はJavaScriptを書かせるのが難しすぎるため、
もっと簡単な言語を用意してあげられないか、という話なのです。
プログラマじゃない人間にとってはJavaScriptも難しすぎるようです。
466:デフォルトの名無しさん
06/07/12 22:52:17
さあどんどん後出し設定がでてきますよ
467:デフォルトの名無しさん
06/07/12 22:56:58
実は生徒は日本語が(ry
468:デフォルトの名無しさん
06/07/12 23:02:20
>>465
JavaScript がダメなら Python もダメだろうね。
普通の人なら半日も教えれば自習出来るようになるとは思うけど...
469:デフォルトの名無しさん
06/07/12 23:24:35
>>468
はい。実はPythonも試してみましたが難しすぎるようでした。
470:デフォルトの名無しさん
06/07/12 23:36:19
BASICでいいじゃん。
変数の宣言もいらないし、関数の概念すらないし、
GOTOは直感的にわかりやすいだろうし、
初めてプログラムを書く人にとっては良いと思うよ
471:デフォルトの名無しさん
06/07/12 23:41:01
URLリンク(ja.wikipedia.org)
Full BASICという標準化されたベーシックがあるらしいな
でも行番号のないベーシックはベーシックでない気がする
472:デフォルトの名無しさん
06/07/13 00:02:23
BASICの肝ってインタラクティブ環境だってことだと思うんだけどなぁ。
言語がlispでエディタ機能がグッとよくなったらemacsって言うのかもしれないけど
473:デフォルトの名無しさん
06/07/13 00:26:39
>>472
インタラクティブ、懐かしいね。すっかり忘れてた
474:デフォルトの名無しさん
06/07/13 02:44:19
Javascriptのどこが難しいんだよ
奥は深いけど、軽く使う分にはお手軽じゃんよ
いきなり「プロトタイプ指向の~」とか教えてないよな
475:デフォルトの名無しさん
06/07/13 03:34:49
>>474
例外的な文法が多くて混乱させる悪質な言語だと思う。
・グローバルスコープでは変数の宣言が必要なくて、関数スコープでは必須
・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
・o["name"]とo.nameが同じにも関わらず、o["123abc"]は問題なくo.123abcは文法違反
476:デフォルトの名無しさん
06/07/13 09:31:05
>>475
>・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
これは良いんじゃないの。同じなんだから。
477:デフォルトの名無しさん
06/07/13 09:50:37
>>476
var a = []; a[0] = 0; a[1] = 1; window.alert(a.length);
var o = {}; o[0] = 0; o[1] = 1; window.alert(o.length);
478:デフォルトの名無しさん
06/07/13 10:28:25
javascript は with が邪悪に感じるよ
with ("") toString = toString();
こんなよーなのに殺意を抱く
あと
this[0]
this["0"]
this[00]
this["00"]
this[false]
this["false"]
ここらへん違和感
479:デフォルトの名無しさん
06/07/13 13:42:41
>>475にとっては自分自身で設計した言語じゃないと全て例外ありまくりだな。
> ・グローバルスコープでは変数の宣言が必要なくて、関数スコープでは必須
グローバルスコープでも宣言すりゃあいいんでは。
「宣言したら宣言のあったところのスコープになる。なければグローバル」
と理解すればいいんじゃないの。
> ・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
どこが例外的なのかさっぱり理解できん。
> ・o["name"]とo.nameが同じにも関わらず、o["123abc"]は問題なくo.123abcは文法違反
後者でo.123abcを許す方が例外的だと思う。
480:デフォルトの名無しさん
06/07/13 15:24:27
>>475
>・オブジェクトへのアクセスと配列へのアクセスの表記が全く同じ
ECMAScript のArrayは「配列型」みたいな専用の型じゃなくて「Arrayオブジェクト」だもの…
オブジェクト型である以上他のオブジェクトと同じようにアクセスできるのが自然.
# だからといってECMAScript がそれほど初心者向き言語だとは思わないが…
481:デフォルトの名無しさん
06/07/13 15:29:51
>>479
> 後者でo.123abcを許す方が例外的だと思う。
実装屋さんからすればその通りだが、俺が初めてCに触ったときに
void 3kaku() {}
という関数が受け入れられない理由がさっぱりわからなかった。
技術者の発想では、初心者用の言語は出来ないだろうね。
482:デフォルトの名無しさん
06/07/13 20:56:59
言語の方からすべて初心者の要望にあわせた言語を作るなら
使い物にならん日本語言語が出来るか
VBやHSPをはるかに超えたクソ言語ができるだろう。
483:デフォルトの名無しさん
06/07/13 21:10:24
コンパイラに入門をしたいのですが、
最低限動かしながら覚えていく手段はありませんでしょうか?
コンパイラの簡単な理論の本は読んだんですが、
コンパイラが動くための全ての理論を理解して全て実装してから
というのは膨大な時間が必要なようで困っています。
484:デフォルトの名無しさん
06/07/13 21:23:27
まずRubyの一行スクリプトから初めて、
次の日に二行スクリプト、
次には三行スクリプト。
485:デフォルトの名無しさん
06/07/13 21:26:07
Intelにインターンとして行ってみたら?
486:デフォルトの名無しさん
06/07/13 23:04:30
>>478
どこが?
お前の感覚では、100円と100Kg が違うのも違和感だろうなぁ
487:デフォルトの名無しさん
06/07/13 23:16:05
>>486
あれ、478は100円と100kgが同じであることに違和感を感じているんでしょ?
488:デフォルトの名無しさん
06/07/13 23:55:05
>>485
Intelとは技術展で飴もらうくらいしか関わり合いがないれすorz。
489:デフォルトの名無しさん
06/07/14 00:17:48
>>483
仮想マシンつくってそのマシン用のコンパイラを今の自分の環境で作って
その次にその新しい言語のコンパイラを自己記述してから仮想マシンに持って行く
という方法が一番学習には向いてるとおもう。
古い文献(30年位前?)でμplanって言語の紹介がbitにあったけどああいうもので始めるのはある意味正解かもしれない
planのvmは4Kバイトのアドレス空間しかない16ビットの仮想スタックマシン.
つかコンパイラ系の処理の何を会得したいのか不明じゃあんまり示唆のしようもないんだけどな。
490:デフォルトの名無しさん
06/07/14 02:30:37
>>483
機械語コードを吐くコンパイラ作成の入門としては、昔こんなのがあったんだけど、
yaccによるCコンパイラプログラミング (単行本)
近藤 嘉雪
URLリンク(www.amazon.co.jp)
今はもう手に入らないしねえ。
>>489の言うとおり、最初は簡単な仮想マシン上で動くものを作るほうがいいように思う。
yacc/lex―プログラムジェネレータonUNIX (単行本)
五月女 健治
URLリンク(www.amazon.co.jp)
この本では、簡単なスタックマシン上で動作するCライクな処理系の
フルソースが載ってたはず。でもこれも絶版…と思ったら、Amazonで中古が
手に入るのか。
レビューでは星ひとつになってるが、俺には結構役に立ったんだがなあ。
# でもやっぱり説明は役に立たずに、ひたすらサンプルコードを読んでたが。
491:デフォルトの名無しさん
06/07/14 16:08:20
全部持ってるけどさわり以外まったく読んでないな
492:デフォルトの名無しさん
06/07/14 23:19:36
本読んで理解するより、自分で作った方が早い
BNFと再帰程度の知識で、コンパイラは書ける
493:デフォルトの名無しさん
06/07/14 23:35:12
コンパイラ作れない香具師はプログラマとして認められず
494:デフォルトの名無しさん
06/07/14 23:50:47
どっちの人にもメール送ったけど原稿は紙だし再販する気は
ないみたい
495:デフォルトの名無しさん
06/07/15 01:18:14
────────────────
参加者:筑紫 鳥越 古舘 小倉 田原 閲覧(1)
────────────────
筑紫 : ROMってる奴ってネットウヨなんじゃないの?
────────────────
鳥越 : インターネッツのゴミ貯め・2chに生息するあの連中ですかww
────────────────
古舘 : 怖い怖い、我々も論破されちゃうんですかね~(藁
────────────────
田原 : 論破して貰おうじゃないの、ホラ、入ってきなさいよ
────────────────
小倉 : さっさと入って来いよ、ハゲ!
────────────────
『櫻井よしこ』が入室しました
────────────────
『筑紫』が退室しました
────────────────
『鳥越』が退室しました
────────────────
『古舘』が退室しました
────────────────
『田原』が退室しました
────────────────
『小倉』が退室しました
496:デフォルトの名無しさん
06/07/15 12:13:26
>>483
こんなのもあった。
URLリンク(www.watalab.cs.uec.ac.jp)
497:デフォルトの名無しさん
06/07/15 15:52:21
>>483
これも小さいね。
URLリンク(www.nk.rim.or.jp)
498:デフォルトの名無しさん
06/07/15 21:07:09
なんでどっちも、圧縮形式で何十キロもあるんだよ
最低限のことしかやってなかったら、そんなに大きいはずない
俺が暇つぶしに書いたヤツ、圧縮しなくても18キロだよ?
499:デフォルトの名無しさん
06/07/15 21:25:16
このスレで IActiveScript 系の質問するとスルーされるようなのですが、
他に専用スレでもあるんでしょうか?
500:デフォルトの名無しさん
06/07/15 21:59:54
>>498
vtlの方はしょうがないんじゃないの、実行ランタイムもついてたし。
なにしろvtlでvtlコンパイラ書いてあるの初めてみた(近いものでgameコンパイラ以来かも、つってもラベル使えるvtlってのはvtlと認めたくないけど)
501:デフォルトの名無しさん
06/07/16 09:44:55
DQN玄子はするーされまつ
502:デフォルトの名無しさん
06/07/17 22:36:41
インタプリタつくってるんだけど、実行部分のクラス名をExecutorにするかEvaluatorにするかで迷ってます。
どっちがいいと思う?
つまらん質問でごめん!
503:デフォルトの名無しさん
06/07/17 22:40:00
古の REPL に倣うなら Eval... の方。
504:デフォルトの名無しさん
06/07/17 23:07:54
小さいコンパイラシリーズもっとキボンヌ
505:デフォルトの名無しさん
06/07/18 01:33:43
>>498
496のほうだけど、圧縮ファイルほどくとドキュメントが一番でかいよ。
506:デフォルトの名無しさん
06/07/19 19:42:17
りんごタン
507:デフォルトの名無しさん
06/07/20 14:27:02
>>499
IActiveScriptのIDispatch の話なら、
URLリンク(alpha.sourceforge.jp)
この辺見たら何かわかるかも。
「自分のグローバルメンバを公開するか」ということと、
「他の言語のグローバルメンバにアクセスできるか」ということに分けて考えられる。
前者については IActiveScript::GetScriptDispatch で得られる
IDispatch (IDispatchEx で実装していることが多いみたい) ポインタがグローバルオブジェクトになり、
等とかいてあるけど。
508:デフォルトの名無しさん
06/07/20 17:52:38
あ?ケンカう
509:デフォルトの名無しさん
06/07/21 13:26:41
>>502
Executor インタプリタ の検索結果 約 1,520 件中 1 - 10 件目 (1.46 秒)
Evaluator インタプリタ の検索結果 約 279 件中 1 - 10 件目 (0.83 秒)
Executor interpreter の検索結果 約 147,000 件中 1 - 10 件目 (0.14 秒)
Evaluator interpreter の検索結果 約 554,000 件中 1 - 10 件目 (0.33 秒)
日本だと、Executor 国際的にはEvaluatorが多いみたい。
510:デフォルトの名無しさん
06/07/21 19:32:04
executorは殺されそうで怖い
511:デフォルトの名無しさん
06/07/21 22:08:03
executeだとVMのようなバイトコードエンジンのイメージがある
evalだと値の評価って感じなのでノードを扱ってるイメージかも
>>510
死刑執行人だっけ?
512:デフォルトの名無しさん
06/07/21 22:22:17
えくせきゅーしょなー
513:デフォルトの名無しさん
06/07/21 23:26:24
evaluator の方は validate 噛ましてるようなイメージない?
514:デフォルトの名無しさん
06/07/25 22:41:35
一方ロシアはawkを使った。
515:デフォルトの名無しさん
06/07/25 23:48:30
それ、元ネタなんだっけ?
516:デフォルトの名無しさん
06/07/25 23:58:22
安西先生
517:デフォルトの名無しさん
06/07/26 00:49:16
>>515
鉛筆を使ったって奴じゃろ。
518:デフォルトの名無しさん
06/07/26 22:58:00
しかし、日本はRubyを選んだ。
519:デフォルトの名無しさん
06/07/27 03:06:29
しかし島根は Ruby を選んだ
URLリンク(www.rubyist.net)
520:デフォルトの名無しさん
06/07/28 16:59:13
アンチRuby房は、竹島を韓国領土とでもいうのでしょうな。
521:デフォルトの名無しさん
06/07/28 22:35:19
>>520
言おうものなら自分の立脚している大地をぶちこわすだけだよ(笑
#国民は総統の(元台湾のw)声を聞く!
#元ネタわかる人は原語で書いてみよう
522:デフォルトの名無しさん
06/07/28 22:37:02
台湾の総統って4人しかいないんか
523:デフォルトの名無しさん
06/07/29 13:28:59
>>520
そんなアンチ「Ruby房」は君の妄想の中にしかいないから安心しろ。
Rubyの実装が腐ってるのは事実だし、これは作者も認めるだろう。
言語仕様は結局好みの問題だろうが。
524:デフォルトの名無しさん
06/07/29 15:47:47
実装が腐っているとか、作者も認めているとか
言いたい放題言いやがって、
脳内玄子お宅馬鹿は、すっこんでろ!
525:デフォルトの名無しさん
06/07/29 18:19:21
とまぁこんな風にRuby信者は頭が悪いわけです
526:デフォルトの名無しさん
06/07/29 18:34:14
こういうのって安置rubyが意図的に書き込んでるじゃなかったの?w
527:デフォルトの名無しさん
06/07/29 19:52:43
使う側にとっては実装が腐ってても別にかまわんわけで
でもbeginとendで囲むのはめんど(ry
528:デフォルトの名無しさん
06/07/29 21:36:44
beginとendで囲むと言ってる時点でruby使って無いのがバレている訳で
529:デフォルトの名無しさん
06/07/29 21:38:59
python使いです
530:デフォルトの名無しさん
06/07/29 23:15:18
{}でも大丈夫です
531:デフォルトの名無しさん
06/07/29 23:36:34
> Rubyの実装が腐ってるのは事実だし、これは作者も認めるだろう。
おい、ソース出してみろよw
ふざけたこと書き込むなよな。馬鹿が信じるだろw
532:デフォルトの名無しさん
06/07/29 23:47:43
>>531
URLリンク(www.rubyist.net)
>まあ、自分のことを言語実装者としてよりも言語設計者と考えている私としては
URLリンク(www.rubyist.net)
>これでRiteの実行系は任せることができるかもしれない。楽できる。
>というか、モノをつくり出す能力が減退しているので、笹田くんのような若い力はありがたい
ぱっと思い出せるフレーズとしてはこんな感じ。
まあ、これは自虐じゃなくて謙遜だろうけど。
533:デフォルトの名無しさん
06/07/30 00:06:49
それだけの情報で「腐ってる」とは・・・
534:デフォルトの名無しさん
06/07/30 00:21:07
どの行間読んだら、作者が認めていることになるんだw
535:532
06/07/30 00:25:53
>>534
あ、俺 >>523 じゃないから注意ね。言っても信じてもらえんとは思うが。
536:デフォルトの名無しさん
06/07/30 01:03:43
どうにもこうにも、Rubyの実装が腐っていることは事実なんだけどな。
いまどきVMでもない、再帰で構文木を下降するような実装で、
本質的に速度を追求できない構造であるにもかかわらず、
いらんところでCの低レベルな機能に頼りすぎ。
breakごときでlongjmp()するし、GCはスタックの構造に依存してるし、
Fixnumの持ち方なんかなんだありゃ。
スレッドがアレなのは、時代からするとしょうがないのかもしれないけれど。
それ以前に、ソース自体グローバル変数使いすぎだし。
ちなみにPerlの実装はもっと腐ってるが。つかあれのソースは読めない。
537:デフォルトの名無しさん
06/07/30 03:33:11
Fixnumはオブジェクトとして扱いながら即値としても扱えるというメリットがあって好きだけど
538:デフォルトの名無しさん
06/07/30 04:41:31
最近VMベースのruby実装もできてきてるがな。
539:デフォルトの名無しさん
06/07/30 11:23:35
>>537
タグつきで数値とポインタを切り分けること自体は
Lispとかじゃあたり前にやってることで
別におかしくない
Ruby自体知らんから、Fixnumの何処が悪いかは知らんが
540:デフォルトの名無しさん
06/07/30 11:33:59
>本質的に速度を追求できない構造であるにもかかわらず、
>いらんところでCの低レベルな機能に頼りすぎ。
これ一行目と二行目で言ってること矛盾してるんだよね。
本質的に速度を追求できない構造であるからこそ
いらんところでCの低レベルな機能に頼ってるんだよ。
541:デフォルトの名無しさん
06/07/30 11:35:18
あ、漏れ一応 >540 だけど
Fixnum は良いと思うよ
542:デフォルトの名無しさん
06/07/30 15:10:07
>>539
Lispどころか、コンパイルするのが前提のMLなんかでも普通に
タグつけてる。
543:デフォルトの名無しさん
06/07/30 18:22:30
だんだんと、Ruby 擁護スレになりつつありま(ry
544:デフォルトの名無しさん
06/07/30 19:46:53
>>568
お前はよくこのスレの流れを変えれたよな
すごい尊敬するよ
545:デフォルトの名無しさん
06/07/30 19:57:41
さすがだよな>>568
546:デフォルトの名無しさん
06/07/30 19:58:14
すげーや>>568
547:デフォルトの名無しさん
06/07/30 20:07:01
オレも>>568はやってくれると思っていたよ。
548:デフォルトの名無しさん
06/07/30 20:21:42
>>568に嫉妬
549:デフォルトの名無しさん
06/07/30 20:26:16
また厨房大好き未来安価か
550:デフォルトの名無しさん
06/07/30 20:36:58
>>551
また「もう夏休みか」って聞き飽きたよ!
551:デフォルトの名無しさん
06/07/30 20:44:45
>>540
>本質的に速度を追求できない構造であるからこそ
>いらんところでCの低レベルな機能に頼ってるんだよ。
rubyの実装の詳細を全く知らないあたしには、
一行目と二行目が全くつながりません
速度的に絶望な上に、プログラム的にも汚くて
どうしようもない実装には、なんとなく聞こえますが
552:デフォルトの名無しさん
06/07/30 20:57:53
「知らないからわかりません」
そりゃそうでしょうな。
次の方どうぞ。
553:デフォルトの名無しさん
06/07/30 21:42:23
そりゃ、おまいもしらんもんなw
554:デフォルトの名無しさん
06/07/30 21:47:13
よくわかんないけどさ、
ruby は (perlよりも) 純粋なオブジェクト指向言語だ
ってあたりでみんな同意して次いかないか?
555:デフォルトの名無しさん
06/07/30 21:52:34
話題なんかねーんだからムリして話流そうとしてもムダだよ
556:デフォルトの名無しさん
06/07/31 10:48:07
lispは主にリスト処理だけど、リストは線形探索とかで効率悪い。
配列を主に処理する言語としてarraypというのはどうだろう。
arraypでは語呂悪いのでrayp。
そこのあなた、
レイプじゃなくてレイピーと読みます。
557:デフォルトの名無しさん
06/07/31 16:51:41
XMLなんてlispがあれば必要ない、って言ってた馬鹿はまだいますかね?
558:デフォルトの名無しさん
06/07/31 17:18:22
ノ
559:あばよ
06/07/31 18:10:54
明日コンパイラの試験があるんだが
無理
560:デフォルトの名無しさん
06/07/31 22:17:22
配列も探索は線形だろアホ
561:デフォルトの名無しさん
06/07/31 23:54:09
いや、ハッシュとか使えるじゃん
リストは苦しいっしょw
562:デフォルトの名無しさん
06/08/01 00:04:12
lispでもhash使えることも知らんからアホ扱いされるんだよ
563:デフォルトの名無しさん
06/08/01 00:06:44
>>561
わけわかめ。
配列はメモリ上に連続するデータ構造で、リストはポインタでつなげて順番を保つデータ構造って感じのイメージなんだが、違うんか?
ハッシュとか言い出したら、ハッシュ表からそれぞれの要素へのポインタ張れば、配列にでもリストにでも組み込めるじゃん。
564:デフォルトの名無しさん
06/08/01 00:24:51
>リストはポインタでつなげて
厳密には、それは 『線形連結リスト』 だと思う。
565:デフォルトの名無しさん
06/08/01 00:39:02
ArrayListとかあるしな
566:デフォルトの名無しさん
06/08/01 00:57:51
つうかリストは悪者にされすぎだと思うんだ
使い方間違えなければ配列よりも適した場面だって多々ある
567:デフォルトの名無しさん
06/08/01 01:03:56
>>562
Lispで配列もハッシュも使えること知ってて
わざとぼけたの
ネタにマジレスすんな
568:デフォルトの名無しさん
06/08/01 01:07:13
>>567
文字列も使えるよ
569:デフォルトの名無しさん
06/08/01 01:10:01
>>563
配列しかデータ構造がない場合でも
配列があれば、配列を使ってハッシュ表を実装することができる
そうすれば、線形探索以外の探索ができる
リストしかデータ構造がない場合は、
ちょっと思いつかねえや
まあ、苦しいでしょ
570:デフォルトの名無しさん
06/08/01 01:31:22
>>567
はいはい、いつものネタでした宣言ですね。
まいどありー。もう来ないでくださいねー。
571:デフォルトの名無しさん
06/08/01 01:59:19
だからそのリストしかデータ構造がないってのはどこ系の思い込みなのかと
572:デフォルトの名無しさん
06/08/01 16:52:33
もうネタはいいよw
Lisp は List Processor だろ。もう来るな!
573:デフォルトの名無しさん
06/08/01 17:29:47
luaはテーブル操作主体の言語だけど、どうだろうか。
574:デフォルトの名無しさん
06/08/01 17:40:54
配列厨はAPL使ってろ
575:デフォルトの名無しさん
06/08/01 20:47:10
>>571
556がそれっぽいこといってるから
適当にそういう状況を想定して書いただけだけだ
殆どのヤツが、ついて来れなかったみたいだな
576:デフォルトの名無しさん
06/08/01 21:50:27
はいはい。お子様はよそで遊んでおいで
577:デフォルトの名無しさん
06/08/01 22:57:11
ネタとしては非常に分かり難かったから仕方が無いでしょう。
578:デフォルトの名無しさん
06/08/02 07:11:13
リスト構造を使わない速いschemeを作ろう
スレリンク(tech板)
579:デフォルトの名無しさん
06/08/03 10:02:43
パーサってテキストをパースしてアクションを起こすものだと思うんですが、
オブジェクトの状態をパースしてアクションを起こしたいと思ったら、
オブジェクトをテキスト表現に変換して、そのテキストをパーサに食わせる
って考え方でいいんでしょうか?
rubyでたとえると「p obj」で得られたテキスト表現を
raccで書いたパーサに食わせるとか、p()じゃなくて
YAML形式にしてYAMLのサブセットのパーサを書いて食わせるとか
580:デフォルトの名無しさん
06/08/03 14:19:25
オブジェクトのままじゃダメなの?
581:デフォルトの名無しさん
06/08/03 15:54:59
テキストである必然性はないので、dump/loadとか
582:579
06/08/03 17:49:21
>>580
オブジェクトのままでいいんです。
でもオブジェクトをパースしてアクション起こすものって、
結局rubyでゴリゴリプログラムを書かないとダメじゃないですか。
raccなら文法を専用の記法で書けるし、メンテ楽だし。
raccの入力がテキストである以上、いちどオブジェクトを
テキスト表現にしないといけないのかな、と。
583:デフォルトの名無しさん
06/08/04 02:15:26
Rubyでゴリゴリってのと
専用の記法というのの違いがわからない。
Rubyじゃなくて他の記法でparserを書きたい、
けどparseする対象はRubyのオブジェクトですよ、ってこと?
584:デフォルトの名無しさん
06/08/04 03:04:59
なんとなく有限状態マシン的なコードを楽に書ける方法ない?ってだけな希ガス
585:デフォルトの名無しさん
06/08/04 03:42:13
オブジェクトをパース
っていう意味がわからない
説明よろ
586:デフォルトの名無しさん
06/08/05 00:44:41
普通にEnumとかのデータ読み込んで次のオブジェクト作ったり
読んだりするだけじゃね?
587:デフォルトの名無しさん
06/08/05 01:16:30
だけじゃね?厨はスルーでよろ
588:デフォルトの名無しさん
06/08/05 10:50:40
オブジェクト脳で無い奴にはあまりピンとこないかもしれないが、
オブジェクト思考はこれからの言語の基本となることは確か。
589:デフォルトの名無しさん
06/08/05 10:56:42
お前らが言ってることがさっぱり分からない。
具体的に語れ。
590:デフォルトの名無しさん
06/08/05 12:31:14
10年前からタイムスリップしてきた奴が見受けられるな・・・
具体的に語ると>>588とか
591:デフォルトの名無しさん
06/08/05 12:35:26
時代はMQだしなMQサイコーMQは素晴らしい
592:デフォルトの名無しさん
06/08/06 08:40:24
「すべてがオブジェクト」って、意訳すると「手抜きしました」
ってことだよね?
593:デフォルトの名無しさん
06/08/06 11:08:43
O(log n) であくせすできるリスト構造
URLリンク(www.informatik.uni-bonn.de)
594:デフォルトの名無しさん
06/08/06 14:06:21
>>593
ざっと読んでみようと思ったけどさっぱりわからんかったorz
ハッシュ表作ればO(1)でアクセスできるけど、それ以上のメリットって何なの?
595:デフォルトの名無しさん
06/08/06 14:23:09
>>594
ゴキブリみたいなデータ構造になって気持ち悪くなるってメリットあると思う
596:デフォルトの名無しさん
06/08/06 16:00:12
>>594 abstractも読んでないのかよ。
597:デフォルトの名無しさん
06/08/06 16:27:48
>>594
いいハッシュ関数がないときはどうするの。
598:デフォルトの名無しさん
06/08/06 16:41:18
そこそこいいハッシュ関数を探す
599:デフォルトの名無しさん
06/08/06 17:24:04
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 先輩。ハッシュならいいのがありますよ
\
 ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ・∀・) ∧ ∧ < MD5とかいうなよ
( ⊃ ) ( ゚Д゚) \____________
 ̄ ̄ ̄ ̄ ̄ (つ_つ__
 ̄ ̄ ̄日∇ ̄\| DELL |\
 ̄ ======= \
600:デフォルトの名無しさん
06/08/06 17:28:04
配列のが速いよ絶対
601:デフォルトの名無しさん
06/08/06 17:51:31
関数型言語でリスト的にアクセスできるってのが目的じゃない?
602:デフォルトの名無しさん
06/08/06 20:04:44
2-3木っつーから平衡木の話かと思ったらそうじゃなかったのか。
誰か日本語に翻訳してくれ。
リストに対するアドバンテージは何なのかな。
603:デフォルトの名無しさん
06/08/06 20:33:18
いやだからゴキブリみたいな構造がキモイだけって
だけのはなしなんだが
604:デフォルトの名無しさん
06/08/07 15:09:34
私は英語苦手なんだけど、皆さんはどうやって訳してます?
PDF→テキスト→辞書を英次郎で引く→テキストに1個書くってやってるんだけど。
機械翻訳は補助には使うけど。結局使えないし。
605:デフォルトの名無しさん
06/08/07 15:45:53
普通に読んでるけど。量をこなせば日本語と同じように読めると思う
606:デフォルトの名無しさん
06/08/07 16:06:55
>>604
俺も大学のときはそんな感じでやってた。
先輩風吹かすと、
技術書の場合、予備知識なしに英文だけ読んでも分からない場合があるので、
その技術に関する日本語の本も並行して読むといい。
一言一句を表面的に和文に置き換える能力は基礎の基礎で、
こなれた訳文を作る能力をみがきたい(文章の内容を理解して、それを表現する能力)。
辞書は英英も使いたい。英英なら言葉の意味が文章で説明されているが、
英和は(項目によっては?)あたらずとも遠からずな日本語の単語が羅列されてるだけ。
お勧めはOALD。(ホントは英英を和訳した辞書があればいいのにと思う)
余裕があれば、将来英文を書くときのために、使えそうな言い回しをメモっておくとよい。
607:デフォルトの名無しさん
06/08/07 16:17:06
ある程度、自己解決しました。
最近はブラウザでピロっと出てくれるけど、
すぐ忘れるので頭に残ってくれない。
出たテキストがブラウザに貼り付いててくれるといいんだがと思って、
TrEditっての見つけて、辞書引く効率UPしました。
VBで作られてて良く落ちるんだけどまぁいいや。
今までに比べはるかに、スピードUPしました。ありがとうございました。
勝手に嬉しくなって読んで見てます。
とりあえず内容は遅延評価前提だけど、
今までは一般的に速いリストの操作はあったけど、複雑だったのが
簡潔に一般的に書けるようになったってことでしょうか?
前提となる知識として、モノイドとRight and left reductions 右と左還元があるとか。
モノイド自体よくわからないけど、、、書いてある式はこれだけ。
class Monoid a where
0 :: a
(c) :: a → a → a
このモノイドの+と○を合体させたような演算子は結合演算子?
++のこと?
aは0か、++の2項演算子があるってだけなのでしょうか???
608:デフォルトの名無しさん
06/08/07 16:31:21
超基本的な質問なんだけど、プログラミング言語の処理系で使うハッシュ表ってエントリーがどんどん増えていく場合も考慮して、動的にテーブルを大きくする必要あるじゃん。
そのコストを踏まえてもO(1)なの?
609:デフォルトの名無しさん
06/08/07 17:50:01
コスト的にもO(1)
hashでコリジョン多いならTrieの方が速いかも
ただし、単なるTrieは遅く、Ternary Search Trieというのが速いらしい
スレリンク(tech板:121-番)
610:デフォルトの名無しさん
06/08/07 18:43:59
>>609
お前、2chのどこのダレかもわかんない、どんな実装を使ったのかもわからない
そんなベンチマークを盲目的に信じてるのかよ。馬鹿すぎだ。
611:デフォルトの名無しさん
06/08/07 18:55:43
「盲目的に信じてる」というほど断定してるようにも見えんが・・・。
暑いからってめちゃくちゃな八つ当たりするのはどんなもんかね。
612:デフォルトの名無しさん
06/08/07 19:50:46
>>609
>O(1)
テーブル拡大のポリシーによると思うが、
どういうポリシーならO(1)になるか教えてちょ。
613:デフォルトの名無しさん
06/08/07 20:24:01
最大nビットのデータに対して2n-1ビットのハッシュ値を使う
614:デフォルトの名無しさん
06/08/07 21:55:19
>>611
暑いからって、根拠の乏しいレスを信じる馬鹿よりマシかと
615:デフォルトの名無しさん
06/08/07 22:10:07
なんで素直に 2ch の外で裏を取らないのだろう...
616:609
06/08/07 23:16:29
>>610
すんません
そのスレの121、実は俺なのですよ・・・
あれから色々試したけど、tstが検索においては
hashよりだいぶ速いのは検証済みです
ただしデータ構造上メモリを結構食います
TrieはO(1)に加えてインクリメンタルなので、
途中の結果も無駄にならなかったりするメリットもあります
ちなみにうちのコンパイラはtst使ってます
617:610
06/08/08 01:12:48
2chのベンチマークなんて信じる奴は馬鹿。
俺は住所氏名年齢電話番号までわかってる奴じゃなきゃ
一切信用しない。
618:デフォルトの名無しさん
06/08/08 01:22:43
>>606
英英辞書ですか。人生長いし買ってみようかな。CD付いてるらしいし。
619:デフォルトの名無しさん
06/08/08 03:44:18
>>606
>(ホントは英英を和訳した辞書があればいいのにと思う)
それだ!
620:デフォルトの名無しさん
06/08/08 08:40:39
>>617
当然の話だな
621:デフォルトの名無しさん
06/08/08 12:22:17
>>617
そんなんで信用できるのか?
俺はソースコードと追試手順があって自分で追試できて追試したものしか信用しない.
住所氏名年齢電話番号がわかってても意味ないだろ…
622:デフォルトの名無しさん
06/08/08 14:32:30
あからさまな釣りにひっかかっといて
慎重な姿勢とか見せても笑えるだけw
623:デフォルトの名無しさん
06/08/08 16:21:53
>>606
URLリンク(www.zkai.co.jp)
ワードパワー英英和辞書とケンブリッジ英英和がありました。
624:デフォルトの名無しさん
06/08/08 16:39:23
>>623
あるんかい!
けどサンプル見た感じジーニアスとか例文豊富な英和辞書とあんま変わらなくね?
625:デフォルトの名無しさん
06/08/08 19:14:56
>622
単に真面目な性格なだけじゃないの?
626:デフォルトの名無しさん
06/08/08 23:25:35
ここはLinux板みたいに嫌な雰囲気ですね
627:デフォルトの名無しさん
06/08/08 23:54:56
ハッシュ表やSTL vectorの拡張のコストについては
amortized complexity analysis (償却計算量解析)について勉強すれば納得がいく
628:デフォルトの名無しさん
06/08/09 23:25:34
やべ、Ternary Search Trieすごい速いねw
629:デフォルトの名無しさん
06/08/10 13:28:06
Linuxみたいな嫌な雰囲気ってどんな感じ?
630:デフォルトの名無しさん
06/08/11 01:30:06
世界の宗教の原理主義派を集めたようなギスギスした
息の詰まる雰囲気だと思うよ。
Windowsを目の敵にしないと生きていけない。そうゆうゴミの集まり
631:デフォルトの名無しさん
06/08/11 07:52:05
それは何?
もっと構って欲しいのにって事?
632:デフォルトの名無しさん
06/08/11 10:36:08
意味不明です。
633:デフォルトの名無しさん
06/08/14 19:10:55
flexでCのコードを出力すると、yy_acceptやyy_ecといったテーブルが作成されますが、
このテーブルの作成アルゴリズムみたいなものはあるのでしょうか?
634:デフォルトの名無しさん
06/08/14 19:28:24
あります
635:633
06/08/14 20:35:45
それは、何というものでしょうか?よかったら教えてください。
636:デフォルトの名無しさん
06/08/15 00:34:08
非決定性有限オートマトン (NFA) → 決定性有限オートマトン (DFA) 、
だったかな?
637:デフォルトの名無しさん
06/08/15 00:48:43
flexが実際どうやってるか知らないけど、NFA→DFAの変換は大学でやったな。
subset constructionだっけ?
実際の手順をノートに手書きでいっぱい書いた記憶があるw
638:デフォルトの名無しさん
06/08/15 01:36:45
>>637
この前取材に行った某高校のクラブ活動でやっていた事を自慢げに語られてもw
639:デフォルトの名無しさん
06/08/15 01:41:09
やったな。
だっけ?
w ←どこ笑う所?
↑
何が楽しいの?
640:デフォルトの名無しさん
06/08/15 02:20:46
>>639
昔を懐かしんでるんじゃないのか?
電車で思い出し笑いしてる人とかいるぢゃん
641:デフォルトの名無しさん
06/08/16 00:12:21
Coins はどうなったんかな…
642:デフォルトの名無しさん
06/08/18 19:15:55
なんだか、子難しい話して、話せないようにされてるような希ガス。
NFA→DFAの変換とかすごいじゃん。
643:デフォルトの名無しさん
06/08/18 21:49:40
そーでもない
大学で情報科学取った人なら大体やったんじゃまいか
644:デフォルトの名無しさん
06/08/18 22:25:39
講義の内容的には、序の口もいいところ。
645:デフォルトの名無しさん
06/08/19 01:13:32
オートマトン最小化とポンピング補題は中間試験の必出問題ですな。
646:Flex
06/08/19 21:27:44
初めまして、宜しくお願いします。50の手習いでFlexを勉
強しています。早速の質問ですが、お手柔らかにお願いしま
す。
Flexではinputの再定義は、#undefと#defineで出来ます。
unputの再定義はどうすれば良いでしょうか?
最初から、いきなりの質問で迷惑をかけるかと思いますが、
宜しくお願いします。
647:デフォルトの名無しさん
06/08/20 09:29:13
flexには詳しくないですが、unputの再定義は不可能のよう。
(The `unput()' routine is not redefinable.
This restriction is in accordance with POSIX. )
自前のunputを利用したければ、%option unputを指定して、
最初からunputが生成されないようにすれば良いのかも。
648:デフォルトの名無しさん
06/08/22 12:02:27
LLやLRの構文解析表なんかも大学の講義などでは手書きでたくさん書くことになる。
flex/bisonをいじれるだけで満足な奴は知らないんだろうけど、コンパイラコンパイラで楽してる背景にはけっこう面白いアルゴリズムがいくつも使われてて、理解するには手書きでこつこつやるのが近道だったりする。
649:デフォルトの名無しさん
06/08/22 13:18:32
LL(k)とLALRの違いについて調べてます。
文法的にLL(k)だと不可能になるもの。エラー処理の煩雑さなどで違いを教えてもらえませんか。
650:デフォルトの名無しさん
06/08/22 13:53:43
A -> ( B
B -> A ) | ) A | )
括弧の対応を取るだけの文法だが、任意のkについてLL(k)でない。
651:デフォルトの名無しさん
06/08/22 21:48:04
おまいらJavaのパーサー作るとしたらどのぐらい時間かかるんですか?
652:デフォルトの名無しさん
06/08/22 21:55:21
>>651
ざっと走査するだけなら楽
653:デフォルトの名無しさん
06/08/22 22:07:36
うそつけw
ホントなら書いてみろ
654:652
06/08/22 22:16:08
分かった。嘘だから書かない。
655:デフォルトの名無しさん
06/08/22 23:33:28
>>653
Generics無しの頃(swing無かった頃だが)に一度書いた。
Generics使えばもっと楽に書けるだろうがGenerics自体の文法は入れたくない(w
656:デフォルトの名無しさん
06/08/22 23:33:41
口だけ君はこれだから困る
657:デフォルトの名無しさん
06/08/23 00:09:38
○だけ君はこれだから困る
658:デフォルトの名無しさん
06/08/23 00:21:23
△だけ君はこれだから困る
659:デフォルトの名無しさん
06/08/23 03:20:08
656 :デフォルトの名無しさん :sage :2006/08/22(火) 23:33:41
口だけ君はこれだから困る
657 :デフォルトの名無しさん :sage :2006/08/23(水) 00:09:38
○だけ君はこれだから困る
658 :デフォルトの名無しさん :sage :2006/08/23(水) 00:21:23
△だけ君はこれだから困る
659 :デフォルトの名無しさん :sage :2006/08/23(水) 03:20:15
|だけ君はこれだから困る
660:デフォルトの名無しさん
06/08/23 07:48:57
>>655
yaccとか使う場合だと、
specificationの内容を全部BNF文法に直す。
うまくあわないところ少し小細工する
意味解析ルーチンつける
て感じですか?
・・・・なんか気の遠くなりそうな作業だな・・・・
・・・・Genericsとかやりたくないな・・・・
661:デフォルトの名無しさん
06/08/23 08:16:39
>>651
パーサだから意味解析は置いといていいのね?
>>3の¬<><∪∪なら、
言語仕様書からシンタックス部分をまる写しするだけだから簡単。
というかサンプルについてるけど。
>>3ではLALR(1)になってるけどLALR(∞)。
662:デフォルトの名無しさん
06/08/23 23:09:21
URLリンク(www.quut.com)
URLリンク(www.quut.com)
663:デフォルトの名無しさん
06/08/23 23:50:56
ついにJavaにもクロージャ? - James Gosling氏らJDK7へ導入提案
URLリンク(journal.mycom.co.jp)
Javaもなんでもかんでも取り込むようになったもんだ
664:デフォルトの名無しさん
06/08/24 01:44:02
その記事、単に匿名ローカル関数のことをクロージャと呼んでるようだが
カリー化しなくてもそう呼んでいいものなのか?
665:デフォルトの名無しさん
06/08/24 02:36:45
>>664
クロージャは語の通り囲い込みしか指さないので(ry
666:デフォルトの名無しさん
06/08/24 04:36:54
関数型言語の本で封入って訳を見たことあるな
667:デフォルトの名無しさん
06/08/24 06:06:41
ふみゅ~ん
668:デフォルトの名無しさん
06/08/24 10:37:04
>>664
>>665も書いてるが
カリー化とクロージャは、全く無関係な概念
関数からその関数を囲む環境にアクセスできればクロージャと言ってよい
669:デフォルトの名無しさん
06/08/24 21:10:06
じゃあ、単に匿名ローカル関数のことをクロージャと呼ぶのは間違いでよろしいか?
記事、ろくに読んでないが、ラムダ式のことをクロージャと呼んでるように見えたモナ
670:デフォルトの名無しさん
06/08/24 21:40:35
>>669
ラムダ式はクロージャを持つけど、クロージャはラムダ式じゃない
671:デフォルトの名無しさん
06/08/24 21:43:14
チョットワカッテキタ...
672:デフォルトの名無しさん
06/08/24 22:37:34
C#の匿名メソッドはクロージャとは別物ですか?
673:デフォルトの名無しさん
06/08/24 22:44:38
「匿名メソッド is-a クロージャ」 あるいは 「匿名メソッド has-a クロージャ」 な関係
674:デフォルトの名無しさん
06/08/24 23:20:30
記事、も一回読んでみたけど
Cの関数へのポインタ程度のものを、導入するぐらいにしか見えん
そしてそのCの関数へのポインタのようなものを、クロージャといってるような
カリー化とかできそうに見えない、高階クロージャ(?)すらあやしい
675:デフォルトの名無しさん
06/08/24 23:30:18
まぁ糞JAVA言語がそろそろ行き詰まってきたってことだろうなw
676:デフォルトの名無しさん
06/08/24 23:41:03
>>674
int func int(int x) {
return (int y) { x + y; };
};
int result = func(2)(3);
こういうのならできるんじゃね?
実際の java で動くかどうかはしらないけど、一応カリー化できてるはず。
677:デフォルトの名無しさん
06/08/24 23:47:51
>>674
おまえはカリー化とクロージャの意味をわかってるのかと
今回提案された仕様のローカル関数及び匿名ローカル関数は
れっきとしたクロージャだし、関数型も導入されるので、
カリー化するのも容易なはず
>>676
ホワイトペーパーの例からだと、たぶんこんな感じではないかと
int(int) add(int x){
return (int y) : x + y;
}
int result = add(2)(3); // => 5
678:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/08/24 23:53:13
あ、間違えた。まあ良いや。
680:デフォルトの名無しさん
06/08/25 00:17:56
>>678
addはカリー化された加算関数で、型はint(int) (int)なので
これでOKなはず。4ページ目の一番上の例は、int (int)な関数だよね
> さすがに、OCaml?ばりの厳密で容易なカリー化は期待できないっすよ。
そりゃOCamlほど容易ではないけど、厳密かどうかで言えば同程度には厳密でしょ
681:デフォルトの名無しさん
06/08/25 00:25:58
>>680 上段
ほんとだー。すまねー orz
>>下段
あ、すいません。『厳密』 ってのは 『制約』 ってのと同じような意味で使いました。
OCaml ではカリー化された関数しか扱えないみたいっスから。
int add(int x, iny y) { return x + y; }
「こんな感じに定義して add(1) ってしても 1 + y が帰ってこないじゃないかー」
って >>674 は想像しているのでは? って思いましたんで (^-^;;
682:デフォルトの名無しさん
06/08/25 00:27:23
オーバーロードとカリー化の共存は難しい。
683:デフォルトの名無しさん
06/08/25 00:39:23
すみません。某スレから誘導されてきました。
yaccやlexで生成したソースはどうやって使ったらいいのでしょうか?
684:デフォルトの名無しさん
06/08/25 01:00:40
>>683
きっとお前も質問だけして居なくなるんだろうな…>646みたいに。
685:デフォルトの名無しさん
06/08/25 01:23:18
>>684
いえ、ホント基本的な動作からわかってないので藁にもすがる思いですよ。
yyparseやyylexなんかがどういう動作をしてるのか?とかそっからわかっていません。
とりあえず、まず、大まかな流れが知りたいのですが、日本語でいいサイトないでしょうか?
なんかyacc lexが独自に吐き出す関数とか変数とかわかってないです。
やりたいことはプログラムである文字列をパーサに渡して解析結果を取得することなんですが
yacc lexの吐き出したソースが何をどこまでやってくれるのかってそこからいってわかってないです。
686:デフォルトの名無しさん
06/08/25 05:18:48
そうですか
687:デフォルトの名無しさん
06/08/25 05:55:38
>>683
main() {
yyparse();
}
yylexはyyparseのなかで勝手に呼ばれる
688:デフォルトの名無しさん
06/08/25 09:38:52
>>677
どうも、そういうことが出来そうに見えなかったんだよね
Javaにクロージャ導入なんて記事を書くんなら
俺なら絶対カリー化の例をあげる
でも、カリー化どころか高階関数の例もないので、どうもな
まあ、ライターのレベルが低いだけかもしれんが
689:デフォルトの名無しさん
06/08/25 15:34:59
>>688
匿名関数も関数型変数も導入されるらしいのに、
なんで高階関数がないと予想したの?
690:デフォルトの名無しさん
06/08/25 21:09:50
読解力のない阿呆 (>>688) のつまらん言い訳だよ
691:デフォルトの名無しさん
06/08/25 22:16:14
ライターのレベル以上に、リーダーのレベルが低すぎた悲劇だな。
692:デフォルトの名無しさん
06/08/26 01:30:04
つまりLISP最強ってことか。
693:デフォルトの名無しさん
06/08/26 02:07:02
なんでじゃ
694:デフォルトの名無しさん
06/08/26 04:25:26
Lisp触ってれば間違いようがないものな。
695:デフォルトの名無しさん
06/08/26 06:02:16
Lispの処理系をLispで書くのって無謀?
696:デフォルトの名無しさん
06/08/26 06:27:23
>>695
ものすごく簡単(数行しかない)なやつから、
きちんと機能を実装して、自分で自分を実行できるやつ、
もっと凄いやつ、と様々なので、答えようがない。
697:デフォルトの名無しさん
06/08/26 06:48:53
>>696
> ものすごく簡単(数行しかない)なやつから、
数行はないだろw
698:デフォルトの名無しさん
06/08/26 06:52:06
スーパー手抜きlisp
( loop (eval (read)) )
699:デフォルトの名無しさん
06/08/26 10:50:14
LISPってライブラリたくさんあるの?
700:デフォルトの名無しさん
06/08/26 12:31:04
>>699
君のレスは見ていて痛々しい。
701:デフォルトの名無しさん
06/08/26 12:48:32
しらねーなら書き込むなこの池沼が
702:デフォルトの名無しさん
06/08/26 13:08:21
ちょこっとLisp調べてみたけど、本当にこの言語で自己記述できるの?
字句解析とか構文解析のコード大体どんな感じになるのか情報orソースきぼんぬ
703:デフォルトの名無しさん
06/08/26 14:14:21
>>702
大昔の論文や書籍くらい読め
#とか思ったら良書は絶版かYo!
704:デフォルトの名無しさん
06/08/26 14:57:32
>>701
聞けば答えてもらえると思うな、厨房。
705:デフォルトの名無しさん
06/08/26 16:47:29
けちくせーやつだな。だったらスレみてんじゃないよ。
Take,TakeでGiveはなしか。
706:デフォルトの名無しさん
06/08/26 16:53:24
言いたがりが勝手に口を滑らせるだけだよ。
そんなものでも、最新の情報なら役に立つ。
707:デフォルトの名無しさん
06/08/26 17:12:04
>>689
出来ると書いてないから
それにつきますな
708:デフォルトの名無しさん
06/08/26 20:46:44
>>702
っSICP
後ろのほうに自己記述に1章裂いてるお
709:デフォルトの名無しさん
06/08/27 01:19:54
Schemeを最初からCで書くより、一通りSchemeで書いてから必要な部分だけ
Cにする方が楽だよね。
710:デフォルトの名無しさん
06/08/27 07:43:17
今、M$のVisualStudio2005いじってるんだが、GC付きで64bitポインタ、メモリ管理サポートの
ランタイム上で、C#、C++、VisualBasicが走るなんて、Lisp系言語を載せてくださいと言ってる
ようなもんだな、と思った。Javaは過去にやろうとして16MBでギブアップしやがったので、
M$のCLIには少し期待している。
711:デフォルトの名無しさん
06/08/27 13:02:07
>>710
HotSpot以降のJVMならパラメータでメモリ量の調整きくよ。
web上のappletが廃れかけた頃にはいろんな言語のコンパイラがjvm用のクラス吐くようになったけど
今ははやらないのかねぇ。
712:デフォルトの名無しさん
06/08/27 14:01:08
>>711
むしろ最近になって流行ってきてると思うのだが
JDK6でJava VM用のスクリプト言語をJavaから呼び出すための
APIが標準化されるのも、Java VM用のスクリプト言語が流行ってきたからだろうし
ちなみに先に言っておくと、GroovyもJava VM用のJavaScript処理系であるRhinoも
Pnutsも単なるインタプリタではなく、JVM用のクラスファイルを内部で生成して、実行してる
713:デフォルトの名無しさん
06/08/27 16:15:07
>>712
スクリプト処理系が実行時にclassファイル吐いてるのはしらなかったな。
外部ファイルコンパイル実行する時にclassローダ的にはどういう扱いするんだろう?
714:デフォルトの名無しさん
06/08/27 18:10:57
今のJVMならメモリの調整効くとかいってるが
そんなことねーよただ確保してるだけでなんも有効には使ってない。
そのへんM$のは賢い。
715:デフォルトの名無しさん
06/08/27 20:13:16
>>713
いくつかのスクリプト処理系のソース読んだ限りでは、基本的に、
java.lang.ClassLoaderをサブクラス化して、スクリプトをコンパイルしたクラスは
それに読み込ませるようにしてる
ちなみに、自作のJVM上で動作するJavaライクなスクリプト言語でも、同じような手法で
実装してる
716:デフォルトの名無しさん
06/08/27 20:15:58
>>713
あと、わかっているかもしれないけど、念のため追記しておくと、クラスファイルを
生成するといっても、スクリプトを直接実行するときは、別に実際にファイルが
生成されるわけではなく、オンメモリにbyte配列としてクラスファイルを生成して、
それをClassLoaderで読み込むようになってる
717:デフォルトの名無しさん
06/08/28 08:56:44
>j ava.lang.ClassLoaderをサブクラス化して
これが必要ってことはclassfileの仕様を拡張してるってこと?
718:デフォルトの名無しさん
06/08/28 12:32:30
>>717
いや、そういうわけじゃない
java.lang.ClassLoaderのAPI見ればわかるんだが、
byte配列からClassオブジェクトを構築するためのメソッドなどはprotected
になってるので、プログラムからこのメソッドを呼び出したいなら、サブクラス化
しなければいけないということ
719:デフォルトの名無しさん
06/08/31 03:43:18
>>714
>そんなことねーよただ確保してるだけでなんも有効には使ってない。
そんなわけねーだろw
720:デフォルトの名無しさん
06/09/07 15:26:38
ちょっと質問。
スタックを使って実装する言語についてです。
JavaのようにGCを持っていて、オブジェクトへの参照とプリミティブの
両方をスタックに積むことが出来る場合に、
スタック上のプリミティブはGCの邪魔になりました。
オブジェクトはクラス情報を持っていますが、プリミティブには持たせていません。
なぜなら高速性を期待してプリミティブはオブジェクトと区別したからです。
そこでどうしたらいいかと考え、オブジェクト用とプリミティブ用の
個別のスタックを用意したらどうだろうと考えたのですが、
何か考えられる問題点はありますか?
また、ほかにいい方法はありますか?
よろしく。
721:デフォルトの名無しさん
06/09/07 19:57:05
>>720
ここはお前専用の相談室だ。
よろしく。
722:デフォルトの名無しさん
06/09/07 20:25:02
>>720
GCの実装は?
723:デフォルトの名無しさん
06/09/07 20:53:31
つーか>>720の言ってることよくわからんな。
スタックって何に使うスタックのこと言ってるのかわからないし、なんでそのスタックに積んであるものがGCされるのかもさっぱり。
プリミティブ値が邪魔になるってのも意味がわからん。
724:デフォルトの名無しさん
06/09/07 21:09:47
>>723
……(;´Д`)アチャー
725:デフォルトの名無しさん
06/09/07 21:16:00
>>723
( ゚д゚ )
726:デフォルトの名無しさん
06/09/07 22:52:51
>>723
(笑)
727:デフォルトの名無しさん
06/09/07 23:06:54
>>720
型システムが堅いなら系列分けたスタック持っても良いかもしれないが
もし引数がバリアントみたいに使える言語処理なら徒労におわると思う
728:デフォルトの名無しさん
06/09/07 23:20:08
>>727
スタック上のプリミティブとオブジェクトを区別できないことから考えて、
構文として静的に区別できるような言語なんじゃないだろうか。
だったら分けても良いかも知れない。
729:デフォルトの名無しさん
06/09/07 23:27:16
>>728
ボクシングとかほしくなったら困るんじゃなかろうか(関数呼び出しフレーム作る時ね)
730:デフォルトの名無しさん
06/09/07 23:29:51
ボクシングしたものは全てオブジェクト扱いでイイような気がする。
箱に入れてさ。
731:デフォルトの名無しさん
06/09/08 06:09:40
素直にプリミティブにタグ付けした方が良い希ガス。
732:デフォルトの名無しさん
06/09/08 07:46:50
オブジェクトのメンバの、ポインタと即値はどうやって区別してんだ?
733:デフォルトの名無しさん
06/09/08 12:00:11
>>732
型のある言語ならコンパイル時にGC対象を列挙できるので問題はないでしょ?
734:デフォルトの名無しさん
06/09/09 02:18:41
>>720がもどってこなくてショボーン(´・ω・`)
どんな言語なのか聞きたかったのに
735:デフォルトの名無しさん
06/09/09 02:31:01
>>734
ねー
736:デフォルトの名無しさん
06/09/09 09:46:37
質問のレベルから察するとだな
737:デフォルトの名無しさん
06/09/09 19:25:02
チン子もえもえどぴゅーってレベルだな
738:デフォルトの名無しさん
06/09/09 20:27:29
スタックに積む量次第だけど、スタックに積むときだけプリミティブにタグ付けるのが
実装的には一番楽な気がする。
739:デフォルトの名無しさん
06/09/09 20:34:15
で、もうちょい話が進むと、プリミティブは常にタグつきがいいという話になる
ちなみに、L(ry も R(ry も、そうなってたような
740:デフォルトの名無しさん
06/09/09 20:47:24
もう手抜きして保守的GCにしちまおうぜ
741:デフォルトの名無しさん
06/09/09 21:20:50
可算無限個のメモリを用意するのが最近のトレンド。
742:デフォルトの名無しさん
06/09/09 23:20:12
>>739
LispとRuby?
Rubyのprimitiveは最下位ビットが1になっているので
保守的GCに引っかからない、というものだったと思う。
Lispの実装は山ほどあるんでわからん。
743:デフォルトの名無しさん
06/09/09 23:42:47
>>741
黙れニート
744:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/09/13 20:39:58
CLOSみたいにaccessorで触る仕組みにすると
(g (f (e (d (c (b a)))))) のような感じになるかな。
746:デフォルトの名無しさん
06/09/13 21:07:10
(chain
(a obj)
(b it)
(c it)
(d it)
(e it arg1 arg2))
みたいに書けるようにするのはマクロでできるよ。
Rubyでselectやらmapやらを繋げて配列を引き回していたりなんかすると、
ブロック+ドットよりもこっちの方がむしろ見易い気がする。
747:デフォルトの名無しさん
06/09/13 21:14:01
>>744
そういう風に華麗にかけるのはいいんだけど、デバッグするときにめんどくさくなんね?
gの呼び出しで値がおかしくなってるんだけどどこで値がおかしくなってるのかわかんないみたいな。
748:デフォルトの名無しさん
06/09/13 21:28:46
>>746
で、誰がそんなアホなマクロ使うの?
プロジェクト全体でそのマクロ使うように、
ルール決めしたりできる?www
749:デフォルトの名無しさん
06/09/13 21:55:53
>>744
引数を沢山とれるようにして
(dot (call (dot a 'b 'c 'd)) 'e 'f 'g) でいいじゃん。
750:デフォルトの名無しさん
06/09/13 22:01:13
だから、んな誰も使うはずのないゴミを書いてみても
自己満足以外の意味ないだろ
751:デフォルトの名無しさん
06/09/13 23:26:44
vimのマクロはなにに影響されてできたもんなの?
752:デフォルトの名無しさん
06/09/14 00:00:43
>>744
| LISPは今風の書き方ができない。
| やっぱa.b.c.d().e.f.gとかしたいわけよ。
いや。そんな書き方したいと思ったことは一度もないんだが。
753:744
06/09/14 00:03:24
ふむ、ふむ。
予想通りのレスだな。
おれは結局フロントエンドを書いた。
しかし、それはもはやLISPではなく、
>>750の言う通りでもあった。
LISPはリスト処理が得意なはずなのに、
こういった階層表現のオペレートが苦手なのは意外だった。
素直にLISPとして表現するならば、
(defvar a '(b (c (d (e (f (g value)))))))
というタグ付きリスト階層を作り、
(cdadadadadadadar a) => value
という操作を行う事だろうか。
754:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/09/14 01:45:33
だから、ゴミの実装の詳細なんぞ、
興味ねえから、チラシの裏にでも書いてろ
756:デフォルトの名無しさん
06/09/14 01:57:39
744=750=755 ?
757:デフォルトの名無しさん
06/09/14 02:06:28
Lisp に絡んでいた奴がまた粘着してるのかねぇ?
↓のようなマクロじゃ気にくわないわけ?
例1: #{ a.b.c.d().e.f.g }
例2: #[ a b c #[ d ] e f g ]
どっちでも好きなほうを選べ.
758:デフォルトの名無しさん
06/09/14 02:47:35
>>755ではないが、>>744の質問はスレ違いじゃないのか?
特定の実装(Lisp)の問題なんだから、Lispスレでやればいいじゃんと思った。
759:デフォルトの名無しさん
06/09/14 02:54:08
Lisper に喧嘩売ってる俺ってスゲー、みたいな奴が出てくるのは Lisp の功罪だな。
こんな事が後何回繰り返されるのだろうか。
760:デフォルトの名無しさん
06/09/14 03:23:00
Lisp スレで相手にしてもらえなかったんじゃないの?
だからって関係ないこっちに来られても困るわけではあるが。
761:デフォルトの名無しさん
06/09/14 06:04:36
>>759
相対性理論が長きにわたって物理系のトンデモさんを
無数に相手にしてきたのと、ちょっと似てるね。
762:デフォルトの名無しさん
06/09/14 06:30:52
だーから相手にすんなって…すぐにまた LISP 最強!! とか暴れはじめる気配がする
763:デフォルトの名無しさん
06/09/14 06:51:13
相対性理論、やっぱ無敵ってこと?それともダサダサってこと?
文章からどっちの意味か見えなかった。
764:デフォルトの名無しさん
06/09/14 07:05:01
相対性理論とLispはどっちが難しいんだ?
765:デフォルトの名無しさん
06/09/14 07:52:51
それ自体がどうのではなく、名の通り方の問題だろう。
「挑戦者」達は、まず何より名前に噛み付いてる。
766:デフォルトの名無しさん
06/09/14 22:03:26
Lispの話になっても、Lisperのオナニーが多少見えるぐらいで、話は何にも広がらんのな
767:デフォルトの名無しさん
06/09/14 22:09:54
Lispのマクロってどんな感じなんでせう?
文法を自分で定義してシンタックスシュガーを作れるってイメージ?
768:デフォルトの名無しさん
06/09/14 22:25:34
ググれタコ
769:デフォルトの名無しさん
06/09/14 22:28:54
レス数増えたと思ったらやっぱりこれか
770:デフォルトの名無しさん
06/09/15 01:12:03
>>767
構文抽象ってやつだね。でも粘着が暴れるから別のスレで聞いたほうがいいとおもう。
771:デフォルトの名無しさん
06/09/15 01:16:34
>>767
後はコンパイル時にデータを生成したりとか。
772:デフォルトの名無しさん
06/09/15 03:25:42
>>744
俺は、a.b.c.d().e.f.gって書けるような
S式みたいというかM式の一種というかC言語風の
データ形式を考えてるけど、なかなか、難しいです。
簡単なschemeへのトランスレータは書いてみたけど、
なんか納得がいってません。
こう、ごちゃごちゃと考えがスパゲッティになってて
どう考えを積み上げていったらいいのかわからない段階です。
とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
とか考えてます。
773:772
06/09/15 03:49:02
なんか、話が長くなりそうだし、
スレ作ってしまいました。
スレリンク(tech板)
774:デフォルトの名無しさん
06/09/15 13:24:14
>>772
>とりあえず、c言語のセミコロンやカンマがどうして必要なのか?
カンマがないと、 1, -1 が 1-1 になっちゃうでしょ。
775:デフォルトの名無しさん
06/09/15 16:15:57
スペースをデリミタにすればカンマは必要ないと思うけど?
776:デフォルトの名無しさん
06/09/15 17:25:25
スペースをデリミタにするなよ
777:デフォルトの名無しさん
06/09/15 21:57:36
改行をデリミタにすればセミコロンは必要ないと思うけど?
778:デフォルトの名無しさん
06/09/15 23:19:37
>>777
EcmaScriptとかはその戦略を採用しているな。
おかげで構文解析が死ぬほどめんどい。
779:772
06/09/16 02:44:14
>>774
2項演算子あるいは後置演算子と前置演算子に使われる演算子があった場合に
何らかのデリミタ(セパレータ?)が必要である。
てことですかねぇ。
他に、
名前のない括弧が前のカッコに結合しないようにする。
f()(1+2)と f();(1+2)みたいなかんじで。
みやすくするためにも存在してますよね。
780:デフォルトの名無しさん
06/09/16 03:40:14
java で実装されたスクリプトエンジンで、コルーチンの yield に相当する機能を実装したものはありますか?
Jython がジェネレータの名称で実装していることは知っているのですが、他の実装も見てみたいのです。
781:デフォルトの名無しさん
06/09/16 15:48:29
>>776
forth
782:デフォルトの名無しさん
06/09/16 20:02:26
FORTHって絶対メジャーになれない言語の筆頭だよな。
783:デフォルトの名無しさん
06/09/16 20:10:41
>>782
PostScriptはメジャーじゃない、とおっしゃる?
784:デフォルトの名無しさん
06/09/16 20:21:13
>>782
となると、LISPもだな。
785:デフォルトの名無しさん
06/09/16 22:58:15
java仮想マシンもたしかFORTHだよな?
786:デフォルトの名無しさん
06/09/16 23:54:15
はい、違いますよ
787:デフォルトの名無しさん
06/09/16 23:56:54
>>785 誰に聞いたのよw
788:デフォルトの名無しさん
06/09/17 00:01:31
スタックマシンがすべてFORTHだというのであれば
789:デフォルトの名無しさん
06/09/17 00:15:31
PDFを書く言語ってあったか?
それ。
790:デフォルトの名無しさん
06/09/17 03:22:01
FORTHをアーキテクチャとか言語分類とかのことだと思ってる奴がいるのか?
791:デフォルトの名無しさん
06/09/17 03:49:48
OpenFirmware も Forth だよ。
792:デフォルトの名無しさん
06/09/18 01:35:09
FORTHを信じても意味がなかった
793:デフォルトの名無しさん
06/09/18 02:08:16
>>792
そりゃFORCEじゃないのか?ルーク
794:デフォルトの名無しさん
06/09/18 02:09:45
Use the Force, 792.
>>792, trust me.
Remember, the Force will be with you always.
795:デフォルトの名無しさん
06/09/18 12:37:38
Lisp最強!!!!!!
796:デフォルトの名無しさん
06/09/18 14:30:56
はいはい。
LISPは面白いもんを沢山残してったけど、
FORTHは言葉遊びが出てくる程度だったな。
797:デフォルトの名無しさん
06/09/18 14:33:37
FORTHって、普通に使われてる言語やん。
798:デフォルトの名無しさん
06/09/18 14:34:32
Lispは今では遊びと教育用の言語でしかなくて、実際に使われているのは知らない。
799:デフォルトの名無しさん
06/09/18 14:53:41
スタックが複数本必要な言語はロクなのがないね。
800:デフォルトの名無しさん
06/09/18 21:56:30
>>798
emacs 知らんの?
珍しいやっちゃな。
801:デフォルトの名無しさん
06/09/18 22:05:13
emacsが実際に使われていないということなんだろうけどな
802:デフォルトの名無しさん
06/09/19 01:53:34
PCLの2章より:
An even more impressive instance of remote debugging occurred on NASA's
1998 Deep Space 1 mission. A half year after the space craft launched, a
bit of Lisp code was going to control the spacecraft for two days while
conducting a sequence of experiments. Unfortunately, a subtle race
condition in the code had escaped detection during ground testing and
was already in space. When the bug manifested in the wild--100 million
miles away from Earth--the team was able to diagnose and fix the running
code, allowing the experiments to complete.14 One of the programmers
described it as follows:
Debugging a program running on a $100M piece of hardware that is 100
million miles away is an interesting experience. Having a
read-eval-print loop running on the spacecraft proved invaluable in
finding and fixing the problem.
ドキドキもんだろうけど、楽しそうな体験ではある。
803:デフォルトの名無しさん
06/09/19 04:03:57
>>801
何が?
804:デフォルトの名無しさん
06/09/19 07:49:42
この程度の流れも読めない馬鹿は書き込まないで下さい :-P
805:デフォルトの名無しさん
06/09/19 10:01:17
>>802
さらに衝撃的な遠隔デバッグが行われたのは、NASAが98年に打ち上げた、ディープ・スペース1号機におけるミッションでのことだった。
ロケットの打ち上げから半年、Lispの短いコードにロケットの制御を2日間委ねることになった時、ある一連の実験が進行中だった。
不運にも、わずかな競合状態がコードの中に含まれていたためで、地上での検査時に見つからないまま、宇宙空間に放たれてしまっていたのだ。
バグ発見の過酷な状況は、地球から1億マイルも離れた場所であったが、担当チームは稼動中のプログラムにメスを入れ、問題の修復に成功したことで、今回の実験は完遂されることになった。
担当したプログラマの一人が、当時の様子を次のように語った。
「あの時デバッグしたプログラムは、1億ドルのハードウェア上で、1億マイルも離れた場所で稼動していたんだけど、おもしろい経験になったよ。
read-eval-printループがあれば、ロケットの中で問題が起きても、発見したり修復するのに、量り知れないほど役立つことが証明されたってわけさ。」
806:デフォルトの名無しさん
06/09/19 12:44:29
むしろLispなんかで制御したから地上での検査時に
見つからなかったという恥ずべき歴史だな。
807:デフォルトの名無しさん
06/09/19 12:47:00
「みんながLispに近づいているんじゃない!
みんながLispを不必要にしているんだ!!」
808:デフォルトの名無しさん
06/09/19 13:16:59
PHPでいいです
809:デフォルトの名無しさん
06/09/19 16:07:51
いくない
810:デフォルトの名無しさん
06/09/19 16:09:57
>>806
本当にそう思うなら、匿名掲示板以外でも声高に言ってみろよ。
誰も相手にしてくれないけどな。
811:デフォルトの名無しさん
06/09/19 16:11:36
JavaScriptでいいです><
812:デフォルトの名無しさん
06/09/19 16:15:37
>>810
確かに、Lispなんていう死んだ言語の話をする相手が見つかるのは
夢想に責任をまったく持たなくていい匿名掲示板くらいでしょうね。
813:デフォルトの名無しさん
06/09/19 16:22:13
>>810
静的型付けのないLispが今でも一番だと思っている奴がいたら
それこそお笑いだ。
スクリプティング言語の主流はいわゆるP言語だし、大学での
教育に使われる言語もMLやHaskellなど静的型付け&型推論の
ある言語に移っている。
814:デフォルトの名無しさん
06/09/19 17:19:40
>>813
SICPを教科書に使う学科は多いだろうし、今でもLispは教育用言語として使われることが多い。
ラムダ計算のお勉強でも型なし→型ありという風に遷移・比較して教えられる事もあるだろうし、
教育用という意味では今でもLispは利用価値がある。
815:デフォルトの名無しさん
06/09/19 17:55:27
>>814
それが最近はSICPの評価は昔ほど高くない。
SICPの内容を最初からMLなどで教えているところもある。
つまるところ静的型付けがない言語をわざわざ大学で教える
必要性が薄らいでいるのさ。
にも関わらず
Lisp is nice, so we are nice.
な方の多いこと。(Rubyスレで見たレスのもじりだが。)
816:デフォルトの名無しさん
06/09/19 18:14:29
いい加減スレ違いだと思うんだけどな。
817:デフォルトの名無しさん
06/09/19 18:19:12
>>815
Lispはともかく、
型なしラムダ計算については?
818:デフォルトの名無しさん
06/09/19 18:33:09
>>817
形無しラムダ計算を教えるためにはLispが必要と考える理由が
むしろ知りたい。
819:デフォルトの名無しさん
06/09/19 20:39:42
形無しラムダ計算の本質はLispでないと表せない
820:デフォルトの名無しさん
06/09/19 21:36:04
>>818
型なしの関数型言語の代表格だからだよ。
821:デフォルトの名無しさん
06/09/19 21:37:13
別に言語は何だっていいけど、Lispは勉強するのに必要な資料が一番多いんじゃないかな。
822:デフォルトの名無しさん
06/09/19 21:38:40
紙と鉛筆で十分だが
823:デフォルトの名無しさん
06/09/19 21:41:26
Lisperの一部は鼻持ちならない選民思想の持ち主だが、
そうでない者も多い。
「Lisp一番!!」なレスはスルーでヨロ。
824:デフォルトの名無しさん
06/09/19 22:04:01
カステラ一番、Lispは二番!!
825:デフォルトの名無しさん
06/09/19 22:26:08
>>819
んじゃあ、形無しラムダ計算は発明から何十年もの間、
その本質は表現されなかったんだw
826:デフォルトの名無しさん
06/09/19 22:51:12
実際Lispがなかったら埋まったままだったろうなあ
827:デフォルトの名無しさん
06/09/20 00:51:30
>>825
ここプログラム技術板だから。
(と、この説明で恥ずかしくならないようなら問題外 :-) )
828:デフォルトの名無しさん
06/09/20 02:00:59
>>825
Lisp はクソだが見当違いの叩きを展開するアホはもっとクソだ。
ここは叩くスレじゃねーんだ。バカは↓でも抱いて海に消えろ。
文句は直接開発者にでもメールしてろ。
強い型付き LISP: URLリンク(www.lambdassociates.org)
829:デフォルトの名無しさん
06/09/20 06:28:07
言語ネタは叩き厨がファビョって荒れるんで Code Generation でも語ろうぜ
JIT なんだけど GNU Liblightning ってどうなん?使ってるプロジェクトって
qu 以外にある?
830:デフォルトの名無しさん
06/09/20 07:37:14
>>827
>>828
おまえらこそ流れを読まず見当違いのレスをするんじゃねーよ。
>>827よ、お前が一番恥ずかしい。
>>828よ、もはやLispではないものを持ってきてなんのつもりだ?
Lispを叩いているんじゃない。
Lispが至高のものと信じて疑わず、言語開発者でもないくせに
多言語使用者を見下すだけの輩が日本に増えるのは有害だ。
もっと先を見ろ。SICPなんて初学者向けの本だ。
世界はもっと進んでいるぞ。
831:デフォルトの名無しさん
06/09/20 08:08:32
>>830
そのコピペどこかで見たな。元ネタは何だっけ?
832:デフォルトの名無しさん
06/09/20 08:16:50
世界はもっと進んでいるぞのガイドライン
スレリンク(gline板)
833:デフォルトの名無しさん
06/09/20 08:53:17
型付きの LISP よりも、副作用がバンバン書ける SML が欲すぃ。
834:デフォルトの名無しさん
06/09/20 10:11:04
>>830
大学って初学者向きの授業をするところだと思うんですけど・・
835:デフォルトの名無しさん
06/09/20 17:30:18
>>830
もうちょっと「論理的に見えるこじつけ」を期待したんだけどなぁ。
それじゃあ自意識に潰されて暴走する中学生だよ、キミぃ。
836:デフォルトの名無しさん
06/09/20 17:41:19
やっぱり>>835のように、経験者の言葉は一味違うね。
837:デフォルトの名無しさん
06/09/20 18:11:42
Currying and Partial Applications
Qi permits currying
(10-) ((* 7) 8)
56
and also partial applications, which generate Lisp closures.
(11-) (* 7)
#<CLOSURE :LAMBDA (Z100983) (* 7 Z100983)>
スゴス
838:デフォルトの名無しさん
06/09/20 18:22:46
Lisp (というよりS式)は中間言語に最適です、gcc でも使われてますし。
839:デフォルトの名無しさん
06/09/20 19:12:18
S式というよりツリー形式が本質なのでは?
840:デフォルトの名無しさん
06/09/20 22:51:54
何でツリーの形式になるのか値?
841:デフォルトの名無しさん
06/09/22 16:20:44
URLリンク(squirrel-lang.org)
なんか、配列の中に、変数とか書ける。
どういう感じで実装しトンのかな。
Hash?
842:デフォルトの名無しさん
06/09/22 18:41:44
単に statement というか block がファーストクラスオブジェクとして扱えるってことでは?
843:デフォルトの名無しさん
06/09/28 23:31:27
URLリンク(www.amazon.co.jp)
これってさ、いつ出るんだかわからなかった21st Century Compilersが遂に出ました、ってこと?
844:デフォルトの名無しさん
06/09/28 23:46:18
うん。予定より章が減ってる気のせいがするけどね。
845:デフォルトの名無しさん
06/10/06 03:41:19
このスレはLISPの話題が出ないと回らないんだな
846:デフォルトの名無しさん
06/10/06 10:00:22
つか、>>1に書いてある話題のほとんどは全然出てこないw
847:デフォルトの名無しさん
06/10/06 10:17:02
じゃ、質問してみる。
どうせ過疎ってることだし、あわよくば神が現れることを期待して。
>>1に書いてある内容、どれでもいいから語ってください。
なぜそんなものが必要なのか。どんな意義があるのか。どこまで研究が進んでいるか。どこまで実装されているか。身近に有用な具体例はあるか。社会や倫理に与える影響はあるか。おまいはなぜそんなことまで知っているのか。LispやRubyとの関k(ry。などなど。
848:デフォルトの名無しさん
06/10/06 15:05:36
それは質問とは言わん
849:デフォルトの名無しさん
06/10/06 15:18:20
言い出しっぺが語れよ
850:デフォルトの名無しさん
06/10/06 21:21:36
>>843について語るとか。
851:デフォルトの名無しさん
06/10/06 22:33:06
>>850
Amazonに登録された当初、14,000円弱だったが日々値下がりしているので様子見中。
852:デフォルトの名無しさん
06/10/06 22:39:44
俺言語ってどのくらいの人が作ってて、どれくらい完成してる?
ちょっと前は俺言語作ってるって人webで良く見たんだが、
最近自分の見る範囲では現れない。
また、作ってるって人も全然進んでなさげ。