Common Lisp, Scheme Part 14
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/11/18(金) 10:02:06Part1: http://piza2.2ch.net/tech/kako/987/987169286.html
Part2: http://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part3: http://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part4: http://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part5: http://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part6: http://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part7: http://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part8: http://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part9: http://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part10: http://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part11: http://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part12: http://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part13: http://pc8.2ch.net/test/read.cgi/tech/1115901841/
0655640
2006/04/13(木) 17:46:59ありがとうございます。
環境のスナップショットは継続には含んじゃいけないんですね。
> どのローカル変数が書き換えられるか静的にわかるから、Cへの
> トランスレータでSCM/Guile方式の継続を使っている処理系なら
> 変更を受けるローカル変数だけ特別扱いしてるよ。適当な処理系の
> 出すコードを読んでみ。
例えばどの処理系がこれにあたるのでしょうか?
0656デフォルトの名無しさん
2006/04/13(木) 19:20:15まだ手に入るだろうか。R3RSかR4RSの時代のものだったが。
0657デフォルトの名無しさん
2006/04/13(木) 20:46:10http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/impl/scheme2c/0.html
0658デフォルトの名無しさん
2006/04/13(木) 21:37:41fib, tarai, ack 以外になにがありますか?
0659デフォルトの名無しさん
2006/04/13(木) 21:42:20フレーム構造の性能を計りたい時という意図がいまいちわからんけど、
とりあえず Gabriel の本に載ってるベンチマークは全部やってみたら?
0660デフォルトの名無しさん
2006/04/13(木) 21:59:01>フレーム構造の性能を計りたい時という意図がいまいちわからんけど、
継続や引数を積んでジャンプしたり、末尾呼び出しをしたりといった
基本的な性能を計りたいです。
>とりあえず Gabriel の本に載ってるベンチマークは全部やってみたら?
そんなものがあるとは知りませんでした。
"Performance and Evaluation of Lisp Systems" というやつでしょうか。
ネットでは読めないんでしょうか。図書館で探してみます。
0661デフォルトの名無しさん
2006/04/13(木) 22:03:25http://www.amazon.co.jp/exec/obidos/ASIN/4526024937
Performance and Evaluation of LISP Systems
http://www.amazon.co.jp/exec/obidos/ASIN/0262571935
だね。ちょっと古いけど Lisp ベンチマークの業界標準だ。
0662デフォルトの名無しさん
2006/04/13(木) 23:00:49http://www.roy.hi-ho.ne.jp/pastel/home/Lisp/index.html
これだな。
0663デフォルトの名無しさん
2006/04/14(金) 10:43:00そこでした。ありがとう!
0664デフォルトの名無しさん
2006/04/14(金) 22:30:07OpenMCL for x86-64/Linux のテスター募集してるみたい。
リリースまではまだしばらく時間が掛かる感じだけど。
0665デフォルトの名無しさん
2006/04/15(土) 02:40:530666デフォルトの名無しさん
2006/04/15(土) 06:49:17shiroたん乙
0667デフォルトの名無しさん
2006/04/15(土) 10:26:55--enable-encodingを付けるとよいみたい。
0668デフォルトの名無しさん
2006/04/15(土) 22:55:30http://d.hatena.ne.jp/higepon/19700103/1145105233
0669デフォルトの名無しさん
2006/04/16(日) 05:56:11遅レスですが。
http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/bench/gabriel/0.html
0670デフォルトの名無しさん
2006/04/16(日) 10:21:57ありがとうございます。
自作のSchemeはまだ pair型を作ってない状態でして、
納得できるまで速くなってから先に進もうと思ってます。
gabriel benchmarkだとtakぐらいしか使えないみたいでした。
ちなみに左から (fib 33) (tak 18 12 6) (ack 3 9) (loop 2000000) (loop2 2000000)で
5.79s 5.28s 5.25s 0.65s 1.11s original
4.45s 5.36s 6.50s 0.51s 2.68s scm
5.38s 5.37s 6.51s 0.63s 1.20s mzscheme
2.67s 2.91s 4.86s 0.32s 0.91s gosh
2.45s 3.19s 2.66s 0.32s 4.66s petite
という感じです。CPSみたいに closure作りまくるベンチの性能はかなりいいんですが
continuationを実装すると変わる可能性もあるのでなんとも言えないです。
0671デフォルトの名無しさん
2006/04/16(日) 18:25:444.42s 0.05s xxxxx 0.49s 2.44s OpenLisp
0.63s 0.02s 0.54s 0.06s 0.10s SBCL
です。OpenLisp は(ack 3 9)だと stack over flowで (ack 3 8)だと
1.09sでかなり速いです。
特に takとackの速さが圧倒的なのが気になります。
LISP勢の方が速いのは継続がないからできる最適化ですかね。
あと、TISLは今は手に入らないんでしょうか。
0672デフォルトの名無しさん
2006/04/16(日) 18:28:12>It may subsequently alter any such binding by an assignment (see see section 4.1.6 Assignments).
>These operations do not modify the behavior of Scheme's built-in procedures.
>Altering any top-level binding that has not been introduced by a definition has an unspecified
>effect on the behavior of the built-in procedures."
(define + (lambda (n) n))
は未定義としても
(define a +)
(define a (lambda (n) n))
これも未定義なんでしょうか?
0673デフォルトの名無しさん
2006/04/16(日) 19:25:500674デフォルトの名無しさん
2006/04/17(月) 00:08:10| LISP勢の方が速いのは継続がないからできる最適化ですかね。
Scheme の言語仕様はまだコンパイラの事考えてないからねぇ
R7RS あたりを待て。
0675デフォルトの名無しさん
2006/04/17(月) 00:30:32>Scheme の言語仕様はまだコンパイラの事考えてないからねぇ
そうなんですか。コンパイラで思い出したんですが Shiroさんのとこに書いてある
>同じソースファイルを、インタプリトした場合とコンパイルした場合に、
>全く同じ動作を保証するのは見かけほど自明な話ではない。
っていうのにとても興味があるんですが意味よくが分かりません。
一式づつコンパイルすればいいってことじゃないんですかね。
(load)があると駄目とか?(loadの意味を今いち理解してないんですが)
なんか論理学チックな匂いがする気もします。
0676デフォルトの名無しさん
2006/04/17(月) 00:44:11Common Lispのeval-whenに相当するものが必要になるケースもあり得る。
0677デフォルトの名無しさん
2006/04/17(月) 01:06:12なるほど。define-syntaxってトップレベルでしか使えないのにload やevalで使えちゃう
って変じゃないですか?
Schemeのややこしさってほとんどトップレベルに起因すると思うんですよ。
トップレベルは開発環境のためにあるようなものだと思うので、コンパイル時には邪魔なだけっていう。
let, letrec, let-syntax, letrec-syntaxあたりだけで書けばずいぶんすっきり
すると思うんですけどね。
0678デフォルトの名無しさん
2006/04/17(月) 04:07:22ええっ?
むしろ1980年代には、実装の関心はコンパイラになかったっけ。
RabbitとかTとか。PC上でもTIが出してたやつとか。
インタプリタがこんだけ広く使われるようになったのが
最近のような気がする。
仕様としてCLほど厳密にコンパイル時の動作を決めていないってのは
あるけれど、それはThe Right Thingを決めるにはまだ経験が足りないって
ことであって、コンパイラのことを考えてないってんじゃないと思うなあ。
evalがR5RSまで入らなかったのも、モジュールシステムが未だに無いのも、
コンパイラのことを考えて (考え過ぎて?) いるからでしょ。
0679デフォルトの名無しさん
2006/04/17(月) 11:19:310680デフォルトの名無しさん
2006/04/17(月) 13:00:180681デフォルトの名無しさん
2006/04/17(月) 13:26:460682デフォルトの名無しさん
2006/04/17(月) 13:57:470683デフォルトの名無しさん
2006/04/17(月) 17:06:51今日図書館で論文を読んでいたらその話が書いてありました。
"Weak Consを用いたマクロ再定義時の自動再コンパイル"
というやつです。
マクロや関数の依存関係をグラフで持っておいて、マクロが
定義されると依存関係にあるマクロ、関数を再定義、再コンパイル
するというものです。これによってコンパイラでも最新のマクロ
定義が使えます。
思ったんですが変数にも同じことができるんじゃないでしょうか。
定数を埋めこんだり、手続きをインライン展開できたりします。
再コンパイルが起きまくるようなコードを書くことも可能なので
再コンパイルはlazyの方がいいかもしれません。
SBCLで disassembleしてみたところ、そのような最適化はされて
いないようでした。
0684デフォルトの名無しさん
2006/04/17(月) 17:09:22disassembleじゃあるかどうかわからないと思うけど。
そういうグラフがあったとしても、関数のコードの外部に持つから。
0685デフォルトの名無しさん
2006/04/17(月) 17:19:09えっと
(setq a 3)
(defun f (n) (+ n a))
(disassemble 'f)
や
(defun g (n) (+ n 1))
(defun h (n) (+ 2 (g n)))
(disassemble 'h)
とかしてもaが埋めこまれたり、gがインライン展開されたり
していなかったからです。
0686デフォルトの名無しさん
2006/04/17(月) 17:27:55(defmacro test (x) `(+ ,x 1))
(defun f (n) (+ 2 (test n)))
(disassemble 'f)
(defmacro test (x) `(+ ,x 10))
(disassemble 'f)
でも fは変わっていませんでした。
上の論文では変わらなきゃいけないと書いてあったと思うんですが、
Common Lisp的にこれはOKなんですかね?
0687デフォルトの名無しさん
2006/04/17(月) 22:43:57ちょっと古いけど、ベンチ。
http://www.cs.bath.ac.uk/~jap/ak1/youtoo/Bench/
とくに Bigloo の場合、コンパイラ用にコードに型情報を付加できたり、floating point 専用の関数 fl+, fl-, fl< ... のようなものが付いてきたり、かなりアグレッシブな処理系です。
もちろん互換性だとか Scheme のシンプルな美しさは失われますけど。また、今どきの Scheme にしてはややライブラリが少ないです。
ちょっと使った印象としては、Scheme で数値処理などを中心に行いたければチェックしてみてみる価値はあります。
私の場合、そこまでするくらいなら Scheme 使わなくていいやと思って、SBCL を採用しましたが。
0688デフォルトの名無しさん
2006/04/18(火) 02:29:06OK なんじゃない?新しい定義使いたきゃコンパイルしなおせばいいだけでしょ?
0689デフォルトの名無しさん
2006/04/18(火) 03:05:29実用的なプログラムで使っても、プロセスのスタック足りる?
とくにLisp/schemeじゃなくて普通の言語で書いた場合とか。
0690レス分割スマソ
2006/04/18(火) 03:07:460691デフォルトの名無しさん
2006/04/18(火) 03:33:12足りるわけないだろ。
普通はスタックの GC を行う。
0692デフォルトの名無しさん
2006/04/18(火) 09:32:09…って、CPSでスタックにゴミなんて発生するの?普通に全部戻ると思うんだけど。
関数末尾での呼び出しは、ゴミ以前にそもそも最初からスタックに積む必要はなさそうだし。
0693デフォルトの名無しさん
2006/04/18(火) 13:10:53環境をヒープにとるならともかく。
0694デフォルトの名無しさん
2006/04/18(火) 17:58:10OpenLispはコンパイルしなおさなくても新しいマクロが反映して
clispはコンパイルしなおせば反映するんですが SBCLはコンパイルしても古いままです。
>>689
CPSだとスタックの消費がクロージャセル+環境の消費になります。
環境全体を保存すると 環境の消費 >= スタックの消費 なのでメモリ消費は減らないと思います。
クロージャから参照されている変数だけ環境に保存すれば減ると思います。
schemeなら末尾呼び出しでいいですけど末尾呼び出しが最適化されていない言語では
他の方法を考えないといけません。
>>691 >>693
意味わからん。
関数の再コンパイルもコンパイルにかかる時間とそれで得する時間を考えると
自動化は難しいのかもしれないです。
compile! expr levelで(compile! f 3)みたいに手動ですればいいのかも。
0695デフォルトの名無しさん
2006/04/18(火) 18:30:210696デフォルトの名無しさん
2006/04/18(火) 18:48:44コンパイルしなおすっていうのはもう一回 defunの式を書くってことですね。
(compile 'f)としていたので古いマクロが使われてました。
clispはデフォルトで(compiled-function-p #'f)がNILなので新しいマクロが
使われているだけでした。
しかしこれでは evalや loadでマクロが定義された時の動作が処理系依存に
なるような。CommonLispのことは全然知らないので外してるかもしれませんが。
Schemeでもいろいろ調べてみます。
0697デフォルトの名無しさん
2006/04/18(火) 22:55:00> clispはデフォルトで(compiled-function-p #'f)がNILなので新しいマクロが
> 使われているだけでした。
そりゃコンパイルしてないってことじゃ?
それと sbcl って repl 上でも on the fly でコンパイルするんじゃなかったっけ。
ええと、何はともあれその辺の微妙な挙動を詰めたいなら、
仕様書をちゃんと当たっといた方がいいかと。
http://www.lispworks.com/documentation/HyperSpec/Body/03_b.htm
0698デフォルトの名無しさん
2006/04/19(水) 21:46:320699デフォルトの名無しさん
2006/04/19(水) 23:22:23ドキュメントもちゃんとShiroさんが書いたの入ってたと思うけど。
スタブジェネレータとか既存のスタブで勉強しないで手取り足取り親切に
教えてくれるようなのを期待してるとしたら多分ない。
この辺のAPI見直す予定ってアナウンスされてるからそれまで待てば?
0700デフォルトの名無しさん
2006/04/19(水) 23:50:19あ、ほんとだ。READMEにも説明書いてありますね。
ネット上だけ探してた…
0701デフォルトの名無しさん
2006/04/20(木) 12:58:43> Scheme にしてはややライブラリが少ないです。
bigloo-lib http://bigloo-lib.sourceforge.net/(ダンロードhttp://sourceforge.net/project/showfiles.php?group_id=3455)
もあります。
内部にHaskellのような型システムを持っているのでbiglooとCの型から新しい型を定義することも可能ですが、ドキュメント化されてません。bigloo-libの人達が「ドキュメント化してくれ〜」と言っても「未完成だからドキュメント化しない」と答えて6年以上になるでしょうか。
bigloo-libのSRFIですら取り込まれる気配が無いし、*bigloo-version*のような基本的なシンボルをChangeLogに書かずに消してしまってbigloo-libがコンパイルできなくなったりとか、孤高の天才の高性能コンパイラ、という印象です。
0702デフォルトの名無しさん
2006/04/20(木) 13:23:17>Scheme で数値処理などを中心に行いたければチェックしてみてみる価値はあります
biglooでデータ構造の最適化をしようとするとCの型が増えていきますが、書いているうちに制限の多いCでコーディングしているような錯覚に陥って、なんでこんなことしてるんだろうと思ったこともあります。
>Scheme のシンプルな美しさは失われますけど。
A practical Scheme compilerとあるように、美しさではなくて簡単にCと共存できる実用性を目指している処理系だと思います。Xlib.hを読み込んでbiglooのインクルードファイルが平気で生成されたときにはびっくりしました。
何かまともなことをやろうとすると独特のコーディングが要求されるので、それに慣れるまでけっこう大変だと思います。私がいじってた頃はインタプリタのreplが末尾再帰でなかったので途中でやめてしまいましたが。
アグレッシブと言うよりアレゲかもしれません。名前はstalinに負けてますが。
ただし出来上がってしまえば、やたらにパフォーマンスのいいものが出来ると思いますよ
0703デフォルトの名無しさん
2006/04/20(木) 15:14:02補足しておくとbiglooの型システムはbigloo上のオジェクトシステムとは別物です。
bigloo本体を書換えずにプリミティブを作成したり、既存型を拡張したりできます。
type、subtype、coerceなどのキーワードが出てきます。
bigloo-libのcgenがbiglooへのプリプロセッサとして型に対する細々とした操作を
代りにやってくれます。
ChangeLogのバグフィックスが気にならなければ、少し古いbiglooでbigloo-libの
コンパイルは可能だと思います。
biglooがbigloo-libとの連携さえしっかりしてくれれば、またbiglooやりたいと
思ってます。bigloo-libのコンパイルで失敗する度にbigloo-libの人達の気持を勝手に
想像して、暗い気分になるのが嫌なだけかもしれません。それも思い込みで。
期待しすぎてコケたので否定的なことを書きましたが、biglooにはいじれる所がたくさん
あるので、最初はschemeだとは思わずに遊んでみると幸せになれるんでないでしょうか。
0704デフォルトの名無しさん
2006/04/20(木) 22:16:30bigloo って INRIA でしょう?
良く知らないけど INRIA の本命は OCaml じゃないのかなあ。
0705デフォルトの名無しさん
2006/04/20(木) 22:30:39INRIAだって大組織だからいろんな先生が居るだろうし、統一した意思を
持っているとはとても思えない。
0706デフォルトの名無しさん
2006/04/21(金) 00:01:26http://smarteiffel.loria.fr/
これも C or Java に変換する系
0707デフォルトの名無しさん
2006/04/21(金) 03:13:42末尾再帰の最適化がきちんとされる言語ならば。
例えばluaはそう。
0708デフォルトの名無しさん
2006/04/21(金) 09:20:35lua sugeeeeeeee!!!!
0709デフォルトの名無しさん
2006/04/22(土) 03:12:34>とくにLisp/schemeじゃなくて普通の言語で書いた場合とか。
普通の言語ってのがよくわからんが、luaは普通の言語なの?
とりあえずメジャーな言語だと、Javaが処理系依存だけど末尾再帰を最適化してた。
たしかIBMのVM、SUNはやってなかったと思う。
0710デフォルトの名無しさん
2006/04/22(土) 05:05:25言語仕様として要求される事は少ないですね。関数型言語くらい?
0711デフォルトの名無しさん
2006/04/22(土) 08:56:260712デフォルトの名無しさん
2006/04/22(土) 09:04:59http://www.lsharp.org/
0713デフォルトの名無しさん
2006/04/22(土) 17:37:01普通の奴らの上を行け、を読んで
ハッカーはlispを習うもんだと洗脳されたので
GWにschemeを勉強しようと思うのですが
間違っていないですよね?
0714デフォルトの名無しさん
2006/04/22(土) 17:48:460715デフォルトの名無しさん
2006/04/22(土) 17:52:03GW 中に SICP 読破できれば完璧です。
0716デフォルトの名無しさん
2006/04/22(土) 18:49:18luaはふつ〜の言語だよおw
JavaScrpit似でゲームに組み込まれてる言語の中では一番メジャー
0717デフォルトの名無しさん
2006/04/22(土) 19:39:56もうちょっとでかい字で印刷してほしかったと思った。
眼鏡新調かのぉ
0718デフォルトの名無しさん
2006/04/22(土) 19:45:34Larceny って地味に更新されてるのね。IA32 向けのアセンブリ出力
出来るようになってたの知らんかった。
0719デフォルトの名無しさん
2006/04/22(土) 19:51:38関数型言語でも、言語仕様で末尾最適化が明記されてるのは稀だとおもう
HaskellもOCamlも当たり前のように最適化を行うけど、言語仕様には含まれてなかったような・・・
(間違ってたらスマソ)
0720デフォルトの名無しさん
2006/04/22(土) 21:31:010721デフォルトの名無しさん
2006/04/23(日) 02:35:510722デフォルトの名無しさん
2006/04/23(日) 02:37:410723デフォルトの名無しさん
2006/04/23(日) 03:39:510724デフォルトの名無しさん
2006/04/23(日) 09:52:46強制だ。
0725デフォルトの名無しさん
2006/04/23(日) 10:33:35Dr.Schemeを代わりにインストールした。
学習目的にはいいかも。他にもおもちゃ的要素があって楽しい。
0726デフォルトの名無しさん
2006/04/23(日) 13:53:020727デフォルトの名無しさん
2006/04/23(日) 14:37:28そこは笑うところじゃないだろ。
0728デフォルトの名無しさん
2006/04/26(水) 02:34:15自分はエラー処理は当初はabort一択、GCもさっぱり忘れて
作り始めて、ある程度形になるまではそのままいっちゃうんですが。
0729デフォルトの名無しさん
2006/04/26(水) 05:42:01ありか/conservativeで行くか明示的にprotectするか/SCMみたいに
固定長ヘッダだけ自前で管理して後はmallocに任せるか、それとも
全て自分で面倒みるか、等) だけは決めとかないときつくない?
0730デフォルトの名無しさん
2006/04/26(水) 16:43:45(concat "foo" 123 '("a" "b" "c"))
が
"foo123abc"
になるような感じです。
0731デフォルトの名無しさん
2006/04/26(水) 17:42:10自分で書いてみました。初心者なんであまりうまくないでしょうけど。
(define (string-concat list)
(if (eq? list '())
""
(string-append (car list)
(string-concat (cdr list)))))
(define (to-string val)
(cond ((string? val)
val)
((number? val)
(number->string val))
((boolean? val)
(if val "true" "false"))
((symbol? val)
(symbol->string val))
((eq? '() val)
"")
((list? val)
(string-concat (map to-string val)))))
(to-string '("foo" 123 #f 'symbol (10 20 30))) ;; 結果:"foo123falsequotesymbol10quote2030"
なんか、この程度なら標準関数にありそうな気はするんですけど。
というか、Shemeの入門ページはいくつかありますが、関数リファレンスみたいなのが見つからないです。
どこかによさげなのないですか。
0732デフォルトの名無しさん
2006/04/26(水) 17:54:05関数リファレンスなんてR5RS(とSRFI)を見ればいいじゃん。
0733デフォルトの名無しさん
2006/04/26(水) 19:28:19Gaucheのマニュアルが充実してる。
根拠になる規格(SRFI)の番号も付記してるから何かと便利。
Gauche使いでなくても手元にあって損はないと思うよ。
日本語でこれだけそろってる資料は少ないんじゃないかな。
0734デフォルトの名無しさん
2006/04/28(金) 10:59:55当方 SCM のインストールを試みているのですが、
build の途中で以下のメッセージが出て scmlit のプロンプトに入ってしまいます。
> ;In file loaded from /home/hoge/work/cvs/scm/Init5e2.scm:782:
> ;ERROR: "/usr/local/lib/slib/require.scm": unbound variable: *features*
> ; in expression: (cons (#@software-type) *features*)
> ; in scope:
> ; (provided? feature-list . #@define)
> ; (expression) procedure provided?
> ; defined by load: "/usr/local/lib/slib/require.scm"
>
> ;STACK TRACE
> 1; (#@define ((provided? (#@lambda (expression) (if (memq express ...
> 2; (#@cond ((#@slib:provided? (#@quote srfi)) (slib:provide (quot ...
> 3; (#@define ((hss (#@has-suffix? #@file (#@scheme-file-suffix))) ...
> 4; (#@load (#@in-vicinity (#@library-vicinity) "require"))
SCM だと特に slib の init を弄らなくていい、ということだったので、
てっきり簡単に build できるものと思っていたのに…。
slib 同梱の Template.scm に *features* のための configure だとかなんとか
書いてあったのでこれをどうにかするのでしょうか?
あと build のオプションも -F をいろいろ試してみましたが結果は同じ。
いかにも素人くさい質問なんですがご助力おねがい致します。
SCM -> cvs 先端
slib -> 3a3
環境 -> linux Kernel 2.6.16.11 (Archlinuxというマイナーなやつです)
0735デフォルトの名無しさん
2006/04/28(金) 19:30:47質問されても。しかもドキュメントもろくに読んでないっぽいな。
0736デフォルトの名無しさん
2006/04/28(金) 20:05:01ある程度の見通しは立てて、それを阻害しないような選択はするけど、
基本的には忘れます。
0737デフォルトの名無しさん
2006/04/28(金) 21:52:31まったくおっしゃる通りで返す言葉もございません。
release落としてやってみたらすんなり通りましたorz...。
ドキュメントは読んだんですが、エラーメッセージからしてきっと単純なミスなんだと
思い込み、あれかこれかと憶測で試みた後、結局自分の無理解を思い知らされた格好です。
それでも懲りずに質問なんですが、r4rstest.scm を走らせると
> errors were:
> (SECTION (got expected (call)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
> ((6 5 6) (#f #t (mult-float-print-test #f)))
というエラーが出ます。
どこかでこれは実行環境の浮動小数点数の入出力の精度によるもので、
大して気にすることはないとあったと思うのですが、そういうものでしょうか。
初心者が気にするようなところではないのでしょうが、
どうにかしようがあるのなら、どうにかしたい気がします。
0738デフォルトの名無しさん
2006/04/28(金) 22:02:13そんなに気になるならどういうテストだかちゃんと調べて自分の頭で考えて
みればいいじゃないか。謙遜かもしれんが、自分で自分を「初心者」と呼ん
でるうちは進歩しないぞ。
0739737
2006/04/28(金) 22:25:36そうですね。泣き言いわずに自分で頑張って調べてみることにします。
Bootstrap にするには良い取っ掛かりかも知れません。
どうもでした。
0740デフォルトの名無しさん
2006/04/28(金) 22:44:19どうせ使わないし
Cと同じ動作すればとりあえず実用上問題ないし
0741デフォルトの名無しさん
2006/04/28(金) 22:51:100742デフォルトの名無しさん
2006/04/28(金) 23:45:540743デフォルトの名無しさん
2006/04/29(土) 00:26:57ALUレベルから設計したくなるな。
0744デフォルトの名無しさん
2006/04/29(土) 01:19:07sinの精密な定義にえらい時間をかけてるとか。
0745デフォルトの名無しさん
2006/04/29(土) 05:27:17あれだ、Opteronのソケットに挿せるFPGA。
0746デフォルトの名無しさん
2006/04/29(土) 06:06:47まったく気にしないよりは気にした方がいいと思うけど、
気にしたからといって全ての問題が解決できるわけじゃないからね。
ここはそういうことがあったと心に留めておいて、ひとまずは先に進むのがいいのでは?
何をしたくてSCMをインストールしたのか知らないけど、目的はあったんでしょ?
0747デフォルトの名無しさん
2006/05/03(水) 16:32:37インタラクティブに実行できるのはいいんですが、C-pとか使えるようになってほしいんですけど。
0748デフォルトの名無しさん
2006/05/03(水) 16:45:28ledit
ttp://cristal.inria.fr/~ddr/
rlwrap
ttp://utopia.knoware.nl/~hlub/uck/rlwrap/
0749デフォルトの名無しさん
2006/05/03(水) 17:47:01Gauche-readline
http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/gauche/
0750デフォルトの名無しさん
2006/05/03(水) 20:02:00listの操作でいろいろなクイズ(パズル?)ありますよね。
あれでおもったんですが、ああいったlistの操作を群論にあてはめるような
研究(遊び?)ってないんでしょうか。
つまり、群論の最初でやる置換群を拡張したようなもの。
もしあるならば、任意のリスト遊びがある記号に対応し、
その記号を分解していくことで、
任意のリスト遊びが、記号の積で自明にあらわせないものかと。
こういうことは誰でもおもいつくものだから、
すでに誰かやっている、もしくはやっても意味無い事の説明でも
どこかにころがってないかな、と思い質問いたします。
0751デフォルトの名無しさん
2006/05/06(土) 04:31:14S式ってあるけど、Lispとは関係なさげ
0752デフォルトの名無しさん
2006/05/06(土) 17:29:33以前もプログラミング用語使った題名の作品をこの板で見たな。
0753デフォルトの名無しさん
2006/05/06(土) 18:35:530754デフォルトの名無しさん
2006/05/06(土) 18:39:26■ このスレッドは過去ログ倉庫に格納されています