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で良く見たんだが、
最近自分の見る範囲では現れない。
また、作ってるって人も全然進んでなさげ。
853:デフォルトの名無しさん
06/10/07 01:37:35
みんなもう飽きたんだよ
854:デフォルトの名無しさん
06/10/07 02:16:02
手続き型にしか触らないで秋田とか言う人
Scheme面白いよ
Lisperが何故偉そうに語るのかわかる
855:デフォルトの名無しさん
06/10/07 02:38:36
手続き型にしか触らないで山形とか言う人
Prolog面白いよ
世界が変わるから一度試してみるといい
いや、マジで
856:デフォルトの名無しさん
06/10/07 03:30:20
>>854
schemeおもしろいって・・
お前素人だろ?まるわかり。
857:デフォルトの名無しさん
06/10/07 03:31:08
>>855
学部2年生だろ?まるわかり。
858:デフォルトの名無しさん
06/10/07 03:31:45
>>852
高校生乙
859:デフォルトの名無しさん
06/10/07 03:32:49
2chはもはや素人の集まりか。
860:デフォルトの名無しさん
06/10/07 04:40:42
>>859
はじめからなキガス
>>852
組み込み用のUIハンドリング言語なら俺言語(つか社用言語)あるよ
861:デフォルトの名無しさん
06/10/07 06:09:48
prologみたいな変な言語って
>>1に書いてある様な即物的な技術と関係あるの?
862:デフォルトの名無しさん
06/10/07 07:59:55
prologのことは知らないが、>>1にある技術って実際に世の中に広まってる処理系に使われてるの?
863:デフォルトの名無しさん
06/10/07 08:02:51
即物的かどうかはしらんが、Prolog といえば David Warren が設計したWAM つー
仮想マシンが有名だよ。述語論理を直接マシンコードに~とかやってるなかで、
「こんな機械があればいいじゃん」というアプローチは新鮮だった。興味があ
るなら調べてみては。
864:デフォルトの名無しさん
06/10/07 09:32:39
>>862
prologのことだけじゃなく、何にも知らないんじゃん
865:デフォルトの名無しさん
06/10/07 09:38:52
prologのことは知らないが、>>1にある技術がすべて実用化されていることは確かだ
866:デフォルトの名無しさん
06/10/07 11:47:42
>>862
当たり前じゃん
867:デフォルトの名無しさん
06/10/07 11:48:23
>>861
prologは定理証明支援系だから。
868:デフォルトの名無しさん
06/10/08 06:10:21
だから?
869:デフォルトの名無しさん
06/10/08 09:08:11
伊代はまだ、16だから。
870:デフォルトの名無しさん
06/10/08 21:01:57
未だにかよ>>869
871:デフォルトの名無しさん
06/10/09 14:53:20
じゃ~、>>900 を取ったやつが言語を作る!
872:デフォルトの名無しさん
06/10/09 14:56:25
型付きオブジェクト指向言語でオープンクラスが可能な言語が良いのぅ
873:デフォルトの名無しさん
06/10/09 16:10:45
公開授業?
874:デフォルトの名無しさん
06/10/09 16:33:38
オープンクラスってなんだよww
ちなみに俺言語作ってる奴は、俺自身を除いて2人知っている。
ただ単に話題にならないから、無いものと思ったのかもね >>852 は。
875:デフォルトの名無しさん
06/10/09 16:38:29
俺言語なんて無意味の極み
876:デフォルトの名無しさん
06/10/09 16:50:46
>>875
普通のアプリ作ってる分にはあんまり関係ないかもしれないが
マイナーな環境だと俺言語(別に何かとコンパチでもいいが)じゃないと困る事もある。
つか困った事がある。
877:デフォルトの名無しさん
06/10/09 16:57:20
Open-Class considered harmful.
878:デフォルトの名無しさん
06/10/09 16:57:53
>>876
GAS使え
879:デフォルトの名無しさん
06/10/09 17:10:25
俺言語っつーか、DSL(DSL:Domain Specific Language)はいるよね。
880:デフォルトの名無しさん
06/10/09 17:11:20
ゲームのスクリプト程度のものまで含めたら、結構みんな色々作ってるだろうけどね。
「言語」なる表現に並々ならぬ神聖性を見出している方々にも一切の難癖を付けられない、
いわゆる本格的な「言語」となると、なかなか居ないだろうなぁ。
881:デフォルトの名無しさん
06/10/09 17:16:52
Rubyは、代表的な俺言語なわけだがw
882:デフォルトの名無しさん
06/10/09 17:48:11
>>878
そうやって全部バイナリごりごり作ると入り切らない。
で、vmで処理単位を大きくした命令を処理するのだけど、そのままじゃやっていられない。
結局俺言語が導入されそのvmをエミュレートするPCを用意してそっちでデバッグ完了してから
実機へ導入になる。
つか組み込みで吝いCPUとメモリとかだとどうしようもない。
組み込み以外で極端だったのはポケットステーションくらいだが。
883:デフォルトの名無しさん
06/10/09 18:02:21
それって、俺言語じゃねえよ
俺言語ってのはやっぱり、
「これが俺の言語だ!どうだ!!」ってなやつのことだもん
「この環境で言語いるから、お前作れよ!」
ってな感じで作らされるのは、『お前言語』ってところだ
884:デフォルトの名無しさん
06/10/09 18:03:59
「代表的な俺言語」っていうのは、宿命的に難しい定義だな。
こういう場で代表になれるような言語が、果たして今もなお俺言語の名にふさわしいかって点で。
885:デフォルトの名無しさん
06/10/09 18:05:32
>>883
チョトワロタ
886:デフォルトの名無しさん
06/10/09 18:05:38
>>883
それはつまり「開発することが手段ではなく目的である言語」というような感じかな。
887:デフォルトの名無しさん
06/10/09 18:10:32
俺言語って、我流言語って事じゃないの?
ちゃんと勉強した人が作った言語は、その人がアマチュアであっても俺言語じゃない。
888:デフォルトの名無しさん
06/10/09 18:13:30
↑はい、「俺ローカル定義」でました
889:デフォルトの名無しさん
06/10/09 18:15:18
>>886
その定義に一票
890:デフォルトの名無しさん
06/10/09 18:16:45
「俺」と「ローカル」はまぁ同義語ってわけじゃないけど、
この場合の「比喩的に用いられるローカル」は「俺」とかなりかぶってるから、
「俺ローカル定義」ってのはどうだろうなぁ。ちょっと響きがヌケてるかもしれないな。
891:デフォルトの名無しさん
06/10/09 18:35:11
>>886
じゃあ、やっぱり、Rubyは俺言語だw
892:デフォルトの名無しさん
06/10/09 18:37:09
886の定義だと、ほとんどの言語が俺言語だろ。
893:デフォルトの名無しさん
06/10/09 18:43:21
すべては俺言語から始まった
894:デフォルトの名無しさん
06/10/09 18:52:29
>>891
Rubyはそれっぽいね。
Perlはラリーの仕事道具として生まれたみたいだけど。
>>892
んー、それはどうだろう。
「ここでこういうのがあると便利だから」っていう理由(これは「手段」だよね)が
一番多いような気がするけどなぁ。いや、気がするだけね、あくまで。
895:デフォルトの名無しさん
06/10/09 18:56:19
>>871
>>900 俺言語作れよ~
896:デフォルトの名無しさん
06/10/09 18:57:02
>>894
>Perlはラリーの仕事道具として生まれたみたいだけど。
はぁ?じゃあ「開発することが手段ではなく目的である言語」じゃないじゃん。
「開発を始める時の動機が手段ではなく目的だった言語」だろ。
897:デフォルトの名無しさん
06/10/09 18:59:46
>>896
ごめんなさい。
君がキチガイにしか見えません。
898:デフォルトの名無しさん
06/10/09 19:01:43
使えたら何でもいいのと違う?
899:デフォルトの名無しさん
06/10/09 19:03:31
>>897
大丈夫。キチガイはお前だよ。
900:デフォルトの名無しさん
06/10/09 19:04:03
>>896
だから、「Rubyは>>886の定義に該当するね。Perlは違うけど」って言ってるんだろ>>894は。
901:デフォルトの名無しさん
06/10/09 19:10:11
>>900
何いってんの?
886の定義 「開発することが手段ではなく目的である言語」
にPerlも該当するよ。昔はどうだか知らんが今はそうだろ?
Perlはラリーの仕事道具として産まれたから俺言語の定義から外れるっつーなら、
886の定義は正しくは「開発を始める時の動機が手段ではなく目的だった言語」だろっていってんの。
902:デフォルトの名無しさん
06/10/09 19:12:28
不毛な。
903:デフォルトの名無しさん
06/10/09 19:14:19
>>901
> っていってんの
今言ったのはわかるけど、さっきは言ってなかったね。
904:デフォルトの名無しさん
06/10/09 19:15:59
>>902
Perlの現状に関する自分の価値観を
どさくさ紛れにアピールしてるだけの抵抗レスだからな。
「あんなのSFじゃない!」とかそういうのの仲間。
905:デフォルトの名無しさん
06/10/09 19:16:15
>>903
さっきも言ってるよ。
906:デフォルトの名無しさん
06/10/09 19:16:56
>>904
文盲?
907:デフォルトの名無しさん
06/10/09 19:21:53
>>906
寒いよお前。
908:デフォルトの名無しさん
06/10/09 19:25:56
相変わらずスレタイから外れると伸びが良くなるな。
自分のレベルに落ちてきた途端に水を得た魚のように振る舞うのって、
露骨すぎると超笑えるぜ?w
909:デフォルトの名無しさん
06/10/09 19:26:21
文盲に「寒いよ」といわれてもなぁ
910:デフォルトの名無しさん
06/10/09 19:31:38
文盲って言葉が好きなんだなぁ、ボク。
911:デフォルトの名無しさん
06/10/09 19:33:11
>>908
「超笑えるぜ?」なんて、そんな水を得た魚のように言われると
超 笑 え る ぜ ? w
912:デフォルトの名無しさん
06/10/09 19:36:20
そんなに悔しかったのか。どおどおどお。とにかく落ち着こう。
興奮するともっと馬鹿に見えちゃうからねw
913:デフォルトの名無しさん
06/10/09 19:39:15
流石に「超笑えるぜ?w」で悔しがる人は居ない。
どっちかというと、「超笑えるぜ?w」と言った人間が悔しいだろうな。
914:デフォルトの名無しさん
06/10/09 19:41:43
>>910
一度設定を固めたら、絶対その物語の中からしか言葉を紡ぎ出さない。
まぁ頭の弱い奴が最後まで場に立っていようとしたら、そういう
「"頭を使わないナンセンス"をまき散らして、相手に放置されるのを待つ」方法しか無いよw
お前のその子供扱い設定も同じだな。まぁこうして指摘したから変えるかもしれんが、
そのままだったらその路線でずっと行ってたろどうせw
915:デフォルトの名無しさん
06/10/09 19:44:03
>>913
> 流石に「超笑えるぜ?w」で悔しがる人は居ない。
だよなぁ。
俺もまさか、こんなに悔しがる奴が現れるなんて思ってもみなかった。
いまどき字間なんか開けちゃうしさぁ。「あちゃ~」みたいな失笑すら出てくるし。
916:デフォルトの名無しさん
06/10/09 19:45:13
俺は超笑えるぜ路線でずっと行こう
917:デフォルトの名無しさん
06/10/09 19:45:15
水を差すようで悪いけど、この不毛のスレは何時まで続くの?
918:デフォルトの名無しさん
06/10/09 19:46:23
>>915
残念だけど、そのレス悔しさがにじみ出てて、超笑えるぜ?w
919:デフォルトの名無しさん
06/10/09 19:48:13
Perlの歴史を語るスレに変わりました。
920:デフォルトの名無しさん
06/10/09 19:48:41
>>917
面白いのでずっと続きます
921:デフォルトの名無しさん
06/10/09 19:53:38
歴史は誰も語ってないな。
922:デフォルトの名無しさん
06/10/09 20:09:03
>>921
そろそろ語られ始めると思う
923:デフォルトの名無しさん
06/10/09 20:22:05
Perlは1973年に産声を上げた。
924:デフォルトの名無しさん
06/10/09 20:56:40
俺言語の話題が出てから凄い伸びてるな
このスレの存在意義に関わるだけあるな
925:デフォルトの名無しさん
06/10/09 21:06:49
もう少し有意義なことを語ろうぜ。
perlについて語ってもしょうがないだろ?
926:デフォルトの名無しさん
06/10/09 21:16:13
>>844-845のタイムスタンプみてもわかるように、話すことが無いんだよね
927:デフォルトの名無しさん
06/10/09 21:31:34
じゃ~、C#について語ろうよ。
928:デフォルトの名無しさん
06/10/10 00:27:45
スレの流れを無視して書き込むけどANTLR v3ってまだC++のターゲット吐けないの?
Javaな連中はもう移行始めてるみたいなのに、リリース時にはサポートしてくれんのかな。
929:デフォルトの名無しさん
06/10/10 11:00:53
何でもいいから >>900 は言語作ってくれよ~
930:デフォルトの名無しさん
06/10/10 16:33:59
Accessにテキストで格納された簡易な式を計算して、その結果をレポートに
印刷したいのですが、簡単にできる方法ないですか?
VB版、lex/yaccみたいなの。または、MSXMLParserみたいな感じのものが
どっかにあるはずだーと思って探してるんですけど、なかなか、、、
無ければ再帰下降パーサ書くんですけど、今後拡張ありだと思うので、
なるべくメンテし安い方法で作りたいのです。。。
何かアドバイスを!
931:デフォルトの名無しさん
06/10/10 16:42:23
MSXMLParserでいいなら、MSXMLParserをVBで使えばいいじゃないか
932:デフォルトの名無しさん
06/10/10 18:30:38
違った、、、MSXMLParserじゃダメなんです、、、
933:デフォルトの名無しさん
06/10/10 21:31:10
MSX-ML-Parser
に見えた
934:デフォルトの名無しさん
06/10/10 22:10:10
>>933
俺もそう見えた
935:デフォルトの名無しさん
06/10/11 11:35:35
ついにMSXでもMLが動く時代になったということでOK?
936:デフォルトの名無しさん
06/10/11 13:45:21
>>935
いやいや、あくまでParserだけというところがポイントではないかと
937:デフォルトの名無しさん
06/10/11 14:38:18
パーズして終わり?つかパーズだけかよっ!
938:デフォルトの名無しさん
06/10/11 16:37:46
>>722
マークアンドスイープ。
939:デフォルトの名無しさん
06/10/11 16:51:44
サーチアンドデストロイ
940:デフォルトの名無しさん
06/10/11 16:53:08
>>727-739
ありがとう参考にします。
>>727
型システムは硬いです。
>>728
そういうものを想定しています。
>>732
ポインタはありません。すべて参照という形にしています。
オブジェクトはクラス情報を持っています。
>>734
実は言語についてほとんど何も考えていません。
というか実装できていません。実験している程度の状態です。
動的に機械語を生成して実行する実験をしてみました。
実用的な速度で動くように感じました。
プリミティブ用のスタックをマシンスタックに統合できないかと考えています。
動的に機械語を生成する場合、コンパイルよりもリンクのほうが
難しいと感じました。(コーディング、実行に要する時間、双方について)
皆さんどうもありがとう。
941:デフォルトの名無しさん
06/10/11 18:54:13
次まだ~?
942:デフォルトの名無しさん
06/10/12 06:22:28
schemeで効率的な継続の実装の参考になるような論文はありますか?
943:930
06/10/12 17:24:52
いや、まじで。VBで構文解析するとき皆どうしてんの、、、
JavaのStringTokenizerみたいなの無いの??
944:デフォルトの名無しさん
06/10/12 17:52:37
俺はJavaScriptで構文解析したときは自分で書いたけど…
945:デフォルトの名無しさん
06/10/12 20:10:47
>>943
ちゃちゃだが、StringTokenizer相当のものだと貧弱過ぎて、あっても大して構文解析の
助けにはならんと思うのだが。
それはともかく、VB用のParser Generatorはちょっと探した限りでは無いようだから、
自前で再帰下降の構文解析器書くか、既存のParser GeneratorをVBのコード吐く
ように改造するかくらいしか無いんじゃない?もしもVB.NETだったら、C#用のParser
Generatorを間接的に使うこともできるだろうけど。
946:デフォルトの名無しさん
06/10/13 11:16:23
再帰下降くらい手で書いたほうが効率よさそう
947:デフォルトの名無しさん
06/10/13 11:37:24
遅い梅速度にモルチョンペンポロストンカロスな気分です
948:デフォルトの名無しさん
06/10/13 17:41:17
VBはまったく知らないんだけど、eval()とかいうのを使うのじゃダメなの?
949:初心者
06/10/13 18:30:12
スレ違いかとは思いますが質問させて下さい
楽天などの注文ホームに住所など必要事項が瞬時に書き込めるスクリプトってありますか?
950:デフォルトの名無しさん
06/10/13 18:33:13
>>949
っスレリンク(software板)
951:デフォルトの名無しさん
06/10/13 18:38:11
スレ違いも甚だしいなw
952:デフォルトの名無しさん
06/10/13 18:51:26
3分で的確な誘導をする950に感動
953:デフォルトの名無しさん
06/10/13 20:37:57
3分で的確な次スレをたてる950に期待
954:デフォルトの名無しさん
06/10/13 21:27:15
>>949
どうしてここに来たの?それがすごく疑問なんだけど・・
955:デフォルトの名無しさん
06/10/13 21:39:27
>>954
「スクリプトエンジン」を勘違いしたのでは?
956:デフォルトの名無しさん
06/10/14 00:09:17
コンパイラと関係ない話ばっかりじゃつまんね~
957:デフォルトの名無しさん
06/10/14 00:46:12
じゃあLISPコンパイラについてでも語ってみようか。
どぞ!
958:デフォルトの名無しさん
06/10/14 00:54:32
結局はオレ様ヴァーチャル・マシンを作れってことに収まる。
959:デフォルトの名無しさん
06/10/14 05:54:10
そしてオレ様命令セットの半分も組み込まない内に飽きるんだな