- 1 名前:デフォルトの名無しさん mailto:sage [04/02/01 19:10]
- 過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html Part2: pc.2ch.net/test/read.cgi/tech/1002584344/ Part3: pc.2ch.net/test/read.cgi/tech/1008220265/ Part4: pc.2ch.net/test/read.cgi/tech/1016211619/ Part5: pc3.2ch.net/test/read.cgi/tech/1023091882/ Part6: pc3.2ch.net/test/read.cgi/tech/1031560687/ Part7: ruku.qp.tc/dat2ch/0311/20/1042167213.html Part8: pc2.2ch.net/test/read.cgi/tech/1058263391/ Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/ 前、"Schemeスレはあるのになんでcommonlispスレはないの?"とか言って別のスレを建てた大馬鹿者がいたので、 標題にCommonLispと付けておきました。 Lispの話題でCommonLisp,Scheme,EmacsLisp(専用スレッドがある)以外のものが出ることはこのスレの歴史上でも 稀なので問題はほとんどないかと思います。 関連リンクは>>2-10あたり
- 684 名前:デフォルトの名無しさん mailto:sage [04/06/22 23:30]
- >>681
Kahuaのチュートリアルがわかりやすいかと。 www.kahua.org/cgi-bin/kahua.cgi/kahua-web/show/doc/hello-kahua#H-y3tjno ちなみにKahuaでいう「継続ベース」というのは、call/ccでどうのこうの ということではなくてCPSで書きますということです。 すなわち、Common Lispでも同様にやれるでしょう。
- 685 名前:デフォルトの名無しさん mailto:sage [04/06/23 00:13]
- >>681
www.common-lisp.net/project/ucw/index.html Common Lisp で継続ベースの Web アプリ開発フレームワーク、だそうです。 使ったことないですが。
- 686 名前:デフォルトの名無しさん mailto:sage [04/06/23 00:36]
- >>683
エラー吐いてデバッガに落ちてるんじゃないの? バックトレースとかスタックフレームとか調べてみた? まず「ソースコードの何行目が悪いのか」という思考から「どこの式が悪さしてるか」を 意識するようにしてみるといいかも。
- 687 名前:デフォルトの名無しさん mailto:sage [04/06/23 07:37]
- >>684-685 ありがとうございます。
- 688 名前:664 mailto:sage [04/06/23 22:44]
- 今日,>>686 のご指摘通りデバッガとの対話を学び,試そうと某所へ行きました.
すると,コケたはずのインストールが,修正していないのに出来てしまいました. (asdf:oos ...) も (load "cl-ppcre-0.7.7/load.lisp") も出来ます. ;;; 管理者さんがこのスレにいるのでしょうか... そして,マイ core も作りました. あとはカッコいいプログラムを作るだけです.ありがとうございました > root
- 689 名前:デフォルトの名無しさん mailto:sage [04/06/24 02:05]
- Windows版はないのね。残念。
- 690 名前:デフォルトの名無しさん mailto:sage [04/06/24 23:50]
- 湯浅センセがスーパークリエイタになってはる。応募しはったときも
思たんやけど、なんで今さら…。めっさ、違和感あるわ。次世代ちゃ うやろ。
- 691 名前:デフォルトの名無しさん mailto:sage [04/06/25 03:13]
- ペタジーニのバントみたいだな。
夢が壊れるよ。
- 692 名前:デフォルトの名無しさん [04/06/25 08:54]
- そう?
あの年で(失礼)、また教授になってもhackするのはいいことじゃないですか。 おまえらももっとhackしろというメッセージだと思ってます。
- 693 名前:デフォルトの名無しさん mailto:sage [04/06/25 09:03]
- lisp屋が おじさん/おばさん、おじいさん/おばあさん になっても
hack するのは、デフォじゃないの?
- 694 名前:デフォルトの名無しさん mailto:sage [04/06/25 09:53]
- お金とって来れる偉い人がなっちゃいかんよなぁ。
もっと若い人に譲らなきゃ。
- 695 名前:デフォルトの名無しさん mailto:sage [04/06/25 13:26]
- 若い連中がふがいないから教授に取られちゃうんだよ。
- 696 名前:デフォルトの名無しさん mailto:sage [04/06/25 18:44]
- ファイルの中身をまるまる string にするには,どうやればいいですか?
get-output-string-stream は output stream にしか使えないんですね.
- 697 名前:デフォルトの名無しさん mailto:sage本人が釣れないかな・・・ [04/06/25 19:11]
- >>694
>お金とって来れる偉い人がなっちゃいかんよなぁ。 もしかして「京大教授」って、意外と薄給なのでは?
- 698 名前:デフォルトの名無しさん mailto:sage [04/06/26 10:08]
- >>696
処理系は? まぁ、このへんを参考にしたらいいと思いますが。 www.shiro.dreamhost.com/scheme/wiliki/schemexref.cgi?port-%3estring >>697 「お金」= 「給料」ではなくて研究費です。 給料は国立大の教授なら1000万程度では。 いいと思うかは微妙なところだけど。
- 699 名前:デフォルトの名無しさん mailto:sage [04/06/26 11:09]
- XSで未踏に応募したのはWindows版の開発を委託する費用を捻出するため。
スーパークリエイターに認定されたのは湯浅センセがどうこうできることじゃない。 695の意見が正しいと思う。
- 700 名前:デフォルトの名無しさん mailto:sage [04/06/26 13:32]
- 少し前に話題になっていた、Lisp の知見を他言語(Javaなど)で生かす話、
こんなのを見つけました。 『A Little Java, A Few Patterns』 namazu.org/~satoru/diary/20010320.html#p01 この本は、名著『Little Schemer』の著者によるものだそうで、デザパタの中でも 難解で知られる Visitor パターンが、関数型言語の考え方から自然に導かれることを 説明するのだそうです。 そうか。関数型言語なら高階関数で行うことを、オブジェクト指向言語はオブジェクトで 行うのか。それらの知見は、ある程度は相互に利用が可能みたいですね。 邦訳も出ているみたいです。 『Javaとピザとデザインパターン』 www.amazon.co.jp/exec/obidos/ASIN/4797307900
- 701 名前:デフォルトの名無しさん mailto:sage [04/06/26 13:33]
- あと一つ、Greenespun's 10th Rule のグリーンスパンの Blog から
『Scheme vs. Common Lisp』 philip.greenspun.com/bboard/q-and-a-fetch-msg?msg_id=0006XQ 私は Scheme を少し知っているだけなのですが、これを読むと Common Lisp の実用性は 素晴らしいと思いますねえ。 それにしても、flame war 勃発と思いきや、あんまり騒ぎになってない。 そもそも Lisp 界にはフレームが起こるほど人がいないのか。 グリーンスパンが同じ Blog で Java を揶揄したときは、スラドを含めて 大騒ぎになったらしいのにねえ。 www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Shiro%3alog%3a2003%b8%e5%c8%be (2003/09/24 18:54:23 PDT)を参照
- 702 名前:696 mailto:sage [04/06/26 14:06]
- >>698
あっ,common lisp の話なのに書き忘れてしまいました.ごめんなさい. 処理系は clisp ですが,処理系に依存しない方がいいです. いろいろ試してはみましたが,do と read-line よりいいものは無いのでしょうか.
- 703 名前:デフォルトの名無しさん mailto:sage [04/06/26 16:24]
- >過去ログ眺めてきたけど、何か妙に卑屈になってるのが居るみたいね。
lisp界には凄い人が普通にいる感じがするからじゃないかな。 shiroとか苫米地とか新山とか。 KCLの両先生はさしあたり東大寺の仁王像、京都大学は奈良の大仏、 アランスク先生はジャンヌダルクかフランス貴公子(奇行氏)といった所だろう (適当だが)
- 704 名前:デフォルトの名無しさん mailto:sage [04/06/26 17:37]
- shiro >>>>>>>>>>>>>>>> 苫米地 > 俺 > 新山
- 705 名前:デフォルトの名無しさん mailto:sage [04/06/26 18:22]
- ↑バカディスカー?
- 706 名前:デフォルトの名無しさん [04/06/26 21:00]
- >>703
>アランスク先生はジャンヌダルクかフランス貴公子(奇行氏)といった所だろう >(適当だが) 災いを招くつもりですか?
- 707 名前:デフォルトの名無しさん [04/06/26 22:09]
- 新山さんとアランスク先生って誰?
- 708 名前:デフォルトの名無しさん mailto:sage [04/06/26 22:27]
- shiroさん最強。
苫米地さんは謎。コード読んだこと無いし。 新山さんは・・・日記職人(田口)。
- 709 名前:デフォルトの名無しさん mailto:sage [04/06/26 23:46]
- >>707
aranskはゲームセンターで小学生突き落とした中学生
- 710 名前:デフォルトの名無しさん [04/06/27 12:26]
- knilって何ですか?
(directory-fold: www.shiro.dreamhost.com/scheme/gauche/man/gauche-refj_272.html#SEC299
- 711 名前:デフォルトの名無しさん mailto:sage [04/06/27 13:25]
- >>710 特に意味がない。
(fold KONS KNIL LIST ...) (SRFI1) が元ネタ。2つの引数を持つ プロシージャを何度も呼ぶとき、第2引数の初期値として使われる。 多くの場合、KONS として cons のような 関数を使い、KNIL として '() が使われる。
- 712 名前:デフォルトの名無しさん [04/06/28 14:23]
- chezのコンパイラについて御意見を聞かせてください。購入しても
バイナリのみのライセンスですよねぇ(いくらするんだろう)? >chezer様
- 713 名前:デフォルトの名無しさん mailto:sage [04/06/28 22:44]
- >>712
個人向けの販売はしてないらしい。 $9000とか、学校向けでも$4500もするんだもんな。 Kent教授に嘆願書でも出さないか?
- 714 名前:デフォルトの名無しさん mailto:sage [04/06/28 23:04]
- >>713
それでもずいぶん安くなったのではないですか? ACL もずいぶん安いライセンスも出るようになったから、Chez も今後、 期待したいですね。 下は、2年前の話。 LISP Scheme Part6 pc3.2ch.net/tech/kako/1031/10315/1031560687.html 835 名前: デフォルトの名無しさん 02/11/26 03:59 Chez Scheme 6.0の見積もりを取ったが、いやはやあんなに高いとは。 マシン・タイプごとに24,500ドル。サポートが1機種 年間1,350ドルだと。 それほどの価値があるソフトなのか???
- 715 名前:デフォルトの名無しさん mailto:sage [04/06/28 23:09]
- ACL アカデミックとかじゃなくて普通に商用に使うために買うといくらするの?
- 716 名前:デフォルトの名無しさん mailto:sage [04/06/29 02:30]
- このスレの Part 8 で紹介されていた URL に $599 という価格があるんだけど、
www.franz.com/products/packages/ これって、アカデミック・ディスカウントなの? そうは思ってなかった。 教育関係なら、ここからさらに割り引かれるのかと思ってました。 ご存知の方おられませんか?
- 717 名前:デフォルトの名無しさん [04/06/29 08:23]
- 先日のFranzセミナーでもらった価格表によると…
Windows/Linux/FreeBSD/MacOS X版 Professional 750,000 (395,000) Enterprise 1,400,000 (795,000) Platinum 2,000,000 (895,000) UNIX (Sun, IBM, HP, Compaq)版 Professional 1,300,000 (520,000) Enterprise 2,000,000 (1,040,000) Platinum 2,750,000 (1,200,000) …高い… orz
- 718 名前:717 [04/06/29 08:24]
- あ、括弧の中はアカデミック価格ね。
- 719 名前:デフォルトの名無しさん mailto:sage [04/06/29 08:28]
- 俺はソースネクストが1980円で売り出すのを待つよ。
- 720 名前:デフォルトの名無しさん mailto:sage [04/06/29 08:38]
- 括弧を無くして初心者にやさしい構文になったAllegro CLパーソナル版
1,980円!
- 721 名前:デフォルトの名無しさん mailto:sage [04/06/29 11:58]
- >>717-718
ありがとうございます。 業務システムなら千万単位の金が動くのは当たり前なので、そういうところが 売り込みの対象なのでしょうね。 SUN の Java みたいにただでばら撒いてもらえるとありがたいけど、これを 売って会社を成り立たせているから、市場の少ない段階ではおいそれと値下げも できないし。 考えてみたら、Java がタダでばら撒かれているのがすごく不思議な気がしてきた。
- 722 名前:デフォルトの名無しさん mailto:sage [04/06/29 12:37]
- インタプリンタでさえF1マシンのように速いのにコンパイラは
どれ程のものだろうね。個人的にはchez(petite)で EdwinみたいなEmacs互換のエディタがあればいいなぁ。 そういえば奥村先生の辞典にあるメルセンヌ数(素数)判定の プログラムをpetiteで再実装したらCコンパイラ(gcc)のコードより かなり速かった。…やっぱpetiteインタプリンタが内蔵された エディタが欲しいなぁ。doctorの腕も上がるかもねww
- 723 名前:デフォルトの名無しさん [04/06/29 15:23]
- Gaucheのテキストツリー構造を見ています。仕様の資料ってありますか?
(use text.html-lite) (html:html (html:h1 "TITLE")) =>(#0="<" html () #1=">" ((#0# h1 () #1# ("TITLE") #2="</" h1 #3="\n>")) #2# html#3#) (html:html (html:h1 "タイトル")) =>(#0="<" html () #1=">" ((#0# h1 () #1# ("ツタツイツトツδ・) #2="</" h1 #3="\n>")) #2# html #3#)
- 724 名前:デフォルトの名無しさん mailto:sage [04/06/29 17:01]
- May the source be with you.
- 725 名前:デフォルトの名無しさん mailto:sage [04/06/29 17:02]
- happy hacking
- 726 名前:デフォルトの名無しさん [04/06/29 18:26]
- Windows版のLispってありませんか?
- 727 名前:デフォルトの名無しさん mailto:sage [04/06/29 18:40]
- ググれ
- 728 名前:デフォルトの名無しさん mailto:sage [04/06/29 19:02]
- ググった
- 729 名前:デフォルトの名無しさん mailto:sage [04/06/29 21:38]
- >>721
petite の方はただで配ってるし、プロプラなアプリに組込んで使っても問題無い感じ。 ところで、↓この chez の方の src.rpm ってソースコード丸々入ってるんですか? ttps://www.cs.indiana.edu/chezscheme/iu/
- 730 名前:デフォルトの名無しさん [04/06/30 00:52]
- >>726
Allegro CLのWindows版があるよ。
- 731 名前:デフォルトの名無しさん [04/06/30 11:47]
- >>724-725
了解しました (文字化けは、文字コード設定だけの問題でした)
- 732 名前:デフォルトの名無しさん mailto:sage [04/06/30 22:13]
- >>729
.aしか入っとらん。 そんなに世の中甘くないぞ
- 733 名前:デフォルトの名無しさん mailto:デフォルトの名無しさん [04/07/01 15:52]
- Gaucheのマニュアルを見ているんですが、なぜ戻り値の型が記載されていな
のですか? 下のような形が標準であって、戻り値の型は必須になっていない です。Scheme的な流儀? 調べてみると、stringが返ってくるのか、portが返ってくるのか等々、判断 しにくいです。 ex) Function: read-block nbytes &optional iport ttp://www.shiro.dreamhost.com/scheme/gauche/man/gauche-refj_101.html#SEC105
- 734 名前:デフォルトの名無しさん mailto:sage [04/07/01 16:37]
- 釣りか?
吊りなのか?
- 735 名前:デフォルトの名無しさん mailto:sage [04/07/01 17:13]
- >>733
srfi とか、あるいは(scheme じゃないけれど)clhs みたいな フォーマットで書いてほしいって事でしょうか。 と、解釈してみます。
- 736 名前:デフォルトの名無しさん mailto:sage [04/07/01 17:39]
- >>733
MLやWiLiKiでshiroさんにきいてみなよ。 即効でレスしてくれるぞ。
- 737 名前:デフォルトの名無しさん mailto:sage [04/07/01 22:18]
- >>733
文字列を返すこともあれば、eof オブジェクトを返すこともあるわけで、 一つの型には決められないからじゃないのかな。 そこらへんをうまく扱えるいい表記があればね、と無責任モード。
- 738 名前:デフォルトの名無しさん mailto:sage [04/07/02 00:40]
- Schemeにも型表記の取り決めがあればいいね。
型が変化しない関数は組み込みを含めてありえるわけだし。 CommonLisp族のdeclareディレクテイブはどうなんだろう。
- 739 名前:デフォルトの名無しさん [04/07/02 18:38]
- 型なんかが必要な人は頭が型いんです。
- 740 名前:デフォルトの名無しさん mailto:sage [04/07/02 22:07]
- OnLisp 邦訳、Franz のサイトからリンク張ってあるね。
- 741 名前:デフォルトの名無しさん mailto:sage [04/07/02 23:36]
- >>740
すげぇな。ほんとだ。 あとは訳が完成するのをまた〜りまつこととしますか。
- 742 名前:デフォルトの名無しさん mailto:sage [04/07/03 01:33]
- 訳が完成したら出版してほしいなあ。
翻訳の完成度高いし。
- 743 名前:flatline@Vim%Chalice ◆r6EONKKhcc mailto:sage [04/07/03 04:13]
- そんなことより >>740 -- >>742 よ,ちょいと聞いて下さいよ.Lispとあんまり関係ないけどさ.
今日(昨日),ACMプログラミングコンテスト予選があったんです,ICPC国内予選. そしたら各大学3チームしか選ばれないのに,東大から19チームも出てて絶望なんです.もうね,ア(ry で,1年生(教養前期)3人のチームの中にうちのサークルの新人がいたんで, 「ま,選抜はされないだろうけど精一杯やるさ.きみっちもがんばれよ」と先輩風吹かしてみたら, なんと彼ら qoo_ が東大3位,全国4位(まだ暫定)で選抜されるっぽいんです. ttp://www.logos.ic.i.u-tokyo.ac.jp/acm-icpc/standings.html そこでまた(全国86位の自分に)ぶち切れですよ. 偉そうな顔して何が,探索空間広杉,だ. 自分はJavaでO(n^6)の土方コーディングしかできないのちゃうんかと. まあ私,flatlineは,分数の単位分数による分解をきちんと解きなさいってこった. ☆ ☆ ☆ なお使用可能言語はC, C++, Javaの3つ,時間は3時間15分でした. それに対してICFP www.cis.upenn.edu/proj/plclub/contest/ の方は任意の環境が利用でき, 時間も数日単位です(チームで寝る奴と書く奴を分担したり). 例年OCamlとかが人気のようですが,Common Lispも数チームずつ選んでいるようです. これを読んでいる学生の方,どっちでもいいですが参加してみてはいかが. 優秀な方に対しても,私みたいな orz に対しても,よい体験になると思います.
- 744 名前:デフォルトの名無しさん mailto:sage [04/07/03 04:51]
- これって、参加者のコード見れるの?
- 745 名前:デフォルトの名無しさん mailto:sage [04/07/03 12:24]
- >>743
なんかこう何とも言えないでつな(汗 C, C++, Javaてのがまた。来年あたりC#とかが追加されてみたりすんのかねぇ? Lispでごりごりなら743もゴリゴリ逝けたはず? まぁ、学生さんたち頑張ってくれ。
- 746 名前:デフォルトの名無しさん mailto:sage [04/07/03 15:21]
- >>726
SBCL win32 port のパッチが公開されてるよ。
- 747 名前:O....TZ@Vim%Chalice ◆r6EONKKhcc mailto:sage [04/07/03 15:30]
- 見られません < 提出済みコード
審判システムが終了してるので,感想戦やろうにもなかなか難しい. まぁ大きなコミュニティに属してる利点ってのは, そういうときでも「そのコードがacceptされたチームの人」「その場で(!)解ける人」が 身近にいるってことなんですが. ICPCはどの言語だろうと本質的な手間は変わらない問題が多いぽ. 手続的言語にしぼってるのは,それなりの意図でしょう(Pascalが加わる場合も). まぁ「Lispだとこうなる」ってのも面白いのでちょっと過去問を解いたことがありますが.
- 748 名前:デフォルトの名無しさん mailto:sage [04/07/03 17:33]
- 絶対に declare しておきたい場合を教えてください.
cliki に置いてあるのを参考にしてみるも,全部に型を書いてあるんです. ここまで頑張るのでは大変です. 効果が大きいとか小さいとかは,どうしたら分かるのでしょうか.
- 749 名前:デフォルトの名無しさん mailto:sage [04/07/03 20:22]
- 絶対必要なのはプロファイルをとる事。なんでかっつーと、
効果がわからないって奴の大半はボトルネックをきちんと 測定していないから〜。 型指定はその後。一番良く呼ばれる関数のインライン化、 速度なら多用される計算関数、頻繁にアクセスする配列、 メモリ量ならサイズの大きい構造体や配列、クラス等で の型指定かなぁ。きちんと Profiling してるなら効果 もそれなりに測定できるはず。後は disassemble するとか。
- 750 名前:デフォルトの名無しさん [04/07/03 20:56]
- ヤッターマン
- 751 名前:デフォルトの名無しさん [04/07/03 20:57]
- コーヒー
- 752 名前:デフォルトの名無しさん [04/07/03 20:57]
- ライター
- 753 名前:748 mailto:sage [04/07/04 16:05]
- >>749
ありがとうございます.こんなに簡単に分かるものだったなんて初めて知りました. declare 前後の効果をはっきり知るために declare 式を一斉に on, off したいのですが,コメントにするのでは大変です. C の ifdef のようなものがあると便利なのですが, こういうときに役立つ方法を教えてください. *feature* に :declare-shiru を push して #+ 等を使うのは普通ですか?
- 754 名前:デフォルトの名無しさん mailto:sage [04/07/04 22:51]
- 関数として扱え,setf の 1 番目の引数でも使える accessor とは何なんでしょうか.
例えば,色々なものをごちゃ混ぜにしたリストを複数の関数で扱うとき, (defun data1 (lst) (cdr (nth 3 lst))) (defun data2 (lst) (cdr (nth 5 lst))) とやると setf でアクセスできなくなりますし, (defmacro data1 (lst) `(cdr (nth 3 ,lst))) (defmacro data2 (lst) `(cdr (nth 5 ,lst))) とやると関数を引数にするものに渡せません (:key など). こんなとき,みなさんはどうやっていますか?
- 755 名前:デフォルトの名無しさん mailto:sage [04/07/05 06:28]
- こんなんじゃなかったっけ? あと適当に defsetf とかで検索しておくれ。
(defun kar (kons) (car kons)) (defun (setf kar) (kons obj) (rplaca obj kons)) > (setq data '(1 2)) (1 2) > (kar data) 1 > (setf (kar data) 3) (3 2) > data (3 2)
- 756 名前:754 mailto:sage [04/07/05 20:02]
- >>755
全く知りませんでした.ありがとうございます. CLHS を一から読むと,まだ知らないことがゴロゴロ出てきそうです.
- 757 名前:デフォルトの名無しさん mailto:sage [04/07/05 21:18]
- あ、上のでも一応動くんだが
(defun (setf kar) (obj kons) (rplaca kons obj)) だった。
- 758 名前:デフォルトの名無しさん mailto:sage [04/07/06 00:23]
- あら、gencgc って SPARC にも対応してたんだ。CVS 追っかけてなかったから知らんかった。
次は MP かしらん(ワクワク
- 759 名前:デフォルトの名無しさん mailto:sage [04/07/06 18:29]
- (っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ
(っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ (っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ (っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ (っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ
- 760 名前:デフォルトの名無しさん mailto:sage [04/07/07 14:12]
- そういうの、大人はあまり面白がってくれないよ。
- 761 名前:デフォルトの名無しさん mailto:sage [04/07/07 17:12]
- 無名関数のみで再帰するシンプルな方法を考えてみました。
まず、リストの長さを測る関数 my-length を作ってみる。 (define (my-length list0) (if (null? list0) 0 (+ 1 (my-length (cdr list0))))) (my-length '(1 2 3 4)) ==> 4 それを無名関数だけで書き直す。要するに、自分と同じ形の関数を 引数に取って、それを再帰の代わりに呼び出すのである。 ((lambda (function list0) (if (null? list0) 0 (+ 1 (function function (cdr list0))))) (lambda (function list0) (if (null? list0) 0 (+ 1 (function function (cdr list0))))) '(1 2 3 4)) ==> 4 これを理解すれば、Yコンビネータを理解することの助けになると 思ったんですが、いかがなものでしょうか?
- 762 名前:デフォルトの名無しさん mailto:sage [04/07/07 18:34]
- 前スレあたりにいくつかあったよ
- 763 名前:デフォルトの名無しさん mailto:sage [04/07/07 19:19]
- >>762
ありがとうございます。なるほど、確かに前スレにありました。 見たはずなのですが、当時は理解できなくて読み飛ばしていました。 今『Scheme 手習い』の9章を読んだばかりで、 「この Yコンビネータは洗練されているけれど、分かりづらい。汎用性をなくせば、 もっと分かりやすい再帰ができるのじゃないか?」 と思ったのですが、すでによく知られていることなのですね。すみません。 以下は前スレの引用ですが、眼からウロコが落ちる思いでした。 ----------------------------------------------------------- 437 名前: デフォルトの名無しさん 03/12/12 23:03 lambdaだけで回すコードは、カンの鋭い人なら、相互的な再帰処理を 書いている内に自然と気付くかもしれない 結局は、以下のより単純にした式 ((lambda(x)(x x))(lambda(x)(x x))) この式の応用だから
- 764 名前:デフォルトの名無しさん mailto:sage [04/07/08 02:12]
- このスレの話題と呼応する様に、Bill Clementson のブログに Java と CL の連携の話が出てるね。
- 765 名前:デフォルトの名無しさん mailto:sage [04/07/09 14:29]
-
hobbitとBiglooってどう違うん?
- 766 名前:デフォルトの名無しさん mailto:sage [04/07/09 16:49]
- >>743 flatline 氏
on Lisp の邦訳の 148ページ目に、TeX のタグが残っていますよ。 ----------------------------------- Common Lisp のこのコードは, \begin{verbatim} (let ((f #’(lambda (x) (1+ x)))) (funcall f 2)) \end{verbatim}
- 767 名前:デフォルトの名無しさん mailto:sage [04/07/10 00:16]
- >>765
hobbit は r4rs だし、末尾再帰の最適化もされないんじゃなかったっけ? Bigloo がどうだか知らないけど、hobbit は Scheme で書かれてる。 Scheme で標準的な FFI のライブラリってありますか? C の struct とか union も Scheme から扱えると嬉しいのですが。
- 768 名前:デフォルトの名無しさん mailto:sage [04/07/10 02:09]
- > Scheme で標準的な FFI のライブラリってありますか?
SRFI でもめてたっけなー
- 769 名前:デフォルトの名無しさん mailto:sage [04/07/10 12:42]
- r5rs の 7.3 Derived expression types に書いてある、
case の定義について質問です。 template の最初の clause (+ の部分) を省いたら、 もとの定義とどういう違いが生まれるのでしょうか? それとも省略しても変わらないのでしょうか? (define-syntax case (syntax-rules (else) ((case (key ...) ;+ clauses ...) ;+ (let ((atom-key (key ...))) ;+ (case atom-key clauses ...)));+ ((case key (else result1 result2 ...)) (begin result1 result2 ...)) ((case key ((atoms ...) result1 result2 ...)) (if (memv key '(atoms ...)) (begin result1 result2 ...))) ((case key ((atoms ...) result1 result2 ...) clause clauses ...) (if (memv key '(atoms ...)) (begin result1 result2 ...) (case key clause clauses ...)))))
- 770 名前:デフォルトの名無しさん mailto:sage [04/07/10 13:29]
- >>769 key が複数回評価されてしまう。値が変るかもしれないし、
変な副作用が出るかもしれない。
- 771 名前:デフォルトの名無しさん mailto:sage [04/07/10 13:33]
- 省略するとKEYが複数回評価されてしまうことがあるな。
こんなんだと違いが出るでしょ。 (case (begin (print "foo") 2) ((0) ()) ((1) ()) ((2) ()))
- 772 名前:769 mailto:sage [04/07/10 13:42]
- >770,771
回答ありがとうございます。 理解できました。
- 773 名前:デフォルトの名無しさん [04/07/10 17:55]
- Lispに興味ある人って結構いると思うんだよね。
でも、ほとんどのユーザーがWindowsなわけで、 LispはWinユーザーにとっては手軽じゃない。 さくっとDLできて、すこっとインストーるできれば もっと流行るんじゃないかねぇ。
- 774 名前:デフォルトの名無しさん mailto:sage [04/07/10 18:38]
- 商用/フリー含めて一番多く Common Lisp 処理系が使える環境は Mac OS X だって
誰かが言ってたね。
- 775 名前:デフォルトの名無しさん mailto:sage [04/07/10 18:53]
- なんか最近は学生気分で呑気なヤシ多いよなぁ。
こちとらpetiteをbinutilsでハックラン中なのに… そろそろ寝まつか
- 776 名前:デフォルトの名無しさん mailto:sage [04/07/10 20:54]
- >>775
そもそもLispなんて仕事で使えるか? VC++やVBに疲れたプログラマが息抜きにやりたいんだろ。
- 777 名前:デフォルトの名無しさん mailto:sage [04/07/10 22:16]
- Shiroさんは仕事で使ってるぜ。
洩れは... 「Lispならこう書ける」を基準に、脳内コンパイルしつつJava書いてる(ぉ
- 778 名前:デフォルトの名無しさん mailto:sage [04/07/10 22:54]
- 無名クラスを乱用しないように気をつけましょうね
- 779 名前:デフォルトの名無しさん mailto:sage [04/07/10 22:58]
- Lispって大脳皮質みたいな感じがする。
でね、運動神経ゼロなの。 Cは脊髄。
- 780 名前:デフォルトの名無しさん mailto:sage [04/07/11 00:07]
- ANSI Common Lisp を読んでいて疑問に思ったのですが、(setf symbol) が
defun の第一引数 (function name) になるって変じゃないですか? CLHS 見たんですけど、良く分かりませんでした。(setf symbol) って何を 返すのでしょうか? www.lisp.org/HyperSpec/Body/mac_defun.html www.lisp.org/HyperSpec/Body/glo_f.html#function_name
- 781 名前:780 mailto:sage [04/07/11 01:01]
- 済みません。ここを読んだら何となく納得しました。
groups.google.co.jp/groups?&th=49b3a6ce675ecc26 www.lisp.org/HyperSpec/Body/sec_5-1.html
- 782 名前:http://media.ebaumsworld.com/mariopiano.wmv mailto:mario [04/07/11 22:14]
- お前ら俺にschemeのsyntax-rulesの使い方を教えなさい
特に (syntax-rules (←この部分には何を書くのよ?→) ((パターン) (テンプレート))* ) ↑この部分 ここwww.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html#SEC42 によると「リテラル」などというご大層な名前が付いてるそうだが じぇんじぇん意味わかんねーぞ(#゚Д゚)ゴルァ(#゚Д゚)ゴルァ(#゚Д゚)ゴルァ(ていうかそもそも訳が下手じゃね?) このスレにいるスーパーハカーの皆さんは 大至急私に、リテラルの意味を教えなさい。 いや、マジで。どこにも分かりやすい説明が無くて。 あんまりバカにしないで。
- 783 名前:デフォルトの名無しさん mailto:mario [04/07/11 22:16]
- とりあえずぬるぽっておくか
(null? ぬるぽ)
- 784 名前:デフォルトの名無しさん [04/07/11 22:17]
- 厨房に荒らされてしまって、このスレももう終わりだな
|

|