1 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:58:40 ] □過去スレ□ Part21: ttp://pc11.2ch.net/test/read.html/tech/1207300697/ Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/ Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/ Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/ Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/ Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/ Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/ Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/ Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/ Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/ Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/ Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/ Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/ Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html
792 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:23:43 ] >>791 Lispではよくあることだが、式と値を混同しているね
793 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 21:53:32 ] >>792 それではevalのお手本をどうぞ。
794 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:01:24 ] >>791 > (define (eval x) > x) これマジレスなのw
795 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:08:34 ] S式を 評価するのに 値呼び
796 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:14:49 ] 評価頼られてるのに、自分はとんずらして、他に丸投げかよ。
797 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:25:15 ] あと、継続渡しと称して (lambda (x) x) を渡すこともあるね
798 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:49:16 ] 普通にこれで動く。 (define (driver-loop) (begin (let ((input (read))) (let ((output (eval input))) (display output)(newline))) (driver-loop))) (driver-loop) でもevalのお手本、観てみたいな。
799 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:51:28 ] ∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
800 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:59:06 ] 批判してる奴ってなんでそんなにエバルんだろう?
801 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:04:05 ] >>797 それ (define (eval x) (lambda (x) x)) という意味? (+ 2 2) => #<procedure> になると思うよ。ちょっとマズイ気がする。
802 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:32:42 ] 修辞疑問のお手本ですか
803 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:01:45 ] Lisp Scheme FAQ 「修辞疑問文」 要点を強調するために発せられる修辞疑問文では、答は期待されていない。 多くの場合、答は疑問文自体に含まれるか明白だからである。 前提的疑問文は、答えうるものが何であれ、その人が断定しようと望んでいること以上の情報を含んでしまうだろうから、 ジョークとして用いられたり、相手を困らせるために用いられたりする場合がある。 例) 批判してる奴ってなんでそんなにエバルんだろう? 修辞疑問のお手本ですか
804 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:03:20 ] なるほど「修辞疑問のお手本ですか」は修辞疑問文の再帰的な定義になっているわけだ。w
805 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 06:53:39 ] つ「修辞疑問って答えを期待してないんじゃないんですか?」
806 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 06:57:39 ] >>803 この例の会話ヘンだよ。 >例) >批判してる奴ってなんでそんなにエバルんだろう? <=答えを期待してない >修辞疑問のお手本ですか <=なぜか答えてるw
807 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 13:54:34 ] 期待してないものが思いがけず手に入ることだってあるんですよ
808 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:39:59 ] 修辞疑問の意味もわかってないのに使うからだよw みっともないなぁ。
809 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:57:26 ] これは勝利宣言っぽいな。或いは単に言葉が足りない。
810 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:23:03 ] >>790 WiLiKiはだいたい見てるつもりだったけど気づいてなかった。 peg使ってみたかったけどコンパイルめんどいからリリース待ちだったので、 不意に動くバイナリが手に入って嬉しい。 ところでGaucheはもう完全にSubversionに移行してんの?
811 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:44:01 ] 言葉遊びなんかどうでもいいんだよ。 evalのお手本、誰か書いてよ。簡単そうに言ったんだら。 マジ、期待したのに。
812 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:30:25 ] evlis[m;a] = maplist[m; \[[j];eval[car[j];a]]]
813 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:31:12 ] evcon[c;a] = [null[c]->error[A3]; eval[caar[c];a]->eval[cadar[a];a]; T->evcon[cdr[c];a]]
814 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:32:21 ] apply[fn;args;a]=[ null[fn]->NIL; atom[fn]->[get[fn;EXPR]->apply[expr;args;a];
815 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:34:46 ] M式とはまた古風だな
816 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:41:34 ] evalくらいでエバらないでよね!
817 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:45:59 ] LISP 1.5 の論文の丸写しだなw
818 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:55:40 ] SchemeはS式で意味論が定義されていないのでLispではない、という話があったけど S式とM式を使うLispはLispではないの?
819 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:59:15 ] M式→S式は機械的に変換可能。単に表記の問題。
820 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:00:20 ] LISP 1.5 Programmer's manual の eval の定義は確か ] が一つ 足りないんだよね。丸写しするとアウトかな?
821 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:03:03 ] LISP 1.5 はM式で入力できるわけじゃないしね
822 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:08:30 ] >SchemeはS式で意味論が定義されていないのでLispではない、という話があったけど すごい燃料を投下する奴もいたもんだ(w どうなったのかな?
823 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:15:38 ] >>812-814 Schemeに翻訳キボンヌ
824 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:46:27 ] もったいぶった前口上はいいからw
825 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 07:52:08 ] >>822 古い話だよ。R6RSで解決。
826 名前:822 mailto:sage [2008/06/24(火) 08:00:17 ] >>825 サンクス! やっぱりR6RS読んでみるか・・・ でもこれ、俺には大仕事なんだよな〜 orz
827 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 10:08:52 ] つ「はてなようせい 意味論」でググれ
828 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:00:23 ] >>818 「S式で」どころか「意味が定義されてない」Lispが多い。 だから「S式で意味が定義されてない」とLispでないなら、 多くのLispはLispではない。
829 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:06:20 ] 形式的定義だけが定義じゃないけどな
830 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 16:23:55 ] 自分の手でSchemeを使ってevalが書けないのが明白になりつつあるなw
831 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:39:15 ] Schemeを使ってevalを書くのは容易 だけどどの程度ホスト処理系の機能を使う事が要求されているんですか? 特別式は使っていいんですか? (define (my-eval e env) (cond ((self-evaluate? e) e) ((symbol? e) (let ((x (assq e env))) (if x (car x) 'UNBOUND))) ((and (pair? e) (eq? (car e) 'if) (pair? (cdr e)) (pair? (cddr e)) (pair? (cdddr e)) (null? (cddddr e))) (if (my-eval (cadr e) env) (my-eval (caddr e) env) (my-eval (cadddr e) env))) ... )) みたいな程度でいいんですか?
832 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:39:50 ] typo (car x) -> (cdr x)
833 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:56:51 ] >>831 もともと>>782 の説明に使うevalが求められていたから、その違いを表面化させることが出来るならホスト処理系の機能を使う事が許されていると思う。
834 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:38:52 ] 機種依存無しで違いを表面化させて再現するevalを書くの大変そうだ。 >>831 期待してるよ。
835 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:46:25 ] 簡単だろ。 というかSICPの課題させようとしてるだろ? 大学の宿題か?
836 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:52:07 ] >>835 話しそらすの上手だね。 >>723 から始まったbeginのトップレベルの継続の違いを再現してみせる2種類のevalが本題。 別に宿題とか云う次元の話じゃない。逃げたきゃ逃げれば?どうせ匿名だし。
837 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:54:57 ] どうせ匿名なんだから構わなきゃいいのにw
838 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 02:29:22 ] >>835 はいい奴だと思う。 M式書き写してLISP 1.5のウンチクたれてる誰かさんより。
839 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 03:21:49 ] いい奴だが不要だ
840 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 04:35:41 ] >>836-837 結局、処理系のソースでも読んで君自身で作るしかないだろうな。 違いを再現するためにevalを作れという事は、 つまり「継続を含んだeval」が必要で、 そのevalと同位の継続もファーストクラスとして必要になる。 そうでないと組み込みbeginと構文唐beginの違いは多分理解できない。 ここの住人は冷めてるから、いくら喚き散らしても そこまで面倒な事をこの流れでやるわけがない。 ちなみに継続はSICPの範囲外だ。 がんばれ。
841 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 05:53:13 ] しょうがねえなあ、ちょっと書いてやるから後は考えろ。 (define (eval exp env cont) (cond ((number exp?) (cont exp)) ((symbol? exp) (eval-var exp env cont)) // ry (else (eval-list exp env (lambda (l) (apply (car l) (cdr l) cont))))))
842 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 06:04:33 ] on lispに
843 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 07:44:15 ] R5RSの解釈の問題なら、仕様書を読まずに解決することはあり得ないですね
844 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:41:26 ] (begin (define cc #f) (display (call/cc (lambda (c) (set! cc c) (cc 'hoge)))) (display 'fuga) (cc 'moga)) が無限ループにならない実装はtop-levelのbeginだけ特別にスプライスして (eval '(define cc #f) (interaction-environment)) (eval '(display (call/cc (lambda (c) (set! cc c) (cc 'hoge)))) (interaction-environment)) (eval '(display 'fuga) (interaction-environment)) (eval '(cc 'moga) (interaction-environment)) とやっているからで、これはevalの実装というよりマクロの展開方法の違いと言える。 ちなみにR5RSは一塊でevalしてもスプライスしてevalしてもどっちでもよかったと思うけど。
845 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:34:35 ] >とやっているからで、これはevalの実装というよりマクロの展開方法の違いと言える。 >ちなみにR5RSは一塊でevalしてもスプライスしてevalしてもどっちでもよかったと思うけど。 これDrSchemeとか他の処理系を確認して書いた?
846 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:38:39 ] >というかSICPの課題させようとしてるだろ? >ちなみに継続はSICPの範囲外だ。 Seasoned Schemerには継続が出てくる。
847 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 15:09:03 ] R5RSの5.1節を 「beginで囲んでも囲まなくても意味が変わらない」 と解釈するならスプライスするべきです。 意味が変わるというなら、どう変わるのか明確にするべきです。
848 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 15:22:20 ] >>845 「処理系確認する」ってやり方で判定すると、 「どっちでもいい」個所がどんどん増えるだけだと思うが?
849 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 16:10:38 ] >>847 のように考えた人が作ったのでDrSchemeはあのように動作しているらしい。 それはここを見れば解るよ。 www.cs.brown.edu/pipermail/plt-scheme/2006-August/014277.html 明確な根拠が書かれていれば嬉しかったのだが・・・残念
850 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 16:27:08 ] >>848 かなり上のほうでGaucheとDrSchemeを比較してたから。 確認して書いてるなら話がつながるだろ?
851 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 16:42:05 ] >>847 > R5RSの5.1節を At the top level of a program (begin <form[1]> ...) is equivalent to the sequence of expressions, definitions, and syntax definitions that form the body of the begin.
852 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:27:47 ] >>851 >is equivalent to この文をどう解釈するか。 ひとつめは >「beginで囲んでも囲まなくても意味が変わらない」 という立場だ。 もうひとつは >意味が変わるというなら、どう変わるのか明確にするべきです。 という立場だ。Gaucheの挙動はこっちだった。 ここまでの流れ: Gaucheの挙動ってエラーじゃねえの?=>エラーじゃねえよ!=>ならeval書いて説明してみろよ=>evalなんて簡単。=>さっさと書け、ゴラァ! =>ほら書いてやったぞ=>それじゃ意味が明確になってねえぞ、ゴラァ!(今このへん)
853 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:33:04 ] >>852 > ならeval書いて説明してみろよ この馬鹿発言は無視すべき
854 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:39:07 ] eval書いて説明するような話じゃないよな
855 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:45:43 ] Gaucheの挙動ってバグじゃねえの? =>バグじゃねえよ! =>R5RSではトップレベルの実行はREPLの実行と区別されていないよ、R6RSではREPLが廃止されたけどね =>REPLってなーに? =>Read Eval Print Loop =>(define (eval e) e) =>S式の評価なのに値呼びpgr =>ならてめーが手本を見せてみろよ =>(マッカーシーの論文の丸写し) =>自分の手で書けねーのかよ =>evalなんて簡単。 =>さっさと書け、ゴラァ! =>ほら書いてやったぞ(<=今このへん) じゃない? 継続の底を説明する為にevalを書くって話は832で初めて出てきたような
856 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:49:29 ] (define (eval e) e) は近年まれに見る傑作だな。w
857 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:55:32 ] unicodeで書いたソースコードの改行が"\n"になってる処理系と"\n"(\は半角)になってる処理系があるんだな。 "\n"で改行しなくて驚いた。
858 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:15:04 ] >>856 (define (^-^)(print '許してやんなよ。))
859 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:16:26 ] >>855 これってアンチのネタだったのか・・・
860 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:17:52 ] >>858 (define (・x・) (print 'Bカップ))
861 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:18:53 ] >>855-856 がshiroさんのもうひとつの顔だったら怖い
862 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:30:21 ] いいこと思いついた おまえらちょっとeval書け
863 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:31:12 ] REPL「いいこと思いついた。おまえ俺の中でbeginしろ。」
864 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 02:02:39 ] >>858 , >>860 > (^-^) 許してやんなよ。 > (・x・) Bカップ エラー吐くかと思ったらw
865 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 02:24:42 ] (cut or <> <>) (fold or #f '(#f #f #t)) 怒られる なんで?
866 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 02:32:46 ] orがapply出来ないから。 (fold (lambda (x y) (or x y)) #f '(#f #f #t))
867 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 03:00:35 ] そうなのか… ちょっと明日R5RSとにらめっこしながら考えてみるわ 不便だなぁな気がする…
868 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 03:41:29 ] C言語に例えると式の中にif文混ぜるようなもの。
869 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 07:21:11 ] >>855 >S式の評価なのに値呼びpgr 値呼びは間違いではないし、pgrなんて誰も言ってないよ。 式を評価するタイミングを理解できない人が多いのは S式の見た目が単純すぎることと、評価の仕組みがわりと複雑なことのギャップが 驚き最小の原則に反しているんじゃないかな。
870 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 07:59:08 ] Gaucheでバグかなと思ったのあるけど聞ける雰囲気じゃないね Rubyより怖い
871 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 08:10:33 ] ああ、宗教的な何かがここに蔓延してることにしたいわけね。 大丈夫だよ。馬鹿は論理的に叩かれるけど、馬鹿じゃなければ叩かれない。 書いてみれば?
872 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 08:24:07 ] >>867 orが普通の関数だと、 ショートカットにならなくて、 それはそれで不便。 Schemeの特殊形式は 数が少ないから覚えられる。 覚えよう。
873 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 08:39:11 ] rubyってこわいの?
874 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 08:52:37 ] つ 落語&「rubyよりこわい」
875 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 09:13:10 ] >>870 別にネタや燃料の投下になってもいいじゃん!
876 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:41:57 ] バクだってあるさ にんげんだもの
877 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 16:18:00 ] ココのスレ見るとLisperさんが何をしてきてどう思われてるかが良くわかります。こういう印象です。 pc11.2ch.net/test/read.cgi/tech/1209441159/
878 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 16:20:40 ] 粘着、こっちまで遠征かよw
879 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:58:10 ] >>871 ほとんど名指しされてるw
880 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 06:31:04 ] >>870 WiLiKiに書いたら? ちゃんと対応されるみたいだし
881 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 06:44:49 ] Rubyをプログラミング言語の基準にやめろ あれはあれで特殊。 RubyとGaucheとMosh、みんな違ってみんないい
882 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 06:50:14 ] ジャパニーズでおk
883 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 08:34:34 ] >>882 I cannot understand your words. "It is k in Japanese" What meaning is it? Please write in English.
884 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 11:02:25 ] コピペか? ひっでえ英語w
885 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 13:07:52 ] >>884 偶然だぞ 何言いたいかと申しますと「ジャパニーズでおk」という日本語では、外人さんに伝わるものも伝わらないだろう、と言いたいわけです 日本語でやり取りしてるサイトなのだから外国人なぞ居ない、日本人しか居ないのだ、と思い込んでいませんか? 日本人がYoutubeを使っているように、外国人も2chを使っている可能性があるのではないのですか? 何故その可能性を排除しますか? 母国語ではない言語を使うことに苦労しながらも、それでも私達とコミュニケーションをとろうとしている(のかもしれない)人物に対して 「ジャパニーズでおk」という物言いをするのは良いことなのですか? コミュニケーションをとろうと努力している(のかもしれない)相手に対して、随分失礼な態度ではないのでしょうか それとも、そんな振舞いをするのが日本人なのですか? 相手にけして通じない言葉を使って悦に入る。それが日本人の性格なのですか? プログラミング言語のほとんどは日本以外の国で作られたものですから、日本人はその習得や理解に多少なりとも苦労しているはずです ドキュメントの大多数は英語文献で公開され、英語が不得意な日本人であれば読むのも一苦労でしょう そのような苦痛をこの板に集う人々は自ら日々感じていながら、何故相手に通じない日本語を使うのですか?
886 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 13:09:55 ] そして私は思いました >>881 が日本人なら、私こそが失礼なことを言っています…
887 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 13:28:06 ] 886は外人さんなのな 2chはある意味、かなり高度な日本語(スラング的な意味で)が要求されるから もっと慣れてから書き込むべきです。 このBBSで長文を書き込むことと、必死になることは推奨されていません。 そしておそらく881は日本人です
888 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 14:00:40 ] おまえらの人種が何なのかなんて興味無いよw
889 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 14:35:56 ] おまえらここは言い争いの場にやめろ
890 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 15:24:25 ] >>888 おまえの興味なんて興味無いよw
891 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 15:25:16 ] >>890 おまえの興味なんて興味無いよw 以下再帰的なので略
892 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 15:30:14 ] ここは酷い名無し再帰スレです。
893 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:54:30 ] >>892 Yコンビネータ乙
894 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 18:08:39 ] 不動点ですが何か?
895 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 18:15:23 ] >>894 894 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/27(金) 18:08:39 不動点ですが何か?
896 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 18:18:32 ] >>895 895 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/27(金) 18:15:23 >>894 894 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/27(金) 18:08:39 不動点ですが何か?
897 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 18:19:16 ] >>896 896 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/27(金) 18:18:32 >>895 895 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/27(金) 18:15:23 >>894 894 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/27(金) 18:08:39 不動点ですが何か?
898 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 18:35:05 ] やめいw
899 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 19:05:20 ] 本当に再帰すんなw
900 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 19:15:21 ] ヌルポ
901 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 19:18:55 ] ガッ
902 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 19:26:11 ] 再帰を終わらせようと思ったのにガッされたお(´・ω・`)
903 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 19:48:48 ] >>902 つぎはcall/ccをかませよ。
904 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 20:46:10 ] pythonの内胞リストで感動してきた www.ibm.com/developerworks/jp/linux/library/l-prog3/ 要するにmapの拡張だと思うんだけどmapの拡張を柔軟にするって意味では lispのmacroも同じ? pythonの内胞リストと同じマクロって作れないの?
905 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:11:58 ] >>904 (use srfi-42)
906 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:13:46 ] リスト内包記法な
907 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:55:32 ] >>904 実用的なのは >>905 が書いてるsrfi-42だが、マクロでの実現法を 知りたいならここにあるlist-ofが参考になる。15行で内包表記を実現。 practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%9e%e3%82%af%e3%83%ad%e3%81%ae%e5%8a%b9%e7%94%a8#H-b9epxs
908 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:57:15 ] 内包表記は複雑。あんなものは内包がいい。
909 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:05:00 ] うまいこと言うなあ
910 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:17:56 ] 尊敬します!
911 名前:デフォルトの名無しさん [2008/06/27(金) 22:47:39 ] Lispに入門したいけどまだ戸惑ってる僕が質問します。 みなさんはLispを使って何をしていますか? ばかな質問だったら無視してください。
912 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:48:57 ] 仕事
913 名前:デフォルトの名無しさん [2008/06/27(金) 22:54:47 ] >>912 すごっ、どんな分野なんですか?
914 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:58:31 ] ふつーに、ちょっとしたデータを作ったり、ソースとかドキュメントを加工したりするのに使ってるよ。
915 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:59:50 ] 912ではないが 設定ファイルのインタプリタとか シェルみたいにインタラクティブに何か操作する言語を作るとか
916 名前:デフォルトの名無しさん [2008/06/27(金) 23:03:09 ] みんな実務に使ってるんですねぇ。 CG系の目的で使ってるひといませんか?
917 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:03:42 ] よほどのことが無いかぎり、プログラムは Lisp (私の場合はCommon Lisp)で書いている。 よほどのこと、というのは、 ・効率などをシビアに要求されて、他の言語でないとその要求を満たせない場合 ・他の言語を使えばおそろしく簡単に(たとえばライブラリを呼ぶだけ)済む場合 ・(顧客の指示など)社会的な理由でLispを使うことが許されない場合
918 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:04:32 ] >>916 レンダリング系は難しいかもしれないけど、モデリング系ではかなり使われてると思う
919 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:08:45 ] >>916 昔々Symbolicsというマシンがあってだなあ・・・ いや年寄りの独り言だ、忘れてくれ・・・ orz
920 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:10:04 ] 昔話禁止しようぜ
921 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:11:07 ] R5RSは忘れてR6RSにしようということですね。わかります。
922 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:16:24 ] >>916 例えばここ見てみるといいよ。 ttp://www.franz.com/success/customer_apps/animation_graphics/
923 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:45:50 ] R6RSも忘れてERR5RSにしようということですね、わかります >>911 あなたは両手を使って何をしていますか? (もし手の不自由な方だったら申し訳ありません。意味を汲み取ってください。)
924 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:51:55 ] >>923 > あなたは両手を使って何をしていますか? 自慰
925 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:56:14 ] >>924 片手でやれ
926 名前:デフォルトの名無しさん [2008/06/28(土) 01:19:54 ] >>923 すみません、意味を汲み取れませんでした。 今はタイピングしてますね。
927 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 01:32:39 ] 深い意味があるわけではありません。 なんか予想外の方向に展開してますが 日常生活の動作の多くに(無意識に)両手を使うように コンピュータを使う動作の多くに(無意識に、とまではまだ私はいきませんが)Lispを使うのです。 などと書きましたが未だに3分の1くらいはBシェルスクリプトにしてしまいます:-P
928 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 02:42:44 ] 春先辺りから変なのが常駐してるな。
929 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 03:09:44 ] だれかグレアムおじさんのArcを実装しようという方はおらんのかね
930 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 03:23:06 ] >>929 グレアムおじさん
931 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:53:38 ] >>916 ちょっと違うかもしれないけどこういうのもあるよ www.pawfal.org/fluxus/
932 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:58:24 ] >>916 gimpのscript-fu?
933 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 16:00:43 ] 行列計算とplot関係はpythonで pythonのメタ制御をlispでしたい しかし理想の環境はいまだできず
934 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 17:32:42 ] それLisp必要か?
935 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 17:36:23 ] それPython必要か?
936 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 17:43:54 ] 行列計算はどうなの?
937 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 17:57:20 ] Ypsilon Scheme System(イプシロン・スキーム・システム)はプログラミング言語Schemeの 最新規格R6RS*に準拠する実装です。インタープリタの特性を活かしてスピーディーで インタラクティブなアプリケーション/ユーザーライブラリーの開発を可能にします。また マルチコアCPU用に最適化したMostly Concurrent Garbage Collectionを実装することに より、極めて短いGC停止時間と並列実行によるパフォーマンスの向上を達成しています。 ttp://www.littlewingpinball.net/mediawiki-ja/index.php/Ypsilon_Scheme_System この会社のピンボールゲームとはMacでトリスタンやって以来の付き合いなわけだが、こう いう方向に来るとは思わなかった。
938 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:00:59 ] Python上で動くフルスペックのCommonLispとSchemeが欲しい。(CommonLithpとかThcheme?) OCaml上でも可。(OCSみたいなヤツ)
939 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:59:37 ] >>938 逆を作った方がいいだろうな。jpythonやiron pythonみたいにcl pythonかsbcl pythonでも 考えてみたいい。
940 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:05:16 ] PythonやOCamlが動く環境のほうが CLが動く環境よりも多いんですよ それにPythonやOCamlは処理系が統一されてるし
941 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:27:05 ] >>939 > 逆を作った方がいいだろうな。 > 考えてみたいい。 意味不明
942 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:56:15 ] >>938 せめてJavaがいいな schemeではありそうだけど
943 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:01:56 ] C/C++上で動くSchemeの何が気に入らないのかが不明だが 宗教上の理由かな
944 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:04:53 ] gaucheをxrea ・仮想環境にopenSUSE 10.3/11.0 i386版をインストール ・ディレクトリ /virtual/(xreaのあなたのID)/ を作る。 ・そのディレクトリの下に bin lib share ディレクトリを作る。 ・gaucheのソースを本家からダウンロード&展開 ・gauche-0.8.xxディレクトリに移動 ・./configure --prefix=/virtual/(xreaのあなたのID)/ ・make ・make install ・/virtual/(xreaのあなたのID)/に移動 ・ tar cjvf gauche.tar.bz2 bin lib share ・ gauche.tar.bz2 を xrea に持っていく。 ・ sshでxreaにつなぐ ・ そこで tar xjvf gauche.tar.bz2 とする。 おしまい。openSUSEにはyastからautomake autoconf など開発系のパッケージを入れること。
945 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:08:09 ] >>944 しまった、誤爆です。でもここでもいいか。
946 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:08:10 ] Python上であればPythonから簡単に呼べるという幻想でしょ。 たぶん性能が悪くて使い物にならないと思うけど。 どうせやるなら Java VM か .NET CLR 上が面白いだろうね。
947 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:19:03 ] >>943 C/C++ではGUIの仕様の統一が図れないしi386やLinux/Winのみをターゲットにしている事も多い。 JAVAは純正はポータブルじゃないしクローンは(よくなったとはいえ)まだ不完全。 PythonやOCamlは派生処理系はあるもののメインに概ね統一されてるしポータビリティもいいしGUIもある。 という理由です。 FiclやLuaみたいにANSI-Cが必要十分条件なCL or Schemeがあればそれが一番いいんですが。 (といってもGUIの問題が残るけど)
948 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:25:10 ] 要はgccとPOSIXとXがある環境ではどこでも動いてよ!ってことです。
949 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:25:51 ] gcl がそれに近いかなあ
950 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:32:05 ] GCLはソースが古すぎてビルドできませんでした(古い関数が使われている?) その末裔のECLはBoehmGCをportしたらビルドできましたけど
951 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:35:57 ] どっちにしても Python 上に作ってもまともな性能なんて出ないよ
952 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:39:54 ] Python上に作るっていうか JavaVMにおけるKAWAとかSISCみたく PythonVM上で直接実行されるようにすれば CLispくらいにはなりませんかね?
953 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:54:24 ] >>947 ocamlやpython,rubyのGUIって標準はtcl/tkちゃうん? clはltkが一応あるよ。
954 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 22:03:04 ] >>947 PythonやLuaの実装言語はCなんだから、 CでGUIを統一できないとか移植性がないとか言うのはおかしいでしょ
955 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 22:42:58 ] PythonやLuaやRubyは言語≒実装なので事実上の標準という縛りがあるから その上で動くもののポータビリティが保たれることを利用して SchemeやCLよりも低レベルでポータビリティを実現して欲しいんです。 いろいろな処理系を移植するのは骨が折れるので。 LuaにGUIがあるのかどうかは知りませんが 必要十分条件が明白な言語の代表として名前をあげました。 POSIXでXlibとgccがあればフル機能は無理でも標準機能はビルドできる、くらいの条件があって欲しいです。
956 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 22:47:32 ] 欲しいものはよく判った。でも今のところ無いと思う。 性能が出なくて労力の割に面白くないから、誰も作らないんじゃないかと想像できる。 だが、やってみなくちゃ判らないぞ。>>955 の偉業に期待だ。
957 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 23:06:28 ] >>955 ansiなscheme or CLにTcl/Tkをポートする方が楽そう。
958 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 23:30:13 ] GUI込みならPythonアプリはそれほどポータブルではない。
959 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 00:08:49 ] >>955 LuaにGUIはないが、君の言う通り「Luaよりも低レベルで」ポータビリティを実現できる Cで書ける部分を無理にLuaで書くことはない
960 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 00:30:30 ] >>955 Python上で実装してポータビリティを上げるって 衝撃の馬鹿理由だな。
961 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 00:49:27 ] ポータビリティとライブラリを重視するのは良いと思う 性能重視は競争が激しいし供給過剰だし
962 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 01:03:14 ] もうすぐ次スレだな
963 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 01:15:09 ] ypsilon vs gauche
964 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 04:50:03 ] pythonはポータブルじゃないよ 日本じゃ人気がないから
965 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 07:10:54 ] おれは最近、仕事でpythonばっかり書いてるよ。 時々lispとの微妙な違いに悲しくなるけど、確かにlisperとしても許容できる、 良い言語だわ。ほぼどこでも動くし、ライブラリも沢山。 そのうち趣味でもpythonばかりになるかも。
966 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 08:39:27 ] ANSI-Cが必要十分条件だとGC書けねーよ
967 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 09:28:25 ] >>933-935 matlabに慣れてるからpython.numpyが使いやすい しかしちょっと高度なこともしてみたい 全部lispでやったほうがいいのだろうか
968 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 09:28:57 ] >>938-939 pyffi
969 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 09:57:24 ] >>967 あまり融合度が高くないが、 clisp.cons.org/impnotes/matlab.html matlabじゃないが、 nlisp.info/
970 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 13:08:28 ] ピンボールの話題がまだ出ていない件
971 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 13:09:16 ] ごめん。>>963 見落とした
972 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 14:30:26 ] 「事実上の標準」はTck/TkでもXlibでもなくGLUTというオチ
973 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 16:42:13 ] >>970 ピンボールよりメタボールの方が面白そうだなあ
974 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 22:21:52 ] evalでschemeが評価できるpythonとか逆にschemeでpythonが評価できるとか
975 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 22:32:26 ] データの互換性があると使いやすいのだろうが、LispのconsセルとPythonのtupleには 微妙な違いがあったり、symbolに相当するものが無かったり、PythonってLispのようで Lispでないって感じだよね。
976 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 17:33:24 ] うわさのypsilonをコンパイルしようとしたらエラーで止まっちゃったわ。 x86_64に対応してないって書いてたわ。残念。
977 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 21:52:16 ] Scheme on Java > SISC 継続不完全でもJavaとのリンク強ならKawa
978 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 18:34:57 ] まず考えるべきことは、なぜC/C++とのリンクが弱い (と思われている) かだ
979 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 12:45:38 ] >>976 32bitでコンパイルすればいいじゃん。