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


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

Lisp Scheme Part21



1 名前:デフォルトの名無しさん [2008/04/04(金) 18:18:17 ]
□過去スレ□
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


153 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:35:45 ]
>>151
ttp://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=4048

今売ってるのはコッチ。目に痛い赤の表紙w

154 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:37:23 ]
同じ本ではないでしょうか><

155 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:40:06 ]
>>152
完全な関数になっていないという意味でpartial(部分的な)と呼んでいる。
引数を使うかどうかは呼称に重要ではない。関数が計算を終了するかどうかでpartialと区別する。

156 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:41:41 ]
>>155
ええ。それはわかりました。
永遠にリスト内を探し続けるが、見つけるべき文字列が見つからないとか、、
そんな例がありましたね。

157 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:42:57 ]
>>154
>>151は526ページだけど、>>153は534ページある。中身は少し違う。

158 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:44:06 ]
ISBNが同じなんです><

159 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:44:08 ]
>>152
解説もあったよ
ttp://en.wikipedia.org/wiki/Partial_function

Little Schemerは謎解き本だと思うので
いま九章読んでる人は読まないほうがいいかも

160 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:46:43 ]
>>158
古いと灰色や金色の表紙のものがある。amazon.co.jpは古い表紙のpicを使いまわしてると思われ

161 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:48:15 ]
>>160
実際は赤なんだけど灰色の画像使ってるだけかと思ってました。



162 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:51:26 ]
ISBNが古いのと同じなのかぁ。出版社のHPで確認するのって大事だな。
amazon.co.jp見ただけじゃそんなことわからないYO!

163 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:56:34 ]
SICMオンライン
mitpress.mit.edu/SICM/

164 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:57:04 ]
>>159
そのページの対応する言語を見ると日本語がないw

165 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:00:19 ]
SICM 持ってる。けど、自分はラグランジュアンがよくわかってないので
宝の持ち腐れだ。先に数学、勉強するよ。

166 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:00:30 ]
和田訳のSICPがあれだけグダグダなのを考えるとSICMを翻訳できるとは思えんなw

167 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:07:18 ]
>>164
これじゃ違うかな。
ja.wikipedia.org/wiki/%E5%86%99%E5%83%8F

168 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:10:16 ]
>>167
d。部分写像(partial mapping)がpartial functionに近い。

169 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:23:20 ]
いいなあ、学生は暇があって

170 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:25:01 ]
SICMのユーティリティープログラムのページ (Linux用)

ttp://www-swiss.ai.mit.edu/~gjs/6946/linux-install.htm

171 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:26:16 ]
学生じゃないし暇じゃないけど、ゴロゴロしてる。



172 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:27:32 ]
>169

先週から仕事中の現実逃避に>163読み始めたよ
出来れば日本語訳が( ゚Д゚)ホスィ・・・

173 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:38:30 ]
さーてそろそろLittle Schemer読んじゃわないと````````````y

174 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:42:20 ]
8章くらいから難しくなって涙目

175 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:44:33 ]
もれも8章涙目だったけど、何度も読み返して何とか理解した。
まだちょっともやもや残ってるけど、、、、

今9章だお。

176 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:45:57 ]
>>138
HtDPより同じ著者のEOPLの方がいい。
Little Schemerシリーズもいいけど、SICPとEOPLは体系的な知識が得られる。

177 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:46:34 ]
Simply Schemeは?

178 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:48:01 ]
EOPLってナーヌ?

179 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:48:55 ]
しばらく英語に触れてなかったので、Littleで一杯一杯なんだ。
Simply→SICPという意図で書かれているらしいけど、英語読めるか心配。

>>178
おそらくEssential Of Programing Languageかと。

180 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:53:22 ]
Simply SchemeはLittle Schemerに近い内容をもっとページ数をかけて説明してる。
表計算プログラムを作る演習などのfinger practiceが充実してるけど理論的には浅い。
Haskellで言えばCraftみたいな内容。
HtDPも理論的なレベルは同程度。こっちはプログラミング作法にページを費やしている。

181 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:54:16 ]
>>179d



182 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:57:20 ]
>>180
ありがとう。
退屈させないように色々やってみて、プログラミングに馴染んで来たら、
さてそこから深くするには何が困難か?と考えさせて
SICPにつなげる感じなんですかね。

183 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:04:13 ]
>>182
そんな感じ。Littleの8章で困るのも演習でなれることが出来ないからじゃないかい?
SICPに取り組むには、他の言語経験があればLittleぐらい難しくても短期間に十分なレベルに達するけど、
全くの初心者には大量のfinger practiceで経験を積ませないと理論の良さが実感できないから壁を感じるんだと思う。

184 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:05:35 ]
>>183
まさにそんな感じです。Simplyいっといたほうが良かったかな・・・・
プログラミングGaucheで代わりになります?

185 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:21:41 ]
>>184
Gauche本もってるかな?リファレンス的でfinger practiceはあまりないよ。
SimplyはSICPの前に必要な知識をうまく選んで入れてると思う。
でも Little Schemer ⇒ Seasoned Schemer と読んで、ネット上の他人のプログラムを読むのも面白い。
楽しんで継続できるのが一番いい方法だと思う。

186 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:25:27 ]
これ行った人、報告よろ

Continuation Fest 2008
logic.cs.tsukuba.ac.jp/Continuation/abstract.html


187 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:29:36 ]
>>185
持ってないです。ネットの立ち読み版は眺めましたけど。
折角Little読み終わりそうだから続けてSeasoned読んじゃおう。
どうもありがとう。

188 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:44:45 ]
>>186
おれも内容知りたいなぁ>>継続フェスタ。

189 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:02:27 ]
>>187
Seasonedをしっかり理解するとSICPの山場といえる3・4章が簡単になるからガンガレ。
特に継続(callcc)がSICP3.5ストリームで利用されるのは面白い。
これがわかるとSICMの入門準備も完了。runge-kutta4(つまり微分方程式)とか出来るとシミュレーションの幅がちょっと広がるし。
ストリームで無限リストが作れるのも目からうろこの体験だった。
これ位はできないとHaskellerに馬鹿にされるしw

190 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:03:30 ]
xyzzyの独自機能をcommon lispで読み代えるmacroみたいなのないでしょうか?

191 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:12:15 ]
Little Schemerな連中は、はてなとかで、グループ作って
活動すれば良いんじゃないかと思った。



192 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:22:24 ]
まああれだ
コンパイラといえばyacc
OSといえばブートローダー
SchemeといえばLittle Schemer

193 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:33:26 ]
Little Schemer 何度でも読んでいいですか?

194 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:37:18 ]
いいですよ

195 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:43:04 ]
何度も読むと理解がさらに深まりますか?

196 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:44:33 ]
少なくとも浅くなることは無いから安心して読め

197 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:50:30 ]
じゃあ毎日音読する。

198 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:04:50 ]
>>190
どういうものをイメージしてるのかよく分からないよ……

199 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:33:16 ]
何と言ってもSICPだ。俺はあれを読んで人生が変わった気分だよ。

プログラマは皆SICP必須だな。あれを読めば、場当たり的なコーディングから
完全に開放されるよ。

200 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:34:24 ]
読むなら、やっぱり英語版?

201 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:49:26 ]
>>200
俺は英語版を読んだ。最初翻訳本買おうかと思ってAmazon見たらあのコメントの
群れを見て引いちゃったよw。「超循環評価機」とかのタイトル見ても???だったしね。

英語は教科書だからか、受験英語やってりゃ普通に読める英文だよ。ネイティブ風な
言い回しは一切無い。多少英語が読めるんだったら、タダでネットで見れるんだし、
原語でいいんじゃないか。

ちなみに俺はあまりの感動にハードカバーの洋書を買ってしまった。9000円ぐらい
したかな。ただ、持ち運びにはペーパーバックのほうがいいし、値段も半額以下なので
これについては激しく後悔しているw



202 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:06:57 ]
昔のマグロウヒル日本語版から比べたら、現行日本語版なんて天国みたいなもんだよ。

203 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:10:17 ]
別に悪い訳じゃないと思うけどなぁ。
超循環評価機をメタサーキュラ〜とかカタカナで書かれたら死ぬ。

204 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:12:16 ]
Amazonの書評は異常だね。攻撃的な人って居るんだなと感心する。

205 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:21:20 ]
ニヤニヤ

206 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 22:46:13 ]
>204
あれは読んでない奴の戯言だ
Amazonのあの手の書き込みは鵜呑みにしない事にしている

207 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:14:33 ]
単語まで全て逐語訳にしないで
->計算機(computer)
みたいな感じで元の英単語も書けば良かったんだよな。

208 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:17:09 ]
字幕の最初の方が出来上がったてるみたいだ。

209 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:28:31 ]
>>207
英語版はLaTeXだけど、日本語版は組版でやってるからちょっとした修正が出来ない。
もとの単語を書くと文字数が増えるからページ数を抑えるためにポイント数を抑えざるを得ない。
でもそれは技術的に難しい。かといってページ数を増やすと\5,000以上になってしまう。
つまりピアソンがコストダウンできる技術力を持っていないことにもそういう工夫を出来ない原因がある。
かといってムリをすればマグロウヒルみたいに倒産して書物が入手できなくなってしまう。
良い本なら買い支えるというのも消費者の選択なんジャマイカ?

210 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:28:47 ]
>>152
total functionは、全ての実引数に対して値が定義されている関数。
partial functoinは、値の定義されてない実引数のある関数。

具体例は、
(define (f x)
 (if (= x 1) 1
   (f (- x 1))))

定義域を自然数だとするとtotal function。
整数だとするとpartial function。
負の数の時に停らないあるいは値が未定義だから。

(define (f x) (/ 1 x))もxが0だと駄目だからpartial function。

211 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:22:42 ]
それじゃ数学関数の定義で駄目。152はそこは判ってるようだ。これを関数型での関数の引数でイパーン的に説明汁



212 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:25:17 ]
>>152
>>155が説明して>>156で納得して終了済。

213 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:44:48 ]
>>210の方が合ってるぞ。
foldoc.org/?partial+function

> 関数が計算を終了するかどうかでpartialと区別する。

これは間違い。例えばSMLのような例外のある計算系では、
関数の値が未定義の場合も停止する。Liftされているから。
表示的意味論の本を読めばちゃんと書いてあるよ。

214 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:56:14 ]
Dを意味関数だとしたら、
∃x (x≠⊥ & D[f(x)] = ⊥) なら、fはpartial functionってことだよな。

215 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 02:03:05 ]
>>214を見た漏れの脳にはテトリスが浮かんだ
とりあえず泣いてくる

216 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 02:03:58 ]
>>215
ああ俺もギャル文字を思い出した。一緒に泣こうぜ。

217 名前:152 mailto:sage [2008/04/14(月) 02:08:46 ]
>>210
なんかいろんな意見が飛んでますが、、ありがとう。

>>215-216
漏れもれも。

218 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 05:09:54 ]
戸田山和久の「論理学を作る」はよかったな
大学に対しては良書を教えてくれた事に関しては感謝してる

219 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 06:46:38 ]
そういう感じで「計算論 計算可能性とラムダ計算 著高橋 正子」とかが
self-containedで読めるようになる本教えてください。

220 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:54:26 ]
他言語で書かれたプログラムのメタ制御したいのだけど
適切なbindingがない場合はxml-rpcが一番簡単なのかな?

221 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 13:30:46 ]
いいえ



222 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 17:56:28 ]
計算理論の基礎 シプサ
てのが気になってる。
アマゾンによると翻訳がすこぶる良いという。

223 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:17:52 ]
>>218-222
スレチ。移動ヨロ。
ttp://pc11.2ch.net/test/read.cgi/tech/1202273631/

224 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:58:52 ]
こっちじゃない?
science6.2ch.net/test/read.cgi/informatics/1160740645/

225 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:23:08 ]
すまんがちょっと教えてくれ。

Chiken Schemeは簡単に実行形式ファイルが作れるんかの?

226 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:29:51 ]
Reasoned SchemerのPrologもどきって、本当に動くんだなw
ttp://codepad.org/6uu28twJ

KANREN : a declarative logic programming system
ttp://kanren.sourceforge.net/#mini

227 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:48:17 ]
>>225
お前のことなんぞ知らんからお前にとって簡単かどうかはお前が判断しろ。
マニュアル通りやってみてできたならお前にも簡単にできるってことだ。
そうでなければ難しいんだろう。

228 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:52:39 ]
KANRENって「関連」なのかな。
Oleg Kiselyovって日本と研究してるのか?
okmij.org/ftp/

229 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:26:02 ]
Reasoned Schemer
1. Playthings
ttp://codepad.org/buHFpoPQ

230 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 01:58:12 ]
HtDPの目次見たけど継続とかlet、letrecは出てこないんだね。Schemerシリーズのほうが
難しそうだ。

231 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 03:03:41 ]
>>227
ふむ、chicken schemeっての初めて見てみたけど簡単に実行ファイルが作れるんだな。



232 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 06:20:53 ]
>>207
そうそう、和田先生が翻訳メモとして技術用語の翻訳対照表をつけてくれれば、
読みやすかったのに。

233 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 11:15:30 ]
schemeをC++プロジェクトに組み込みたいのですが、
組み込みやC++クラスのエクスポートが簡単にできる
ポータブルな処理系ってありますか?

234 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 12:10:18 ]
libgaucheとCで書いてextern "C"ってすればいいんじゃね
俺もほとんど知らない。教えてほしい

235 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:27:24 ]
Chickenはsyntax-caseが使えるんだけど
有理数がないのと多倍長数がないのが残念。
biglooもそうだったような気がするけど
Cにコンパイルする処理系はCの整数型、浮動小数型に縛られる物が多い。
Gambit-CはCコンパイルタイプには珍しく
多倍長数、有理数と正確数表現の複素数(これはGaucheにもない!)があるんだけど
SRFI周りが互換性の無い独自の実装なのが残念。
(たとえばSRFI-22の引数にスクリプトファイル名を含めない、文字列ポートを読み込むと空になる等)
>>233
組み込み系UnixライクOSでも動くとなればguileかScheme48でしょう。
Cでプログラムを書くのも容易だし
ソースに手を入れなくてもターゲットで動く。
但し前者は遅い上にR5RS準拠ではない。(R5RS手続きは網羅してるけど)
後者はR5RS準拠で完成度は高いけどやや重くてやや遅い。
処理系ソースに手を入れる事を厭わないのであればGaucheかGambit-C。
前者は軽くてそこそこ速い。後者はそこそこ軽くて(コンパイルすれば)かなり速い。
PLTScheme(MzScheme)がUnix系全般で動くようになれば最強っぽいんだけど
BoehmGCを移植しただけじゃ動かないのが×。
さらにコンパイルしなくても速いのにコンパイルしても(そんなに)速くならないのはご愛嬌。

236 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:16:12 ]
>>235
>複素数(これはGaucheにもない!)

あるっしょ

237 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:18:45 ]
正確数表現の複素数(これはGaucheにもない!)

238 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:52:35 ]
> (exact? (sqrt -1024))
#t

これはいいsqrt

239 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 16:03:30 ]
R5RS-6.2.3
sqrtのような潜在的に不正確な演算は、正確引数に適用されたとき、
可能ならばいつでも正確な答えを算出することが望ましい(が要求はされていない)。
なので処理系依存。

240 名前:225 mailto:sage [2008/04/15(火) 20:40:37 ]
>227
参考になった。ありがとう。

241 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:24:29 ]
>>225
Linuxだと簡単にバイナリ作れた。
winだとコンパイルも通らなかった orz
mingwin32嫌いだ!




242 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:35:56 ]
>241
あれ、出来なかったっけ?
ちょっと今MinGW環境壊しちゃったので手元で確認できないけど

243 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:40:20 ]
>>242
できたらgccのバージョンとかライブラリのバージョンさらしてください。

しょぼーん。

#共通環境はsbclが一番良いんじゃないかと思うようになっちゃったのでscheme嫌いになりそう


244 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:14:09 ]
>>243
Makefile.mingwを使うとchicken-config.hの作成に失敗する。
そこだけ手作業でやったらあとは普通にmakeが走ってる。
今ビルド中。っていうか本家に最新版のWindowsバイナリ置いて無いな。

245 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:30:12 ]
みんな苦労してでもWindowsdで使いたいんだな。
Windowsは偉大だな。


246 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:43:18 ]
自分が使いたいというより、より広く使われるものを作りたい、そういうものを作る
ために使いたい、という動機が大きいのでは?
趣味にしても、仕事にしても。

247 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:53:25 ]
>>228
ttp://scheme2006.cs.uchicago.edu/12-byrd.pdf

KANRENって「関連」みたいだけど中国語。
Chung-chieh Shan(單中杰)というハーバード出身でラトガース大学のAssistant Prof.の人とやった仕事。

248 名前:244 mailto:sage [2008/04/16(水) 00:55:30 ]
よくみたらMakefile.mingw-msysってのがあったな。
こっちでやれば一発でいけたのかも。
まぁ、gcc3.4.5で普通にコンパイルはできたよ。

249 名前:242 mailto:sage [2008/04/16(水) 02:07:59 ]
>248
漏れもgcc4.3.0 & Makefile.mingw-msysでやってみたけど問題なさそう

250 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:18:42 ]
>>246
処理系はとりあえずUNIX系の上でつくられて、
そういう尊い方々がWinに移植なさるのですね。
感動しました。
漏れはWinでないと使う気にならないから使ってるだけだが、
いつかそうなりたいね。

251 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:23:10 ]
とりあえずUNIX上に作られるのはそのほうが楽だからだな。
WindowsのAPIってなんか例外事項が多くてごちゃごちゃしてる感じ。



252 名前:231 mailto:sage [2008/04/16(水) 03:00:47 ]
>>248
俺はgcc3.4.2+msysでうまくいったみたい

253 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 12:42:00 ]
>簡単に実行形式ファイルが作れる
という観点では
エンドユーザが自分でMinGWを入れるという前提はおかしい

普通の人はVisual C++とMzSchemeを使えばいい

254 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 13:28:11 ]
>>253
「エンドユーザ」はMinGWを入れる必要は無いだろ

255 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 13:47:15 ]
じゃあ「簡単に実行ファイルを作りたいWindowsユーザ」に訂正

256 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 13:54:12 ]
簡単だけど話題としてはスレ違いだね。

257 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:26:31 ]
簡単だから得意げに説明するのが恥ずかしい気がするけど、注意点を

・ソースファイルと同じ名前のモジュールで包む
 たとえば hello.scm なら
(module hello mzscheme
 (display "Hello, world!")
 (newline))
・--exeオプション
 たとえば mzc --exe hello hello.scm
・bccに対応していると書いてあるが無償版のbccでは失敗するみたい

258 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:15:29 ]
>>235
とりあえず、いろいろ試してみました。

guile)
・GPLライセンス
・試してないがVCでコンパイルできなさそう

Scheme48)
・VCでもコンパイル可能
・ただ、実行の際に〜.imageファイルが必要なのと、
 その作成にScheme48インストールディレクトリのフルパスが必要・・・
・(美学の問題だが)関数名がおかしいのと、コンパイル時に
 「○○関数は未定義です」「○○は初期化されていません」みたいな警告が普通に出てくる。

chiken)
・VCでもコンパイル可能のはず。自分には無理だった。
・(pcreを使っているので多分)正規表現がマルチバイトをサポートしていない。

Gauche)
・コアはVCでコンパイル可能だが、拡張ライブラリが全滅
・クラス登録機構がGNUのリンカの実装に依存している。VCだと拡張ライブラリを作ること自体が難しそう。
・基本的にposixべったり
・デフォルトで日本語が使える。ドキュメントも日本語

259 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:16:14 ]
Gambit-C)
・VCでコンパイル可能
・自動生成されたソースが長すぎるため、IntelliSenseの更新に長大な時間がかかる。たまに開発環境自体が落ちる
・(サイズが)すごく大きいです・・・

総括)
こうやって並べてみると、日本語が使えるGaucheか、Gambit-Cが問題が少なさそうですね。
自分は多分、gaucheをstatic libraryで使うことにすると思います。
個人的にはluaのようにもっと手軽に組み込める処理系があると嬉しいのですが、文句ばっかり言ってもしょうがないですよね。
>>235さん、ライブラリの紹介どうもありがとうございました。

260 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:36:34 ]
Windowsで動かしたいというのは判るが、VCでコンパイルしたいという理由がよくわらかん。
MinGWじゃ駄目なのかい。

261 名前:デフォルトの名無しさん [2008/04/16(水) 21:42:41 ]
IntelliSenseが使いたいのか
頭のとんがった上司がいるのか
その両方か



262 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:09:15 ]
>>259
Gauche-win32-0.8.13.exeじゃだめなの?


263 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:16:20 ]
exeがつくれないとプログラムをしている気にならないんじゃないかな?
Windowsしか知らなかったころはexeをつくれて一人前の開発環境というイメージだった。

264 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:21:32 ]
>>263
自分で使うコードなら別にexeにする必要ないんだけど、ちょいと配布したりするのに実行環境必要とか言うと困るからじゃないの?

どんなプログラムだかしらないけど。


265 名前:233 mailto:sage [2008/04/16(水) 22:28:13 ]
>>260
理由1、VCの便利な機能が使いたい
理由2、schemeという小さな言語がVCでコンパイルできない理由がわからない
仕様も小さいんだしVCでもコンパイルさせてくれよ・・・
というのが本音です。

>>261
> IntelliSenseが使いたいのか
どちらかというとこっちです。
でも後者の方が面白いので、できればこっちを強弁したいですねw

>>262
すみません、書いてませんでしたが自分は>>233です。
C++に組み込むので、別途インストールというのはちょっと考えられないのです。

266 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:33:41 ]
>>260
MinGWはMSYSが要るのか要らないのかはっきりしてほしいw

267 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:39:02 ]
POSIX べったりという表現が面白かった
確かに逆から見たらそう感じても不思議じゃないね

268 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:47:21 ]
>>266
実行だけなら要らない。ランタイムのDLLさえも要らない場合が多い。
最近のVCはRuntime(もちろん自由に再配布できるが)を入れないといけないことが多い。
VCじゃなきゃ嫌んの人はMinGWをよく知らないだけではないかと思う。

269 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:51:25 ]
Schemeは実はC及びC++(のスタックフレーム)とは相性が悪い。
ファーストクラスの継続があるため
関数からreturnする時に
単純にスタックフレームを開放できない。
また、末尾呼び出しの最適化は
C及びC++では行えない。
(だからSchemeの場合はバイトコードインタプリタの方が
効率が良かったりする。)
これらの理由により、ネイティヴコードをポータブルに吐く方法がない為
GCC用のソースは手を入れない限り他の処理系でコンパイルできない場合が多い。

270 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:58:01 ]
>>265
> 理由2、schemeという小さな言語がVCでコンパイルできない理由がわからない
> 仕様も小さいんだしVCでもコンパイルさせてくれよ・・・
君がScheme処理系を書けば良いのでは?


271 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:43:31 ]
ちなみにschemeは仕様がすっきりしているだけで、
実行環境はさほど小さくない。処理系もけっこう大きい。




272 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:18:53 ]
書けねえよ

273 名前:233 mailto:sage [2008/04/17(木) 00:22:42 ]
>>268
自分のプログラムでは外部ランタイムは無用です。
あと全く別の問題として、schemeのために開発環境を変えるということ自体がちょっと嫌なんです。

>>269
・ネイティブスタックを使わず、自前のスタックかメモリを確保すれば
 継続でもコルーチンでもポータブルに作れます(作れるはずです)
・バイトコードを採用すれば、処理系のコードは自然とポータブルになります
・ネイティブコードをポータブルに吐く方法なんて自分は一つも知りません

って、あまり面白くないツッコミですみません。
あと、schemeがポータブルに実装できないわけではですよ。
実際、明らかにwindowsのようなマイナーな環境(?)を無視した作りのgaucheでも、
コア部分はコンパイルできるわけですし。

>>270
今までは、あまり実用にならなそうなマイ言語を作っている人を、
内心バカにしたりもしていたのですが(すみません)
schemeでも他の言語でも、自作の処理系が一つあると意外なところで使えたりするのかもしれませんね。
scheme作るのも面白そうなので、時間があれば是非やってみたいです。

274 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:27:05 ]
スキルないのが丸分かりの自己紹介ありがとう。

275 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:44:29 ]
漏れも学生時代はMacではHyperCardを必要とするスタックは軟弱物。Pascal or Cで実行形式をつくるのがカコイイだと思っていたし、
Win32でもランタイムを必要とするVBを見下し、CをつかってもMSVCRTの依存すら排除しようとしていた経験のある俺には233の気持がわかる気がする。

276 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:44:38 ]
ゲーム作るときはマシン語モニタをBASICで自作することから始める時代の話だな。
そんなMSXが許されるのは小学生までだよねー

277 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:49:42 ]
>>273
GaucheはWindowsを無視はしてないよ。
多少なりともVC++を意識した変更が入っていたはず。

ttp://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aWindows%2fVC%2b%2b

を参照するといいと思う。マンパワーが足りないから進捗が遅いだけで。

成果をフィードバックしてくれるなら、向こうにとっても渡りに船だろうし、
本気でやる気があるなら、WiLiKiに書き込んでみればいいんじゃない?
上手く協力できれば、双方にとって良い結果になると思うけど。

278 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 02:12:31 ]
スキームの質問

今、手元にThe Little Schemerがあるんだけど
この本に書いてある例題は全部
Dr.schemeで実行できるの?

279 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 03:33:26 ]
1行で全部の処理をするんでなくて、
まずcdrする
次にcarする、
最後にcdrする、
と3段階に分けて処理をしたいんだけど、
どうすればいいの?
BASICみたいに
a=(a,b,c)
みたいにリストを変数に代入して、
ってできるの?

280 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 04:21:40 ]
(let* ((a '(a b c))
(a (cdr a))
(a (car a))
(a (cdr a)))
a)

281 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 04:27:41 ]
(progn
(setq a '(a b c))
(setq a (cdr a))
(setq a (car a))
(setq a (cdr a))
)
Lispならこんなのでいいんでないの



282 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 06:53:06 ]
CL全然知らないんだけど手続きぽく書きやすいのかな。

283 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:11:22 ]
端っこに括弧がいるから慣れない人は書きにくいと思う。
Lisp脳が育つと括弧を空気のように感じるようになる。

284 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:41:53 ]
いや、Schemeにくらべてってこと。

285 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:43:50 ]
再帰じゃなくloop使うと手続き型っぽくなるよ。(カッコだらけだけど)

286 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:00:11 ]
>>273
> あと全く別の問題として、schemeのために開発環境を変えるということ自体がちょっと嫌なんです。
いずれEmacs+Schemeに慣れればVisual Studioには戻りたくなくなる。
そうでなければそもそもSchemeには縁がない。

287 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:21:30 ]
>>284
SICPやSchemerシリーズやっている人は、
schemeが手続き型っぽく書けないと思い込んでいる人が多い。
ただそれらのテキストが関数型っぽく書いているというだけなのに。
Common Lispとさほど変わらない。

288 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:57:25 ]
>>287
本当?かなり違うと思ってた。

例外とかgotoとかを手続型と
さほどかわらないように書くにはどうするの?


289 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 09:32:52 ]
手続き型っぽいのがgoto?

290 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 09:34:13 ]
つ loopマクロ

291 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 09:43:41 ]
つ 継続



292 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 10:06:59 ]
; f(g(h(x)))
(apply (fcompose f g x) x)
みたいなものができる筈なんで>>279の処理も
(fcompose-and-apply cdr car cdr a)
みたいにできるfcompose-and-apply(仮)が書ける気がせんでもない



293 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 10:08:35 ]
tagbody は?

294 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 10:13:13 ]
emacs lispならconditon-case(try..catch)とかsignall, error(throw)とか
unwind-protect(finally)とかあるから殆んど手続き型と同じように書けるよ
R6RSにも似たようなものがあるはず

295 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 11:43:51 ]
>>288
例外はr6rsに入ってただろ。手軽にやりたいなら継続呼べばいいし。
goto相当のジャンプも継続が使えるけど、
継続はラベルじゃなくてオブジェクトなので使い勝手をgotoみたいにしたいなら
自前でラップしなきゃ駄目かもな。

296 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 13:01:50 ]
S式でいいならマクロでなんでもできる。CLならCインタープリタの実装まであるくらいだ。

297 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 14:51:41 ]
Google Apps APIs をlispから使う方法ないのでしょうか?

298 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:02:27 ]
>>297
使えよ

299 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:08:01 ]
ないならnilを、あるなら使い方を返していただきたいのですが。

300 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:32:41 ]
>>299
(values nil
"ttp://www.cliki.net/web%20API"
"Clikiにはズバリはないみたいだけど、
cl-ajaxとかでできるのかな。"
"よくわからない。")

301 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:12:46 ]
>>247
d。miniKANRENは徐々に進化しているようでした。
leanTAP⇒KANREN⇒miniKANREN⇒alphaKANREN
ttp://www.cs.indiana.edu/~webyrd/alphamk/alphamk.pdf
ttp://kanren.sourceforge.net/

ParentheCというパーサー(c⇒scheme)を見つけました。
パターンマッチはolegのものを流用してます。
ttp://www.cs.indiana.edu/classes/b521/newpc/ParentheC.pdf
ttp://www.cs.indiana.edu/classes/b521/notes.html

Prologもどきと軽く思ってたけどReasoned Schemerって意外に深いのかな。
型推論のHindley-Milner type inferenceとかOCAMLみたいw



302 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:27:16 ]
CPSによるパターンマッチのマクロ by Oleg Kiselyov.
ttp://www.cs.indiana.edu/l/www/classes/b521/pmatch.pdf

303 名前:277 mailto:sage [2008/04/17(木) 23:07:24 ]
>>233の人ー、WiLiKiで、VC++の項目とか、
Windows向けインストーラの話とか、
色々更新されたから行っといでー。

釣りじゃないなら、話し合う絶好の機会だよー。

304 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:33:37 ]
>>286
schemeの処理系を書く環境と
schemeを書く環境はちょっと違うと思うぞ。

305 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:35:06 ]
>>304
SchemeでSchemeを書けばいいジャマイカ

306 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:42:20 ]
いまおれいいこといった
と思ってるに違いない
空気読めない奴の発言は反吐が出る

307 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:49:17 ]
>>306
何でそんな事でいきなりヒートアップするんだよ。

まあ、元の話題はC++にSchemeを組み込みたい、って話だったから、
>>286のレスが明後日の方向を向いてるとは、俺も思うけどさ。

308 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:21:32 ]
>>307
きっと胃が悪いんだよ<反吐が出る

309 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:53:51 ]
SchemeでSchemeの処理系を書いてParentheCでCにポートすればC++にSchemeを組み込めるな。
Cで書かれたTinySchemeをマージするほうが簡単かもしれないがw

310 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:59:13 ]
SchemeでSchemeの処理系を書くならLisp in Small Piecesのサポートページに色々情報がある。
ttp://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html

311 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:12:59 ]
なんか知らんが1人イラついてる人が居るな。
本当に自分の方がレベルが高いなら、
別に同じレベルと思われても構わないという態度で
淡々としてれば良いのさ。

あるいはそんなものスルーして自分の興味のある別の、
レベルの高い話を振ればいいよ。



312 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:15:14 ]
(eval (read))ですね、わかります

313 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 01:16:33 ]
>>278
本の中に動かない例があるけどw
それ以外は全部動くよ。当然だけど。


DrSchemeのライブラリって面白いのが結構あるなぁ
ttp://planet.plt-scheme.org/

HtDPやEOPLだけじゃなくSICPやSimplyのためのpltがちゃんとある。
でもLittle用はない。なくても動くから。

314 名前:sage [2008/04/18(金) 11:25:53 ]
MOP レシピ集みたいなページはありませんか?

315 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 12:00:39 ]
XML-MOPのコードはどうよ?

316 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 17:50:13 ]
ソケット関係で挫折しそうなんだけど、苦労するといいことあるのかな
同じ内容のpythonのプログラムは動くこと確認したんだけど

317 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 18:04:18 ]
仕事じゃないなら好きにすればいい。

318 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 18:36:08 ]
>>316
pythonでやれば?

319 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:40:56 ]
www.cs.indiana.edu/classes/c311/pmatch.scm
ここのpmatchを、define-macroで書き直すとどうなるでしょうか。
syntax-rules内の'...'の展開のされ方がよく判らんのです。
1つのパターン内に'...'が複数使われているのがあって、
これは残りの同一のパターンにマッチするという事なんでしょうか。

例えばこの部分とか
((_ (rator rand ...) cs ...)
(let ((v (rator rand ...)))
(pmatch v cs ...)))


320 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:53:38 ]
それぞれに(別々に)マッチするって感じだね。
これだから衛生的なマクロは嫌いなのだ。

321 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:54:12 ]
質問が判りにくいですね。つまり上のrandの後の ...と、
csの後の ... の中身は違っててもいいのかどうか?
ってことです。
'...'はその文脈の残り((car . cdr)のcdr)という意味しかない
と考えてよいのでしょうか?



322 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 01:54:44 ]
>>320
やはりそうですか。
だとするとまぎらわしいですね。

323 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 02:00:14 ]
あと1つ確認したいのですが、>>319の意味を変えずに
((_ (rator rand . rest1) cs . rest2)
(let ((v (rator rand . rest1)))
(pmatch v cs . rest2)))
こういう風に書き直す事は可能でしょうか?
リストじゃないからできないとか昔どこかで見たような気がするのですが。


324 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 02:21:56 ]
rand ... の部分は0個でもマッチする
rand . rest1 と書くと1個以上になるから意味が変わってしまう

325 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 02:30:39 ]
そうだったんか…
キモイなそれ

326 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 02:53:15 ]
>>324
つまり書き直すなら
((_ (rator . rand) . cs)
(let ((v (rator . rand)))
(pmatch v . cs)))
という事でしょうか?

327 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 03:00:02 ]
そうだけど実際に使って確認するのが一番いいね

(define-syntax hoge
(syntax-rules ()
((_ x ...) (list x ... x ...))))
デフォルトで ,@ がついてるようなイメージ

(defmacro hoge (&rest x)
`(list ,@x ,@x))

328 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 03:15:54 ]
((_ ((symbol value) ...) . body)
((lambda (symbol ...) . body) (+ value 1) ...))

とか、すごい展開をするんだよね、 ... って。

329 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:00:44 ]
Commom LISPの方はSchemeのそういうコードを移植したい時
どうしてます?defmacroに変換するようなのないかな。

330 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 13:00:59 ]
これですね
Scheme Macros for Common Lisp
www.ccs.neu.edu/home/dorai/mbe/mbe-lsp.html

331 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:50:21 ]
TinyScheme
ttp://tinyscheme.sourceforge.net/

TinyScheme Extensions
ttp://heras-gilsanz.com/manuel/tsx.html

OOPS Tiny Scheme Extension
ttp://aladdin.sourceforge.net/oops.php

TinyScheme for Zaurus
ttp://www.alphageeksinc.com/tinyscheme/



332 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:53:44 ]
>>309
ParentheCってlambdaすら処理できないみたいだよ。
これでCにポートしろなんて詐欺もいいとこ。

333 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:29:28 ]
使い方を理解しないで使うからジャマイカ?

334 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:56:39 ]
トランスレータに使い方も糞もあるか

335 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:29:25 ]
Scheme処理系は腐るほどある
ライブラリも (C/C++なら) たくさんある
後はそれを組み合わせることを考えよう

336 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:34:22 ]
コイツ>>334、なんでこう喧嘩腰なんだろな。氏ね。


337 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:36:49 ]
糞チョンとシナチク氏ね。

338 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 01:09:37 ]
ジャマイカ発言の後は荒れるんだよ。

339 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 01:32:46 ]
とりあえず>>334はいっぺん氏ね

340 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 03:36:46 ]
>>333
あれって使い方でどうにかなるもんなの?

341 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 09:17:16 ]
DRAKMAがubuntu 7.10 sbclのasdf-installでこけて止まる



342 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:11:37 ]
>>341
SBCL 1.0.16
DRAKMA 0.11.5
ubuntu 7.10
で今試したけど大丈夫だった。

343 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:55:28 ]
psyntaxがGaucheでも使えるって書いてあるけど、使い方わかんねー。
と思ってたら一発で使えるように同梱されたビルドがあった。
saito.s4.xrea.com/wiliki.scm?Gauche
psyntax.exeってのがそうみたい。
exeにするのってどうやったんだろ?

344 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:35:00 ]
どうでもいい

345 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 20:42:29 ]
またexe厨か…

346 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:38:38 ]
schemeでなくてlispでexe作ったら?
newlispなんかだと簡単だよ
SBClやCormanLispなんてのもあるけど

347 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:05:06 ]
別に言語まで変える必要もないと思うけど。
処理系のソースがあるんならschemeのソースを埋め込んで
スタートアップで呼び出すようにすれば完成でしょ。
VMで動くようなのはコンパイル後のやつ入れとく。
これだからオプソって意味ないんだよな。

348 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:10:07 ]
>>343
Gaucheのtarball落としたら中にgencompってのがある。
それでVM用コードにして適当なmainだけ書いてgccでコンパイル。

349 名前:デフォルトの名無しさん [2008/04/20(日) 22:24:02 ]
「プログラミングGauche」でSchemeデビューしようとしていきなりつまずいてます。
(define 'a #f)
(set! a 1)
(display a)

これは

gosh> quote
gosh> 1
gosh> 1#<undef>

となって動くんですが

(define 'line #f)
(set! line "foo\n")
(display line)

と変えるとエラーになります。

gosh> quote
gosh> *** ERROR: symbol not defined: #<id 0x80eb100 user::line>
Stack Trace:
_______________________________________
gosh> *** ERROR: unbound variable: line
Stack Trace:
_______________________________________

どこが間違ってるんでしょうか?


350 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:32:39 ]
ワロタ
(define 'a
(define 'line
ここが間違ってる。それぞれ
(define a
(define line
が意図するものだと思う。

(define 'a

(define quote (lambda(a)〜
と解釈される。

351 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:38:57 ]
>>350
多分 *scheme* バッファの中で一度 (define a なんとか) を
実行してたから、a が定義されていたんですね。
*scheme* バッファを再起動してたら両方とも動かなくなって
気付いたと思うのですが。

ありがとうございました。




352 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:46:14 ]
こういう記述間違いは処理系作者からは斜め上で予測不可能なんだよな。
quoteを再定義したいなんて思わんし、エラーにすべきか。

353 名前:デフォルトの名無しさん [2008/04/20(日) 23:51:39 ]
Gauche scheme interpreter, version 0.8.3 [utf-8,pthreads]
という環境で、
#!/usr/bin/gosh
(define (main args)
  (while (not (eof-object? (set! line (read-line))))
  (print line))
  0)
というスクリプトを書いて euc-jp なテキストファイルを読み込ませたら
~$ gosh test.scm <text.txt
*** READ-ERROR: Read error at "(stdin)":line 2: read-line: encountered illegal byte sequence: #*"\xc1\xcf\xc0\xa4\xb5\xad\t1\t1\t"
Stack Trace:
_______________________________________
  0 (read-line)
  At line 3 of "./test.scm"
  1 (letrec ((do (lambda () (if (not (not (eof-object? (set! line (rea ...
  [unknown location]
というエラーになりました。
euc-jpなままで読んでeuc-jpのまま書き出すにはどうすればいいのでしょうか?

354 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:20:03 ]
>>353 gauche.charconv

355 名前:デフォルトの名無しさん [2008/04/21(月) 00:46:50 ]
こうなりました。with-ports を使おうとしたら、
*** ERROR: unbound variable: with-ports
となりました。何故?

#!/usr/bin/gosh
(use gauche.charconv)

(define raw-in (current-input-port))
(define raw-out (current-output-port))
(define in (wrap-with-input-conversion raw-in "eucjp"))
(define out (wrap-with-output-conversion raw-out "eucjp"))

(define line #f)

(define (main args)
  (while (not (eof-object? (set! line (read-line in))))
  (display (string-append line "\n") out))
  0)


356 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 03:59:58 ]
何故?とか言う前にフォルダ内検索しろよ

357 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 05:06:07 ]
slimeで対応する() に自動で色がつかなくなることがあるのだけど
どうすればもどるの?
他に開いてるlispのバッファーを全部kill bufferすれば直るけど
buff殺さないで直したい

358 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 05:38:24 ]
>>357
どういう環境だとそうなるの?
漏れはそんな現象に遭遇したことない。
show-paren-modeがなんらかのタイミングでoffになったとか?

359 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 06:30:08 ]
C-c C-p
を何度もしてるといつのまにかなる

360 名前:デフォルトの名無しさん [2008/04/21(月) 08:21:48 ]
>>356のヒントをもとに検索してみた。
/usr/share/gauche/0.8.3/lib$ find . -type f | xargs grep with-ports
/usr/share/gauche/0.8.3/lib$
なにもみつからなかった。


361 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 13:05:06 ]
lispの場合、どのぐらいの大きさのprogramになったらファイルを分けるの?




362 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 14:45:07 ]
大きさを基準にしては分けない

363 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:52:39 ]
>>361
package毎に分割しない?

364 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:36:23 ]
日本語の正規表現処理はできないと思っていいのでしょうか?
sbclなのですがどの日本語コードを使うのがお勧めなのでしょうか?

365 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:48:56 ]
cp932と言ってみるテスト

366 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:02:05 ]
Schemeのオブジェクト指向

BOS (Bryan's Object System)
MEROON ・・・Christian Queinnecによる。情報があまり無いけど有限要素法とかつかえるらしい。runge-kutta-4にあきたらやってみる。
SCOOPS (Scheme Object Oriented Programming System)
Tiny CLOS ・・・なんとたったの850行!"The Art of the Metaobject Protocol"に出てくるsimple CLOSよりコンパクトな学習用。
YASOS (Yet Another Scheme Object System)

367 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:16:55 ]
>>364
UTF-8で普通に使える処理系が多い(または増える)と思う

368 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:26:01 ]
>>367
BOMあり?8Nでおk?

369 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:29:06 ]
処理系によるんじゃね?

370 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:49:45 ]
>>355
with-portsは組み込み手続きだから見つからないって変だな。
プラットフォームは何? インストールはどうやった?


371 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:38:45 ]
一方exe厨はバイナリを配った



372 名前:355 mailto:sage [2008/04/21(月) 22:53:03 ]
>>370
Debian sarge(3.1)で、aptitudeからインストールしました。
Gaucheのバージョン(0.8.3)が古過ぎるんでしょうか。

~$ aptitude show gauche
パッケージ: gauche
ステータス: インストール済み
自動的にインストールされる: no
バージョン: 0.8.3-3
優先度: 任意
分類: interpreters
保守担当者: Hatta Shuzo <hattas@debian.org>
展開サイズ: 4096k
依存: libc6 (>= 2.3.2.ds1-4)
提案: slib
推奨: r5rs-doc, gauche-doc
詳細: A Scheme implementation designed for script writing
Gauche is a Scheme implementation developed to be a handy script interpreter, which
allows programmers and system administrators to write small to large scripts for their
daily chores. Quick startup, built-in system interface, native multilingual support are
some of the author's goals.
~$ gosh -V
Gauche scheme interpreter, version 0.8.3 [utf-8,pthreads]
~$ gosh -i
gosh> with-input-from-port
#<subr with-input-from-port>
gosh> with-ports
*** ERROR: unbound variable: with-ports
Stack Trace:
_______________________________________



373 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:09:50 ]
Gaucheスレ別に立てて関係者がサポート汁。

374 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:28:56 ]
0.8.13のtypoかと思ってたらほんとに0.8.3か。古すぎるだけだと思う。

>>373 ごもっとも。WiLiKiの初心者の質問箱とかの方がふさわしい。


375 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:22:53 ]
よくあるまとめwikiサイトみたいなの作れば良いのに。

376 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:25:54 ]
Schemeのループの構文がわからないので教えてください。
下に書いたコードのbreakがうまく動かないのですがどう書いたら正しいのでしょうか?
大元はRnRSに載っているrunge-kutta-4の計算で、元々は無限ループです。

(letrec (
(n 100)
(ls '())
(loop (lambda (s)
(if (not (= n 0))
((set! n (- n 1))
(newline)
(write (head s))
(loop (tail s))))
(break the-states))))
(loop the-states))

377 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:45:25 ]
((set!
こんな使い方はない
(break
breakはどこにも定義されてない

378 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 03:11:42 ]
そのbreakはどこを参考にして持ち出してきたの?

379 名前:364 mailto:sage [2008/04/22(火) 10:06:06 ]
CL-PPCREで日本語を含むパターンを見つけたかった

( scan [ホゲ(プログラム中に直接書いた日本語)]+   , ホゲ(ファイルから読み込んだ日本語) )

同じ ホゲ という単語が入ってるのに認識しなかった

380 名前:364 mailto:sage [2008/04/22(火) 10:10:58 ]
(print ホゲ(ファイルから読み込んだ日本語))

をslimeでC-C C-P すると動くが C-C C-Cすると動かない(sbcl)

sbcl --load nihongo.lisp
でも動かない


381 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 10:28:40 ]
>>379
sbclはエンコーディング設定が良くわからないけど、
CLispではCL-PPCREで日本語が問題なく使えた。



382 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:23:17 ]
最近, あちこち SICP だらけなのは SICP の邦訳だ出たせい?
こんなん有り難がって読むくらいだったら, ファイン万物理学読めよorz


383 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:36:12 ]
最近?

384 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:42:04 ]
両方読めばいいじゃん。

385 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:44:21 ]
>>380
ファイルのエンコーディングもsbclの設定もどうなっているか分からないけど、
漏れの手元のutf-8に対応している処理系なら軒並みできている。
設定は各処理系のマニュアルを参照するのが一番確実。

386 名前:デフォルトの名無しさん [2008/04/22(火) 16:13:01 ]
Expected class definition, found ( which may not be written here
ってどういうエラー?

387 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:14:33 ]
>>386
エラー原因書いてあるじゃん。


388 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:17:25 ]
教科書もなくはじめて実行してるのでわからないのです。
どっかのサイトからコピペしたらこういうエラーが

389 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:19:56 ]
何の処理系とかどういうコードかとかどのサイトからとかを書かないのは何故?

390 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:24:40 ]
例えばこういうのだったら
(define my-abs
(lambda (x)
(cond ((< x 0) (-x))
((= x 0) 0)
(else x))))

一番前の(にマーカがついててエラーメッセージがでます
どのプログラムはってもこういうメッセージがでるんですけど

391 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:00:25 ]
>>390
君の場合は、もう少し他人とのコミュニケーションの取り方から
勉強した方が良いよ。




392 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:00:35 ]
>>389
人の善意を当てにしてるんじゃない?
なんかそういう質問の仕方増えてきたよね。
ここ親切だからなー。

393 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:06:07 ]
>>386
それただの英語だと思って読んでみな。

394 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:32:46 ]
>>376-378
Schemeでbreakを使ってる例:
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/
ttp://www.cs.grinnell.edu/~stone/events/scheme-workshop/quicksort.html
ttp://merd.sourceforge.net/pixel/language-study/various/callcc/scheme.html

(letrec (
(n 100)
(loop (lambda (s)
(if (not (= n 0))
(begin (set! n (- n 1))
(newline)
(write (head s))
(loop (tail s)))))))
(loop the-states))

これで動くでしょう。breakいらないよ。

395 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:43:09 ]
>>376-378

ttp://practical-scheme.net/gauche/man/gauche-refj_102.html

SRFI−1にもbreakは入っている。

396 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:44:59 ]
でも、Schemeでbreakなんて使わないよなJK。www

397 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:45:02 ]
まあ、紛らわしいよなw

398 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 20:28:16 ]
runge-kutta-4を実際に走らせた。

ttp://codepad.org/gSEoxetW

399 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:10:25 ]
>>382
Feynman Lectures on Computationも読んだけどけど何か?
SICPにはrunge-kuttaが載ってるけどFeynmanには載ってない。
Feynman厨ウザ

400 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:45:12 ]
「Lisp文化にはLisp 1.5 → MacLisp → CommonLisp の『MIT系Lisp文化』・・・」という文書に出会った。
ほかの系統にはどんなのがあるのでしょうか?GNU系とかかな?w


401 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:51:50 ]
それと対比するならInterlispで代表されるXerox系Lisp文化じゃね?
GNUとか出てくるよりずっと前の話だよ



402 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:56:39 ]
>>400
文化じゃなくて処理系のダイアグラムならあるよ
www.softwarepreservation.org/projects/LISP/
www.dreamsongs.com/NewFiles/Hopl2Slides.pdf

文化って意味だと PARC が別系統の最有力なのかな?
良く知らんけど。

403 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:27:15 ]
Lisp 1.5 Programmers Manual
ttp://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf

404 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 02:43:06 ]
GNUなんてただのパクリ集団じゃん

405 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 02:46:52 ]
よくわからないなら書かないほうがいいよ

406 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 03:22:16 ]
いや、本質をよくとらえている。

407 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 03:24:13 ]
自画自賛乙

408 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 03:45:33 ]
GNUを擁護したがるのは都合の良い解釈ばっかり見てる
最近知ったやつだけだろ

409 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 04:06:16 ]
どうしてもGNUが叩きたいという奴以外にとってはどうでもいいだろ。

410 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 04:14:24 ]
まぁ、GNU知りたての学生さんは
「GNUを叩いてる俺って、なんてわかってる奴なんだろう♪」
ってなもんだわな。

411 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 05:21:09 ]
>>408
都合の良い解釈もなにも、GNUのポリシーは単純だし、
嫌ならGNUのソフトは使うべきじゃないってくらい単純な話だと思うんだよね。
スレ違だから、他んとこ行って欲しいんだけどw



412 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 05:25:58 ]
なあ、既成の言語の機能をlispやschemeで
実装してしまうスレ立てないか?

413 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 06:30:06 ]
>>412
lisp発祥でない機能で、面白いのってどういう機能があるんだろうね。
昔にlispでやってたら駄目なわけだよね?

414 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 07:27:59 ]
なんで?
多分スレの目的は既成の言語を馬鹿にして諭す事だから
lisp視点で面白いのかは判らないけど

415 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:00:15 ]
>>412
こういうのか?
(define alias define)


416 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:03:33 ]
>>414
なんで、って言われても、そうなの? >413
まあ、なんらかの確信があるんだろうなwww

417 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:10:20 ]
人を見下したかのような人しかいないから、ぴったりだと思って

418 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:37:36 ]
回りくどいスレタイより「lisperが他の言語を馬鹿にして諭すスレ」
でいいよ。

419 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:18:52 ]
…春だなあ。

420 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:20:04 ]
逆に馬鹿にされるのがオチ。

421 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:25:07 ]
>>413
他言語の構文をread macroでやらかすスレとかならおもしろいかもね




422 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:38:51 ]
>>417
コンプレックスがひどいと、そう見えるらしいよ。

423 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:41:28 ]
>>404
元々、プロプラの物をオプンで代替する活動だからね
新規性が売りじゃないから GPL のラベルを付ければ何でもオケ

424 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:45:56 ]
>>421
そいういうんだったら逆になんでもS式に変換してみてほしい。
S式Rubyなunacceptable acceptable lispとか見てみたい。

425 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:08:09 ]
>>424
たしかRuby1.8では、ソースから変換した構文木を直接evalしてたはずだから
それを括弧で囲めばS式になるんじゃないか?

426 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 13:16:50 ]
今のところRubyは食わず嫌いだが、ソースがS式になるなら使ってやってもいいな

427 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:29:05 ]
RubyはMatzLispでPythonはGuidoLispなんだよ!とかなんとか

428 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:46:41 ]
lispuser.netだかどこかで見せてくれた最高にキモイlispコードってのがまさにそれじゃないの?>> read macroでホゲ


429 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:13:54 ]
春めいた流れになってきたなw

430 名前:グラハム mailto:sage [2008/04/23(水) 19:14:42 ]
君達、LispとRubyのいいとこ取りの言語があるのを知らないのかい?

431 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:26:13 ]
>>430
ポールグレアムなら知ってるが、あんた誰?w
pc11.2ch.net/test/read.cgi/tech/1202098949/



432 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:32:06 ]
>>431
チャップマンかカーかどっちかじゃね?


433 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:40:11 ]
ろくなライブラリーも無いうちからLispとRubyのいいとこ取りの言語を名乗るから評判悪いんだよなw
むしろGaucheがArcのいいとこ取りすれば解決しそうだ。

434 名前:グラハム mailto:sage [2008/04/23(水) 19:58:23 ]
思い出せば私のエッセイもいつも最初は不評だったものだ。

435 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:04:33 ]
世界の料理ショーの人頑張ってライブラリ作れよw

436 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:05:27 ]
ふーむ、、、何故あなたはそう確信するのですか?

437 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:07:01 ]
ニヤニヤ

438 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:11:02 ]
Matz>Graham だな。Lisp厨涙目w

439 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:12:05 ]
何の話だ

440 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:16:10 ]
他の言語にいちゃもんつけるお仕事、ご苦労様です
Ruby厨の人も大変だな

441 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:18:03 ]
Ruby厨さえ居なけりゃ、Rubyも良い言語なのにな。w



442 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:20:28 ]
Lisp On Railsってあるの?

443 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:24:55 ]
それなんて Kahua

444 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:04:35 ]
Kent Dybvigの本と迷ったが一番定評があるコッチをやることにした。

Programmation fonctionnelle en scheme
by Jean-Michel Hufflen, Masson, Paris, 1996
EUR 26.13

日本語版があればDybvigのを読みたかった。
読み終わったらStruktur und Interpretation von Computerprogrammenを読む予定。
でもLittleが流行ってるから先に読みたいな。でも英語がちょっと orz

445 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:11:00 ]
仏蘭西語と独逸語が堪能なら英語くらいなんとかなるだろ

446 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:34:28 ]
独仏国境だから二ヶ国語は馬鹿でも生活の中で自然に覚える。
英語は勉強が必要。でも勉強するならProgrammationの方が楽しい。

447 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:38:34 ]
このスレに常駐したらLispとSchemeが堪能になるようなもんかw

448 名前:デフォルトの名無しさん [2008/04/23(水) 21:42:12 ]
>>441
厨が集まる言語の条件:
・誰でも演習レベルまでは直ぐいける。
・ハイレベルに移行するには何らかのセンスor適切なガイドが必要
・エキスパートによって成果が出ている。


449 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:42:51 ]
(* 164.042160 26.13)
⇒4286.421640799999

ぐは、結構高い!

450 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:41:47 ]
>>400-402
Lispには大きく分けて東のMACLISP系と西のInterlisp系の二つの主流が存在。
MACLISP系:Lisp 1.5 → MacLisp → CommonLisp の『MIT系Lisp文化』
Interlisp系 :Interlisp-10→Interlisp-Dの対話型環境の『Xerox PARC系Lisp文化』
GNU EmacsはMacLispから分かれて来てるからMACLISP系に入れる。

451 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:59:22 ]
schemeはその流れに入ってないの?



452 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:39:39 ]
>>451
schemeは当初maclispで実装されたし、影響もそれなりにあるからmaclisp系っていえば
そうとも言えるんじゃないかな。
MIT系であるのは確かだよね。


453 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:12:24 ]
πの計算をストリームを使ってやってみた。
けど、なぜかあまり近づかない。なんでだろ。教えて。

ttp://codepad.org/0iV02ShG

454 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:13:28 ]
収束の遅い公式を使うからでしょ

455 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:16:33 ]
>>454
ここでは10ぐらいでかなり近くなってる。どして?
ttp://www.aomori-u.ac.jp/lab/inform/horibata/Scheme4.html

456 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:27:29 ]
わかった方教えてください。あしたまた来ます。お願いします。

457 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:00:10 ]
最後の行ですね、わかります

458 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:21:21 ]
>>457
有り難う御座いました。そのヒントで見つかりました。
ttp://codepad.org/sCNx3Zlh

でも微妙に値が違ってるようです。3つ目の末尾から。
まだ、他にも間違いがあるんでしょうか?
それとも精度の問題なんでしょうか。

459 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:31:18 ]
write時の問題かな。2進的には同じ数値になってるんじゃないか?

460 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:33:38 ]
3.14159265358979 までは合ってる。
どう見ても問題ありません ><

461 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:40:10 ]
やっぱり合ってそうですか。
計算以外のところが原因なのかな?
ますます原因不明ですが今日のところは落ちます。
有り難う御座いました。またあした。




462 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:42:36 ]
11個目から+nan.0なのか。ストリームの意味無いじゃん。ちょっとワロタ。

463 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:58:14 ]
眠いしよく見てないんで直感だけで書くけど、
euler加速の計算のdenominatorが0になってるんじゃないの?

464 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 03:00:40 ]
無限ストリームでスマートに多倍長の演算でもしてるのかと思ったら
違うのかよ


465 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 04:23:07 ]
Amazon.co.jpのプログラミングGaucheのカスタマーレビュー書いたバカ誰よ?
On Lisp書いたの誰だかわからないようなのが何書いても信憑性ないんだけど。
折角いい本なのに余計なことしやがって(-_メ)

466 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 04:48:55 ]
藻前が書けばいいジャマイカ。
まあ、こんなところでちくちく攻撃してるやつの書評なんか読みたくもないがww

467 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 04:51:05 ]
Amazonの書評って、分野によらず全然アテにならん。
鋭いこと書ける人は、ブログやら何やらで幾らでも「読者」を獲得できるこの時代、
大企業の威光を借りて「ここならボクちんの鋭いヒヒョウを皆に聞いてもらえるるる〜」と興奮しちゃうのは、
「自分では自分の鋭さを信じているが、どういうわけか(笑)他人にはそう思ってもらえない人」
だけになっちゃったんだ。

468 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 05:00:31 ]
アテになるかはともかく、とっかかりぐらいにはなるぞ
Amazonに限らずネットの情報なんて大部分はそんなものだろう

469 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 05:39:45 ]
アマゾンレビューなぞ大抵は書きっぱなしの自己満だから気にすんな。


470 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:59:58 ]
GaucheはSchemeの方言(笑)
まあ尼のレビューの意義なんて内容よりも書く事自体にあるんじゃないのか。
文句があるならもっと良いレビューを書けばいいだけの話。

471 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:24:40 ]
自分が思ったことレビュー蘭に書いたくらいでこんだけ叩かれるんだから
Gauche本のレビュー書くのも大変だよなwww
一体、誰が書けば納得すんだよw



472 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:36:43 ]
思ったことを書いたから叩かれるのではなく、その内容がアレだから叩かれるんだよ。
誰が書けば納得するのか、じゃなくて、誰が書いても、内容がまともなら納得するんだよ。

馬鹿じゃないことがその人にとって大変なことなら、レビューを書くのは確かに大変だ。

473 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:41:38 ]
perl,ruby,pythonのようなLL系やHaskellやOCamlのようなML系も独自のmakefile形式を持ってるけど
scheme版のmakeみたいなの無いの?
S式で依存関係とか生成規則をガリガリ書けるようなもの


474 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:52:19 ]
うちの研究室の先輩が作って代々受け継がれているものならある。
結構便利。公開してないけど。

475 名前:364 mailto:sage [2008/04/24(木) 13:12:26 ]
>>380
自分のバグでした
正規表現で文字の置き換えしようとして
全角文字の後ろ半分のバイトだけ置き換えてたみたいです

476 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:13:21 ]
>>473-474
lispで動くシェルじゃだめなの?


477 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 14:22:17 ]
>>450
elispはshallow bindingじゃないから、
MacLisp系というのには難がある。
基本関数名もあまりMacLispMacLispしてない。

478 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 14:32:10 ]
>>477
少なくとも、InterlispよりはMaclisp系だよ。とりあえず defun だし。w

479 名前:デフォルトの名無しさん [2008/04/24(木) 14:38:07 ]
>>450
www.levenez.com/lang/ みたいに系統樹にしてみると面白いかもな

480 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 16:57:13 ]
>>477
emacsのリファレンスにもmaclispに強く影響を受けてるって書いてるじゃん。
rmsがmaclispで育ってるんだから当然っていえば当然だと思うけど…。

481 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:48:35 ]
>>479
MirandaとかErlangとかLuaとかAliceとかCgとかHyperTalkとか載ってない。 orz´



482 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:51:13 ]
>>462-464
それSICPに載ってるやん

483 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:54:59 ]
>>479,>>481
最近話題のOzもない。Orz

484 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:10:19 ]
>>482
p.334からp.337の "3.5.3 Exploiting the Stream Paradigm" !

485 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:31:56 ]
>>484
日本語版ではp.198からp.200にあった。

486 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:19:45 ]
Gauche本を読んでcontinuationを理解した春の夕暮れ。
今日は良い日だった。

487 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:24:03 ]
希望の精度まで計算するstream-limitを使った計算例。
>>484-485に書いてあるsqrtの計算をやってみた。πの計算にも使えるハズ。ヤッテナイケドw
ttp://codepad.org/8guLZUTv

488 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:34:38 ]
>>478
適当なこと言いました。やってみたら計算負荷が高いようです。timeoutしましたw
ttp://codepad.org/a4j62JqK

489 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:36:23 ]
ここは学坊しかいないのか?

490 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:55:46 ]
いや、声が大きいだけ

491 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 22:16:21 ]
ln2 の計算。ループ10回で精度ギリギリなのはおんなじ。
ttp://codepad.org/sZyPIi4v



492 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:24:38 ]
今日の勉強の成果。SICP p.328-334
Ex 3.59
exp-series
cosine-series
sine-series
Ex 3.60
mul-series
Ex 3.61
invert-unit-series
Ex3.62
div-series
tan-series

ttp://codepad.org/Lh7m712l

493 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:44:39 ]
Exploiting the Stream Paradigm !

>>398 runge-kutta ttp://codepad.org/gSEoxetW
>>458 Pi ttp://codepad.org/sCNx3Zlh
>>491 ln2 ttp://codepad.org/sZyPIi4v
>>492 exp-series cosine-series sine-series tan-series ttp://codepad.org/Lh7m712l


494 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 01:53:53 ]
>>473
ASDFをGaucheに移植すればいいんジャマイカ?

495 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 01:59:21 ]
ASDFはCLだす

496 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 02:37:36 ]
だから移植なんじゃねーの?

497 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 02:50:04 ]
まずGaucheでCommon Lispを書いて、その上で動かせば桶

498 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 03:09:06 ]
よしまかせた!






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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