トップページ⇒tech
1001コメント302KB

Lisp Scheme Part27

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/07/27(月) 10:15:31
※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※

■過去スレ
 Part26: ttp://pc12.2ch.net/test/read.cgi/tech/1240567959/
 Part25: ttp://pc12.2ch.net/test/read.cgi/tech/1231856193/
 Part24: ttp://pc11.2ch.net/test/read.cgi/tech/1224939205/
 Part23: ttp://pc11.2ch.net/test/read.cgi/tech/1215875388/
 Part22: ttp://pc11.2ch.net/test/read.cgi/tech/1211381920/
 Part21: ttp://pc11.2ch.net/test/read.cgi/tech/1207300697/
 Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/
 Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
 Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/
 Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
 Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
 Part15: ttp://pc11.2ch.net/test/read.cgi/tech/1151025773/
 Part14: ttp://pc11.2ch.net/test/read.cgi/tech/1132275726/
 Part13: ttp://pc11.2ch.net/test/read.cgi/tech/1115901841/
 Part12: ttp://pc11.2ch.net/test/read.cgi/tech/1100229366/
 Part11: ttp://pc11.2ch.net/test/read.cgi/tech/1091456033/
 Part10: ttp://pc11.2ch.net/test/read.cgi/tech/1075630259/
 Part09: ttp://pc11.2ch.net/test/read.cgi/tech/1069594582/
 Part08: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
 Part07: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
 Part06: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
 Part05: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
 Part04: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
 Part03: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
 Part02: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
 Part01: ttp://piza2.2ch.net/tech/kako/987/987169286.html

■テンプレート置き場
 ttp://wiki.fdiary.net/lisp/ (id:guest pass:cl)
0313デフォルトの名無しさん2009/08/09(日) 19:26:11
>>311は「馬鹿な味方」の好例だな。
0314デフォルトの名無しさん2009/08/09(日) 19:30:58
>>311
shoro さんの意見を聞いてみたいですね
0315デフォルトの名無しさん2009/08/09(日) 19:31:40
>>314
本質でないところでこういう揚げ足をとる馬鹿
0316デフォルトの名無しさん2009/08/09(日) 19:32:26
>>315
スルーできない馬鹿
0317デフォルトの名無しさん2009/08/09(日) 19:33:18
>>312
最初から理解できるようなレベルの人以外は
味方になって欲しくないということでしょう
彼等の目標を踏まえればそれ程のフィルターが必要であることは
容易に想像できます。
0318デフォルトの名無しさん2009/08/09(日) 19:33:39
>>316
オマエモナー
0319デフォルトの名無しさん2009/08/09(日) 19:40:21
やっぱlispスレはこうでないとな
0320デフォルトの名無しさん2009/08/09(日) 19:48:17
言語知識ゼロでも構わない感じの空気になると
水を得た魚のように活発になる人が多いのは、
Lispスレでも他のほげ言語スレでも同じ。
0321デフォルトの名無しさん2009/08/09(日) 19:54:01
自転車置き場がうんたらかんたらだっけか?
0322デフォルトの名無しさん2009/08/09(日) 19:56:13
>>313
というその一文が、根拠が薄く、結論の語気だけが上がってる悲惨な人種の
典型的な産物ですね。
0323デフォルトの名無しさん2009/08/09(日) 20:03:15
>>322
必死だな
0324デフォルトの名無しさん2009/08/09(日) 21:13:07
えらい加速してると思ったら・・

>>255
SICPの日本語訳、2章まで読めるとこあるよ
sicp tmuでぐぐれば今3番手に出る
原著読んでて翻訳つらいなって思った練習問題なんかは
この訳でもスキップされてたりするけど、
訳はわかりやすいので参考になれば
0325デフォルトの名無しさん2009/08/09(日) 23:31:44
論争読んだけど、ようするに
R5RSの仕様だと解釈の仕方によってはマクロ作るときに問題があるが、
別の解釈の仕方では問題ないし、問題ないように実装することもできる
しかも、R6RSでは問題ない
ってことだろ
結局Schemeに対する言いがかりに感じた
0326デフォルトの名無しさん2009/08/10(月) 06:29:45
>>325
んで、さらに Schemer の内部では、 R6RS には思想がないとか
syntax-case ごちゃごちゃし過ぎ、 Explicit Renaming とか Syntactic Closures 忘れるな
っていう内ゲバが起こるんですね、わかります

と煽ってみる
0327デフォルトの名無しさん2009/08/10(月) 06:55:03
>>158
スレが別方向に行っちゃってるけど、
Common Lisp / Java 版の SHRDLU っていうのがあるみたい
ttp://www.semaphorecorp.com/misc/shrdlu.html
PLANNER は CONNIVER と共に Scheme の源流みたいな言語だね(英語版 Wikipedia 参照)
03281582009/08/10(月) 09:24:57
>>327
ありがとう。
早速、試してみるよ。
0329デフォルトの名無しさん2009/08/10(月) 18:46:49
Connniverってなんて読むの?
0330デフォルトの名無しさん2009/08/10(月) 19:51:56
こんにぼぁー
0331デフォルトの名無しさん2009/08/10(月) 22:59:47
SHRDLUをGCLで動かそうとしたところたくさんあるファイルのうちの
DICTIOというファイルでエラー。単語や意味を教えるファイルらしい。
エラーになるのは
(DEFS \#DIRECTION
FEXPR (LAMBDA (A B) NIL)
NOGOAL T)
という関数。

これをコメントアウトすれば一応動作開始する。でも何を聞いても
「Sorry I don't know.」ばかり。
辞書が不完全だからかな。
0332デフォルトの名無しさん2009/08/11(火) 00:16:47
common lispとschemを並行して勉強するのってこんがらがってやめたほうがいい?
0333デフォルトの名無しさん2009/08/11(火) 00:49:23
やめとけやめとけ
0334デフォルトの名無しさん2009/08/11(火) 00:51:48
>>333
ありがとうございます。じゃあschmeから先に勉強します(^_^)
0335デフォルトの名無しさん2009/08/11(火) 01:57:11
schemもschmeもやめて
common lispにしておけ
0336デフォルトの名無しさん2009/08/11(火) 02:14:42
黒板に書いて遊ぶならSchemeやschmeやschem、ソフトウェアを作るならCommon Lisp。
0337デフォルトの名無しさん2009/08/11(火) 02:51:07
CommonLispで最近出てきた何か面白い処理系ある?
0338デフォルトの名無しさん2009/08/11(火) 04:35:58
ないからクソだね!schemeがいいよ!
0339デフォルトの名無しさん2009/08/11(火) 05:35:06
schemeとschmeとschemではどれがいいんだ?
0340デフォルトの名無しさん2009/08/11(火) 05:36:03
夏休みだなあ
0341デフォルトの名無しさん2009/08/11(火) 06:04:49
みなさん処理系は何をお使いですか?
わたしはGaucheを使っています。
Little Schemerで勉強中
0342デフォルトの名無しさん2009/08/11(火) 06:16:48
GaucheとかPLTとか。
IA-32のSolarisに対応してたらLarceny使うのに。

あとは、IkarusとYpsilonとMosh検討中。
R6RS対応したライブラリが少ないのがネック。
識別子の最初に@使えないからSXMLとかでも問題あるし。
0343デフォルトの名無しさん2009/08/11(火) 06:30:06
Schemeでネイティブコードまでコンパイルするのってstalinだけ?
0344デフォルトの名無しさん2009/08/11(火) 06:39:29
BiglooとかCHICKENとかいろいろ
0345デフォルトの名無しさん2009/08/11(火) 07:40:35
>>343
中間言語としてのC経由なら、Stalin、Bigloo、Chicken、Gambitとか。
直接ネイティブコード吐くのはLarceny、Ikarusとか。
JITでネイティブコードにコンパイルするのはPLT。Ypsilonも開発中。
バイトコードにコンパイルして実行するのはGauche、Mosh、Guileとか。
0346デフォルトの名無しさん2009/08/11(火) 08:42:48
>>345
ありがと
SBCLの様な感じのはIkarusだけみたいだね、試したらめちゃ高速
だけどなぜにバージョンがこんなに小さいんだろう?

0347デフォルトの名無しさん2009/08/11(火) 08:49:46
最適化で評判が高いのがStalin
Chicken は ttp://home.pipeline.com/~hbaker1/CheneyMTA.html この論文が
提唱した方式を実装したという特徴がある
0348デフォルトの名無しさん2009/08/11(火) 11:59:26
stalin はマクロがなぁ…。
だいたい Scheme でむやみに速度を目指したって仕方がないじゃないかって気がする。
速いにこしたことはないし、そういう選択でやってみたってのは価値があるけど、
Scheme で数値計算をバリバリやるって場面はそんなにない。
0349デフォルトの名無しさん2009/08/11(火) 12:17:25
お前に言われる筋合いもないw
0350デフォルトの名無しさん2009/08/11(火) 12:58:55
Schemeの「速さ」に釣られるのは、C/C++がキライな奴だけだ
0351デフォルトの名無しさん2009/08/11(火) 13:18:50
ちょっとした思いつきなんだが、
(let ((x 1))
(outer-scope
(let ((x 2))
(inner-scope x))))
このときに 1 を返す、つまり inner-scope の内側では outer-scope の外側の束縛を参照
するようなマクロ outer-scope inner-scope を定義してみた。
(define-syntax outer-scope
(lambda(x)
(syntax-case x ()
((k body ...)
(with-syntax
((inner-scope (datum->syntax #'k 'inner-scope))
(k (syntax k)))
#'(let-syntax
((inner-scope
(lambda(x) (syntax-case x ()
((j b (... ...))
#`(begin
#,@(datum->syntax #'k
(syntax->datum #'(b (... ...))))))))))
body ...))))))
未だに datum->syntax の第一引数の意味がよくわからん。
規格には
> (datum->syntax template-id datum)
> template-id はテンプレート識別子であり、datum はデータ値でなければならない。
> この手続きは template-id と同一の文脈情報をもつ datum の構文オブジェクト表現を返す。
> このとき、この構文オブジェクトは template-id が挿入されたのと同時にコードに挿入されたかのようにあつかわれる。
って書いたるんだが、文脈情報って何だ?
自分の中ではスコープだと思って使ってて、だいたい期待する挙動になるみたいなんだが、その理解でいいの?
もうちょっとわかりやすい説明があれば助かる。
拙者は日本人なので英語の文献とか紹介しようとしないで頂ければ助かるでゴザルよ。
0352デフォルトの名無しさん2009/08/11(火) 13:37:29
難しい話題は WiLiKi の方でやれよ
0353デフォルトの名無しさん2009/08/11(火) 13:51:09
これから一週間、
>>351にはdatum->syntaxと一緒に過ごしてもらう!
datum->syntax「えー」
0354デフォルトの名無しさん2009/08/11(火) 15:04:23
>>351
ビューティフルコードの25章はどうだろう
0355デフォルトの名無しさん2009/08/11(火) 16:41:42
maximaで数式計算してtrsanslateでlispとして吐き出して
lispのコードを少し書き換えてstalinで高速実行
0356デフォルトの名無しさん2009/08/11(火) 17:21:44
>>332
SchemeとCommonLispは並行して勉強すると混乱するから
どっちか一方を先にやった方がいいと思うよ。
高階関数の扱いがすっきりしているSchemeの方が理論的
なので萩谷先生の「関数プログラミング」の問題をSchemeで解く
ってのはどう。
0357デフォルトの名無しさん2009/08/11(火) 18:36:38
> SchemeとCommonLispは並行して勉強すると混乱するから
なんで???
俺は、全然平気だったけど
0358デフォルトの名無しさん2009/08/11(火) 18:40:17
並行して勉強するメリットは?
0359デフォルトの名無しさん2009/08/11(火) 18:52:17
>>358
特にないけど、不自由もしなかった
強いて上げるなら、CL はネィティブに落す処理系が多いので
処理系をどう作るかって意味ではとても勉強になった
0360デフォルトの名無しさん2009/08/11(火) 18:59:34
並行するのもそうでないのも一長一短ある。
混乱すると言うが、最初から両方の違いを認識しながらの方が混乱しにくいという見方もある。
それにひとつしか知らないというのは大抵の場合はそのひとつさえ知ってない。
概念が生じるのは「そうでないもの」と区別するからであって、
自然に身につけたものは意外に理解できてなかったりする。
結局のところ、本人の資質にもよるから、意見を聞いたところでムダだよ。
やりたいようにやればいい。
0361デフォルトの名無しさん2009/08/11(火) 19:02:09
黒板に書いて遊ぶならCommon LISP。ソフトウェアを作るならマクロアセンブラ。
0362デフォルトの名無しさん2009/08/11(火) 19:25:07
webアプリ書くなら継続のあるSchemeの方がcommon lispより便利だったりするんでしょうか
0363デフォルトの名無しさん2009/08/11(火) 19:31:06
「Scheme の第一級継続」と「継続渡しスタイル」で言う継続は同じものじゃないよ。
まぁ、違うものとも言えないんだけど、直接的に便利ということはない。
0364デフォルトの名無しさん2009/08/12(水) 00:13:10
>>346
リリースエンジニアリングが終わってるから。

> 2008-12-26: Release 0.0.4 almost final

↑はLaunchpadにあるアナウンスメントだ。
しかし現状での最新の安定版は0.0.3。後は分かるな?

というのは半分冗談だけど、まだ新しい処理系だから、
先端追っかけた方が楽しいというのはある。
03653512009/08/12(水) 00:46:31
色々と考えたけど、
α変換のルールに干渉するってことかなぁ…
と思った。
0366デフォルトの名無しさん2009/08/12(水) 02:27:20
ちょっと質問。
http://practical-scheme.net/wiliki/schemexref.cgi?eval
のように、scmだけevalの第二引数を取らないのは何故?
0367デフォルトの名無しさん2009/08/12(水) 06:11:00
PLT Scheme の Scribble って使ってる人いる?
よさげに見えるんだけどドキュメントがしっかりしすぎてて読むのがめどい
0368デフォルトの名無しさん2009/08/12(水) 10:24:14
今朝ネットサーフィンしていてふと思ったんだけど、
Lisp系言語のキラーアプリって何だと思う?
Ruby だったら Railsだけど、Lispについて考えてみたら
思い浮かばなかったから意見を聞きたいです。
0369デフォルトの名無しさん2009/08/12(水) 10:37:28
>>368
Emacs。
0370デフォルトの名無しさん2009/08/12(水) 11:01:52
Emacs lisp is not Lisp.
0371デフォルトの名無しさん2009/08/12(水) 11:25:38
>>368
paul graham
0372デフォルトの名無しさん2009/08/12(水) 11:30:29
>>369
まあLispの亜種としてはEmacsがはってんしてるなぁ
>>371
Lispの真実
http://www.aoky.net/articles/leon_bambrick/lisp_truth.htm
思い出した
「Paul Graham自身もLispで書かれています。」
0373デフォルトの名無しさん2009/08/12(水) 12:25:04
>>366
複雑な名前空間を持ってるわけじゃないし、
そんなの出来てもしかたないだろう。
0374デフォルトの名無しさん2009/08/12(水) 12:54:54
>>368
Lisp系は無理に大衆化しなくてもいいんじゃない。
悟りを得ようとする人のための孤高の言語。
...というのは半分冗談だけど。
Lispがお金になる状況を作らんと黒田さんに言われちゃうよね。
「Javaで稼いで趣味でSchemeやってるのってどうよ」って。
0375デフォルトの名無しさん2009/08/12(水) 15:50:51
maxima超便利
0376デフォルトの名無しさん2009/08/12(水) 17:01:55
>>374
その昔、Winで稼いでMacにつぎ込むと雑誌に書いて炎上した人がいたのを思い出したぜ

Lispが取っつきにくいのってLispコミュニティーが俺様モード発動しちゃうのと、商用処理系がどうしてもランタイムライセンス必要なところにあるんじゃないの?
組み込み系のLispで成功したのは全部独自実装ばっかりだってのもその影響じゃないのかな?
0377デフォルトの名無しさん2009/08/12(水) 17:22:11
そうだよ
だからみんな俺LISPを作り、それぞれの目指す頂に登ろうとしている
0378デフォルトの名無しさん2009/08/12(水) 17:32:09
バベルの塔崩壊後みたいな状況だな
0379デフォルトの名無しさん2009/08/12(水) 18:04:43
>>373
ダミーでもいいから引数取れよ!ポータビリティが下がるじゃないか!
てことでは?
ファーストクラスの環境を持たない処理系でもシンボルを受け付ける物もありますしね
0380デフォルトの名無しさん2009/08/12(水) 20:01:33
>>368
LISPって40年前からあるんだぜ ?
0381デフォルトの名無しさん2009/08/12(水) 20:20:32
なんでもええけど、Lisp で飯食える環境を作りたいとは思いませんか?
0382デフォルトの名無しさん2009/08/12(水) 20:36:40
そういう話を人に振る奴は他人にやらせてそれにのっかることしか考えてない
0383デフォルトの名無しさん2009/08/12(水) 20:44:07
キラーアプリは、やっぱり >>372 の云う通り、『Paul Graham』じゃないか
0384デフォルトの名無しさん2009/08/12(水) 20:46:23
>>382
なことはないんだよな
個人の範囲で取れる仕事は極力 lisp 系で取ってくるようにしてるし,
実際に, 仕事の 1/3 位は lisp で納品してる.
でも, メンテがどうとかって話になると受注競争にマジで弱い.
0385デフォルトの名無しさん2009/08/12(水) 20:57:56
一瞬、メンテが
メガンテに見えた
0386デフォルトの名無しさん2009/08/12(水) 21:35:58
自分が爆発してまわりにもダメージあたえまくり。
まさにメガンテ
0387デフォルトの名無しさん2009/08/12(水) 22:12:49
メンテが・・・
↓
後進を育てればいい
↓
会社にしてしまえばいい

って事?384が言いたいのは。
0388デフォルトの名無しさん2009/08/12(水) 22:48:43
> 会社にしてしまえばいい

まぁ, それもあるんだが, 現実問題, 1社だけだと致命的に弱いのよ

特定の会社だけに頼りきる状態になると, そこつぶれた場合どうする?
とか考えるだろ, 普通は.

そうゆう意味では, いろんなところが lisp 系で受注取ってくれると
嬉しいかなと………
0389デフォルトの名無しさん2009/08/12(水) 22:55:03
協会とか連合とかそんな感じにならないと駄目なのかな。
0390デフォルトの名無しさん2009/08/12(水) 22:58:49
Lispといったらこれ!っていう処理系ってなんだろうか?
0391デフォルトの名無しさん2009/08/12(水) 23:09:02
>>389
どんな形を取るかは別として,
「lisp 系でやってるのは, 他にも結構あるんで安心できますよ」
ってな事が言いやすい環境がほしいのはたしか
0392デフォルトの名無しさん2009/08/12(水) 23:15:24
>>388
1社だろうが10社だろうが関係ない
「下請け」だから致命的に弱い
0393デフォルトの名無しさん2009/08/12(水) 23:21:30
なるほど、
「まずは自分で仕事作れるようになれ話はそれからだ」
…と
0394ひげぽん ◆Ngzcp/NZpA 2009/08/12(水) 23:59:49
Mosh 0.2.0 リリース時にみなさんにご指摘いただいた点を修正しました。

http://www.monaos.org/tmp/mosh-0.2.1-setup-win32.exe

修正した点は
・Windows 上 Emacs において run-scheme でエラーがとれない件(Meadow3 で確認)
・Windows 2000 で freeaddrinfo エラー(対応したつもりですが検証環境がなく直っているか確認できず)
・REPL のスペースを他の処理系にあわせる
・Windows でも Ctrl-c で REPL 終了
・Windows で mosh -V の結果がおかしい
・Windows で mosh -t のテストが FFI 関係でエラーになる
・configure で Gauche チェックやめる
・shebang に '-' が含まれるとエラーになる
・Windows では loadpath の区切り文字を : ではなく ; にする

もし特に問題が見つからなければ 0.2.1 としてリリースしようと思っています。
フィードバックをいただけると大変助かります。

>>368
キラーアプリといって思いつくのは、ポールグレアムが書いた Yahoo!Store 。
でもだいぶ前だし、他の言語で書き直されてしまったので最近ではないですが。

キラーアプリや、キラーアプリが出てくるような環境を作りたいとは思いますね。
0395デフォルトの名無しさん2009/08/13(木) 00:16:24
そう、とにかく必要なのはアプリなんだよ。
Lispが良い絵の具だと言うのなら、それで素晴しい絵を描かなきゃ。
がんばろうぜ。
0396デフォルトの名無しさん2009/08/13(木) 00:30:22
>>394
乙。

gaucheでRails作ってる人いたよね。>キラーアプリ
0397デフォルトの名無しさん2009/08/13(木) 00:40:25
>>396
コンセプトをそのままよそから持ち込むのは Lisp でやることじゃないさ。
あんなのは余興だよ。 キラーと言えるものじゃない。
0398デフォルトの名無しさん2009/08/13(木) 00:44:22
>>394
windows2000で問題なく起動したよ
0399デフォルトの名無しさん2009/08/13(木) 02:12:00
いろいろアプリ作るのは良いんだけど、それを発表したり使ってもらおうとする時って
みんなどうしてるの?
一行のコードからそれこそキラーアプリまでカバーするような、ローチンのハブサイトって無いのかな?
無いならマジで作ろうかな。
0400デフォルトの名無しさん2009/08/13(木) 02:33:54
発表(笑)
0401デフォルトの名無しさん2009/08/13(木) 03:22:40
発狂()
0402デフォルトの名無しさん2009/08/13(木) 04:15:26
ポールグレアムも画家だから、良い絵の具を見極める目は持っているのだろう。
その答えのひとつがCommon Lispだ。Shcemeではない。
0403デフォルトの名無しさん2009/08/13(木) 04:19:39
でもarcの最初の実装は・・
0404デフォルトの名無しさん2009/08/13(木) 04:45:27
マクロが書きにくい、あとは名前空間さえ解決できれば、
ライブラリも仕様を規格化されているなら、
黒田氏の批判はあたらないんじゃない?

後は、好みで、PL/Iが好きならCommon Lisp、Argolが好きならSchemeかな。
0405デフォルトの名無しさん2009/08/13(木) 06:39:54
>>394

STDERRの出力の件、うまく表示されていました。
Meadow、xyzzy、Chezedit-Ntで試しました。

Ctrl+cの件:
>具体的にイメージされているものはありますでしょうか?
petite chez Scheme の動作をイメージしていました。
REPLで計算実行中にCtrl+cで中断し、プロンプトが break> となります。
例えば、(tak 18 9 0) とすると計算が当分、終わりそうもないので
Ctrl+Cで無理やり終わらせるような場合です。

Meadowだと処理系が強制終了しました。
xyzzy,ChezEdit-NTでは Ctrl+C は効いていないようです。
0406デフォルトの名無しさん2009/08/13(木) 06:43:36
>>404
君の批判も当たっているとは思えないけど
0407デフォルトの名無しさん2009/08/13(木) 06:44:28
arcっていいものなの?
0408デフォルトの名無しさん2009/08/13(木) 06:57:20
http://jfk.2ch.net/arc/
0409デフォルトの名無しさん2009/08/13(木) 18:41:18
>>404
Fortranが好きならCommon Lisp、Pascalが好きならScheme
0410デフォルトの名無しさん2009/08/13(木) 19:50:34
どっちも嫌いな人は?
0411デフォルトの名無しさん2009/08/13(木) 19:51:26
プログラマを辞めたほうがいい
0412デフォルトの名無しさん2009/08/13(木) 19:53:42
Haskellやろうぜ
■ このスレッドは過去ログ倉庫に格納されています