Lisp Scheme Part20
..
116:デフォルトの名無しさん
08/03/12 12:15:18
>>107
想像だけど、ネットで公開できなくなるのは本になることの代償じゃないかな。
出版社はボランティアじゃないからね。
個人的には、ネットで公開できなくなるマイナスより、本になるプラスのほうが
勝ってると思う。もちろん、そうは思わない人も多いと思うけど。
どちらにするかは、権利を持っている人が勝手に決めればいいことだ。
117:デフォルトの名無しさん
08/03/12 13:31:35
正確には著者と出版社が話し合って決めることだな
118:デフォルトの名無しさん
08/03/12 14:44:30
>102
献本用に刷ったのにミスプリがあったらしい。
先日のgauche.nightで販売されたのもコレ。
内容は市販されるものと同一のはず。
119:デフォルトの名無しさん
08/03/12 16:06:26
>>118
ブベベベベ
120:デフォルトの名無しさん
08/03/12 16:31:31
Little読んだ程度の漏れでも読めるかな。
121:デフォルトの名無しさん
08/03/12 16:46:26
読むな。書け。
122:デフォルトの名無しさん
08/03/12 17:40:42
>>116
そりゃ、自分がその本を持っている前提ならそうかもしれないけど、
本が入手不可能でネットにもリソースなかったりしたら、ものすごく困る。
123:デフォルトの名無しさん
08/03/12 18:24:15
>>122
「本が入手不可能」って状況がよくわからんけど、絶版になればふつう版権は
著者に戻される。著者が望めば公開可能。
124:デフォルトの名無しさん
08/03/12 18:36:01
理屈ではそうなんだが、在庫なし再販未定≠絶版なのが面倒なところ。
法律では「出版権の消滅」って概念を定めてて、しかるべき場合には
しかるべき手続きを踏めば出版権を消滅させられることになってるけど。
125:デフォルトの名無しさん
08/03/12 18:38:24
注)ここは日本です。
126:デフォルトの名無しさん
08/03/12 22:57:00
glintオモスレー
127:デフォルトの名無しさん
08/03/12 23:06:38
letrec
これは何と読めばいいですか?
レトレックでOK?
128:デフォルトの名無しさん
08/03/12 23:52:03
桶
129:デフォルトの名無しさん
08/03/13 00:01:13
ども
130:デフォルトの名無しさん
08/03/13 00:08:30
>>127-128
へぇ。letrecっておけって読むんだ。なんか由来のある当て字?
131:デフォルトの名無しさん
08/03/13 00:10:00
いや、桶をレトレックって読むんだよ。
132:デフォルトの名無しさん
08/03/13 00:13:30
なぜか「バルカン星人を舐めるなよ」と書きたくてらまらない。
133:デフォルトの名無しさん
08/03/13 00:40:37
ふぉっふぉっふぉ
134:107
08/03/13 01:09:53
ジュンク堂いったひといる?
135:デフォルトの名無しさん
08/03/13 01:10:38
↑名前欄誤爆
136:デフォルトの名無しさん
08/03/13 01:12:17
>>133
それバルタン
137:デフォルトの名無しさん
08/03/13 01:20:35
> 誤爆
それバクダン
138:デフォルトの名無しさん
08/03/13 01:27:13
|
|
|⌒彡
|冫、)
|` / ・・・
| /
|/
|
139:デフォルトの名無しさん
08/03/13 01:28:13
|
|
|
| 彡サッ
|
|
|
|
140:デフォルトの名無しさん
08/03/13 01:32:23
ものまね鳥ゲット
141:デフォルトの名無しさん
08/03/13 01:32:25
店頭には並んでるの?
142:デフォルトの名無しさん
08/03/13 01:33:33
並んでないよ
143:デフォルトの名無しさん
08/03/13 01:36:27
オライリー直販だけか
まだseasonedやってるからいいけど
144:デフォルトの名無しさん
08/03/13 17:01:25
Karettaの立ち読み版って
書籍発売日の明日以降はどうなるんでしょう?
書籍と立ち読み版はガラっと違うらしいし
存続でしょうか?
145:デフォルトの名無しさん
08/03/13 18:11:15
Seasoned Schemerで未知の?キーワードletccなるものが出てきた
のですが、Dr SchemeというかRS5Sでは定義されていないキーワード
らしく、どう続けていけばよいか迷っています。これは処理系によって
は使えるキーワードなんでしょうか?Dr Schemeに慣れてしまったため
、これを使い進めて行きたいのですが、ライブラリ?などで対応方法
はありますでしょうか?
146:デフォルトの名無しさん
08/03/13 18:15:35
>>145
URLリンク(community.schemewiki.org)
147:デフォルトの名無しさん
08/03/13 18:21:11
>>145
call/cc
148:デフォルトの名無しさん
08/03/13 18:23:17
call/cc = call-with-curent-continuation
↓
letcc
149:デフォルトの名無しさん
08/03/13 18:25:38
× call-with-curent-continuation
○ call-with-current-continuation
150:デフォルトの名無しさん
08/03/13 18:28:22
(define call/cc call-with-current-continuation)
151:デフォルトの名無しさん
08/03/13 18:38:15
(define letcc call-with-current-continuation)
152:デフォルトの名無しさん
08/03/13 18:39:49
>>146
ありがとうございます。そこに記載されているものを取り入れたら
動きました。ただ何のことやら分かりません。
call-with-current-continuation というキーワードが寿命を管理?する
みたいですが。
>>147
>>148
>>149
>>150
DrSchemeでもcall/ccというのはcall-with-current-continuationとしてdefine
されていて使えるみたいです。
>>146さんに教えていただいたソースのcall-with-current-continuation
が重要なキーワードみたいです。
今はよ本読みだけで手一杯なのでletccを道具として使います。
153:デフォルトの名無しさん
08/03/13 18:40:30
もっとちゃんとしたければ
(define-syntax letcc
(syntax-rules ()
((letcc var . body)
(call-with-current-continuation
(lambda (var) . body)))))
(define-syntax try
(syntax-rules ()
((try var a . b)
(letcc success
(letcc var (success a)) . b))))
154:デフォルトの名無しさん
08/03/13 18:57:27
>>153
これらのキーワードは環境設定か何かを行うときに使うものですか?
Seasoned Schemerでは唐突にletccが出てきて、その定義も示すことなく
(call-with-current-continuation については若干登場してますが)
使用しているので、昔は当たり前のように使われていたんでしょうか?
define-syntaxという語のとおりシンタックス(キーワード)の定義に
使うためのものだとは察しますが。おいおい勉強してみます。
155:デフォルトの名無しさん
08/03/13 19:05:17
λ
URLリンク(flickr.com)
156:デフォルトの名無しさん
08/03/13 19:27:43
継続とマクロのないSchemeは癒し系
157:デフォルトの名無しさん
08/03/13 21:06:09
dssslのことか!
158:デフォルトの名無しさん
08/03/13 22:20:21
>>155
モテカワ愛されλ
159:デフォルトの名無しさん
08/03/13 22:20:52
>>144
特に閉鎖する予定はないですよ
160:デフォルトの名無しさん
08/03/13 22:52:54
>>159
よかったぁ!
じゃあ107が書いてる「ネット公開止めた」書籍って何ですか?
(もちろんヌクヌク本は購入済み、本日発送メールがきました)
161:デフォルトの名無しさん
08/03/13 23:28:17
>>160
去年の5月に再構成して、今出てる書籍(フムフム本)と同じ構成になった。
公開版(立ち読み版)→再構成版(非公開)
再構成版は公開版からforkしたもの。
162:デフォルトの名無しさん
08/03/14 01:39:37
URLリンク(blog.)
163:デフォルトの名無しさん
08/03/14 01:40:08
URLリンク(blog.livedoor.jp)
164:デフォルトの名無しさん
08/03/14 01:54:12
黒板バロスw
165:デフォルトの名無しさん
08/03/14 02:52:31
なるほど。継続という難しい概念があるんですね。
166:デフォルトの名無しさん
08/03/14 03:04:04
継続も要するにλだから構える必要はないと思うよ。
167:デフォルトの名無しさん
08/03/14 03:15:31
ググって色々読んだんですが、まだまだ悩む必要
ありそうです。概念が初めてなので慣れが必要ですね。
早くGauche本到着しないかな。
168:デフォルトの名無しさん
08/03/14 07:16:33
継続て唯のプログラムカウンタですか?
プログラムカウンタを変数に代入できるって何が嬉しいんだろ
169:デフォルトの名無しさん
08/03/14 08:13:17
いいえ違います。
関数fから呼ばれた関数hも
関数gから呼ばれた関数hも
同じプログラムカウンタを持ちますが
違う継続を持ちます。
170:デフォルトの名無しさん
08/03/14 08:28:41
アドレスだったらわかるがプログラムカウンタって表現はちょっと違和感。
171:デフォルトの名無しさん
08/03/14 08:30:37
プログラムカウンタだけじゃなくて関数コールスタックの中身も全部保存するようなもんだ
172:デフォルトの名無しさん
08/03/14 08:44:45
ゲームのセーブ・ロードが、未だにイメージの基本になってるな、俺の場合。
Schemeの継続はさしずめ、「戦士がスライムAを倒して、これから魔法使いがスライムBにメラを唱える」
という戦闘シーンのど真ん中ですらセーブできるRPGみたいなもんだ、とかそんな風に。
173:デフォルトの名無しさん
08/03/14 09:03:17
ただ値が保存されるのではなくて
束縛が保存されるだけだから
ロードした直後に開ける宝箱の中身は違うかもしれない
174:デフォルトの名無しさん
08/03/14 11:11:41
>>168
既存の概念に還元して、
新た強い概念を理解しようとする癖は直した方がいいよ。
そうしていると抽象的な思考がなかなか身に付かないから。
175:デフォルトの名無しさん
08/03/14 11:34:48
プログラムカウンタじゃなかったらなんなのよ
176:デフォルトの名無しさん
08/03/14 11:35:57
人生…かな?
177:デフォルトの名無しさん
08/03/14 11:59:38
いや、大いなるナニかだよ…
178:デフォルトの名無しさん
08/03/14 12:11:21
継続は継続だ
とりあえず「なんでも継続」を嫁
強いて言うならプログラムカウンタというよりはコンテキストというか...
179:デフォルトの名無しさん
08/03/14 12:17:07
>なんでも継続
setjmpに還元してるけど、いいの?
180:デフォルトの名無しさん
08/03/14 12:27:38
ちゃんと読んだ?
setjmpのようなものだが、どう違うかもちゃんと書いてあったように
思うけど。
181:デフォルトの名無しさん
08/03/14 12:38:18
Cで言うsetjmp/longjmpとか言い出す解説が一番困るよな。
182:デフォルトの名無しさん
08/03/14 14:15:08
固有値分解や特異値分解を行うプログラムを自分で組むのめんどくさいから
どこかに落ちてないか探したら
GSL for Lisp
とかいうのみつけた。使ってる人は結構いるのでしょうか?
183:デフォルトの名無しさん
08/03/14 14:31:15
>>182
Maxima
ところで cl で規模が大きめのベンチマークって何かある?
tak じゃない奴希望。
184:デフォルトの名無しさん
08/03/14 17:37:36
>>183
これとか? 使ったことないけど。
URLリンク(www.cs.cmu.edu)
185:デフォルトの名無しさん
08/03/14 17:54:39
Scheme好きはJazzが好きな奴が多いと思う。
186:デフォルトの名無しさん
08/03/14 18:25:53
微妙なミュージシャンを挙げると「そんなものはジャズじゃない」とかいって怒られそう。
187:デフォルトの名無しさん
08/03/14 19:22:59
プログラミングGauche今日発売だと思って本屋いったら
どこも近日入荷予定だったorz
188:デフォルトの名無しさん
08/03/14 19:30:41
何故ジャズ?
Schemerならプログレだろ?
189:デフォルトの名無しさん
08/03/14 20:19:07
アセンブラはバッハ(バロック)
レンガ積むみたいに端から積んでく感じがいいよね
190:デフォルトの名無しさん
08/03/14 20:26:33
SchemerはKeith Jarrett solo か Bill Evansだ。
191:デフォルトの名無しさん
08/03/14 21:04:05
Cとかで再帰関数書いたときに、ローカル変数確保するスタック領域が足りなくなって、
スタックオーバーフローとかで止まる場合があるじゃないですか。
Schemeの継続ってローカル変数の確保以上にリソースを喰いそうなんですが、
継続のための領域もあふれたりすること、あるんですか?
すごく阿呆な質問だったらすみません…
192:デフォルトの名無しさん
08/03/14 21:13:41
どんな言語でも記憶領域あふれさせるのは簡単だよ。
問題なのは継続が必要な時に十分に効率的かどうかって事。
けどそれ以前に継続についてよく学んでから考えてはどう?
知識のない状態で、いきなり効率ばかり考えるくせがあると、
単純具象バカになりやすいから。
193:デフォルトの名無しさん
08/03/14 21:39:07
Common Lispは豪華絢爛なイタリアオペラってとこか
194:デフォルトの名無しさん
08/03/14 21:43:28
>>191
不要な継続を後生大事にとっておけばそうなる可能性はある。
そうでない限りGCがなんとかしてくれるであろう。
195:191
08/03/14 22:12:54
>>192,193
ありがとうございます。
どちらかと抽象ばっかり考える癖があるので、ちょっと実装に興味を持っているのです。
でももっとちゃんと理解してからにします。
196:デフォルトの名無しさん
08/03/14 22:33:36
とりあえず
質問する前に
テンプレは読め。
197:デフォルトの名無しさん
08/03/14 22:43:04
何を読むんだw
書けば1行で済むのに
(do ((i 0 (+ i 1)) (xs '() (cons (call/cc values) xs))) ((> i 10000) xs))
198:デフォルトの名無しさん
08/03/14 22:53:51
つ >>4
199:デフォルトの名無しさん
08/03/14 23:39:04
マクロ定義の中身について質問があります。
(define-syntax letcc
(syntax-rules ()
((letcc var . body)
(call-with-current-continuation
(lambda (var) . body)))))
このマクロ定義の(letcc var . body)や(lambda (var) . body)に出てくる
ドット記号はどういう意味なのでしょうか?
後者は継続を関数として定義しているように見えますが、varに何か値を与えた
場合、結果はどのように評価されるのでしょうか?
200:デフォルトの名無しさん
08/03/14 23:43:05
マクロ定義以外に出てくるドットと同じ。
201:デフォルトの名無しさん
08/03/14 23:47:56
まずは>>3を読んでくれ。
(a b c) : (1 2 3) → ((a . 1) (b . 2) (c . 3))
(a b . c) : (1 2 3 4) → ((a . 1) (b . 2) (c 3 4))
評価しない
202:デフォルトの名無しさん
08/03/15 01:23:30
>>200
consセルのドットですね。
>>201
Revised5を見てみましたが基本的なルールがわかりませんでした。
(call-with-current-continuation
(lambda (var) . body))
これは継続の定義で、確かに文法どおり1引数を取る関数
(lambda (var) . body)が書かれてますが、この表記の
意味が理解できません。通常の関数の一つとして
(lambda (var) (* 2 var ))ならば、((lambda (var) (* 2 var )) 10)
のように実行できます。上のマクロだと(letcc hoge 3)などとやると
確かに3に評価されるのですが、(lambda (var) . body))のvarにhoge
が渡されて . body が3になるということですか?
やはり(lambda (var) . body)の表記の意味がわかりません。
203:デフォルトの名無しさん
08/03/15 01:29:13
>>202
> >>200
> consセルのドットですね。
それがわかっているのに何故>>199のマクロが理解できないか、
そっちの方が理解できないよ。
もしかして (lambda (a b . restargs) ...) も知らない?
204:デフォルトの名無しさん
08/03/15 01:54:00
>>184
thx
205:デフォルトの名無しさん
08/03/15 04:22:58
>>203
例えば>>3の URLリンク(www.sci.u-toyama.ac.jp) には
には
手続き
[[構文]] (lambda <仮引数> <ボディ>)
構文: <仮引数>は下記に示す通りの仮引数のリスト(16)でなければならず、
<ボディ>には一つ以上の式が連続しなければならない。
ってなってるから、
. body
の部分がどういう解釈なのかを聞いてるんだと思うんだが。
206:デフォルトの名無しさん
08/03/15 04:55:32
>>202
(lambda (var) . body)
↓↑
(lambda (x) (foo x) (bar x) (baz x))
=(lambda (x) . ((foo x) (bar x) (baz x)))
→body = ((foo x) (bar x) (baz x)))
;;;;;;;;;;;;;;;;;;;
(lambda (var) body)
↓↑
(lambda (x) (foo x) (bar x) (baz x))
ミスマッチエラー
207:デフォルトの名無しさん
08/03/15 05:40:01
カッコ書いてるとふわふわふわと夢が広がりすなぁ( ^ω^)
208:デフォルトの名無しさん
08/03/15 09:38:41
例のGauche本でさわり始めたんだけど、VimでEmacsのc-x -eみたいにエディタ内から部分的に式を評価することってできないのかな?
あと、(car '()) がエラーになるのは当然なんだけど、これでエラーが発生している行数って分からないものなの?
手続き型言語だとエラーの行数は極当然の情報だけど、これに一番戸惑っている。
209:デフォルトの名無しさん
08/03/15 10:18:10
パーズしたときに行の情報は失われる
どのみちマクロ展開でテキストとの対応が取れなくなるだろうし
210:デフォルトの名無しさん
08/03/15 11:15:56
レスありがとうございます。
>>203
>>205
>>206
>(lambda (a b . restargs) ...)
これは分かります。
この場合、2個以上の引数を渡すことが出来て、1番目はaに2番目はbに
残りはリストとしてrestagrsに渡されます。
> (lambda (var) . body)
> ↓↑
> (lambda (x) (foo x) (bar x) (baz x))
> =(lambda (x) . ((foo x) (bar x) (baz x)))
> →body = ((foo x) (bar x) (baz x)))
lambda (x)がS式ということならば理解できます。
戻りますが、
(define-syntax letcc
(syntax-rules ()
((letcc var . body)
(call/cc
(lambda (var) . body)))))
(letcc x 3) が(call/cc (lambda(x) (x 3)))に置き換わって継続x
(今の場合何もしない)が実行されて3という結果を生じるのは間違い
なさそうです。これが正しい理解ならば、xはvarに置き換えられますが、
3が(x 3)になるのが理解できません。bodyが3になるとして、
(lambda (x) . 3)だと意味がわかりませんよね。。
211:208
08/03/15 11:17:28
>>209
しかし、それなりの規模のコードを書いているときふとエラーが発生したら何を目印にしてデバッグすればいいの?
行番号がないLISPなりのデバッグ方法ってあるの?
212:デフォルトの名無しさん
08/03/15 11:18:24
(call/cc (lambda(x) 3))でも3になりますね。
(letcc x 3) ==> (call/cc (lambda(x) 3)) かもしれません。
213:デフォルトの名無しさん
08/03/15 11:40:38
gaucheは行番号持ってる。が、当てにならん……
214:デフォルトの名無しさん
08/03/15 11:57:16
>>210
(letcc var . body) → (letcc . (var . body))
(letcc x 3) → (letcc . (x . (3 . '())))
var = x
body = (3)
即ち(letcc x 3)は(call/cc (lambda (x) 3))に置換される。
(call/cc (lambda (x) 3))も(call/cc (lambda (x) (x 3)))も
同じ継続に同じ値を返しているから勘違いしたのでは?
215:デフォルトの名無しさん
08/03/15 12:01:45
さらに追加
(lambda (x) 3) → (lambda . ((x) . (3)))だから
マクロのパターンマッチ時には構文とか関係なく
リストの置換処理のみ行われる
216:デフォルトの名無しさん
08/03/15 12:03:01
テンプレートとの対比を考えれば
(lambda (x) . (3))と書いた方が適切だったか
217:デフォルトの名無しさん
08/03/15 12:26:40
>>214
> (letcc var . body) → (letcc . (var . body))
> (letcc x 3) → (letcc . (x . (3 . '())))
理解できました。(パズルのようでした。。)
基本的な文法とともにSeasonedを進めていきたいと思います。
ありがとうございました。
218:デフォルトの名無しさん
08/03/15 12:37:31
>>215
>>216
紙に書きながら確認したのですが、確かにbodyが(3)なので
(lambda (x) . (3))になります。
. ( は省略できるので(lambda (x) 3)と同義ですね。
(lambda (x) 3) は要素が lambda、 (x)、 3 のリストということですか。
考え方はC言語のマクロと同じで単にラベル置換するだけでよいと。
スッキリしました。ありがとうございました。
219:デフォルトの名無しさん
08/03/15 12:50:33
>>213
して、その方法は?
220:デフォルトの名無しさん
08/03/15 13:07:28
>>211
Lisperがバグなんて出すわけないじゃん
221:デフォルトの名無しさん
08/03/15 14:36:40
フムフム本にはそこら辺について書かれてないのかな。
222:デフォルトの名無しさん
08/03/15 14:54:29
やっぱり宣言的にプログラムを組む事と
関数単位でREPLでテストを繰り返す事に尽きるのかな?
223:デフォルトの名無しさん
08/03/15 14:57:20
短い関数しか書かない!
224:デフォルトの名無しさん
08/03/15 15:48:39
ヌクヌク本来たぁ!
初版第1刷が何部出るか分からなかったから
布教用は買わなかったけど。
225:デフォルトの名無しさん
08/03/15 15:53:06
プログラミングGauche届いた。cbookにしておいて良かった。
これがヌクヌク本ですか?
226:デフォルトの名無しさん
08/03/15 16:03:18
店頭に並んだかな?
227:デフォルトの名無しさん
08/03/15 16:17:59
URLリンク(bookweb.kinokuniya.co.jp)
紀伊国屋にはあるみたい。
228:デフォルトの名無しさん
08/03/15 17:04:40
フムフム本でもヌクヌク本でも良いけど、カワハギ本とだけは呼ばないでくださいませ。
229:デフォルトの名無しさん
08/03/15 17:06:06
むしろフムフム本ヌクヌク本と読んでる奴等の方がキモイ件
230:デフォルトの名無しさん
08/03/15 17:49:09
ブーブー本ならいいのかな?
231:デフォルトの名無しさん
08/03/15 19:25:18
中甲本
232:デフォルトの名無しさん
08/03/15 20:12:03
Lisp/Schemeの初心者勉強会って需要ある?
とりあえずIRCつかってやってみたいと思ってるんだけど
233:デフォルトの名無しさん
08/03/15 20:26:07
>>232
ここの人たちは経験豊富だから漏れのような初心者の質問は
申し訳なくて躊躇してしまう。結局答えてもらってるけどw。
他言語みたいに初心者スレがあれば相談しやすいんだが。
でも初心者スレに初心者しか集まってもしょうがないか。
分からなかったら聞くという形式がいいな。会社でも
勉強会とかやっても結局あまり意味は無いから。
234:デフォルトの名無しさん
08/03/15 20:33:38
>>232
IRCってやったことないけど
やってみたい
235:デフォルトの名無しさん
08/03/15 21:28:16
モレモレモ
236:232
08/03/15 21:34:09
いくらか需要があるので
irc.scenecritique.com
port 6667
チャンネル #Lisp_Scheme
クライアントはcottonあたりが誰でも使いやすいと思います
(LisperならEmacsでつないだ方がいいかもしれませんが)
なるべくつなぎっぱにしておきますが、サーバメンテナンス後とかは
誰もいない状況になるかもしれません
※IRCはつないだまま離席している人が結構いるので即返答はないことが多いです
237:デフォルトの名無しさん
08/03/15 21:42:47
Schemeでは手続きっていつコンパイルされるんですか?
lambda式はreadの後、evalの前にコンパイルできるけど
その評価された値である手続きはevalより前にはコンパイルできませんよね?
それとも、CLだと「手続きを返す手続きがコンパイルされると、その返される手続きもコンパイルされる」から
「コンパイルされたlambda式は、コンパイルされた手続きを返す」とかになるんでしょうか?
(そもそもCLの#'構文は手続きへと評価される式ではなく、手続きのリテラル表現?)
238:デフォルトの名無しさん
08/03/15 21:44:56
>>236
文字コードは?
239:デフォルトの名無しさん
08/03/15 21:52:20
>>237
仕様を満たす限りいつコンパイルしてもよい。コンパイルしなくてもよい。
240:デフォルトの名無しさん
08/03/15 22:06:15
>>239
すみません、そういう話ですらありませんでした。
勘違いしてました。
237は忘れてくださいorz
241:デフォルトの名無しさん
08/03/15 22:49:42
wide系の#scheme-jpが過疎ってるんだけど、
暇なやつはこっちもつないでみれ
どっちかというと雑談メインな気もするが
242:デフォルトの名無しさん
08/03/16 10:37:00
>>232
Webチャットが嫌でなければここ↓で聞くと良いかも。
URLリンク(www.lingr.com)
243:デフォルトの名無しさん
08/03/16 13:10:36
尼で"プログラミングGauche"の予約して、確か発送予定が今日ぐらいになってたけど…
今確認したら4/8-4/22とかになってた…。何コレ?初版割当分売切れ?(3/9予約した)
244:デフォルトの名無しさん
08/03/16 13:16:02
cbookに汁
245:デフォルトの名無しさん
08/03/16 13:36:50
>244
cbookには品切れって書いてある。すごい人気本だなw
とりあえず本屋いってくるよ。
246:デフォルトの名無しさん
08/03/16 13:38:11
>>243
おれには今尼から到着。注文は1日前の3/8。意外と明日あたりくるかもYO。
247:デフォルトの名無しさん
08/03/16 13:46:08
(< 入荷数 予約数) だったみたい。キャンセルしちまった。尼の順位が200位以内に入ってたんだけどw
248:デフォルトの名無しさん
08/03/16 14:03:28
>>247
ありゃま。店頭にダッシュで買いに行かないと一ヶ月待ちかも。
まあ、あせることもないと思うけど。
おれのは修正された版が到着。
初版第1刷ってなってるけどw
shiroさん、Kahuaチーム、出版社のみなさんご苦労様でした。
とても丁寧な仕事にびっくりです。とても初版第1刷とは思えないです。
出版物って中の人しだいなんだな。
次の版では是非是非コンビネータのネタも入れて欲しいな、このスレ的にはw
あとチャーチ・ロッサーの定理とかチューリング完全性も触れたらよかったかな。
書かないまでも参考文献の紹介とか書くと初学者が勉強しやすいと思う。
249:デフォルトの名無しさん
08/03/16 14:32:08
そういう話はPracticalでない本で書くべき
とっつきやすい本が欲しいのは同意
250:デフォルトの名無しさん
08/03/16 15:17:40
URLリンク(karetta.jp)
正誤表更新しました。
速報は以下で。
URLリンク(tudura.kahua.org)
>>248
コンビネータを入れるとしても実用的な視点が必要でしょうね。
うまい実例を思いついたら入るかも。
251:デフォルトの名無しさん
08/03/16 15:43:52
>>249-250
コンビネータって実用的な例を紹介するのがネックかもしれませんね。
あくまでもココ最近のこのスレのネタとして流行ってるだけかもしれないしw
Emacsの設定の話なんかも載ってて初学者に優しい構成なのに参考文献が載ってないのは要改善かな。
ある程度わかってくるとググルこともできるけど。現状、最初の言語にSchemeという人が少ないから無問題?
252:デフォルトの名無しさん
08/03/16 16:37:24
これからCommonLispかSchemeを始めようかと思ってるんですが、無謀ですか?
(プログラミング経験はほとんど無し)
253:デフォルトの名無しさん
08/03/16 16:39:44
>>249
同意
>チャーチ・ロッサーの定理とかチューリング完全性
とかは別に他の解説書を見れば良い。実用的なプログラムをSchemeで書く
というテーマの本の方がよっぽど希少だし、貴重。
254:デフォルトの名無しさん
08/03/16 16:40:49
無謀だが、是非やってみて感想を教えてほしい
255:デフォルトの名無しさん
08/03/16 16:41:02
そんじゃ、あたいと一緒に逝ってみようか?
256:デフォルトの名無しさん
08/03/16 16:48:04
>>252
そんなことないと思いますよ。
自分も単なる趣味としてLisp/Schemeでプログラミングを学び初めてみましたが、
そういう趣向でも楽しめています。
将来的に真っ当なプログラマになろうというのだと、ちょっと違うかもしれませんが…。
257:デフォルトの名無しさん
08/03/16 16:57:46
真っ当なプログラマを目指してSchemeから始めてもいいんジャマイカ?
順序はどうあれ手続き型、関数型、オブジェクト指向、並列型などをどのみち学ぶんだし。
やりたくても高価で手が出なかった時代じゃないし、やる気と興味次第でどれから始めてもおk。
258:デフォルトの名無しさん
08/03/16 17:05:39
勉強してても、茂木先生の言うフロー状態になかなかなれない。
259:243
08/03/16 17:12:23
電話確認して店頭に向かい、無事入手。
自分:「在庫確認よろしいですか?フムフムヌクヌクアプアア…」
店員:「…(プッ」
自分:「い、いや、あの、プログラミング ゴーッシュ、G. A. U. C. H. Eという本ですが」
自分:「あ、ISBN番号は...」
店員:(話を遮り)「オライリーの本ですね。ありますよ(はーと)」
有隣堂++
260:252
08/03/16 17:17:44
>>254-257
レスどもです。ちなみに30過ぎのおっさんで、趣味でやろうと思ってます。
Practical Schemeのグレアムの翻訳記事を見て面白そうだと感じました。
先ほど、Gauche本買ってきて読み始めた所ですが、「本書の"主な"対象読者が
Schemeをやった事が無いけど、他のプログラミング経験がある人」と
書いてあって、若干出鼻をくじかれた所です。
261:デフォルトの名無しさん
08/03/16 17:21:39
Gauche本早く読みたいけど、Schemerシリーズがまだ終わってない。
262:デフォルトの名無しさん
08/03/16 17:24:23
もうひとつの Scheme 入門
URLリンク(www.shido.info)
が入門者にはおすすめできると思う
263:デフォルトの名無しさん
08/03/16 17:25:06
うわあ、結構正誤あるなあ。もう少し待てばよかったかな。
264:デフォルトの名無しさん
08/03/16 17:40:46
本屋に予約してあったGauche本を取りに行ってきた。
丁寧に書いてあるみたいだね。
265:デフォルトの名無しさん
08/03/16 18:04:12
Windowsユーザーだからなぁ
266:デフォルトの名無しさん
08/03/16 18:05:44
Gauche本の「18章 構文の拡張」と「21章 デバッグ」、いままで欲しかった内容で感謝感激。
「18章 構文の拡張」はグレアムの「On Lisp」を考えて記述してあるので、読後On Lispへ進むこともできる。
267:デフォルトの名無しさん
08/03/16 18:16:05
>>266
早いなオイ
268:デフォルトの名無しさん
08/03/16 18:23:00
>>265
本見たら、制限あるけどwinでも動くってよ
269:デフォルトの名無しさん
08/03/16 18:25:33
>>260
(・∀・)人(・∀・)ナカーマ
俺もそんな感じで最近プログラミングに挑戦してみようと思って、まずは
SICPをのろのろ読んでるところです。
学生時代に lambda calculi やら computability theory やらを少しかじってた
ので、Lisp系がとっつきやすいかな、と思ってSchemeに挑戦中なのですが、
そのほかのプログラミング言語の知識がほぼ皆無なので、Gauche本はもう少し
鍛えてからにしようかと思っています。
270:デフォルトの名無しさん
08/03/16 18:27:53
>265
前スレにwin神がうpしたバイナリがある
271:デフォルトの名無しさん
08/03/16 18:29:08
>>268
えっ、解説環境はLinuxなの?シーキビだな。
この間うpしてくれたWindows用のGauche使おうと
思ってたのに。
272:デフォルトの名無しさん
08/03/16 18:29:30
>269
漏れもSICP絶賛手間取り中なので、Gauche本読みはだいぶ遅れそう orz
273:デフォルトの名無しさん
08/03/16 18:30:27
>>265
MzSchemeやらないか
いまFFIのことを調べたりしてるんだが、意外と簡単そうなので
自分で好きなように拡張できると思う
274:デフォルトの名無しさん
08/03/16 18:35:30
>>269>>272
並列して読んでもいいんじゃないか?
Gauche本の方は電車は風呂の中でも読める内容だろうし。
275:デフォルトの名無しさん
08/03/16 18:43:53
>>269
自分は逆にSICP読んでもチンプンカンプンで途中で挫折したので、
実践的なCauche本読んでからSICPに移ろうと思ってます。
LLかじってLispにたどり着いた感じ。
276:デフォルトの名無しさん
08/03/16 18:53:36
Gauche本ってScheme版のRails本みたいなのかと思ってたけど、
どっちかって言うとThe Ruby Wayに近い感じだった。
入門者は「第2部 Gaucheの基礎練習」をしっかり読めばSICPとかに進めます。
この本の売りはなんと言っても第3部の実用篇でしょう。
スクリプト言語としての特徴を詳説してます。
CGIあり、データーベースありで、Kahuaの基礎も学べます。
277:デフォルトの名無しさん
08/03/16 19:00:08
>>270
公式ページにもWinバイナリ一応あるがな。(´・ω・`)
URLリンク(practical-scheme.net)
前スレで上がってたのはslibとかwilikiとか同梱してある分だけ便利だけど。
↓に更にglintも同梱したのがおいてあるぞ。
URLリンク(saito.s4.xrea.com)
278:デフォルトの名無しさん
08/03/16 19:05:28
>>276
第3部はおもしろいな。15章でSXMLの説明があるのにはたまげた。
279:デフォルトの名無しさん
08/03/16 19:12:41
結局、活用範囲はWebかよ。。
280:デフォルトの名無しさん
08/03/16 19:16:00
なぜかMacのEmacsの写真w
281:デフォルトの名無しさん
08/03/16 19:18:07
WebアプリとただのWebサイト構築は違うけどね。
282:デフォルトの名無しさん
08/03/16 19:29:35
.emacsの設定をプログラミングGaucheのサポートサイトからコピペした。
でも日本語が文字化け。
gosh -V
Gauche scheme interpreter, version 0.8.13 [utf-8,pthreads]
(modify-coding-system-alist 'process "gosh" '(utf-8 . utf-8))
でダメだったので、以下も追加した。
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
それでも、run-schemeでは文字化けします。
どうすれば日本語表記出来ますか?
283:デフォルトの名無しさん
08/03/16 19:38:32
日本語でおk
284:デフォルトの名無しさん
08/03/16 19:42:46
LispBox みたいな SchemeBox あるいは GaucheBox が必要だな。
Emacs とかライブラリとか全部込み込みのヤツ。
285:デフォルトの名無しさん
08/03/16 19:58:00
全部込み込みのパソコンにはWindowsが入ってるんだけどね。
286:デフォルトの名無しさん
08/03/16 20:05:52
Meとか98とか95とかNTでなければ
coLinuxを使えばいいじゃない
287:デフォルトの名無しさん
08/03/16 20:20:07
おばかさん
288:デフォルトの名無しさん
08/03/16 21:01:28
282です。
解決策が見つからなければ、euc-jpのエンコードで再コンパイル→インストールしてGaucheを使います。
289:デフォルトの名無しさん
08/03/16 21:03:04
(person=? >>249 >>253)
=> #t
290:デフォルトの名無しさん
08/03/16 21:07:24
VMWareでFedora Core4でも大丈夫?
291:デフォルトの名無しさん
08/03/16 21:11:16
282・288です。
なんか分かってきました。
OSがVine Linuxだからのような気がしてきました。
他のディストリビューションならOKなのかな?
292:デフォルトの名無しさん
08/03/16 21:15:01
>>291
URLリンク(softsupport.seesaa.net)
Emacs21とかでUTF-8+日本語扱うのに苦労したって人のブログ。
参考になるかわからんが。
たぶん、ディストリビューションの問題じゃないと思われ。
293:デフォルトの名無しさん
08/03/16 21:15:05
>>291
emacsがutf-8のBOM付きと無しの両方をちゃんと扱えるか確認してみろ。
294:デフォルトの名無しさん
08/03/16 21:17:21
BOM付きが扱えないだけならemacsの機能拡張に必要なものだけ落としてくればいいね。
295:デフォルトの名無しさん
08/03/16 21:17:40
VirtualBox+Ubuntuでmake&test通って問題なくインストールできた。
しかし肝心の本が届かない。
296:デフォルトの名無しさん
08/03/16 21:24:00
Gauche本5章に「5.2 マルチバイト文字の利用」とあるけど、
rubyのRSpecみたくプログラムから切り離すのが主流になってるから、
ちょっと逆行してるなぁ。本の最初の方で紹介するのイクナイ。
297:デフォルトの名無しさん
08/03/16 21:35:28
俺も読み初めたばっかりだが、貴方のいう事がよくわからん。
RSpecってナニ?マルチバイト文字の利用をプログラムから切り離すって?
逆行とは? Ruby ではマルチバイトの利用がもっと便利ってこと?
298:デフォルトの名無しさん
08/03/16 21:42:30
>>297
わからんならわからんでええやん。逝ってよし。
299:デフォルトの名無しさん
08/03/16 21:44:34
「逝ってよし」なんてすごい久しぶりに見た
年代モノだよね
300:デフォルトの名無しさん
08/03/16 21:52:11
>>299
激同。最近はググレが流行中w
そのうちgoogleもなくなるんだろうか?
301:デフォルトの名無しさん
08/03/16 21:54:22
RSpecはBDDなテスト用フレームワーク。
故に>>296はイミフ。
Rubyが文字列の扱いがCSIなことを言いたいんだろうか?
302:デフォルトの名無しさん
08/03/16 21:57:34
>>301
どこが「故に」かオマエがイミフだw
303:デフォルトの名無しさん
08/03/16 22:09:33
rubyで日本語を切り離すのGetText使うかな?まあ、スレちかな。
304:デフォルトの名無しさん
08/03/16 22:30:52
RSpecとマルチバイト文字か…。本人と>>302には理解できる関係があるのかな。
とりあえず>>302に説明希望。
305:デフォルトの名無しさん
08/03/16 22:31:13
URLリンク(blog.livedoor.jp)
あたりを読んでみるとrubyも昔のperlみたくnkfでやってる。
でも特定の条件では上手く動かないらしい。
もしかするとこの辺でRSpecとか?
306:デフォルトの名無しさん
08/03/16 22:33:06
>>304
第三者のオレになんで説明希望するの?>>301だろw
307:デフォルトの名無しさん
08/03/16 22:35:03
もういいって。よそでやれよ。
308:デフォルトの名無しさん
08/03/16 22:42:09
↑
と、知ったかぶって引っ込みのつかなくなった>>297 = >>301が言っておりますw
309:デフォルトの名無しさん
08/03/16 22:55:01
2ちゃんねる的には、いいふいんきですね
310:デフォルトの名無しさん
08/03/16 23:05:34
dankogaiは1時間読んでSICPの副読本に最適と書いてるが。
311:デフォルトの名無しさん
08/03/16 23:27:45
_,,....,,_ _人人人人人人人人人人人人人人人_
-''":::::::::::::`''> ゆっくりしていってね!!! <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
|::::::;ノ´ ̄\:::::::::::\_,. -‐ァ __ _____ ______
|::::ノ ヽ、ヽr-r'"´ (.__ ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_ _,.ヘーァ'二ハ二ヽ、へ,_7 'r ´ ヽ、ン、
::::::rー''7コ-‐'"´ ; ', `ヽ/`7 ,'==─- -─==', i
r-'ァ'"´/ /! ハ ハ ! iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ ,' ,ゝ レリイi (ヒ_] ヒ_ン ).| .|、i .||
`! !/レi' (ヒ_] ヒ_ン レ'i ノ !Y!"" ,___, "" 「 !ノ i |
,' ノ !'" ,___, "' i .レ' L.',. ヽ _ン L」 ノ| .|
( ,ハ ヽ _ン 人! | ||ヽ、 ,イ| ||イ| /
,.ヘ,)、 )>,、 _____, ,.イ ハ レ ル` ー--─ ´ルレ レ´
312:デフォルトの名無しさん
08/03/16 23:57:49
とりあえずインストールはできた。VMware Fedora Core4
313:デフォルトの名無しさん
08/03/17 01:13:55
>>291
> 他のディストリビューションならOKなのかな?
fedora 8だけど問題ないよ.
"GNU Emacs 22.1.2 (i686-pc-linux-gnu, GTK+ Version 2.12.3)
gosh -V
Gauche scheme interpreter, version 0.8.13 [utf-8,pthreads]
gosh> (display "日本語表示テストです.")
日本語表示テストです.#<undef>
gosh> (string-ref "Scheme処理系" 8)
#\系
gosh> (list->string (reverse (string->list "アルゴリズム")))
"ムズリゴルア"
gosh>
314:デフォルトの名無しさん
08/03/17 02:36:32
すげえ関数考えたぞ!
(omaemona itteyoshi)
315:デフォルトの名無しさん
08/03/17 04:58:44
式ですやん
316:デフォルトの名無しさん
08/03/17 07:33:14
Emacs22はUTF-8に対応してるけど
Emacs21は対応してないってだけでしょ
Mule-UCSを入れないと
317:デフォルトの名無しさん
08/03/17 08:15:19
というか、22以下は全部Mule-UCS入れた方がいいと思う。
入れるとビックリするほど遅いが。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5388日前に更新/87 KB
担当:undef