1 名前:デフォルトの名無しさん [2005/05/12(木) 21:44:01 ] 過去スレ Part1: piza2.2ch.net/tech/kako/987/987169286.html Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/ Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/ Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/ Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/ 関連リンクは>>2-10 あたり
755 名前:デフォルトの名無しさん mailto:sage [2005/09/14(水) 16:57:06 ] Larceny か 音沙汰無いなと思ってたらこんなところで
756 名前:デフォルトの名無しさん mailto:sage [2005/09/14(水) 19:35:50 ] 処理系依存の質問ですがここでいいですか? FreeBSD4.11でportsからインストールしたCMUCL19a traceの結果がレベル0しか出力されない (defun fac (n) (if (> n 1) (* n (fac (1- n))) 1)) (trace fac) (fac 3) 処理系の出力 0: (FAC 3) 0: FAC returned 6 6 教えてエロい人
757 名前:デフォルトの名無しさん mailto:sage [2005/09/14(水) 21:29:51 ] SBCL 使えば? 日本語も使えるし。
758 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 02:19:00 ] 計算過程をずっとsingle-floatの範囲内で収めたいのですが、ACL7は積み残しが 発生する場所では気を利かせてdouble-floatで計算してくれるみたいです。 C/C++のように強い型付けをされた言語の真似をさせるにはどうしたらよいですか。 foreign-function使ってfloat同士の加算だけの関数を呼び出すのは我ながら バカらしい解決方法だと思うのですが、もっとまともな方法ありますか?
759 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 02:28:31 ] >>758 例えば (defun p (x y) (declare (single-float x y)) (the single-float (+ x y))) みたいな書き方すれば多くのコンパイラは良きになしてくれるよ。
760 名前:758 mailto:sage [2005/09/15(木) 02:39:10 ] >>759 declareとtheを使った書き方は試しているのですが、まだ期待した結果を 得られるには至ってません。記述方法の問題かも知れないのでも少しいじってみます。 ありがとうございました。
761 名前:デフォルトの名無しさん [2005/09/15(木) 06:26:15 ] .NET + Common Lisp については、こんなのもあるらしい。 weitz.de/rdnzl/ RDNZL - A .NET layer for Common Lisp
762 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 20:55:47 ] 積極的にsingle使いたい理由でもあるの? 最適化のつもりなら多分逆効果だよ
763 名前:758 mailto:sage [2005/09/15(木) 22:46:38 ] >>762 僕への質問と理解してよければ、ハードウェアのシミュレータを書こうとしてるからです。 演算器がsingleしか持ってないので途中でdoubleに行っちゃったりして実機上の計算と結果が 異なってくるとイヤかなぁ、と。 マクロとかバンバン使って勝手に俺言語でっち上げて、パイプラインの状態とか視覚的に 見れるようなところまで持って行けたら素敵なんだけども。こんなことLispでやろうとするのって おかしいですか? >>753 出版されたら買わせていただきますわ。期待して待ってます。
764 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 23:08:26 ] C でも float foo(float x, float y) { return (x + x) / y; } を foo(MAXFLOAT, 2) と呼び出した場合、途中 double で計算して オーバーフローしない処理系があるし、それも規格合致だよ。 正確にエミュレートしたいのなら自前でビット演算するしかない。
765 名前:758 mailto:sage [2005/09/15(木) 23:47:07 ] >>763 ご忠告ありがとうございます。究極的にはそうなるんでしょうね。 SystemCとかってどうなってんのかな。暇なとき見てみよっと。
766 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 23:48:59 ] >>765 SystemCは厳格にやるクラスと高速なクラス(これは=float/doubleだけど)が両方 用意されているよ。
767 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 07:20:05 ] >>764 float の演算が double に変換されてから行われるのは K&R の時代の話じゃないの? ……と思ったけどオーバーフローが絡むとアレか。未定義だか処理系定義だかか。
768 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 09:53:09 ] ダカカ。
769 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 16:07:10 ] 中村正三郎氏によるProactical Common Lispの書評(?) iiyu.asablo.jp/blog/2005/09/16/76723 サイン本、いいなー。w
770 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 16:08:13 ] >>769 typo 誤:Proactical 正:Practical
771 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 23:11:58 ] 今日のセミナー人少なかった・・・個人的にはすごく興味深い内容だったんで もっと多くの人が知ってくれればいいのにと思ったよ。 撮影していたビデオを配信する予定がないこともないらしいのでちょっと期待。 Prologって使ったことないんだけど、適用する分野を間違えなければ便利そうね。
772 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 10:16:18 ] gosh> (display 2) 2#<undef> gosh> ((car '(display display)) 2) *** ERROR: invalid application: (display 2) why? please.
773 名前:デフォルトの名無しさん [2005/09/17(土) 10:53:05 ] lispboxっての入れてみたんだけど、 デフォルトのclisp2.34が起動時にエラーが起こるので、 エラーの起こらないclisp2.35を使ってみたいです。 しかし、clispフォルダの中身をいれかえて、 lispbox-register.elを入れてやるだけでは動かないようです。 どうやったら動くか知ってる人いませんか? ちなみに、2.34のエラーは以下の通りです。上2行のWARNINGは2.35でもでるようです。 WARNING: locale: no encoding CP932, using UTF-8 WARNING: *TERMINAL-ENCODING*: no encoding CP932, using UTF-8 invalid byte sequence #xEE #x2E #x74 in CHARSET:UTF-8 conversion よろしくお願いします。
774 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 11:14:52 ] >>772 display っていうシンボルを 2 に apply しようとしてる. シンボルは関数でないから当然エラー. やりたいことやるには ((car `(,display ,display)) 2)
775 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 11:25:13 ] おまえ初心者っぽい奴にいきなりunquoteでかいてんじゃねーよ 素直にlistで書けよ
776 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 11:27:14 ] '(display display) == (list 'display 'display) `(,display ,display) == (list display display)
777 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 11:27:16 ] ↑すまん、ちょっとあたまに血が上りすぎた 俺が言いたいのはquoteとリストの区別が付いてない初心者だから 順序立てて教えないと理解しないだろってことだよ
778 名前:772 mailto:sage [2005/09/17(土) 11:49:38 ] なるほど! 自分は gosh> ('display 2) *** ERROR: invalid application: (display 2) こんなことをしているのと同じだったんですね。 774さんのようにunquoteで書くか、以下のようにして 書くかしてちゃんと関数として評価されるようにしなければ ならなかったと。 gosh> ((car (list display display)) 2) 2#<undef> おかげで unquote についても覚えることができました。 >>774-777 さん。どうもありがとうございます。 gosh> display #<subr display> gosh> `(,display) (#<subr display>)
779 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 11:57:35 ] LISPとSchemeの両方を使うが 頻繁に使わないって人はよく間違うよね。
780 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 15:04:42 ] 間違わねーよ 間違う奴は全く理解してないってことだろ
781 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 21:58:51 ] >>769 その文章がWebに掲載された日の午前中に 私がamazonで購入したときには残り3冊だったのに、 その10分くらい後にはもう在庫なしになっていた。 洋書売り上げランキングも、最初見たとき5000位台だったのが、 一時的に50位くらいまで上がってるのを見た。 影響力すごすぎ。
782 名前:デフォルトの名無しさん mailto:sage [2005/09/18(日) 00:18:02 ] そんなに影響力あるのかあの薄らハゲ。詳しく知らないけど何者? リンク先のblog見るかぎりじゃ結構バカそうなんだが。バカを演じてるだけなのかな。
783 名前:デフォルトの名無しさん mailto:sage [2005/09/18(日) 00:39:59 ] >>782 マイクロソフトの天敵みたいな人。 ちなみに元法務大臣とは別人だぞ。w ja.wikipedia.org/wiki/%E4%B8%AD%E6%9D%91%E6%AD%A3%E4%B8%89%E9%83%8E
784 名前:デフォルトの名無しさん mailto:sage [2005/09/18(日) 01:34:41 ] マイクロソフトの天敵だと思っているのは本人だけだろ。
785 名前:デフォルトの名無しさん mailto:sage [2005/09/18(日) 09:25:35 ] >>780 (defun (hoge huga) ...)とか間違ってやるだろ?
786 名前:デフォルトの名無しさん mailto:sage [2005/09/18(日) 10:20:03 ] どこの馬鹿がやるんだろう・・・。
787 名前:デフォルトの名無しさん mailto:sage [2005/09/18(日) 14:58:41 ] >>785 defunとdefineの違いがなければ間違うかもしれんが、どちらかの単語を打ち込んだ 時点で自動的に脳内モードが切り替わるのでその手の間違いは少ない。
788 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 01:03:27 ] scheme でうっかり #' を書いてることはあるなあ。 あとは #t を t とか #f や '() を nil とか。 まあ書いた瞬間に気付いてへこむわけですが。
789 名前:デフォルトの名無しさん [2005/09/19(月) 14:01:50 ] というか関数と変数で名前空間を分けることのメリットって何よ? #:とかfuncallとかめんどくさすぎる
790 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:11:08 ] 変数として使っても、呼び出しフォームで関数が取り出せるというだけかな。 CommonLisp的思考をしない限りはメリットはない。 おれもSchemeみたくスロット1つにしてしまっても良いと思う。 ところで、()をわざわざ'()とquote付けて書いてるのが多数なのは 宗教上の理由でしょうか。 ()は評価しても()だよね? ()は#tとか#fと同じ様な扱いのはずだと思うけど。 Schemeはここだけ不思議。
791 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:14:00 ] >>790 Schemeでは () は評価できない(エラー)だと思う。
792 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:16:18 ] へーエラーになるのか。 なんでだろうね。 Gaucheでも入れてみようかな。
793 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:21:50 ] >>792 評価できる形式ではないから。 Common Lispの場合は()はnilというsymbolであってspecial変数としてnilという 値を持っているから評価できるだけ。
794 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:37:10 ] エラーなんだっけ? R5RSでは未定義だったような。うるおぼえ。
795 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:41:17 ] >>794 ああ。正確には未定義だったかも。
796 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:09:52 ] やってみた。gaucheだと両方とも同じように評価される。 gosh> () () gosh> '() () R5RSをみて見たけどようわからん。見当違いなトコ見てるかも。 4.1.3 Procedure calls > Note: In many dialects of Lisp, the empty combination, > (), is a legitimate expression. In Scheme, combinations > must have at least one subexpression, so () is not a > syntactically valid expression. 4.1.2 Literal expressions > '() ===> () 識者の登場キボン
797 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:13:36 ] 思いっきり書いてるやん > so () is not a > syntactically valid expression.
798 名前:796 mailto:sage [2005/09/19(月) 15:15:09 ] orz...thx.
799 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:18:04 ] 未定義ならgoshでは()=>()ってだけじゃないの。 ちなみに Petite Chez Scheme Version 6.9c Copyright (c) 1985-2003 Cadence Research Systems > () () > '() () これもgoshと同じか。
800 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:19:49 ] Guileね guile> () ERROR: missing or extra expression ABORT: (misc-error) guile> '() () guile>
801 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:22:41 ] Guileはちゃんと(?)エラーになるな guile> () ERROR: missing or extra expression ABORT: (misc-error) guile> '() () guile>
802 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:23:12 ] あら見事にかぶった。
803 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:24:22 ] >>800 ,801 おおぅ。ちゃんとエラーになる処理系もあるんだな。 やっぱquoteせにゃならんか。
804 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 16:05:09 ] Guileってもはや独自言語仕様に向かってなかったっけ? Guileでエラーになったからと言え、これをSchemeの仕様と言ってしまっていいものか。 つーか未定義か。
805 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 20:40:25 ] まぁグィラーは特殊だから。
806 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 21:35:30 ] Guile は規格で正しいとされてないことは積極的にエラーにし、 Gaush や PLT Scheme は規格でエラーにしろとされてるものしか エラーにしないような感じ。 以前出た (define (foo) (define x 10) (define y x) y) が どう扱われるかもそうだったよね。
807 名前:デフォルトの名無しさん [2005/09/20(火) 00:21:52 ] 今、現在Schemeを勉強しているのですが 絵を簡易的なアニメーションさせることは Schemeを使って可能でしょうか? また、Schemeからリンクさせることも含めて 可能な手段をわかる人おられますか? かなり求むです。
808 名前:デフォルトの名無しさん mailto:sage [2005/09/20(火) 01:10:18 ] gauche-glとかオススメ
809 名前:デフォルトの名無しさん [2005/09/20(火) 11:12:11 ] >>808 かなり感謝です。実際に求めていたものがありました。 しかもSICPにも図形言語として紹介もしていたようですね。 みなさんかなりの達人では?? 私もこれからレベルアップします!!
810 名前:デフォルトの名無しさん mailto:sage [2005/09/20(火) 20:56:22 ] >>806 参考になるです。
811 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 01:25:04 ] >>773 | WARNING: locale: no encoding CP932, using UTF-8 | WARNING: *TERMINAL-ENCODING*: no encoding CP932, using UTF-8 公式配布の CLISP では CP932/Shift-JIS エンコーディングが使えません. GNU Libiconv をリンクして作成したバイナリを使えば大丈夫です. 私の手元では Windows 2000/XP + Emacs22 CVS + Slime CVS + GNU CLISP 2.35 で↓のように日本語シンボルが使えています.あとはパス名に日本語が使えない 問題が解決できればバイナリを公開してもいいですが. ; SLIME 2005-07-29 CL-USER> (length "あいう") 3 CL-USER> (defun 2倍 (引数) (* 引数 2)) 2倍 CL-USER> (2倍 2/3) 4/3
812 名前:デフォルトの名無しさん [2005/09/21(水) 05:16:45 ] 昔パソコン用のMuLispで書いたシステムの移植を考えております。 問題は、auto-quoteとでもいいますか、アトムを評価するとこのシステムは、 アトムの名前を返すようなシステムになっておりました。 これと同じ仕様になっているLispあるいはSchemeの処理系あるいは、 これを簡単に実現できるような(つまりMuLisp互換システム)システムを ご存知の方教えていただけませんでしょうか。
813 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 09:51:22 ] 既存の処理系の上でアトムの名前を返すevalをつくればいいような気がするけど・・・。
814 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 13:34:06 ] evalするかわりにatom->nameみたいなの用意すりゃいいじゃん ちょっと意味ワカラナス
815 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 17:33:23 ] >>812 MuLispの仕様ってどこかに公開されてるの?
816 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 02:40:00 ] シンボルを評価して自分自身が返って来るとしたら、変数はどうするんだろう。 よく判らないけれど、自己評価するシンボルが欲しいとかなら、 Common Lisp で keyword に置き換えておくのが楽じゃないかと思います。
817 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 02:43:24 ] >>816 よくわからんが束縛されてない自由変数のデフォルト値って感じなのかな。 keywordにするのは賛成。
818 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 02:57:26 ] 動的束縛で、foo ≡ (lambda () a) として (foo) => a、(let ((a 10)) (foo)) => 10 となることを期待するコードがあちこちにあったりすると厄介かも。
819 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 03:00:03 ] MuLispって時代的にはCommon Lisp以前だから、動的スコープなんだろうな。
820 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 04:43:43 ] ...ってことは単純に移植できなくないか?
821 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 06:48:06 ] んー、未束縛の場合は自分自身を返す、ってんだったら、 handler-case 使って unbound-variable で捕まえるっていう手もあるかも。 スコープは……とりあえずどっかのパッケージに閉じ込めといて、 do-symbols 使って (declaim (special <... そのパッケージのシンボル全部 ...>)) とかに展開するマクロを書いてロード後に呼んでみるとかで意外と何とかならんかなあ。
822 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 08:34:14 ] 昔の Lisp ならそれほど大きな言語仕様じゃないだろうから、Common Lisp に 変換するマクロ書いた方が結局早いんじゃないかな。 (atom x) は (atom (if (boundp 'x) x 'x)) とか、動的束縛なら (let ((var val)) ...) は (let ((var val)) (declare (special var)) ...) とか変換してくだけだよね。
823 名前:デフォルトの名無しさん [2005/09/23(金) 14:18:00 ] 僕には洋書は無理ですた 誰か買いません? 「EXPLORING COMPUTER WCIENCE WITH SCHEME」 ユーズドにしてはかなり綺麗な方だと思う¥5,000でお願い www.amazon.co.jp/exec/obidos/ASIN/0387948953/qid%3D1127452213/250-5942737-7464260
824 名前:823 mailto:sage [2005/09/23(金) 14:19:34 ] ×: COMPUTER WCIENCE ○: COMPUTER SCIENCE
825 名前:デフォルトの名無しさん mailto:sage [2005/09/23(金) 23:42:10 ] 新品の半額なら考える
826 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 00:11:42 ] ほぼ半額に近いね
827 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 00:48:41 ] >>823 買いたくなるようなことを書いて
828 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 15:17:06 ] >>827 書けるくらい理解したのなら、売らないだろうに、イヂワルなやつだな。
829 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 19:04:31 ] 世の中、CDを聴いてから(売るんじゃなくて)返品する奴もいるという話だぞ。
830 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 21:26:13 ] >>829 ソニンのことか
831 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 00:22:08 ] Schemeに静的型対応させた言語が最強だと思うんですが ありませんか? なければ作りますが。
832 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 01:16:43 ] carやcdrの戻り値はどうするの? 関数型言語みたいにリストの中に単一の型しか入れられないんでは Lisp系としては不便この上ないし、かといって型チェックが入るんでは 何も変わらんか、型が固定されるだけ不便になる。
833 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 01:24:50 ] 型変換すればよいのでは。
834 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 10:11:14 ] あっちゃこっちゃで型変換しまくりの静的型対応言語ってのもなぁ。
835 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 10:30:38 ] 基本は型無しで、効率重視の部分では型宣言もできますくらいで いいんじゃないの?
836 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 10:41:18 ] そんな物があったとして、静的型付けな Scheme と SML との間に何を見出すか によって意見が割れそうだね。
837 名前:デフォルトの名無しさん [2005/09/25(日) 13:33:28 ] 経路探索のプログラムの組み方を教えてもらえないですか? 答えでもいいです、よろしくお願いします。
838 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 13:37:52 ] pc8.2ch.net/test/read.cgi/tech/1106587515/150
839 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 23:48:07 ] いままで気が付かなかったけれど、 fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy ここの scheme-mode で run-scheme に近いことができるようになってる。 Petite Chez Scheme 7.0で使ってみたところ、問題なく動いた。相当に便利。 まだ荒削りなので、今後に期待。
840 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 19:46:16 ] すみませんが、MzScheme で日本語を使うには、どうしたら良いでしょうか? DrScheme や MrEd では問題なく日本語が使えますが、コマンドプロンプトで 動いているMzScheme だと、与えられる文字コードがWindows_31Jになってしま うせいか、日本語を入力してもすべて化けてしまうのです。 コマンドプロンプトからUTF-8を与えることができればいいのかと思うのです が、そこからが分かりません…。
841 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 21:05:14 ] Emacs で (add-to-list 'process-coding-system-alist '("mzscheme" . utf-8)) しておいて M-x run-scheme とか。
842 名前:840 mailto:sage [2005/09/28(水) 21:36:05 ] >>841 申し忘れましたが、私のシステムは Windows(2000, 98)なのです。 できたら>>938 の xyzzy の scheme-mode を使いたいと思っています。
843 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 22:31:29 ] あまり関係ないけど、xyzzyスレ Part11 に載っていたコード。 xyzzyの sheme-mode はインデントの機能がちょっと貧弱だけど これを.xyzzy に書くと、lisp-modeと似た感じになる。 ; scheme-mode で lis-mode 風のインデントを行う。 (define-key *scheme-mode-map* #\C-m 'lisp-newline-and-indent) (define-key *scheme-mode-map* #\C-i 'lisp-indent-line) (setf (get 'define 'lisp-indent-hook) 'defun)
844 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 23:59:02 ] wikipediaのラムダ計算のページ ja.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97 例で (λx.(λy.(x+y))3)5 → (λy.(3+y))5 とか λx.(λy.(x+y))3 → λy.(3+y) とあるんですが、これって正しいんでしょうか?
845 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 00:24:27 ] ただしい だがなぜこんなところに聞くのだ。 まだHaskellスレとかの方がよくないか。
846 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 01:10:42 ] xyzzy の Scheme Mode は素晴らしい。これは Scheme のスクラッチ・バッファ そのものだ。Ctrl+JでS式がSchemeインタプリタに評価されて、結果が次の行 に表示される。自分はずっとこういうのが欲しかった。 今まで Windows98 で動く Scheme 実行環境にはろくなものが無かった。 ChezEdit … NTでしか動かない。 DrScheme … 自分のマシンには重すぎてインストールすらできなかった。 Chez Scheme 付属の PWL … 重すぎて、ただ起動しただけでCPUパワーを使い きってしまう。 だから結局、素の PetiteChezScheme をコマンドラインから起動し、エディタ の内容をコピペするしかなかった。 この xyzzy のScheme Mode は、便利で、操作が軽快で、そしてCPUパワーをほ とんど食わない。自分のような貧乏人には理想のScheme環境だと思う。 matsuoka さん、ありがとう!
847 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 01:11:56 ] >>844 ラムダ計算の仕方を全く知らないならちゃんと勉強しろよ。 中途半端に聞いたって仕方がないだろ。
848 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 01:12:43 ] >>842 make-process に :incode *encoding-utf8* :outcode *encoding-utf8* を付け足す感じでどうでしょ。試してないけど。 詳細はリファレンス参照。 ttp://hie.s64.xrea.com/xyzzy/reference/html/ref-make-process.html 上手くいかなかったら win 板の xyzzy スレで訊いた方がいいかも。
849 名前:842 mailto:sage [2005/09/29(木) 10:51:10 ] >>848 ありがとうございます。残念ながら、うまく行きませんでした。 試しに :OUTCODE *encoding-sjis* も試してみましたが、結果は同様でした。 xyzzy スレに行ってみます。
850 名前:デフォルトの名無しさん [2005/09/29(木) 14:19:17 ] >>844 S式で書けば λx.(λy.(x+y))3 = ((lambda (x) (lambda (y) (+ x y))) 3) (λx.(λy.(x+y))3)5 = (((lambda (x) (lambda (y) (+ x y))) 3) 5) これならわかる?
851 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 15:30:54 ] さらば slime48
852 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 19:03:44 ] >>844 1つ目の方違わね? (λx.(λy.(x+y))3)5 → (λx.(x+3))5 じゃね?
853 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 19:23:02 ] 違う >>844 で合ってる >これって正しいんでしょうか? # 強いて言えばラムダ計算に中置き演算子がでてくるのが不思議
854 名前:デフォルトの名無しさん [2005/09/29(木) 19:31:05 ] xyzzyのscheme-modeってgosh使えないの?
855 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 20:04:59 ] >>854 試してみたけど、Gauche は動かないねえ。 fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy に > pscheme を直接呼ぶと結果が帰って来ない(pscheme の STDOUT の扱いの問題) > Petite Chez Scheme と MzScheme? は全然動く(STDIN/OUT がいけるのは大丈夫) とあるから、Gauche の STDOUT に問題があるのだろうか? 対処法はわかんない。