[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 18:10 / Filesize : 92 KB / Number-of Response : 402
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part25



1 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 23:16:33 ]
※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※

Part24: ttp://pc11.2ch.net/test/read.cgi/tech/1224939205/
Part23: ttp://pc11.2ch.net/test/read.cgi/tech/1215875388/
Part22: ttp://pc11.2ch.net/test/read.cgi/tech/1211381920/
Part21: ttp://pc11.2ch.net/test/read.cgi/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/
Part09: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part08: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part07: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part06: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part05: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part04: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part03: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part02: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part01: ttp://piza2.2ch.net/tech/kako/987/987169286.html


83 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 03:26:34 ]
Lisp 系言語だと emacs か vi しか選択肢が無いのは事実だけど、
あらたに統合環境を用意する積極的な理由ってのも無いんだよなー。

欲しいのはデバッガみたいだけど、
仮にデバッガが便利だとしても Scheme にふさわしいデバッガのモデル
は過去事例を研究したところで容易に決められるとは思わんのだよなー。

これだけ長い Lisp の歴史の中でいわゆる「デバッガ」が言及された
ことがそんなにないってのはただの偶然だとでも思ってんだろうか。

84 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 06:25:23 ]
pltはそのへんがんばってるんじゃないの

85 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 06:30:20 ]
なんでlispは歴史的にデバッガが言及されないの?

86 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 08:36:47 ]
>>85
文脈嫁。

>>83 は、GCを考案し、動的言語の先駆けとなったLisp に、デバッガの話が持ち上がらなかったのは、Lispにデバッガが不要だから、と云いたいんだろ。

87 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 08:47:36 ]
>>83は、これだけ長い Lisp (スレ)の歴史の中で、と言いたかったんだよ。

88 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 09:10:02 ]
>>83
Schemeの話をLisp系と一般化しないでくれ。Emacs Lispのデバッガはなかなかいい、
CL系は昔から規格に最適化オプションで debug 指定ができたりと、デバッガは
売りにしてたよ。SchemeでもPLTやGuileはがんばってるじゃん。

89 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 09:43:29 ]
DebuggerのないLisp machineなど存在しない。
もともとsmalltalk実装のモデルになったような
統合プログラミング環境を持っていたのがLisp。
今はむしろLLみたいな軽い環境が流行りで、
外界とのインターフェースは昔より豊か。

90 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:54:11 ]
eclipseあたりに自力で作ってみたらいいのに

91 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 17:19:03 ]
調べるのめんどくさいんでここで聞きますがscheme ってバイトコードはけるの



92 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 17:42:27 ]
>>91
Kawa, JSchemeでググレカス

93 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 18:42:50 ]
>>89
Smalltalkより前にIDEを持っていたLispってどんなLispだよw

94 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 18:46:35 ]
つ ttp://ja.wikipedia.org/wiki/Interlisp

95 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:05:55 ]
まったく関係ないがh抜き不便

96 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:15:49 ]
アセンブラ使え

97 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:23:10 ]
>>93
TECO+MacLisp
後継のEmacsがSmalltalk-76と同時期。

98 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:57:10 ]
超古代文明の発掘みたいな。
断絶があるのはなぜだろう。

99 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:58:24 ]
車輪の再発明と言ってだな、

100 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 00:28:22 ]
>>82
別にどんな主張をしようが構わないが、
「デバッガ」っていう重要なカテゴリ以下を私物化してるのがちょっと……。
あれのどこがGaucheのデバッガの話なのよ?

何で、自分のページとか作って、そこでやらないんだろうね?

101 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:20:53 ]
まあWiLilki的にひどすぎるということになれば管理者のShiroさんが強権発動するでしょ



102 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:43:07 ]
俺はffiの項目を私物化したいぞおお
ジョジョオ〜

103 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:30:00 ]
継続渡しマクロなんて作るぐらいなら
common lispの上にscheme作っちゃえばいいのに

104 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:30:15 ]
みんながACL使えばみんなが幸せ

105 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:39:46 ]
もっとお手頃価格でACL売ってくれ。
俺も使うから。

106 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 02:43:48 ]
一方、ロシアのSchemerは黒板を使った。

107 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 03:34:23 ]
>一方、ロシアのSchemerは黒板を使った。
作らないところが寂しいよな

>もっとお手頃価格でACL売ってくれ。
なんであんなに高いんだろうね?
年間売り上げみてみたいよ。


株主になっても一票そこに投じられそうもないのが悲しいやね

108 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:46:02 ]
ロシアのLisp事情ってどんな感じなんだろう。
あそこは数学も物理も凄いんでしょ?

109 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 14:21:33 ]
行って確かめてこいよ

110 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:10:27 ]
ロシアは遠いし言葉がわからないから
かわりにロシアンパブ行ってきます。

111 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 21:13:51 ]
ttp://sourceforge.jp/magazine/09/01/27/0039208

あとまあ、これもある意味予想通りではあるが、LispやScheme、Haskellと言ったあたりは、
結局のところ「語られる」言語であって、「使われる」言語ではないようだ。
HaskellにしろCommon Lispにしろ、近年ではライブラリも相当揃ってきており、
パフォーマンスの面から言っても実用言語として遜色ないものになりつつあるので、個人的には残念なのだが。



112 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 21:22:15 ]
Emacs Lispも仲間に入れてほしいんですけど。

113 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 21:52:50 ]
だが断る

114 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:17:45 ]
各個人の問題として何故使わないのか。

115 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:35:50 ]
先週新聞に載ってたセンター試験の数学UAをやってみたんだけど
21世紀になって10年たとうというのにひどいBASICのプログラムが載ってたんだわ
高校生に勉強させるなら
COMETでもMIPSでもいいからアセンブラでやらせるか
BFで難易度高めにするか
LispやHaskelやForthで教養を身につけさせるかすればいいのに
あるいはスパコンのためにFortranを教えるか


116 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:50:30 ]
>>114
次々と新たな処理系が開発されるのは、既にある処理系を使いたくないのかもな。
勉強のためだとしても、なんで人のソースを読むことより自分で書くことを選ぶのか。
それが問題だと思うよ。

117 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:52:42 ]
IT音痴大国の名に恥じないな。

118 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:58:36 ]
Lispはラテン語ではない。と誰かが言ったとか言わないとか。

119 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 20:26:19 ]
むしろラテン語だろ

120 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 22:59:04 ]
まあもう少し待ってれば予想外の変化が起きるかもよ

121 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 23:03:38 ]
Lisp/Scheme類は法律で禁止され、地下で開発するしかないのだ。



122 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 00:02:26 ]
>>115
あれはなんの冗談なんだろうと思ったな。
釣りじゃないのか、とか日付を確認したりとか。
徐々にその事実が恐ろしくなっていった。

>LispやHaskelやForthで教養を身につけさせるかすればいいのに
お前は俺かw


123 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 00:06:09 ]
BFで難易度をってところにワロタ

124 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 06:22:02 ]
d.hatena.ne.jp/niitsuma/20080209/1233260146

125 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:58:37 ]
Lisperだけで会社作ったら、経営していけるかな。

126 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 01:03:15 ]
codepad.org/7ozb95V2

127 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 05:02:34 ]
漢詩って何かいいね。


128 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 05:15:40 ]
情景が目に浮かぶようだね。霜ってのがまた良いな。

……ところで、ここ何のスレだっけ?

129 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 15:23:31 ]
comp.lang.lispに何度か書き込みしてるはずなのに反映されない
なんでだろ

130 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 16:48:38 ]
ネットニュースだから配送の問題とか?

131 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 13:40:24 ]
quasiquote.org/log2/Scheme/Gauche/Gauche-lazy-ffi
をconfigure make make installしてから

gosh> (use lazy-ffi)
*** ERROR: Compile Error: failed to link "lazy-ffi" dynamically: /usr/lib/gauche/site/0.8.12/i486-pc-linux-gnu/lazy-ffi.so: undefined symbol: strlcpy
"(stdin)":2:(use lazy-ffi)

Stack Trace:
_______________________________________
gosh>


何が問題なのでしょうか



132 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 13:44:27 ]
だからここはサポート掲示板じゃねえっつーの
またどうせバージョン違うんだろ

133 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:06:25 ]
>>131
glibcにOpenBSD由来のstrlcpy(3)はありません。
www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/
から持ってきてリンクしてください。
デストリによってはパッケージで提供されているかも知れませんが。


134 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:12:09 ]
やっぱlinuxってきもいなー

135 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 04:35:42 ]
gimp2.6.3(ほぼR5RS互換) のscript-fu で

(let ((foo 2)
(bar 3))
(display foo)
(display bar))
->23#t

これと同じ事がしたくて(返り値は無視して)
下のように書きましたが変数ではなく
文字列として扱われてしまいます。

(let ((foo 2)
(bar 3))
(mapcar (lambda (arg)
(display arg)) '(foo bar)))
->foobar(#t #t)

上に書いたlispと同じ動作にするにはどう書けば良いでしょうか?

136 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 06:59:00 ]
>>135
「'」(クォート)をつかわず、 (list foo bar) としたら良いのでは。
あるいは `(,foo ,bar) (先頭はバッククォートね)かな。

137 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:54:45 ]
letやmapcarが出てくるのにquoteが判らないとは
えらい偏った学び方したんだな
quoteはLISPの基礎

138 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 13:39:03 ]
>>137
偏ってない。変数とシンボルを混同するのはLISPの名物。
変数とimmutableな文字列なら、混同することはあまりないのだが。

最近思うんだが、LISPは動的スコープに戻したほうがいいんじゃないか?
変数は常に(eval シンボル)と等価で、関数は常にS式と等価。
静的スコープではこれが成立しない。

139 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 14:13:37 ]
'(1 2)と(list 1 2)の結果が同じだし、勘違いしちゃうことってあるよね

140 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 16:24:19 ]

'multiple-value-bindについてるクオートがよくわからない.


(defmacro mvbind (&rest args)
(let ((name 'multiple-value-bind))
`(,name ,@args)))


141 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 17:07:30 ]
これでうまくいった
(let ((foo 2)
(bar 3))
(mapcar (lambda (arg)
(display (eval arg))) '(foo bar)))



142 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 17:31:30 ]
>>138
かなり偏ってるね
混同するのが名物とか、変な偏見も持ってそうだが
多分>>140-141もお前じゃないか?
きちんとした処理系で基礎から勉強し直した方がいいと思うね


143 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:38:40 ]
>>136
そうだね。前スレ372-390でも話題になってたよね。
(list foo bar)
== (list `,foo `,bar)
== `(,foo ,bar)
quasiquoteの分配則では気をつけないとね。

144 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:43:43 ]
データとコードの違いは最初に叩き込まれると思っていたがそうでもないのか?

145 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:48:15 ]
>>139
>結果が同じだし

微妙な違いは理解してるのか?
同じ臭いがするんだよ>>138-141はよ。


146 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 19:05:17 ]
マクロの勉強でもしてみれ

147 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 19:11:52 ]
eval使って解決した気になれるとか、初心者の特権だねえ。

148 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 19:15:57 ]
>>135
それよりmapcarの使い所を間違えてないかね?
処理系変えるとうまく動かないかもよ。
quoteはちゃんと理解した方がいいよ。

>>140
どんだけ頓珍漢なことやってるのかって
最初は気付かないもんだよ。

149 名前:135 mailto:sage [2009/02/03(火) 20:15:17 ]
ありがとうございます。
もう一度 quote の部分を見直しましたが
まだいまいちわかっていないので
もう一度じっくり読んでみます。

>>148
mapcar の使い方を確認しようと
Revised5 Report on the Algorithmic Language Scheme
を見てみたところ mapcar は乗っていなかったので
map を使うことにしました。

150 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:12:28 ]
>>135は展開すると
'(foo bar)
== (list 'foo 'bar)
となる。
これと>>143を比べると違うことは明白。
(list 'foo 'bar)ではlistの要素はシンボルになっている。>>135
(list foo bar)ではlistの要素は変数になっている。>>136,>>143

151 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:34:33 ]
初心者ならそこまで気を回さなくてもいいかもしれないけど
(equal? '(foo bar) (list 'foo 'bar)) => #t
だけど
(eq? '(foo bar) (list 'foo 'bar)) => #f ; ほとんどの場合
quoteはquoteでlistとは別物(返り値も含めて、書き換え可能かどうか等も)
返ってくる値がequalなだけ



152 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 23:03:12 ]
それからR5RSのmapは返り値の順序は規定されているけど
評価順序は未規定
だから
(map display '(A B C)) => '(#<undef> #<undef #<undef>)
標準出力にはABC、ACB、BAC、BCA、CAB、CBAのいずれか
評価順序をリストの順通りにしたいのならfor-eachを使う
(for-each display '(A B C)) => #<undef>
標準出力には必ずABC
評価順序と戻り値のデータ構造内の順序の区別は
HaskelのIOモナドにもつながる
(たぶん)
R5RSでは関数の引数の評価順さえ未規定

153 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 23:52:11 ]
>>152
>>それからR5RSのmapは返り値の順序は規定されているけど
>>評価順序は未規定

うわ…これ今ごろ知ったよ、ありがとう。つかこの仕様で誰が得するんだろ。
慌てて調べたけど、Gauche は独自仕様で常にリスト内の順番どおり、なのね。
ちょっと安心。

154 名前:デフォルトの名無しさん [2009/02/04(水) 00:06:16 ]
並列処理が楽になるとは聞いたな。

155 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 12:25:14 ]
少しActorも意識してるんだろうね。
各要素に並行にfがメッセージパッシングされて。

>>138
funarg問題の時代までタイムスリップかよ。



156 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 13:04:44 ]
funarg問題の例: compose
(lambda (f g) '(lambda (x) (f (g x))))

こうすればいいんじゃないの?
(lambda (f g) `(lambda (x) (,f (,g x))))

157 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:50:12 ]
quoteが嫌いな人はクロージャやsyntax-rulesを使う
quoteが大嫌いな人はPythonやRubyを使う
そんな気がする

158 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:05:31 ]
quasi-quoteの便利さは異常。
そんな嫌いになるなんて、これが本当のくぉーつ嫌いってやつか・・・

159 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:51:16 ]
昔のマクロにはバッククォートなんてなかったよな
ひたすらlistでS式をこさえてたっけw

160 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 03:32:58 ]
どんだけ昔の人だよ

161 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 03:40:10 ]
Lisp-85とかって言っても分からんだろうなw



162 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 03:53:31 ]
そんな最近かよ
とっくにバッククオートあるよw

163 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 04:06:48 ]
Lisp-85ってS-OSというZ-80のOS上で動く奴なんだが
fexpr形式やmacro形式はあってもバッククォートは無かったぞ

164 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 08:52:25 ]
Alan Bawden, "Quasiquotation in Lisp"によれば、

 現在とは少し記号法が違うが、1972年のConniverが現代的な
 quasi-quoteの起源。

 少なくとも1977年ごろのLisp machineには、現在使われているのと
 ほぼ同じquasi-quoteがあった。

ということらしい。

D. V. McDermott and G. J. Sussman, "The Conniver reference manual," 1972
ftp://publications.ai.mit.edu/ai-publications/0-499/AIM-259a.ps

Alan Bawden, "Quasiquotation in Lisp," 1999
citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.2566



165 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 10:11:52 ]
'の逆はevalだと思ってた

166 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 10:29:33 ]
>>163
Z80には荷が重かったのでは
メモリどんだけ積んでたとか知らないけど
展開後は再帰関数のかたまりだし

167 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 10:39:22 ]
全然問題ない。

168 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 10:57:09 ]
あっそ
ならLisp-85作った人が入れ忘れたんだね

169 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 11:05:52 ]
quasi-quoteを効率を保ってきちんと実装するのは意外と難しい。
80年代になってもマクロと組み合わせた時の実装手法の論文があった。
アンチquasi-quote派というのが昔はいた。Common Lispで決着。

170 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 11:51:35 ]
Gauche WiLiLiのあんまり目立たないとこに自分の作ったパッケージ書き足す方法はないものだろうか

171 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:28:07 ]
>>156
その関数の引数f,gにシンボルxを引数として渡すと死ねる。




172 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 18:05:14 ]
やっぱり gensym が必要なんだね。

173 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 18:47:23 ]
関数名じゃなく、関数「値」を式に埋め込めばいい。
gosh> (define x (list + 1 2))
x
gosh> (define y (list '+ 1 2))
y
gosh> (define + -)
+
gosh> (+ 1 2)
-1
gosh> (eval x (current-module))
3
gosh> (eval y (current-module))
-1

174 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:23:37 ]
再帰関数だったら?

175 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:49:55 ]
そこまで行くとR5RSでも解決できてるかどうか怪しい
R6RSは再定義禁止だっけ

176 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:59:07 ]
R5RSの件は
(define f (letrec ((f ...)) f))
と書けば安全かも

177 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 08:10:38 ]
仕様に自由があるから面白い。

178 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 16:01:07 ]
>>173
で'の使い方わかった気がするけど
本格的に勉強するならどの本がいいのでしょうか?

179 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 17:53:52 ]
>>178
SICPがいいよ
マクロの話題は一切ないけど、マクロは遊ぶものであって勉強するものではない
それでもSICPがSchemeを使ってる理由を考えながら読めばおもしろいかもね

180 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:39:03 ]
俺はOnLispをお勧めする。

181 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 19:54:30 ]
ふつうにあのお魚の本でよくないか?



182 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 20:48:41 ]
処理系のソースで十分

183 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:37:03 ]
ttp://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/
ほれ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<92KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef