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


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

((Common Lisp) (Scheme) :Part 15)



1 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:22:53 ]
過去スレ
Part14: pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: piza2.2ch.net/tech/kako/987/987169286.html

509 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 13:16:10 ]
>>501
少なくともまだ勉強してない人には関係ない話だ
万一Schemeが無駄なものであってもSchemeの勉強は無駄にはならないから安心して勉強汁w

510 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 14:37:19 ]
どれだけ立派な肩書きがあろうと自社の製品のためだけに他を中傷して自分の利益を
はかろうとする人間は技術者として失格だと思う。自分のオナニーのために他人を
レイプして楽しんでるように見えた。

511 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 14:57:46 ]
>>510
それコの業界の人ほとんどみんな当てはまっちゃうよ……(LinusタンからBillGまで)。

512 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 16:57:55 ]
>>510
レイプした時点で既にオナニーではないと思う

513 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 17:23:41 ]
レイプは、相手の気持ちを無視して自己完結しているという意味で、
オナニーと同類。

514 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 21:24:04 ]
つかshiroさん呼んでるくせに普通に失礼だよなw

515 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 21:38:43 ]
「朝まで生テレビ」方式だな。意図的に話が噛み合わないとを期待したメンバ。w

516 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 23:36:19 ]
>>514
呼んではないみたいよ
ハワイからの中継でやったみたい

517 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 06:22:54 ]
FreeBSDで動くお薦めのCommon Lisp処理系を教えてくだされ。



518 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 08:20:56 ]
sbcl

519 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 08:31:53 ]
ラムダ式の意味について質問です.
λxyz.MNO という式は,以下のコードと同じことを意味している
のでしょうか?

(lambda (x y z)
((M N) O))

520 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 09:00:28 ]
日本語でおk

521 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 14:02:07 ]
>>519
違う。

522 名前:519 mailto:sage [2006/12/05(火) 14:49:40 ]
では,λxyz.MNO というラムダ式を Scheme の表現に対応
させて表すことはできるでしょうか? できるとしたら,どんな
表現になるでしょうか?


523 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 14:52:43 ]
M、N、O、がそれぞれ何かによる

524 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 15:21:54 ]
λxyz を (lambda (x y z) ...) と書いちゃう時点でだめだめ。
細切れで質問されても面倒なだけだから宿題なら問題文を全部書け。

525 名前:519 mailto:sage [2006/12/05(火) 17:25:21 ]
>>523
M, N, O は,それぞれ任意のラムダ式,ではどうでしょう?

>>524
学生ではないので...

ラムダ計算がどんなものなのか知りたくなって本など読み始めたんです
が,入り口の記法のところですでにつまづいているので,Scheme に対
応させれば多少は理解しやすくならないかと思って質問しています.

526 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 18:50:32 ]
さあもりあがってまいりました

527 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 18:51:17 ]
カリー化云々言わなけりゃ合ってね?



528 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 19:01:18 ]
ラムダ計算=LISP ではないので、スレ違い。
ラムダ計算の話がしたいのなら、数学とかの板へ池。

529 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 19:07:48 ]
(lambda (x) (lambda (y) (lambda (z) ((M N) O)))) じゃね?

530 名前:519 mailto:sage [2006/12/05(火) 21:43:21 ]
>>527
> カリー化云々言わなけりゃ合ってね?

なるほど.カリー化を省略しなければ,

>>529
> (lambda (x) (lambda (y) (lambda (z) ((M N) O)))) じゃね?

になる,っていう理解でいいんですかね.

>>528
数学板だと,今度は Scheme がスレ違いっぽいので...

Scheme や Lisp をやってから理論的背景のラムダ計算に興味を
持つ人って多そうですし,ラムダ計算に詳しい人も多いんじゃ
ないかと思ってここで聞いてみました.


531 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 23:36:32 ]
λ式と対応させるなら haskell の方が楽だと思うけど

532 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 01:12:19 ]
λ計算を学ぼうとする Schemer への助言としては、lambda 式にたとえて
理解しようとするのはやめとけ。
たとえば、λxyz.z x y ≡ λxy.λz.z x y つまり cons というのは
(lambda (x y z) (z x y)) と置き換えてちゃわからんぞ。

533 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 01:41:46 ]
お前にはセンスが無いの一言で片づければOK


534 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 02:29:35 ]
533 がセンスありそうには見えない

535 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 03:48:42 ]
>>533の1行でセンスの有無をはかれるとは思えないが、
それをはかれるつもりでいる>>534の1行レスからは
負のセンスに対する悪寒みたいなもんを感じる。

536 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 11:16:07 ]
(λ計算の)λ式において関数抽象 λ は結合がゆるく,関数適用は結合がきつくて左結合
さらに λxy.M は λx.(λy.M) の略記
だから λxyz.MNO = λx.(λy.(λz.MNO)) = λx.(λy.(λz.((MN)O)))

λ計算ではCurry化は当たり前のように使われるけど,
SchemeにはCurry化がないから ; つまり (lambda (x y) ...) != (lambda (x) (lambda (y) ...))
λ計算の実例としては不適当
有名な "SKK = I" を試そうとS, Kを定義して ((S K K) 'x) とやっても途中で「引数が足りません」になっちゃうね
Curry化のあるOcamlかHaskellをお薦めする

ここにはλ計算を知ってる人が多いのは確かだと思うよ

537 名前:519 mailto:sage [2006/12/06(水) 22:45:28 ]
>>532
> λxyz.z x y ≡ λxy.λz.z x y
がラムダ式の規則でそうなる,というのはわかります.
また,
> λxy.λz.z x y つまり cons
も,SICP の Exercise 2.4 あたりにあるように,
(define (cons x y) (lambda (z) (z x y)))
の話だろうという見当はつきます.でも,
> λxyz.z x y ≡ λxy.λz.z x y つまり cons
となると何が言いたいのかよくわからないのですが...
また,
> (lambda (x y z) (z x y))
というのはどのラムダ式を置き換えてるんでしょうか?
λxyz.z x y を
(lambda (x) (lambda (y) (lambda (z) ((z x) y))))
と置き換えてもわからない? なにが???

>>536
解説ありがとうございます.
どうもカリー化が鍵の一つのようなので,
>>531
Haskell もぼちぼち勉強してみます.



538 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 23:59:54 ]
haskell だとYコンビネータが

y f = f (y f)

で終わりなのが気持ちいいな

539 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 23:15:57 ]
黒田がスクリプトをボロクソに言っているヤツってこれか
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang

Common Lisp 教の狂信者だなw

540 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 23:48:25 ]
孤高の絶対王者という己の脳内ポジションを
アジ文章で楽しく消費してみました、ってだけの文章だな・・・。
理解されたいのかされたくないのか、とても微妙な乙女心を感じる。

541 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 19:57:43 ]
>>539
これ結局のところ
現場で使って大丈夫なんですか?(ほかの連中ついてこれるの?の意)
と問われたときに困るだけなんだよね。

文句言う位なら普通に仕事でつかってアピールできるように浸透させないといけないんだけど
それをやるのは俺様の様な人間のすることではないって感じで反感しかわかなくなるんだよね。

<チラシの裏>
好きな言語ほどその言語の愛好者が怖い人やキモチワルイ人ばっかりな今日この頃だなぁ〜
</チラシの裏>


542 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 21:22:15 ]
できる人は協調するより自分で全部やったほうが速いのも事実

543 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 22:10:17 ]
Common Lispに標準規格が存在する利点は
それができる人間(できなきゃ学べ)前提の仕事場にできるってことだろ。
その条件に当て嵌らない奴ばっかの環境にわざわざ引き降ろして論じても
意味がない。

> 文句言う位なら普通に仕事でつかってアピールできるように浸透させないといけないんだけど
> それをやるのは俺様の様な人間のすることではない

当然だろ。後者の環境にいる決定権のない奴固有の事情なのだから、その解決を
既にそういう(前者の)環境にいる人間に要求するのは筋違い。

544 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 22:40:06 ]
規格書が読めるレベルがようやく一人前、だとは思う
だけどそのレベル以下の奴って山ほどいるんだよな…

545 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 23:09:17 ]
>>543
> Common Lispに標準規格が存在する利点は
> それができる人間(できなきゃ学べ)前提の仕事場にできるってことだろ。
あまり現実的でない利点だと思う。
標準規格が無かろうが「できなきゃ学べ」は仕事場の前提であり、
しかし標準規格があろうが、その前提がまっとうに機能する保証はあまりない。

「できない人を居丈高に自信満々に罵る際の、精神的後ろ盾」
という程度の利点だね、これは実質的には。

546 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 23:18:07 ]
しかしさあ、ANSI X3.226-1994 が実用的かというと、イマドキの用途に使うに
は国際化もソケットもスレッドも正規表現も XML もないわけで、結局実装次第
なわけだろ。

んで、実装次第ということであれば Scheme だってちゃんと選択肢に入るんじゃ
ないか? 言語仕様自体はちゃんと標準化されてるわけだし。

まあ Scheme で hygienic なマクロが書けないなんて言っちゃう人の Scheme
批判なんてまともに読むだけ無駄なのかもしれんが。

547 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 00:11:46 ]
>>546
正規表現はリーダーマクロがあるから不要、
XMLは所詮劣化S式だから無視、とか言うんじゃね?w
国際化はなんて言うのか聞きたいねぇ。



548 名前:デフォルトの名無しさん [2006/12/10(日) 00:31:49 ]
>>547
>とか言うんじゃね?w

知ってるんじゃん…

549 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 00:57:42 ]
なんかムキになってる?

>>545
仕事でつかう事を考えれば、なるべく厳密な仕様があったほうがいいだろう?
言語のコア部分が実装依存って結構キツいよ。で、仕様は最小限であるべき、と
できるだけリッチであるべきという思想の違いだろ。

>>546
名前の衝突とかいってるから r5rs にパッケージシステムがないっつー事をいってんじゃない?
複数人で並行で別々のモジュールを作るとさ、パッケージがないときついからな。あと、俺たち
Scheme 派も CL の末尾再帰の最適化が処理系依存だとか文句いってるからおたがいさまだろ。
不毛なフレームを避けるためにも、かるくスルーすればいいだろう。

あと、ソケットとか XML は普通言語仕様には入れないと思うよ。r6rs にも入らないだろう。
つうか、そんなの入ったらヤダ。r7rs くらいには並列計算が進歩してネットワークあたりまえ
とかなってるかもしれんけど、少なくとも今はねぇ。


550 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 01:39:47 ]
いやホント、なんでそんなムキになってるの

551 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 01:47:41 ]
べつにレベル低い話じゃなけりゃムキになってもいいと思うけど

552 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:11:02 ]
でも、見た目よりレベル低いと思うよ。単に頑固な人じゃないかな。

553 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:18:18 ]
どのへんがレベル低いか教えて

554 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:35:51 ]
人としてだと思う


555 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:38:25 ]
>>553
規格をユーザーとしてしか読んでない。たぶん CLOS の実装すらしたことない。

556 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:46:21 ]
なるほど、実装経験者でなければ
レベルが低い議論にしかならないということですね。

557 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 04:18:26 ]
>>556
馬鹿な誤読なのか馬鹿な皮肉なのが微妙だけど、
いずれにせよピント外れだなぁそれ。



558 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 09:37:25 ]
>>545
> その条件に当て嵌らない奴ばっかの環境にわざわざ引き降ろして論じても
> 意味がない。

自分の都合と合わないことは直後に書いてあっても読まないのかww

559 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 10:13:40 ]
その箇所が543の言い分をどう支えるのか、まったく意味不明だけど。
文末に草生やすくらい「じしんまんまん」みたいだから、よかったら説明してよ。

560 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 10:31:17 ]
cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme
で書かれていることはgensymで他と重ならない名前を作り出せるかってこと ?

で、ほとんどのScheme(少なくともGaucheでは)
(規格には入ってないオプショナルなものだけど)
できるってことでおk ?

でもScheme的には同様なことはdefine-syntaxつかえよって
いう認識でよろしいでしょうか ?

561 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 12:08:58 ]
本当に不毛な論争になったね。

Lisp & Schemeに栄光あれ。
pythonに負けるな…

562 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 13:37:42 ]
不毛はC++の役割。
Lisp系はカッコつけなきゃね。

563 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 13:52:02 ]
ズッ

564 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 14:46:31 ]
(/ 1 4)

565 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 15:29:13 ]
そういえば、タグ付き有理数みたいなのを実装した処理系ってあるのかな。
64bit 環境だと 29bit / 29bit くらいは楽勝で埋め込めそうだけど。

566 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 16:00:34 ]
>>561
rails の流行で ruby が来そう

567 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 16:25:56 ]
RoR は Ruby ならではってわけじゃないからなあ。LoL なんかもあるし。



568 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 22:47:30 ]
AllegroServe + AllegroCache は負けてないと思うけど、情報や人材が・・・

569 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 22:49:34 ]
>>568
良いんだけど、あの値段はさすがに躊躇するのだよな。
サーバ増えたときコストが重くのしかかる。

570 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:03:45 ]
common lispと心中する気がないと個人じゃ買えないとか。
企業でも使えないと判断したときのリスクが高いとか。


571 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:22:20 ]
Professional なら個人でも買えるだろ…一昔前の開発環境だと思えば。
Kahua ってどうなのかなー?どっかで運用実績ある?


572 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:25:28 ]
web で allegro は無いだろう。
負荷に応じてスケールアウトしてくには高杉。

573 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:40:24 ]
用途次第じゃないでしょうか。 まぁ、バックエンドの Oracle は定番でしょうねぇ。
つうか RDB 以外は評価の対象にすらならないけど。

574 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:58:56 ]
Kahua って最近どうなのかね?
このスレでも話題でないけど開発低調なの?

575 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 00:05:00 ]
kahuaはチャット(lingrのgauche部屋)ではたまに話題になってるっぽいよ。
MOPとかいう手法を使って負荷分散するのがどうのとか書いてたが
ほとんど理解できてないので進んでるのか進んでないのかよくわからんかった。
過去ログも見れるので興味あるなら見てみればいんでね?

576 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 00:09:59 ]
>lingrのgauche部屋
www.lingr.com/room/gauche

ここだな。

577 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 00:33:46 ]
>>567
Rubyならではってのは無いけど十分牽引力になってるみたい

Editors' Choice 2006 | Linux Journal
ttp://www.linuxjournal.com/article/9368

ここの言語部門でRubyがベストチョイスにされているあたり確実に流れが来ているのでは

まぁRubyはマクロが無いのが弱いと思うんだけどねぇ



578 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 12:55:12 ]
syntax-rulesって、
パターンごとに自分自身の名前を書かなきゃならないですけど、
あれって無くてもいいような気がするんですがどうなんでしょう。

たとえば、
(define-syntax begin
(syntax-rules ()
((begin exp ...)
((lambda () exp ...)))))
は、
(define-syntax begin
(syntax-rules ()
((exp ...)
((lambda () exp ...)))))

と書けても良い気がします。

579 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:05:06 ]
素人なんで良く知らんけど名前書かないと (foo . args) みたいなのが表現出来ないんじゃなかろうか。
あと名前じゃなくて適当なシンボルならなんでもいいような気がする。

580 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:05:56 ]
君が知りたいのは "_" か?

581 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:09:22 ]
それはだから適当なシンボルでしょ

582 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:12:47 ]
580は579を見る前に書いたので悪しからず

583 名前:578 mailto:sage [2006/12/13(水) 13:19:18 ]
>579
すいませんよくわからないんで、
もう少し詳しくお願いします。

>580
"_"ってなんですか?
r5rsのindexには無いみたいなんですが...



584 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:24:28 ]
(define-syntax begin
(syntax-rules ()
((_ exp ...)
((lambda () exp ...)))))

585 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:28:14 ]
>>583
こんなんとか

(define-syntax foo
  (syntax-rules ()
    ((_ x) x)
    ((_ . x) 'x)))

(foo '(1 2 3)) => (1 2 3)
(foo 1 2 3) => (1 2 3)

586 名前:578 mailto:sage [2006/12/13(水) 13:48:14 ]
>584
なるほど、そんな書き方もあるんですね。
ありがとうございます。

>585
それだったら、
lambda式がやっているような感じで、

(define-syntax foo
  (syntax-rules ()
    ((x) x)
    (x 'x)))

の様にすれば良い気がします。
ただ、(x 'x)はわかり難いので、
何か別の表記をいれた方が良い気もしますが。


つまるところ、syntaxをlambda式みたいに使えないのか
って事なんです...


587 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:50:41 ]
俺言語作るのならありかもしれんが、とりあえずSchemeはそう決まってるってことだろ



588 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 14:00:50 ]
>>586
syntax-rules がそうなっているのは名前がある方が再帰を書きやすいからかな

(define-syntax and
  (syntax-rules ()
    ((and) #t)
    ((and test) test)
    ((and test1 test2 ...)
     (if test1 (and test2 ...) #f))))

589 名前:578 mailto:sage [2006/12/13(水) 14:12:09 ]
>587
すいません質問のしかたが悪かったみたいです。

なぜschemeはsyntax-ruleの各々のパターンの先頭に
自身の名前を書くような設計を選択したのだろうか、
ということです。

たまたまそういう書式を選択したのか、
それとも>578みたいな事をすると、
何か問題が発生するのかどうかということを知りたいんです。

>588
それはありますね。
ただ、再帰関数を書くときは無くても何とかやっているので、
同じでもよくないか、とか考えているんですが...


590 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 14:15:58 ]
引数のパターンじゃなくて、評価しようとする式のパターンなんじゃね?

591 名前:578 mailto:sage [2006/12/13(水) 14:29:56 ]
>590
なるほど、説得力がありますね。

592 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 18:48:03 ]
Schemeでマクロと継続はすげーわかりにくいんだが、
R5RSではサラっと流しすぎじゃね?
もっと細かく説明した公式な文章ってある?

593 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 19:26:11 ]
R5RSは仕様であって解説とかチュートリアルではないからね。
公式になるのかどうかわからんか、細かいこと知りたければ論文だろう。
R5RSのマクロなら、ClingerとReesの"Macros That Work" (POPL91) とか。
継続は何がいいかな。すげー基本的な概念なんで、初出とか思いつかない。
チュートリアル的なものならFriedmanのPOPL88のノートなんてどうだ。
www.cs.indiana.edu/hyplan/dfried/appcont.pdf


594 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 22:16:13 ]
>>593
わかりにくいだけじゃなくて、
あれで挙動を規定できてるのか?

595 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 22:42:30 ]
>>594
規定できてなかったら
処理系の実装者が「ここが曖昧だあー」って騒ぐんじゃないか?

596 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 02:45:25 ]
>>595
「変数とは何か」くらい自明なものとみなされてる,とか

597 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 04:08:24 ]
小さい処理系のソースを見りゃ良いんじゃないか。




598 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 04:45:33 ]
>>594
まあ、comp.lang.schemeあたりを見てると変なケースについてこれは
どうなんだって議論が時々出るから、完璧じゃないな。
継続については7.2章もあるし、かなり良く理解されていると思う。
但し、dynamic-windのbefore/after thunkの継続が未定義になってる
のは欠点。(R6RS案では明確になってたはず)
マクロについても、特にマクロを生成するマクロについて曖昧な点が
あったような気がする。

>>596
「変数とは何か」は7.2章に書いてあるのでだめかな。

だがR5RSに突っ込むならもっとでかい穴がある。マクロで生成される
internal defineとか、トップレベルのセマンティクスとか。






599 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 04:28:38 ]
SBCL を最初に知ったのはこのスレだったのでご報告。
「お前のパッチ多過ぎ、自分でコミットしろ」と言われて developer になる
ことになりました。このスレがなければ SBCL と出会えなかったかもしれない。
感謝。

600 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 04:36:53 ]
!素敵

601 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 07:50:54 ]
>>598 おめでとー。SBCL にはお世話になってます。今後ともがんばってください。

602 名前:デフォルトの名無しさん [2006/12/15(金) 08:06:32 ]
599すげえ。
めでたいのでage

603 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 15:31:01 ]
すげー。sbcl とλ の未来のためにがんがってくれ!
おれもclで何か作ってみようかなぁ

604 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:05:34 ]
乙!

605 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 10:18:38 ]
リーダーマクロなるものがあるそうで使ってみたいと思っています。
どうすれば使えるんでしょうか。
scheme、CommonLisp問わず、
ごぞんじ処理系について教えてください。

606 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 13:10:12 ]
Common Lispならもれなく付いてくる。使い方はCLtL2でも読むよろし。

607 名前:デフォルトの名無しさん [2006/12/16(土) 20:29:18 ]
>>474 の黒田のScheme叩きにShiro氏がなんか書いてるね

Scheme:マクロ:CommonLispとの比較
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%9e%e3%82%af%e3%83%ad%3aCommonLisp%e3%81%a8%e3%81%ae%e6%af%94%e8%bc%83



608 名前:デフォルトの名無しさん [2006/12/16(土) 20:32:31 ]
こっちが誘導先かな

「Schemeについてどう思うか」についてどう思うか?
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e5%88%9d%e5%bf%83%e8%80%85%e3%81%ae%e8%b3%aa%e5%95%8f%e7%ae%b1

609 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:03:58 ]
マクロについてはCommon Lisp流のほうが好きだな。
Schemeのマクロはある意味美しいのだが、書き方で悩んで仕事がはかどらない。
(もちろん俺の能力の問題だけど)






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

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

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