CommonLisp Scheme Part10at TECH
CommonLisp Scheme Part10 - 暇つぶし2ch791:デフォルトの名無しさん
04/07/11 22:55
>>788-789
だからおちつけ。少しレス番ずれてるぞ。
PDF 今読めないそうだから、いいかげんな解説をしてみる。

>>782 の (←この部分には何を書くのよ?→) だけど、
そこにはマクロの冒頭に来ない予約語を書くんだよ。

例えばマクロで cond を実装するとして、必要な予約語は cond と else だろ。
マクロの冒頭に来る予約語が cond で、それは当然 define-syntax のあとに書く。

で、(←この部分→) に書くのが else だ。マクロの途中に現れる、特別な意味を持つ
シンボルをそこに書いて宣言するんだよ。

つうことは、単純なマクロならたいていそこは空欄になる。だから普通は()の中には
何も書かなくてよし。


>>790
そうか。俺も誤解してた。すまんかった。

792:デフォルトの名無しさん
04/07/11 23:10
>>791
なるほど。それで>769が読めそう……ですね
俺は少しのレス番のずれなど気にしないぜ!

それと、俺は>782,783,785,788,789だぜ。
実際厨学生だが。

793:デフォルトの名無しさん
04/07/12 00:23
(define-syntax map-in (syntax-rules (in)
            ((map-in arg in lst body)
             (map (lambda (arg) body) lst)))

これで
(map-in x in '(0 1 2 3 4)
 (+ x 10))
=> (10 11 12 13 14)
となる。PythonとかRubyのイテレータに似せてみた。
in が未束縛だが、手作りの「予約語」になってる。

む、この例だと意味薄いか?
r5rsマクロの「リテラル」はパタンマッチングの目印に使われるハズ。

あと、「学校で習った」だけの知識じゃマクロまで使えない学生も多いよ@灯台理情
好みでやりこんでるヤシが使うだけ。

794:デフォルトの名無しさん
04/07/12 15:09
>>793
うーん、Lispだとイテレータはいらないよねえ。リスト操作で済んじゃうから。

個人的な見解だけど、マクロの途中に出現する予約語って、普通に関数的にコードを
書くときには、あまり使い道がないと思う。cond の else だって #t と書いても
同じだし。

call/cc で新しい制御構造を作ったりするときに、真価を発揮するのだと思う。


あと、学校で習う人が全員マクロまでは行かないのは分かる。だけど自分で先に
進むとき、周囲の人に相談できるし、教官に質問もできるでしょう?図書館にいい
本もあるし。やっぱりネットと本だけを頼りに手探りで進むのとは違うよ。

声を大にして言いたいのは、Lisp を学びたいなら、絶対学生のうちにきっちりやった
ほうがいいということ。社会に出てからだと大変だもの。

私は学生の頃は Lisp をやろうなんて思わなかったんで、今、すごく後悔してる。
こういう基礎的な(応用に直接結びつかない)ものを学ぶ機会は、社会にはなかなか
ないんだもの。

795:デフォルトの名無しさん
04/07/12 20:47
> 私は学生の頃は Lisp をやろうなんて思わなかったんで、今、すごく後悔してる。
> こういう基礎的な(応用に直接結びつかない)ものを学ぶ機会は、社会にはなかなか
> ないんだもの。

社会に出てからだっていくらでも学べる。
こんなのはやる気がない奴の言訳。
それか本当に時間のない土方プログラマかどっちか。


796:デフォルトの名無しさん
04/07/12 20:57
後半だけ読むと「やる気がない奴の言い訳」のようにも読めるけど、
最初から読めば、>>794氏は「社会に出てから学んでいる、やる気
のある人」だと思うな。

797:デフォルトの名無しさん
04/07/12 21:06
私も同感です。ハックランするときは普通に2日は寝ないです。
噂によると本田技研の野郎の中にはまともに1週間寝ないで
設計する狂人がいるらしいけど。そういえばホンダはLispで
構築したシステム(たしか外注)持ってたよね。流石だよねぇ。

798:797
04/07/12 21:08
>>795

799:デフォルトの名無しさん
04/07/12 21:13
某教授曰く

「あそこ(本田技研)に行けば確実に殺される」

らしい(実話)。

800:デフォルトの名無しさん
04/07/12 21:33
800get

801:794
04/07/12 22:04
なんか、煽られてるなあ。
別に愚痴を言いたかったんじゃなくて

「大学というのは Lisp を学ぶには恵まれた環境だから、学生の皆さん、どうか有効に
 活用してください」

と言いたかっただけなんだよ。これは Lisp だけじゃなくて、数学とか、経済学とか、
基礎的な学問なら全部に言えることだけど。

私は物理専攻で、その頃は Lisp にほとんど興味がなかった。うちの大学には Lisp の
有名な先生がいたんだけど。社会に出てから興味を持って「ああ、もったいなかったな」
と思ったんだよ。せっかくλ山のふもとにいたのに。
URLリンク(wwwfun.kurims.kyoto-u.ac.jp)

まあ、やる気がないとか、土方とかは、たぶん当たってます、ハイ。

802:デフォルトの名無しさん
04/07/12 22:23
やる気があろうが無かろうが、結局はその人のセンス次第

803:デフォルトの名無しさん
04/07/12 23:42
>>802
それを最大限にフォローしてくれるのが Lisp.

804:デフォルトの名無しさん
04/07/13 00:02
>>801
Mt.Lambda ワロタ

今度から京大をλ山と呼ばせていただきます.

805:デフォルトの名無しさん
04/07/13 00:23
λ山にはリスパが居ってさ。
nilってさ

806:デフォルトの名無しさん
04/07/13 00:33
>>805
うまい。続きを考えようとしたけど思いつかない…


807:デフォルトの名無しさん
04/07/13 00:56
Yってさ再帰ってさ

808:デフォルトの名無しさん
04/07/13 05:35
いまlambda山に棲息しているlisperって誰? 長谷川先生?

809:デフォルトの名無しさん
04/07/13 14:24
湯浅先生ご本人がちゃんといるよね。
URLリンク(www.yuasa.kuis.kyoto-u.ac.jp)

あとは誰かしら。現役の方の報告を希望。
ついでにλ山の歌の続きも希望。

810:デフォルトの名無しさん
04/07/13 18:50
gaucheに巣食う厨をどうにかしてくれ

811:デフォルトの名無しさん
04/07/13 19:28
ショボーン

812:デフォルトの名無しさん
04/07/13 19:34
C は男らしい言語だと思うが、
Lisp は女らしい言語だと思う。

この2つを組み合わせて使うと
まるで自分が天下無敵になったような
気分を味わえるな。


813:デフォルトの名無しさん
04/07/13 19:43
gaucheに巣食う厨ってのはどこにいるんだ?

814:デフォルトの名無しさん
04/07/13 19:48
>>813
作者

815:デフォルトの名無しさん
04/07/13 19:51
なるほど

816:デフォルトの名無しさん
04/07/13 20:08
shel(ry

817:デフォルトの名無しさん
04/07/13 20:13
>>810 >>813-816
がんばってる奴を何もしない奴が叩いてんじゃねーよ。ヴォケが。

818:デフォルトの名無しさん
04/07/13 20:27
シロウ、無理しないでね

819:デフォルトの名無しさん
04/07/13 20:33
な・・・ん・・・で・・・・・あ・・・・・れ・・・て・・・る・・・・・の・・・・・・orz

                     /  ○/  ○             
_   _ __  \_   |_ ○\   |    /\         
|○| /○| ○ | ○_| ○_|  _| _|  _|   _| ̄|○   
 ̄    ̄    ̄                                 

820:デフォルトの名無しさん
04/07/13 22:39
>>819
それはあなたを表しています。時節柄ご自愛ください。

821:デフォルトの名無しさん
04/07/14 02:31
URLリンク(www.paulgraham.com)

Orbitz って CMUCL も使ってるの?

822:OTZ@Vim%Chalice ◆r6EONKKhcc
04/07/14 06:27
"On Lisp" 21章目を訳し終えました.
verbatim回りのミスを訂正しました.
ご指摘をいただいた方にお礼を申し上げます.
また何かあったらぜひご指摘をよろしくおねがいします > ALL

最近,さすがに内容が難しくて,適当な訳をすることが多いです.
注意して読んで下さい.

ペースもひどく遅いですが,訳了まで気長にお待ち下さい.

823:デフォルトの名無しさん
04/07/14 11:02
>>822
乙カレー!
URLリンク(user.ecc.u-tokyo.ac.jp)

つうかアナタ、名前が以前と違ってるぞ。>>747は一発ギャグだと思っていたのに。
正式に改名するんですか?(笑)

824:デフォルトの名無しさん
04/07/14 11:17
>>822
tnx!
それにしても東大は大変だよねえ。受験が終わってからのほうがもっとキツい
競争なんだから。

まあ、気を楽にして行こうよ。いざとなったらλ山があなたを待ってるぞ。
実際、そういう人はかなり多かったぞ。

そのあとで待っているのは、「京都の一乗寺あたりに住む職業不定の怪しい人物」
という輝かしき人生だが……(泣)。
URLリンク(nicosia.is.s.u-tokyo.ac.jp)

825:デフォルトの名無しさん
04/07/15 14:58
Lispばっかりやってると本当にそうなったりして… :-P
鵺の中の人なんてリアルにそんな感じだし(失礼)。

826:デフォルトの名無しさん
04/07/15 17:40
マイクロ・カーネルをSchemeで実装したら凄そうだよね。
またKL1みたいなプロジェクトが発足したらいいのになぁ。

>>822
がんがれ!!

827:デフォルトの名無しさん
04/07/15 23:47
shiroさんが遂に業を煮やして動きだした
ワショーイ

828:デフォルトの名無しさん
04/07/15 23:58
もうその話はいいよ。ウォチなら他のスレ or 板でやってくれ。

829:デフォルトの名無しさん
04/07/16 00:42
win native でちゃんと動く Gauche が出てきたという意味で言ったのであって他意は無いですよ。いやホント

830:デフォルトの名無しさん
04/07/16 01:33
私は Petite Chez Scheme (Win)を愛しているのだが、
Gauche が出たら…乗り換えちゃうかなあ?
少なくとも試しはするだろうなあ。

831:デフォルトの名無しさん
04/07/16 17:48
>>822
すばらしい!

お返しというわけではないですが
SICP原書
URLリンク(mitpress.mit.edu)


832:デフォルトの名無しさん
04/07/16 18:31
>>831
もしや831が翻訳予定で?

833:デフォルトの名無しさん
04/07/16 19:32
>>832
そりゃすばらしすぎる!
正直、今の邦訳は、私には英文のほうがまだ読みやすい。
特に苦もなく読める人もいるそうだけど、それはたいへんうらやましい。

834:デフォルトの名無しさん
04/07/16 19:38
ところで、>>812
> C は男らしい言語だと思うが、
> Lisp は女らしい言語だと思う。
というコメントがあったけど、皆さんにとって Lisp ってどんな言語?

ここに、いろんな著名人の Lisp についてのコメントがあるんだけど、
URLリンク(www.paulgraham.com)

この中では、Alan Kay の
「 Lisp は言語じゃない。(それを)構築する材料だ」という言葉がいちばん
私にはしっくりする。

835:デフォルトの名無しさん
04/07/16 20:56
邦訳といえば、サイエンス社の「島内剛一」が有名。なにしろヤシのせいで
クヌース教授の名著が迷著になってしまったんだからね。それだけに止まらず
ヤシはクヌース教授の「日本語版への序」よりも前に「監訳のことば」として
頁を飾ってるんだから。とんでもない妄想基地外野郎だ。もっとも最近は
改訳されたのが出版されてるけどね。そういえば(クヌース教授の)他著にも
「排中律」を「三段論法」と誤訳されていた(ヒルベルトの名言を)。
かわいそうなクヌース教授…

836:デフォルトの名無しさん
04/07/17 01:54
通報しますた

837:デフォルトの名無しさん
04/07/17 03:37
「島内剛一」で検索して、こんなページを見つけた。
URLリンク(www.math.tohoku.ac.jp)
> Subject: Re: 本物のハッカーって、日本に居たのでしょうか?
> 「いま、いるか?」ではなくて、「かつて、いたか?」ですね。、
> 島内剛一、和田英一竹内郁雄、… (敬称略)

日本を代表するハッカーだったんですね。全然知りませんですた。

こんなのも見つけた。
URLリンク(godel.m78.com)
アセンブラの天才だったみたいですね。すでにご存命ではないのか。

しかし、島内氏の経歴をまとめたページが見つからない。なんだか、一生好きなことを
やり散らかした人らしいので、まとまった業績がないのかもしれない。FSS を設立しな
かった RMS みたいな存在なんだろうか。


まあ、それはそれとして。
島○先生といい、和○先生といい、ハッカーに翻訳をさせてはいけないのかもしれない。

838:デフォルトの名無しさん
04/07/17 03:41
訂正。× FSS ○ FSF

竹○先生の翻訳ってどうなの?いくつか出ているけど、読んだことない。

839:デフォルトの名無しさん
04/07/17 07:45
> (`∀´)「アセンブラを使わないのが悪いのよ!」

ド変態がいるね

840:デフォルトの名無しさん
04/07/17 09:55
まあ私は英語が読めるからいいけどさ(かなり努力したますた)。
英語が読めてemacsでM-x infoすると感動すると思います。若い人は
本気になればある程度はすぐに読めるようになると思います。この夏に
挑戦してみては?一気に中学生からの再復習がお勧めですよ。

841:デフォルトの名無しさん
04/07/17 12:38
SICPって、自由に翻訳、発表していいの?

842:デフォルトの名無しさん
04/07/17 13:58
日本語版の出版社が翻訳権を持ってるんじゃない?

843:デフォルトの名無しさん
04/07/17 15:10
SICPって、何て読むの?


844:デフォルトの名無しさん
04/07/17 15:52
えすあいしーぴー

845:デフォルトの名無しさん
04/07/17 16:29
いつも「シックピー?」って読んでしまう...
病気かしらん。

846:デフォルトの名無しさん
04/07/17 18:36
t

847:デフォルトの名無しさん
04/07/17 18:40
>>842
それ、最悪。邪魔すぎ。
出版社に掛け合ってshiroさんに翻訳しなおしてもらおう。

848:デフォルトの名無しさん
04/07/17 18:59
>>842
海賊出版でなければ、翻訳権持っているはずですな。

849:デフォルトの名無しさん
04/07/17 19:29
翻訳といえばこれもか
URLリンク(www.htdp.org)

WiLiKiで見つけた
URLリンク(www.shiro.dreamhost.com)

850:デフォルトの名無しさん
04/07/17 22:56
>>847
Shiroさんにはよいコードを量産してもらったほうが有意義かと.

851:デフォルトの名無しさん
04/07/18 01:51
Roger CormanからCorman Common Lisp買ってくれヨ!のメール来た香具師他にも居る?
漏れは当然シカトを決め込むわけですが、Corman Lispのウリって何なのよ?評価期間に
ちらっと使った限りじゃカネ払ってまで使いたいとは思わなかったんで。
Cormanくらいの値段でACLが手に入るんならLinux/Windows/MacOSXと持っているホストの
種類だけライセンス買っちゃうんだけどね。

852:デフォルトの名無しさん
04/07/18 02:29
Cormanって名前恥ずかスィ…

853:デフォルトの名無しさん
04/07/18 03:18
このスレもラスト 150 レスを切ったので、次スレの準備。
テンプレの過去スレ集にこれも入れて下さい。

CommonLisp初心者スレ
スレリンク(tech板)

; CMUCL/Darwin のソースが CVS にマージされ始めましたね。

854:デフォルトの名無しさん
04/07/18 06:55
>>851
ACL はランタイムライセンスが馬鹿高いので、安く exe や dll 作るなら
Corman でもいいんじゃない?WinAPI ガシガシとかインラインアセンブラとか
は便利だった気がする。

855:デフォルトの名無しさん
04/07/18 10:59
☆ チン     マチクタビレター
  ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ ___\(\・∀・)< M$製のVisualLISP.net、マダ~?
      \_/⊂ ⊂_)_ \___________
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
   |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|

856:デフォルトの名無しさん
04/07/18 11:52
F#で我慢

857:デフォルトの名無しさん
04/07/18 17:50
翻訳権て独占されるものなのか?
SICPの翻訳権はサスマンかMITに掛け合えばもらえるんじゃないのか?
日本のピアソンとか和田先生は関係ないかと。

858:デフォルトの名無しさん
04/07/18 18:03
契約内容によるだろ

859:デフォルトの名無しさん
04/07/18 18:52
つか、翻訳したならWebに載せるんじゃなくて本にして欲しい。

860:デフォルトの名無しさん
04/07/18 19:54
翻訳権は独占されるものです。

861:デフォルトの名無しさん
04/07/18 21:14
逆に Hackers and Painters はどういう扱いになるのかな。
出版社が翻訳版を出したかったら・・・?

862:デフォルトの名無しさん
04/07/19 03:07
>>849
面白そうな物サンクス。
cond の分岐を [] で表すの初めて見たけど、良くやるの?

863:デフォルトの名無しさん
04/07/19 20:29
>>855
.NETフレームワークの対応予定言語にschemeが入っていたハズだぞ
期待しないで待て!

864:デフォルトの名無しさん
04/07/19 21:26
あれはMS社が開発環境を提供するという意味ではなく,
「サードパーティがこれこれの言語について開発環境を準備してるっぽいです」
「みんなの人気者.NET!」
という宣伝なのでは...

865:デフォルトの名無しさん
04/07/19 23:00
>>864
きっとサードパーティーでもうっかり人気がでればその会社ごとMSが買うだろうから。




ありえねぇな

866:デフォルトの名無しさん
04/07/19 23:59
kludges ワラタ。

ポール・グラハムといい、Common な方の Lisp は愛憎半ばする言語なのかな。
昔の Lisp を知らないので、何処がそうなのか分からないけど。elisp とかやれば
分かりますか?

867:デフォルトの名無しさん
04/07/20 01:38
>>962
[ ] は cond に限らず、対応するカッコを強調したいときに使う。
例: ([lambda (x) (* x x)] 3)
『Little Schemer』でも、同じ表記を使っている。

ちなみに、Chez Scheme はこの表記をサポートしている。
括弧の対応が分かりやすくなるので、個人的にはとても気に入っているが、
見苦しいと思う人もいるかもしれない。
Gauche はたしか、もっと多くの種類のカッコをサポートしていたとおもう。

なお、同じ[ ]で「超括弧」と呼ばれるものを表す処理系もあるそうだ。
----------------------------------------------------------
URLリンク(plaza10.mbn.or.jp)

・超括弧

 通常の括弧 ( ) に対して、超括弧 [ ] の使用が可能です。[ ] は、右括弧 ) 数が
ミスマッチ(少ない方に)の場合でも、強制的にマッチングをとります。

例:(A (B C (D] → (A (B C (D)))

 (A (B [C (D] )) → (A (B (C (D))))

868:デフォルトの名無しさん
04/07/20 13:51
中村正三郎のホットコーナーにこの前あったFranzのCommon Lispセミナーに関する
感想が書いてあります。
URLリンク(www.asahi-net.or.jp)

Shiroさんの正規表現ライブラリについて。
>ほとんどPerl互換の正規表現ライブラリを、フロントエンド+ダミーバックエンドで
>テストスイートを通すまでに2週間、フロントエンド最適化に2週間、仮想マ
>シンバックエンド実装と最適化に2週間だもん。仕事、早い!
ほんと、速いね。他の仕事とかけもちでやってこれかな。

869:デフォルトの名無しさん
04/07/20 16:05
>その他、湯淺先生は、「Perlは遅いね。コードを読んだことがあるけど、ど
>うしたらあんな遅いコードが書けるか不思議くらい」などとおっしゃって、さ
>すが世界的ハッカーの湯淺先生からいわれたら、返す言葉はないよなあと、こ
>ちらはうなずくばかり。

CGIのようなIOの多い用途でもCommonLispは有効ですか?

870:デフォルトの名無しさん
04/07/20 18:07
Gaucheは現状"[]"と"{}"が、"()"と同様に扱われる。
けど、マニュアルにその旨記述がないはずだから、これはunofficialだね。

871:デフォルトの名無しさん
04/07/21 01:05
>>867,870
thanx!
Smalltalk 風と言うべきか Arc 風と言うべきか。でも、[] で括るなら lambda は省きたい
気になってきますね。{} はちょっと読み辛い感じがしますね。

872:デフォルトの名無しさん
04/07/21 01:34
>>866
私も昔を知らないけど、中村正三郎『電脳騒乱節』には、古いタイプのLispがいくつか
紹介されていて、それを見たときの感想は、「今の Common Lisp の方がずっといいや」
というものだった。

Guy Steele は多分、Common Lisp より先に作った Scheme を気に入っているのじゃ
ないかな。


>>869
使えるはずだよ。ポール・グレアムは Common Lispで書いたWeb アプリケーションで
財を成したから。

普通のやつらの上を行け
URLリンク(www.shiro.dreamhost.com)

873:デフォルトの名無しさん
04/07/21 01:41
萩谷先生も Common Lisp には愛憎半ばしているようだ。
古いLispにあった夢ってなんだろう?
URLリンク(nicosia.is.s.u-tokyo.ac.jp)
URLリンク(nicosia.is.s.u-tokyo.ac.jp)

Scheme は好きらしい。
URLリンク(nicosia.is.s.u-tokyo.ac.jp)

874:デフォルトの名無しさん
04/07/22 03:58
俺樣のための俺樣Lispスペシャルを走らせるための
軽量インタープリターを俺樣が書く。
ちょちょいと書く。

Common Lisp にはない世界


875:デフォルトの名無しさん
04/07/22 07:26
古き良き時代の香りが残ってるとかじゃない。NIL とか。
話し言葉にもなった -p 記法とか。あと性能の追求とか。
俺様のための俺様スペシャルを走らせるためのコンパイラを俺様が書く。
ちょちょいと書く。Scheme には無い世界。

876:デフォルトの名無しさん
04/07/22 08:22
URLリンク(en.wikipedia.org)  の抄訳

Robert Tappan Morris, Jr. はコンピュータプログラマで,現在はMITに勤めています.
彼は1988年にコンピュータウイルスMorris Wormを放流したことで悪名高いですが,
これはインターネットで猛威をふるった最初のウイルスでした.

Wormについて: モリスは「実験的に作ったものがエラーのせいで流出したんだ」と主張しました.
彼は初めて「コンピュータ濫用法」によって起訴された人物になり,
1990年に,3年の懲役と400時間の公共奉仕と罰金120万円を言い渡されました.

Viawebについて: モリスはPaul Grahamと共に
オンラインストアを作るツールのためのベンチャー企業 Viaweb を立ち上げました.
Viawebのツールが革新的だった点は2つ: 初の「webアプリケーション」であり,
またほとんどがLispで書かれていました.
モリスはCで書かれた注文システム(DBなどのバックエンドか?)に携わりました.

MITについて: モリスは現在MITのassistant professorをしており,
並列・分散OSのグループで研究をしています.

URLリンク(www.pdos.lcs.mit.edu)  こいつ

877:876
04/07/22 08:23
:s/3年の懲役/3年の執行猶予/

878:デフォルトの名無しさん
04/07/22 15:27
LISPってさ、メルヘンだよね
メンヘルじゃなくて

括弧がレインボーアイランドつーかさ、
コード書いてると楽しくなってくるよ
コードがデータで
データがコード?
あひゃ、こりゃ麻薬だね

879:デフォルトの名無しさん
04/07/22 15:34
Schemeほど洗練された高級言語はみたことないぜ
quoteの発明がなかったらここまで信仰しなかったが

880:デフォルトの名無しさん
04/07/22 20:56
MITの魔術師本の、Instructors Manualって方を持ってる人いる?
Exerciseの答えとかも載ってるのかな。

881:デフォルトの名無しさん
04/07/22 21:16
>>874-875
なるほど、古き良き時代とは、なんでも手作りできた自由な時代のことですか。
萩谷先生も、自分はCプログラマであり、本物の言語はCのみだと言っていたけど、
そういう時代への懐古を込めていると考えれば納得がいくなあ。
URLリンク(nicosia.is.s.u-tokyo.ac.jp)

湯浅先生の『入門 Scheme』によると、湯浅先生の周りでは
? を「ピー」と発音しているそうな。
例)zero? --> ゼロピー


882:デフォルトの名無しさん
04/07/22 21:17
>>879
どの Lisp にも quote はあると思うが、なぜ Scheme だけを名指しするのだ?
Scheme の他の Lispと比べて良いところは、何といっても名前空間と継続だと
思うが。

883:881
04/07/22 22:06
訂正 湯浅先生の本は
× 『入門 Scheme』
〇 『Scheme 入門』

884:デフォルトの名無しさん
04/07/23 05:25
継続ベースのウェブアプリケーションサーバって流行ってるの?
Kahua や UnCommon Web は既出だけど、他にもいっぱい。

Seaside (Smalltalk)
URLリンク(www.beta4.com)

UnCommon Web (CL)
URLリンク(www.common-lisp.net)

Kahua (Scheme)
URLリンク(www.kahua.org)<)

Chris Double の Weblog のまとめ。
URLリンク(radio.weblogs.com)

Perl, Python, Ruby にもありそう。

885:デフォルトの名無しさん
04/07/23 13:59
>>884
URLリンク(d.hatena.ne.jp)

886:デフォルトの名無しさん
04/07/26 18:50
(car member)などでリストの要素を呼び出した時に
自分がリストの何番目にいるのかを簡単に知る方法はないでしょうか?

887:デフォルトの名無しさん
04/07/26 21:00
(define (foo hoge member) (- (length member) (length (memq hoge member))))

888:デフォルトの名無しさん
04/07/26 21:04
>887
thx!

889:デフォルトの名無しさん
04/07/26 21:58
片側リストだからしょうがないけどmember/assoc系って効率悪いよね。
それでもscheme使ってるうちに>>887の様なコード見てもだいぶ平気になったよ。
連想配列は標準で入れて欲しいなあ。


890:デフォルトの名無しさん
04/07/26 22:28
> 片側リストだからしょうがないけどmember/assoc系って効率悪いよね。
「片側リスト」じゃなかったらどう効率良くなるんですか?


891:デフォルトの名無しさん
04/07/27 00:06
しばらくやってりゃ、要素数が少ないときの実行・開発効率は
member/assoc系で十分採算が取れていると気付く罠。

892:デフォルトの名無しさん
04/07/27 05:24
ベンチとったことあるが、要素数がせいぜい10個くらいなら
assocの方が速かったな。漏れのハッシュの実装がタコだった
だけかもしれんが。


893:デフォルトの名無しさん
04/07/27 23:05
(激しく既出かもしれませんが。。)
なぜ Common Lisp は関数と変数とは名前空間が違うのでしょうか?
Scheme の様に同じだとシンプルだとおもうんですけど、
実用上の利点があるのですか?

894:デフォルトの名無しさん
04/07/27 23:27
宗派が違うから

895:デフォルトの名無しさん
04/07/28 01:05
いまさら引き返せないから

896:デフォルトの名無しさん
04/07/28 03:02
昔の Bit に『名前空間が同じだと、定義した関数を一瞬で失う危険性がある、同じにすると simple になるのだが…』とかなんとかそういう文が載っていた記憶が…

897:デフォルトの名無しさん
04/07/28 04:08
一瞬で失うだと!!!??
意味分らん

898:デフォルトの名無しさん
04/07/28 06:07
コンソールからぽちぽちと直に定義した関数を間違って消しちゃう危険性か?
だとしたらやっぱり尻尾のような仕様だな。
この点に関してはCommonLispはサル。

899:デフォルトの名無しさん
04/07/28 07:40
Common Lispは、関数、変数、クラス、パッケージ、型、リスタート、メソッド
などを別の名前空間(symbolからobjectへの関連を集めたもの)を使って管理して
いるけど、Schemerから見ると、これらを全て1つの名前空間で管理するのがいいと思う?

900:デフォルトの名無しさん
04/07/28 08:09
全部一緒にしちゃうのはやりすぎだけど、関数と変数くらいは一緒であって欲しい。

901:デフォルトの名無しさん
04/07/28 09:41
>>899
リスタートってこの文脈では聞いたことないんですが何ですか?

>>900
関数と変数だけ一緒で他は別々がいいってことだと
「シンプルに統一された美しいルール」にはならないけどいいの?


902:デフォルトの名無しさん
04/07/28 10:53
現在AI関係ではばをきかせているのはCommonLisp? Scheme? ほかの方言? それとも、まったくほかの言語?

903:デフォルトの名無しさん
04/07/28 12:56
>>901
リスタートはコンディション機構に用意されている機能。
名前と関数群(主処理、説明表示、ユーザとの対話)を動的に結びつけるマクロrestart-bind
が基本機能。よくあるのはrestart-caseマクロで、名前やいくつかの機能が付いた大域ジャンプの
着地点として使う場合。

デバッガに入ったときに、
"変数fooの値としてcons型が期待されていたのに、1が入っていますた。
次の選択肢から選んでね。
1: fooに値を入れ直す(store-value)。
2: 無視して進む(continue)。
3: トップレベルに戻る(abort)。"
なんて、メニューがでるでしょう。これは、そのときアクティブなリスタートを
検索して、それぞれの説明表示関数を呼び出して、動的に生成されたメニューだったり
します。各選択肢が1つのリスタートによって実現されているのね。そんで、
ある選択肢が選ばれたら、そのリスタートの対話用関数が呼ばれると。


名前空間が別に用意されているのは、あと、method-combinationもそうだね。


>>902
日本では、人工知能といえばPrologが有力だと聞きました。ICOTも並列Prolog
を開発していたよね。現在のAI関連のことは知らないけど。

904:デフォルトの名無しさん
04/07/28 13:51
私は >>899 あたりは全部一緒にしちゃいたいな。
なるべく統一したい。

905:デフォルトの名無しさん
04/07/28 15:11
CommonLispの仕様って今後変わったりするの?
いままで仕様変更ってあった?

906:デフォルトの名無しさん
04/07/28 15:44
ANSI X3.226-1994 が最初かつ最新

907:デフォルトの名無しさん
04/07/28 19:24
>>899
symbol から object へ対応させるとき、object の種類による複数の対応はいらないけど、
symbol から object への対応表は複数あってもよいと思う。
簡単に言えば、モジュールとかパッケージシステムのようなもののこと。

908:デフォルトの名無しさん
04/07/29 10:05
(assoc :key alist) の cdr を取るの マンドクサ

909:デフォルトの名無しさん
04/07/29 13:19
plistなら?

910:デフォルトの名無しさん
04/07/29 15:21
assocdr でも作っとけ。

911:デフォルトの名無しさん
04/07/29 15:41
cdassoc

912:デフォルトの名無しさん
04/07/29 18:16
独習LISPとかでないかなーw

913:デフォルトの名無しさん
04/07/29 18:47
nil

914:デフォルトの名無しさん
04/07/29 22:17
#f

915:デフォルトの名無しさん
04/07/29 22:20
*** ERROR: unbound variable: 独習LISP


916:デフォルトの名無しさん
04/07/30 00:46
(define (独習LISP) (独習LISP))

917:デフォルトの名無しさん
04/07/30 01:06
Paul Graham の "ANSI Common Lisp" は「独習 Lisp」みたいな感じじゃないか。

918:デフォルトの名無しさん
04/07/30 01:26
nil

919:デフォルトの名無しさん
04/07/30 02:08
名前空間に付いて興味深い話が聞けたんで避けてたけど、CMUCL Mac OS X 版がマージされますた。
これで世代別 GC の (非 SPARC) RISC CPU への移植 --> (SBCL で) スレッドの実装と行くと嬉しいな。

920:デフォルトの名無しさん
04/07/30 09:22
>>917
amazonの書評では2人とも「入門向きではない」的なことを書いているけど。。。。

921:デフォルトの名無しさん
04/07/30 10:16
>>907
>symbol から object への対応表は複数あってもよいと思う。
>簡単に言えば、モジュールとかパッケージシステムのようなもののこと。
Common Lispのパッケージシステムは、文字列からシンボルへの複数の対応表を
扱う仕組みだけど、Schemeのモジュールはシンボルからオブジェクトへの複数の
対応表を扱う仕組みとして理解していい?

つまり、シンボルのバリューセルがモジュール毎に切り替わるということかな。
Emacsのバッファローカル変数みたいな感じかな。

922:デフォルトの名無しさん
04/07/30 14:24
Schemeにはまだ標準となるモジュールシステムがありませんよね

923:デフォルトの名無しさん
04/07/30 15:21
R6RSにはモジュールが入るとか入らないとかいう噂があったな。SRFIにはなってるの?
あと既存の処理系が独自に実装しているモジュールシステムはあるよね。

924:デフォルトの名無しさん
04/07/30 19:39
(新しいエッセイの翻訳が来ましたage)

925:デフォルトの名無しさん
04/07/30 19:59
>>921
Scheme の symbol 自体には value cell は無いと考えた方がいい。
モジュールというか「環境」は、symbol をキーとし object を値とするハッシュテーブルのようなもの。

926:デフォルトの名無しさん
04/07/30 20:03
変数なんかないんだ。環境だけがある。

927:デフォルトの名無しさん
04/07/30 23:28
Schemeのマクロよく知らないんですけど、再帰的にマクロ定義するにはどうしたらいいんでしょう。
とりあえず macroexpand使ったらできたんですけど、CommonLispならそんなことしなくても
いいんですよね。

928:デフォルトの名無しさん
04/07/31 00:16
Schemeのsymbol自体にvalue cellがないというのはR5RSから導かれること?
Hyper Static Environmentなら確かにvalue cellは完全に不要だけど、
R5RSのあいまいなtop levelの定義ではどうも混乱してしまう。
URLリンク(c2.com)


929:デフォルトの名無しさん
04/07/31 00:51
>>920
確かにあの本だけで入門は難しいかも。最初に読んだ Common Lisp 本が ANSI Common Lisp
だったけど、その時は既に CLHS とか CLtL とか知ってたからなぁ。

930:デフォルトの名無しさん
04/07/31 01:32
>>920 >>929
私はANSI Common Lispで入門しましたが、あれでよかったと思っています
(さすがにあれでCommon Lispを第一言語とするのは無理でしょうけど)。
Lispで何ができるのかを教えてもらったので、
今では必要に応じてHyperSpecを調べれば何とかなるようになりました。
;; と言っても学生なのでリアルの「仕事」をしたことはないし、
;; そもそもまだレベルの低いプログラムしか書いたことがありませんが...

でも、その後に学んだ関数型言語の知識も大きいかも知れません。
やはり純粋な関数型言語は(マルチパラダイムのLispと違って)前面に押し出す特徴があるから、
「ここは関数的に書くべきだな」という感覚とか、イディオムなんかはそっちの方が学びやすかったです。
;; もちろん、マルチパラダイムで柔軟なLispだからこそそういう知識が役立つんですが。


Grahamの新しいエッセイ、考えさせられることが多くてためになります。
URLリンク(www.shiro.dreamhost.com)
> 私が思い付く全ての偉大なプログラマのうち、進んでJavaを書いている人物は一人しかいない。
Goslingのことかぁぁぁ!?

931:デフォルトの名無しさん
04/07/31 02:01
Steele でしょ。Richard P Gabriel も Sun に居たと思ったけど。

932:デフォルトの名無しさん
04/07/31 06:03
XPでSLIMWを使おうとするとどういう方法がありますか?
いろいろやったができないよ。

933:デフォルトの名無しさん
04/07/31 09:14
>>930
エッセイっていうか、OSCON 2004 の基調講演だよね。
言ってることはわからなくもないけど、ちょっと電波飛ばしてねーか? と
思ってしまった俺は、きっとハッカーではないのだろう。

934:デフォルトの名無しさん
04/07/31 11:12
>ちょっと電波飛ばしてねーか?
どの辺?

935:デフォルトの名無しさん
04/07/31 11:59
>>934
すごいハッカーになることが、人生の勝者であるかのように語っているところ。

確かにそういう面もあるかもしれないけど、そのハッカーってのはかなり特殊な
人種なわけで、彼等の特殊性は as is のまま、周囲が彼等に合わせるべき、
理解すべきとしている論調がちょっとね。

> 実際、CobolやJavaが最も人気ある言語だというような統計は誤解のもとでさえ
> ある。 何が最高の道具かを知りたいなら、我々が見なければならないのは、
> ハッカーが自由に選べる際に、つまり、彼ら自身のプロジェクトに、 何を選ぶ
> かということだ。この質問をしてみれば、既にオープンソースのOSが 圧倒的
> なシェアを占めており、一番の言語はたぶんPerlだということに気づくだろう。

こんな馬鹿げたことを書いてるのにもゲンナリした。最高だろうが最低だろうが、
道具は道具に過ぎない。問題は何を作るか、だと思うんだけどねぇ...

936:デフォルトの名無しさん
04/07/31 12:17
一番のOS アセンブラで作った自作のOS
一番の言語 アセンブラで作った自作の言語

937:デフォルトの名無しさん
04/07/31 12:24
「うんうん、そうだ」と自己満足的に共感するか、
「あっそう」で済ませてほっぽりだすかの
二通りしか感想のでてこない文章だな。

938:デフォルトの名無しさん
04/07/31 12:34
>>935
論点そのものを否定してどうするw

ま、言いたいことは分かるけどね。
だいたいハッカーってのは

「手段のためなら目的を選ばないという、どうしようもない奴」

が多いからな。何を作るかなんて眼中に無いのよ。
強いて言えば「手段=道具」を作りてえなとなるわけで。

939:デフォルトの名無しさん
04/07/31 12:37
人気のない言語を使ってるor作ってる奴の自己弁護なだけでは?

940:デフォルトの名無しさん
04/07/31 13:18
手段の目的化、それ即ち趣味なり

941:デフォルトの名無しさん
04/07/31 13:27
>>935
>すごいハッカーになることが、人生の勝者であるかのように語っているところ。
実際Paul Grahamにとってはそうなのだと思う。

URLリンク(www.blog.net)
ここでもオタクのが偉い、みたいなこと言ってるけど、実際アメリカに住んでたら、
そういう価値観持って胸張ってないとやってけなかったのかも。

942:デフォルトの名無しさん
04/07/31 14:30
>>938
そうだよね。それでも喰って行けるくらい飛び抜けていればいいんじゃない?

Lispじゃ喰って行けないっていうけど、実際はshiroさんや黒田さんみたいに仕事にでき
ちゃう人もいる。大学勤めならどんな言語をつかって研究しようが教えようが誰にも文句は
言われない(言わせない)しね。ふふ。

943:デフォルトの名無しさん
04/07/31 16:58
>>942 研究の方はまだ大丈夫だけど、教える方は就職率という錦の御旗で…。

944:デフォルトの名無しさん
04/07/31 16:59
>>942
>誰にも文句は言われない(言わせない)しね。

そしてある日、それは単なる自分の思い過ごしだった事に
気づかされる日が来るんだよね。ふふ。


945:デフォルトの名無しさん
04/07/31 21:38
お、日本でも出版されるみたいだね。

>なお、書籍版"Hackers and Painters"の邦訳はオーム社より刊行予定。

>>944
気付かなかった振りではダメですか?

946:デフォルトの名無しさん
04/07/31 22:21
>>945
まじっすか!
なんだよshiroさん。あなうんすshiroよ。

947:デフォルトの名無しさん
04/07/31 23:51
CMU CL の19aリリースのアナウンスってないのでしょうか?
ディレクトリ下にブツはあるようですが・・・
fURLリンク(ftp.common-lisp.net)


948:デフォルトの名無しさん
04/08/01 22:28
なぜ S 山 euske というお方の日記には,変わった用語が使われているのでしょうか.
Lisp で悟るとあのような日記を自然と書くことができますか?
コンピュータサイエンスの教授にはなぜあのような人が多いのでしょうか?

949:デフォルトの名無しさん
04/08/01 22:41
>>947
7/31 ころアナウンスするよって書いてあった気がするけど、まだみたいね。
バイナリはそれでオケなはず。

950:デフォルトの名無しさん
04/08/02 10:10
AS/400なんて、モノとしては非常に素晴らしい製品なのに、
なぜ悪い道具というレッテルを貼られてしまっているのだろう。

単に、自分たちが慣れ親しんでいるUNIX Like OSと似ていないから
というだけ?


951:デフォルトの名無しさん
04/08/02 10:49
URLリンク(www.cons.org) にアナウンス出てますね。

952:デフォルトの名無しさん
04/08/02 11:07
もうすぐ次スレか。

【普通のやつらの】CommonLisp Scheme Part11【上を逝け】

でどうよ。

953:デフォルトの名無しさん
04/08/02 11:20
変なコメント付けて厨臭くしなくてもいいよ

954:デフォルトの名無しさん
04/08/02 12:29
>>952
かっこ悪すぎ。

955:デフォルトの名無しさん
04/08/02 12:39
>>950
自分で底の底までいじれないからじゃない?
AS/400の中の人になれば別なんだろうけどさ。


956:デフォルトの名無しさん
04/08/02 16:19
MacもPCに比べればクローズドだよな。

やっぱりあれだよ。70年代からコンピュータに
どっぷり浸かってた人ならIBMをよく思うのは無理だろ。
またIBMがLinux担いだところで、その魂胆の方が先に見えて
しまうんだろうな。

957:デフォルトの名無しさん
04/08/02 20:10
【普通のスレの】CommonLisp Scheme Part11【上を逝け】


958:デフォルトの名無しさん
04/08/02 20:39
Lisp Scheme Part11

959:デフォルトの名無しさん
04/08/02 21:36
>>957
かっこ悪すぎ。

960:デフォルトの名無しさん
04/08/02 22:00
11traP emehcS psiL

961:デフォルトの名無しさん
04/08/02 22:52
(thread '((common lisp) (scheme)) :part 11)

962:デフォルトの名無しさん
04/08/02 22:54
>>961
あー、先を越されてしまったが、もっとシンプルに
'(Lisp Scheme Part11)

963:デフォルトの名無しさん
04/08/02 22:55
common-lisp-&-scheme-part-11

964:デフォルトの名無しさん
04/08/02 22:58
Revised^11 Thread on Scheme

965:デフォルトの名無しさん
04/08/02 22:58
'(thread (Lisp . Scheme) (part . 11))

966:デフォルトの名無しさん
04/08/02 23:14
CommonLisp Scheme Part11でいいんじゃないの?スレタイは式じゃなくて文字列じゃん。
;;「キターっ」て、>>947のこと?

967:デフォルトの名無しさん
04/08/02 23:36
次スレ
CommonLisp Scheme Part11
スレリンク(tech板)


968:デフォルトの名無しさん
04/08/03 00:56
clisp の win32 版を,日本語ディレクトリ以下で使う方法を教えてくだされ.
ext:cd とか load ができないのだよ.
OS は WindozeXP.いちおう lisp で書いとけば
環境に依存しないだろうと思ったのに,
windoze で日本語ユーザー名で My DQNments しか使えないので...

969:デフォルトの名無しさん
04/08/03 13:21
>>968 文字コードの設定はちゃんとしている?

970:デフォルトの名無しさん
04/08/04 09:32
Graham氏はJavaに対して対抗意識剥き出しにしてるが、
CommonLispやSchemeの普及を阻害してるのは、本当は
PerlやPythonだと思う。現代版Cobolに対してLispの
優位性をアピールすることにどんだけの意味があるのか。

971:デフォルトの名無しさん
04/08/04 09:47
>>970
それがねぇ。Scheme教えようとしても、「就職に役立つのはJava」なんて
言われちゃう世の中なんですよ。


972:デフォルトの名無しさん
04/08/04 23:35
>>971
最強の言語というのがあって,それは使っている人が多いはずで,
それさえ身に付ければ十分,という伝説のせいでしょうか.

973:デフォルトの名無しさん
04/08/05 00:34
Javaは平均的プログラマー向けにデザインされた言語。
そうゴスたんが言ってたよ。

974:デフォルトの名無しさん
04/08/05 00:58
URLリンク(groups.google.co.jp)

Franz のセミナーのやつだよね。

975:デフォルトの名無しさん
04/08/05 23:28
>>974
すげ…書いてあることがサッパリ理解できんが
何か格好良い事だけはわかった
これが Lisper の考えるレベルかしら…おれには無理かしら


976:デフォルトの名無しさん
04/08/06 22:40
UFFI が clisp に対応していないとは,一体どういうことかね?

977:デフォルトの名無しさん
04/08/07 01:42
>>971
就職の面接で「Scheme使えますよ」と言ってみたら
「Lispみたいなやつだっけ?」ぐらいの反応しか帰ってきませんでした。orz

978:デフォルトの名無しさん
04/08/07 10:22
>>977
その答えが返ってくるだけまだよい方では・・・

979:デフォルトの名無しさん
04/08/07 13:34
>>976 「clispのFFIがUFFIよりもっと抽象化されているから」という答えをclispの
作者がしていました。
が、clisp と UFFI でぐぐるとたしかpascalさんという人が書きかけたclisp用UFFIが
あったとおもう。

980:デフォルトの名無しさん
04/08/07 14:48
>>979
( ・∀・)つ〃∩ヘェーヘェーヘェー.サンクスコ.

981:デフォルトの名無しさん
04/08/08 22:45
埋まる前に落ちそうだね。

(call/cc (lambda (c)
(スレリンク(tech板) c)))

982:デフォルトの名無しさん
04/08/09 00:33
むしろ新スレの方が落ちそう。


983:デフォルトの名無しさん
04/08/09 14:20
埋め質問。
Scheme(Gauche)でCのsizeof相当の処理は可能ですか?
表面的にはchar/short/long/多倍長の違いが見えないので難しそうですが。

984:デフォルトの名無しさん
04/08/09 19:32
何の size のことなのか?
それをどう使おうというのか?

985:デフォルトの名無しさん
04/08/09 23:51
>>983 意味と意図がボクもよく分からない。

とりあえず Gauche での扱いを説明しておくと、文字と小さな整数は即値。
文字は wchar だと思っとけばいい。小さな整数の範囲は、long の範囲より
若干狭い。

昔の scheme では、文字が整数だったけど、今は別。

(char? #\a) => #t (char? 100) => #f (char? 1000000000) => #f
(fixnum? #\a) => #f (fixnum? 100) => #t (fixnum? 1000000000) => #f
(exact? #\a) => #f (exact? 100) => #t (exact? 1000000000) => #t

もしかして、ユニフォームベクタ使いたいのかな?

986:デフォルトの名無しさん
04/08/10 04:23
ユニフォームベクタで解決しました。
URLリンク(www.shiro.dreamhost.com)
もろにこの部分。すんません、次からはちゃんとマニュアル内探します。

987:968
04/08/10 22:55
>>969
文字コードのちゃんとした設定というのが分かりません.
とりあえず思いついたコーディング名を引数にしたりしました.
自宅のマシンではないのでメモがないんです.
lisp がないと私はただの豚なんです教えてくださいぃぃ.m(__)m

988:デフォルトの名無しさん
04/08/10 23:31
>>987
URLリンク(clisp.cons.org)

このへんでしょうか。


989:デフォルトの名無しさん
04/08/11 13:13
Windows cygwin版clisp 2.31での話。
clisp -E ASCII は認識されて*default-file-encoding*, *pathname-encoding*,
などが、デフォルトの#<ENCODING CHARSET:ISO-8859-1 :DOS>から#<ENCODING CHARSET:ASCII :DOS>に
変更されました。

しかし
clisp -E ja_JP.SJIS
は何の効果もないもよう。

トップレベルで
(setq shift-jis (make-encoding :charset 'charset:shift-jis :line-terminator :dos))
(setq *default-file-encoding* shift-jis)
(setq *pathname-encoding* shift-jis)
(setq *terminal-encoding* shift-jis)
として、
(ext:cd "/cygdrive/c/マイ ミュージック")
とすると、
*** - PARSE-NAMESTRING: syntax error in filename "/cygdrive/c/マイ ミュ/" at position 12
とエラー。

(parse-namestring "マイ ミュージック")とすると
*** - PARSE-NAMESTRING: syntax error in filename "マイ ミュージック" at position 0
とエラー。
"マイ ミュージック"はちゃんと9文字として認識されています。

また、(setq *terminal-encoding* shift-jis)をすると、
(format t "~S~%" 'a) => ~S~%
というバグが発現しました。

イヤ~ンな感じ。俺のやり方がタコなだけだといいんだけど。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch