1 名前:デフォルトの名無しさん [2007/08/12(日) 21:38:15 ] 過去スレ 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
2 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:43:02 ] □参考リンク□ 日本Lispユーザ会(日本語) jp.franz.com/jlug/index.html ここにかなりの情報があります。 削るとAllegro Common Lispのページへ プログラミング言語Scheme(日本語) ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html Schemeの人はまずここを見ましょう。 Lisper への道(日本語) ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/rakup.html 判りやすいLISP入門サイト。 Schemeへの道(日本語) ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html ここはschemeの入門サイト。 慶応の授業のページ・記号処理プログラミング 2001 ttp://buri.sfc.keio.ac.jp/lisp/menu.html Practical Scheme(日本語) ttp://practical-scheme.net/index-j.html 「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。 (Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)
3 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:44:09 ] □仕様関係□ CLtL2: Common Lisp the Language 2nd edition ttp://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html CLHS: Common Lisp Hyper Spec ttp://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/Chapter-Index.html R5RS: Revised(5) Scheme(ja) ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html □SICP関係□ SICP(英語) ttp://mitpress.mit.edu/sicp/full-text/book/book.html 「計算機プログラムの構造と解釈」の原書です。 全てオンラインで読めます。 計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ ttp://www.ipl.t.u-tokyo.ac.jp/sicp/ SICPの回答集 ttp://www.melt.kyutech.ac.jp/~gogogo/sicp_ex/ ttp://pluto.aurorasd.co.jp/~mkama/sicp/ ttp://www.ipl.t.u-tokyo.ac.jp/sicp/solution.root.html ttp://www.sampou.org/scheme/sicp/answer/
4 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:46:23 ] □wikipedia関連□ ja.wikipedia.org/wiki/LISP ja.wikipedia.org/wiki/Common_Lisp ja.wikipedia.org/wiki/Scheme □継続□ なんでも継続 ttp://practical-scheme.net/docs/cont-j.html Schemeへの道:継続 ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/continuation.html 継続の使い方 ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/index.html#continuation 継続の使用法 ttp://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/block.html CPS(継続渡しスタイル)の説明 ttp://www.csl.sony.co.jp/person/masui/Forum/data/20011215023622/ Kahua: 継続ベースのアプリケーションサーバー ttp://www.kahua.org/
5 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:50:29 ] □その他□ (便利な情報リソース) John McCarthy's Home Page ttp://www-formal.stanford.edu/jmc/ LISPの生みの親、J・マッカーシーのページだそうです。 Association of Lisp Users 米国のLispユーザ会 ttp://www.alu.org/alu/home CMUのLisp Repository 新旧様々なプログラムが置いてある ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html The Common Lisp Cookbook: いわゆる Cookbook ttp://cl-cookbook.sourceforge.net/ Bibliography of Scheme-related Research Scheme関連の論文リンク集 ttp://library.readscheme.org/ Scheme Hash(英語) S式でXMLを使える様にするSXMLなど ttp://okmij.org/ftp/Scheme/index.html 幻の「入門Scheme」 オンラインで読める ttp://www4.ocn.ne.jp/~inukai/scheme_primer_j.html 各種scheme処理系をcygwin上からビルドする方法など。 ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/ encyCMUCLopedia (cmucl以外でも有益なはず ) ttp://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/
6 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:52:29 ] □実装□ Bit (mini-schemeよりも小さい(?)bytecode変換系 ) ttp://www.iro.umontreal.ca/~dube/ Lisp 言語処理系: CAMPUS LIsP, Lemon version (Cでわずか1000行) ttp://aten.aial.hiroshima-u.ac.jp/~kakugawa/clisp/index-ja.shtml Schemix (Linuxのkernelへのパッチで/dev/として扱えるTinyScheme ) ttp://www.abstractnonsense.com/schemix/ awkで書かれたわずか500行のLispインタプリタ ttp://www.accesscom.com/~darius/ Schemeで書かれた正規表現ライブラリ ttp://www.cs.rice.edu/~dorai/pregexp/pregexp.html Tiny CLOS Tutorial ttp://home.adelphi.edu/~sbloch/class/272/tclos/tutorial.shtml Hotdog Scheme MS が金出してたみたい ttp://rover.cs.nwu.edu/~scheme/ Bigloo CLR 用のコードを吐けるようになったらしい ttp://www-sop.inria.fr/mimosa/fp/Bigloo/ SECDR-Scheme: SECD machine model に基づく実装 ttp://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu Minischeme: 1 ファイルに凝縮された Scheme 処理系 ttp://tinyscheme.sourceforge.net/minischeme.tar.gz TinyScheme: Minischeme を色々弄ったもの ttp://tinyscheme.sourceforge.net/ KI-Scheme, AM-Scheme, etc... ttp://www.nifty.com/download/dos/prog/lisp/ LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine. ttp://www.lispme.de/lispme/
7 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:55:40 ] □その他□ (抜け) LISP Scheme Part9 (html化) って、なんでこれだけ ttp://ruku.qp.tc/dat2ch/0403/01/1069594582.html 独習 Scheme 三週間 (Schemeの教科書 ) ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-1.html Cliki (CLコードがたくさん紹介されている。) ttp://www.cliki.net/index よろずや (lispの実用的な情報が色々。 ) ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/ Common-Lisp.net: 多くのプロジェクトがホスティングされてる ttp://common-lisp.net/ Bill Clementson's Blog: Lisp関連の話題が中心のBlog ttp://home.comcast.net/~bc19191/blog/ Practical Common Lisp: S式の羅列で現実的な問題をどう解くのかそのギャップに悩まされてる人に ttp://www.gigamonkeys.com/book/ □イベント□ GaucheNight(2007-05-09) practical-scheme.net/wiliki/wiliki.cgi?GaucheNight 川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、 伊東勝利、久井亨、小黒直樹、ほか 黒田氏関係 (黒板の人) ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/901-909 cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme 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 Script Languages ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang
8 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:58:02 ] □2ch上にあるLISP関係のスレ□ (現在) 【入門】Common Lisp その3【質問よろず】 pc11.2ch.net/test/read.cgi/tech/1181479267/ 【CGI】実用比較Lisp vs C/C++【GUI】 pc11.2ch.net/test/read.cgi/tech/1150501484/ C式(C言語風汎用データ形式)を作ろう! pc10.2ch.net/test/read.cgi/tech/1158259643/ 【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】 pc10.2ch.net/test/read.cgi/tech/1140006937/ Emacs Lisp 2 pc10.2ch.net/test/read.cgi/tech/1068467385/ 【叩かれて】Emacs Lisp道場【強くなれ】 pc10.2ch.net/test/read.cgi/unix/1063880951/ Lisp@UNIX版 pc10.2ch.net/test/read.cgi/unix/1019926525/ 以上終わり。 適当に並べ替えてやった。
9 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:58:28 ] お疲れ。
10 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:59:01 ] >>8 の抜け 【SICP】計算機プログラムの構造と解釈【Scheme】 pc11.2ch.net/test/read.cgi/tech/1107345738/
11 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:01:23 ] >>1 乙だよ>>1
12 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:04:59 ] >>2 リンク先変更 プログラミング言語Scheme(日本語) ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/scheme.html Schemeの人はまずここを見ましょう。 うお−っ>>1
13 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:11:41 ] 乙>>1
14 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:55:05 ] いちもつ
15 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:22:03 ] 最初に頭で浮かべるコードが Scheme + Rubyって俺は少数派?
16 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:53:18 ] >>15 それ括弧が全て begin と end に置き換わった Scheme の事?
17 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:14:23 ] CL だけど前スレより転載。 SBCL Buildbot ttp://sbcl.static.net/ LispUser.net (よろずや?) lispuser.net/
18 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:29:31 ] begin-endはPascalだろw
19 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:44:25 ] これからLispを学ぼうとしてリンク先を一つ一つ見ていったんですけど結構リンク切れがあります。 Lisper への道(日本語) ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/rakup.html 慶応の授業のページ・記号処理プログラミング 2001 ttp://buri.sfc.keio.ac.jp/lisp/menu.html R5RS: Revised(5) Scheme(ja) ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html SICPの回答集 ttp://www.melt.kyutech.ac.jp/~gogogo/sicp_ex/ ttp://pluto.aurorasd.co.jp/~mkama/sicp/ CPS(継続渡しスタイル)の説明 ttp://www.csl.sony.co.jp/person/masui/Forum/data/20011215023622/ Lisp 言語処理系: CAMPUS LIsP, Lemon version (Cでわずか1000行) ttp://aten.aial.hiroshima-u.ac.jp/~kakugawa/clisp/index-ja.shtml Schemeで書かれた正規表現ライブラリ ttp://www.cs.rice.edu/~dorai/pregexp/pregexp.html Tiny CLOS Tutorial ttp://home.adelphi.edu/~sbloch/class/272/tclos/tutorial.shtml Hotdog Scheme MS が金出してたみたい ttp://rover.cs.nwu.edu/~scheme/ SECDR-Scheme: SECD machine model に基づく実装 ttp://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu KI-Scheme, AM-Scheme, etc... ttp://www.nifty.com/download/dos/prog/lisp/ LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine. ttp://www.lispme.de/lispme/ LISP Scheme Part9 (html化) って、なんでこれだけ ttp://ruku.qp.tc/dat2ch/0403/01/1069594582.html
20 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 16:57:22 ] 986 :デフォルトの名無しさん :sage :2007/08/12(日) 03:39:44 Gauche本、まだ出ないのかなぁ 中の人ですがgauche.nightの後shiroさんと打合せをして、 Web公開版とは構成が劇的に変わりました。 現在8/31 DTP入稿を目指して作業中、今秋発売予定です。
21 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:35:58 ] >>20 この4月に、Gauche本のことを知ったのがSchemeを始めるはずみになったので、 嬉しいっすね。出版されたらぜひ読みたいと思います。
22 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 22:03:48 ] 表紙がなにか気になる
23 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 22:19:29 ] >>22 フムフムヌクヌクアプアアだよ
24 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 22:45:20 ] そういう名前の魚が本当にいるから困る
25 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 23:12:15 ] gauche ってまだ1.0にもなってないのに本が出るの? 時期尚早じゃね?
26 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 01:15:39 ] >>25 へへーんだっ
27 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 01:40:18 ] Perl6 は言語も処理系もできてないのに本がでてたくらいだから いいんでないの? 0.8.10 とはいえかなり安定してるし。 まぁ、1.0 といってもたとえば SBCL なんかは特になにかあったわけではなく マーケティングのために 1.0 にしただけ、ってのもあるけどね。
28 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:40:33 ] バージョン番号なんて作者やメーカーにより様々 1.0の定義だってバラバラなんだからこだわっても意味ないべ
29 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 23:12:01 ] じゃあ逆に gauche 1.0 で欲しいものは?
30 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 00:32:46 ] x86 用のネイティブコードコンパイラ コンパイルした結果をオブジェクトファイルに保存出来る事
31 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 00:42:06 ] Schemeはみんなgauche使ってるの?
32 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 00:51:26 ] 俺はKawaがメイン
33 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 01:00:59 ] 俺はDrSchemeかな
34 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 01:01:04 ] 俺はまだまだ入門レベルだけど、処理系は意味なく入れるだけは複数入れてみてる。 Guile,MzScheme,Petite Chez Scheme,Scheme48,mit-scheme,bigloo 他にもあったかも。でもGauche以外ほとんど使ってないなぁ。
35 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 02:29:22 ] 機能的に拘らないときは guile を使ったりする。たいていプリインストールされているからね。
36 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 03:02:13 ] ttp://homepage3.nifty.com/strcat/steel/index.html こんなん見つけたけどどうよ?
37 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 03:08:30 ] 新しい言語の紹介ページ見るたびいつも思うけど 紹介文だらだら書かないで何か小さいプログラムを載せておいて欲しい
38 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 03:48:27 ] そうだな その言語ならではの流儀ってもんが判らんと その言語がどう良いのかよく分からん Schemeで再帰使わないの勿体ないし awkで「テキストファイルの各行に対して処理」する場合ほとんどループ書かないし Perlは色んな処理にもっと短い書き方があるし PHPで print "<HTML>"; なんてまずしないし "SELECT * FROM テーブル"なんてSQLを発行してプログラム側で選択射影するのは勘弁だし そういえばCOBOLですら「レコードを桁で区切る」コードは他の言語にはない書き方をする
39 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 20:15:20 ] 2chに書き込んでも嫌みでない程度に短く、 Schemeの特長がよくでていて、 知らない人にも簡単に説明できる、 Scheme向きの例題となるとどんなものに なりますか。
40 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:47:28 ] gauche 0.8.11おめ。
41 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 11:04:20 ] >>39 そゆのはスクリプト言語の得意分野だとおもうよ Scheme が目指してるのは数行で特徴を自慢することじゃないから
42 名前:デフォルトの名無しさん [2007/08/18(土) 12:01:18 ] schemeを会社で使ったりしますか? 常識的に考えれば Haskell を使いますが。
43 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 12:45:47 ] どういう常識だろう。
44 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 12:47:31 ] >>43 「非」
45 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 20:37:17 ] >>39 こんなのとか? (let f ((a 0) (b 0) (r '())) (if (> b 10000) (reverse r) (f b (+ a b) (cons a r))))
46 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 22:40:32 ] >>39 "Hello,world!"
47 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 22:41:59 ] >>46 確かにSchemeの特長がよくでていて、知らない人にも簡単に説明できるな。w
48 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:35:50 ] >>45 なんか最後にreverseするのがダサい
49 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:12:33 ] じゃあどうしろと
50 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:35:20 ] named letはダサい
51 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:41:27 ] >>50 ダサい部分も含めてSchemeの特徴がよく出ている例なの鴨
52 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:42:19 ] >>49 漢なら reverse! だな
53 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:50:23 ] ムチャシヤガッテ
54 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:53:21 ] ((lambda (lambda) (lambda lambda)) (lambda (lambda) (lambda lambda)))
55 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 13:29:20 ] >>54 無限ループった
56 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 17:55:57 ] >>45 ってaもbも増えずに無限ループするんじゃないの ?
57 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 18:07:06 ] >56 俺のGaucheでは動いた フィボナッチ数列の頭にゼロが入ったものが返る式
58 名前:デフォルトの名無しさん [2007/08/19(日) 18:26:43 ] これ a も b も増えないな
59 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 19:30:02 ] >>57 ウソ付いちゃいかん、aもbも初期値が0なので(+ a b)が0のままだぞ
60 名前:デフォルトの名無しさん [2007/08/19(日) 19:51:38 ] カウンタを書くとこんな感じ (define (returnobj x) (define (proc1) (set! x (+ x 1))) (define (proc0) (set! x (- x 1))) (define (count) x) (define (interface z) (cond((eq? z 'age) (proc1)) ((eq? z 'sage) (proc0)) ((eq? z 'count) x) (else (display "(www" )))) interface)
61 名前:デフォルトの名無しさん [2007/08/19(日) 19:54:14 ] 実行結果 Welcome to DrScheme, version 370 [3m]. Language: Standard (R5RS). > (define obj (returnobj 6)) > (obj 'count) 6 > (obj 'age) > (obj 'age) > (obj 'count) 8 > (obj 'sage) > (obj 'count) 7 > (obj 'els) (www >
62 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 20:06:06 ] >>59 すまん (b 1) に脳内変換してくれ
63 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 21:47:25 ] フィボナッチしたいならどちらにしろ 初期値は a も b も 1 で始めなきゃおかしくね?
64 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 22:14:57 ] フィボナッチの定義次第
65 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 22:57:26 ] >>62 コードみてfibっぽいな〜とは解ったんだが何で初期値が0かと考えたらタダの嫌がらせにしか見えなくなった俺の立場は?
66 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:02:29 ] 「バグったプログラム」の実例としては良くできていた
67 名前:デフォルトの名無しさん [2007/08/19(日) 23:24:17 ] >>48 (let f ((a 1) (b 1)) (if (> b 100) '() (cons a (f b (+ a b))))) というかnamed letって構文はじめて知った
68 名前:デフォルトの名無しさん mailto:age [2007/08/19(日) 23:28:30 ] 見づらいリスト・・・?
69 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:34:00 ] named let に付ける名前って loop とか良く見掛けるけど あれはあくまで慣例に過ぎないの?
70 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:46:23 ] 慣例じゃないという発想がどこから沸いて出たのかが知りたいところ
71 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:57:46 ] >>69 うん
72 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 00:05:19 ] >>54 ((call/cc call/cc) (call/cc call/cc))
73 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 00:37:55 ] schemeは素晴らしいな
74 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:55:51 ] (内包表記マクロ)って当たり前のように使ってますか?
75 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 03:00:04 ] 内包表記ってのが SRFI-42 のことならlet するよりてっとりばやいしよく使う。
76 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 03:53:29 ] そう、SRFI-42 のことです。 >> let するよりてっとりばやい うーん、全然ピンと来ません。とても難しいと感じてるんですが、 どの辺から入っていけば良いのか…
77 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 05:47:05 ] ttp://practical-scheme.net/gauche/man/gauche-refj_114.html 数の対(x y)の集合を生成します。ここでxは 2以上 5未満、yは1以上 x 未満です。 (list-ec (: x 2 5) (: y 1 x) (list x y)) ⇒ ((2 1) (3 1) (3 2) (4 1) (4 2) (4 3)) これの意味がわからない
78 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 06:19:04 ] >>77 ループの入れ子になる、と考えれば判るかな。 dotimes 使って同じ結果を得るにはこんな感じ。 (let1 acc '() (dotimes (x 3 (reverse! acc)) (dotimes (y (+ x 1)) (push! acc (list (+ x 2) (+ y 1))) )))
79 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 06:22:39 ] >>77 x は 2 .. 5 で、 y は 1 .. x の範囲の x y をリストにしたものの集合を返す。 どのレベルでわかんないの?逆に↓だとどのへんまでわかる? 1. (list-ec (: x 0 10) x) == (iota 10) 2. (list-ec (: x 0 10) (* x 2)) == (mapcar (lambda (x) (* x 2)) (iota 10)) 3. (list-ec (: x 0 10) (: y 0 10) (cons x y)) 4. (list-ec (: x 0 10) (: y 0 x) (cons x y)) (: ...) の意味がわからんとかそーゆう意味だろうか。
80 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 18:43:19 ] あー意味わかった なんか「集合」って言葉に惑わされてた 対のユニークな組み合わせ生成するのかと思って >>77 のどこがそうなんだとか変に難しく考えてた ただのループ生成器か
81 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 20:09:48 ] (comprehension-macro qualifier … body) ということですが、むしろ body の書き方のほうがよくわからんです。 (do-ec (:range i 0 10) (display i)) =>0123456789 偶数の場合に2回出力させてみようとして、(if test) を付けると前の (display i) を begin で括らないとならない…。更に、3回出力させようとすると後の (display i) も begin で括らないとならない…。何ででしょう? (do-ec (:range i 0 10) (begin (display i)) (if (even? i)) (display i)) =>001223445667889 (do-ec (:range i 0 10) (begin (display i)) (if (even? i)) (begin (display i) (display i))) =>00012223444566678889
82 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 03:56:19 ] ttp://ll.jus.or.jp/2006/blog/doukaku1 (use srfi-42) (list-ec (: n 2 101) (if (not(any?-ec(: j 2 n)(zero?(modulo n j)))))n) これで100までの素数が出るみたいですがわかりません
83 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 13:28:21 ] どうわからないのかくらい書ける人間になりましょう
84 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 20:36:12 ] こうですか、わかりません!!!
85 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 21:54:32 ] (: j 2 (sqrt n))じゃないのがわかりません。
86 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 01:12:37 ] Eager Comprehensions が少し見えてきたので記念パピコ (let1 l (list-ec (:range n 2 101) (list-ec (:range j 2 n) (cons n (modulo n j)))) (list-ec (:list x (cdr l)) (if (not (any?-ec (:list y x) (zero? (cdr y))))) (caar x)))
87 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 18:50:40 ] IronLisp きました ttp://ironpython-urls.blogspot.com/2007/08/new-dlr-based-net-language-ironlisp.html
88 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:05:00 ] ダメだ、夏場に読むとアイロンLISPに見えて暑くてかなわん。
89 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 13:10:35 ] >>85 ちゃんと見ないでコメントするけど、 平方根の計算でループの終端をnにするか√nにするかは本質じゃないだろ
90 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 13:11:40 ] 平方根の計算、じゃなくて素数の計算だ すまん
91 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 18:48:29 ] そうですか はい次
92 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 22:36:23 ] >>87 また俺LISPか
93 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 23:07:41 ] IronCommonLispなら欲しい
94 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 23:12:11 ] L#はどう?
95 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 00:22:33 ] IronGaucheが欲しいw
96 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 01:49:26 ] Iron Chefがほしい
97 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 01:58:07 ] IronErlangがほしい
98 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 03:15:16 ] スレチどすえ
99 名前:little schemer [2007/08/24(金) 05:19:11 ] 某scheme本の中で分からない部分があって質問させてください。 以下の定義のmultirember-coをつかって (multirember-co 'a '((a) ((a))) (lambda (x y) y)) とすると、 ((a) ((a))) が返るのですが、これを(a a)とするにはどうすればよいでしょうか? (define multirember-co (lambda (a lat col) (cond ((null? lat) (col '() '())) ((atom? (car lat)) (cond ((eq? (car lat) a) (multirember-co a (cdr lat) (lambda (newlat seen) (col newlat (cons (car lat) seen))))) (else (multirember-co a (cdr lat) (lambda (newlat seen) (col (cons (car lat) newlat) seen)))))) (else (multirember-co a (car lat) (lambda (newlat seen) (multirember-co a (cdr lat) (lambda (newlat2 seen2) (col (cons newlat newlat2) (cons seen seen2))))))))))
100 名前:little schemer [2007/08/24(金) 12:07:05 ] 99です。 上記の質問よりも、最後のelse以下のところをどのように理解すればよいのか ヒントとかをもらえたら助かります。上記の処理の内容は、 (multirember-co 'a '(a b c) (lambda (x y) x)) => (b c) というように、1つめの引数(atom)を2つめの引数(list)から取る処理です。 このとき、2つめの引数が((a b) a b c d)の時に、つまり(car lat)が atomでないときの動作が理解しにくいです。一旦(car lat)に対する処理を 行って、それが最後までいった後に、残りの(cdr lat)への処理を続ける のだと思うのですが、、、、 長々と失礼しました。