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


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

Lisp Scheme Part18



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)への処理を続ける
のだと思うのですが、、、、

長々と失礼しました。





101 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 13:34:47 ]
>>97
アーランは既に JIT あるじゃん。






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

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

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