Lisp Scheme Part18
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/08/12(日) 21:38:15Part17: 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
0002デフォルトの名無しさん
2007/08/12(日) 21:43:02日本Lispユーザ会(日本語) http://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処理系作者さんのページでもあります。)
0003デフォルトの名無しさん
2007/08/12(日) 21:44:09CLtL2: 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/
0004デフォルトの名無しさん
2007/08/12(日) 21:46:23http://ja.wikipedia.org/wiki/LISP
http://ja.wikipedia.org/wiki/Common_Lisp
http://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/
0005デフォルトの名無しさん
2007/08/12(日) 21:50:29John 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/
0006デフォルトの名無しさん
2007/08/12(日) 21:52:29Bit (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/
0007デフォルトの名無しさん
2007/08/12(日) 21:55:40LISP 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)
http://practical-scheme.net/wiliki/wiliki.cgi?GaucheNight
川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、
伊東勝利、久井亨、小黒直樹、ほか
黒田氏関係 (黒板の人)
ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/901-909
http://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
0008デフォルトの名無しさん
2007/08/12(日) 21:58:02【入門】Common Lisp その3【質問よろず】
http://pc11.2ch.net/test/read.cgi/tech/1181479267/
【CGI】実用比較Lisp vs C/C++【GUI】
http://pc11.2ch.net/test/read.cgi/tech/1150501484/
C式(C言語風汎用データ形式)を作ろう!
http://pc10.2ch.net/test/read.cgi/tech/1158259643/
【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
http://pc10.2ch.net/test/read.cgi/tech/1140006937/
Emacs Lisp 2
http://pc10.2ch.net/test/read.cgi/tech/1068467385/
【叩かれて】Emacs Lisp道場【強くなれ】
http://pc10.2ch.net/test/read.cgi/unix/1063880951/
Lisp@UNIX版
http://pc10.2ch.net/test/read.cgi/unix/1019926525/
以上終わり。
適当に並べ替えてやった。
0009デフォルトの名無しさん
2007/08/12(日) 21:58:280010デフォルトの名無しさん
2007/08/12(日) 21:59:01【SICP】計算機プログラムの構造と解釈【Scheme】
http://pc11.2ch.net/test/read.cgi/tech/1107345738/
0011デフォルトの名無しさん
2007/08/12(日) 22:01:230012デフォルトの名無しさん
2007/08/12(日) 22:04:59プログラミング言語Scheme(日本語)
ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/scheme.html
Schemeの人はまずここを見ましょう。
うお−っ>>1
0013デフォルトの名無しさん
2007/08/12(日) 22:11:410014デフォルトの名無しさん
2007/08/12(日) 22:55:050015デフォルトの名無しさん
2007/08/13(月) 06:22:03Scheme + Rubyって俺は少数派?
0016デフォルトの名無しさん
2007/08/13(月) 06:53:18それ括弧が全て begin と end に置き換わった Scheme の事?
0017デフォルトの名無しさん
2007/08/13(月) 08:14:23SBCL Buildbot
ttp://sbcl.static.net/
LispUser.net (よろずや?)
http://lispuser.net/
0018デフォルトの名無しさん
2007/08/13(月) 08:29:310019デフォルトの名無しさん
2007/08/13(月) 08:44:25Lisper への道(日本語)
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
0020デフォルトの名無しさん
2007/08/13(月) 16:57:22Gauche本、まだ出ないのかなぁ
中の人ですがgauche.nightの後shiroさんと打合せをして、
Web公開版とは構成が劇的に変わりました。
現在8/31 DTP入稿を目指して作業中、今秋発売予定です。
0021デフォルトの名無しさん
2007/08/13(月) 21:35:58この4月に、Gauche本のことを知ったのがSchemeを始めるはずみになったので、
嬉しいっすね。出版されたらぜひ読みたいと思います。
0022デフォルトの名無しさん
2007/08/13(月) 22:03:480023デフォルトの名無しさん
2007/08/13(月) 22:19:29フムフムヌクヌクアプアアだよ
0024デフォルトの名無しさん
2007/08/13(月) 22:45:200025デフォルトの名無しさん
2007/08/13(月) 23:12:15時期尚早じゃね?
0026デフォルトの名無しさん
2007/08/15(水) 01:15:39へへーんだっ
0027デフォルトの名無しさん
2007/08/15(水) 01:40:18いいんでないの? 0.8.10 とはいえかなり安定してるし。
まぁ、1.0 といってもたとえば SBCL なんかは特になにかあったわけではなく
マーケティングのために 1.0 にしただけ、ってのもあるけどね。
0028デフォルトの名無しさん
2007/08/15(水) 12:40:331.0の定義だってバラバラなんだからこだわっても意味ないべ
0029デフォルトの名無しさん
2007/08/15(水) 23:12:010030デフォルトの名無しさん
2007/08/16(木) 00:32:46コンパイルした結果をオブジェクトファイルに保存出来る事
0031デフォルトの名無しさん
2007/08/16(木) 00:42:060032デフォルトの名無しさん
2007/08/16(木) 00:51:260033デフォルトの名無しさん
2007/08/16(木) 01:00:590034デフォルトの名無しさん
2007/08/16(木) 01:01:04Guile,MzScheme,Petite Chez Scheme,Scheme48,mit-scheme,bigloo
他にもあったかも。でもGauche以外ほとんど使ってないなぁ。
0035デフォルトの名無しさん
2007/08/16(木) 02:29:220036デフォルトの名無しさん
2007/08/16(木) 03:02:13こんなん見つけたけどどうよ?
0037デフォルトの名無しさん
2007/08/16(木) 03:08:30紹介文だらだら書かないで何か小さいプログラムを載せておいて欲しい
0038デフォルトの名無しさん
2007/08/16(木) 03:48:27その言語ならではの流儀ってもんが判らんと
その言語がどう良いのかよく分からん
Schemeで再帰使わないの勿体ないし
awkで「テキストファイルの各行に対して処理」する場合ほとんどループ書かないし
Perlは色んな処理にもっと短い書き方があるし
PHPで print "<HTML>"; なんてまずしないし
"SELECT * FROM テーブル"なんてSQLを発行してプログラム側で選択射影するのは勘弁だし
そういえばCOBOLですら「レコードを桁で区切る」コードは他の言語にはない書き方をする
0039デフォルトの名無しさん
2007/08/17(金) 20:15:20Schemeの特長がよくでていて、
知らない人にも簡単に説明できる、
Scheme向きの例題となるとどんなものに
なりますか。
0040デフォルトの名無しさん
2007/08/18(土) 10:47:280041デフォルトの名無しさん
2007/08/18(土) 11:04:20Scheme が目指してるのは数行で特徴を自慢することじゃないから
0042デフォルトの名無しさん
2007/08/18(土) 12:01:18常識的に考えれば Haskell を使いますが。
0043デフォルトの名無しさん
2007/08/18(土) 12:45:470044デフォルトの名無しさん
2007/08/18(土) 12:47:31「非」
0045デフォルトの名無しさん
2007/08/18(土) 20:37:17こんなのとか?
(let f ((a 0) (b 0) (r '()))
(if (> b 10000) (reverse r)
(f b (+ a b) (cons a r))))
0046デフォルトの名無しさん
2007/08/18(土) 22:40:32"Hello,world!"
0047デフォルトの名無しさん
2007/08/18(土) 22:41:59確かにSchemeの特長がよくでていて、知らない人にも簡単に説明できるな。w
0048デフォルトの名無しさん
2007/08/19(日) 00:35:50なんか最後にreverseするのがダサい
0049デフォルトの名無しさん
2007/08/19(日) 02:12:330050デフォルトの名無しさん
2007/08/19(日) 02:35:200051デフォルトの名無しさん
2007/08/19(日) 02:41:27ダサい部分も含めてSchemeの特徴がよく出ている例なの鴨
0052デフォルトの名無しさん
2007/08/19(日) 02:42:19漢なら reverse! だな
0053デフォルトの名無しさん
2007/08/19(日) 02:50:230054デフォルトの名無しさん
2007/08/19(日) 03:53:210055デフォルトの名無しさん
2007/08/19(日) 13:29:20無限ループった
0056デフォルトの名無しさん
2007/08/19(日) 17:55:570057デフォルトの名無しさん
2007/08/19(日) 18:07:06俺のGaucheでは動いた
フィボナッチ数列の頭にゼロが入ったものが返る式
0058デフォルトの名無しさん
2007/08/19(日) 18:26:430059デフォルトの名無しさん
2007/08/19(日) 19:30:02ウソ付いちゃいかん、aもbも初期値が0なので(+ a b)が0のままだぞ
0060デフォルトの名無しさん
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)
0061デフォルトの名無しさん
2007/08/19(日) 19:54:14Welcome 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
>
0062デフォルトの名無しさん
2007/08/19(日) 20:06:06すまん (b 1) に脳内変換してくれ
0063デフォルトの名無しさん
2007/08/19(日) 21:47:25初期値は a も b も 1 で始めなきゃおかしくね?
0064デフォルトの名無しさん
2007/08/19(日) 22:14:570065デフォルトの名無しさん
2007/08/19(日) 22:57:26コードみてfibっぽいな〜とは解ったんだが何で初期値が0かと考えたらタダの嫌がらせにしか見えなくなった俺の立場は?
0066デフォルトの名無しさん
2007/08/19(日) 23:02:290067デフォルトの名無しさん
2007/08/19(日) 23:24:17(let f ((a 1) (b 1))
(if (> b 100)
'()
(cons a (f b (+ a b)))))
というかnamed letって構文はじめて知った
0068デフォルトの名無しさん
2007/08/19(日) 23:28:300069デフォルトの名無しさん
2007/08/19(日) 23:34:00あれはあくまで慣例に過ぎないの?
0070デフォルトの名無しさん
2007/08/19(日) 23:46:230071デフォルトの名無しさん
2007/08/19(日) 23:57:46うん
0072デフォルトの名無しさん
2007/08/20(月) 00:05:19((call/cc call/cc) (call/cc call/cc))
0073デフォルトの名無しさん
2007/08/20(月) 00:37:550074デフォルトの名無しさん
2007/08/20(月) 01:55:510075デフォルトの名無しさん
2007/08/20(月) 03:00:040076デフォルトの名無しさん
2007/08/20(月) 03:53:29>> let するよりてっとりばやい
うーん、全然ピンと来ません。とても難しいと感じてるんですが、
どの辺から入っていけば良いのか…
0077デフォルトの名無しさん
2007/08/20(月) 05:47:05数の対(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))
これの意味がわからない
0078デフォルトの名無しさん
2007/08/20(月) 06:19:04ループの入れ子になる、と考えれば判るかな。
dotimes 使って同じ結果を得るにはこんな感じ。
(let1 acc '() (dotimes (x 3 (reverse! acc)) (dotimes (y (+ x 1)) (push! acc (list (+ x 2) (+ y 1))) )))
0079デフォルトの名無しさん
2007/08/20(月) 06:22:39x は 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))
(: ...) の意味がわからんとかそーゆう意味だろうか。
0080デフォルトの名無しさん
2007/08/20(月) 18:43:19なんか「集合」って言葉に惑わされてた
対のユニークな組み合わせ生成するのかと思って
>>77のどこがそうなんだとか変に難しく考えてた
ただのループ生成器か
0081デフォルトの名無しさん
2007/08/20(月) 20:09:48ということですが、むしろ 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
0082デフォルトの名無しさん
2007/08/21(火) 03:56:19(use srfi-42)
(list-ec (: n 2 101) (if (not(any?-ec(: j 2 n)(zero?(modulo n j)))))n)
これで100までの素数が出るみたいですがわかりません
0083デフォルトの名無しさん
2007/08/21(火) 13:28:210084デフォルトの名無しさん
2007/08/21(火) 20:36:120085デフォルトの名無しさん
2007/08/21(火) 21:54:320086デフォルトの名無しさん
2007/08/22(水) 01:12:37(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)))
0087デフォルトの名無しさん
2007/08/22(水) 18:50:40ttp://ironpython-urls.blogspot.com/2007/08/new-dlr-based-net-language-ironlisp.html
0088デフォルトの名無しさん
2007/08/22(水) 22:05:000089デフォルトの名無しさん
2007/08/23(木) 13:10:35ちゃんと見ないでコメントするけど、
平方根の計算でループの終端をnにするか√nにするかは本質じゃないだろ
0090デフォルトの名無しさん
2007/08/23(木) 13:11:40すまん
0091デフォルトの名無しさん
2007/08/23(木) 18:48:29はい次
0092デフォルトの名無しさん
2007/08/23(木) 22:36:23また俺LISPか
0093デフォルトの名無しさん
2007/08/23(木) 23:07:410094デフォルトの名無しさん
2007/08/23(木) 23:12:110095デフォルトの名無しさん
2007/08/24(金) 00:22:330096デフォルトの名無しさん
2007/08/24(金) 01:49:260097デフォルトの名無しさん
2007/08/24(金) 01:58:070098デフォルトの名無しさん
2007/08/24(金) 03:15:160099little schemer
2007/08/24(金) 05:19:11以下の定義の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))))))))))
0100little schemer
2007/08/24(金) 12:07:05上記の質問よりも、最後の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)への処理を続ける
のだと思うのですが、、、、
長々と失礼しました。
0101デフォルトの名無しさん
2007/08/24(金) 13:34:47アーランは既に JIT あるじゃん。
0102デフォルトの名無しさん
2007/08/24(金) 14:18:14その本は読んでないのでコード見た印象で。
要は継続渡しなんだと思うけど、else のところは
1 まず (car lat) に対する処理をする
2 次に (cdr lat) に対する処理をする
3 二つの結果を cons してから残りの処理をする
という手順で処理するということが書いてある。
> (lambda (newlat seen)
> (multirember-co a (cdr lat) (lambda (newlat2 seen2)
> (col (cons newlat newlat2)
> (cons seen seen2)))))
ここが 2,3 をまとめたもので、これを 1 のあとにやるべき処理として渡してる。
その内側の lambda が 3 に対応してる。
0103デフォルトの名無しさん
2007/08/24(金) 21:44:40"0.8.11"
gosh> (read)
(foo, bar)
(foo ,bar)
あるいは、
gosh> '(foo, bar, baz)
(foo ,bar ,baz)
となりますがこれはこういうものなんでしょうか?
0104デフォルトの名無しさん
2007/08/24(金) 22:16:20ちゃんと基礎やってから出直しておいで。
0105デフォルトの名無しさん
2007/08/24(金) 22:28:47他の言語のリストやタプルの書き方と混同してない?
0106デフォルトの名無しさん
2007/08/24(金) 23:03:19http://community.computerhistory.org/scc/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
0107デフォルトの名無しさん
2007/08/24(金) 23:19:460108デフォルトの名無しさん
2007/08/25(土) 00:02:17ファイルに (Fri, Aug 24 23:30:43+0900 2007) のように記録されていて
(read) で読み取ろうと思ったんですが
=>(Fri ,Aug 24 |23:30:43+0900| 2007)
("Fri, Aug 24 23:30:43+0900 2007")
のように記録しとかないとならなかったということでした
readはあまり使ったことないんです、_| ̄|○
0109デフォルトの名無しさん
2007/08/25(土) 00:22:231980年頃のMaclispには有った
0110デフォルトの名無しさん
2007/08/25(土) 00:36:27MSVC版ktkr
0111デフォルトの名無しさん
2007/08/25(土) 02:07:070112little schemer
2007/08/25(土) 03:01:28なるほど、これが継続なんですね。
もうちょっとで二冊目に行けそうなんですが、
これが理解できずに止まってました。
処理を一つ一つ追っていくとこんがらがってきてたのですが、
してくれた説明を読んだおかげでコードがわかりやすくなった感じです。
(ただ、自分ではまだ書ける気がしません)
ありがとうございました!
0113デフォルトの名無しさん
2007/08/26(日) 03:48:100114デフォルトの名無しさん
2007/08/26(日) 04:08:360115デフォルトの名無しさん
2007/08/26(日) 08:18:04関数で定義したほうがapply出来たりして柔軟性が増すと思うんですが、
R5RSだと7.3でsyntax-rulesで定義がされてます。
関数で定義するとなんか問題が発生したりするんでしょうか。
0116デフォルトの名無しさん
2007/08/26(日) 08:29:19(and (pair? foo) (car foo))
みたいなのができない。
0117デフォルトの名無しさん
2007/08/26(日) 08:34:050118デフォルトの名無しさん
2007/08/26(日) 09:10:38そこまでやるなら if や define も関数にしたら如何?w
0119デフォルトの名無しさん
2007/08/26(日) 09:26:33陽にlambdaを渡すようにすれば関数でもいいわけだよな
果てしなく面倒くさいが
0120デフォルトの名無しさん
2007/08/26(日) 09:48:25>>119
その場合、各引数を lambda で包んでその関数に渡すようなマクロが欲しくなるかもw
0121デフォルトの名無しさん
2007/08/26(日) 13:16:000122デフォルトの名無しさん
2007/08/28(火) 00:40:100123デフォルトの名無しさん
2007/08/29(水) 14:14:20現在のマクロは
Schemeだと名前呼び+レキシカルスコープの関数
CLだと名前呼び+ダイナミックスコープの関数と等価?
0124デフォルトの名無しさん
2007/08/29(水) 15:00:150125デフォルトの名無しさん
2007/08/29(水) 16:25:140126デフォルトの名無しさん
2007/08/29(水) 17:04:59R6+RSで構文オブジェクトもファーストクラスにならないかな
ところでR6RSどこにキタの?
0127デフォルトの名無しさん
2007/08/29(水) 17:33:57引数を評価しないでシンボルのまま扱う手段が必要で、遅延評価だけじゃ足りない。
0128デフォルトの名無しさん
2007/08/29(水) 20:33:34評価すべき部分(例えば setq の第2引数みたいなの)は明示的に eval を呼ぶわけだが、
スコープの関係とかぐちゃぐちゃになって使いにくかったらしい。
0129デフォルトの名無しさん
2007/08/31(金) 04:16:32ttp://lists.r6rs.org/pipermail/r6rs-discuss/2007-August/003272.html
ttp://www.r6rs.org/ratification/results.html
YESの人たちとNOの人たちのコメントの差が物悲しい(量・質共に)。
preliminary resultsが出た時は承認ラインが全投票人数の60%と
なぜか思い込んでたもんで、僅差(67/112)で届かないと思って
ホッとしてたりもしたんだけど、まぁ有効投票数ですよね、普通。
0130デフォルトの名無しさん
2007/08/31(金) 07:27:54どうして
(atom? (1 2 3))
はだめで、
(atom? '(1 2 3))
はよいのか、わかりません。
どうかおしえてください。
0131デフォルトの名無しさん
2007/08/31(金) 09:35:50「よい」「だめ」とは?
0132デフォルトの名無しさん
2007/08/31(金) 11:05:24上は手続きの呼び出し
下はリスト
0133デフォルトの名無しさん
2007/08/31(金) 12:47:300134デフォルトの名無しさん
2007/09/08(土) 22:47:23設定言語みたいなのから, マクロ使いまくりで関数自動生成しまくってる
lisp プログラムを "C に移植して" ってな話を持ちかけられたんだけど,
やっぱ yacc とか bison のお世話になるしかないのかな?
ここでまずけりゃ, 適当なところにルーティングして...
0135デフォルトの名無しさん
2007/09/08(土) 23:40:390136デフォルトの名無しさん
2007/09/09(日) 01:13:57おぉ... ありがとん
0137デフォルトの名無しさん
2007/09/18(火) 10:33:07http://scheme-punks.cyber-rush.org/wiki/index.php?title=ERR5RS:Charter
どうよ
0138ZRBeILAFMGofkjIGHrE
2007/09/20(木) 12:33:380139SSVIenDRWPT
2007/09/20(木) 12:33:430140デフォルトの名無しさん
2007/09/20(木) 21:56:24これってどういう事?
0141デフォルトの名無しさん
2007/09/21(金) 08:59:220142KNvYxfMgSFWzOWxbL
2007/09/22(土) 02:55:55[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0484.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html">big cocks</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html">big dick</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html">big dicks</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html">big naturals</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html]pussy[/URL]
0143ycyihMlyObYpqBH
2007/09/22(土) 04:15:03[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0484.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html">big cocks</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html">big dick</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html">big dicks</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html">big naturals</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html]pussy[/URL]
0144デフォルトの名無しさん
2007/09/22(土) 04:27:450145デフォルトの名無しさん
2007/09/22(土) 09:07:540146デフォルトの名無しさん
2007/09/22(土) 11:40:030147デフォルトの名無しさん
2007/09/22(土) 12:06:420148デフォルトの名無しさん
2007/09/22(土) 12:12:040149デフォルトの名無しさん
2007/09/22(土) 12:14:340150デフォルトの名無しさん
2007/09/22(土) 12:21:08wwwwww
0151OniOoXUFcrjMlcjpz
2007/09/22(土) 12:21:12[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0942.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1022.html">big tits</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1022.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1155.html">big tits round asses</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1155.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0124.html">black lesbians</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0124.html]pussy[/URL]
<a href="http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0284.html">black pussy</a>
[URL=http://www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0284.html]pussy[/URL]
0152デフォルトの名無しさん
2007/09/22(土) 23:05:190153デフォルトの名無しさん
2007/09/22(土) 23:06:360154デフォルトの名無しさん
2007/09/22(土) 23:21:000155デフォルトの名無しさん
2007/09/22(土) 23:35:290156デフォルトの名無しさん
2007/09/22(土) 23:39:180157デフォルトの名無しさん
2007/09/23(日) 10:58:340158デフォルトの名無しさん
2007/09/23(日) 11:58:240159デフォルトの名無しさん
2007/09/23(日) 12:55:340160デフォルトの名無しさん
2007/09/23(日) 13:08:430161デフォルトの名無しさん
2007/09/23(日) 13:56:580162デフォルトの名無しさん
2007/09/23(日) 14:37:120163デフォルトの名無しさん
2007/09/23(日) 15:34:440164デフォルトの名無しさん
2007/09/23(日) 15:47:020165デフォルトの名無しさん
2007/09/23(日) 15:49:180166デフォルトの名無しさん
2007/09/23(日) 15:51:500167デフォルトの名無しさん
2007/09/23(日) 16:00:120168デフォルトの名無しさん
2007/09/23(日) 16:18:46俺にはフルチンのイジが見えたのだが
0169デフォルトの名無しさん
2007/09/23(日) 18:46:26こんなんみえた
0170デフォルトの名無しさん
2007/09/24(月) 01:21:54脱がしてる感するよね
0171デフォルトの名無しさん
2007/09/24(月) 01:57:380172デフォルトの名無しさん
2007/09/24(月) 02:52:110173デフォルトの名無しさん
2007/09/28(金) 19:43:310174デフォルトの名無しさん
2007/09/28(金) 20:24:410175デフォルトの名無しさん
2007/09/28(金) 22:49:03CLISP+Emacsなどでも覚えられると思うのですが、ACLが素晴らしいIDEだと書いてあったので
最初からそういうものを使うのが良いのか悪いのかもわかりませんが(^^;)
0176デフォルトの名無しさん
2007/09/28(金) 22:50:160177デフォルトの名無しさん
2007/09/28(金) 22:54:11ストレスなくlispを勉強できると思うよ。
つか、elisp なのにあれほど完成度高いのは異常。
0178デフォルトの名無しさん
2007/09/28(金) 23:01:46ただし「IDE が素晴しい」ってのは微妙だな。どこで読んだの?
VB みたいな GUI ビルダーとかプロファイラとかが充実してるという意味ならそうだが、
コードを書く作業だけは Emacs と SLIME もしくは ELI (ACL附属の SLIME みたいなもん) を使うほうが一般的。
車の免許にたとえると、
- ACL Express: 初心者向けに調整されてリミッターかけまくったレーシングカー
- CLISP: リミッターはなしの限界まで使いたおせる軽自動車
Emacs のセットアップがめんどうなら LispWorks なんかもいいかもね。エディタも Emacs ライクだし。
まぁ、かくいう俺は学生時代はリミッターつきというのが気に入らなくて CLISP とかフリーのを使ってたけどね。
0179デフォルトの名無しさん
2007/09/29(土) 00:34:20で、値段も手頃とは言い難いが手が出ないほどじゃない(ACLは無理!)ので購入しようとしたのだけど。
国内じゃ扱ってないのでしょんぼり。
0180デフォルトの名無しさん
2007/09/29(土) 00:44:550181175
2007/09/29(土) 01:21:28なんとなくイメージがつかめました。かな?
> ただし「IDE が素晴しい」ってのは微妙だな。どこで読んだの?
ここです。
http://tamago-club.cocolog-nifty.com/nitris1/2006/05/15_truefalse__aa13.html#more
Emacsは大学で端末室にあったUNIXでパンキョウの課題のレポートなどを
書くときに使ったり、設定をコピペして変えて遊んだりしたくらいでして、
使いこなしているというレベルではありませんw
一応Emacsではこれを最近ダウソして弄くってみているところです。
http://www.gigamonkeys.com/book/lispbox/
0182デフォルトの名無しさん
2007/09/29(土) 10:33:22第2引数のリストから第1引数と同じ要素を取り除くプログラムを下のように書いたのですが上手く動きません。
どこがどう間違っているのでしょうか。インタプリタはgaucheです。
(begin
(define rember
(lambda (a l)
(cond
( (null? l) () )
( (list? (car l) ) (cons (rember a (car l)) (rember a (cdr l))))
( else
( cond
( (string=? a (car l)) (rember a (cdr l)))
( else ( cons (car l)(rember a (cdr l))))
)))))
(rember "hoge" '("hello" '("hello" "world" ) "hoge" "world")))
0183デフォルトの名無しさん
2007/09/29(土) 10:43:01後は説明通りに動いてるように見えるけど。
どう上手く動かしたいのかな?
ちなみにこれが返ってきたが
=>("hello" '("hello" "world") "world")
0184182
2007/09/29(土) 11:02:27自分の環境で実行すると下のようにエラーが出てしまうんです。
何が悪いのか全然わからなくて…
gosh> *** ERROR: string required, but got quote
Stack Trace:
_______________________________________
0 (string=? a (car l))
At line 219 of "(stdin)"
1 (rember a (car l))
At line 216 of "(stdin)"
2 (rember a (cdr l))
At line 220 of "(stdin)"
0185デフォルトの名無しさん
2007/09/29(土) 11:50:36string=?する前にはstring?の述語入れた方がいいね。
こっちで試した処理系はたまたまsymbolと文字列が
同じ扱いなんで混乱させてしまった。
0186デフォルトの名無しさん
2007/09/29(土) 11:51:270187デフォルトの名無しさん
2007/09/29(土) 11:54:04+ ( (and (string? (car l)) (string=? a (car l))) (rember a (cdr l)))
symbol に string=? を適用したので error になってる、っていってるじゃん。
0188デフォルトの名無しさん
2007/09/29(土) 11:54:36string=?は文字列が来る事が確実な時にのみ使うべき。
0189デフォルトの名無しさん
2007/09/29(土) 12:01:440190デフォルトの名無しさん
2007/09/29(土) 12:04:15→ remover
ってことじゃないんですかねw
0191182
2007/09/29(土) 13:01:54symbolについての理解不足を指摘していただいてありがとうございます。
schemeの理解が少し進みました。
symbolだから何が入っててもおかしくないわけですね。listでも、文字列でも、関数でも。
関数のリストって考えもできるのがおもしろそうです。
ありがとうございました。
0192175
2007/09/30(日) 00:51:48って言われたので断念しました。
LISPBoxで勉強します。
0193デフォルトの名無しさん
2007/09/30(日) 02:53:24VisualStudio なんかに比べたら激しく小さいと思うけど、どれくらいのサイズなら OK なの?
0194デフォルトの名無しさん
2007/09/30(日) 03:01:550195デフォルトの名無しさん
2007/09/30(日) 03:13:15ドキュメントをあきらめて Web 参照にするだけで数十M減らせるし。ただでさえマイナーで、俺たちは死滅しかけているんだぞっと。
意気込みとかなくても気軽に Lisp の世界に参加できる事をもっとアピールしたい。Emacs からでもいいじゃない。
0196デフォルトの名無しさん
2007/09/30(日) 03:24:080197デフォルトの名無しさん
2007/09/30(日) 03:30:320198デフォルトの名無しさん
2007/09/30(日) 03:31:330199デフォルトの名無しさん
2007/09/30(日) 03:55:55「関係者」とか「悪いこと」とか、
自分の脳内だけでこの場と関係してる概念持ち出されても
何がやりたいのかさっぱりなんだけど。
0200デフォルトの名無しさん
2007/09/30(日) 05:07:550201デフォルトの名無しさん
2007/09/30(日) 10:59:31Schemeってそんなにあんの?
cygwinのSchemeとかもそんくらいあんの?
0202デフォルトの名無しさん
2007/09/30(日) 11:29:160203デフォルトの名無しさん
2007/09/30(日) 11:32:21SICPも読んでみたいし、λ計算とかの数学的な背景もきちんと勉強したいが、
仕事しながらだと何年たってもおわらなそう。
みんなはやっぱ情報専攻で大学の時にやったの?うらやましいわ。
0204デフォルトの名無しさん
2007/09/30(日) 11:53:07少年老いやすく学成りがたし、一瞬の光陰軽んずべからず
λ計算に王道なし
0205デフォルトの名無しさん
2007/09/30(日) 12:31:560206デフォルトの名無しさん
2007/09/30(日) 12:52:160207デフォルトの名無しさん
2007/09/30(日) 12:58:470208デフォルトの名無しさん
2007/09/30(日) 13:04:320209デフォルトの名無しさん
2007/09/30(日) 13:05:080210デフォルトの名無しさん
2007/09/30(日) 13:06:19http://eecsfacweb.mit.edu/facpages/sussman.html
0211デフォルトの名無しさん
2007/09/30(日) 13:09:020212デフォルトの名無しさん
2007/09/30(日) 13:46:46経験を積んだ大人じゃないとLispの良さは分からない。
0213デフォルトの名無しさん
2007/09/30(日) 13:47:13Lispに関して気軽に話せる場なんて他にないんだし仲良くやってこうよ。
0214デフォルトの名無しさん
2007/09/30(日) 13:50:36Paul Grahamが25,6歳以上の奴にはLispは無理って言ってなかったっけ
0215デフォルトの名無しさん
2007/09/30(日) 13:53:330216デフォルトの名無しさん
2007/09/30(日) 13:56:490217デフォルトの名無しさん
2007/09/30(日) 13:57:390218デフォルトの名無しさん
2007/09/30(日) 14:03:470219デフォルトの名無しさん
2007/09/30(日) 14:13:04Navi2ch とか 2ch-mode for xyzzy はLispでないと?
0220デフォルトの名無しさん
2007/09/30(日) 14:13:44Orz
0221デフォルトの名無しさん
2007/09/30(日) 14:19:45お前はなにか勘違いしている
2chは議論をするところでも仲良しごっこをするところでもない
レスで喧嘩して遊ぶところだ
その中にたまにいい情報が混じっている、くらいのもんだ
0222デフォルトの名無しさん
2007/09/30(日) 14:24:472chブラウザもWinnyもShareも出来て、もちろんだが全てメイドが奉仕してくれるんだ。
つまりそれを使っているとそのうち魔法使いになれる。どうかな。
0223デフォルトの名無しさん
2007/09/30(日) 14:43:44それはEmacsやXyzzyを使う人にしか魅力がないよね。
そうじゃなくて独立したアプリなんだけどLISPでないと出来にくいような
そして魅力的なものってこと。
作れたら作ってるんで所詮ないものねだりだけど。
普及させたいって人が居るみたいだから言ってみた。
0224デフォルトの名無しさん
2007/09/30(日) 14:48:14専ブラに関して言えば、出尽くした感があるし。
0225デフォルトの名無しさん
2007/09/30(日) 14:56:45ランタイムライセンスがフリーでギコナビレベルのGUIの作れるLispってあったけ?
0226デフォルトの名無しさん
2007/09/30(日) 15:00:54しようと思えばnavi2chは独立なアプリにもできるよ。
普通にインストールされた状態のEmacsはつまるところ、
elisp言語処理系にエディタ用拡張モジュールをビルトインした状態のものだから。
普通はEmacsを立ち上げてその中で作業の一環としてM-x navi2chするから
わざわざ独立したコマンドに仕立てないだけ。
0227デフォルトの名無しさん
2007/09/30(日) 15:03:15頭悪そう
0228デフォルトの名無しさん
2007/09/30(日) 15:05:38人工ポールグレアムはLispじゃないと作れなかったよ。
このスレで初級的な質問に回答させてるけど、よくできてるだろ?
0229デフォルトの名無しさん
2007/09/30(日) 15:08:130230デフォルトの名無しさん
2007/09/30(日) 15:08:570231デフォルトの名無しさん
2007/09/30(日) 15:15:19そういうとこから入る訳じゃない。子供は。
0232デフォルトの名無しさん
2007/09/30(日) 15:20:260233デフォルトの名無しさん
2007/09/30(日) 15:25:44と思ったらキチガイが一匹紛れ込んでるだけかよ
0234デフォルトの名無しさん
2007/09/30(日) 15:29:38t
ほんとだ!
0235デフォルトの名無しさん
2007/09/30(日) 16:01:210236デフォルトの名無しさん
2007/09/30(日) 16:04:16毎回あの糞重い起動で?
設定を全部テキストとS式で設定して?
ファイルサイズは?
独立アプリとしてかなり致命的だと思うんだけど
つーか話の流れを見ればただたんに「できる」って話をしていないのは判るだろう
読解力無いのかよ・・・
0237デフォルトの名無しさん
2007/09/30(日) 16:08:00>LISPで2chツール(ブラウザ他)作ったら人気出ると思うんだ。
まずこの仮定が間違ってるから仕方がない。
0238デフォルトの名無しさん
2007/09/30(日) 16:13:430239デフォルトの名無しさん
2007/09/30(日) 18:34:50!!!
0240デフォルトの名無しさん
2007/09/30(日) 18:40:570241デフォルトの名無しさん
2007/09/30(日) 19:21:17Rails は Ruby 書く人を (たぶん) 増やしたのだろうけど、
それは、今の時代の空気 (「WEB2.0」だの「アジャイル」だの) に
良く合っていたからかな。Rails はアプリじゃないが。
次の時代の空気を先取りする Lisp 製アプリ
0242デフォルトの名無しさん
2007/09/30(日) 19:26:330243デフォルトの名無しさん
2007/09/30(日) 19:26:52魔法のようなやつだれか作ってくれ。
0244デフォルトの名無しさん
2007/09/30(日) 19:28:180245デフォルトの名無しさん
2007/09/30(日) 19:30:350246デフォルトの名無しさん
2007/09/30(日) 19:30:53組み込み関数のリファレンス的なページないですか><
0247デフォルトの名無しさん
2007/09/30(日) 19:52:00pugsとかいうperl6の処理系を作った大学生はhaskellの勉強から3ヶ月でpugs完成させたっていうけど。
俺は3ヶ月じゃhaskell使いこなせ無さそうだし。
0248デフォルトの名無しさん
2007/09/30(日) 20:13:07Lispから得たものはないと言ってみる
0249デフォルトの名無しさん
2007/09/30(日) 20:25:27ここに全部書いてあるよ
http://www.r6rs.org/
0250デフォルトの名無しさん
2007/09/30(日) 20:30:48haskellは全然別物って気がしてる。
haskellは入門書を読んで、ちょろちょろ書いてみる程度しか知らないが。
0251デフォルトの名無しさん
2007/09/30(日) 20:41:40どこが変わったのかな・・・
0252デフォルトの名無しさん
2007/09/30(日) 21:17:230253デフォルトの名無しさん
2007/09/30(日) 23:12:290254デフォルトの名無しさん
2007/09/30(日) 23:31:48>>180
0255デフォルトの名無しさん
2007/10/01(月) 00:15:590256デフォルトの名無しさん
2007/10/01(月) 00:21:12/( ^o^ )\なんてこったい
0257デフォルトの名無しさん
2007/10/01(月) 00:29:05Corman、日本語扱えるようになったの?
0258デフォルトの名無しさん
2007/10/01(月) 00:42:120259デフォルトの名無しさん
2007/10/01(月) 00:52:46グリーンスパンの(ry
0260デフォルトの名無しさん
2007/10/01(月) 01:26:32�dクス!
0261デフォルトの名無しさん
2007/10/01(月) 19:53:540262デフォルトの名無しさん
2007/10/02(火) 00:32:38タコな質問ですみません。
0263デフォルトの名無しさん
2007/10/02(火) 03:01:18その中でも、何かを求める式を考えるときは Scheme を使う俺
手続き型言語で複雑な式は考えたくない
0264デフォルトの名無しさん
2007/10/02(火) 22:06:16誰も知らんぞ
0265デフォルトの名無しさん
2007/10/02(火) 22:13:150266デフォルトの名無しさん
2007/10/02(火) 22:30:38中学高校のパソ部ですか?ww
0267デフォルトの名無しさん
2007/10/02(火) 22:32:520268デフォルトの名無しさん
2007/10/03(水) 00:37:23×誰も知らんぞ
○誰も開発に使ってないぞ
0269デフォルトの名無しさん
2007/10/03(水) 00:38:27Schemeとなると更に知名度下がるけど。
0270デフォルトの名無しさん
2007/10/03(水) 00:50:54Lisp を知らない人は居ない。まあ憶える必要の無い言語くらいに思われている
みたいだけど。
0271デフォルトの名無しさん
2007/10/03(水) 01:11:04http://www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/l
0272デフォルトの名無しさん
2007/10/03(水) 01:13:30http://www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/lisp.html
0273デフォルトの名無しさん
2007/10/03(水) 01:20:200274デフォルトの名無しさん
2007/10/03(水) 01:23:52なんで>>268みたいなことになるんだ?
逆に言えばLispって誰も使わないってことは…
0275デフォルトの名無しさん
2007/10/03(水) 01:35:130276デフォルトの名無しさん
2007/10/03(水) 01:39:46凄すぎて普通程度の脳みそだと使いにくいってことじゃね?
0277デフォルトの名無しさん
2007/10/03(水) 01:52:47Lisperは一向に完成する見込みのない「LISP以上の何か」を作るのに忙しい
0278デフォルトの名無しさん
2007/10/03(水) 08:10:41ほとんどは仕事として淡々と与えられたものを使っているだけ。
プログラム自身に興味がある奴はごく一部。
0279デフォルトの名無しさん
2007/10/03(水) 08:24:130280デフォルトの名無しさん
2007/10/03(水) 08:43:56でも誰も使わないっていうんはつまりそういうことなんじゃね?
0281デフォルトの名無しさん
2007/10/03(水) 08:45:01その尻拭いに日本政府が金出して安い開発環境作れよ\(^Λ^)/
Allegro高いから買えないんだよ/(^Λ^)\
0282デフォルトの名無しさん
2007/10/03(水) 08:46:450283デフォルトの名無しさん
2007/10/03(水) 08:55:47それにちゃんと国のお金で Kyoto Common Lisp (aka GCL) をつくってるじゃん。
0284デフォルトの名無しさん
2007/10/03(水) 08:59:370285デフォルトの名無しさん
2007/10/03(水) 10:17:540286デフォルトの名無しさん
2007/10/03(水) 10:19:280287デフォルトの名無しさん
2007/10/03(水) 11:21:28つまりそういうこと。
たまたま巡り合わせで一緒に仕事してるだけの玉石混合の面子の中に、
「全員が使いこなせること」を期待して投入できる言語じゃないんだな。
だからマネージャーにはLispは選べない。ほぼ全員が「できる奴」である稀な場合を除いて。
マネージャーに選んでもらえるように作られたJavaあたりとは、そのへん対極だね。
0288デフォルトの名無しさん
2007/10/03(水) 18:34:430289デフォルトの名無しさん
2007/10/03(水) 21:40:00gaucheでマクロを展開した結果を確認したいのですが、
macroexpandで完全に(展開できなくなるまで)展開されません。
例えば
(define-syntax my-let
(syntax-rules ()
((_ () . body)
(begin . body))
((_ ((var expr) . binds) . body)
(let1 var expr (my-let binds . body)))))
(macroexpand '(my-let ( (b 3)) (list a b)))
;;=> (#<identifier gauche#let> ((b 3)) (#<identifier user#my-let> () (list a b)))
という感じです。my-letが1段階しか展開されません。
完全に展開した結果を得るにはどうしたらよいのでしょうか?
0290デフォルトの名無しさん
2007/10/03(水) 22:14:15しかしできない奴はとことんできないので、言語はあまり関係ないかも。
言語よりも開発を進めやすいツール・環境を整えられるかが大事だと思った。
そういう意味でJavaは選ばれやすいかもしれない。
Lispにチーム開発向けのツール類ってあるのかな。
0291デフォルトの名無しさん
2007/10/03(水) 22:20:24俺たちはLispが最高だって信じてるぜ!って話しでいいならそれでいいけど。
0292デフォルトの名無しさん
2007/10/03(水) 22:22:46米軍とかスピンアウトしたロボティクス企業とかはいまだに使ってるし、
ちゃんとその手のエンジニアを募集している。
A. 自分の周囲でだれも使ってない → 世間でだれも使ってない
B. 自分の周囲ではマニアが趣味でやってる → 世間でもマニアしか使ってない
は飛躍しすぎだろう。人数ベースでいえば Java より使われていない事は事実だけど、
コンパイラメーカーがやっていける程度の需要はあるってこと。
0293デフォルトの名無しさん
2007/10/03(水) 22:23:160294デフォルトの名無しさん
2007/10/03(水) 22:30:56別に優れてはいないと思うよ。自分で好きにいじくれるところが好きなんであって、
1. 速度ではアセンブラや C でチューニングしたものには劣る
2. 文字数単位での表記の簡潔さやライブラリの充実度では LL 言語よりすくない
3. ユーザー数は C/C++/Java/LL言語 あたりよりすくない
あたりなら大抵の Lisper/Schemer なら認めるところだろう。
少なくとも俺が Lisp をやめらんないのは自由さ、それだけが理由。
師匠の受けうりだが、他にもっといい言語や表記方法があれば速攻乗りかえるよ。
0295デフォルトの名無しさん
2007/10/03(水) 23:42:54その自由な言語で何が達成されたのか?
新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。
Java,C++はいろんなところでたくさんの人の役に立ってる。
Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。
じゃあLispは一体何をもたらしたんだ?
0296デフォルトの名無しさん
2007/10/03(水) 23:44:35macroexpandはよくわからんが、
そのマクロ自体がR5RS的には変じゃね?
(define-syntax my-let
(syntax-rules ()
((_ () body ...)
(begin body ...))
((_ ((var expr) binds ...) body ...)
(let1 var expr (my-let (binds ...) body ...)))))
たぶん、この辺の話題と絡んでくると思う。
http://practical-scheme.net/wiliki/wiliki.cgi?R6RS%3a%e5%a4%89%e6%9b%b4%e7%82%b9#H-t80rzg
なんか俺もあんまり理解できてないので詳しい人の見解が聞きたい。
0297デフォルトの名無しさん
2007/10/03(水) 23:48:000298デフォルトの名無しさん
2007/10/03(水) 23:53:35釣り師いいかげんうざいよ。それとも本気?
本気で知りたいならまず1年Lispを使ってみな。
残念ながらここは面接室じゃないんだよ。
0299あえてつられてみよう
2007/10/03(水) 23:59:34我々のプロジェクトのプロトタイプをクライアントに承認させるに十分な性能を短期間で叩き出した
>その自由な言語で何が達成されたのか?
同上
>新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。
小僧の人生経験なんか知ったことか
>Java,C++はいろんなところでたくさんの人の役に立ってる。
それを否定した事はいちどもねぇよ
>Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
LLが役に立つ分野を否定した覚えもないが?
>同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。
それがどうした?
>じゃあLispは一体何をもたらしたんだ?
生まれてから今までいくつネタを提供したとおもっているんだ?
だいたいマジな理由なら最初に答えたよ。
0300デフォルトの名無しさん
2007/10/04(木) 00:03:33過去の実績というなら Prolog、ML、JavaScript、Haskell の実装をもたらした。
あと GUI 統合システムの先駆けで、ガベージコレクション技術を進歩させ、
ファミコン時代の開発環境を提供し、3D-CG 開発環境としてマリオ64などをもたらした。
あと Java 作者の Gosling や Guy L Steel、Java の世界に世代別 GC を導入した David Moon、
Ghostscript の作者 Peter といった分野で貢献してるね。そうか Richard M Stallman がいなけば GNU はなかったので GCC もなかったね。
まぁ、ひたすら難癖をつけるのが目的なんだろうけど…
0301デフォルトの名無しさん
2007/10/04(木) 00:06:220302デフォルトの名無しさん
2007/10/04(木) 00:06:52とは割と本気で思う。Lisp が解くのは先端の尖った領域の課題で、
一般的に広まるようなものは、きっとLispでは解かれた後に別の言語で
書きなおされるんだろう。
0303デフォルトの名無しさん
2007/10/04(木) 00:08:57まずそれが第一の問題。
0304デフォルトの名無しさん
2007/10/04(木) 00:09:20自由で柔軟で強力で、ゆえに「言語の意味と生産性」が使い手の能力の高純度の反映となる言語。
だいたい、多くの人間に等しく効能を与えるタイプの言語じゃないことは散々触れられているのに、
ここに来てまだ
> Java,C++はいろんなところでたくさんの人の役に立ってる。
> Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
みたいな「たくさんの人が使うことがその言語の凄さ」という価値観から来る例をもってくるあたり、
いかに「人の話をまったく聞かずに、誰も俺に答えない誰も俺に答えないと連呼してる」かってのがよくわかる。
0305デフォルトの名無しさん
2007/10/04(木) 00:10:59有名人云々はともかく、昔GCCをhackしていて、ターゲットアーキテクチャの定義とかがなんか
Lispっぽい言語で書いてあって驚いたことがある。Lisp(的な発想)が無ければあれだけ簡潔に
ポータブルなコンパイラを作るのは難しかったかもしれないね。
0306デフォルトの名無しさん
2007/10/04(木) 00:11:46たぶんプログラムなんて書いたこともない人なんだろうね。
0307289
2007/10/04(木) 00:12:54. bodyみたいな使い方は
http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/p/notes/2004_06_07a.html
を見て知ったんですが、どうなんでしょう。
define-syntaxはdefine-macroより制約が多すぎてなかなか書けない……
0308デフォルトの名無しさん
2007/10/04(木) 00:13:14OO, generics, reflectionの世界に果たした貢献も大きい。
今も昔もプログラミング言語の実験場の一つ。
0309デフォルトの名無しさん
2007/10/04(木) 00:14:51ラテン語みたいなもんかなあ。
0310デフォルトの名無しさん
2007/10/04(木) 00:14:59だけど、宣伝されて皆が興味を持つLisp、なんてありえると思う?
Lispは永遠にスーパーエンジニアの秘密兵器なんじゃないだろうか。
ま、おれはLispで凄いキラーアプリつくる予定だけど。
0311デフォルトの名無しさん
2007/10/04(木) 00:17:350312デフォルトの名無しさん
2007/10/04(木) 00:20:05RMS の経歴を考えれば妥当でしょ。俺は↓のほうがびっくりした。
http://lispuser.net/memo/misc/2007-05-17-23-48.html
AoE II 遊んでただけど知らなかったわ。
0313デフォルトの名無しさん
2007/10/04(木) 00:22:55それを乗り越えれればきっとはまれる
0314デフォルトの名無しさん
2007/10/04(木) 00:23:010315デフォルトの名無しさん
2007/10/04(木) 00:25:49昔の自分は何故、閉じ括弧が連続している部分をあんなに不安げに見つめていたのか、
もううまく思い出せないよ。あんな箇所、全然見る必要無いのにな。
0316デフォルトの名無しさん
2007/10/04(木) 00:26:26エディタの設定で括弧の色を薄くするという、なんともチープなハックもあるがw
0317デフォルトの名無しさん
2007/10/04(木) 00:29:33Lisp慣れてる人は「そんなの要らん」だろうけど、これで少しでも慣れない人に
わかりやすくなるならアリなのかな、とも思うのだが。
0318308
2007/10/04(木) 00:30:52>>307
http://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%3a%e6%84%8f%e5%91%b3%e8%ab%96
って探すのに15分以上かかったのね…
0319デフォルトの名無しさん
2007/10/04(木) 00:32:280320デフォルトの名無しさん
2007/10/04(木) 00:32:39おれは関数適用以外の括弧に[]つかうのはアリだと思うけど、
R6RSの投票結果ページにあった反対意見の中には、
処理系独自の拡張用に[]をとっておいて欲しい、というのもあった。
なるほどなあとも思った。
0321デフォルトの名無しさん
2007/10/04(木) 00:33:450322デフォルトの名無しさん
2007/10/04(木) 00:34:28その不安感分かるw
そして慣れると段々とカッコが見えなくなってくる。脳での処理方法が変わるんだろうね。
>>317
初心者に何の助けにもならないと思う>>[]
別に()の数が減るわけじゃないし。「異様」なカッコだらけのLispプログラムに、
ちょっと違うカッコ付けたって、普通のプログラムになるわけじゃないし。
0323デフォルトの名無しさん
2007/10/04(木) 00:35:35確か CLtL にも [ ] を(デフォルトでは)定義しない理由でそんなことが書いてあったな
0324デフォルトの名無しさん
2007/10/04(木) 00:35:51最小にこだわってたんじゃなかったか?とツッコミたくなるね。[ ] をユーザーに解放しないなんてとんでもない。
つうか define-syntax もよー。チューリング完全ならいいってもんじゃねーだろ。
パターンマッチ + 実用上十分な衝突の回避を defmacro の上に実装してよって思うね。
0325デフォルトの名無しさん
2007/10/04(木) 00:38:160326デフォルトの名無しさん
2007/10/04(木) 00:38:52括弧の良さというのは表現の“軽さ”だと思うんだよね。あれ以上シンプルな記号はあまりない。
これが begin 〜 end とか、XMLみたいな表記だったら、仮に論理的に同じこと書けても使い物にならんと思う。
0327デフォルトの名無しさん
2007/10/04(木) 00:39:350328デフォルトの名無しさん
2007/10/04(木) 00:40:53パンチカードでは重宝であったw
0329デフォルトの名無しさん
2007/10/04(木) 00:43:130330デフォルトの名無しさん
2007/10/04(木) 00:45:520331デフォルトの名無しさん
2007/10/04(木) 01:25:55今時、括弧羅列が見にくいなんてあり得ないわ。
0332デフォルトの名無しさん
2007/10/04(木) 02:17:290333デフォルトの名無しさん
2007/10/04(木) 07:47:340334デフォルトの名無しさん
2007/10/04(木) 10:43:55R6RSでそのへんの意味論が決定されたってことは、
R6RS的には後者もOKってことでいいのかな?
0335デフォルトの名無しさん
2007/10/04(木) 10:45:33まあ以前でも . 使えない実装の方が珍しかっただろうけど。
0336デフォルトの名無しさん
2007/10/04(木) 12:56:53閉じ括弧は一つ一つ書いた方が判りやすいのに、って。
実際最初はそうやって書いてた。
今は閉じるのが楽だし慣れたけど。
0337デフォルトの名無しさん
2007/10/04(木) 13:57:22(hoge (fuga ...
(hage (higii 10 ...
(ahya ...
(pugera ...
このあたりの形で「骨組みの把握」は済んじゃうんだよね。「右っかわ」は殆どディテール専門。
だから閉じ括弧を纏めたほうがスッキリなんだろうな。
もちろん極論だけど、閉じ括弧はリーダが構造を捉える為のものであって、人間が構造を捉える為の
ものではない、という感じ。
これ、Pythonソースの見方に近いのかな? Python触ったことないけど。
少なくともC系のソースは、同じ「骨組みの把握」をするにも、もうちょっとこう、文のアタマ側とケツ側、
両方からじわじわ捉えていく感覚が必要になる。俺の場合は。
0338デフォルトの名無しさん
2007/10/04(木) 14:29:27構文構造を追うものがインデントしかない。
だから構文解析から得た情報で、
正しいインデント処理をエディタに任せる書き方慣れていると、
いろいろと面倒な時もある。
インデントは人間が明示的に行う場面が多くなる。
行末で)や}や;の代りに、次の行でのインデント上げを行う。
0339デフォルトの名無しさん
2007/10/04(木) 22:36:180340デフォルトの名無しさん
2007/10/05(金) 02:31:100341デフォルトの名無しさん
2007/10/05(金) 02:51:440342デフォルトの名無しさん
2007/10/05(金) 17:26:290343デフォルトの名無しさん
2007/10/05(金) 19:22:420344デフォルトの名無しさん
2007/10/05(金) 22:29:280345デフォルトの名無しさん
2007/10/06(土) 18:33:04どこかに一覧無い?
0346デフォルトの名無しさん
2007/10/06(土) 18:36:110347デフォルトの名無しさん
2007/10/06(土) 18:43:560348デフォルトの名無しさん
2007/10/06(土) 19:34:590349デフォルトの名無しさん
2007/10/06(土) 19:44:43http://www.dmoz.org/Computers/Programming/Languages/Lisp/Compilers_and_Interpreters/
http://www.dmoz.org/Computers/Programming/Languages/Lisp/Scheme/Implementations/
0350デフォルトの名無しさん
2007/10/06(土) 21:38:290351デフォルトの名無しさん
2007/10/06(土) 21:47:010352デフォルトの名無しさん
2007/10/07(日) 00:03:07こういう事なら2度あった
0353デフォルトの名無しさん
2007/10/07(日) 00:15:29俺の会社じゃ絶対無理だ。「Lisp?何それ?それで書くと何人月減るのか証明しろよ」って言われる。
…やっぱschemeで仕事できる会社探すわ。
0354デフォルトの名無しさん
2007/10/07(日) 00:55:020355デフォルトの名無しさん
2007/10/07(日) 02:50:19「これはXMLファイルですよ。<>の変わりに()を使うのがWeb2.0なんですよ?」
と言えばおk。
0356デフォルトの名無しさん
2007/10/07(日) 04:33:50なんかGaucheでは#なんとか#みたいなのを見た事ありますが、
一般的なんでしょうか。
0357デフォルトの名無しさん
2007/10/07(日) 04:35:21巡回じゃなくて循環ですた
0358デフォルトの名無しさん
2007/10/07(日) 05:55:18srfi なので一般的って言っていいんじゃないでしょうか。
http://srfi.schemers.org/srfi-38/srfi-38.html
common lisp 由来ですね。
http://www.lispworks.com/documentation/HyperSpec/Body/02_dhp.htm
0359デフォルトの名無しさん
2007/10/07(日) 08:28:49こういうのって、相互参照してる場合どうなるのかなと。
(define x (list 'a 'b))
(define y (list 'c 'd))
(begin (set-cdr! (cdr x) y) #t)
(begin (set-cdr! (cdr y) x) #t)
(write-with-shared-structure x)
#1=(a b c d . #1#)
(write-with-shared-structure y)
#1=(c d a b . #1#)
やっぱこうなるか。
write-with-shared-structureで各々の変数を保存して、
後でread〜で取り出せるかなと思ったんですが、
共有関係が消えてしまいますね。
(define x '#1=(a b #2#))
(define y '#2=(c d #1#))
みたいな事は可能なのかな。
完全に構造を保存する場合はセルをダンプするしかない?
0360デフォルトの名無しさん
2007/10/07(日) 08:37:11(define y '#2=(c d . #1#))
の間違いです。
参照先が全部確定するまでread-with-shared-structureは結果を
保留する必要があるし、write〜も一度に関係するリストを全て渡すか
しないと無理だから、このサンプルみたいなインターフェースじゃ無理ですね。
0361デフォルトの名無しさん
2007/10/07(日) 11:47:08http://pc11.2ch.net/test/read.cgi/prog/1190731526/311
311 名前: 仕様書無しさん [sage] 投稿日: 2007/10/07(日) 02:56:19
> ではメッセージをちゃんとメッセージ(オブジェクト)として実装している言語はないか
> というとそんなこともなくて、古くは、メッセージングのOOの影響を受けて作られた
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
> ACTOR という言語(これは、メッセージングのOOから派生したアクター理論に基づいて
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
> 作られました)では、メッセージもちゃんとオブジェクト(ACTOR ではアクターと呼ぶ)で
〜〜〜〜〜〜
> 表わされていましたし、最近の言語なら Io という言語で、同じくメッセージは
> 実体のあるオブジェクトとして内部的にも表現されている、という例があります。でも希有です。
0362デフォルトの名無しさん
2007/10/07(日) 11:57:520363デフォルトの名無しさん
2007/10/07(日) 12:04:14とか思ってた。
で、CLOS勉強したら結局OOって単なるメソッドディスパッチなのね、
と思って萎えた…。
0364デフォルトの名無しさん
2007/10/07(日) 14:11:370365デフォルトの名無しさん
2007/10/07(日) 14:27:340366デフォルトの名無しさん
2007/10/07(日) 14:36:43だが、そこがいい
0367デフォルトの名無しさん
2007/10/07(日) 14:54:14…なんかLispが人気にならない理由が分かった気がする。
0368デフォルトの名無しさん
2007/10/07(日) 15:13:32夜は:around methodに包まれて寝る。
0369デフォルトの名無しさん
2007/10/07(日) 16:19:380370デフォルトの名無しさん
2007/10/07(日) 17:19:050371デフォルトの名無しさん
2007/10/07(日) 19:47:44○○*とかprincとかprin1とか
0372デフォルトの名無しさん
2007/10/07(日) 19:54:560373デフォルトの名無しさん
2007/10/07(日) 19:58:520374デフォルトの名無しさん
2007/10/07(日) 21:07:490375デフォルトの名無しさん
2007/10/07(日) 23:46:23SICPをちゃんと読んだわけでも無さそうだね。
0376デフォルトの名無しさん
2007/10/08(月) 00:01:47おれはオブジェクト指向バッチグーだけど、
SICPにオブジェクト指向なんてあったっけ?抽象化はあったけど。
0377デフォルトの名無しさん
2007/10/08(月) 00:17:14「〜でもなければ〜でもない」の意味も分からないのか
0378デフォルトの名無しさん
2007/10/08(月) 00:38:54自分の句読点の位置を見直しましょう。
0379デフォルトの名無しさん
2007/10/08(月) 00:45:040380デフォルトの名無しさん
2007/10/08(月) 08:18:46schemeキチガイは黒板と現実の区別がつかないのな
0381デフォルトの名無しさん
2007/10/08(月) 09:01:580382デフォルトの名無しさん
2007/10/08(月) 09:35:140383デフォルトの名無しさん
2007/10/08(月) 10:25:390384デフォルトの名無しさん
2007/10/08(月) 10:28:450385デフォルトの名無しさん
2007/10/08(月) 10:50:050386デフォルトの名無しさん
2007/10/08(月) 10:57:37コンピュータで動かすことを考えればね。
黒板上なら別にそんなことはないと思う。
0387デフォルトの名無しさん
2007/10/08(月) 11:47:26中置記法か。お前Lisperじゃないな
0388デフォルトの名無しさん
2007/10/08(月) 12:12:42http://www.prescod.net/xml/sexprs.html
事を言っている人が居るみたいなんですが、
どうも的外れな気がするんですが…
皆さんどう思われますか?
0389デフォルトの名無しさん
2007/10/08(月) 13:28:54洗練された知的階級の為のSchemeと同じスレで扱う事自体がおかしい
0390デフォルトの名無しさん
2007/10/08(月) 13:30:570391デフォルトの名無しさん
2007/10/08(月) 13:33:410392デフォルトの名無しさん
2007/10/08(月) 13:36:58Scheme: 原田左之助
0393デフォルトの名無しさん
2007/10/08(月) 13:38:58ってことを身をもって明らかにするschemerならではの反面教師的教育なのです
0394デフォルトの名無しさん
2007/10/08(月) 13:40:050395デフォルトの名無しさん
2007/10/08(月) 13:43:360396デフォルトの名無しさん
2007/10/08(月) 13:45:450397デフォルトの名無しさん
2007/10/08(月) 13:52:34放っといたら良いじゃん
0398デフォルトの名無しさん
2007/10/08(月) 15:13:520399デフォルトの名無しさん
2007/10/08(月) 15:45:11仕様のサイズ的には合ってね?
0400デフォルトの名無しさん
2007/10/08(月) 15:49:150401デフォルトの名無しさん
2007/10/08(月) 16:51:330402デフォルトの名無しさん
2007/10/08(月) 17:19:43斜め読みしただけだけど、やってることは S 式の標準的な書式の見た目を
XML 文書と比較してるだけなのかな。
だとすると
> XML is not S-Expressions
このタイトルは不適切だな。
0403デフォルトの名無しさん
2007/10/08(月) 17:33:390404デフォルトの名無しさん
2007/10/08(月) 17:37:240405デフォルトの名無しさん
2007/10/08(月) 17:59:100406デフォルトの名無しさん
2007/10/08(月) 19:11:14Mormon Lisp (Ruby): まつもと ゆきひろ
0407デフォルトの名無しさん
2007/10/08(月) 20:28:44Scheme - 末尾最適化 - 継続 = 粗大ゴミ
0408デフォルトの名無しさん
2007/10/08(月) 20:42:000409デフォルトの名無しさん
2007/10/08(月) 20:42:29Scheme = Plan9
てな感じ
0410デフォルトの名無しさん
2007/10/08(月) 20:44:230411デフォルトの名無しさん
2007/10/08(月) 20:46:58そりゃCommonLisp以前に戻るんだからしょうがないべよ
その他大勢の方言の一つでしかないんだもの。
0412デフォルトの名無しさん
2007/10/08(月) 21:06:180413デフォルトの名無しさん
2007/10/08(月) 21:11:16素のLispはただの理論だからなぁ。
道具として便利であるためには、当然肉付けが必要になるよ。
0414デフォルトの名無しさん
2007/10/08(月) 21:26:500415デフォルトの名無しさん
2007/10/08(月) 21:28:27?
0416デフォルトの名無しさん
2007/10/08(月) 21:35:07つ FUNARG
0417デフォルトの名無しさん
2007/10/08(月) 21:43:34Scheme = 肥後の守
0418デフォルトの名無しさん
2007/10/08(月) 21:49:560419デフォルトの名無しさん
2007/10/08(月) 22:03:51「かっこが大変よろしゅうございますw」
とかヌカスつもりじゃないだろーな?
0420デフォルトの名無しさん
2007/10/08(月) 22:12:480421デフォルトの名無しさん
2007/10/08(月) 22:23:180422デフォルトの名無しさん
2007/10/08(月) 22:25:160423デフォルトの名無しさん
2007/10/08(月) 23:37:1420.767841011743453→20.8
処理系はgaucheで。
0424デフォルトの名無しさん
2007/10/09(火) 00:09:52単純でわかりやすいし。
0425デフォルトの名無しさん
2007/10/09(火) 00:29:55うまいこと言うなあ
0426デフォルトの名無しさん
2007/10/09(火) 21:15:28ウホッ
0427デフォルトの名無しさん
2007/10/09(火) 23:32:08ありがとうございます。出来ました。
もうひとつ同じような内容ですが、
例えば、-1.0という答えを-1.000という回答に小数点以下第3位まで出す場合はどうすればよろしいですか?
やはりgaucheで
0428デフォルトの名無しさん
2007/10/10(水) 00:10:430429デフォルトの名無しさん
2007/10/10(水) 00:17:47Moron Lispだと思った。
0430デフォルトの名無しさん
2007/10/10(水) 00:25:300431デフォルトの名無しさん
2007/10/10(水) 00:27:11それも正解。
0432デフォルトの名無しさん
2007/10/10(水) 00:49:07かなり無理やりっぽいが…
(define (hoge kazu keta)
(let ((b (exact->inexact kazu))
(c (string-length
(number->string
(inexact->exact (round kazu))))))
(format #f "~v,,,'0,a" (+ c keta 1) b)))
(hoge 1 3)
もっとまっとうな方法がありそうな気がする
0433デフォルトの名無しさん
2007/10/10(水) 00:51:380434デフォルトの名無しさん
2007/10/10(水) 01:18:31コモンリスプならパッケージで桶
0435デフォルトの名無しさん
2007/10/10(水) 01:34:06返信ありがとう。
URNとかも平気なのかな。
まあ、完全な同値変換はできないだろうけど。勉強してみる。
0436デフォルトの名無しさん
2007/10/10(水) 02:06:07(tag :namespace (...) :attribute (...) :nodes (...))
0437デフォルトの名無しさん
2007/10/10(水) 05:10:29A Lisp Based XML Parser
・LXML parse output format
http://franz.com/support/documentation/8.0/doc/pxml.htm#lxml
0438デフォルトの名無しさん
2007/10/10(水) 05:14:27http://opensource.franz.com/xmlutils/
0439デフォルトの名無しさん
2007/10/11(木) 12:19:10Bart's PE Builder スレッド 5枚目 [Windows]
懲りずに騙されて花火板にまで飛ばされたわけだが3 [花火]
【CFNM】ちんちん見〜ちゃった☆Part14【えっ〜!】 [game12tr]
uim スレッド 7 [Linux]
2ch特化型サーバ・ロケーション構築作戦 Part26 [2ch運用情報]
0440デフォルトの名無しさん
2007/10/11(木) 18:12:43> Schemeで書かれた正規表現ライブラリ
> ttp://www.cs.rice.edu/~dorai/pregexp/pregexp.html
http://www.ccs.neu.edu/home/dorai/pregexp/pregexp.html
0441デフォルトの名無しさん
2007/10/14(日) 21:19:32(print "こんにちは")
だと
縺薙s縺ォ縺。縺ッ
って出てしまう。
どのようにすればよろしいでしょうか?
0442デフォルトの名無しさん
2007/10/14(日) 21:59:280443デフォルトの名無しさん
2007/10/14(日) 23:04:31set-buffer-file-coding-systemとset-buffer-process-coding-systemで設定。
どっちかっていうとemacsの設定の話だな。
0444デフォルトの名無しさん
2007/10/15(月) 18:23:55(ABC)
(ABD)
(ACD)
(BCD)
4
となります。
先頭を選んで残りからk-1個選ぶ。先頭を選ばず残りからk個選ぶ。というのを再帰で書けば出来そうというのは考えたんですが、うまくかけません。習ってるのはdefun cond if cons car cdr print list null setqとかで、これだけで書きたいです。
また要素のi番目を調べる関数(ith seq i)と、2つのリストを結合する関数(merg seq1 seq2)、リストに一つの要素を加える関数appは以前に作ってて、これは使えます。
どなたか教えてくれませんか?
0445デフォルトの名無しさん
2007/10/15(月) 20:27:47Common Lisp 入門スレにヒントがでてたよ。どのくらいまで自力でできたの?
0446デフォルトの名無しさん
2007/10/15(月) 21:44:490447444
2007/10/15(月) 23:46:07(print (app tmp (car seq)))
(cond ((null (cdr seq)) )
(T (top (cdr seq) tmp)))
(setq tmp NIL)
)
(defun comb (seq k)
(cond ((= k 1) (top seq tmp) )
((null (cdr seq)) )
(T (setq tmp (list (car seq))) (comb (cdr seq) (- k 1)) (comb (cdr seq) k)
)))
>(comb abcd 2)
(A B)
(A C)
(A D)
(B C)
(B D)
(C D)
K=2のときはうまくいくんですが、3以上のときがうまくいかなくて・・・
どうしたらいいのか・・・・
0448デフォルトの名無しさん
2007/10/16(火) 00:05:16(setq tmp NIL)
(comb2 seq k tmp)
)
(defun top (seq tmp)
(print (app tmp (car seq)))
(cond ((null (cdr seq)) )
(T (top (cdr seq) tmp)))
)
(defun comb2 (seq k tmp)
(cond ((= k 1) (top seq tmp) )
((null (cdr seq)) )
(T (setq tmp (app tmp (car seq))) (comb2 (cdr seq) (- k 1) tmp)
)))
こうしたら
(ABC)
(ABD)はでるようになりました。
先頭を選ばず残りからk個選ぶ部分がうまくできません。
0449デフォルトの名無しさん
2007/10/16(火) 00:22:15=> ((a b c) (a b d) (a c d) (b c d))
みたいな関数を作って表示は別にしたほうがいいかもしれんね
0450デフォルトの名無しさん
2007/10/16(火) 00:26:24一応表示は top関数で表示してます。
(defun comb (seq k)
(setq tmp NIL)
(comb2 seq k tmp)
)
(defun top (seq tmp)
(print (app tmp (car seq)))
(cond ((null (cdr seq)) )
(T (top (cdr seq) tmp)))
)
(defun comb2 (seq k tmp)
(cond ((= k 1) (top seq tmp) )
((null (cdr seq)) )
(T (setq tmp (app tmp (car seq))) (comb2 (cdr seq) (- k 1) tmp) (comb2 (cdr seq) k NIL)
))
としました。
0451デフォルトの名無しさん
2007/10/16(火) 00:26:55[37]> (comb abcd 3)
(A B C)
(A B D)
(C D)
(B C D)
T
[38]> (comb abcde 3)
(A B C)
(A B D)
(A B E)
(C D)
(C E)
(D E)
(B C D)
(B C E)
(D E)
(C D E)
T
ここまでなんとかなりました。 あと先頭要素が加わってないやつに加えられれば良いんですが・・・・
0452デフォルトの名無しさん
2007/10/16(火) 00:27:480453デフォルトの名無しさん
2007/10/16(火) 00:44:01読み違いました。そういう手もありですね。
しかしどうやるのか・・・
0454デフォルトの名無しさん
2007/10/16(火) 01:02:20頭で想像できてない事をプログラムできるわけないだろ
0455デフォルトの名無しさん
2007/10/16(火) 01:05:140456デフォルトの名無しさん
2007/10/16(火) 01:15:28ABC 2のケースとか。
あと、リスト処理と考えるより単純な集合の比較の問題って思った方がいいぞ。
carとかnullとかリストオペレーターをそのまま使うんじゃなくて
問題に適合するように抽象化してみるとか。
0457デフォルトの名無しさん
2007/10/16(火) 01:28:25A選ぶ場合
B選ぶ場合
AB
B選ばない場合
AC
A選ばない場合
B選ぶ場合
BC
B選ばない場合
なし
って感じですよね?でもプログラムだとうまくいかないんですよねぇ。
0458デフォルトの名無しさん
2007/10/16(火) 01:36:47例えばビットの組み合わせ問題として解く
1) 記号が3種類なので3ビットで表す
A 001
B 010
C 100
2) 重複に注目しながら全パターンを列挙してみる
AB 011
AC 101
BA 011 x 重複
BC 110
CA 101 x 重複
CB 110 x 重複
答え 110 101 110 すなわち AB AC BC
0459デフォルトの名無しさん
2007/10/16(火) 01:44:52答え011 101 110 すなわち AB AC BC
ね。
ABCD 3のケースならビット1が3つあるパターン
A 0001
B 0010
C 0100
D 1000
ならば
ACD 1101
ABD 1011
ABC 0111
BCD 1110
0460デフォルトの名無しさん
2007/10/16(火) 03:10:09再帰関数についてもうちょっと勉強しないと…
(defun comb (seq k)
(top (comb2 seq k))
) としておいて、comb2は、
kが0でなければ、
seqから一つxを抜き出して、
(comb2 (seqからxを除いたもの) (- k 1))の先頭にxを付け足すしたリスト
を全てのxに対して行って、皆listして返す。
k=0ならNILを返す。
k-1の時の結果から、kの時の結果を作り出す部分と
k=0の時の結果から再帰関数を構成する。
0461デフォルトの名無しさん
2007/10/16(火) 08:10:19それはわかるんですが。うーん
>>460
先頭にxをつけ加えたリストをすべてのxに対して行うって言うのが書けないんです。正直、言うと誰か書いてもらいたいです。一旦答えわかったら理解できるかもしれないです
0462デフォルトの名無しさん
2007/10/16(火) 10:55:02(car seq)に対して行った結果を、(cdr seq)についてやった結果に付け加える。
nilになるまでやる。
0463デフォルトの名無しさん
2007/10/16(火) 14:20:440464デフォルトの名無しさん
2007/10/16(火) 14:25:180465デフォルトの名無しさん
2007/10/16(火) 14:31:04r6rsでは、
> Characters are objects that represent Unicode scalar values.
ちょっと困ったのが、stringはseqence of characterだから、
サロゲートペアを含めるには、stringじゃなくてbytevectorにしないと、
r6rs準拠にならない。
0466デフォルトの名無しさん
2007/10/16(火) 14:31:59宿題スレに行け。
0467デフォルトの名無しさん
2007/10/16(火) 16:27:15なんで?
文字を素直に UCS-4 にしてしまえばいいじゃないか。
0468デフォルトの名無しさん
2007/10/16(火) 17:08:54> (integer->char sv) procedure
>
> Sv must be a Unicode scalar value,
> i.e., a non-negative exact integer object
> in [0, #xD7FF] ∪ [#xE000, #x10FFFF].
0469デフォルトの名無しさん
2007/10/16(火) 17:31:53扱った場合だけでしょ。
string の内部形式として UTF-32 を使ってればそもそも気にする必要はないし、
内部形式に UTF-16 を使っていたとしても、char アクセス時にそれなりに変換
すればいい。
内部形式を UTF-16 にした string で、それをナイーブに char の配列として
実装しちゃいかんというだけのように読めるけどなあ。
0470デフォルトの名無しさん
2007/10/16(火) 18:05:26R6RSの文字は"Unicode scalar value"を表現します。
またR6RSに従うならそれしかできません。
"Unicode scalar value"はちゃんとした定義のある言葉です。
0471デフォルトの名無しさん
2007/10/16(火) 20:10:07なわけないじゃないか。
たとえば、U+2000B は UTF-16 で 0xD840 0xDC0B というサロゲートペアで
表されるけど、U+D840 や U+DC0B なんて文字があるわけではない。
あんたが (string (integer->char #xD840) (integer->char #xDC0B)) ができないって
言ってるみたいだから、俺は (string (integer->char #x2000B)) すればいいって
言ってるんだけど、何か勘違いしてる?
0472デフォルトの名無しさん
2007/10/17(水) 02:12:21そんな親切につきあわなくても……。もはやスレ違い同然。
0473デフォルトの名無しさん
2007/10/17(水) 12:30:18Webでサンプルコードとかを検索すると、n番目のリストを参照するための
オペレーターとしてlist-refという名前の関数がよく使われてるっぽいんですが、
これに対応するlist-set!がみつかりませんでした。
ペアに対してのオペレーター(car cdr set-car! set-cdr!)は標準でありますが、
リストに対しては整備されてないんでしょうか。
↓みたいなのがSRFIとかで定義されていればそれを使いたいのですが。
;n番目以降の部分リストを返す
(define (list-tail l n) (if (zero? n) l (list-tail (cdr l) (- n 1))))
;n番目の要素を返す
(define (list-ref l n) (car (list-tail l n)))
; 破壊版 set
(define (list-set! l n obj) (set-car! (list-tail l n) obj) l)
; 非破壊版 set (list-replace?)
(define (list-set l n obj)
(let loop ((i 0) (x l) (r '()))
(if (pair? x)
(if (= i n)
(loop (+ i 1) (cdr x) (cons obj r))
(loop (+ i 1) (cdr x) (cons (car x) r)))
(reverse r))))
0474473
2007/10/17(水) 12:40:14list-set!やlist-set相当はありませんでした。
0475デフォルトの名無しさん
2007/10/17(水) 14:01:400476デフォルトの名無しさん
2007/10/17(水) 19:55:25http://blog.bugyo.tk/lyrical/2007/10/post_40.html
0477473
2007/10/18(木) 00:18:00インターフェースを揃えておく利点として、他のコンテナに簡単に移行できる
という今更語るまでもなくCLや他の言語でも証明されてる事ですし。
takeやdropはSRFIで定義されてるのに不思議ですね。
0478デフォルトの名無しさん
2007/10/18(木) 00:23:43ランダムアクセスするなら >>475 の言うようにベクタを使うべきなんじゃないの?
0479デフォルトの名無しさん
2007/10/18(木) 01:17:33〜するべき、とかの話はおいといて、
例えばプロトタイピグとかでコンテナをいちいち決めたくないと思いませんか。
list-set相当の処理は入るけど大部分が副作用なしのリスト処理の場合とか。
0480デフォルトの名無しさん
2007/10/18(木) 01:22:370481デフォルトの名無しさん
2007/10/18(木) 01:23:49〜-set!が、コンテナの数だけあるのも、なんだかな。
やっぱOOが必要なんだろうけど、
プログラミング業界で一番OOに盛り上がりがないからな。
CLOSの頃と違って。
0482デフォルトの名無しさん
2007/10/18(木) 01:29:42この話は終わりますね。
>>481
OOというよりイディオムとしてのインターフェースは統一した方が
判りやすいと考えてるんですが。(今のところOOは必要と思ったことないです)
0483デフォルトの名無しさん
2007/10/18(木) 01:32:39方言上等!みたいなのがこの世界です。
0484デフォルトの名無しさん
2007/10/18(木) 04:11:350485デフォルトの名無しさん
2007/10/18(木) 05:03:08setf 的な set! だったら srfi にあるね。
http://srfi.schemers.org/srfi-17/srfi-17.html
0486デフォルトの名無しさん
2007/10/18(木) 09:39:14> (今のところOOは必要と思ったことないです)
今のところlist-set!は必要と思ったことないです
0487デフォルトの名無しさん
2007/10/18(木) 17:45:400488デフォルトの名無しさん
2007/10/18(木) 17:53:160489デフォルトの名無しさん
2007/10/18(木) 18:20:210490デフォルトの名無しさん
2007/10/18(木) 19:15:230491デフォルトの名無しさん
2007/10/18(木) 19:46:490492デフォルトの名無しさん
2007/10/18(木) 20:33:350493デフォルトの名無しさん
2007/10/18(木) 20:34:450494デフォルトの名無しさん
2007/10/18(木) 20:56:360495デフォルトの名無しさん
2007/10/18(木) 21:30:320496デフォルトの名無しさん
2007/10/18(木) 21:38:49「Mですか?」の略だろ。LISP的に考えて。
0497デフォルトの名無しさん
2007/10/19(金) 00:17:010498oWlyiBCrkzVQNj
2007/10/19(金) 04:20:450499デフォルトの名無しさん
2007/10/19(金) 16:40:570500デフォルトの名無しさん
2007/10/19(金) 21:58:190501デフォルトの名無しさん
2007/10/20(土) 01:49:22swank backend を使った、開発環境が、取り上げられています。
ttp://www.ibm.com/developerworks/library/os-eclipse-lispcusp/index.html
screen shotを見る限りでは、現時点でも、ずいぶんイケてるっぽいです。
わたしは、eclipse環境を使ってないので、今すぐに試す気はしませんが、
補完候補が、GUIで縦に表示されるのを、そのうち味わってみたいです。
0502デフォルトの名無しさん
2007/10/22(月) 14:23:530503デフォルトの名無しさん
2007/10/22(月) 23:05:430504デフォルトの名無しさん
2007/10/22(月) 23:49:330505デフォルトの名無しさん
2007/10/23(火) 00:30:440506デフォルトの名無しさん
2007/10/23(火) 01:03:120507デフォルトの名無しさん
2007/10/23(火) 20:39:420508デフォルトの名無しさん
2007/10/23(火) 23:30:00どんなだったか忘れちゃったけど。
LISPの永続性と真逆の関係だね。
0509デフォルトの名無しさん
2007/10/24(水) 22:16:11「ワイはコンビネーターや」ってことかい?
0510デフォルトの名無しさん
2007/10/24(水) 23:57:150511デフォルトの名無しさん
2007/10/25(木) 03:00:23「必殺、包み包み!」
0512デフォルトの名無しさん
2007/10/25(木) 12:20:540513デフォルトの名無しさん
2007/10/25(木) 18:13:590514デフォルトの名無しさん
2007/10/26(金) 01:41:26それはポール大好きグラハム・ちゃっぷまん@世界の料理ショーじゃまいか?
0515デフォルトの名無しさん
2007/10/26(金) 13:57:51ビリー・グラハム@テレビ宣教師
0516デフォルトの名無しさん
2007/10/26(金) 15:37:320517デフォルトの名無しさん
2007/10/28(日) 11:46:070518デフォルトの名無しさん
2007/10/28(日) 12:25:450519デフォルトの名無しさん
2007/10/29(月) 20:31:26後始末が面倒くさそう
0520デフォルトの名無しさん
2007/10/29(月) 22:28:030521デフォルトの名無しさん
2007/10/30(火) 00:05:280522デフォルトの名無しさん
2007/10/30(火) 07:33:450523デフォルトの名無しさん
2007/10/30(火) 10:32:290524デフォルトの名無しさん
2007/10/30(火) 12:31:120525デフォルトの名無しさん
2007/10/30(火) 17:33:45アレをかける人で執筆時間がとれる人いるんだろうか。
0526デフォルトの名無しさん
2007/10/30(火) 19:22:260527デフォルトの名無しさん
2007/11/04(日) 23:24:200528デフォルトの名無しさん
2007/11/05(月) 01:08:37On Lisp
Practical Common Lisp
0529デフォルトの名無しさん
2007/11/05(月) 04:27:030530デフォルトの名無しさん
2007/11/05(月) 07:48:55CLはつまんない制約ばっかりで最初は滅入るから
0531デフォルトの名無しさん
2007/11/05(月) 12:53:03入門は一生に一度だけだから、比較的マイナーな分野だと言えよう
0532デフォルトの名無しさん
2007/11/05(月) 12:53:34そんなこたあない
0533デフォルトの名無しさん
2007/11/05(月) 14:09:03そんなこたあない
0534デフォルトの名無しさん
2007/11/05(月) 14:28:16thx
>>534-
他の皆さんは?(・∀・ )っ/凵 ⌒☆チンチン
0535デフォルトの名無しさん
2007/11/05(月) 22:25:23BSD類のインストーラに凝ったものが無い、というのと同じような気がする
0536デフォルトの名無しさん
2007/11/05(月) 23:23:43・マクロ(schemeインタプリタ)を実装
だって。
0537デフォルトの名無しさん
2007/11/06(火) 05:04:00浦島かよ。
PC-BSDのインストーラはLinuxみたいに凝ってるし、
FreeBSDも7からGUIインストーラが用意される予定。
0538デフォルトの名無しさん
2007/11/06(火) 09:16:350539デフォルトの名無しさん
2007/11/06(火) 09:35:42OpenBSDのインストーラは最後の砦だw
0540デフォルトの名無しさん
2007/11/06(火) 12:11:48浦島かよ。
FreeBSDのGUIインストーラは7に入らないことが決定済み。
0541デフォルトの名無しさん
2007/11/06(火) 12:20:590542デフォルトの名無しさん
2007/11/06(火) 16:33:010543デフォルトの名無しさん
2007/11/06(火) 22:29:14WinFXでWin32を順次置き換えていくらしいから、
もう既にWin32で囲い込みする必要もないだろうに。
サポートの手間がメンドクサイからまあ、なさそうだけど。
0544デフォルトの名無しさん
2007/11/06(火) 22:45:050545デフォルトの名無しさん
2007/11/07(水) 00:20:35なぜこのスレで書いてるのか知らんが、Windows Vista では
Enterprise、Ultimate 版に SFU の後継である SUA が載ってるよ。
0546デフォルトの名無しさん
2007/11/07(水) 14:26:53sbcl-core:
rm -f ${SBCL_CORE}
sbcl <<EOF
(load "${SRC_DIR}/${PACKAGE_NAME}/swank-loader.lisp")
(save-lisp-and-die "${SBCL_CORE}")
EOF
としてみたのですがうまくいきません
どうしたらよいでしょうか。
0547デフォルトの名無しさん
2007/11/07(水) 18:49:20makeの継続行は最後に\
here documentでは必要ないが、
makeは一行で1 shell script。行継続しないと。ってことかな?
0548デフォルトの名無しさん
2007/11/08(木) 02:50:15common lispの
(let ((count 0))
(defun increment ..
(defun decrement ..
のような処理をしたい場合はどうすればいいのでしょうか?
0549デフォルトの名無しさん
2007/11/08(木) 04:32:17(define inc #f)
(define dec #f)
(let ((count 0))
(set! inc (lambda ...))
(set! dec (lambda ...)))
0550デフォルトの名無しさん
2007/11/08(木) 20:42:17schemeの理論をそれほどちゃんと理解しているわけじゃないが、
厳密に言えばincrementをlambdaに束縛するのがincrementを呼ぶ前に
行われるとは限らないんじゃないか?
0551デフォルトの名無しさん
2007/11/08(木) 21:52:25(define inc (lambda ...))
(define dec (lambda ...)))
ってできないの?
0552デフォルトの名無しさん
2007/11/08(木) 23:42:14オブジェクト指向だったらMMVCとかあるけどschemeでオブジェクト指向やってもうれしくもなんともないし
0553デフォルトの名無しさん
2007/11/09(金) 01:06:31>>551
r5rs - 5.2.2 Interanal Definition
0554デフォルトの名無しさん
2007/11/09(金) 01:12:47その全てを引数として他の可変長引数を取る手続きに渡すにはどうすれば良い?
(define (f1 . x)
x)
(define (f2 . x)
(f1 x))
(f2 1 2 3 4 5 6) ; ((1 2 3 4 5 6))になっちゃう(1 2 3 4 5 6)にしたい
0555デフォルトの名無しさん
2007/11/09(金) 01:20:390556デフォルトの名無しさん
2007/11/09(金) 01:24:09ありがとー
0557デフォルトの名無しさん
2007/11/09(金) 01:27:48scheme とか lisp には言語を自由に拡張できるマクロが...
なので
> プログラムのアーキテクチャ
てなものを考えてもしょうがないと思うけど...
「特定の言語とかモデルに捕らわれないで問題領域解決用の専用言語を作る」
のが lisp 系言語の流儀だと思う.
0558デフォルトの名無しさん
2007/11/09(金) 01:38:39Java : 煉瓦
Ruby : 絵の具
0559デフォルトの名無しさん
2007/11/09(金) 01:42:26プログラムを作るというより実行系の環境を最終目的物に書き換えていくみたいな感じ。
粘土細工作るときの作業台全体みたいな物だと思ってるんだけどどうなんだろう。
0560デフォルトの名無しさん
2007/11/09(金) 01:42:570561デフォルトの名無しさん
2007/11/09(金) 02:20:030562デフォルトの名無しさん
2007/11/09(金) 02:44:350563デフォルトの名無しさん
2007/11/09(金) 07:59:36出来る
けど内部定義のdefineだから
グローバルな束縛にならない
一方set!なら可視な束縛の変更だから
グローバルな環境の変更もできる
553がシンプルな答えだけど
0564デフォルトの名無しさん
2007/11/09(金) 08:42:26let環境の値としてinc, dec(を含むリスト)を返し,それを外部でinc, decで束縛すれば...
(define tmp
(let1 count 0
(define (inc) ...)
(define (dec) ...)
(list inc dec)))
(define inc (car tmp))
(define dec (cadr tmp))
;; 自分では動くか試してない(ぉ
0565デフォルトの名無しさん
2007/11/09(金) 10:18:360566546
2007/11/09(金) 12:24:49ありがとうございます
make sbcl-core
rm -f /home/hoge/.sbcl/sbcl.core-with-slime
sbcl <<EOF
This is SBCL 0.9.17, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (load "../src//slime-cvs/swank-loader.lisp")
load: not found
*** Error code 127
というメッセージが出ているので、makeの問題では無いと思うんですが…
0567デフォルトの名無しさん
2007/11/09(金) 12:35:36define は top level をいじることにしとけばよかったのにな。
そうすれば begin の
5.1 Programs
> At the top level of a program (begin <form1> ...,) is equivalent
> to the sequence of expressions, definitions, and syntax
> definitions that form the body of the begin.
5.2.2 Internal definitions
> Wherever an internal definition may occur (begin <definition1>
> ...,) is equivalent to the sequence of definitions that form the
> body of the begin.
みたいな特別扱いも不要だし
(define x 10)
(define y x)
y => 10
(let ()
(define x 10)
(define y x)
y) --> error
なんてわかりづらいこともなくなったのに。
0568デフォルトの名無しさん
2007/11/09(金) 14:36:31処理系書くとき邪魔だよねえ。
しかしdefineで内部関数を書けるのは便利。
labelsとかfsetとかは醜い。書きづらいし読みづらい。
0569デフォルトの名無しさん
2007/11/09(金) 15:16:43(begin <form1> ...)じゃないから、
(begin (begin <definition1> ...))を機械的に、
<definition1> ...とsplicingするわけにいかないのがきつい…
こっちはR6RSではないんでしょ。
・Internal definitions are now defined in term of letrec*.
トップレベルの方はライブラリがらみでまた気にするところ増えたけど。
0570デフォルトの名無しさん
2007/11/09(金) 15:48:37(begin <definition1> ...)になって、次は、
<definition1> ...でいいんじゃないのかなあ?
その辺り、R6RSの方が解釈しやすい書き方だけど。
<body> <library body> <top-level body>と、
構文上のノンターミナル使って定義してあるから。
R5RSは文章での説明が多くて理解するのに頭を使う。
0571デフォルトの名無しさん
2007/11/09(金) 21:44:178章の途中から泣きそうになった(高階関数のあたり)。
何とか理屈はわかったけれど、身に付くかどうか・・・
がんばってみます。
0572デフォルトの名無しさん
2007/11/09(金) 23:47:21おお仲間だ!
multiremberEcoとかcontinuationとか出てきたあたりで学習速度がすっごいダウンするよね
0573デフォルトの名無しさん
2007/11/10(土) 00:50:26曖昧に理解せず、身に付けさせるための本だから、
ちゃんと読み終わったら身に付くよ。
0574デフォルトの名無しさん
2007/11/10(土) 00:56:590575デフォルトの名無しさん
2007/11/10(土) 12:38:29どういった処理系もしくはライブラリを使ってますか?
やっぱりほとんどいないのかな。。
0576デフォルトの名無しさん
2007/11/10(土) 12:57:240577575
2007/11/10(土) 13:40:41並列プログラミングの話ってほとんど語られていないと思ったんで。
0578デフォルトの名無しさん
2007/11/10(土) 14:08:270579デフォルトの名無しさん
2007/11/10(土) 14:09:170580デフォルトの名無しさん
2007/11/10(土) 14:36:440581デフォルトの名無しさん
2007/11/10(土) 22:16:140582デフォルトの名無しさん
2007/11/11(日) 00:04:04手習いや湯浅先生の入門本は入手しづらいし。
0583デフォルトの名無しさん
2007/11/11(日) 02:55:560584デフォルトの名無しさん
2007/11/11(日) 12:23:590585デフォルトの名無しさん
2007/11/12(月) 07:54:120586デフォルトの名無しさん
2007/11/12(月) 09:50:010587デフォルトの名無しさん
2007/11/12(月) 22:13:04みんな自作?
0588デフォルトの名無しさん
2007/11/12(月) 22:21:590589デフォルトの名無しさん
2007/11/12(月) 22:49:070590デフォルトの名無しさん
2007/11/12(月) 23:10:25MIT 使ってる人は初めてだ。もし良かったら、
どんな時に Gauche じゃなくて MIT を使うか
教えて下さい。
0591デフォルトの名無しさん
2007/11/12(月) 23:26:120592591
2007/11/12(月) 23:50:570593デフォルトの名無しさん
2007/11/12(月) 23:58:550594デフォルトの名無しさん
2007/11/13(火) 00:16:13どうもありがとう。何か拘りがあって使ってらっしゃるのかと思いました。
0595デフォルトの名無しさん
2007/11/13(火) 00:46:26slang
0596デフォルトの名無しさん
2007/11/13(火) 01:25:24にはどうしたらいいでしょう。例えば、3 の前に 'a を挿入したいです。
(let ((x 3))
(let ((ls (list 1 2 3 4 5)))
;; ここ
ls))
=>(1 2 'a 3 4 5)
0597デフォルトの名無しさん
2007/11/13(火) 02:27:53(define (find-insert lst fnd val)
(define (find-cdr lst f)
(if (equal? (cadr lst) f)
lst
(find-cdr (cdr lst) f)))
(let ((l (find-cdr lst fnd)))
(set! (cdr l) (cons val (cdr l)))))
(define ls '(1 2 3 4 5))
(define x 3)
(find-insert ls x 'a)
(write ls)
0598デフォルトの名無しさん
2007/11/13(火) 04:01:03お付き合いいただいてどうもです。ヒントになりました。
setf を使えば良かったみたいです。3 の後になってしまいますが、
次善の策としてこれでも良いです。
(let ((x 3))
(let ((ls (list 1 2 3 4 5)))
(let ((place (member x ls)))
(setf (cdr place) (cons 'a (cdr place))))
ls))
=>(1 2 3 a 4 5)
0599デフォルトの名無しさん
2007/11/13(火) 12:00:26俺はPLTだな…IDEが付いてくるからって理由だけだが。
0600デフォルトの名無しさん
2007/11/13(火) 12:14:47scmはdefaultでreadlineがあるからちょこちょこ書くときはこっち。
0601デフォルトの名無しさん
2007/11/13(火) 18:00:34有理数が使えていろんな環境で使えるのはこれくらいしかない(と思う)
ocsなんかも面白そうだけどまだあんまり使ったことない
0602デフォルトの名無しさん
2007/11/13(火) 18:05:51独自仕様部分のポーティングが面倒になる。
0603デフォルトの名無しさん
2007/11/13(火) 18:51:270604デフォルトの名無しさん
2007/11/13(火) 20:17:53Common Lispの処理系が動かない環境もあるんでつ(´・ω・`)
0605デフォルトの名無しさん
2007/11/14(水) 01:05:280606デフォルトの名無しさん
2007/11/14(水) 06:55:030607デフォルトの名無しさん
2007/11/14(水) 13:22:120608デフォルトの名無しさん
2007/11/14(水) 13:58:420609デフォルトの名無しさん
2007/11/14(水) 18:19:10動きそうだけど動かないですねぇ
clispもGCLもGaucheもMzSchemeもGambit-Cも
Gambit-Cはビルドは成功するけどリーダがいかれてて
3 -> 0
8 -> unbound error
とかになります
ソースが機械翻訳のCだから追う気になれないけど
規則性のあるバグだから見つかればつぶせそうです
scheme48は依存ライブラリもなく、GCも多倍長計算も有理数も自前なのにi386 onlyでポーティングされてるのが疑問
だから自分でパッケージ作っていれてます
0610デフォルトの名無しさん
2007/11/15(木) 15:48:16ttp://packages.debian.org/sid/scheme48
0611デフォルトの名無しさん
2007/11/16(金) 01:12:44感度の悪いアンテナ持ってるやつってどうよ?
0612デフォルトの名無しさん
2007/11/16(金) 06:53:05zaurus-"OpenBSD"の話です
i386のみにportingされているのは事実です
i386じゃなくても動くのも事実ですけどね
0613デフォルトの名無しさん
2007/11/16(金) 07:42:010614デフォルトの名無しさん
2007/11/16(金) 23:20:530615デフォルトの名無しさん
2007/11/16(金) 23:48:100616デフォルトの名無しさん
2007/11/16(金) 23:51:510617デフォルトの名無しさん
2007/11/16(金) 23:58:29http://will.iki.fi/software/ocs/
0618デフォルトの名無しさん
2007/11/17(土) 01:17:350619デフォルトの名無しさん
2007/11/20(火) 13:14:54ledit使えばいいんじゃね? > readline
$ ledit gosh -i
$ alias gau='ledit gosh -i'してる。
0620デフォルトの名無しさん
2007/11/20(火) 15:57:12テンプレのリンクは切れてて見れませんでしたわ。
0621デフォルトの名無しさん
2007/11/20(火) 23:48:160622デフォルトの名無しさん
2007/11/21(水) 10:39:21って聞いてるんだわ。(^〜^)
0623デフォルトの名無しさん
2007/11/21(水) 10:49:39「 ̄ `ヽ、 ______
L -‐ '´  ̄ `ヽ- 、 〉
/ ヽ\ /
// / / ヽヽ ヽ〈
ヽ、レ! { ム-t ハ li 、 i i }ト、
ハN | lヽ八l ヽjハVヽ、i j/ l !
/ハ. l ヽk== , r= 、ノルl lL」
ヽN、ハ l ┌‐┐ ゙l ノl l
ヽトjヽ、 ヽ_ノ ノ//レ′
r777777777tノ` ー r ´フ/′
j´ニゝ l|ヽ _/`\
〈 ‐ 持ってるが lト、 / 〃ゝ、
〈、ネ.. .lF V=="/ イl.
ト |お前の態度が とニヽ二/ l
ヽ.|l 〈ー- ! `ヽ. l
|l気に入らない lトニ、_ノ ヾ、!
|l__________l| \ ソ
0624デフォルトの名無しさん
2007/11/23(金) 13:49:482個以上の引数を取るandやorはマクロで定義されている様なんですが、
関数を使っても定義できるはずです。
なぜマクロを使っているのでしょうか。
0625デフォルトの名無しさん
2007/11/23(金) 14:01:080626デフォルトの名無しさん
2007/11/23(金) 14:02:36今はマクロで済むことはマクロでやる流儀。
0627デフォルトの名無しさん
2007/11/23(金) 14:39:200628624
2007/11/23(金) 14:55:37関数だと引数をみんな評価してしまうけど、
マクロならしないってことですか?
>626
すいません
特殊形式とマクロの違いがよくわかってないんですが、
引数を関数とは違う順序で評価するという点で同じで、
そのうち特殊形式はプリミティブなものと言うような理解で
いいんでしょうか。
0629デフォルトの名無しさん
2007/11/23(金) 15:32:46andもorも、「左から見ていって、途中でオシマイという運びになったらその後ろは評価しない」ものでしょ?
でも関数は「まずすべての引数を評価する」機構なわけで、それではandもorも実現できない。
一方、マクロは引数をまったく評価しない。だからこれを使って定義されている。
特殊形式は、すべての引数を評価するとは限らない関数、みたいなもので、
想像の通り、プリミティブなものだ。
てかこの辺り、Lispの勉強の初日や二日目の範疇じゃないか?
0630デフォルトの名無しさん
2007/11/23(金) 22:22:560631デフォルトの名無しさん
2007/11/24(土) 09:36:140632デフォルトの名無しさん
2007/11/24(土) 11:00:01なんのために書籍の「ON LISP」があると思っているのか
0633デフォルトの名無しさん
2007/11/24(土) 11:28:27私たちにとっては,On Lisp でレベルアップして,
更にいろいろ教えてくれる様になったその人たちに
より突っ込んだを質問が出来るようになる。だな。
0634デフォルトの名無しさん
2007/11/24(土) 13:54:45あとはEmacs Lisp Tutorialとかも参考になるだろうね。
0635デフォルトの名無しさん
2007/11/24(土) 14:04:06Common Lisp→Schemeだと使い分けられそう。
0636デフォルトの名無しさん
2007/11/24(土) 14:08:240637デフォルトの名無しさん
2007/11/24(土) 15:35:480638デフォルトの名無しさん
2007/11/24(土) 16:42:390639624
2007/11/24(土) 22:13:01>andもorも、「左から見ていって、途中でオシマイという運びになったらその後ろは評価しない」ものでしょ?
なるほど、単なる論理演算かと思ってました
ありがとうございます
>630,631
最近Haskellをかじって
うはwwwマクロもういらねんじゃね?www
とかいって喜んでたんですが、やっぱりそれであってるんですね
0640デフォルトの名無しさん
2007/11/25(日) 02:35:010641デフォルトの名無しさん
2007/11/25(日) 03:53:030642デフォルトの名無しさん
2007/11/25(日) 10:05:480643デフォルトの名無しさん
2007/11/25(日) 13:39:380644デフォルトの名無しさん
2007/11/25(日) 16:05:00説得してる
0645デフォルトの名無しさん
2007/11/25(日) 16:12:29それだと(多くの処理系では)グローバルしかセットできない
0646デフォルトの名無しさん
2007/11/25(日) 17:16:37# 普段 ELisp しか使ってないから、 set するだけだと思ってた。
じゃ、 case とかが書けないからマクロは必要、に訂正かな。
0647デフォルトの名無しさん
2007/11/27(火) 01:33:45SchemeとXyzzyLispって俺はどうすれば…。
0648デフォルトの名無しさん
2007/11/27(火) 02:05:340649デフォルトの名無しさん
2007/11/27(火) 03:29:28俺は逆だなぁ、CLだとなんでも揃うのだけどSchemeだと原理主義ありきなんで妥協してくれないから。
0650デフォルトの名無しさん
2007/11/27(火) 11:05:23「プリミティブがあれば充分」論者はR6RSで少なくなっていくと思う。
moduleとかOOとか。
0651デフォルトの名無しさん
2007/11/27(火) 11:21:240652デフォルトの名無しさん
2007/11/27(火) 11:33:55リファレンス実装以外で。
0653デフォルトの名無しさん
2007/11/27(火) 11:38:140654デフォルトの名無しさん
2007/11/27(火) 11:57:180655デフォルトの名無しさん
2007/11/27(火) 17:28:37実装してる処理系はあるけど標準化されてないってのがネック
UTF-8ファイルの読み書きで1バイト読み込むのか1文字読み込むのか実装依存(1文字読み込む実装は知らないけど)だし
構文オブジェクトもファーストクラスにして
(define foo (syntax ...なんて構文で定義したり
applyの第1引数に構文オブジェクトを受け取るように出来たらいいのに
でもそうすると構文木解釈系でしか動かないだろうから相当遅くなるし
そもそも合成構文はevalされる前に展開されるから無理か
ただCLと違って値も関数もdefineで定義できるのに
構文定義だけdefine-syntaxってのが美しくない気がする
define-syntaxは処理系に対して、defineは実行系に対しての構文だと割り切るしか無いか
0656デフォルトの名無しさん
2007/11/27(火) 19:57:37中止になったのなら半分まで進めて止まってる翻訳再開しようかな・・・
0657デフォルトの名無しさん
2007/11/27(火) 22:43:160658デフォルトの名無しさん
2007/11/28(水) 11:59:24Lisp関係の書籍出している出版社に問い合わせてみては?
既に進んでいるなら、翻訳者陣に参加して加速してくださいw
0659デフォルトの名無しさん
2007/11/29(木) 16:42:48ハゲド
ごちゃごちゃしたいならCLに行けば良いんだから
schemeは原理主義的な性格を守っていってほしい
構文オブジェクトは普通のマクロ入れると
コンパイラのコード生成ルールを吐いてくれるように出来ないかな?
ほんとに動的なマクロだと無理だろうけど...
0660デフォルトの名無しさん
2007/12/06(木) 13:58:46以下のような 2 種類の Scheme コードを書いてみました.
;;; case-A ----------------------------------------
(define continuation-A #f)
(define procedure
(lambda (n)
(define counter-A n)
(call-with-current-continuation
(lambda (k)
(set! continuation-A k)
(write counter-A) (newline)
)
)
(set! counter-A (+ counter-A 1))
(write counter-A) (newline)
)
)
(procedure 0) ; ==> 0 と 1 が表示される
(continuation-A #t) ; ==> 2 が表示される
(continuation-A #t) ; ==> 3 が表示される
(continuation-A #t) ; ==> 4 が表示される
;;; case-A おわり
0661660
2007/12/06(木) 14:00:00(define continuation-B #f)
(do ((counter-B 0 (+ counter-B 1)))
((= counter-B 10) 'finished)
(if (= counter-B 5) (call-with-current-continuation (lambda (k) (set! continuation-B k))))
(write counter-B) (newline))
; ==> 1 2 3 ... 7 8 9 finished が表示される
;;プログラム実行部
(continuation-B #t) ; ==> 5 6 7 8 9 finished が表示される
(continuation-B #t) ; ==> 5 6 7 8 9 finished が表示される
(continuation-B #t) ; ==> 5 6 7 8 9 finished が表示される
;;; case-Bおわり
0662660
2007/12/06(木) 14:02:18continuation-A が生成されたときから変数 counter-A が
ずっと見えたままであり,
continuation-A の呼び出しごとに counter-A の束縛値が
1 ずつインクリメントされていく.
(continuation-A が呼ばれるたびに,
「continuation-A 生成時における counter-A の束縛値」である 0 に
いちいちリセットされることはない.)
case-B では
continuation-B が呼ばれるたびに counter-B の束縛値は
「continuation-B 生成時の counter-B の束縛値」である 5 に
リセットされる.
多分基本的なところが理解できていないのだと思いますが,
この 2 つのコードにおける continuation 上の変数の見えかたについて
なぜこのような違いが生ずるか,お教えいただければ助かります.
0663デフォルトの名無しさん
2007/12/06(木) 15:14:39doを再帰に展開してごらん。
0664デフォルトの名無しさん
2007/12/06(木) 15:14:49doのdefine-syntaxがR5RSに書いてあるから読んでみたらどうよ?
束縛環境を良く考えると分かるはず。↓while版
(define continuation-B #f)
(let ((counter-B 0))
(while (< counter-B 10)
(if (= counter-B 5)
(call-with-current-continuation (lambda (k) (set! continuation-B k))))
(write counter-B)
(write-char #\ )
(inc! counter-B))
(print 'finished))
(continuation-B #t)
(continuation-B #t)
(continuation-B #t)
0665デフォルトの名無しさん
2007/12/06(木) 15:15:39新しい環境作って、そこで同じ名前に別の値を束縛してるだけ。
だから元の場所に戻ると、そこの環境にはそのときの値が残ってるから、その値が参照される。
set! は破壊的に書き換えるから、元の値が残ってない。
0666デフォルトの名無しさん
2007/12/07(金) 04:31:10どうなってんのこれ。
0667デフォルトの名無しさん
2007/12/07(金) 20:01:29java スレ行け。
0668デフォルトの名無しさん
2007/12/07(金) 20:02:20○ closure
0669デフォルトの名無しさん
2007/12/08(土) 01:05:550670デフォルトの名無しさん
2007/12/08(土) 02:36:470671デフォルトの名無しさん
2007/12/08(土) 08:02:24http://clojure.sourceforge.net/reference/lisps.html
どう考えてもLispでしょ。
Haskell方面で良く使われているSTM、
それにreactive Agent使った並列Lispの一種で面白いと思う。
STMでいろいろ遊んでみたかったんで試してみます。>>666サンクス
>>667みたいな馬鹿はなんなんだろ。
0672デフォルトの名無しさん
2007/12/08(土) 09:36:17なんらかの言語は無関係と思うが?
ClassCastException って java の例外でそ?
0673デフォルトの名無しさん
2007/12/08(土) 09:39:16javaで書かれた何かの言語の処理の実装系に問題があるなら
その何かの言語よりjavaに通じた人に質問する方が効果あると思うが?
ClassCastException は java の例外でしょ?
0674デフォルトの名無しさん
2007/12/08(土) 09:43:08C使いだけでなくschemerに聞くのも有りか…
javaグラマに偏見あるな俺は
0676673
2007/12/08(土) 10:52:39誤りについては御寛恕賜りたく、
0677デフォルトの名無しさん
2007/12/08(土) 12:54:42あるみたいだね
0678デフォルトの名無しさん
2007/12/08(土) 13:17:21JVMの上で動くClojureというLISP処理系の話とは思わなかった。
0679デフォルトの名無しさん
2007/12/08(土) 13:53:24>>>667みたいな馬鹿はなんなんだろ。
2ch だからといって安直に馬鹿とかアホとか書くのは止めた方が良いよ。
0680デフォルトの名無しさん
2007/12/08(土) 14:20:340681デフォルトの名無しさん
2007/12/09(日) 04:58:51書いた本人が安直な馬鹿だから、言ってもしょうがない。
0682デフォルトの名無しさん
2007/12/09(日) 19:56:01ClassCastExceptionなんていうJavaの例外が出てる時点で、処理系の不具合だろうが。
不具合あるなら、ソース読むか、コミュニティに報告するかだろ。
それができないんだったら、安定版がリリースするまでおとなしく黙ってろ。
0683デフォルトの名無しさん
2007/12/10(月) 01:39:04あるいは愚痴を言う、だろ?
そのキツい態度はこのスレに取って良い未来を生み出さないと思うのだが。
0684デフォルトの名無しさん
2007/12/10(月) 04:00:09その優しい態度も良い未来を生み出さないという意味では同じであろう。
つまり、好きにそれぞれの芸風でやってくれ。w
0685デフォルトの名無しさん
2007/12/10(月) 08:09:12ただフレームを生み出すよりは無視する方がまだマシだというお馴染みの主張をしたいだけで
0686デフォルトの名無しさん
2007/12/11(火) 10:12:56強力なIDEの付いたVisual Lisp# 2008出してくれないかな。。
0687デフォルトの名無しさん
2007/12/11(火) 10:22:160688デフォルトの名無しさん
2007/12/11(火) 12:00:240689デフォルトの名無しさん
2007/12/11(火) 12:44:230690デフォルトの名無しさん
2007/12/11(火) 19:11:27どんなMS独自仕様が拡張されているの?
0691デフォルトの名無しさん
2007/12/11(火) 21:02:04ところでScheme48でscmファイルからモジュールを,openする方法ってないんでしょうか?
モジュールを,openしたヒープイメージを,dumpか,buildする方法だとなんか大げさだし
標準入力で,openさせて-a batchする方法だと標準入力が塞がっちゃうし
(open structure-name)とかで,openできればいいんですけど…
0692デフォルトの名無しさん
2007/12/11(火) 21:59:56.NET Framework をシームレスに呼べるようになってたりするのだろう。w
それはそれで便利かも。
0693デフォルトの名無しさん
2007/12/11(火) 22:16:560694デフォルトの名無しさん
2007/12/11(火) 22:33:57Java→C#で行われたような言語レベルでの大幅な強化・改善が行われるだろう。
0695デフォルトの名無しさん
2007/12/11(火) 22:38:100696デフォルトの名無しさん
2007/12/12(水) 00:55:36それでも依然として LISP ではあるところが LISP の包容力の大きさだ。w
まじでやってほしい気がしてきた。
0697デフォルトの名無しさん
2007/12/12(水) 10:45:55表現がS式であることしか無いような気がしてきた
0698デフォルトの名無しさん
2007/12/12(水) 16:29:240699デフォルトの名無しさん
2007/12/12(水) 17:06:110700デフォルトの名無しさん
2007/12/12(水) 20:24:54無知すぎました
エンコーディングさえ設定すれば1文字読み込むことも出来る実装がちゃんとあるんですね
0701デフォルトの名無しさん
2007/12/13(木) 09:49:24( ) の代わりに全部 { } で書くの?
0702デフォルトの名無しさん
2007/12/13(木) 17:35:11>665で1文字読み込む実装は知らないなんて書きましたけど
665にはそんな記述見あたらないんだけど…
655の間違いだな
0703デフォルトの名無しさん
2007/12/13(木) 22:19:54dylanのことかーっ
0704691
2007/12/14(金) 01:07:29slibはscheme48を冷遇してるから期待してなかったんですが…
0706デフォルトの名無しさん
2007/12/14(金) 23:11:54Kahuaプロジェクト 著
川合 史朗 監修
ISBN978-4-87311-348-7
定価3,360円
0707デフォルトの名無しさん
2007/12/14(金) 23:50:51発売日は決まったの?
0708デフォルトの名無しさん
2007/12/15(土) 07:58:50「プログラミングGauche」じゃなかったっけ?
0709デフォルトの名無しさん
2007/12/15(土) 08:43:010710デフォルトの名無しさん
2007/12/15(土) 08:46:560711デフォルトの名無しさん
2007/12/15(土) 08:50:120712デフォルトの名無しさん
2007/12/15(土) 09:29:05∩___∩
| ノ ヽ
/ ● ● | G、Gauche!
| ///( _●_)//ミ
彡、 /⌒)(⌒ヽノ
./ / / \ \
l ノ `ー‐'
0713デフォルトの名無しさん
2007/12/15(土) 12:14:480714デフォルトの名無しさん
2007/12/15(土) 17:26:12でも、どんな場合に違いがでるのかわからないので説明があるどこかのURLを教えてください。
お願いします。
0715デフォルトの名無しさん
2007/12/15(土) 17:49:32eqとequalの違いは判る人?
それすら判らない人?
0716デフォルトの名無しさん
2007/12/15(土) 17:50:56http://www.google.co.jp/search?q=eq+equal
0717デフォルトの名無しさん
2007/12/15(土) 18:35:24"Comparator"の違い。
0718デフォルトの名無しさん
2007/12/15(土) 18:37:57わかりません。
>>716
やってみましたが下記のような感じで書いてあり、いまいち初心者にはピンと来ないのです。
eq
二つのオブジェクト(実体)が同じものの時。
実体が同じということは、その内容が変われば、他方の内容もそれにつれて変わるような関係。
シンボルや、整数値の場合は、名前や値が同じだけで同じと判別する。
equal
中身が同じものを指しているなら真。
0719デフォルトの名無しさん
2007/12/15(土) 18:49:29一致する場合はこう。
(assq 'a '((a b) (c d))) ; => (a b)
(assoc 'a '((a b) (c d))) ; => (a b)
違いは以下のような場合。実行してみるとこういう違いがある。
(assq '(4 5) '(((1 2) 3) ((4 5) 6))) ; => #f
(assoc '(4 5) '(((1 2) 3) ((4 5) 6))) ; => ((4 5) 6)
>>718の説明から理解するのは難しい。
0720デフォルトの名無しさん
2007/12/15(土) 18:50:39Javaの == と equals との関係に似ている
eq はポインタ同値
0721デフォルトの名無しさん
2007/12/15(土) 18:59:02eq
< 二つの引数が同じオブジェクトなら真。
equal
< 二つの引数が別のオブジェクトでも中身が同じなら真。
0722デフォルトの名無しさん
2007/12/15(土) 19:09:49うるさいことを言わなければ、は以下のような使い分けになる。
・シンボルであることが明らかな場合は eq を使うことができる。(eqのほうが速い)
・そうでないときは equal が安全。
・その中間として eql ってのがある。構造のあるもの(リスト・文字列・配列など)でないことが
判っていればこちらのほうが速い。
・数値同士だと判ってるなら =、文字列同士なら string= がたぶん速い。
なぜこんなことになってるか知りたければもっと勉強するべし。
0723デフォルトの名無しさん
2007/12/15(土) 19:10:00ありがとうございます。すごくよくわかりました。
(assq '(4 5) '(((1 2) 3) ((4 5) 6))) ; => #f
(assoc '(4 5) '(((1 2) 3) ((4 5) 6))) ; => ((4 5) 6)
の場合には(4 5)が別々のオブジェクトをさすポインタだからeqでは偽になるんですね。
でもequalだとオブジェクトが同じだから真になるんですね。
0724デフォルトの名無しさん
2007/12/15(土) 19:19:45assqの実装は大体こんな感じになっている。
(defun assq (key alist)
(cond
((null alist) nil)
((eq key (car (car alist))) (car alist))
(t (assq key (cdr alist)))))
assocならこう
(defun assoc (key alist)
(cond
((null alist) nil)
((equal key (car (car alist))) (car alist))
(t (assq key (cdr alist)))))
>>724が言うようにeqlや=やstring=を使えば用途に応じて高速なものが使える。
0725デフォルトの名無しさん
2007/12/15(土) 19:25:35> でもequalだとオブジェクトが同じだから真になるんですね。
< でもequalだとオブジェクトの中身が同じだから真になるんですね。
0726デフォルトの名無しさん
2007/12/15(土) 19:34:35ありがとうございます。
>>722
むずかしいけど、>>724の解説をみて、使うと便利だということは理解できました (^ ^;
>>724
そういうプログラムなんですね。eqとequalの使われてるところとか参考になりました。
>>725
ありがとうございます。そういうことを書いたつもりでした。でもプログラミングのことを正確に話し言葉にするのって難しいです。
0727デフォルトの名無しさん
2007/12/15(土) 20:32:28ttp://sbcl.cvs.sourceforge.net/sbcl/sbcl/src/code/pred.lisp?view=markup
> 196 ;;;; equality predicates
eqの実質的な定義はちょっと見つけられなかったけど...
0728デフォルトの名無しさん
2007/12/15(土) 20:36:48最後の行が間違えてるね。assq=>assoc
(defun assoc (key alist)
(cond
((null alist) nil)
((equal key (car (car alist))) (car alist))
(t (assoc key (cdr alist)))))
0729デフォルトの名無しさん
2007/12/15(土) 21:54:45(defun good-enough? (guess)
(< (abs (- (square guess) x)) 0.001))
(defun improve (guess)
(average guess (/ x guess)))
(defun sqrt-iter (guess)
(if (good-enough? guess)
guess
(sqrt-iter (improve guess))))
(sqrt-iter 1.0))
(defun average (a b) (/ (+ a b) 2))
(defun square (x) (* x x))
(sqrt 2)
1.414216
0730デフォルトの名無しさん
2007/12/15(土) 22:14:280731デフォルトの名無しさん
2007/12/15(土) 22:27:49どこを修正すると改善されるか?という問題かな?
0732デフォルトの名無しさん
2007/12/15(土) 22:35:110733デフォルトの名無しさん
2007/12/16(日) 00:54:38Schemeを使わなくてもCLにはlabelsがあるよ。とオモタ
0734デフォルトの名無しさん
2007/12/16(日) 01:38:25「実質的な」ってどういう意味?
0735デフォルトの名無しさん
2007/12/16(日) 12:26:37翻訳系eq実装の事ね。
src/compiler/x86/pred.lisp
eqlは、
src/compiler/x86/arith.lisp
src/compiler/x86/float.lisp
src/compiler/src/trans.lisp
あたり。
0736デフォルトの名無しさん
2007/12/17(月) 02:31:460737デフォルトの名無しさん
2007/12/17(月) 23:35:02(atom '(1 2 3)) ; => nil
(atom (quote ())) ;=> t
空リストがアトムだと知らなかった。 orz
0738デフォルトの名無しさん
2007/12/17(月) 23:39:40t
リストでもある
0739デフォルトの名無しさん
2007/12/17(月) 23:58:260740デフォルトの名無しさん
2007/12/18(火) 01:01:57Schemeならquoteがいるけど
Guileは()も#(...)も自己評価的でRnRSとはだいぶ違う(Schemeの中ではCL寄り?)
R5RSに準拠してくれたら乗り換えてもいいかなと思うんだけど
0741デフォルトの名無しさん
2007/12/18(火) 02:14:52nilって知ってる?
0742デフォルトの名無しさん
2007/12/18(火) 08:44:380743デフォルトの名無しさん
2007/12/18(火) 12:32:510744デフォルトの名無しさん
2007/12/18(火) 16:01:08あれ?
0745デフォルトの名無しさん
2007/12/18(火) 18:48:240746デフォルトの名無しさん
2007/12/18(火) 20:13:30listpとか
(null ())
t
とかも教科書では出てくるけどatomはあまり使わないかな。記号処理では使うけど。
0747デフォルトの名無しさん
2007/12/18(火) 20:46:24ホントは良くない。
0748デフォルトの名無しさん
2007/12/19(水) 14:15:26(let ((x)) x) => NIL
Scheme:
(let ((x)) x) -> ERROR
Unspecific値が返るかと密かに期待したんですけど
CLと違ってSchemeではletはlambdaの派生式だから当然と言えば当然ですね
Unspecific値を手軽に得るには(if #f #f)しかないのかな?
0749デフォルトの名無しさん
2007/12/20(木) 00:22:39Scheme版ならこんな感じ。
(define assoc
(lambda (key alist)
(cond ((null alist) nil)
((equal key (car (car alist))) (car alist))
(else (assoc key (cdr alist))))))
lambdaとelseを使ってみた。
0750デフォルトの名無しさん
2007/12/20(木) 00:26:320751デフォルトの名無しさん
2007/12/20(木) 01:28:38Schemeの文法良く調べろよ。
0752デフォルトの名無しさん
2007/12/20(木) 04:05:38(lambda (key alist)
(cond ((null? alist)
#f)
((equal? key (caar alist)))
(car alist))
(else
(assoc key (cdr alist))))))
0753デフォルトの名無しさん
2007/12/20(木) 17:54:21乙!
null?だよね。間違ってたw
あとcaarの方が簡潔だね。
0754デフォルトの名無しさん
2007/12/20(木) 17:55:22文法はアルゴリズムじゃないぜw
0755デフォルトの名無しさん
2007/12/20(木) 17:57:38アルゴリズムの話なんてしてないだろw
0756デフォルトの名無しさん
2007/12/20(木) 18:00:54釣りかもしれないけどSICPとかどうよ?
0757デフォルトの名無しさん
2007/12/20(木) 18:03:46はぁ?
>750 名前:デフォルトの名無しさん 投稿日:2007/12/20(木) 00:26:32
>SchemeかLispで書いてあるアルゴリズムの教科書を教えてください。
>
>
>751 名前:デフォルトの名無しさん 投稿日:2007/12/20(木) 01:28:38
>>>748
>Schemeの文法良く調べろよ。
>
>754 名前:デフォルトの名無しさん 投稿日:2007/12/20(木) 17:55:22
>>>751
>文法はアルゴリズムじゃないぜw
>
>
>755 名前:デフォルトの名無しさん 投稿日:2007/12/20(木) 17:57:38
>>>754
>アルゴリズムの話なんてしてないだろw
アルゴリズムの話じゃなきゃなんなの?
0758デフォルトの名無しさん
2007/12/20(木) 18:30:180759デフォルトの名無しさん
2007/12/20(木) 18:34:33/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
アンカーをもう一度見直すんだ
0760デフォルトの名無しさん
2007/12/20(木) 18:58:27わはー、おっちょこちょいはワシだけじゃなかったらすぃ
0761デフォルトの名無しさん
2007/12/20(木) 18:58:290762デフォルトの名無しさん
2007/12/20(木) 20:15:05SICPは良い本だけど辞書的ではないしなぁ。
0763デフォルトの名無しさん
2007/12/20(木) 21:05:07(define (assoc key alist)
(and alist
(let loop ((ls alist))
(if (equal? key (caar ls))
(car ls)
(loop (cdr ls))))))
0764デフォルトの名無しさん
2007/12/20(木) 21:10:53Purely Functional Data Structures
Algorithms: A Functional Programming Approach
0765デフォルトの名無しさん
2007/12/20(木) 22:08:20(define assoc
(lambda (key alist)
(cond
((null? alist) #f)
((equal? key (car (car alist))) (car alist))
(else (assoc key (cdr alist))))))
>>752さんのも動かなかったので修正しておきました。
(define assoc
(lambda (key alist)
(cond
((null? alist) #f)
((equal? key (caar alist)) (car alist))
(else (assoc key (cdr alist))))))
>>763さんのは動きました。loopの使い方がイイ感じですね。
0766デフォルトの名無しさん
2007/12/20(木) 23:38:07(setq pref-alist
'(("山梨県" . "甲府市")
("神奈川県" . "横浜市")
("愛知県" . "名古屋市")
("茨城県" . "水戸市")))
とやっているのをschemeではどのように書けばよいのでしょうか?お願いします。
0767デフォルトの名無しさん
2007/12/20(木) 23:40:380768デフォルトの名無しさん
2007/12/21(金) 00:06:44gaucheでそうやってみると
gosh> *** READ-ERROR: Read error at "c:/meadow/test-assoc.scm":line 43: EOF encountered in a string literal: "壤壤壤「壤ィ"
Stack Trace:
となるので間違っているのかと思いまして。日本語が上手く通っていないだけなんですね。ちょっとがっかりですが納得できました。有り難うございます。
0769デフォルトの名無しさん
2007/12/21(金) 00:15:17(define pref-alist
'(("yamanashi" . "kofu")
("kanagawa" . "yokohama")
("aichi" . "nagoya")
("ibaraki" . "mito")))
と書いて、
>
で
c-c c-l ファイル名
したあと
>gosh> (assoc "ibaraki" pref-alist)
("ibaraki" . "mito")
と出来ました。お騒がせしました。utf-8が上手く行ってないようです。
0770デフォルトの名無しさん
2007/12/21(金) 00:24:35してからセーブしたら解決しました。
Gaucheの仕様がコンソール上ではsjisでOKなのに、ファイルだとutf-8しか受け付けないというのがわかっていなかったのが原因でした。
0771デフォルトの名無しさん
2007/12/21(金) 00:46:35> (let ((x)) x) -> ERROR
これはletの返り値じゃなくて、文法エラーだぜ。
初期値省略は許されてない!
0772デフォルトの名無しさん
2007/12/21(金) 01:09:49> >>763さんのは動きました。
動かないと思うんですが
0773748
2007/12/21(金) 06:38:07->が結果のつもりで書き分けたんですが…
0774デフォルトの名無しさん
2007/12/21(金) 07:23:25>希望落札価格:10,000 円
(; ・`д・´) な、なんだってー!! (`・д´・ ;)
0775デフォルトの名無しさん
2007/12/21(金) 08:08:300776デフォルトの名無しさん
2007/12/21(金) 09:07:32> ->が結果のつもりで書き分けたんですが…
>>748では
> (let ((x)) x) -> ERROR
> Unspecific値が返るかと密かに期待したんですけど
って自分で言ってんじゃん。
> CLと違ってSchemeではletはlambdaの派生式だから当然と言えば当然ですね
とか何の関係ないし。初期化しないとUnspecific値が得られると思ったんでしょ。
0777デフォルトの名無しさん
2007/12/21(金) 09:12:24この人かな
http://www.geocities.jp/hajiri_koichiro/index.html
0778748
2007/12/21(金) 09:57:25期待したのは(let ((x)) x) => #<unspecific>
結果は(let ((x)) x) -> ERROR
そもそも私の使ってる実装にERROR値はないんです
ダミーの引数を受け取る名前付きletを書いてて
初期値を最初'()にしてたんですけど
'()よりも#<unspecific>のほうがいいかなと思って
深く考えずに実引数を省略してみたんです
その時はletがlambdaの派生式だってことを忘れてて
じゃあletがlambdaのマクロじゃないCLがどうなのかなと思って調べただけなんです
0779デフォルトの名無しさん
2007/12/21(金) 15:25:21S式で書けるイカスmakeの代替プログラムがないかと思ってるんですが、
みなさんごぞんじないですか?
0780デフォルトの名無しさん
2007/12/21(金) 17:00:41> そもそも私の使ってる実装にERROR値はないんです
仕様的に、エラーは値じゃなくて、
エラー状態にあることが、「通知(signaled)される」か、
通知が明記されてない場合は、推奨されないが無視していいんですよ。
エラーが無視された時に式の値が未規定(unspecified)である実装はありうるけど、
それは「エラー値」じゃないし、#<unspecific>とも限らないのです。
なんらかのオブジェクトである必要はあります。
通知される場合には、値を返さず、
トップレベルに復帰する実装が多いと思います。
0781748
2007/12/21(金) 18:05:36>>780
771さんが
>>(let ((x)) x) -> ERROR
>これはletの返り値じゃなくて、文法エラーだぜ。
と仰ったので
返り値じゃないことは分かっています、だから=>と->で書き分けました
と773で書いたのです
>>776
CLはたしかletがlambdaの糖衣構文じゃないから
((lambda (x) x))がエラーになる処理系でも
(let ((x)) x)がエラーになるとは限らない
他方、R5RSはletがlambdaの派生式だから
((lambda (x) x))がエラーになる場合は
(let ((x)) x)も当然エラーになる
と書きたかったのです
ところでR5RSの3.2においてport?という述語がありますが
port?という述語は標準手続きにありませんよね?
あと、promiseは典型的にはthunkで実現されてますけど
R5RSでは「一つの可能な実装」とされているにすぎませんので
標準手続きにおいてpromiseかどうかを判定する手段はありませんよね?
0782デフォルトの名無しさん
2007/12/21(金) 18:42:02Gaucheで動くと思うけどなぁ?
(define (assoc key alist)
(and alist
(let loop ((ls alist))
(if (equal? key (caar ls))
(car ls)
(loop (cdr ls))))))
;-----------------------------------------------------------------
(define pref-alist
'(("山梨県" . "甲府市")
("神奈川県" . "横浜市")
("愛知県" . "名古屋市")
("茨城県" . "水戸市")))
;-----------------------------------------------------------------
(assoc "山梨県" pref-alist)
0783デフォルトの名無しさん
2007/12/21(金) 18:53:44*** ERROR: pair required, but got ()
0784デフォルトの名無しさん
2007/12/21(金) 19:15:03ファイルに>>782を書き込んで、そのファイルをeamcsとかMeadowでc-c c-l <<ファイル名>> したあとでやってみるといいYO!
0785デフォルトの名無しさん
2007/12/21(金) 19:16:29山梨じゃなくて「山梨県」だYO!
0786デフォルトの名無しさん
2007/12/21(金) 19:17:29("山梨県" . "甲府市")
gosh>
0787デフォルトの名無しさん
2007/12/21(金) 19:25:500788デフォルトの名無しさん
2007/12/21(金) 19:28:450789デフォルトの名無しさん
2007/12/21(金) 19:30:07与えられたキーがマッチしなかった場合
0790デフォルトの名無しさん
2007/12/21(金) 21:15:06漏れもandだけではnull?の代わりにならないような希ガス
0791デフォルトの名無しさん
2007/12/21(金) 23:36:440792デフォルトの名無しさん
2007/12/22(土) 00:39:530793デフォルトの名無しさん
2007/12/22(土) 01:33:19(define (assoc key alist)
(and (pair? alist)
(let loop ((ls alist))
(if (equal? key (caar ls))
(car ls)
(loop (cdr ls))))))
0794デフォルトの名無しさん
2007/12/22(土) 01:38:15>>788
0795デフォルトの名無しさん
2007/12/22(土) 02:28:53andはリストを左から右へ評価して行って、偽が見つかると#fを返すから。
(cond ((null? alist) #f)
...)
と書くよりは短く書ける。
(pair? alist)が偽だったら即座に#fを返しそこで終了する。
0796デフォルトの名無しさん
2007/12/22(土) 03:00:08alistのcdrをとっていってcdr部が空リストになった場合=keyがなかった場合の判定が欠けてる
gosh> (assoc "山梨" pref-alist)
*** ERROR: pair required, but got ()
0797デフォルトの名無しさん
2007/12/22(土) 04:14:14なるほど
きみの言わんとする意味がだいたい見当がつきました
きみはこう言いたいのでしょう
Unspecific値はどこだ!
0798デフォルトの名無しさん
2007/12/22(土) 04:24:14(define (assoc key alist)
(let loop ((ls alist))
(and (pair? ls)
(if (equal? key (caar ls))
(car ls)
(loop (cdr ls))))))
;andを使わない場合
(define (assoc key alist)
(let loop ((ls alist))
(cond ((null? ls)
#f)
((equal? key (caar ls))
(car ls))
(else
(loop (cdr ls))))))
0799デフォルトの名無しさん
2007/12/22(土) 08:52:13内容ないって事ないんだけどな。
エラー状態とトップレベルの関係、さらにunspecified値の扱いは、
メタ・サーキューラな意味において、schemeが昔から弱かった部分。
MLなんかはもっとカッチリしてる。
SchemeはR6RSで少し前進したけれど、
やっぱりR?RS的な非形式的な意味論なんだな。
0800デフォルトの名無しさん
2007/12/22(土) 12:52:47Unspecific 値なんて存在しない!
0801デフォルトの名無しさん
2007/12/22(土) 13:23:040802デフォルトの名無しさん
2007/12/22(土) 14:23:23どれが一番早いんだろう?
教えて!判定方法を知ってるエロい人。
0803デフォルトの名無しさん
2007/12/22(土) 14:32:16実測基本
0804デフォルトの名無しさん
2007/12/22(土) 16:15:18メモリ使用量の少ないのはどれかも考えると面白いね。
0805デフォルトの名無しさん
2007/12/22(土) 16:17:31ストップウォッチでは差が出ません。
どうやればいいでしょうか?
例えばGaucheではどうやるんでしょう?
0806デフォルトの名無しさん
2007/12/22(土) 16:24:280807デフォルトの名無しさん
2007/12/22(土) 16:40:000808デフォルトの名無しさん
2007/12/22(土) 16:54:230809デフォルトの名無しさん
2007/12/22(土) 17:07:24;(time (assoc "山梨県" pref-alist))
; real 0.000
; user 0.000
; sys 0.000
("山梨県" . "甲府市")
gosh>
0810デフォルトの名無しさん
2007/12/22(土) 17:38:001番目のデータを計ってどーすんのw
0811デフォルトの名無しさん
2007/12/22(土) 17:40:45;(time (assoc "茨城県" pref-alist))
; real 0.000
; user 0.000
; sys 0.000
("茨城県" . "水戸市")
gosh>
0812デフォルトの名無しさん
2007/12/22(土) 17:41:590813デフォルトの名無しさん
2007/12/22(土) 22:12:160814デフォルトの名無しさん
2007/12/23(日) 19:02:440815デフォルトの名無しさん
2007/12/23(日) 20:04:51かなり前からなってるぞ。
0816デフォルトの名無しさん
2007/12/24(月) 18:53:25; (and (pair? alist)
; (pair? (car alist))
; (or (and (equal? key (caar alist))
; (cdar alist))
; (assoc key (cdr alist))))
0817デフォルトの名無しさん
2007/12/24(月) 18:56:45しかもずれてるしorz
(cdar alist)は(equal?と同格ね
0818デフォルトの名無しさん
2007/12/25(火) 02:11:31(cdar alist)じゃなくて(car alist)だったorz
cdarだったら連想リストじゃなくてデータだけを返す上に
データが#fだった場合に次に進んでしまう
0819デフォルトの名無しさん
2007/12/25(火) 16:59:43プログラミングGauche
・著者:川合史朗 監修
Kahuaプロジェクト 著
・定価:3360円(本体3200円+税)
・B5変 464頁
・ISBN 978-4-87311-348-7
・発売日:2008/02
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-87311-348-7
0820デフォルトの名無しさん
2007/12/25(火) 21:01:420821デフォルトの名無しさん
2007/12/25(火) 23:22:54バグ取りと校正もしっかりお願いしますねw
必ず買いますYO!
0822デフォルトの名無しさん
2007/12/25(火) 23:34:010823デフォルトの名無しさん
2007/12/26(水) 02:40:05あれ? 延びたの?
オライリーからのメールだと一月予定だったんだが。
0824デフォルトの名無しさん
2007/12/26(水) 22:44:18エンディアンネスの誤認でした
最初に疑ったのがエンディアンネスの問題でしたが
リーダ以外に変な挙動をしなかったので見逃してました
OpenBSD4.2になってBoehm-GCの7.x系統が動くようになったので
Gaucheも7.x系統に移行した暁には動くようになりそうです
現在もgcディレクトリをいじったら
そこそこ動く実行ファイルはできるのですが
特定の場合にassertで落ちるので常用はできなそうです
あとLinuxの場合は特に問題にならないのですが
BSD系でscheme48から外部モジュールを読み込む場合
実行ファイルであるscheme48vmが-−export-dynamicでリンクされていないと
s48_で始まる関数が外部モジュールから利用できないようです
(Linuxは--export-dynamicがデフォルト?)
Gambit-Cもscheme48も(zaurus-OpenBSDも)
利用者があまりいないので有用な情報でもありませんが
一応報告しときます
0825デフォルトの名無しさん
2007/12/27(木) 01:31:260826デフォルトの名無しさん
2007/12/27(木) 01:54:400827デフォルトの名無しさん
2007/12/27(木) 05:08:21必要ならScheme Artsに仕事として依頼するのがはやくて確実じゃないか。
0828デフォルトの名無しさん
2007/12/27(木) 07:30:300829デフォルトの名無しさん
2007/12/27(木) 08:59:400830デフォルトの名無しさん
2007/12/27(木) 13:01:030831デフォルトの名無しさん
2007/12/27(木) 15:57:040832デフォルトの名無しさん
2007/12/27(木) 19:34:48処理系依存のfile-position相当の関数を呼ぶのと
遅延評価の無限ストリームを作るのと
どっちが一般的ですか?
R6RSになればset-port-position!が使えるみたいですけど
0833デフォルトの名無しさん
2007/12/27(木) 19:39:170834デフォルトの名無しさん
2007/12/27(木) 22:14:34大御所どころも軒並みR6RSを実装する予定もないみたいですし
どうなっちゃうんでしょうね
0835デフォルトの名無しさん
2007/12/27(木) 22:57:260836デフォルトの名無しさん
2007/12/28(金) 01:48:42は、いまR6RSに9割準拠らしい。
0837デフォルトの名無しさん
2007/12/30(日) 12:42:160838デフォルトの名無しさん
2007/12/30(日) 13:44:480839デフォルトの名無しさん
2007/12/30(日) 23:32:51R6RSの投票のとき処理系の作成者のほとんどが反対だったのに、数の暴力で押し切られたって事実を知ってる?
0840デフォルトの名無しさん
2007/12/31(月) 00:10:270841デフォルトの名無しさん
2007/12/31(月) 00:12:350842デフォルトの名無しさん
2007/12/31(月) 00:35:01反対した人はどんな人が居るの?
shiro さんは反対に投票した様に記憶しているけど
0843デフォルトの名無しさん
2007/12/31(月) 01:05:09「嫌なら対応しなけりゃいい」だろ。
で、実際にみんなそうやってる。めでたしめでたしだ。
0844デフォルトの名無しさん
2007/12/31(月) 01:15:07票:投票内容(○:賛成、×:反対、−:未投票)
実:R6RSを実装するかどうか(Marc Feeleyのアンケート)
票 実
Manuel Serrento (Bigloo) − ×
Kent Dybvig (Chez Scheme) ○ ○
Felix WinkelMann (Chiken) × ×
Marc Feeley (Gambit) × ×
Shiro Kawai (Gauche) × ×
Ludovic Courtes (Guile) − ×
Tim Hickey (JScheme) − ×
Per Bothner (Kawa) × ×
Will Clinger (Larceny) × ○
Tom Lord (Pika Scheme) ○ ×
Matthew Flatt (PLT Scheme) ○ ○
Mike Sperber (Scheme 48) ○ ○
Aubrey Jaffer (SCM) × ×
Scott Miller (SISC) − ×
Jeffrey Mark Siskind (Stalin) × ×
Erick Gallesio (STklos) − ×
0845844
2007/12/31(月) 01:21:15Kawaの人、反対票じゃなくて未投票
0846デフォルトの名無しさん
2007/12/31(月) 01:26:24大感謝!
一応 Gauche は R6RS も気にしつつ行くみたいですね
http://lists.sourceforge.jp/mailman/archives/gauche-devel-jp/2007-July/001744.html
0847デフォルトの名無しさん
2007/12/31(月) 11:29:070848デフォルトの名無しさん
2007/12/31(月) 14:44:530849デフォルトの名無しさん
2007/12/31(月) 18:37:320850デフォルトの名無しさん
2008/01/01(火) 00:11:340851デフォルトの名無しさん
2008/01/01(火) 09:46:24...)))))
(今年
も よろしく)
0852デフォルトの名無しさん
2008/01/02(水) 17:06:49ユーザ?
もともとRnRSは主要な処理系作成者の物じゃなかったっけ?
0853デフォルトの名無しさん
2008/01/02(水) 21:37:440854デフォルトの名無しさん
2008/01/02(水) 22:36:49誰でも投票できたと思うよ。投票するときにspam排除のためのレポートみたいのを
記述するよう要請されていただけで。
そんなことより(厳密かどうかは別にして)今年はLisp生誕50周年ですよ皆さん。
ILC2008に遊びに行く暇は・・・無いんだろうなぁ orz
0855デフォルトの名無しさん
2008/01/03(木) 00:07:39SRFIおよびその他のライブラリはすべて実現できるけど
効率のために処理系でプリミティブに実装されている
てのが理想
それだけの力はRnRSにあってほしいし
それ以上はないほうがいい
そのバランスが難しいから長いこと試行錯誤してるんだろうけど
でもいままで取り入れなかったのに何故いまさら入れるの?てな物もあるからなぁ
0856デフォルトの名無しさん
2008/01/03(木) 00:41:26ありとあらゆるテクニックを駆使して、コンパイラが頑張ればいいのではないのか?
0857デフォルトの名無しさん
2008/01/03(木) 23:51:38を見て、効率のためにコンスセルを再発明するコンパイラとか
0858デフォルトの名無しさん
2008/01/05(土) 23:26:27効率の為に云々は「全てSchemeで抽象化された構造のまま書いてたら遅くなる」というツッコミ回避の為の言葉のあやで
RnRSの記述能力自体をもっと高めてほしいんです
言語仕様の範囲でライブラリが書けるくらいの力は欲しい
けどCltl2みたく肥大化はして欲しくない
ってことです
処理系がプリミティブにサポートしてないSRFIは使えない(場合がある)とか
SLIBなんかでも初期化ファイルに#fを返すだけの手続きが沢山あるのを見ると悲しくなるので
提唱されたSRFIおよびその他のライブラリはすべてRnRS(>=6)の言語のみで書けるようになって欲しい
0859デフォルトの名無しさん
2008/01/06(日) 00:01:13むしろ足りない。つーか、例えばJavaとか.NETのフレームワークのほうがずっと大きいでしょ。乱暴な比較だけど。
0860デフォルトの名無しさん
2008/01/06(日) 09:33:41RnRS部分は可能な限り小さく
そして全てのSRFIはRnRS処理系全てで使用できる
ってSRFIにそこまで求めるのは間違いかな?
0861デフォルトの名無しさん
2008/01/06(日) 15:36:21setjmpを書けるように拡張したCを使ってみたいとは思わない
ライブラリを書けるかどうかは関係ない気がする
0862デフォルトの名無しさん
2008/01/06(日) 18:04:46mallocはHeap先頭とサイズさえとれればかけるのでリンカーとCの密接な関係が言語のうちと考えるかどうかで分かれるような気もする
setjmpは機械の仕様と密接にからむのでそこを完全に隠蔽された言語じゃどれ使ってもかけない訳だし、なんかかなり無茶な比喩じゃないのかな?
個人的にはできればRnRSはシンプルに保ちつつCLTL並の機能を自己拡張だけでなんとかしてほしいと思うのだけど。
(というか誰かがRnRSで実装すると取り合えずどのScheme実装でも動作するとかが望みなんだが)
0863デフォルトの名無しさん
2008/01/06(日) 22:25:47それ自体は複雑すぎて言語に含めたくなくて、
それを実装する手段はシンプルだから言語に含めてもいいものってなんだ?
0864デフォルトの名無しさん
2008/01/06(日) 23:36:260865デフォルトの名無しさん
2008/01/07(月) 00:34:01自分に必要なものだけを選び、不要なものを無視できるようになれば
言語の肥大化はどうでもよくなる
0866デフォルトの名無しさん
2008/01/07(月) 02:08:06substとsubsituteとか、eq eql equalとかはそれぞれ適切な名前にかえて欲しいし、
引数の順序もなにかと気に入らない。formatはelispのほうが絶対いいよ。
歴史があるのはわかるけどさあ、もうちょっと整理できないのかね。
0867デフォルトの名無しさん
2008/01/07(月) 02:11:140868デフォルトの名無しさん
2008/01/07(月) 02:16:280869デフォルトの名無しさん
2008/01/07(月) 02:19:370870デフォルトの名無しさん
2008/01/07(月) 02:36:40新しくパッケージつくって自分の好きなように定義すりゃ望みの名前の俺Lispが誕生だ。
(cl:defpackage :866-lisp)
(cl:in-package :866-lisp)
...
俺も実際 gethash と aref の引数順序とか気にくわない部分は自作ライブラリ好みに合わせて揃えてるよ。
しかし、自分の嗜好を全世界に押し付けたいというのだと、ANSI CL並に整った規格をババンと出すくらいでないと無理かもね。
0871デフォルトの名無しさん
2008/01/07(月) 02:43:20とりあえず866は理想のLispを作ってみてよ。ひょっとしたらすごく快適かもしれない気がしてきたんで。
でも最強云々は邪鬼眼ぽいからやめてほしいなぁ。荒れそうだし。
0872デフォルトの名無しさん
2008/01/07(月) 02:43:490873デフォルトの名無しさん
2008/01/07(月) 02:44:510874デフォルトの名無しさん
2008/01/07(月) 02:47:17構文木を公式にはいじれない。
0875デフォルトの名無しさん
2008/01/07(月) 03:03:110876デフォルトの名無しさん
2008/01/07(月) 03:09:07言語は他に無いよ。仕様のある言語としてはCLが最強すぐると思っております。
0877デフォルトの名無しさん
2008/01/07(月) 10:10:30パッケージシステムってファーストクラスである必要があるんですか?
;(define (my-packages sym)
; (begin (define (foo)
; (display "hello,world")
; (newline))
; (define (bar x y)
; (+ x y)))
; (case sym
; ((foo) foo)
; ((bar) bar)
; (else 'UNKNOWN)))
みたいなのじゃダメですか?
(遅いし束縛が取得できないのでset!とかできませんけど)
0878デフォルトの名無しさん
2008/01/07(月) 10:12:140879デフォルトの名無しさん
2008/01/07(月) 12:12:14if と gotoがあればプログラム書くのにループや関数の記述なんていらなくないか?
というのにscheme使いがなんと答えるかに似ている気がする。
無い前提に立てば(使わないときめれば)いらないんだけど
有る前提ではプログラムの組み立てかたの考えかたもかわるし
まだるっこしい記述には耐えられない。
0880デフォルトの名無しさん
2008/01/07(月) 13:14:35それはevalを再実装しているような気がする。
たとえば (eval (read)) ってセキュリティとかやばいじゃん。
でも eval の再実装とかまじうぜえ。
で (eval (read) (environment 云々)) これ最強。
0881デフォルトの名無しさん
2008/01/07(月) 13:25:440882デフォルトの名無しさん
2008/01/07(月) 13:49:16マクロで実装できるからライブラリで実現すればいいのでは?ということです
言語のコアに用意する必要がある物だとは思えなかったので
0883979
2008/01/07(月) 14:38:01マクロでパッケージを簡単に無視できるようなパッケージシステムなら
それで良いけどな。
そんなんじゃだめなんだよ。
使わない選択肢がある時点でパッケージシステムの存在意義が半分以下。
パッケージを切り替えるということは
綺麗な名前空間を下さい。
そこで俺はsystem組み込みのcarとかcdrとかも書き換えて使えるよ。
ということだけど
あなたが言うようなパッケージシステムは
パッケージを使わない人がdefineとか使うと簡単にパッケージ(とその中身)をまとめてぶっ壊すわけでしょ?
駄目だと思わない?
0884デフォルトの名無しさん
2008/01/07(月) 14:48:550885デフォルトの名無しさん
2008/01/07(月) 14:51:120886デフォルトの名無しさん
2008/01/07(月) 15:14:03いや、ないからevalをハックするんだけど、
>>883が言ってることはセキュリティにも関係ありそうな予感
0887デフォルトの名無しさん
2008/01/07(月) 20:55:32適切な環境を用意してやれば、環境付き eval で安全性を確保できるんじゃね?
chroot(2) と同じ理屈で。
0888デフォルトの名無しさん
2008/01/07(月) 20:55:46http://www.codeplex.com/IronScheme/Release/ProjectReleases.aspx?ReleaseId=9579
0889デフォルトの名無しさん
2008/01/07(月) 21:34:04そこのところの発展のためのpackage, namespaceだと思ってます。> R6RS
この二つをより低レベルのprimitiveで記述するとなると、
symbolをfirst class object化と、
symbol tableを抽象化したprimitiveが必要になると思う。
0890デフォルトの名無しさん
2008/01/07(月) 22:48:48Schemeはsymbolがfirst class objectでないってどういう意味ですか?
リテラル表現できるし関数に渡せるし返せるけど
違うんですか?
マクロの中で特別扱いされたり値でなく場所に束縛されたりするとダメなんですか?
0891デフォルトの名無しさん
2008/01/07(月) 22:53:350892デフォルトの名無しさん
2008/01/08(火) 11:42:44R5RS的には、束縛されるのはidentifierであってsymbolではない。
内部的にidentifierをsymbolで表現する処理系が多いとわざわざ書いてある。(6.3.3)
Lisperにとって、schemeのこの辺りの定義は奇怪である。
その生い立ちからネイティブコードにコンパイルすることを
過度に意識したのかと思われるが。
R6RSはこの辺少しだけ変ってるが、
まだ全体を読みこなしてないので書かないでおく。
0893デフォルトの名無しさん
2008/01/08(火) 12:12:22ttp://www.shido.info/lisp/scheme1.html
に従って、Windows XP環境にMIT/GNU Schemeをインストール
したのですが、インタープリタとしての使い方がわかりません。
エディタも一緒に立ち上がるので、コンパイルして使うしか
ないのでしょうか?
0894デフォルトの名無しさん
2008/01/08(火) 12:26:390895デフォルトの名無しさん
2008/01/08(火) 13:02:47Windowsだとこんなのもあるよ。
ttp://www1.ocn.ne.jp/~scheme/sicp-start.html
0896デフォルトの名無しさん
2008/01/08(火) 17:32:08勉強なら、DrSchemeがいいんじゃないの。
エディタも楽だし。
難点はちょいと遅いことかな。
でも、実用でWindowsでSchemeとなると何?
IronScheme(>>888)は大丈夫?
それともKAWA
ttp://www.gnu.org/software/kawa/
のほうがいい?
0897デフォルトの名無しさん
2008/01/08(火) 18:47:340898デフォルトの名無しさん
2008/01/08(火) 19:35:180899デフォルトの名無しさん
2008/01/08(火) 20:01:370900デフォルトの名無しさん
2008/01/09(水) 03:53:10>>896
たしかにEmacsをあまり知らないので慣れるまで
時間かかりそうです。他のと比べてみます。
0901デフォルトの名無しさん
2008/01/09(水) 04:04:11ありがとうございました。
0902デフォルトの名無しさん
2008/01/09(水) 13:19:31おお、Schemerが一人増えた。嬉しいね〜。
0903デフォルトの名無しさん
2008/01/09(水) 19:59:49なるほど
じゃあidentifierがfirst class objectじゃないのが問題なのですね
0904デフォルトの名無しさん
2008/01/09(水) 21:01:370905デフォルトの名無しさん
2008/01/09(水) 23:04:080906デフォルトの名無しさん
2008/01/09(水) 23:10:430907デフォルトの名無しさん
2008/01/09(水) 23:49:24レキシカル変数を第一級にできる?
0908デフォルトの名無しさん
2008/01/10(木) 13:43:13それはたぶん「束縛(環境)が第一級クラスオブジェクト」だと思う。
>>903
そういう意味では「(scheme的に)identifierがfirst class object」ってのは、まだ良く分かってない。
その辺きっちりしているのは、3-Lispの系統くらい。
0909デフォルトの名無しさん
2008/01/10(木) 15:32:390910デフォルトの名無しさん
2008/01/10(木) 15:59:380911デフォルトの名無しさん
2008/01/10(木) 20:26:01(delay (force ...))はいらなくないですか?
map2の方は必要だけど
0912デフォルトの名無しさん
2008/01/10(木) 22:05:030913デフォルトの名無しさん
2008/01/11(金) 01:24:48そういう言語があってもおかしくはないかも
> 変数がオブジェクト
0914デフォルトの名無しさん
2008/01/11(金) 01:27:200915デフォルトの名無しさん
2008/01/11(金) 06:09:28その参照オブジェクトのassignメソッドを呼ばなければならないという言語があったな。
0916デフォルトの名無しさん
2008/01/11(金) 10:30:32そこで引数に含まれるシンボルがどこに束縛されるか決めてからマクロに渡す
上でidentifierや変数と呼んでいるのは、束縛の情報を持つシンボルのこと
0917デフォルトの名無しさん
2008/01/11(金) 12:24:180918デフォルトの名無しさん
2008/01/11(金) 14:52:05ソース
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%9e%e3%82%af%e3%83%ad
0919デフォルトの名無しさん
2008/01/11(金) 16:06:20大雑把なイメージとかURL提示とかで逃げてないで
きちんとした言葉で説明してみ。
0920デフォルトの名無しさん
2008/01/12(土) 03:46:03GaucheのトップページからPractical Schemeに飛ぶと問題ないけれど、
googleでschemeでググって出てくるPractical Schemeに飛ぶと、
hadodoraibugadoといううさん臭いサイトに飛ぶね。
googleの検索順位が高いだけに、非常に厄介だと思うんだけれど、
対処しようがないのかい?
0921デフォルトの名無しさん
2008/01/12(土) 05:06:58うちはそんな所には飛ばないよ。
hadodoraibugado ってスパイウェアみたいだけど・・・感染してない?
0922デフォルトの名無しさん
2008/01/12(土) 05:11:54え、本当?
Schemeでググルと、
1番目がwikipediaで、
2番目がPractical Schemeになるよね?
でPractical Schemeをクリックするとしばらくすると飛ぶんだが....
ちなみにFirefoxでMacの環境。
Safariでも再現できる。
0923デフォルトの名無しさん
2008/01/12(土) 05:22:18ググった結果は同じだけど、Practical Scheme をクリックするとちゃんとしたとこへ飛ぶ。
こちらは Windows で Firefox でも IE でも同じ。
とりあえず hadodoraibugado をググってみては・・・
0924デフォルトの名無しさん
2008/01/12(土) 08:53:050925デフォルトの名無しさん
2008/01/12(土) 08:57:350926デフォルトの名無しさん
2008/01/12(土) 11:38:45http://practical-scheme.net/index-j.html
ここに飛ぶよ。
0927デフォルトの名無しさん
2008/01/12(土) 11:50:28他のサイトでも似たようなことがあったんだけど、たぶん広告のせい。
再現できない人でも何度かリロードすれば当たるはず。
Ads by Google と Ads by Adpinion が貼ってあるみたいだけどあやしいのは Adpinion のほうかな。
0928デフォルトの名無しさん
2008/01/12(土) 12:02:14ちなみに私は何度検索してもそんなことにはなりません、当たり前だけど。
0929デフォルトの名無しさん
2008/01/12(土) 12:31:31William Clinger ってMacSchemeを作ってた人か?
0930デフォルトの名無しさん
2008/01/12(土) 13:25:38Web広告によってマルウェアが配信されるという話だと思うんだけど、まぁ板違いか。
何が当たり前なのかしら。
0931デフォルトの名無しさん
2008/01/12(土) 14:01:300932デフォルトの名無しさん
2008/01/12(土) 14:14:100933デフォルトの名無しさん
2008/01/12(土) 14:22:01要らないものはインスコしない
出来ればWindowsを捨てる
0934デフォルトの名無しさん
2008/01/12(土) 14:28:18hadodoraibugadoにやられているって事自体に驚いた
0935デフォルトの名無しさん
2008/01/12(土) 14:29:44あまいな
「OS のブートストラップ辺からすべて自前で Lisp で書いたシステムを使う」
が、正解だ
0936デフォルトの名無しさん
2008/01/12(土) 16:36:39あのね。。。
それも間違ってはいないんだけど、あやしいサイトにいったからとか、
変なソフトをインストールしたとか、そういうことじゃないのよ今回の件は。
Windowsも関係ないし。
おれも別に何を知ってるってわけじゃないからもういいけど。
0937デフォルトの名無しさん
2008/01/12(土) 17:42:39もし、Scheme初学者がSchemeでググッた場合、
検索結果が高順位だから確実に見る訳で、
そのサイトが変なページに飛ぶのは、Schemeの印象や
Gaucheの印象を悪化させる可能性があると思うのだけれど。
0938デフォルトの名無しさん
2008/01/12(土) 17:43:190939デフォルトの名無しさん
2008/01/12(土) 17:50:06お前にとって普通とは何なのだ?
少なくともこのスレで2人は飛んでいる訳で、
飛んでいる人間にとっては、サイトに飛ばない人間の方が
「普通ではない」状態なのだが。
視野狭すぎ。
自分中心で考えるのは良くない。
0940デフォルトの名無しさん
2008/01/12(土) 17:52:50理由をちゃんと考えてみろよ。ちょっとは頭つかえ。
0941デフォルトの名無しさん
2008/01/12(土) 17:58:00> 飛んでいる人間にとっては、サイトに飛ばない人間の方が
> 「普通ではない」状態なのだが。
飛んでる人間=「俺こそ普通」な人間、だってのはとりあえず確定したな。
0942デフォルトの名無しさん
2008/01/12(土) 17:58:160943デフォルトの名無しさん
2008/01/12(土) 17:59:230944デフォルトの名無しさん
2008/01/12(土) 18:02:13> 「普通ではない」状態なのだが。
飛んでる人間=「俺こそ普通」な人間、だってのはとりあえず確定したな。
>いやだから普通は飛ばないんだってば
この発言から、
飛ばない人間 = 「俺こそ普通」な人間、だってのもとりあえず確定しましたね。
んで、この状況を打開する方法は川合さんが、広告を外すしかない訳で、
さっさと関係者連絡しる。
0945デフォルトの名無しさん
2008/01/12(土) 18:04:180946デフォルトの名無しさん
2008/01/12(土) 18:06:14何度もリロードしてたら1回だけNOD32が怒った。
0947デフォルトの名無しさん
2008/01/12(土) 18:07:52> お前にとって普通とは何なのだ?
> 少なくともこのスレで2人は飛んでいる訳で、
> 飛んでいる人間にとっては、サイトに飛ばない人間の方が
> 「普通ではない」状態なのだが。
> 視野狭すぎ。
> 自分中心で考えるのは良くない。
これは何かのパズルなのか?
解読できないから、よかったらschemeで書いてくれ。
0948デフォルトの名無しさん
2008/01/12(土) 18:11:20結論がおかしい。いくらなんでも、それは逆恨みだろ。
0949デフォルトの名無しさん
2008/01/12(土) 18:14:08それでウィルス駆除会社が潤ってるんじゃないか。儲けが出るんだから
使用者の不便なんてクソみたいなもんだろ。
0950デフォルトの名無しさん
2008/01/12(土) 18:15:25SWF/TrojanDownloader.Gida.A とか言ってる。
akamahi.net/swf/gnida.swf?campaign=bacchantto&u=1199454322
0951デフォルトの名無しさん
2008/01/12(土) 18:16:18検索結果の件数見ろよ。
0952デフォルトの名無しさん
2008/01/12(土) 18:19:58>もし、Scheme初学者がSchemeでググッた場合、
>検索結果が高順位だから確実に見る訳で、
>そのサイトが変なページに飛ぶのは、Schemeの印象や
>Gaucheの印象を悪化させる可能性があると思うのだけれど。
が、真理だろ。
Gaucheの本も販売される訳で、今回のような不安要素は排除すべき。
0953デフォルトの名無しさん
2008/01/12(土) 18:22:040954デフォルトの名無しさん
2008/01/12(土) 18:24:00(begin
(define 普通 '俺様))
0955デフォルトの名無しさん
2008/01/12(土) 18:41:34真理きたー!!!w
0956デフォルトの名無しさん
2008/01/12(土) 18:42:21で、どうやれば排除できると思う?
0957デフォルトの名無しさん
2008/01/12(土) 18:46:220958デフォルトの名無しさん
2008/01/12(土) 18:50:260959デフォルトの名無しさん
2008/01/12(土) 18:51:130960デフォルトの名無しさん
2008/01/12(土) 18:52:410961デフォルトの名無しさん
2008/01/12(土) 19:10:360962デフォルトの名無しさん
2008/01/12(土) 19:29:20hadodoraibugado.com/soshi/?tmn=es5&eai=bacchantto&eli=&3&mt_info=5217_0_4217&tmn=null&465b5-354
adpinionから飛ばされてるらしいからWindowsじゃ無くても、マルウェアのインストールを
促すダイアログが表示されるだろう。
0963デフォルトの名無しさん
2008/01/12(土) 19:39:07http://www-2ch.net:8080/up/download/1200133664141146.ZyBYp1?dl
PASSは"Scheme"です。
>>950の検証した結果、確かにNOD32でひっかかります。
普段はJAVA、スクリプト、ActiveXは切っているのですが、
その状態で何回リロードしても問題無し。
しかし全部ONにしてリトライを始めたら数回で警告がでました。
レス見てて、飛んでる、飛んでない、どっちが普通、みたいに言い争ってますけど、
ブラウザでスクリプトの実行辺りをON、OFFしているかどうかで挙動が変わるって事では?
0964デフォルトの名無しさん
2008/01/12(土) 19:39:58ほんとどうでもいい。
0965デフォルトの名無しさん
2008/01/12(土) 19:41:160966デフォルトの名無しさん
2008/01/12(土) 19:42:150967デフォルトの名無しさん
2008/01/12(土) 19:43:080968デフォルトの名無しさん
2008/01/12(土) 19:46:310969デフォルトの名無しさん
2008/01/12(土) 19:53:000970デフォルトの名無しさん
2008/01/12(土) 19:56:350971デフォルトの名無しさん
2008/01/12(土) 19:58:470972デフォルトの名無しさん
2008/01/12(土) 20:02:22と言ってた人はどこへ?
0973デフォルトの名無しさん
2008/01/12(土) 20:04:550974デフォルトの名無しさん
2008/01/12(土) 20:06:33粘着うざい。いいかげんにしろよ。
0975デフォルトの名無しさん
2008/01/12(土) 20:07:21どこへも行ってないが
0976デフォルトの名無しさん
2008/01/12(土) 20:07:490977デフォルトの名無しさん
2008/01/12(土) 20:09:55でも、テンプレのあるサイトに責任があるわけではない。
判らないならインターネット初心者スレにでも行け。
0978デフォルトの名無しさん
2008/01/12(土) 21:14:170979デフォルトの名無しさん
2008/01/13(日) 21:16:06のページを見てChezEdit-NTとMzSchemeをインストールし、
そこのサンプルを実行してみたのですが
> (fact 10)
を入力すると
> reference to undefined identifier: int
というエラーになってしまいます。
考えられる問題として、どのようなものがあるでしょうか。
0980デフォルトの名無しさん
2008/01/13(日) 21:27:22typo
0981デフォルトの名無しさん
2008/01/13(日) 22:17:37驚愕した。
日本でも、Lispマシン作ってたんだから誰かエミュレータ作れよ。
0982デフォルトの名無しさん
2008/01/13(日) 22:31:38↓
0983デフォルトの名無しさん
2008/01/14(月) 00:15:32つttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
0984デフォルトの名無しさん
2008/01/14(月) 00:21:49ありがとん!
0985デフォルトの名無しさん
2008/01/14(月) 01:04:19Lispマシンのエミュレータって、Lisp処理系とは違うの?
0986デフォルトの名無しさん
2008/01/14(月) 01:12:290987デフォルトの名無しさん
2008/01/14(月) 01:19:41エミュレータとは外部動作を模倣するものだが、
「Lispマシンというハードウェア」と、Lisp処理系とを、外部動作で区別できるの?
0988デフォルトの名無しさん
2008/01/14(月) 02:28:310989デフォルトの名無しさん
2008/01/14(月) 02:29:240990デフォルトの名無しさん
2008/01/14(月) 02:36:29ひょっとして、Lispの処理系をハードウェア化したのがLispマシンだと思ってるの?
現実に存在した「Lispマシン」について調べてみるといいよ。
0991デフォルトの名無しさん
2008/01/14(月) 02:39:00Lisp処理系以外を動かすの?
0992デフォルトの名無しさん
2008/01/14(月) 02:42:590993デフォルトの名無しさん
2008/01/14(月) 02:44:290994デフォルトの名無しさん
2008/01/14(月) 02:46:230995デフォルトの名無しさん
2008/01/14(月) 02:49:300996デフォルトの名無しさん
2008/01/14(月) 02:52:57それが目的なら普通のLisp処理系を動かすほうが速いのでは?
0997デフォルトの名無しさん
2008/01/14(月) 02:55:38FPGAか何かで(ハードウェア)Lispマシンが個人でも
ちょっと金をかければ製作できるかもな。
今更、何の実用性があるのかとは問わない事w。
0998デフォルトの名無しさん
2008/01/14(月) 02:57:170999デフォルトの名無しさん
2008/01/14(月) 02:58:2770年代ごろから開発されていたLisp専用マシン.
OS,言語処理系,プログラム開発環境といったすべてが Lisp で記述され,
統一した環境が提供されることが特徴である.
1000デフォルトの名無しさん
2008/01/14(月) 02:59:3410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。