1 名前:デフォルトの名無しさん [2007/08/12(日) 21:38:15 ] 過去スレ Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/ Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/ Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/ Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/ Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/ Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/ Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/ Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/ Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/ Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html
39 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 20:15:20 ] 2chに書き込んでも嫌みでない程度に短く、 Schemeの特長がよくでていて、 知らない人にも簡単に説明できる、 Scheme向きの例題となるとどんなものに なりますか。
40 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 10:47:28 ] gauche 0.8.11おめ。
41 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 11:04:20 ] >>39 そゆのはスクリプト言語の得意分野だとおもうよ Scheme が目指してるのは数行で特徴を自慢することじゃないから
42 名前:デフォルトの名無しさん [2007/08/18(土) 12:01:18 ] schemeを会社で使ったりしますか? 常識的に考えれば Haskell を使いますが。
43 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 12:45:47 ] どういう常識だろう。
44 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 12:47:31 ] >>43 「非」
45 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 20:37:17 ] >>39 こんなのとか? (let f ((a 0) (b 0) (r '())) (if (> b 10000) (reverse r) (f b (+ a b) (cons a r))))
46 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 22:40:32 ] >>39 "Hello,world!"
47 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 22:41:59 ] >>46 確かにSchemeの特長がよくでていて、知らない人にも簡単に説明できるな。w
48 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 00:35:50 ] >>45 なんか最後にreverseするのがダサい
49 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:12:33 ] じゃあどうしろと
50 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:35:20 ] named letはダサい
51 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:41:27 ] >>50 ダサい部分も含めてSchemeの特徴がよく出ている例なの鴨
52 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:42:19 ] >>49 漢なら reverse! だな
53 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:50:23 ] ムチャシヤガッテ
54 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:53:21 ] ((lambda (lambda) (lambda lambda)) (lambda (lambda) (lambda lambda)))
55 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 13:29:20 ] >>54 無限ループった
56 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 17:55:57 ] >>45 ってaもbも増えずに無限ループするんじゃないの ?
57 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 18:07:06 ] >56 俺のGaucheでは動いた フィボナッチ数列の頭にゼロが入ったものが返る式
58 名前:デフォルトの名無しさん [2007/08/19(日) 18:26:43 ] これ a も b も増えないな
59 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 19:30:02 ] >>57 ウソ付いちゃいかん、aもbも初期値が0なので(+ a b)が0のままだぞ
60 名前:デフォルトの名無しさん [2007/08/19(日) 19:51:38 ] カウンタを書くとこんな感じ (define (returnobj x) (define (proc1) (set! x (+ x 1))) (define (proc0) (set! x (- x 1))) (define (count) x) (define (interface z) (cond((eq? z 'age) (proc1)) ((eq? z 'sage) (proc0)) ((eq? z 'count) x) (else (display "(www" )))) interface)
61 名前:デフォルトの名無しさん [2007/08/19(日) 19:54:14 ] 実行結果 Welcome to DrScheme, version 370 [3m]. Language: Standard (R5RS). > (define obj (returnobj 6)) > (obj 'count) 6 > (obj 'age) > (obj 'age) > (obj 'count) 8 > (obj 'sage) > (obj 'count) 7 > (obj 'els) (www >
62 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 20:06:06 ] >>59 すまん (b 1) に脳内変換してくれ
63 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 21:47:25 ] フィボナッチしたいならどちらにしろ 初期値は a も b も 1 で始めなきゃおかしくね?
64 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 22:14:57 ] フィボナッチの定義次第
65 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 22:57:26 ] >>62 コードみてfibっぽいな〜とは解ったんだが何で初期値が0かと考えたらタダの嫌がらせにしか見えなくなった俺の立場は?
66 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:02:29 ] 「バグったプログラム」の実例としては良くできていた
67 名前:デフォルトの名無しさん [2007/08/19(日) 23:24:17 ] >>48 (let f ((a 1) (b 1)) (if (> b 100) '() (cons a (f b (+ a b))))) というかnamed letって構文はじめて知った
68 名前:デフォルトの名無しさん mailto:age [2007/08/19(日) 23:28:30 ] 見づらいリスト・・・?
69 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:34:00 ] named let に付ける名前って loop とか良く見掛けるけど あれはあくまで慣例に過ぎないの?
70 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:46:23 ] 慣例じゃないという発想がどこから沸いて出たのかが知りたいところ
71 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 23:57:46 ] >>69 うん
72 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 00:05:19 ] >>54 ((call/cc call/cc) (call/cc call/cc))
73 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 00:37:55 ] schemeは素晴らしいな
74 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 01:55:51 ] (内包表記マクロ)って当たり前のように使ってますか?
75 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 03:00:04 ] 内包表記ってのが SRFI-42 のことならlet するよりてっとりばやいしよく使う。
76 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 03:53:29 ] そう、SRFI-42 のことです。 >> let するよりてっとりばやい うーん、全然ピンと来ません。とても難しいと感じてるんですが、 どの辺から入っていけば良いのか…
77 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 05:47:05 ] ttp://practical-scheme.net/gauche/man/gauche-refj_114.html 数の対(x y)の集合を生成します。ここでxは 2以上 5未満、yは1以上 x 未満です。 (list-ec (: x 2 5) (: y 1 x) (list x y)) ⇒ ((2 1) (3 1) (3 2) (4 1) (4 2) (4 3)) これの意味がわからない
78 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 06:19:04 ] >>77 ループの入れ子になる、と考えれば判るかな。 dotimes 使って同じ結果を得るにはこんな感じ。 (let1 acc '() (dotimes (x 3 (reverse! acc)) (dotimes (y (+ x 1)) (push! acc (list (+ x 2) (+ y 1))) )))
79 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 06:22:39 ] >>77 x は 2 .. 5 で、 y は 1 .. x の範囲の x y をリストにしたものの集合を返す。 どのレベルでわかんないの?逆に↓だとどのへんまでわかる? 1. (list-ec (: x 0 10) x) == (iota 10) 2. (list-ec (: x 0 10) (* x 2)) == (mapcar (lambda (x) (* x 2)) (iota 10)) 3. (list-ec (: x 0 10) (: y 0 10) (cons x y)) 4. (list-ec (: x 0 10) (: y 0 x) (cons x y)) (: ...) の意味がわからんとかそーゆう意味だろうか。
80 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 18:43:19 ] あー意味わかった なんか「集合」って言葉に惑わされてた 対のユニークな組み合わせ生成するのかと思って >>77 のどこがそうなんだとか変に難しく考えてた ただのループ生成器か
81 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 20:09:48 ] (comprehension-macro qualifier … body) ということですが、むしろ body の書き方のほうがよくわからんです。 (do-ec (:range i 0 10) (display i)) =>0123456789 偶数の場合に2回出力させてみようとして、(if test) を付けると前の (display i) を begin で括らないとならない…。更に、3回出力させようとすると後の (display i) も begin で括らないとならない…。何ででしょう? (do-ec (:range i 0 10) (begin (display i)) (if (even? i)) (display i)) =>001223445667889 (do-ec (:range i 0 10) (begin (display i)) (if (even? i)) (begin (display i) (display i))) =>00012223444566678889
82 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 03:56:19 ] ttp://ll.jus.or.jp/2006/blog/doukaku1 (use srfi-42) (list-ec (: n 2 101) (if (not(any?-ec(: j 2 n)(zero?(modulo n j)))))n) これで100までの素数が出るみたいですがわかりません
83 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 13:28:21 ] どうわからないのかくらい書ける人間になりましょう
84 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 20:36:12 ] こうですか、わかりません!!!
85 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 21:54:32 ] (: j 2 (sqrt n))じゃないのがわかりません。
86 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 01:12:37 ] Eager Comprehensions が少し見えてきたので記念パピコ (let1 l (list-ec (:range n 2 101) (list-ec (:range j 2 n) (cons n (modulo n j)))) (list-ec (:list x (cdr l)) (if (not (any?-ec (:list y x) (zero? (cdr y))))) (caar x)))
87 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 18:50:40 ] IronLisp きました ttp://ironpython-urls.blogspot.com/2007/08/new-dlr-based-net-language-ironlisp.html
88 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:05:00 ] ダメだ、夏場に読むとアイロンLISPに見えて暑くてかなわん。
89 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 13:10:35 ] >>85 ちゃんと見ないでコメントするけど、 平方根の計算でループの終端をnにするか√nにするかは本質じゃないだろ
90 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 13:11:40 ] 平方根の計算、じゃなくて素数の計算だ すまん
91 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 18:48:29 ] そうですか はい次
92 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 22:36:23 ] >>87 また俺LISPか
93 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 23:07:41 ] IronCommonLispなら欲しい
94 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 23:12:11 ] L#はどう?
95 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 00:22:33 ] IronGaucheが欲しいw
96 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 01:49:26 ] Iron Chefがほしい
97 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 01:58:07 ] IronErlangがほしい
98 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 03:15:16 ] スレチどすえ
99 名前:little schemer [2007/08/24(金) 05:19:11 ] 某scheme本の中で分からない部分があって質問させてください。 以下の定義のmultirember-coをつかって (multirember-co 'a '((a) ((a))) (lambda (x y) y)) とすると、 ((a) ((a))) が返るのですが、これを(a a)とするにはどうすればよいでしょうか? (define multirember-co (lambda (a lat col) (cond ((null? lat) (col '() '())) ((atom? (car lat)) (cond ((eq? (car lat) a) (multirember-co a (cdr lat) (lambda (newlat seen) (col newlat (cons (car lat) seen))))) (else (multirember-co a (cdr lat) (lambda (newlat seen) (col (cons (car lat) newlat) seen)))))) (else (multirember-co a (car lat) (lambda (newlat seen) (multirember-co a (cdr lat) (lambda (newlat2 seen2) (col (cons newlat newlat2) (cons seen seen2))))))))))
100 名前:little schemer [2007/08/24(金) 12:07:05 ] 99です。 上記の質問よりも、最後のelse以下のところをどのように理解すればよいのか ヒントとかをもらえたら助かります。上記の処理の内容は、 (multirember-co 'a '(a b c) (lambda (x y) x)) => (b c) というように、1つめの引数(atom)を2つめの引数(list)から取る処理です。 このとき、2つめの引数が((a b) a b c d)の時に、つまり(car lat)が atomでないときの動作が理解しにくいです。一旦(car lat)に対する処理を 行って、それが最後までいった後に、残りの(cdr lat)への処理を続ける のだと思うのですが、、、、 長々と失礼しました。
101 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 13:34:47 ] >>97 アーランは既に JIT あるじゃん。
102 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 14:18:14 ] >>99-100 その本は読んでないのでコード見た印象で。 要は継続渡しなんだと思うけど、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 に対応してる。
103 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 21:44:40 ] gosh> (gauche-version) "0.8.11" gosh> (read) (foo, bar) (foo ,bar) あるいは、 gosh> '(foo, bar, baz) (foo ,bar ,baz) となりますがこれはこういうものなんでしょうか?
104 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:16:20 ] カンマをunquoteとして見てないとか、そういう話かな。 ちゃんと基礎やってから出直しておいで。
105 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:28:47 ] >>103 他の言語のリストやタプルの書き方と混同してない?
106 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 23:03:19 ] そういえば LISP 1.5 はカンマとスペースが等価だった。45年も前の話だが。 community.computerhistory.org/scc/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
107 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 23:19:46 ] そういえば","をマクロの非展開指示子にするようになったのっていつの何からなんだろう?
108 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:02:17 ] 103です ファイルに (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はあまり使ったことないんです、_| ̄|○
109 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:22:23 ] >>107 1980年頃のMaclispには有った
110 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:36:27 ] ttp://www.lingr.com/room/gauche/archives/2007/08/24#msg-13988600 MSVC版ktkr
111 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 02:07:07 ] emacs 18 にはなかった... >> quasiquote & unquote
112 名前:little schemer [2007/08/25(土) 03:01:28 ] >>102 なるほど、これが継続なんですね。 もうちょっとで二冊目に行けそうなんですが、 これが理解できずに止まってました。 処理を一つ一つ追っていくとこんがらがってきてたのですが、 してくれた説明を読んだおかげでコードがわかりやすくなった感じです。 (ただ、自分ではまだ書ける気がしません) ありがとうございました!
113 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 03:48:10 ] おまいらは俺schemeを実装するときの仮想マシンの設計どうしてますか?
114 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 04:08:36 ] SECD
115 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 08:18:04 ] andやorって 関数で定義したほうがapply出来たりして柔軟性が増すと思うんですが、 R5RSだと7.3でsyntax-rulesで定義がされてます。 関数で定義するとなんか問題が発生したりするんでしょうか。
116 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 08:29:19 ] 関数にしちゃうと、必ず全引数評価しちゃうから困る。 (and (pair? foo) (car foo)) みたいなのができない。
117 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 08:34:05 ] どう違うかぐらい自分で確かめなさい
118 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 09:10:38 ] >>115 そこまでやるなら if や define も関数にしたら如何?w
119 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 09:26:33 ] andにしろifにしろ 陽にlambdaを渡すようにすれば関数でもいいわけだよな 果てしなく面倒くさいが
120 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 09:48:25 ] Haskell みたいにデフォルトで遅延評価にしちゃえば、関数で問題ないんだけどね。 >>119 その場合、各引数を lambda で包んでその関数に渡すようなマクロが欲しくなるかもw
121 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 13:16:00 ] スペシャルフォームじゃだめなん?
122 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 00:40:10 ] スッペシャルジェネレーションのほうがすき
123 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 14:14:20 ] デフォルトで遅延評価にしちゃえばマクロは用なしになるのかな? 現在のマクロは Schemeだと名前呼び+レキシカルスコープの関数 CLだと名前呼び+ダイナミックスコープの関数と等価?
124 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 15:00:15 ] r6rsキタ
125 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 16:25:14 ] へー、批准されたんだ…
126 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 17:04:59 ] scheme構文もCLマクロもファーストクラスじゃないから関数と等価ではないかな R6+RSで構文オブジェクトもファーストクラスにならないかな ところでR6RSどこにキタの?
127 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 17:33:57 ] 単純に、関数で setq って書けないよね。 引数を評価しないでシンボルのまま扱う手段が必要で、遅延評価だけじゃ足りない。
128 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 20:33:34 ] LISP 1.5にはマクロは無く、代わりにFSUBR/FEXPRという引数を評価しない関数があった。 評価すべき部分(例えば setq の第2引数みたいなの)は明示的に eval を呼ぶわけだが、 スコープの関係とかぐちゃぐちゃになって使いにくかったらしい。
129 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 04:16:32 ] >>126 ttp://lists.r6rs.org/pipermail/r6rs-discuss/2007-August/003272.html ttp://www.r6rs.org/ratification/results.html YESの人たちとNOの人たちのコメントの差が物悲しい(量・質共に)。 preliminary resultsが出た時は承認ラインが全投票人数の60%と なぜか思い込んでたもんで、僅差(67/112)で届かないと思って ホッとしてたりもしたんだけど、まぁ有効投票数ですよね、普通。
130 名前:デフォルトの名無しさん [2007/08/31(金) 07:27:54 ] little schemerを読み終わったのですが、 どうして (atom? (1 2 3)) はだめで、 (atom? '(1 2 3)) はよいのか、わかりません。 どうかおしえてください。
131 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 09:35:50 ] >>130 「よい」「だめ」とは?
132 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 11:05:24 ] >>130 上は手続きの呼び出し 下はリスト
133 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 12:47:30 ] 1 っていう名前の関数はないから、(1 2 3) っていう関数呼び出しは実行できないってことだな
134 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 22:47:23 ] ここで聞く話じゃないのかもしれないが.... 設定言語みたいなのから, マクロ使いまくりで関数自動生成しまくってる lisp プログラムを "C に移植して" ってな話を持ちかけられたんだけど, やっぱ yacc とか bison のお世話になるしかないのかな? ここでまずけりゃ, 適当なところにルーティングして...
135 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:40:39 ] その仕事は ECL をリンクしたらお終いなんじゃないの。
136 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 01:13:57 ] >>135 おぉ... ありがとん
137 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 10:33:07 ] ERR5RS (Extended R5RS Scheme) scheme-punks.cyber-rush.org/wiki/index.php?title=ERR5RS:Charter どうよ
138 名前:ZRBeILAFMGofkjIGHrE mailto:vyfrjh@uosljb.com [2007/09/20(木) 12:33:38 ] Q5V0we <a href="ghquxaunglno.com/">ghquxaunglno</a>, [url=vvxxkzczfvpn.com/]vvxxkzczfvpn[/url], [link=nvygioywhlms.com/]nvygioywhlms[/link], pscwakgskwjm.com/
139 名前:SSVIenDRWPT mailto:dwiqok@fxojfb.com [2007/09/20(木) 12:33:43 ] ulTr67 <a href="uqsisuuxrasb.com/">uqsisuuxrasb</a>, [url=qqpugdriqdic.com/]qqpugdriqdic[/url], [link=wxhmyrzltzhg.com/]wxhmyrzltzhg[/link], fmwwcqtbhkjz.com/
140 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 21:56:24 ] > 138-139 これってどういう事?
141 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 08:59:22 ] 2chと互換性のある掲示板にスパム飛ばそうとしてたら2chに間違えて飛ばしちゃったみたいなことかな
142 名前:KNvYxfMgSFWzOWxbL mailto:woptyu@mail.com [2007/09/22(土) 02:55:55 ] PinlxK <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0484.html">big cock</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0484.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html">big cocks</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html">big dick</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html">big dicks</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html">big naturals</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html]pussy[/URL]
143 名前:ycyihMlyObYpqBH mailto:woptyu@mail.com [2007/09/22(土) 04:15:03 ] nleTxn <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0484.html">big cock</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0484.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html">big cocks</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0531.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html">big dick</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0682.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html">big dicks</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0731.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html">big naturals</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0874.html]pussy[/URL]
144 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 04:27:45 ] よくわからんが、誰か通報しとけ
145 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:07:54 ] お前が通報しろ。
146 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 11:40:03 ] じゃあ俺がやるよ
147 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 12:06:42 ] いやいや俺が
148 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 12:12:04 ] そんじゃ俺が・・・
149 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 12:14:34 ] 俺は断る
150 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 12:21:08 ] >>149 wwwwww
151 名前:OniOoXUFcrjMlcjpz mailto:doutiregdou@mail.com [2007/09/22(土) 12:21:12 ] 7S9kFC <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0942.html">big nipples</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big0942.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1022.html">big tits</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1022.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1155.html">big tits round asses</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=big1155.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0124.html">black lesbians</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0124.html]pussy[/URL] <a href="www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0284.html">black pussy</a> [URL=www.pic.ucla.edu/~nathan/cgi-bin/moin.cgi/Dirioly?action=AttachFile&do=get&target=black0284.html]pussy[/URL]
152 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:05:19 ] 嘘だけど通報しといた
153 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:06:36 ] 嘘かよw
154 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:21:00 ] じゃあ俺がやるよ
155 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:35:29 ] 俺はもうやったぜ
156 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:39:18 ] いや、俺がやったんだし
157 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 10:58:34 ] はあ?お前がやったんだろ
158 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 11:58:24 ] ということは、俺じゃなかったの?
159 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 12:55:34 ] え、つーか俺やった記憶あるんだけど
160 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 13:08:43 ] お前がやったの見たぜ
161 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 13:56:58 ] 俺は、髪の長い女がやってるのを見た
162 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 14:37:12 ] ずっと見てたのか?
163 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:34:44 ] そうだ、着替えまで見てた
164 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:47:02 ] それは俺のをか?
165 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:49:18 ] 着替えがあるならそう言ってくれなくちゃだよ。俺帰っちゃったじゃん。
166 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:51:50 ] 甘いな、俺は風呂まで見たぜ
167 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 16:00:12 ] でも誰も入っていなかったのが残念だ
168 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 16:18:46 ] 勝手に決めつけんなよ 俺にはフルチンのイジが見えたのだが
169 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:46:26 ] ((quote)) こんなんみえた
170 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 01:21:54 ] ,@female 脱がしてる感するよね
171 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 01:57:38 ] 劇ワロタw
172 名前:デフォルトの名無しさん [2007/09/24(月) 02:52:11 ] DrSchemeでtraceは使えないんでしょうか?
173 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 19:43:31 ] Allegro CL free express editionて良いの?
174 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 20:24:41 ] 用途によるな。どんな用途を考えてる?あと環境は?
175 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 22:49:03 ] プログラミング初心者でLispを覚えたいのです。 CLISP+Emacsなどでも覚えられると思うのですが、ACLが素晴らしいIDEだと書いてあったので 最初からそういうものを使うのが良いのか悪いのかもわかりませんが(^^;)
176 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 22:50:16 ] 環境はWindowsXPです。
177 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 22:54:11 ] ACL の IDE(elisp) はいいよ。Emacsをちゃんと使えるなら。 ストレスなくlispを勉強できると思うよ。 つか、elisp なのにあれほど完成度高いのは異常。
178 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 23:01:46 ] Lisp を覚えたいという点なら、あとは Free Edition の制限に心理的抵抗がなければ良い環境だ。 ただし「IDE が素晴しい」ってのは微妙だな。どこで読んだの? VB みたいな GUI ビルダーとかプロファイラとかが充実してるという意味ならそうだが、 コードを書く作業だけは Emacs と SLIME もしくは ELI (ACL附属の SLIME みたいなもん) を使うほうが一般的。 車の免許にたとえると、 - ACL Express: 初心者向けに調整されてリミッターかけまくったレーシングカー - CLISP: リミッターはなしの限界まで使いたおせる軽自動車 Emacs のセットアップがめんどうなら LispWorks なんかもいいかもね。エディタも Emacs ライクだし。 まぁ、かくいう俺は学生時代はリミッターつきというのが気に入らなくて CLISP とかフリーのを使ってたけどね。
179 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:34:20 ] LispWorkssのフリー版はcons cellの数に制限があって、リミットがくるとダイアログがでる。 で、値段も手頃とは言い難いが手が出ないほどじゃない(ACLは無理!)ので購入しようとしたのだけど。 国内じゃ扱ってないのでしょんぼり。
180 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:44:55 ] そこでコーマンリスプですよ
181 名前:175 mailto:sage [2007/09/29(土) 01:21:28 ] ありがとうございます。 なんとなくイメージがつかめました。かな? > ただし「IDE が素晴しい」ってのは微妙だな。どこで読んだの? ここです。 tamago-club.cocolog-nifty.com/nitris1/2006/05/15_truefalse__aa13.html#more Emacsは大学で端末室にあったUNIXでパンキョウの課題のレポートなどを 書くときに使ったり、設定をコピペして変えて遊んだりしたくらいでして、 使いこなしているというレベルではありませんw 一応Emacsではこれを最近ダウソして弄くってみているところです。 www.gigamonkeys.com/book/lispbox/
182 名前:デフォルトの名無しさん [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")))
183 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 10:43:01 ] 実行しただけだが、1行( (null? l) '()) と直しただけで、 後は説明通りに動いてるように見えるけど。 どう上手く動かしたいのかな? ちなみにこれが返ってきたが =>("hello" '("hello" "world") "world")
184 名前:182 mailto:sage [2007/09/29(土) 11:02:27 ] >>183 自分の環境で実行すると下のようにエラーが出てしまうんです。 何が悪いのか全然わからなくて… 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)"
185 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 11:50:36 ] そういうことならリスト中のquoteを外せば動くけど、 string=?する前にはstring?の述語入れた方がいいね。 こっちで試した処理系はたまたまsymbolと文字列が 同じ扱いなんで混乱させてしまった。
186 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 11:51:27 ] やれやれ
187 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 11:54:04 ] - ( (string=? a (car l)) (rember a (cdr l))) + ( (and (string? (car l)) (string=? a (car l))) (rember a (cdr l))) symbol に string=? を適用したので error になってる、っていってるじゃん。
188 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 11:54:36 ] そういうアバウトな要素の比較はequal?のが良いと思う。 string=?は文字列が来る事が確実な時にのみ使うべき。
189 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 12:01:44 ] おいおいw
190 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 12:04:15 ] → (rember "hoge" '("hello" ("hello" "world" ) "hoge" "world"))) → remover ってことじゃないんですかねw
191 名前:182 mailto:sage [2007/09/29(土) 13:01:54 ] >>185 >>187 >>188 symbolについての理解不足を指摘していただいてありがとうございます。 schemeの理解が少し進みました。 symbolだから何が入っててもおかしくないわけですね。listでも、文字列でも、関数でも。 関数のリストって考えもできるのがおもしろそうです。 ありがとうございました。
192 名前:175 mailto:sage [2007/09/30(日) 00:51:48 ] ACLのインストーラ落として起動したら、「200Mあるおw」 って言われたので断念しました。 LISPBoxで勉強します。
193 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 02:53:24 ] よくわからん…ドキュメントとかライブラリとか込みで 200MB だろ? VisualStudio なんかに比べたら激しく小さいと思うけど、どれくらいのサイズなら OK なの?
194 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 03:01:55 ] 200M入らなくて諦めるってのはその程度の意気込みと言うこと
195 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 03:13:15 ] そんなふうに意見を切りすてるのは勿体無い。理由をちゃんと聞けば対応できるかもしれないじゃん。 ドキュメントをあきらめて Web 参照にするだけで数十M減らせるし。ただでさえマイナーで、俺たちは死滅しかけているんだぞっと。 意気込みとかなくても気軽に Lisp の世界に参加できる事をもっとアピールしたい。Emacs からでもいいじゃない。
196 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 03:24:08 ] 関係者居るんだな…
197 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 03:30:32 ] ん? ACL のってことか?全然関係ねーよ。でも Franz の人は c.l.l とかに出てきてるから意見を言うくらいはできるだろう。
198 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 03:31:33 ] 悪いこととは思ってないんだが。
199 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 03:55:55 ] >>196 =>>198 ? 「関係者」とか「悪いこと」とか、 自分の脳内だけでこの場と関係してる概念持ち出されても 何がやりたいのかさっぱりなんだけど。
200 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 05:07:55 ] いいよもう黒板で。
201 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 10:59:31 ] 200MB? Schemeってそんなにあんの? cygwinのSchemeとかもそんくらいあんの?
202 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 11:29:16 ] そんな話題どうでもええ
203 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 11:32:21 ] little schemer,seaseoned schemer,reasoned schemerはちゃんと読みたいし、 SICPも読んでみたいし、λ計算とかの数学的な背景もきちんと勉強したいが、 仕事しながらだと何年たってもおわらなそう。 みんなはやっぱ情報専攻で大学の時にやったの?うらやましいわ。
204 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 11:53:07 ] 寝食を忘れて読めばいい 少年老いやすく学成りがたし、一瞬の光陰軽んずべからず λ計算に王道なし
205 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 12:31:56 ] 睡眠はとれよ
206 名前:デフォルトの名無しさん [2007/09/30(日) 12:52:16 ] やだよ
207 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 12:58:47 ] 禿げるよ
208 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:04:32 ] 剥げるか、読み通すか、それが問題だ。
209 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:05:08 ] ぜんぜん
210 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:06:19 ] 呼んだ〜? eecsfacweb.mit.edu/facpages/sussman.html
211 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:09:02 ] どうして Lisp と関係ない話題だと元気になるのですか?自演なのですか?
212 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:46:46 ] >>203 経験を積んだ大人じゃないとLispの良さは分からない。
213 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:47:13 ] どうも2ちゃんに来ると攻撃的なレスつけちゃうよね。 Lispに関して気軽に話せる場なんて他にないんだし仲良くやってこうよ。
214 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:50:36 ] >>212 Paul Grahamが25,6歳以上の奴にはLispは無理って言ってなかったっけ
215 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:53:33 ] LISPで2chツール(ブラウザ他)作ったら人気出ると思うんだ。
216 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:56:49 ] 歳をとると経験のバイアスがかかって新しい事へ挑戦しにくくなるってのはあるけど、本当は歳なんて関係ない。
217 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:57:39 ] LISPは自然言語だからな。
218 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:03:47 ] Paul Grahamが「裸エプロンより裸ランドセルだ」って言っていた
219 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:13:04 ] >>215 Navi2ch とか 2ch-mode for xyzzy はLispでないと?
220 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:13:44 ] >>214 Orz
221 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:19:45 ] >>213 お前はなにか勘違いしている 2chは議論をするところでも仲良しごっこをするところでもない レスで喧嘩して遊ぶところだ その中にたまにいい情報が混じっている、くらいのもんだ
222 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:24:47 ] 萌Emacsとかあったらいいな。 2chブラウザもWinnyもShareも出来て、もちろんだが全てメイドが奉仕してくれるんだ。 つまりそれを使っているとそのうち魔法使いになれる。どうかな。
223 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:43:44 ] >>219 それはEmacsやXyzzyを使う人にしか魅力がないよね。 そうじゃなくて独立したアプリなんだけどLISPでないと出来にくいような そして魅力的なものってこと。 作れたら作ってるんで所詮ないものねだりだけど。 普及させたいって人が居るみたいだから言ってみた。
224 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:48:14 ] LISPでないと出来にくいようなって物が、そもそも無いんじゃないの? 専ブラに関して言えば、出尽くした感があるし。
225 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:56:45 ] >>223 ランタイムライセンスがフリーでギコナビレベルのGUIの作れるLispってあったけ?
226 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:00:54 ] >>223 しようと思えばnavi2chは独立なアプリにもできるよ。 普通にインストールされた状態のEmacsはつまるところ、 elisp言語処理系にエディタ用拡張モジュールをビルトインした状態のものだから。 普通はEmacsを立ち上げてその中で作業の一環としてM-x navi2chするから わざわざ独立したコマンドに仕立てないだけ。
227 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:03:15 ] 独立したアプリという意味がまったくわかってないな 頭悪そう
228 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:05:38 ] >>224 人工ポールグレアムはLispじゃないと作れなかったよ。 このスレで初級的な質問に回答させてるけど、よくできてるだろ?
229 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:08:13 ] 227のいう意味とやらがはっきりしないが、もしかしてdumpということをご存じないのかな?
230 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:08:57 ] マジでか!
231 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:15:19 ] そうそう。EmacsとかなしでWYSIWYGで誰でも簡単に使えなきゃ、ってこと。 そういうとこから入る訳じゃない。子供は。
232 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:20:26 ] こんにちは人工苫米地です。洗脳しにきました。
233 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:25:44 ] どったのこの速さ? と思ったらキチガイが一匹紛れ込んでるだけかよ
234 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:29:38 ] > (= (+ 1 1) 1) t ほんとだ!
235 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:01:21 ] 僕のオナニーみてください>< まで読んだ
236 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:04:16 ] >>229 毎回あの糞重い起動で? 設定を全部テキストとS式で設定して? ファイルサイズは? 独立アプリとしてかなり致命的だと思うんだけど つーか話の流れを見ればただたんに「できる」って話をしていないのは判るだろう 読解力無いのかよ・・・
237 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:08:00 ] >>215 >LISPで2chツール(ブラウザ他)作ったら人気出ると思うんだ。 まずこの仮定が間違ってるから仕方がない。
238 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:13:43 ] LISPerはプログラムは作ってもアプリは作らない
239 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 18:34:50 ] >>238 !!!
240 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 18:40:57 ] 処理系作りで忙しいから応用には興味がないとかw
241 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:21:17 ] 言語の乗り換えの契機になるようなアプリって何だろうね。 Rails は Ruby 書く人を (たぶん) 増やしたのだろうけど、 それは、今の時代の空気 (「WEB2.0」だの「アジャイル」だの) に 良く合っていたからかな。Rails はアプリじゃないが。 次の時代の空気を先取りする Lisp 製アプリ
242 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:26:33 ] を、俺が作ろうと思っている。ちょっとまちなー
243 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:26:52 ] アプリが増えても書く人は増えないな。やっぱフレームワークですよ。 魔法のようなやつだれか作ってくれ。
244 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:28:18 ] 47氏キター!
245 名前:デフォルトの名無しさん [2007/09/30(日) 19:30:35 ] 記念真紀子age
246 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:30:53 ] schemeがどこまでできるのかわからん・・・ 組み込み関数のリファレンス的なページないですか><
247 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:52:00 ] ocamlとかhaskellなら開発効率が全然違うって話だけどね。 pugsとかいうperl6の処理系を作った大学生はhaskellの勉強から3ヶ月でpugs完成させたっていうけど。 俺は3ヶ月じゃhaskell使いこなせ無さそうだし。
248 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 20:13:07 ] Haskellから得るものは大きいが Lispから得たものはないと言ってみる
249 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 20:25:27 ] >>246 ここに全部書いてあるよ www.r6rs.org/
250 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 20:30:48 ] 個人的な感覚では、ocamlは型にうるさいschemeって感じだけど、 haskellは全然別物って気がしてる。 haskellは入門書を読んで、ちょろちょろ書いてみる程度しか知らないが。
251 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 20:41:40 ] R6RSでたんだ。知らなかったよ。 どこが変わったのかな・・・
252 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 21:17:23 ] REPL が無くなったんだっけ? >> R6RS
253 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 23:12:29 ] WindowsのUIがまともに使えるLispってACL以外にあるのけ?
254 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 23:31:48 ] >>253 >>180
255 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 00:15:59 ] つ LispWorks
256 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 00:21:12 ] 分散処理のライブラリを書いてたらLispっぽくなってきた /( ^o^ )\なんてこったい
257 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 00:29:05 ] >>254 Corman、日本語扱えるようになったの?
258 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 00:42:12 ] 日本語っつーかunicode対応してないの?
259 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 00:52:46 ] >>256 グリーンスパンの(ry
260 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 01:26:32 ] >>249 dクス!
261 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 19:53:54 ] なんで誰も>>204 に「“一寸”ですよ」と教えてあげない件
262 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 00:32:38 ] 宣言的という事がよくわかりません。どうしたらいいですか。 タコな質問ですみません。
263 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 03:01:18 ] 処理の手順を書くのは手続き型言語で良いんだけど その中でも、何かを求める式を考えるときは Scheme を使う俺 手続き型言語で複雑な式は考えたくない
264 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 22:06:16 ] しっかしLispってマイナーだよね… 誰も知らんぞ
265 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 22:13:15 ] どんなとこに居るんだよw
266 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 22:30:38 ] >>264 中学高校のパソ部ですか?ww
267 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 22:32:52 ] このつまらない流れは自演なの?
268 名前:デフォルトの名無しさん [2007/10/03(水) 00:37:23 ] しっかしLispってマイナーだよね… ×誰も知らんぞ ○誰も開発に使ってないぞ
269 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 00:38:27 ] Lispなら聞いたことあるくらいは言ってもらえる。 Schemeとなると更に知名度下がるけど。
270 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 00:50:54 ] 俺の周りの奴には一通りプログラミング言語の歴史を説明しておいたから Lisp を知らない人は居ない。まあ憶える必要の無い言語くらいに思われている みたいだけど。
271 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:11:04 ] これを見せればOK\(^o^)/ www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/l
272 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:13:30 ] URL切れちゃった/(^o^)\ www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/lisp.html
273 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:20:20 ] 次からテンプレに貼ります。
274 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:23:52 ] >>272 のリンクにあるみたいにLispがそんなにすげーなら なんで>>268 みたいなことになるんだ? 逆に言えばLispって誰も使わないってことは…
275 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:35:13 ] Lisperはジェダイかニュータイプなんだよ。
276 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:39:46 ] >>274 凄すぎて普通程度の脳みそだと使いにくいってことじゃね?
277 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 01:52:47 ] >>274 Lisperは一向に完成する見込みのない「LISP以上の何か」を作るのに忙しい
278 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 08:10:41 ] マジレスすると、仕事でプログラムやってる奴の ほとんどは仕事として淡々と与えられたものを使っているだけ。 プログラム自身に興味がある奴はごく一部。
279 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 08:24:13 ] programing言語を選択する managerには有り難味がわからない言語だからな。
280 名前:デフォルトの名無しさん [2007/10/03(水) 08:43:56 ] Lispの凄さが真実なら、マネージャーにはすげーありがたい話だろ。 でも誰も使わないっていうんはつまりそういうことなんじゃね?
281 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 08:45:01 ] なんで日本政府は一般的にもっと教育、啓蒙しなかったのかな。 その尻拭いに日本政府が金出して安い開発環境作れよ\(^Λ^)/ Allegro高いから買えないんだよ/(^Λ^)\
282 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 08:46:45 ] 頭のとんがったマネージャーが悪いんだなw
283 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 08:55:47 ] 啓蒙しようとして先行き過ぎて第5世代がこけちゃったんだよ。 それにちゃんと国のお金で Kyoto Common Lisp (aka GCL) をつくってるじゃん。
284 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 08:59:37 ] そうでしたか。すみません\(^λ^)\
285 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 10:17:54 ] r5rs→r6rsのdiff解説ページありますか?
286 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 10:19:28 ] practical-scheme.net/wiliki/wiliki.cgi?R6RS
287 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 11:21:28 ] >>280 つまりそういうこと。 たまたま巡り合わせで一緒に仕事してるだけの玉石混合の面子の中に、 「全員が使いこなせること」を期待して投入できる言語じゃないんだな。 だからマネージャーにはLispは選べない。ほぼ全員が「できる奴」である稀な場合を除いて。 マネージャーに選んでもらえるように作られたJavaあたりとは、そのへん対極だね。
288 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 18:34:43 ] "Common Scheme"キタコレ
289 名前:デフォルトの名無しさん [2007/10/03(水) 21:40:00 ] 質問させてください。 gaucheでマクロを展開した結果を確認したいのですが、 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段階しか展開されません。 完全に展開した結果を得るにはどうしたらよいのでしょうか?
290 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:14:15 ] >>287 しかしできない奴はとことんできないので、言語はあまり関係ないかも。 言語よりも開発を進めやすいツール・環境を整えられるかが大事だと思った。 そういう意味でJavaは選ばれやすいかもしれない。 Lispにチーム開発向けのツール類ってあるのかな。
291 名前:デフォルトの名無しさん [2007/10/03(水) 22:20:24 ] Lisp信者が言うほどにLispが優れてるって証拠が出て来ないんだよね。 俺たちはLispが最高だって信じてるぜ!って話しでいいならそれでいいけど。
292 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:22:46 ] 自分の周囲を一般化しすぎなんだろう…。 米軍とかスピンアウトしたロボティクス企業とかはいまだに使ってるし、 ちゃんとその手のエンジニアを募集している。 A. 自分の周囲でだれも使ってない → 世間でだれも使ってない B. 自分の周囲ではマニアが趣味でやってる → 世間でもマニアしか使ってない は飛躍しすぎだろう。人数ベースでいえば Java より使われていない事は事実だけど、 コンパイラメーカーがやっていける程度の需要はあるってこと。
293 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:23:16 ] 勉強もしないでうわべだけ知ってるつもりになりたいだけならあきらめたほうがいいよ
294 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:30:56 ] >>291 別に優れてはいないと思うよ。自分で好きにいじくれるところが好きなんであって、 1. 速度ではアセンブラや C でチューニングしたものには劣る 2. 文字数単位での表記の簡潔さやライブラリの充実度では LL 言語よりすくない 3. ユーザー数は C/C++/Java/LL言語 あたりよりすくない あたりなら大抵の Lisper/Schemer なら認めるところだろう。 少なくとも俺が Lisp をやめらんないのは自由さ、それだけが理由。 師匠の受けうりだが、他にもっといい言語や表記方法があれば速攻乗りかえるよ。
295 名前:デフォルトの名無しさん [2007/10/03(水) 23:42:54 ] そのマイナー言語で何が達成されたのか? その自由な言語で何が達成されたのか? 新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。 Java,C++はいろんなところでたくさんの人の役に立ってる。 Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。 同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。 じゃあLispは一体何をもたらしたんだ?
296 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 23:44:35 ] >>289 macroexpandはよくわからんが、 そのマクロ自体がR5RS的には変じゃね? (define-syntax my-let (syntax-rules () ((_ () body ...) (begin body ...)) ((_ ((var expr) binds ...) body ...) (let1 var expr (my-let (binds ...) body ...))))) たぶん、この辺の話題と絡んでくると思う。 practical-scheme.net/wiliki/wiliki.cgi?R6RS%3a%e5%a4%89%e6%9b%b4%e7%82%b9#H-t80rzg なんか俺もあんまり理解できてないので詳しい人の見解が聞きたい。
297 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 23:48:00 ] 本気で逝ってるの?釣り?
298 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 23:53:35 ] >>295 釣り師いいかげんうざいよ。それとも本気? 本気で知りたいならまず1年Lispを使ってみな。 残念ながらここは面接室じゃないんだよ。
299 名前:あえてつられてみよう mailto:sage [2007/10/03(水) 23:59:34 ] >そのマイナー言語で何が達成されたのか? 我々のプロジェクトのプロトタイプをクライアントに承認させるに十分な性能を短期間で叩き出した >その自由な言語で何が達成されたのか? 同上 >新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。 小僧の人生経験なんか知ったことか >Java,C++はいろんなところでたくさんの人の役に立ってる。 それを否定した事はいちどもねぇよ >Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。 LLが役に立つ分野を否定した覚えもないが? >同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。 それがどうした? >じゃあLispは一体何をもたらしたんだ? 生まれてから今までいくつネタを提供したとおもっているんだ? だいたいマジな理由なら最初に答えたよ。
300 名前:デフォルトの名無しさん mailto:sage [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 もなかったね。 まぁ、ひたすら難癖をつけるのが目的なんだろうけど…
301 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:06:22 ] あー有名人の名前を出すとよけい粘着否定したくなるか。300 は忘れてくれ。
302 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:06:52 ] Lisp を否定する物ではないけど、Lisp は常にプロトタイプの為の言語かもしれない、 とは割と本気で思う。Lisp が解くのは先端の尖った領域の課題で、 一般的に広まるようなものは、きっとLispでは解かれた後に別の言語で 書きなおされるんだろう。
303 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:08:57 ] Lispは継続的に宣伝してくれるSun並みの規模の企業いないだろ。 まずそれが第一の問題。
304 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:09:20 ] ていうかマジでもう答でてるよな。 自由で柔軟で強力で、ゆえに「言語の意味と生産性」が使い手の能力の高純度の反映となる言語。 だいたい、多くの人間に等しく効能を与えるタイプの言語じゃないことは散々触れられているのに、 ここに来てまだ > Java,C++はいろんなところでたくさんの人の役に立ってる。 > Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。 みたいな「たくさんの人が使うことがその言語の凄さ」という価値観から来る例をもってくるあたり、 いかに「人の話をまったく聞かずに、誰も俺に答えない誰も俺に答えないと連呼してる」かってのがよくわかる。
305 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:10:59 ] >>300 有名人云々はともかく、昔GCCをhackしていて、ターゲットアーキテクチャの定義とかがなんか Lispっぽい言語で書いてあって驚いたことがある。Lisp(的な発想)が無ければあれだけ簡潔に ポータブルなコンパイラを作るのは難しかったかもしれないね。
306 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:11:46 ] >>304 たぶんプログラムなんて書いたこともない人なんだろうね。
307 名前:289 mailto:sage [2007/10/04(木) 00:12:54 ] >>296 . bodyみたいな使い方は www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/p/notes/2004_06_07a.html を見て知ったんですが、どうなんでしょう。 define-syntaxはdefine-macroより制約が多すぎてなかなか書けない……
308 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:13:14 ] >>300 OO, generics, reflectionの世界に果たした貢献も大きい。 今も昔もプログラミング言語の実験場の一つ。
309 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:14:51 ] 一部の人間の宣伝文句の割りにはマイナーなのも事実。 ラテン語みたいなもんかなあ。
310 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:14:59 ] >>303 だけど、宣伝されて皆が興味を持つLisp、なんてありえると思う? Lispは永遠にスーパーエンジニアの秘密兵器なんじゃないだろうか。 ま、おれはLispで凄いキラーアプリつくる予定だけど。
311 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:17:35 ] >>238
312 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:20:05 ] >>305 RMS の経歴を考えれば妥当でしょ。俺は↓のほうがびっくりした。 lispuser.net/memo/misc/2007-05-17-23-48.html AoE II 遊んでただけど知らなかったわ。
313 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:22:55 ] 慣れないうちは()の多さに目が疲れる それを乗り越えれればきっとはまれる
314 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:23:01 ] KiczalesだってAMOPの中の人だもんなあ
315 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:25:49 ] 最初気になった括弧が、段々ただの「紙の端」くらいにしか思わなくなってくるから不思議だ。 昔の自分は何故、閉じ括弧が連続している部分をあんなに不安げに見つめていたのか、 もううまく思い出せないよ。あんな箇所、全然見る必要無いのにな。
316 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:26:26 ] >>313 エディタの設定で括弧の色を薄くするという、なんともチープなハックもあるがw
317 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:29:33 ] ところで括弧の話が出たついでにおまえらに聞くが、R6RSの [ ] ってどう思う? Lisp慣れてる人は「そんなの要らん」だろうけど、これで少しでも慣れない人に わかりやすくなるならアリなのかな、とも思うのだが。
318 名前:308 mailto:sage [2007/10/04(木) 00:30:52 ] あら、ちょっと探している間にずいぶんと流れてる… >>307 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分以上かかったのね…
319 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:32:28 ] 工学の為の工学か
320 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:32:39 ] >>317 おれは関数適用以外の括弧に[]つかうのはアリだと思うけど、 R6RSの投票結果ページにあった反対意見の中には、 処理系独自の拡張用に[]をとっておいて欲しい、というのもあった。 なるほどなあとも思った。
321 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:33:45 ] 独自拡張は#〜使えよ。
322 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:34:28 ] >>315 その不安感分かるw そして慣れると段々とカッコが見えなくなってくる。脳での処理方法が変わるんだろうね。 >>317 初心者に何の助けにもならないと思う>>[] 別に()の数が減るわけじゃないし。「異様」なカッコだらけのLispプログラムに、 ちょっと違うカッコ付けたって、普通のプログラムになるわけじゃないし。
323 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:35:35 ] >>320 確か CLtL にも [ ] を(デフォルトでは)定義しない理由でそんなことが書いてあったな
324 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:35:51 ] >>317 最小にこだわってたんじゃなかったか?とツッコミたくなるね。[ ] をユーザーに解放しないなんてとんでもない。 つうか define-syntax もよー。チューリング完全ならいいってもんじゃねーだろ。 パターンマッチ + 実用上十分な衝突の回避を defmacro の上に実装してよって思うね。
325 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:38:16 ] KOKUBANに書ければどうだっていいんだよ
326 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:38:52 ] >>316 括弧の良さというのは表現の“軽さ”だと思うんだよね。あれ以上シンプルな記号はあまりない。 これが begin 〜 end とか、XMLみたいな表記だったら、仮に論理的に同じこと書けても使い物にならんと思う。
327 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:39:35 ] その昔スーパー括弧閉じってのがあってですね。
328 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:40:53 ] >>327 パンチカードでは重宝であったw
329 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:43:13 ] 支援機能つきエディタの発展とともに消えたんだよな >スーパー括弧
330 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 00:45:52 ] どんなことがあってもXSLTの再帰関数よりは簡潔です
331 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 01:25:55 ] vimですら、対応する括弧が常にハイライト表示なのに、 今時、括弧羅列が見にくいなんてあり得ないわ。
332 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 02:17:29 ] 本とかで習うとそういう印象なのかもね
333 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 07:47:34 ] 適切にインデントされてるのとインデントの部分に薄い縦線引いてくれるといいんだけどなぁ。>本
334 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 10:43:55 ] >>318 R6RSでそのへんの意味論が決定されたってことは、 R6RS的には後者もOKってことでいいのかな?
335 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 10:45:33 ] S式に対する意味論だからそうだね。 まあ以前でも . 使えない実装の方が珍しかっただろうけど。
336 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 12:56:53 ] C系から来た人間には、閉じ括弧を纏めちゃうのも疑問だったよ。 閉じ括弧は一つ一つ書いた方が判りやすいのに、って。 実際最初はそうやって書いてた。 今は閉じるのが楽だし慣れたけど。
337 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 13:57:22 ] まっとうなインデントの為されたソースなら、何がどう書いてあっても (hoge (fuga ... (hage (higii 10 ... (ahya ... (pugera ... このあたりの形で「骨組みの把握」は済んじゃうんだよね。「右っかわ」は殆どディテール専門。 だから閉じ括弧を纏めたほうがスッキリなんだろうな。 もちろん極論だけど、閉じ括弧はリーダが構造を捉える為のものであって、人間が構造を捉える為の ものではない、という感じ。 これ、Pythonソースの見方に近いのかな? Python触ったことないけど。 少なくともC系のソースは、同じ「骨組みの把握」をするにも、もうちょっとこう、文のアタマ側とケツ側、 両方からじわじわ捉えていく感覚が必要になる。俺の場合は。
338 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 14:29:27 ] パイソンは;等を省略すると、 構文構造を追うものがインデントしかない。 だから構文解析から得た情報で、 正しいインデント処理をエディタに任せる書き方慣れていると、 いろいろと面倒な時もある。 インデントは人間が明示的に行う場面が多くなる。 行末で)や}や;の代りに、次の行でのインデント上げを行う。
339 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 22:36:18 ] それが良いんだよ。
340 名前:デフォルトの名無しさん [2007/10/05(金) 02:31:10 ] 工学のための工学とか頭悪すぎて笑った。
341 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 02:51:44 ] 自演乙
342 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 17:26:29 ] Lisper/Schemerオナニー見せ合いきめえwwwwwwwwwwwwwwwww
343 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 19:22:42 ] オナニーすら出来ない技術者以前の厨が喚いてます
344 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:29:28 ] R6RSの日本語訳マダー?
345 名前:デフォルトの名無しさん mailto:age [2007/10/06(土) 18:33:04 ] Common LispでもSchemeでもない俺様Lispって今どれぐらいあるのかな どこかに一覧無い?
346 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 18:36:11 ] いったいどうやってそんな一覧を作るんだよ。
347 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 18:43:56 ] そのオレ様リスプ使用者が集まってくれないと作りようがないんだがw
348 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 19:34:59 ] 俺様リスプをつくるような奴が、一覧をつくるとか、そんな無駄なことをする人間だと思うのか?
349 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 19:44:43 ] "俺様"抽出は他の人で www.dmoz.org/Computers/Programming/Languages/Lisp/Compilers_and_Interpreters/ www.dmoz.org/Computers/Programming/Languages/Lisp/Scheme/Implementations/
350 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 21:38:29 ] Lisp処理系の作成って情報系じゃ普通に宿題で出るらしいね
351 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 21:47:01 ] たしかにMLで作った気がするなあ。しょぼいやつだったけど。
352 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 00:03:07 ] 設定ファイルが必要になった->XMLで->なんか項目が増えすぎ->動的変更したくなった->なんかLispみたいになった->どうせならLispでいいじゃん->そのまま製品に こういう事なら2度あった
353 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 00:15:29 ] Lisp使って仕事させてくれるなんて羨ましいな。 俺の会社じゃ絶対無理だ。「Lisp?何それ?それで書くと何人月減るのか証明しろよ」って言われる。 …やっぱschemeで仕事できる会社探すわ。
354 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 00:55:02 ] 馬鹿だな、こっそり使うんだよ。とんがり頭の上司にバレた頃にはもう手遅れなのだ。
355 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 02:50:19 ] 見付かったら 「これはXMLファイルですよ。<>の変わりに()を使うのがWeb2.0なんですよ?」 と言えばおk。
356 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 04:33:50 ] 巡回構造のS式の印字表現(read/writeできる)てありますか? なんかGaucheでは#なんとか#みたいなのを見た事ありますが、 一般的なんでしょうか。
357 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 04:35:21 ] すいません 巡回じゃなくて循環ですた
358 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 05:55:18 ] >>356 srfi なので一般的って言っていいんじゃないでしょうか。 srfi.schemers.org/srfi-38/srfi-38.html common lisp 由来ですね。 www.lispworks.com/documentation/HyperSpec/Body/02_dhp.htm
359 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 08:28:49 ] あ、SRFIにあるんすね。 こういうのって、相互参照してる場合どうなるのかなと。 (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#)) みたいな事は可能なのかな。 完全に構造を保存する場合はセルをダンプするしかない?
360 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 08:37:11 ] (define x '#1=(a b . #2#)) (define y '#2=(c d . #1#)) の間違いです。 参照先が全部確定するまでread-with-shared-structureは結果を 保留する必要があるし、write〜も一度に関係するリストを全て渡すか しないと無理だから、このサンプルみたいなインターフェースじゃ無理ですね。
361 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 11:47:08 ] Lisper&Schemerの誰か、異論・反論よろしく pc11.2ch.net/test/read.cgi/prog/1190731526/311 311 名前: 仕様書無しさん [sage] 投稿日: 2007/10/07(日) 02:56:19 > ではメッセージをちゃんとメッセージ(オブジェクト)として実装している言語はないか > というとそんなこともなくて、古くは、メッセージングのOOの影響を受けて作られた 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 > ACTOR という言語(これは、メッセージングのOOから派生したアクター理論に基づいて 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 > 作られました)では、メッセージもちゃんとオブジェクト(ACTOR ではアクターと呼ぶ)で 〜〜〜〜〜〜 > 表わされていましたし、最近の言語なら Io という言語で、同じくメッセージは > 実体のあるオブジェクトとして内部的にも表現されている、という例があります。でも希有です。
362 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 11:57:52 ] Racter懐かしいな。「警官の髭は完成半ば」だっけ?
363 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 12:04:14 ] 昔は「OOを思想からマスターしてオッサン技術者共を超えてやるぜ!」 とか思ってた。 で、CLOS勉強したら結局OOって単なるメソッドディスパッチなのね、 と思って萎えた…。
364 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 14:11:37 ] CLOS の記法は即物的で夢が無い
365 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 14:27:34 ] マルチプルディスパッチの夢は見ないのか?
366 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 14:36:43 ] >>364 だが、そこがいい
367 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 14:54:14 ] 夢は無くとも簡潔さがある!効率がある!自由度がある! …なんかLispが人気にならない理由が分かった気がする。
368 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 15:13:32 ] >>365 夜は:around methodに包まれて寝る。
369 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 16:19:38 ] 人気がないのは新しくないからじゃね?
370 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 17:19:05 ] >>238
371 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 19:47:44 ] 関数名で処理内容がわかりづらいのはどうにかしてほしいな ○○*とかprincとかprin1とか
372 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 19:54:56 ] まあそこらへんは……歴史が長い言語だからねぇ
373 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 19:58:52 ] OOは、実用的には呼び出し元の再利用と考えると良いと思う。
374 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 21:07:49 ] 実用的には特に何も考えなくて良いだろう。
375 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 23:46:23 ] Lisp使えるからってオブジェクト指向がばっちりなわけでも無ければ、 SICPをちゃんと読んだわけでも無さそうだね。
376 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 00:01:47 ] >>375 おれはオブジェクト指向バッチグーだけど、 SICPにオブジェクト指向なんてあったっけ?抽象化はあったけど。
377 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 00:17:14 ] >>376 「〜でもなければ〜でもない」の意味も分からないのか
378 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 00:38:54 ] >>377 自分の句読点の位置を見直しましょう。
379 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 00:45:04 ] 、< もうやめて!わたしの為に争わないで!
380 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 08:18:46 ] このタイミングでSICPを持ってくるのか schemeキチガイは黒板と現実の区別がつかないのな
381 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 09:01:58 ] 高度に発達した黒板は現実と区別がつかない。
382 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 09:35:14 ] オーオー、お前等楽しそうじゃん#AA略
383 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 10:25:39 ] >>380 はLisp>schemeって考えてんのか?
384 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 10:28:45 ] 不等号キター!
385 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 10:50:05 ] schemeとLispはイスラム教とキリスト教の関係なのか?
386 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 10:57:37 ] >>383 コンピュータで動かすことを考えればね。 黒板上なら別にそんなことはないと思う。
387 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 11:47:26 ] >>383 中置記法か。お前Lisperじゃないな
388 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 12:12:42 ] なんかこういう www.prescod.net/xml/sexprs.html 事を言っている人が居るみたいなんですが、 どうも的外れな気がするんですが… 皆さんどう思われますか?
389 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:28:54 ] CommonLispは土方専用だろ 洗練された知的階級の為のSchemeと同じスレで扱う事自体がおかしい
390 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:30:57 ] schemeはpythonとかと同じで教育用っつーかお試し用っつーかそういうもんだろ
391 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:33:41 ] ↑土方乙。しかもPythonすら理解できてないのかwwwww
392 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:36:58 ] Common Lisp: 土方歳三 Scheme: 原田左之助
393 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:38:58 ] 洗練された知的階級なんて言葉で自己言及した時点で洗練された知的階級じゃないよ! ってことを身をもって明らかにするschemerならではの反面教師的教育なのです
394 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:40:05 ] 教育用の言語使ってる割には頭悪そうだな
395 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:43:36 ] これから教育を受ける段階にある奴ってことだからね。
396 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:45:45 ] 教育すら受けられない中卒Common Lisper
397 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:52:34 ] そもそも >>389 は Common Lisp も Scheme も使った事が無いんだから 放っといたら良いじゃん
398 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 15:13:52 ] つれないこというなよ
399 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 15:45:11 ] >383 仕様のサイズ的には合ってね?
400 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 15:49:15 ] SchemeはR6RSでかなり分厚くなったと聞いたが
401 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 16:51:33 ] それだけ不純になったのよ
402 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:19:43 ] >>388 斜め読みしただけだけど、やってることは S 式の標準的な書式の見た目を XML 文書と比較してるだけなのかな。 だとすると > XML is not S-Expressions このタイトルは不適切だな。
403 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:33:39 ] S式はCSVみたいにRFCに定義されたりしないの?
404 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:37:24 ] ISLISPがRFCになってなかったっけ?
405 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 17:59:10 ] ISLISPって全然はやってないんだなw
406 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 19:11:14 ] >>392 Mormon Lisp (Ruby): まつもと ゆきひろ
407 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:28:44 ] CommonLisp+末尾最適化+継続 = 大方のSchemerは文句いわない Scheme - 末尾最適化 - 継続 = 粗大ゴミ
408 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:42:00 ] つまり素のLISPはゴミって事?
409 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:42:29 ] CL = RedHat Linux Scheme = Plan9 てな感じ
410 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:44:23 ] 今となっては RHL はあんまりw
411 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 20:46:58 ] >>408 そりゃCommonLisp以前に戻るんだからしょうがないべよ その他大勢の方言の一つでしかないんだもの。
412 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:06:18 ] CommonLISPは分別ゴミ
413 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:11:16 ] >>408 素のLispはただの理論だからなぁ。 道具として便利であるためには、当然肉付けが必要になるよ。
414 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:26:50 ] クロージャすらないようではゴミと言われてもしかたあるまい
415 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:28:27 ] >>414 ?
416 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:35:07 ] >>414 つ FUNARG
417 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:43:34 ] CL = スイスアーミーナイフ Scheme = 肥後の守
418 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:49:56 ] Lispとかけてイケメンととく。
419 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 22:03:51 ] その心は、 「かっこが大変よろしゅうございますw」 とかヌカスつもりじゃないだろーな?
420 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 22:12:48 ] あーそれ俺が言おうと思ってたやつなのに・・・ひどい
421 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 22:23:18 ] むしろ「カッコばかりで中身がありません」じゃないのか?
422 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 22:25:16 ] でも簡単にペアになれるんだぜ?
423 名前:デフォルトの名無しさん [2007/10/08(月) 23:37:14 ] 少数点以下多数ある数値少数第1位までにして、切り上げして出力する方法ってある? 20.767841011743453→20.8 処理系はgaucheで。
424 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 00:09:52 ] ほんとにそれだけしたいなら(10進で)10倍してceiling(かな?)でいいんとちゃう? 単純でわかりやすいし。
425 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 00:29:55 ] >>422 うまいこと言うなあ
426 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 21:15:28 ] >>422 ウホッ
427 名前:デフォルトの名無しさん [2007/10/09(火) 23:32:08 ] >>424 ありがとうございます。出来ました。 もうひとつ同じような内容ですが、 例えば、-1.0という答えを-1.000という回答に小数点以下第3位まで出す場合はどうすればよろしいですか? やはりgaucheで
428 名前:デフォルトの名無しさん mailto:age [2007/10/10(水) 00:10:43 ] www.premiumtv.12gbfree.com/?RTV+4514/ChuckBraman/JazzPlayer
429 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:17:47 ] >>406 Moron Lispだと思った。
430 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:25:30 ] どうでもいいけど、S式でXML表現するときって名前空間はどうすんの?
431 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:27:11 ] >>429 それも正解。
432 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:49:07 ] >>427 かなり無理やりっぽいが… (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) もっとまっとうな方法がありそうな気がする
433 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:51:38 ] それってformatでパッとできないの?
434 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 01:18:31 ] >>430 コモンリスプならパッケージで桶
435 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 01:34:06 ] >>434 返信ありがとう。 URNとかも平気なのかな。 まあ、完全な同値変換はできないだろうけど。勉強してみる。
436 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 02:06:07 ] こんな表現にすればぁ (tag :namespace (...) :attribute (...) :nodes (...))
437 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 05:10:29 ] >>430 A Lisp Based XML Parser ・LXML parse output format franz.com/support/documentation/8.0/doc/pxml.htm#lxml
438 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 05:14:27 ] 追加 opensource.franz.com/xmlutils/
439 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 12:19:10 ] このスレを見ている人はこんなスレも見ています。(ver 0.20) Bart's PE Builder スレッド 5枚目 [Windows] 懲りずに騙されて花火板にまで飛ばされたわけだが3 [花火] 【CFNM】ちんちん見〜ちゃった☆Part14【えっ〜!】 [game12tr] uim スレッド 7 [Linux] 2ch特化型サーバ・ロケーション構築作戦 Part26 [2ch運用情報]
440 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 18:12:43 ] >>19 > Schemeで書かれた正規表現ライブラリ > ttp://www.cs.rice.edu/~dorai/pregexp/pregexp.html www.ccs.neu.edu/home/dorai/pregexp/pregexp.html
441 名前:デフォルトの名無しさん [2007/10/14(日) 21:19:32 ] gaucheのGauche-mingw-0.8.11+meadow使ってるんですが、日本語の扱いが上手くいきません。 (print "こんにちは") だと 縺薙s縺ォ縺。縺ッ って出てしまう。 どのようにすればよろしいでしょうか?
442 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 21:59:28 ] 文字コード
443 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 23:04:31 ] >>441 set-buffer-file-coding-systemとset-buffer-process-coding-systemで設定。 どっちかっていうとemacsの設定の話だな。
444 名前:デフォルトの名無しさん [2007/10/15(月) 18:23:55 ] 文字列が定義されてるとき、その文字列の組み合わせを列挙して、その数も表示する関数(com k seq)を作ってます。(setq abcd (list 'A 'B 'C 'D))として、たとえば(com 3 abcd)を評価すると、 (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は以前に作ってて、これは使えます。 どなたか教えてくれませんか?
445 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 20:27:47 ] >>444 Common Lisp 入門スレにヒントがでてたよ。どのくらいまで自力でできたの?
446 名前:デフォルトの名無しさん [2007/10/15(月) 21:44:49 ] うーん。いろいろ書いてみたんですが、うまく書けなくて…
447 名前:444 [2007/10/15(月) 23:46:07 ] (defun top (seq tmp) (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以上のときがうまくいかなくて・・・ どうしたらいいのか・・・・
448 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 00:05:16 ] (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) ))) こうしたら (ABC) (ABD)はでるようになりました。 先頭を選ばず残りからk個選ぶ部分がうまくできません。
449 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 00:22:15 ] (comb '(a b c d) 3) => ((a b c) (a b d) (a c d) (b c d)) みたいな関数を作って表示は別にしたほうがいいかもしれんね
450 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 00:26:24 ] >>449 一応表示は 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) )) としました。
451 名前:デフォルトの名無しさん mailto:sage [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 ここまでなんとかなりました。 あと先頭要素が加わってないやつに加えられれば良いんですが・・・・
452 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 00:27:48 ] comb2定義の最後の括弧が抜けました・・・
453 名前:デフォルトの名無しさん [2007/10/16(火) 00:44:01 ] >>449 読み違いました。そういう手もありですね。 しかしどうやるのか・・・
454 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:02:20 ] まず紙にでも書いて整理しろよ 頭で想像できてない事をプログラムできるわけないだろ
455 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:05:14 ] 紙にも書いてみましたが>>450 のやつから進みません・・・
456 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:15:28 ] 紙に書いても判らんなら、もう一度単純ケースの把握からやってみれば? ABC 2のケースとか。 あと、リスト処理と考えるより単純な集合の比較の問題って思った方がいいぞ。 carとかnullとかリストオペレーターをそのまま使うんじゃなくて 問題に適合するように抽象化してみるとか。
457 名前:デフォルトの名無しさん [2007/10/16(火) 01:28:25 ] ABC 2 だったら A選ぶ場合 B選ぶ場合 AB B選ばない場合 AC A選ばない場合 B選ぶ場合 BC B選ばない場合 なし って感じですよね?でもプログラムだとうまくいかないんですよねぇ。
458 名前:デフォルトの名無しさん mailto:sage [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
459 名前:デフォルトの名無しさん mailto:sage [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
460 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 03:10:09 ] >>450 再帰関数についてもうちょっと勉強しないと… (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の時の結果から再帰関数を構成する。
461 名前:デフォルトの名無しさん [2007/10/16(火) 08:10:19 ] >>458 それはわかるんですが。うーん >>460 先頭にxをつけ加えたリストをすべてのxに対して行うって言うのが書けないんです。正直、言うと誰か書いてもらいたいです。一旦答えわかったら理解できるかもしれないです
462 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 10:55:02 ] 再帰で書く。 (car seq)に対して行った結果を、(cdr seq)についてやった結果に付け加える。 nilになるまでやる。
463 名前:デフォルトの名無しさん [2007/10/16(火) 14:20:44 ] やっぱりできないんで、答えお願いしてもいいですか
464 名前:デフォルトの名無しさん [2007/10/16(火) 14:25:18 ] やっぱりできないんで、答えお願いしてもいいですか
465 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 14:31:04 ] >>258 r6rsでは、 > Characters are objects that represent Unicode scalar values. ちょっと困ったのが、stringはseqence of characterだから、 サロゲートペアを含めるには、stringじゃなくてbytevectorにしないと、 r6rs準拠にならない。
466 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 14:31:59 ] >>463 >>464 宿題スレに行け。
467 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 16:27:15 ] >>465 なんで? 文字を素直に UCS-4 にしてしまえばいいじゃないか。
468 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 17:08:54 ] それじゃ「Unicode scalar values」じゃなくなってしまう。 > (integer->char sv) procedure > > Sv must be a Unicode scalar value, > i.e., a non-negative exact integer object > in [0, #xD7FF] ∪ [#xE000, #x10FFFF].
469 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 17:31:53 ] いや、サロゲートペアなんてのが出てくるのは UTF-16 をそのまま 16bit 値として 扱った場合だけでしょ。 string の内部形式として UTF-32 を使ってればそもそも気にする必要はないし、 内部形式に UTF-16 を使っていたとしても、char アクセス時にそれなりに変換 すればいい。 内部形式を UTF-16 にした string で、それをナイーブに char の配列として 実装しちゃいかんというだけのように読めるけどなあ。
470 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 18:05:26 ] UTF-16とかUTF-32とか関係ないです。 R6RSの文字は"Unicode scalar value"を表現します。 またR6RSに従うならそれしかできません。 "Unicode scalar value"はちゃんとした定義のある言葉です。
471 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 20:10:07 ] サロゲートペアってのは UTF-16 でしか使われないんだから、UTF-16 と無関係 なわけないじゃないか。 たとえば、U+2000B は UTF-16 で 0xD840 0xDC0B というサロゲートペアで 表されるけど、U+D840 や U+DC0B なんて文字があるわけではない。 あんたが (string (integer->char #xD840) (integer->char #xDC0B)) ができないって 言ってるみたいだから、俺は (string (integer->char #x2000B)) すればいいって 言ってるんだけど、何か勘違いしてる?
472 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 02:12:21 ] 468で既に自分が何言ってるのかわかってないことを暴露している奴に、 そんな親切につきあわなくても……。もはやスレ違い同然。
473 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 12:30:18 ] Schemeのリスト操作関数について質問です。 Webでサンプルコードとかを検索すると、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))))
474 名前:473 mailto:sage [2007/10/17(水) 12:40:14 ] ちょっと今調べたらlist-tailとlist-refはR5RSにあるみたいですが list-set!やlist-set相当はありませんでした。
475 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 14:01:40 ] そんな操作を使いまくるようならベクタを使う気がする。
476 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 19:55:25 ] 魔法言語リリカル☆Lispフリーウェア化 blog.bugyo.tk/lyrical/2007/10/post_40.html
477 名前:473 mailto:sage [2007/10/18(木) 00:18:00 ] 効率の話はともかくとして、list-setみたいなパターンはよく使うと思うんですが。 インターフェースを揃えておく利点として、他のコンテナに簡単に移行できる という今更語るまでもなくCLや他の言語でも証明されてる事ですし。 takeやdropはSRFIで定義されてるのに不思議ですね。
478 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 00:23:43 ] 欲しいと思ったことないけどな。 ランダムアクセスするなら >>475 の言うようにベクタを使うべきなんじゃないの?
479 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:17:33 ] >>478 〜するべき、とかの話はおいといて、 例えばプロトタイピグとかでコンテナをいちいち決めたくないと思いませんか。 list-set相当の処理は入るけど大部分が副作用なしのリスト処理の場合とか。
480 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:22:37 ] 正直言って思わない。1分で作れるし。
481 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:23:49 ] setfみたいのならいいけど、 〜-set!が、コンテナの数だけあるのも、なんだかな。 やっぱOOが必要なんだろうけど、 プログラミング業界で一番OOに盛り上がりがないからな。 CLOSの頃と違って。
482 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:29:42 ] とりあえずlist-set相当は無いらしいという事は判ったので この話は終わりますね。 >>481 OOというよりイディオムとしてのインターフェースは統一した方が 判りやすいと考えてるんですが。(今のところOOは必要と思ったことないです)
483 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:32:39 ] >>480 みたいな人が多くて、 方言上等!みたいなのがこの世界です。
484 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 04:11:35 ] 君が思ってるほどよく使われるイディオムでは無いってこと。ベクタってものがあるから。
485 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 05:03:08 ] >>481 setf 的な set! だったら srfi にあるね。 srfi.schemers.org/srfi-17/srfi-17.html
486 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 09:39:14 ] >>482 > (今のところOOは必要と思ったことないです) 今のところlist-set!は必要と思ったことないです
487 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:45:40 ] クラス作ってどうこうのOOじゃなくて、MP的な意味でのOOじゃだめなの?
488 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:53:16 ] MPってなんや
489 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:20:21 ] Meta Programmingちゃいまっか?
490 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 19:15:23 ] MP = Message Passing
491 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 19:46:49 ] Magic Point
492 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:33:35 ] もっとぷにぷにして
493 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:34:45 ] マッスルパワーだろ、常考
494 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:56:36 ] 『みじめな ポインター』じゃねーの?
495 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:30:32 ] もぷー
496 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:38:49 ] お前ら何言ってるんだ。 「Mですか?」の略だろ。LISP的に考えて。
497 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:17:01 ] My Program?
498 名前:oWlyiBCrkzVQNj mailto:fzjqnf@zedulo.com [2007/10/19(金) 04:20:45 ] KXW9XK <a href="nycokewromgk.com/">nycokewromgk</a>, [url=bezgtedzkmkl.com/]bezgtedzkmkl[/url], [link=ckqlcozchtel.com/]ckqlcozchtel[/link], mtedzghiaczp.com/
499 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 16:40:57 ] バカな流れになるとこれが沸いてくるのはなんでだ
500 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 21:58:19 ] 偶然です
501 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 01:49:22 ] 以前、このスレ(だっけ)でも話題になった、eclipse用のslimeの様なもの。 swank backend を使った、開発環境が、取り上げられています。 ttp://www.ibm.com/developerworks/library/os-eclipse-lispcusp/index.html screen shotを見る限りでは、現時点でも、ずいぶんイケてるっぽいです。 わたしは、eclipse環境を使ってないので、今すぐに試す気はしませんが、 補完候補が、GUIで縦に表示されるのを、そのうち味わってみたいです。
502 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 14:23:53 ] Schemeってなんか使いやすくないですか?
503 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 23:05:43 ] そうですね
504 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 23:49:33 ] だよね
505 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 00:30:44 ] やっぱりね
506 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 01:03:12 ] でもそんなの関係ねー
507 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 20:39:42 ] はい、おっぱっぴー
508 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 23:30:00 ] 前にもそういう一発系のネタあったよね。 どんなだったか忘れちゃったけど。 LISPの永続性と真逆の関係だね。
509 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:16:11 ] YコンビネータってなんでY ? 「ワイはコンビネーターや」ってことかい?
510 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:57:15 ] そんなあほな
511 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 03:00:23 ] 「ワイは猿や!コンビネーター猿や!」 「必殺、包み包み!」
512 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 12:20:54 ] なにゆうてまんねん
513 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:13:59 ] ポール・グレアムが耳だけ出した覆面かぶってるって話
514 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 01:41:26 ] >>513 それはポール大好きグラハム・ちゃっぷまん@世界の料理ショーじゃまいか?
515 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 13:57:51 ] グラハム・カー@世界の料理ショー ビリー・グラハム@テレビ宣教師
516 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:37:32 ] このスレは勉強になります
517 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 11:46:07 ] うそをつかないでください
518 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 12:25:45 ] グラハム・ボネット@横山やすし
519 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 20:31:26 ] r6rsってスタンダードになれなさそうだよねぇ 後始末が面倒くさそう
520 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 22:28:03 ] Cltl3はまだですか?
521 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 00:05:28 ] 君が書くんだ
522 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 07:33:45 ] 電話帳なみにぶ厚い仕様書を頼む
523 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 10:32:29 ] 黒板に書けば1枚でも分厚いよ
524 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 12:31:12 ] うちの村の電話帳は薄いよ
525 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 17:33:45 ] >>520 アレをかける人で執筆時間がとれる人いるんだろうか。
526 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:22:26 ] GLSを拉致して・・・
527 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 23:24:20 ] 3冊ほどLisp本キボン
528 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 01:08:37 ] Common Lisp the Language, 2nd Edition On Lisp Practical Common Lisp
529 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 04:27:03 ] 入門書がないのはナゼ。
530 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 07:48:55 ] 始めるならschemeがいいよ CLはつまんない制約ばっかりで最初は滅入るから
531 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 12:53:03 ] >>529 入門は一生に一度だけだから、比較的マイナーな分野だと言えよう
532 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 12:53:34 ] >>530 そんなこたあない
533 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 14:09:03 ] >>531 そんなこたあない
534 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 14:28:16 ] >>528 thx >>534- 他の皆さんは?(・∀・ )っ/凵 ⌒☆チンチン
535 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:25:23 ] >>531 BSD類のインストーラに凝ったものが無い、というのと同じような気がする
536 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 23:23:43 ] ttp://www.hi-ho.ne.jp/a_ogawa/oedit/ ・マクロ(schemeインタプリタ)を実装 だって。
537 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 05:04:00 ] >>535 浦島かよ。 PC-BSDのインストーラはLinuxみたいに凝ってるし、 FreeBSDも7からGUIインストーラが用意される予定。
538 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 09:16:35 ] 予定に過ぎないのであれば大筋合ってるじゃん
539 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 09:35:42 ] >>537 OpenBSDのインストーラは最後の砦だw
540 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 12:11:48 ] >>537 浦島かよ。 FreeBSDのGUIインストーラは7に入らないことが決定済み。
541 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 12:20:59 ] もまえら、Unix板に返れ。
542 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 16:33:01 ] もまえら、Unix板に変えれ。
543 名前:デフォルトの名無しさん [2007/11/06(火) 22:29:14 ] SFUが.NETみたいに標準搭載になればいいのにねえ。 WinFXでWin32を順次置き換えていくらしいから、 もう既にWin32で囲い込みする必要もないだろうに。 サポートの手間がメンドクサイからまあ、なさそうだけど。
544 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 22:45:05 ] マイクロカーネルだって事を M$ 自身が忘れてしまっている
545 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:20:35 ] >>543 なぜこのスレで書いてるのか知らんが、Windows Vista では Enterprise、Ultimate 版に SFU の後継である SUA が載ってるよ。
546 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 14:26:53 ] slime専用sbcl coreをmake一発で作りたいとおもい、 sbcl-core: rm -f ${SBCL_CORE} sbcl <<EOF (load "${SRC_DIR}/${PACKAGE_NAME}/swank-loader.lisp") (save-lisp-and-die "${SBCL_CORE}") EOF としてみたのですがうまくいきません どうしたらよいでしょうか。
547 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 18:49:20 ] エラーメッセージは? makeの継続行は最後に\ here documentでは必要ないが、 makeは一行で1 shell script。行継続しないと。ってことかな?
548 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 02:50:15 ] schemeで common lispの (let ((count 0)) (defun increment .. (defun decrement .. のような処理をしたい場合はどうすればいいのでしょうか?
549 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 04:32:17 ] >>548 (define inc #f) (define dec #f) (let ((count 0)) (set! inc (lambda ...)) (set! dec (lambda ...)))
550 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 20:42:17 ] >>549 schemeの理論をそれほどちゃんと理解しているわけじゃないが、 厳密に言えばincrementをlambdaに束縛するのがincrementを呼ぶ前に 行われるとは限らないんじゃないか?
551 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 21:52:25 ] (let ((count 0)) (define inc (lambda ...)) (define dec (lambda ...))) ってできないの?
552 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:42:14 ] 最近勉強始めたんだけどschemeで作るプログラムのアーキテクチャが全然想像できない オブジェクト指向だったらMMVCとかあるけどschemeでオブジェクト指向やってもうれしくもなんともないし
553 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:06:31 ] うれしくなければやらなければいい。 >>551 r5rs - 5.2.2 Interanal Definition
554 名前:デフォルトの名無しさん mailto:sage [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)にしたい
555 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:20:39 ] (apply f1 x)
556 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:24:09 ] >>555 ありがとー
557 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:27:48 ] >>552 scheme とか lisp には言語を自由に拡張できるマクロが... なので > プログラムのアーキテクチャ てなものを考えてもしょうがないと思うけど... 「特定の言語とかモデルに捕らわれないで問題領域解決用の専用言語を作る」 のが lisp 系言語の流儀だと思う.
558 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:38:39 ] Lisp : 粘土 Java : 煉瓦 Ruby : 絵の具
559 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:42:26 ] 俺言語とかDSLを作らなくても最終目的に向かう途中で実行系自体がDSLみたいな状態になる。 プログラムを作るというより実行系の環境を最終目的物に書き換えていくみたいな感じ。 粘土細工作るときの作業台全体みたいな物だと思ってるんだけどどうなんだろう。
560 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:42:57 ] うわ、くだらねぇもの書いている間にシンプルなお答えが orz
561 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:20:03 ] その点、haskellとかocamlとかどー考えてんだろ
562 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:44:35 ] Haskell 実行する前に問題解決
563 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 07:59:36 ] >>551 出来る けど内部定義のdefineだから グローバルな束縛にならない 一方set!なら可視な束縛の変更だから グローバルな環境の変更もできる 553がシンプルな答えだけど
564 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 08:42:26 ] >>563 の言うようにset!がシンプルだけど, let環境の値としてinc, dec(を含むリスト)を返し,それを外部でinc, decで束縛すれば... (define tmp (let1 count 0 (define (inc) ...) (define (dec) ...) (list inc dec))) (define inc (car tmp)) (define dec (cadr tmp)) ;; 自分では動くか試してない(ぉ
565 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 10:18:36 ] それなら、defineせんでも、lambda式返せばいい。
566 名前:546 mailto:sage [2007/11/09(金) 12:24:49 ] >547 ありがとうございます 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 <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の問題では無いと思うんですが…
567 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 12:35:36 ] Scheme も internal define なんて導入せず、それ以前の Lisp みたいに define は 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 なんてわかりづらいこともなくなったのに。
568 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 14:36:31 ] beginのその特別扱いってなんであるんだ? 処理系書くとき邪魔だよねえ。 しかしdefineで内部関数を書けるのは便利。 labelsとかfsetとかは醜い。書きづらいし読みづらい。
569 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 15:16:43 ] 二つ目の方が、 (begin <form1> ...)じゃないから、 (begin (begin <definition1> ...))を機械的に、 <definition1> ...とsplicingするわけにいかないのがきつい… こっちはR6RSではないんでしょ。 ・Internal definitions are now defined in term of letrec*. トップレベルの方はライブラリがらみでまた気にするところ増えたけど。
570 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 15:48:37 ] (begin (begin <definition1> ...))が (begin <definition1> ...)になって、次は、 <definition1> ...でいいんじゃないのかなあ? その辺り、R6RSの方が解釈しやすい書き方だけど。 <body> <library body> <top-level body>と、 構文上のノンターミナル使って定義してあるから。 R5RSは文章での説明が多くて理解するのに頭を使う。
571 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 21:44:17 ] The Little Shemerを簡単じゃないかと思衣ながら読んでいたら、 8章の途中から泣きそうになった(高階関数のあたり)。 何とか理屈はわかったけれど、身に付くかどうか・・・ がんばってみます。
572 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 23:47:21 ] >>571 おお仲間だ! multiremberEcoとかcontinuationとか出てきたあたりで学習速度がすっごいダウンするよね
573 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:50:26 ] The Little Shemerは、 曖昧に理解せず、身に付けさせるための本だから、 ちゃんと読み終わったら身に付くよ。
574 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:56:59 ] seasonedとかreasonedはどうだった?
575 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 12:38:29 ] lisp で並列分散処理プログラムを実際に書いている人は居ます? どういった処理系もしくはライブラリを使ってますか? やっぱりほとんどいないのかな。。
576 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 12:57:24 ] 3行目があるせいで釣りにしか見えん。
577 名前:575 mailto:sageま、釣り用の言葉も有った方がおもしろいでしょ。 [2007/11/10(土) 13:40:41 ] まじめに自分もその環境でコーディングしたいと考えています。 並列プログラミングの話ってほとんど語られていないと思ったんで。
578 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 14:08:27 ] Erlisp は期待してたんだけど、どうなったのだろう
579 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 14:09:17 ] cmlisp とか, *lispとかの話かい???
580 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 14:36:44 ] CL のライブラリだよ
581 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 22:16:14 ] アナルlisp?
582 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:04:04 ] Schemeの入門はLittle Schemerしかないのかな。 手習いや湯浅先生の入門本は入手しづらいし。
583 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 02:55:56 ] あなりすぷ・・・
584 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 12:23:59 ] (cons 'ちんぽ 'アナル)
585 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 07:54:12 ] `(ちんぽ . アナル)
586 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 09:50:01 ] Python実装だけど並列処理の記述はLispでやる予定の俺がいますよ
587 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:13:04 ] みんなschemeの処理系なに使ってんの? みんな自作?
588 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:21:59 ] ごうしゅをつかってまつ
589 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 22:49:07 ] Gauche 時々 MIT
590 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:10:25 ] 587 じゃないけど... MIT 使ってる人は初めてだ。もし良かったら、 どんな時に Gauche じゃなくて MIT を使うか 教えて下さい。
591 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:26:12 ] MITしか入ってない環境で作業するとき・・・。
592 名前:591 mailto:sage [2007/11/12(月) 23:50:57 ] 職場で借りてるファイルサーバになぜか入ってて時々使ってるって程度の話ね。
593 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 23:58:55 ] 多くのディストリとかcygwinに、わりとデフォで入っているという理由で guile を使うことがある
594 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:16:13 ] >>591 ,592 どうもありがとう。何か拘りがあって使ってらっしゃるのかと思いました。
595 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 00:46:26 ] >>587 slang
596 名前:デフォルトの名無しさん mailto:sage [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)
597 名前:デフォルトの名無しさん mailto:sage [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)
598 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 04:01:03 ] >>597 お付き合いいただいてどうもです。ヒントになりました。 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)
599 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 12:00:26 ] >>587 俺はPLTだな…IDEが付いてくるからって理由だけだが。
600 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 12:14:47 ] gaucheとscm。 scmはdefaultでreadlineがあるからちょこちょこ書くときはこっち。
601 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 18:00:34 ] scheme48(とguile) 有理数が使えていろんな環境で使えるのはこれくらいしかない(と思う) ocsなんかも面白そうだけどまだあんまり使ったことない
602 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 18:05:51 ] 一度どれか使っちゃうと、 独自仕様部分のポーティングが面倒になる。
603 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 18:51:27 ] つまりスキームなんてどれも使うな、コモンリスプ最強ってことか?
604 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 20:17:53 ] >>603 Common Lispの処理系が動かない環境もあるんでつ(´・ω・`)
605 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 01:05:28 ] どんな環境?
606 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 06:55:03 ] zaurus-openbsdとか
607 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 13:22:12 ] clispくらい動きそうだけどな
608 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 13:58:42 ] つPalmOS
609 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 18:19:10 ] >>607 動きそうだけど動かないですねぇ clispもGCLもGaucheもMzSchemeもGambit-Cも Gambit-Cはビルドは成功するけどリーダがいかれてて 3 -> 0 8 -> unbound error とかになります ソースが機械翻訳のCだから追う気になれないけど 規則性のあるバグだから見つかればつぶせそうです scheme48は依存ライブラリもなく、GCも多倍長計算も有理数も自前なのにi386 onlyでポーティングされてるのが疑問 だから自分でパッケージ作っていれてます
610 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 15:48:16 ] Linuxならi386以外にもportされてるけどな ttp://packages.debian.org/sid/scheme48
611 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:12:44 ] というかzaurusなら普通にscheme48のパッケージが流通しているわけであるが。 感度の悪いアンテナ持ってるやつってどうよ?
612 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 06:53:05 ] >>611 zaurus-"OpenBSD"の話です i386のみにportingされているのは事実です i386じゃなくても動くのも事実ですけどね
613 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 07:42:01 ] 好きで使っているOSへの愚痴は、そのOSの板でやってくれ。
614 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:20:53 ] そう、ここは好きじゃないのに使わされている OS への愚痴を書き込む場所です
615 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:48:10 ] 好きでも嫌いでもないOSの愚痴はどこに書き込んでもいいです
616 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:51:51 ] 押忍
617 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:58:29 ] OCS ってこれか。 will.iki.fi/software/ocs/
618 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:17:35 ] 御意
619 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 13:14:54 ] >>600 ledit使えばいいんじゃね? > readline $ ledit gosh -i $ alias gau='ledit gosh -i'してる。
620 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 15:57:12 ] SECDR-Schemeってソース見てみたいんだけど、誰か持ってない? テンプレのリンクは切れてて見れませんでしたわ。
621 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 23:48:16 ] 以前ダウンロードしたときはリンク切れから適当にURLを推定して当てた記憶があるですよ。
622 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 10:39:21 ] だから、そのダウンロードしたソースを持ってないでしょうか? って聞いてるんだわ。(^〜^)
623 名前:デフォルトの名無しさん mailto:sage [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| \ ソ
624 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:49:48 ] CommonLispやSchemeでは、 2個以上の引数を取るandやorはマクロで定義されている様なんですが、 関数を使っても定義できるはずです。 なぜマクロを使っているのでしょうか。
625 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:01:08 ] 無駄な評価をふせげるから。
626 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:02:36 ] そんで、大昔は、特殊形式でやる流儀もあったけど、 今はマクロで済むことはマクロでやる流儀。
627 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:39:20 ] 誰かfranzセミナー行った人、内容教えて
628 名前:624 mailto:sage [2007/11/23(金) 14:55:37 ] >625 関数だと引数をみんな評価してしまうけど、 マクロならしないってことですか? >626 すいません 特殊形式とマクロの違いがよくわかってないんですが、 引数を関数とは違う順序で評価するという点で同じで、 そのうち特殊形式はプリミティブなものと言うような理解で いいんでしょうか。
629 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:32:46 ] >>628 andもorも、「左から見ていって、途中でオシマイという運びになったらその後ろは評価しない」ものでしょ? でも関数は「まずすべての引数を評価する」機構なわけで、それではandもorも実現できない。 一方、マクロは引数をまったく評価しない。だからこれを使って定義されている。 特殊形式は、すべての引数を評価するとは限らない関数、みたいなもので、 想像の通り、プリミティブなものだ。 てかこの辺り、Lispの勉強の初日や二日目の範疇じゃないか?
630 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:22:56 ] 遅延評価を導入すれば関数として統一的に定義じゃないかという吊りかも
631 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 09:36:14 ] 脳内のイメージが遅延評価な人なのかもしれん。Haskell でも試してみたら?
632 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 11:00:01 ] >>628 なんのために書籍の「ON LISP」があると思っているのか
633 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 11:28:27 ] 賢い人を更に教育するため。 私たちにとっては,On Lisp でレベルアップして, 更にいろいろ教えてくれる様になったその人たちに より突っ込んだを質問が出来るようになる。だな。
634 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 13:54:45 ] 初心者はANSI Common Lispがいいよ。On Lispはちょっと応用すぎる。 あとはEmacs Lisp Tutorialとかも参考になるだろうね。
635 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 14:04:06 ] Scheme→Common Lispだと拒否しちゃいそうだけど Common Lisp→Schemeだと使い分けられそう。
636 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 14:08:24 ] プラットフォームがBlackboardならScheme、それ以外ならCommon Lisp。
637 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 15:35:48 ] 引数の評価についてはSICPでも超序盤で触れてるね
638 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 16:42:39 ] >>633 のような輩に無料で教えるほど賢い人は暇ではないだろうな
639 名前:624 mailto:sage [2007/11/24(土) 22:13:01 ] >629 >andもorも、「左から見ていって、途中でオシマイという運びになったらその後ろは評価しない」ものでしょ? なるほど、単なる論理演算かと思ってました ありがとうございます >630,631 最近Haskellをかじって うはwwwマクロもういらねんじゃね?www とかいって喜んでたんですが、やっぱりそれであってるんですね
640 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 02:35:01 ] >>115-128 あたりで同じやりとりをした気がするけど、遅延評価でも関数じゃ setq とかが書けないんで、マクロは必要。
641 名前:デフォルトの名無しさん [2007/11/25(日) 03:53:03 ] マクロがあってもスペシャルフォームは書けないはずだけど。
642 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 10:05:48 ] setq って quote して set するだけだと思ってたけど、他に何かしてたっけ?
643 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 13:39:38 ] 遅延評価でquoteが書けるか?
644 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:05:00 ] >>642 説得してる
645 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:12:29 ] >>642 それだと(多くの処理系では)グローバルしかセットできない
646 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 17:16:37 ] なるほど。 # 普段 ELisp しか使ってないから、 set するだけだと思ってた。 じゃ、 case とかが書けないからマクロは必要、に訂正かな。
647 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 01:33:45 ] >>635 SchemeとXyzzyLispって俺はどうすれば…。
648 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 02:05:34 ] どうしようもないね
649 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 03:29:28 ] >>635 俺は逆だなぁ、CLだとなんでも揃うのだけどSchemeだと原理主義ありきなんで妥協してくれないから。
650 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:05:23 ] 原理主義ってどんなの? 「プリミティブがあれば充分」論者はR6RSで少なくなっていくと思う。 moduleとかOOとか。
651 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:21:24 ] じゃあ、さっさと R6RS を実装しやがれ
652 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:33:55 ] あんなR6RSを正直に完全実装するのがでてくるかな? リファレンス実装以外で。
653 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:38:14 ] 今のメジャーな処理系が実装するというよりは、新しい処理系で R6RS 準拠ってのが出てきそうな気がする
654 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:57:18 ] SchemeのC++0xやー
655 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 17:28:37 ] 個人的にはR5RSにリードマクロとsyntax-caseと{read,write}-byteとfile-seekとsystemと環境を明に操作する手段とimplicit forceとfull numeric towerとFFIさえあれば良いだけなんだけどなぁ 実装してる処理系はあるけど標準化されてないってのがネック UTF-8ファイルの読み書きで1バイト読み込むのか1文字読み込むのか実装依存(1文字読み込む実装は知らないけど)だし 構文オブジェクトもファーストクラスにして (define foo (syntax ...なんて構文で定義したり applyの第1引数に構文オブジェクトを受け取るように出来たらいいのに でもそうすると構文木解釈系でしか動かないだろうから相当遅くなるし そもそも合成構文はevalされる前に展開されるから無理か ただCLと違って値も関数もdefineで定義できるのに 構文定義だけdefine-syntaxってのが美しくない気がする define-syntaxは処理系に対して、defineは実行系に対しての構文だと割り切るしか無いか
656 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 19:57:37 ] そういえば以前PCLの翻訳が進んでるって話題でてたけどどうなったんだろう。 中止になったのなら半分まで進めて止まってる翻訳再開しようかな・・・
657 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 22:43:16 ] >>656 あなたは「RHG読書会」というお告げが聞こえたような気がした --more--
658 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 11:59:24 ] >>656 Lisp関係の書籍出している出版社に問い合わせてみては? 既に進んでいるなら、翻訳者陣に参加して加速してくださいw
659 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 16:42:48 ] >655 ハゲド ごちゃごちゃしたいならCLに行けば良いんだから schemeは原理主義的な性格を守っていってほしい 構文オブジェクトは普通のマクロ入れると コンパイラのコード生成ルールを吐いてくれるように出来ないかな? ほんとに動的なマクロだと無理だろうけど...
660 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 13:58:46 ] continuation の挙動について理解できていない点があり, 以下のような 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 おわり
661 名前:660 mailto:sage [2007/12/06(木) 14:00:00 ] ;;; case-B ---------------------------------------- (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おわり
662 名前:660 mailto:sage [2007/12/06(木) 14:02:18 ] case-A では continuation-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 上の変数の見えかたについて なぜこのような違いが生ずるか,お教えいただければ助かります.
663 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:14:39 ] わざわざdoなんか使うから話が余計ややこしくなってる。 doを再帰に展開してごらん。
664 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:14:49 ] doは再帰だから。 doの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)
665 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:15:39 ] do は counter-B の値を破壊的に書き換えてない。 新しい環境作って、そこで同じ名前に別の値を束縛してるだけ。 だから元の場所に戻ると、そこの環境にはそのときの値が残ってるから、その値が参照される。 set! は破壊的に書き換えるから、元の値が残ってない。
666 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 04:31:10 ] Clojure試してるんだけどClassCastExceptionばかりで使い物になんないよ…… どうなってんのこれ。
667 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 20:01:29 ] clusure じゃないの?って検索してみたら… java スレ行け。
668 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 20:02:20 ] × clusure ○ closure
669 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 01:05:55 ] >>666 作ってるよーという話がでたばかりの言語に安定性を期待しすぎなんじゃないの?
670 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 02:36:47 ] Clojureは広い意味でのLISPっぽさがあっていいんじゃないの?
671 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 08:02:24 ] 一般的なLispとの違いがまとめてあるけど、 clojure.sourceforge.net/reference/lisps.html どう考えてもLispでしょ。 Haskell方面で良く使われているSTM、 それにreactive Agent使った並列Lispの一種で面白いと思う。 STMでいろいろ遊んでみたかったんで試してみます。>>666 サンクス >>667 みたいな馬鹿はなんなんだろ。
672 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 09:36:17 ] java で書かれたなんらかの言語の実装系に問題があるなら なんらかの言語は無関係と思うが? ClassCastException って java の例外でそ?
673 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 09:39:16 ] 661=671乙 javaで書かれた何かの言語の処理の実装系に問題があるなら その何かの言語よりjavaに通じた人に質問する方が効果あると思うが? ClassCastException は java の例外でしょ?
674 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 09:43:08 ] と考えたが、Cで書かれたschemeの処理系に問題があった場合、 C使いだけでなくschemerに聞くのも有りか… javaグラマに偏見あるな俺は
675 名前:671 mailto:sage [2007/12/08(土) 10:12:13 ] >>673 >>664 は俺なんだけど何で分かったの!びっくり! と思ったら>>661 orz >>666 の間違いかよ!
676 名前:673 mailto:sage [2007/12/08(土) 10:52:39 ] >> 675 誤りについては御寛恕賜りたく、
677 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 12:54:42 ] >>674 あるみたいだね
678 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 13:17:21 ] 最初はJDK1,7のクロージャの実装がまだバグが多くて愚痴った内容を誤爆していたのかと思った。 JVMの上で動くClojureというLISP処理系の話とは思わなかった。
679 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 13:53:24 ] >>671 >>>667 みたいな馬鹿はなんなんだろ。 2ch だからといって安直に馬鹿とかアホとか書くのは止めた方が良いよ。
680 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:20:34 ] ポメラニアンファック! ヽ(`Д´)ノ
681 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 04:58:51 ] >>679 書いた本人が安直な馬鹿だから、言ってもしょうがない。
682 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 19:56:01 ] >>666 ClassCastExceptionなんていうJavaの例外が出てる時点で、処理系の不具合だろうが。 不具合あるなら、ソース読むか、コミュニティに報告するかだろ。 それができないんだったら、安定版がリリースするまでおとなしく黙ってろ。
683 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 01:39:04 ] >不具合あるなら、ソース読むか、コミュニティに報告するか あるいは愚痴を言う、だろ? そのキツい態度はこのスレに取って良い未来を生み出さないと思うのだが。
684 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 04:00:09 ] >>683 その優しい態度も良い未来を生み出さないという意味では同じであろう。 つまり、好きにそれぞれの芸風でやってくれ。w
685 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 08:09:12 ] 俺は優しくしているつもりはない。 ただフレームを生み出すよりは無視する方がまだマシだというお馴染みの主張をしたいだけで
686 名前:デフォルトの名無しさん [2007/12/11(火) 10:12:56 ] R6RSなんかより、MS謹製のLisp#に期待だなぁ。 強力なIDEの付いたVisual Lisp# 2008出してくれないかな。。
687 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 10:22:16 ] 俺は型付き Lisp が欲しいな。勿論型推論込みで。
688 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 12:00:24 ] インタープリタで型推論とか出来るんだろうか
689 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 12:44:23 ] hugsとかやってるじゃん
690 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 19:11:27 ] >>686 どんなMS独自仕様が拡張されているの?
691 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 21:02:04 ] OCamlなんかもインタプリタで型推論してますね ところでScheme48でscmファイルからモジュールを,openする方法ってないんでしょうか? モジュールを,openしたヒープイメージを,dumpか,buildする方法だとなんか大げさだし 標準入力で,openさせて-a batchする方法だと標準入力が塞がっちゃうし (open structure-name)とかで,openできればいいんですけど…
692 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 21:59:56 ] >>690 .NET Framework をシームレスに呼べるようになってたりするのだろう。w それはそれで便利かも。
693 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:16:56 ] F#ですか
694 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:33:57 ] MSによりLisp#が開発される暁には、.net frameworkを呼べるようになるだけではなく、 Java→C#で行われたような言語レベルでの大幅な強化・改善が行われるだろう。
695 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 22:38:10 ] 丸括弧が無くなるんじゃねーの
696 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 00:55:36 ] あの会社としては、CLtLとかRxRSなんて気にしないで新標準を作っちゃうんだろうけど、 それでも依然として LISP ではあるところが LISP の包容力の大きさだ。w まじでやってほしい気がしてきた。
697 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 10:45:55 ] lispであるための条件って 表現がS式であることしか無いような気がしてきた
698 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 16:29:24 ] M式の立場は?
699 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 17:06:11 ] SM式?
700 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:24:54 ] 665で1文字読み込む実装は知らないなんて書きましたけど 無知すぎました エンコーディングさえ設定すれば1文字読み込むことも出来る実装がちゃんとあるんですね
701 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 09:49:24 ] >>695 ( ) の代わりに全部 { } で書くの?
702 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 17:35:11 ] >>700 >665で1文字読み込む実装は知らないなんて書きましたけど 665にはそんな記述見あたらないんだけど… 655の間違いだな
703 名前:デフォルトの名無しさん [2007/12/13(木) 22:19:54 ] >>695 dylanのことかーっ
704 名前:691 mailto:sage [2007/12/14(金) 01:07:29 ] slib/scheme48.initに答えが書いてありますねorz slibはscheme48を冷遇してるから期待してなかったんですが…
705 名前:700 mailto:sage [2007/12/14(金) 20:29:02 ] >>702 訂正どうもです
706 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 23:11:54 ] 『Gaucheプログラミング』 Kahuaプロジェクト 著 川合 史朗 監修 ISBN978-4-87311-348-7 定価3,360円
707 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 23:50:51 ] >>706 発売日は決まったの?
708 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 07:58:50 ] >>706 「プログラミングGauche」じゃなかったっけ?
709 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 08:43:01 ] 「プロGaucheグラミング」
710 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 08:46:56 ] 「プGロaグuラcミhンeグ」
711 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 08:50:12 ] それが出たら終了だな
712 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 09:29:05 ] 「プログラミング」 ∩___∩ | ノ ヽ / ● ● | G、Gauche! | ///( _●_)//ミ 彡、 /⌒)(⌒ヽノ ./ / / \ \ l ノ `ー‐'
713 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:14:48 ] ガウチェ
714 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 17:26:12 ] assqとassocはeqとequalの違いがあると本に書いてありました。 でも、どんな場合に違いがでるのかわからないので説明があるどこかのURLを教えてください。 お願いします。
715 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 17:49:32 ] >>714 eqとequalの違いは判る人? それすら判らない人?
716 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 17:50:56 ] >>714 www.google.co.jp/search?q=eq+equal
717 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:35:24 ] >>714 "Comparator"の違い。
718 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:37:57 ] >>715 わかりません。 >>716 やってみましたが下記のような感じで書いてあり、いまいち初心者にはピンと来ないのです。 eq 二つのオブジェクト(実体)が同じものの時。 実体が同じということは、その内容が変われば、他方の内容もそれにつれて変わるような関係。 シンボルや、整数値の場合は、名前や値が同じだけで同じと判別する。 equal 中身が同じものを指しているなら真。
719 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:49:29 ] >>714 一致する場合はこう。 (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 の説明から理解するのは難しい。
720 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:50:39 ] >>718 Javaの == と equals との関係に似ている eq はポインタ同値
721 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:59:02 ] >>718 は変。 eq < 二つの引数が同じオブジェクトなら真。 equal < 二つの引数が別のオブジェクトでも中身が同じなら真。
722 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:09:49 ] >>718 うるさいことを言わなければ、は以下のような使い分けになる。 ・シンボルであることが明らかな場合は eq を使うことができる。(eqのほうが速い) ・そうでないときは equal が安全。 ・その中間として eql ってのがある。構造のあるもの(リスト・文字列・配列など)でないことが 判っていればこちらのほうが速い。 ・数値同士だと判ってるなら =、文字列同士なら string= がたぶん速い。 なぜこんなことになってるか知りたければもっと勉強するべし。
723 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:10:00 ] >>719-721 ありがとうございます。すごくよくわかりました。 (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だとオブジェクトが同じだから真になるんですね。
724 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:19:45 ] >>718 assqの実装は大体こんな感じになっている。 (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=を使えば用途に応じて高速なものが使える。
725 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:25:35 ] >>723 > でもequalだとオブジェクトが同じだから真になるんですね。 < でもequalだとオブジェクトの中身が同じだから真になるんですね。
726 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:34:35 ] >>722 >>724 >>725 ありがとうございます。 >>722 むずかしいけど、>>724 の解説をみて、使うと便利だということは理解できました (^ ^; >>724 そういうプログラムなんですね。eqとequalの使われてるところとか参考になりました。 >>725 ありがとうございます。そういうことを書いたつもりでした。でもプログラミングのことを正確に話し言葉にするのって難しいです。
727 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 20:32:28 ] 例えばここにSBCLのeq, eql, equalのソースがある ttp://sbcl.cvs.sourceforge.net/sbcl/sbcl/src/code/pred.lisp?view=markup > 196 ;;;; equality predicates eqの実質的な定義はちょっと見つけられなかったけど...
728 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 20:36:48 ] >>424 最後の行が間違えてるね。assq=>assoc (defun assoc (key alist) (cond ((null alist) nil) ((equal key (car (car alist))) (car alist)) (t (assoc key (cdr alist)))))
729 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 21:54:45 ] (defun sqrt (x) (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
730 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 22:14:28 ] 随分と荒い収束判定だな
731 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 22:27:49 ] >>730 どこを修正すると改善されるか?という問題かな?
732 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 22:35:11 ] 無理せず Scheme 使えば…… define と defun は違うよ。とオモタ
733 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:54:38 ] >>732 Schemeを使わなくてもCLにはlabelsがあるよ。とオモタ
734 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 01:38:25 ] >>727 「実質的な」ってどういう意味?
735 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 12:26:37 ] 自問自答w 翻訳系eq実装の事ね。 src/compiler/x86/pred.lisp eqlは、 src/compiler/x86/arith.lisp src/compiler/x86/float.lisp src/compiler/src/trans.lisp あたり。
736 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 02:31:46 ] jmuk(笑) Haskell(笑)
737 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 23:35:02 ] 今日の発見 (atom '(1 2 3)) ; => nil (atom (quote ())) ;=> t 空リストがアトムだと知らなかった。 orz
738 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 23:39:40 ] (listp '()) t リストでもある
739 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 23:58:26 ] (defun . (atom . ((x . nil) . ((not . ((consp . (x . nil))))))))
740 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 01:01:57 ] CLなら()はquoteしなくてもいいんじゃなかったっけ? Schemeならquoteがいるけど Guileは()も#(...)も自己評価的でRnRSとはだいぶ違う(Schemeの中ではCL寄り?) R5RSに準拠してくれたら乗り換えてもいいかなと思うんだけど
741 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 02:14:52 ] >>737 nilって知ってる?
742 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 08:44:38 ] (atomp '下條) => t
743 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 12:32:51 ] (atomp '鉄腕) => t
744 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 16:01:08 ] (atomp 'フランツ) => t あれ?
745 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 18:48:24 ] てか、atomp でいいの?
746 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 20:13:30 ] >>738 listpとか (null ()) t とかも教科書では出てくるけどatomはあまり使わないかな。記号処理では使うけど。
747 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 20:46:24 ] >>745 ホントは良くない。
748 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 14:15:26 ] Common Lisp: (let ((x)) x) => NIL Scheme: (let ((x)) x) -> ERROR Unspecific値が返るかと密かに期待したんですけど CLと違ってSchemeではletはlambdaの派生式だから当然と言えば当然ですね Unspecific値を手軽に得るには(if #f #f)しかないのかな?
749 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:22:39 ] >>728 Scheme版ならこんな感じ。 (define assoc (lambda (key alist) (cond ((null alist) nil) ((equal key (car (car alist))) (car alist)) (else (assoc key (cdr alist)))))) lambdaとelseを使ってみた。
750 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:26:32 ] SchemeかLispで書いてあるアルゴリズムの教科書を教えてください。
751 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 01:28:38 ] >>748 Schemeの文法良く調べろよ。
752 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 04:05:38 ] (define assoc (lambda (key alist) (cond ((null? alist) #f) ((equal? key (caar alist))) (car alist)) (else (assoc key (cdr alist))))))
753 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:54:21 ] >>752 乙! null?だよね。間違ってたw あとcaarの方が簡潔だね。
754 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:55:22 ] >>751 文法はアルゴリズムじゃないぜw
755 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:57:38 ] >>754 アルゴリズムの話なんてしてないだろw
756 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:00:54 ] >>750 釣りかもしれないけどSICPとかどうよ?
757 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:03:46 ] >>755 はぁ? >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 アルゴリズムの話じゃなきゃなんなの?
758 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:30:18 ] これは新手の荒しか?
759 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:34:33 ] /\⌒ヽペタン / /⌒)ノ ペタン ∧_∧ \ (( ∧_∧ (; ´Д`))' ))(・∀・ ;) / ⌒ノ ( ⌒ヽ⊂⌒ヽ .(O ノ ) ̄ ̄ ̄()__ ) )_)_) (;;;;;;;;;;;;;;;;;;;)(_( アンカーをもう一度見直すんだ
760 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:58:27 ] >>759 わはー、おっちょこちょいはワシだけじゃなかったらすぃ
761 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:58:29 ] >>754 が勘違いしたってことでいいのか?
762 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 20:15:05 ] Lisp/Schemeでセジウィックみたいなアルゴリズムの本って思いつかないな? SICPは良い本だけど辞書的ではないしなぁ。
763 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 21:05:07 ] >>752 (define (assoc key alist) (and alist (let loop ((ls alist)) (if (equal? key (caar ls)) (car ls) (loop (cdr ls))))))
764 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 21:10:53 ] 関数型という範疇であればアルゴリズムの本はあるよ。MLだけど。 Purely Functional Data Structures Algorithms: A Functional Programming Approach
765 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 22:08:20 ] >>749 さんのは動かなかったので修正しておきました。 (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の使い方がイイ感じですね。
766 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 23:38:07 ] Lispで (setq pref-alist '(("山梨県" . "甲府市") ("神奈川県" . "横浜市") ("愛知県" . "名古屋市") ("茨城県" . "水戸市"))) とやっているのをschemeではどのように書けばよいのでしょうか?お願いします。
767 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 23:40:38 ] トップレベルなら setq を define にするだけだべ
768 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:06:44 ] >>767 gaucheでそうやってみると gosh> *** READ-ERROR: Read error at "c:/meadow/test-assoc.scm":line 43: EOF encountered in a string literal: "壤壤壤「壤ィ" Stack Trace: となるので間違っているのかと思いまして。日本語が上手く通っていないだけなんですね。ちょっとがっかりですが納得できました。有り難うございます。
769 名前:デフォルトの名無しさん mailto:sage [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が上手く行ってないようです。
770 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:24:35 ] c-x return f utf-8 return してからセーブしたら解決しました。 Gaucheの仕様がコンソール上ではsjisでOKなのに、ファイルだとutf-8しか受け付けないというのがわかっていなかったのが原因でした。
771 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:46:35 ] >>748 > (let ((x)) x) -> ERROR これはletの返り値じゃなくて、文法エラーだぜ。 初期値省略は許されてない!
772 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 01:09:49 ] >>765 > >>763 さんのは動きました。 動かないと思うんですが
773 名前:748 mailto:sage [2007/12/21(金) 06:38:07 ] =>が返り値 ->が結果のつもりで書き分けたんですが…
774 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 07:23:25 ] ttp://page13.auctions.yahoo.co.jp/jp/auction/r41896772 >希望落札価格:10,000 円 (; ・`д・´) な、なんだってー!! (`・д´・ ;)
775 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 08:08:30 ] amazonのマーケットプレイスでの「入門Scheme」が\12,000だからなぁ。
776 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 09:07:32 ] >>773 > ->が結果のつもりで書き分けたんですが… >>748 では > (let ((x)) x) -> ERROR > Unspecific値が返るかと密かに期待したんですけど って自分で言ってんじゃん。 > CLと違ってSchemeではletはlambdaの派生式だから当然と言えば当然ですね とか何の関係ないし。初期化しないとUnspecific値が得られると思ったんでしょ。
777 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 09:12:24 ] >>774 この人かな www.geocities.jp/hajiri_koichiro/index.html
778 名前:748 mailto:sage [2007/12/21(金) 09:57:25 ] いやだから 期待したのは(let ((x)) x) => #<unspecific> 結果は(let ((x)) x) -> ERROR そもそも私の使ってる実装にERROR値はないんです ダミーの引数を受け取る名前付きletを書いてて 初期値を最初'()にしてたんですけど '()よりも#<unspecific>のほうがいいかなと思って 深く考えずに実引数を省略してみたんです その時はletがlambdaの派生式だってことを忘れてて じゃあletがlambdaのマクロじゃないCLがどうなのかなと思って調べただけなんです
779 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 15:25:21 ] Makefileの文法が気に入らないので、 S式で書けるイカスmakeの代替プログラムがないかと思ってるんですが、 みなさんごぞんじないですか?
780 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 17:00:41 ] >>778 > そもそも私の使ってる実装にERROR値はないんです 仕様的に、エラーは値じゃなくて、 エラー状態にあることが、「通知(signaled)される」か、 通知が明記されてない場合は、推奨されないが無視していいんですよ。 エラーが無視された時に式の値が未規定(unspecified)である実装はありうるけど、 それは「エラー値」じゃないし、#<unspecific>とも限らないのです。 なんらかのオブジェクトである必要はあります。 通知される場合には、値を返さず、 トップレベルに復帰する実装が多いと思います。
781 名前:748 mailto:sage [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かどうかを判定する手段はありませんよね?
782 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 18:42:02 ] >>772 Gaucheで動くと思うけどなぁ? (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)
783 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 18:53:44 ] (assoc "山梨" pref-alist) *** ERROR: pair required, but got ()
784 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:15:03 ] >>783 ファイルに>>782 を書き込んで、そのファイルをeamcsとかMeadowでc-c c-l <<ファイル名>> したあとでやってみるといいYO!
785 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:16:29 ] >>783 山梨じゃなくて「山梨県」だYO!
786 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:17:29 ] gosh> (assoc "山梨県" pref-alist) ("山梨県" . "甲府市") gosh>
787 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:25:50 ] 783さんはマッチしないキーがある場合の判定が抜けていることを指摘しているのでは?
788 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:28:45 ] ところで最初の(and alistは何のため?
789 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 19:30:07 ] 日本語がおかしかった 与えられたキーがマッチしなかった場合
790 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:15:06 ] >>787-789 漏れもandだけではnull?の代わりにならないような希ガス
791 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 23:36:44 ] 再帰の方がきれいに書けちゃうんだな
792 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 00:39:53 ] >>779 Lisp で良ければ defsystem とか asdf とか?Scheme にも多分似たようなものがありそう。
793 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 01:33:19 ] >>763 (define (assoc key alist) (and (pair? alist) (let loop ((ls alist)) (if (equal? key (caar ls)) (car ls) (loop (cdr ls))))))
794 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 01:38:15 ] >>793 >>788
795 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 02:28:53 ] >>794 andはリストを左から右へ評価して行って、偽が見つかると#fを返すから。 (cond ((null? alist) #f) ...) と書くよりは短く書ける。 (pair? alist)が偽だったら即座に#fを返しそこで終了する。
796 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 03:00:08 ] >>793 で(pair? alist)が評価されるのは最初の1回だけでしょ? alistのcdrをとっていってcdr部が空リストになった場合=keyがなかった場合の判定が欠けてる gosh> (assoc "山梨" pref-alist) *** ERROR: pair required, but got ()
797 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 04:14:14 ] >> 781 なるほど きみの言わんとする意味がだいたい見当がつきました きみはこう言いたいのでしょう Unspecific値はどこだ!
798 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 04:24:14 ] ;andを使った場合 (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))))))
799 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 08:52:13 ] >>781 内容ないって事ないんだけどな。 エラー状態とトップレベルの関係、さらにunspecified値の扱いは、 メタ・サーキューラな意味において、schemeが昔から弱かった部分。 MLなんかはもっとカッチリしてる。 SchemeはR6RSで少し前進したけれど、 やっぱりR?RS的な非形式的な意味論なんだな。
800 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 12:52:47 ] >>797 Unspecific 値なんて存在しない!
801 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 13:23:04 ] Lifting して Unspecific 値を、メタに扱える言語ってあったよな。
802 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 14:23:23 ] >>765 と>>798 で4つのassocが登場。 どれが一番早いんだろう? 教えて!判定方法を知ってるエロい人。
803 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 14:32:16 ] >>802 実測基本
804 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:15:18 ] >>802-803 メモリ使用量の少ないのはどれかも考えると面白いね。
805 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:17:31 ] >>803 ストップウォッチでは差が出ません。 どうやればいいでしょうか? 例えばGaucheではどうやるんでしょう?
806 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:24:28 ] 差が出ないなら、差が出る程度まで繰り返せばいいじゃないの。
807 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:40:00 ] Gaucheにはtimeがあるみたい
808 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 16:54:23 ] プロファイラ的なものって何がある?
809 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 17:07:24 ] gosh> (time (assoc "山梨県" pref-alist)) ;(time (assoc "山梨県" pref-alist)) ; real 0.000 ; user 0.000 ; sys 0.000 ("山梨県" . "甲府市") gosh>
810 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 17:38:00 ] シーケンシャルに検索してんのに 1番目のデータを計ってどーすんのw
811 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 17:40:45 ] gosh> (time (assoc "茨城県" pref-alist)) ;(time (assoc "茨城県" pref-alist)) ; real 0.000 ; user 0.000 ; sys 0.000 ("茨城県" . "水戸市") gosh>
812 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 17:41:59 ] O(n)なんだからnの数を増やしてみなきゃ
813 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 22:12:16 ] 1億個くらいは入れなきゃですよ
814 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 19:02:44 ] あれ?Kahua FreeBSDで動くようになった?
815 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 20:04:51 ] >>814 かなり前からなってるぞ。
816 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 18:53:25 ] ;(define (assoc key alist) ; (and (pair? alist) ; (pair? (car alist)) ; (or (and (equal? key (caar alist)) ; (cdar alist)) ; (assoc key (cdr alist))))
817 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 18:56:45 ] インデント思いっきり間違えたorz しかもずれてるしorz (cdar alist)は(equal?と同格ね
818 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 02:11:31 ] さらにどこか間違ってると思ったら (cdar alist)じゃなくて(car alist)だったorz cdarだったら連想リストじゃなくてデータだけを返す上に データが#fだった場合に次に進んでしまう
819 名前:デフォルトの名無しさん [2007/12/25(火) 16:59:43 ] キタ━━━━\(^λ^)/━━━━!! プログラミングGauche ・著者:川合史朗 監修 Kahuaプロジェクト 著 ・定価:3360円(本体3200円+税) ・B5変 464頁 ・ISBN 978-4-87311-348-7 ・発売日:2008/02 ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-87311-348-7
820 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 21:01:42 ] 2月かあ
821 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 23:22:54 ] Kahuaプロジェクトのメンバーがもしここを見てたら期待してるので頑張ってくださいね。 バグ取りと校正もしっかりお願いしますねw 必ず買いますYO!
822 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 23:34:01 ] その前に読んどきたい本があるからちょうどいいや
823 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 02:40:05 ] >>819 あれ? 延びたの? オライリーからのメールだと一月予定だったんだが。
824 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 22:44:18 ] 609で書いたzaurus-OpenBSDでGambit-Cのリーダがいかれてる理由が分かりました エンディアンネスの誤認でした 最初に疑ったのがエンディアンネスの問題でしたが リーダ以外に変な挙動をしなかったので見逃してました 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も) 利用者があまりいないので有用な情報でもありませんが 一応報告しときます
825 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:31:26 ] GaucheはさっさとWindowsに完全対応しろよ。何やってんだ。
826 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:54:40 ] Windows(笑)
827 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 05:08:21 ] Windows使ってねーから個人的にはどうでもいいけど。 必要ならScheme Artsに仕事として依頼するのがはやくて確実じゃないか。
828 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 07:30:30 ] Gaucheは早く1.0出して欲しいなー
829 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 08:59:40 ] バージョン番号なんてどうでも良くない?
830 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 13:01:03 ] 頭の尖った上司が気にするんですよお
831 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 15:57:04 ] 「まだ0.*だからうるさく言うなよ」
832 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 19:34:48 ] 非R6RSのschemeでファイルをランダムアクセスで読み込む場合は 処理系依存のfile-position相当の関数を呼ぶのと 遅延評価の無限ストリームを作るのと どっちが一般的ですか? R6RSになればset-port-position!が使えるみたいですけど
833 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 19:39:17 ] R6RSより、.NETに対応してほしい。
834 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 22:14:34 ] 現在R6RSをサポートしてる処理系ってLarcenyだけですか? 大御所どころも軒並みR6RSを実装する予定もないみたいですし どうなっちゃうんでしょうね
835 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 22:57:26 ] みんなこっそりやってるんですよ
836 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 01:48:42 ] www.cs.indiana.edu/~aghuloum/ikarus/ は、いまR6RSに9割準拠らしい。
837 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 12:42:16 ] ちゅーかみんな対応する気無いなら、策定すんなって感じだな。
838 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:44:48 ] 向かい側ではC99とかね
839 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 23:32:51 ] >>837 R6RSの投票のとき処理系の作成者のほとんどが反対だったのに、数の暴力で押し切られたって事実を知ってる?
840 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:10:27 ] 嫌なら処理系の作成者で別の標準を作ればよいのでは?
841 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:12:35 ] いまさら変な標準なんか作らなくていいから、.net frameworkに対応しろよ。
842 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:35:01 ] >>839 反対した人はどんな人が居るの? shiro さんは反対に投票した様に記憶しているけど
843 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:05:09 ] >>840 「嫌なら対応しなけりゃいい」だろ。 で、実際にみんなそうやってる。めでたしめでたしだ。
844 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:15:07 ] >>842 調べてみた。 票:投票内容(○:賛成、×:反対、−:未投票) 実: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) − ×
845 名前:844 mailto:sage [2007/12/31(月) 01:21:15 ] ミスった。 Kawaの人、反対票じゃなくて未投票
846 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 01:26:24 ] >>844-845 大感謝! 一応 Gauche は R6RS も気にしつつ行くみたいですね lists.sourceforge.jp/mailman/archives/gauche-devel-jp/2007-July/001744.html