Lisp Scheme Part30
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001a36 ◆K0BqlCB3.k
2010/04/10(土) 20:09:36■前スレ
Lisp Scheme Part29
http://pc12.2ch.net/test/read.cgi/tech/1263302079/
■テンプレ
http://wiki.fdiary.net/lisp/
0002デフォルトの名無しさん
2010/04/10(土) 21:01:350003デフォルトの名無しさん
2010/04/10(土) 21:17:49ttp://pc12.2ch.net/test/read.cgi/tech/1270370267/
0004デフォルトの名無しさん
2010/04/10(土) 22:37:09乙です
0005デフォルトの名無しさん
2010/04/11(日) 00:23:06いっそのことゼロでも目指そうぜ))))))))
0006デフォルトの名無しさん
2010/04/11(日) 00:56:580007デフォルトの名無しさん
2010/04/11(日) 00:58:59Javascript、Luaは外せないな
0008デフォルトの名無しさん
2010/04/11(日) 01:15:360009デフォルトの名無しさん
2010/04/11(日) 02:01:050010デフォルトの名無しさん
2010/04/11(日) 02:57:04(sym-macro foo 1 2 3)
(+ foo) => (+ 1 2 3) => 6
と展開されるような
(define foo '(1 2 3))
(apply + foo)
だと不便じゃないですか
何か意味論的に問題ってありますか?
0011デフォルトの名無しさん
2010/04/11(日) 03:54:51それってトップレベルで
foo
ってしたらどういう意味になるの?
似たようなことは CL なら symbol-macrolet で
R6RS Scheme なら identifier-syntax でできるけど
foo の展開結果は単一の式にならないといけないから
(symbol-macrolet ((foo (+ 1 2 3)) ...) みたいなことしかできない
0012デフォルトの名無しさん
2010/04/11(日) 04:27:261 2 3がそれぞれ評価されるべきじゃないでしょうか。
意味論的には実装上のトリックというだけで、
fooが単一式である必要はないですよね?
多値みたいな特別なコンテナとして持っとけばいいんじゃないでしょうか。
引数も持たせて、
(sym-macro (foo n) `(define a ,n) `(define b ,(+ n 1)) `(define c ,(+ n 2)))
(foo 1)で(define a 1) (define b 2) (define c 3)
が定義できたりしてbeginも不要になったり自由度が増えるんじゃないかな。
0013デフォルトの名無しさん
2010/04/11(日) 04:36:50(if #t (foo 1))としたら期待する展開にならない。
(if #t (begin (foo 1)))か
イメージ的にはC言語のプリプロセッサに近いかな。
0014デフォルトの名無しさん
2010/04/11(日) 09:49:49意味論的には、1 2 3 はS式ではないので
S式だけでなんでもできるという主張を撤回するか、S式の定義を変える必要がある
0015デフォルトの名無しさん
2010/04/11(日) 09:50:040016デフォルトの名無しさん
2010/04/11(日) 12:05:05stalin は良くできてる
時々つかう
しかし本にするほどノウハウは必要ない
Readmeで十分
0017デフォルトの名無しさん
2010/04/11(日) 12:09:28本を出したらというのは冗談だよ。
stalin という名前で誤解して購入する人が
いるかもしれないねっていうジョーク。
0018デフォルトの名無しさん
2010/04/11(日) 17:27:59definition 位置の begin だけでなく、任意の式を splice できるという感じなのかな
聞いた感じでは大丈夫そうに思うので試しに実装してみて
0019デフォルトの名無しさん
2010/04/11(日) 17:47:22SICPを読んでいるのですが、以下のコードの違いがよく分からなくなってしまいました。
ttp://codepad.org/z1f1gUpv
`make-withdraw'の挙動はまあ理解できるのですが、
どうして`new-withdraw'の方は呼び出す度にbalanceの値が変わっていくのでしょうか。
let式で100に値を束縛していますが、その処理が一度しか行われないのが何故か分からないのです。
0020デフォルトの名無しさん
2010/04/11(日) 17:57:15そのletはnew-withdrawが返してる値であるlambdaより外にあるから。
0021デフォルトの名無しさん
2010/04/12(月) 04:01:40letをlambdaに直し、間にdisplayをはさむ等してようやく理解できたような気がします。
(define func body)と(define (func) body)の違いが分かって無かったのが原因でした。
0022デフォルトの名無しさん
2010/04/12(月) 23:20:59常に被参照リストを意識しての置き換えが必要ですな
トップレベルは(begin〜)で代用
0023デフォルトの名無しさん
2010/04/13(火) 13:01:25を本格的に使ってる人いますか?
0024デフォルトの名無しさん
2010/04/14(水) 17:43:02/ \ /\ キリッ
. / (ー) (ー)\ <「美しいということと、実用的価値が常に一致しているとは限らん」
/ ⌒(__人__)⌒ \
| |r┬-| |
\ `ー’´ /
ノ \
/´ ヽ
| l \
ヽ -一””””~~``’ー?、 -一”””’ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <だっておwww
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / //
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー’´ ヽ / /
| | l||l 从人 l||l l||l 从人 l||l バンバン
ヽ -一””””~~``’ー?、 -一”””’ー-、
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0025デフォルトの名無しさん
2010/04/15(木) 11:29:30ABCL
clojure
どっち?
clojureはclと互換にできるマクロがあるとかどっかで見た気がするけど
0026デフォルトの名無しさん
2010/04/15(木) 12:04:38ABCLとclojureの比較
0027デフォルトの名無しさん
2010/04/15(木) 18:30:15lispじゃ無理ってことですか
0028デフォルトの名無しさん
2010/04/15(木) 22:15:02誰にでも好きなように言語を作る自由があるから。
0029デフォルトの名無しさん
2010/04/17(土) 07:57:23殺せ殺せ全てを殺せ
S SHIKIせよS SHIKIせよ
S SHIKIせよS SHIKIせよ
0030デフォルトの名無しさん
2010/04/17(土) 23:27:260031デフォルトの名無しさん
2010/04/17(土) 23:36:230032デフォルトの名無しさん
2010/04/17(土) 23:48:49三国志とかは好きなのに、今の中華は好きになれない
なんでだろう
でも坦々麺好きです
0033デフォルトの名無しさん
2010/04/17(土) 23:50:32この二つは好きすぎる。
0034デフォルトの名無しさん
2010/04/18(日) 11:12:220035デフォルトの名無しさん
2010/04/19(月) 16:08:27本は買ったけの人です。同じくエロい人の登場希望しますです。
0036デフォルトの名無しさん
2010/04/19(月) 16:30:17俺がエロい人だ!ってやつはいないの?
どうなの!
0037デフォルトの名無しさん
2010/04/19(月) 23:31:540038デフォルトの名無しさん
2010/04/20(火) 14:27:35LispのマクロとCのインライン関数は一体どういう点で違いがあるのでしょうか?
0039デフォルトの名無しさん
2010/04/20(火) 17:20:50ここは「C/C++のマクロ」と読むべきなのかな、「C++のインライン関数」と読むべきなのかな。
Lispのマクロは、引数を評価せず受け取って、マクロ内に記述されたLispコードとしての処理を行ったあと
呼び出し元を戻り値で置き換えるので、
まぁイメージ的には、C/C++のマクロとC++のインライン関数を合体させたような感じかなぁ。
0040デフォルトの名無しさん
2010/04/20(火) 17:22:220041デフォルトの名無しさん
2010/04/20(火) 20:16:000042デフォルトの名無しさん
2010/04/20(火) 22:56:02Lispのマクロは、大雑把に言えば、マクロボディを二回評価する。
一度目の評価で生成されたプログラムをもう一度評価する。
だからマクロでのプログラム生成に、Lispの機能をほぼ全て使える。
Lispのマクロに比べれば、Cのマクロもインライン関数も
出来ることは極めて限られている。
0043デフォルトの名無しさん
2010/04/21(水) 01:02:04lispはCだけで十分ってことなのか
0044デフォルトの名無しさん
2010/04/21(水) 01:08:46インターフェイスの充実に主眼を置いた Lisp も世の中にはひとつくらいあるに違いない。
0045デフォルトの名無しさん
2010/04/21(水) 01:17:35Lispのマクロは、コンパイル時に処理を行った結果で式を置き換える。
最終的にS式を返せば、コンパイル時にどんな処理をしても自由なので、
柔軟性が非常に高い。
インライン関数は、コンパイル時に関数をただ展開するだけなので、
Lispのマクロの用途の一部分しかカバーできない。
Schemeの場合、Lispのマクロに相当するのはsyntax-case。
パターンマッチで式を置換するsyntax-rulesは、Cのマクロに割と近い。
0046デフォルトの名無しさん
2010/04/21(水) 03:42:39Clozure CL には Objective-C へのインターフェイスがあるよ
JVM 上の Lisp なら Java のライブラリを呼び出せるでしょ
それで十分ジャマイカ
0047デフォルトの名無しさん
2010/04/21(水) 05:58:280048デフォルトの名無しさん
2010/04/21(水) 07:36:33自分自身のシンタックスをパースするにも大仕事とか考えられん。もう括弧だけで良いじゃん。
いいかげん言語作者のエゴにつきあってられんよ。もういい加減疲れた...
あんたらエゴイストが表紙で腕組みして格好付けるもんだから、
それに騙された馬鹿が、こっちに begin ... end なんて無駄な糞を書かす事を強要するんだよ。
何がマクロ(括弧)の無いLispだよ...そんなPとかRみたいなビッチ言語なんて言語ファッカーに消費されてさっさと消えてくれ。
... ゴメン、オナニーしてくるわ...
0049デフォルトの名無しさん
2010/04/21(水) 09:43:16あとは誰かが大規模なプロジェクトで使ってくれて安心感があれば
0050デフォルトの名無しさん
2010/04/21(水) 09:46:12いいのがあれば俺もあれなのに
エクスキューズですね。
0051デフォルトの名無しさん
2010/04/21(水) 10:51:45おま、あれば、じゃないだろ!
おまえがやれ!
0052デフォルトの名無しさん
2010/04/21(水) 14:17:44Qi IIは本買うと商用ライセンスってQi IのGPLのときはどんな状況だったんだろう
clojureも処理系をjavaからclojure自身に書き換えるつもりらしいが何年後かな
0053デフォルトの名無しさん
2010/04/21(水) 14:42:470054デフォルトの名無しさん
2010/04/21(水) 14:45:590055デフォルトの名無しさん
2010/04/21(水) 15:30:070056デフォルトの名無しさん
2010/04/21(水) 15:55:48興味ないからやらないだけで
0057デフォルトの名無しさん
2010/04/21(水) 19:38:00JavaScript はどうよ。これこそ、マクロ(括弧)の無いLispじゃね?
0058デフォルトの名無しさん
2010/04/21(水) 20:00:350059デフォルトの名無しさん
2010/04/21(水) 20:57:080060デフォルトの名無しさん
2010/04/21(水) 21:08:200061デフォルトの名無しさん
2010/04/21(水) 21:09:410062デフォルトの名無しさん
2010/04/21(水) 22:19:31割と構文みたいなモノが存在しているのは何なのさー。
と、Schemeをかじった時に大変疑問でした。
else とか define とかの特別扱いと来たら、もう。
幻想を抱きすぎたのかもしれない…。
CLだと違うのかな?
というかそもそもプログラムがデータって具体的にどういうこと?
まさか、関数がオブジェクトだ、ってだけじゃないよね。
(健全じゃない)普通のマクロもリードマクロも一応理解しているつもりだけど…。
0063デフォルトの名無しさん
2010/04/21(水) 22:20:52君は意味論と構文の区別を付けられてない。
もっと勉強しなさい。SICPでも読んで。
0064デフォルトの名無しさん
2010/04/21(水) 22:28:15プログラムは S 式 => S 式はリスト => リストはデータ
リストを扱うのと同じ方法でプログラムを操作出来るから
プログラムがデータ
0065デフォルトの名無しさん
2010/04/21(水) 23:54:52Schemeのソースコードを開いて、readすると意味が分かる。
あとはcarでもcdrでも煮るなり焼くなり好きなように。
実用的な例だと、GaucheのSXMLとかCiSEを見ると良い。
SXMLはオリジナルのコードをGauche用に変換しているし、
CiSEはS式のプログラムをCに変換する。
共にSchemeプログラムをデータとして扱ってる例。
SXMLのオリジナルコードを変換するコード
ttp://gauche.svn.sourceforge.net/viewvc/gauche/Gauche/trunk/ext/sxml/trans.scm?revision=7065&view=markup
“本物のマクロ”でCのコード行数を半分に!
ttp://www.atmarkit.co.jp/news/200909/07/lltv02.html
0066デフォルトの名無しさん
2010/04/22(木) 00:05:14というか、そもそもマクロ理解してるってのにそりゃないでしょー。
あれぞまさに、プログラムがデータだからこそ、できる技なんだから。
syntax-rulesでもsyntax-caseでもdefine-macroでも、全部そう。
0067デフォルトの名無しさん
2010/04/22(木) 00:11:38なるほど。
もっと精進します。
>>64
超なっとく。
ところで、マクロ以外でプログラム=データだとうれしいことって何ですか?
006862, 67
2010/04/22(木) 00:38:16readすげー。
なんかとんでもない勘違いをしてた気がする…。
特に、S式が何か、ってのを理解してなかったです。
そりゃぁ、他の言語にマクロが無いわけだ…。
0069デフォルトの名無しさん
2010/04/22(木) 01:09:000070デフォルトの名無しさん
2010/04/22(木) 01:32:05次はこれで
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.html#%_sec_4.1
0071デフォルトの名無しさん
2010/04/22(木) 06:40:13File Not Found っていわれた。
0072デフォルトの名無しさん
2010/04/22(木) 07:11:25第7話「コンパイラの造りしもの」
お楽しみに!
0073デフォルトの名無しさん
2010/04/22(木) 10:00:369.0.1リリースされてた。
0074デフォルトの名無しさん
2010/04/22(木) 10:40:25【入門】Common Lisp その7【質問よろず】
http://pc12.2ch.net/test/read.cgi/tech/1270370267/
が2chの大規模規制中に立てられた時の挙動が変だった
http://ja.yourpedia.org/wiki/2ch
に書いてある、2chには高度な自動返信ボットがいるってのは、本当なのかもしれない
0075デフォルトの名無しさん
2010/04/23(金) 18:15:37L 書
I き
3 S
秒 P
破 で
綻
0076デフォルトの名無しさん
2010/04/24(土) 14:42:110077デフォルトの名無しさん
2010/04/24(土) 14:45:49> 難しい問題を解決しようとして実際にかかる時間 << 越えられない壁 << 難しい問題を長く取り組む覚悟をするためにかかる時間
って言ってたよ
0078デフォルトの名無しさん
2010/04/24(土) 14:50:27長期的に考えたらやるべきである事が明白でも、
短期的に見たら何もしないのが一番楽だもんな…
0079デフォルトの名無しさん
2010/04/24(土) 15:00:35生物の進化にモチベーションなどという概念は必要ない
0080デフォルトの名無しさん
2010/04/24(土) 15:05:380081デフォルトの名無しさん
2010/04/24(土) 15:45:540082デフォルトの名無しさん
2010/04/24(土) 16:30:24覚悟じゃなくてサーベイの時間じゃないかな
WiLiKiを改造するか
Mediawikiを改造したほうが楽か
0083デフォルトの名無しさん
2010/04/24(土) 18:43:04其れは言い訳だよ
モチベーションが無くなったのを他人のせいにしちゃだめだよ
誰でも自分がやりたいようにする事が出来るんだぜ。
ケチつける奴がいたら、其れがどうしたってだけの話だよ
だれもあんたや俺や誰かを止める事はできないってわかれば何だって出来るさ。
0084デフォルトの名無しさん
2010/04/24(土) 21:59:28改造すんのめんどくさそう
lispはこういう時いいよね
0085デフォルトの名無しさん
2010/04/25(日) 18:53:40サーバ側の設定 (.htaccess) でBASIC 認証にすれば別に改造は要らないよ。
同じデータベースを指してるふたつの cgi を用意して片方を認証付きにする運用は公式ドキュメントになかったっけ?
0086デフォルトの名無しさん
2010/04/25(日) 19:40:160087デフォルトの名無しさん
2010/04/25(日) 22:00:350088デフォルトの名無しさん
2010/04/25(日) 23:50:080089デフォルトの名無しさん
2010/04/26(月) 00:06:530090デフォルトの名無しさん
2010/04/26(月) 04:15:30認証機能だけなら簡単。別にlogin用のcgiつくって、認証通ったらcookieにセッションid足してやって、
WiLiKi側で(parse-cookie-string (or (cgi-metavariables "HTTP_COOKIE") "") してチェックすればいい。
パスワードをweb経由で変更させたり確認メールを送ったりするのは面倒だけど。
0091デフォルトの名無しさん
2010/04/26(月) 10:56:420092デフォルトの名無しさん
2010/04/26(月) 12:34:230093デフォルトの名無しさん
2010/04/26(月) 15:59:07コードのハイライト、括弧に応じたインデント、閉じ括弧打つと対応する開き括弧を示すのと、
動作の確認はemacs内でシェルを開いて処理系起動させてloadで確認してる。
これだけでも十分便利なんだけど、もっと便利な使い方ってあるの?
0094デフォルトの名無しさん
2010/04/26(月) 19:13:52scheme-complete.elとかで、シンボルの補完とかかな。
0095デフォルトの名無しさん
2010/04/26(月) 19:35:12inferior-scheme-mode で対話的に使うのが伝統。
scheme は R6RS で REPL 廃止されたって言っても大抵の処理系では用意してるしな。
0096デフォルトの名無しさん
2010/04/26(月) 23:34:43なんでdefine連続して使う必要あるんだろ
stalin のサンプルコード
nfm.sc から
(define (read-pnm pathname)
(define (read-pnm port)
(define (read-pbm raw?)
0097デフォルトの名無しさん
2010/04/26(月) 23:48:23例えば次の様なコードをgoshに解釈させると、
(define (f x) (set! x 1) (define y 0) y))
以下のエラーを吐く。
*** ERROR: Compile Error: syntax-error: the form can appear only in the toplevel: (define y 0)
"(stdin)":1:(define (f x) (set! x 1) (define y 0) y)
手続きの内部での定義はその位置にしか現れる事ができない。
0098デフォルトの名無しさん
2010/04/27(火) 02:08:34slimeサポートされてる処理系に移って今使ってる処理系を捨てる
0099デフォルトの名無しさん
2010/04/27(火) 12:21:01schemeのコードもすごい色や横線がいろいろついた華やかな画面になった
0100デフォルトの名無しさん
2010/04/28(水) 21:20:10LISPかschemeで作れん?
つまりS式でやりたいんや!
0101デフォルトの名無しさん
2010/04/28(水) 21:43:430102デフォルトの名無しさん
2010/04/28(水) 22:40:190103デフォルトの名無しさん
2010/04/29(木) 01:07:02XMLとS式は簡単に変換できるんだから、
普通にSXMLなり独自形式で書いて、XMLに変換すりゃいいじゃない。
あとはFFIなりを使って何とかならん?
そういうのじゃないなら、ClojureとかIronScheme使えばいいと思う。
0104デフォルトの名無しさん
2010/04/29(木) 01:18:27attributeとelementをどう定義するの?
0105デフォルトの名無しさん
2010/04/29(木) 01:34:460106デフォルトの名無しさん
2010/04/29(木) 03:16:02http://www.blnz.com/lml/index.html
0107デフォルトの名無しさん
2010/04/29(木) 05:56:11脈絡ないけどナカーマ
0108デフォルトの名無しさん
2010/04/29(木) 18:14:08しかし逆向きの変換ができないっぽいのだけど
>>106
のはできるんだろうか
0109デフォルトの名無しさん
2010/04/29(木) 19:08:44検索してみたが,ごく一部の移植しかみつからなかった
0110デフォルトの名無しさん
2010/04/29(木) 21:29:210111デフォルトの名無しさん
2010/04/29(木) 22:02:37なら自分でやれよ。
0112デフォルトの名無しさん
2010/04/30(金) 01:18:56SXML
ttp://okmij.org/ftp/Scheme/SXML.html
XMLS
ttp://common-lisp.net/project/xmls/
LXML
ttp://www.franz.com/support/documentation/8.0/doc/pxml.htm
>>108
XHTMLで良ければ、Closure XMLとかでできるよ。
ttp://common-lisp.net/project/cxml/
0113デフォルトの名無しさん
2010/04/30(金) 01:22:35ttp://www.emacswiki.org/emacs/XmlParserExamples
0114デフォルトの名無しさん
2010/04/30(金) 20:11:03亀だけど
C-M-u, C-M-d, C-M-f, C-M-b, C-M-a, C-M-eとかは使ってる?
0115デフォルトの名無しさん
2010/04/30(金) 21:14:570116デフォルトの名無しさん
2010/04/30(金) 21:48:300117デフォルトの名無しさん
2010/04/30(金) 22:12:500118デフォルトの名無しさん
2010/04/30(金) 23:47:46使ってませんでした。ありがとう亀さん。
C-M-a/eは便利ですね。
0119デフォルトの名無しさん
2010/05/01(土) 12:51:230120デフォルトの名無しさん
2010/05/01(土) 15:52:25ttp://ghent-fpg.googlegroups.com/web/GhentFPG.pdf (p.2)
0121デフォルトの名無しさん
2010/05/01(土) 21:21:28http://www.amazon.co.jp/gp/product/1593272006/
0122デフォルトの名無しさん
2010/05/01(土) 21:42:020123デフォルトの名無しさん
2010/05/01(土) 21:43:220124デフォルトの名無しさん
2010/05/01(土) 21:51:08届いたらレビューするからそれまで待って。
0125デフォルトの名無しさん
2010/05/01(土) 22:07:30‖//|| | | |ヽ
‖//|| | | | | |ヽ
..|ミ/ ー◎-◎-)
(6 (_ _) )
_|/ ∴ ノ 3 ノ 〜♪
(__/\_____ノ
/ (__‖ ||)
[]__ | | lisp命 ヽ
|] | |______)
\_.(__)三三三[国])
/(_)\::::::::::::::::::::|
|amazon..|:::::::::/:::::/
..|____|::::::/:::::/
(___[)__[)
0126デフォルトの名無しさん
2010/05/02(日) 02:47:21今検索してもcomの方はない。amazon.co.jpは情報反映されてないだけじゃないか?
0127亀
2010/05/02(日) 08:21:18C-M-a/eも便利だけど、C-M-u/d(S式を上がる/下がる), C-M-f/b(同レベルの前のS式に行く/後ろのS式に行く)が無いと亀はLisp, Schemeが書けないなー。
これらを使っていると、文字単位の移動をする必要がほとんど無くなって快適。
0128デフォルトの名無しさん
2010/05/02(日) 12:26:55ここで堪能できる。
http://www.lisperati.com/logo.html
http://www.lisperati.com/casting.html
>>120
言語屋っぽい言語の選択だね。
Linda, STM, UNIX pipesが出てきているのも面白い。
0129デフォルトの名無しさん
2010/05/02(日) 23:26:28org-modeをうまく設定して ( ) の中をおりたためないものか
0130デフォルトの名無しさん
2010/05/03(月) 01:35:51あと C-M-t (transpose-sexp) とか raise-sexp も便利だよね
俺は使ってないけど、 paredit.el も使いこなすと手放せなくなるんだろうか
0131亀
2010/05/03(月) 15:00:24亀も>>130と同じく、そういう時はhs-minor-modeを使うなぁ。
>>130
そうそう、C-M-tと、C-M-SPCを忘れていた。これらも手放せない。
実は亀はraise-sexpを知らなかった。教えてくれてありがとう。
0132亀
2010/05/03(月) 15:12:07wrap, splice, split, joinさえあれば十分な気もするけど。
0133デフォルトの名無しさん
2010/05/03(月) 16:52:05そんな欄外の話がいっぱいあることで
有名な線形代数の本があったな
0134デフォルトの名無しさん
2010/05/03(月) 17:40:23>>112
こんなのもみっけた
http://www.netfort.gr.jp/~kiyoka/sxmlcnv/index_ja.html
0135デフォルトの名無しさん
2010/05/03(月) 18:05:41こしこししちゃう
0136デフォルトの名無しさん
2010/05/04(火) 00:42:390137デフォルトの名無しさん
2010/05/04(火) 00:43:400138デフォルトの名無しさん
2010/05/04(火) 05:50:10こんな感じなの?
0139デフォルトの名無しさん
2010/05/06(木) 04:50:11chickenだろうか?
0140デフォルトの名無しさん
2010/05/06(木) 12:56:32の下の方に書いてある
(transform '(+ 1 2 3)) ;=> (add (add 1 2) 3)
ってgaucheにはないの?
(use 何)
をすればいいのかの検索方法ってありますか?
0141デフォルトの名無しさん
2010/05/06(木) 15:30:22Gaucheならmacroexpand
もちろん (+ 1 2 3) を (add (add 1 2) 3) に展開したいならあらかじめ+をマクロ
定義しとく必要がある。
0142デフォルトの名無しさん
2010/05/06(木) 16:56:40(apply + 〜
だとどうなるよ
0143デフォルトの名無しさん
2010/05/07(金) 15:24:56http://www.amazon.co.jp/dp/4627019092/
0144デフォルトの名無しさん
2010/05/07(金) 16:08:47ループはdoしかないか
0145デフォルトの名無しさん
2010/05/07(金) 22:17:35マジか
以前ヤフオクで落札しつつもまだ読んでないのに
0146デフォルトの名無しさん
2010/05/07(金) 22:45:40気になったので調べたら新しいものがあった。
ttp://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.jpg
0147デフォルトの名無しさん
2010/05/09(日) 10:01:30前スレか前前スレくらいに上がってた気がしたんだけど見付からない。
0148デフォルトの名無しさん
2010/05/09(日) 13:25:26その後ちょっと進展してるので現状をUp
http://kissho.xii.jp/1/src/1jyou112930.pdf.html
英語はわからんのでせめて単純作業で貢献を…と思ったんだけど、
Texにも明るくないのでオリジナルの組版を維持する方針で。
案外面倒でくじけそう。
0149デフォルトの名無しさん
2010/05/10(月) 21:13:28http://pc12.2ch.net/test/read.cgi/tech/1272469779/
で聞いたけど、荒れてて返事がつかないからこっちで聞くわ。
for キーワードで run を指定して import した手続きが
マクロの trasformer で使えちゃうのは仕様?
指定しなかった場合に自動的に決定してくれる (implicit phasing) のならともかく、
指定を無視しちゃうのは微妙だと思う。
他の R6RS 処理系でもそうなってるのが多いみたいなので何か理由があるのかねぇ。
0150デフォルトの名無しさん
2010/05/10(月) 21:42:29その質問したの俺なんだけど、
どっちにしろこっちでも訊くつもりだったので別にいいか…。
0151デフォルトの名無しさん
2010/05/10(月) 21:46:02お前、さりげなくひげぽん叩きスレに誘導したいだけなんちゃうか
0152デフォルトの名無しさん
2010/05/11(火) 02:57:53というかそれが必要条件のような気がする。
Moshはどうなんだろう。ひげぽんさんは現場でガリガリ使ってるのかな。
0153デフォルトの名無しさん
2010/05/11(火) 11:33:40期待age
0154デフォルトの名無しさん
2010/05/11(火) 17:29:02sageてんじゃねーか
0155デフォルトの名無しさん
2010/05/11(火) 19:02:140156デフォルトの名無しさん
2010/05/12(水) 09:45:46R6RS は for を無視する実装を許容するとのこと。
http://d.hatena.ne.jp/leque/20100511/p1
R6RS によれば、 implicit phasing がしてゐるやうに
import の for の指定を無視するのは仕樣として認
められる動作であるやうだ。
0157デフォルトの名無しさん
2010/05/12(水) 11:15:28Mosh はマクロ展開を psyntax に丸投げしているはずなので、それは psyntax の話。
まず用語を整理しておくと
Implicit phasing はフェーズを指定しなかった場合に自動的に決定してくれる 仕組みでは*ない*。
Implicit phasing for library dependencies [1]
http://gradworks.umi.com/33/44/3344623.html では、
ユーザーが for を使って手作業でフェーズを指定するのを explicit phasing と呼び、
ソースコード自体を暗黙のフェーズ指定と思ってフェーズを計算するのを
implicit phasing と呼んでいる([1] p.15)。
for run な識別子が expand でも見えるのは implicit phasing の意図通り。
これは、識別子の可視性はどのように import されてきたかではなく、
字面だけから決まるべきだ、というのが動機([1] pp. 13-14)。
Ikarus や Mosh といった psyntax 系の処理系はこういう動作をする。
Ypsilon はおおむね psyntax に合わせていたような気がする。
Larceny とかの explicit phasing の処理系は異なるフェーズの識別子を参照するとエラーになる。
for による指定を無視してよいことは R6RS の 7.2 節の最後の段落に書いてある。
0158デフォルトの名無しさん
2010/05/12(水) 20:14:44言語としての必要性で言えば explicit phasing って必要かな?
フェイズなんてユーザーに見せるべきでない実装の詳細に思える。
0159デフォルトの名無しさん
2010/05/13(木) 16:28:37;a.scm
(define (integers-starting-from n)
(cons-stream n (integers-starting-from (+ n 1))))
;transform.scm
(define-macro (cons-stream a b)
`(cons ,a (delay ,b)))
(with-input-from-file "./a.scm"
(lambda ()
(let loop ((ls1 '()) (s (read)))
(if (not (eof-object? s))
(begin
(display (%macroexpand s))
(loop (cons s ls1) (read))
))))
0160デフォルトの名無しさん
2010/05/13(木) 16:36:10=> (cons 10 (delay 20))
(define tmp (cons-stream 10 20))
(%macroexpand tmp)
=> tmp
tmpの中身をを展開するにはどうすればいいのだろう
0161転載
2010/05/13(木) 19:26:31> 某所に書けないので、 R6RS の Formal comment #92 が関係ありそう、
> とかここで言っておくと必要な人に届いたりするんだろうか
0162デフォルトの名無しさん
2010/05/13(木) 19:32:35強いて tmp の中身といえる物を見るなら
(disasm tmp)
かな。
0163デフォルトの名無しさん
2010/05/13(木) 22:27:39tmp には (cons-stream 10 20) という式が入ってるわけじゃない。
(cons-stream 10 20) を展開して評価した結果として得られるコンスセルに束縛されてる。
式と、式を評価した結果を混同してないか?
マクロをいじる前に Scheme の評価モデルを理解する必要があるんじゃないのかなぁ。
0164デフォルトの名無しさん
2010/05/14(金) 16:00:09DrSchemeのGUIメニューからできました
0165デフォルトの名無しさん
2010/05/14(金) 20:15:36SICPに例が載ってないのは、あんまり有用じゃないからなんだろうか
0166デフォルトの名無しさん
2010/05/14(金) 21:32:16ベクタに置き換えるととたんにスッキリしなくなるな。
0167デフォルトの名無しさん
2010/05/14(金) 22:29:51なんだか良くないような気がする
0168デフォルトの名無しさん
2010/05/16(日) 05:35:40識別子の解決という観点では implicit phasing だけでよさそうな気がする。
ただ、フェーズというのはライブラリのインスタンス化や訪問ともからんでくるので
そこで何か差が出るかもしれない。
例えば、ライブラリのインスタンス化の時点で副作用を起こしつつ、
その副作用を異なるフェーズ/インスタンス間で共有するかしないかということで
ライブラリシステムの表現力に差が出るかもしれない。
でも、これは phasing の問題というよりはライブラリのインスタンスの扱いの問題かもしれない。
実際に、 implicit phasing でも、複数のインスタンス間で状態を共有したくない場合は
コンパイルを別にするという方法が紹介されているし、
explicit phasing であっても処理系のオプションなりなんなりで対応できそうな気がする。
R6RS の Formal Comment #92 を読むと、
どのようにライブラリをモデル化するのがよいのか自明でないので、
とりあえず処理系に選択の余地を残したように読める。
他に何か差の出そうなところってあるかなあ?
0169デフォルトの名無しさん
2010/05/17(月) 13:31:58(define accumlated
(cons-stream
initial
(stream-map op s accumlated )))
accumlated
)
マクロにしたほうがいいんだろうか
動いているけど、いまひとつ自信ない
0170デフォルトの名無しさん
2010/05/18(火) 08:51:00値段も9000円越えててびっくりだけど
0171デフォルトの名無しさん
2010/05/18(火) 08:52:18これね。 発売日はもう過ぎてるからみてる人はおるかもしれないね。
0172デフォルトの名無しさん
2010/05/18(火) 08:53:37タイトルにしてる。
0173デフォルトの名無しさん
2010/05/18(火) 10:02:11stream っぽいベクタって想像がつかないんだけどどういうの?
要素の評価が遅延されるベクタっていう意味なら
プロミスのベクタとか Future のベクタになりそうだけど。
0174デフォルトの名無しさん
2010/05/18(火) 19:04:20必要ない計算はdelayしてくれるvector演算
0175デフォルトの名無しさん
2010/05/18(火) 19:43:07体は大人でも頭脳は子供
0176デフォルトの名無しさん
2010/05/18(火) 19:46:42結構前から感想が書き込まれてるよ。
本が重いって話ばっかりだったけど。
翻訳はLisp本のくせになかなか良いと思う。
0177デフォルトの名無しさん
2010/05/18(火) 20:19:40なるほど。
無限リストとしての stream しか頭になかったからそちらに思い到らなかった。
リスト→ stream だと、可変長有限列が可変長無限列になったり、
非決定性計算の結果のうち必要になったものだけを計算するとかができるようになるけど、
ベクタの場合だと固定長なのは変わらないから、
無駄な計算をしなくて済むようになるくらいだろうか。
Haskell だと Array も遅延されるけれど、それによって何か面白いテクニックがあったりするんだろうか
0178デフォルトの名無しさん
2010/05/19(水) 01:00:47特にテーブルジャンプ系が弱いと思うので。
gotoの是非は議論しないものとします。
ここではlabelは構文で、gotoは関数ってことにしてます。
(let ((i 0)(v (label->vector 'a 'b 'c)))
(goto (vector-ref v i))
(label a)
(set! i 1)
(goto (vector-ref v i))
(label b)
(set! i 2)
(goto (vector-ref v i))
(label c)
(set! i 0)
(goto (vector-ref v i)))
0179デフォルトの名無しさん
2010/05/19(水) 03:49:52Scheme の思想だと
* goto は escape procedure のひとつである
* escape procedure は継続で表すことができる
* 継続の起動は手続き呼び出しと同じである
* 末尾再帰は goto と等価である
というあたりで、 call/cc とか末尾再帰を使って goto を表すことになる
(なんでも継続 とか なんでも再帰 も参照)。
その例だと↓みたいに変換すればいいんじゃないだろうか。
(let ((i 0) (v #f))
(define (goto vec i) ((vector-ref v i)))
(define (a) (set! i 1) (goto v i))
(define (b) (set! i 2) (goto v i))
(define (c) (set! i 3) (goto v i))
(set! v (vector a b c))
(goto v i))
goto くらい標準で使いたい、という場合は CL で :-)
0180デフォルトの名無しさん
2010/05/19(水) 06:23:140181デフォルトの名無しさん
2010/05/19(水) 06:57:01どちらもマクロが既にあるのでそれを使う。
0182デフォルトの名無しさん
2010/05/19(水) 07:22:100183デフォルトの名無しさん
2010/05/20(木) 01:05:48http://kissho.xii.jp/1/src/1jyou113852.pdf.html
TeX でも Up しておく
http://kissho.xii.jp/1/src/1jyou113853.7z.html
0185デフォルトの名無しさん
2010/05/20(木) 02:31:46実際にLispを使っての開発生産性というのはどんなもんですか?
BooやOCamlなどの関数型との違いなどもわかると嬉しいです。
自分は.NET畑での開発が主なので最近はC#やF#しかさわっとりません。
日々の開発の中でここLispのマクロのようなもの使えれば楽に実装できるのにと思うこと多々あり。
けど複数人での開発ではマクロは逆に保守の上で大変になったりするような気もす。
0186デフォルトの名無しさん
2010/05/20(木) 10:31:57ンのひとつって感じだと思う。 規格を見ると CommonLisp はマルチ
パラダイム型って書いてるし、 Scheme も幅広い理論を表現できるっ
て書いてあって、関数型を全面的に押し出しているわけではない。
自分なりのスタイルで、あるいは問題に対して適切なスタイルで表
現できるところが Lisp 系言語の強さだと言われている。 逆に勝手
なスタイルで書けてしまうので複数人がかかわるとグダグダになるっ
てのは仕方がない面はある。 Lisp 系言語を使ったプロジェクトが
うまくいく要件としては以下のようなことがよく挙げられる。
・担当する範囲を明確にすること
・それぞれの担当分については担当者がキッチリと責任を持つようにすること
(時にはユーザーサポートまで含めて)
・チームの人数を少なくすること
・チームは全員が同じ場所で (声が届く程度に近くで) 作業すること
・メンバーは Lisp に熟練していること
Lisp 系言語以外を使っているプロジェクトを言語だけ Lisp 系に切
替えてもたぶんうまくいかない。
0187デフォルトの名無しさん
2010/05/20(木) 11:14:41最近の表現力のある型システムを持つ関数型言語なら
Lisper でもそれほどストレスを感じなさそうだと思った。
Lisp が動的型付け言語だといっても、行儀のよいコードを書けるプログラマなら
自然と型の付きそうなコードを書くし、ほとんど問題にならないと思う。
マクロも、式の評価順序を少し変えたい程度なら名前渡しができればそれほど困らない。
一方で、内部で使うだけの、 Lisp ならリストで表現してしまうようなタグ付きデータを表現するのに
いちいちバリアントなり代数データ型なりを定義しないとならないのが面倒なこともあるけれど、
このあたりは安全性とのトレードオフかなあ。
あと、 Lisp 的な書き方が型システムの関係上できなくて、静的型の作法で書き直さなくてはいけないことはある。
他にも、時には問題に合わせた適当な構文が欲しくなったりして Lisp のマクロが恋しくなることもある。
基本的に、 OCaml や Scala あたりの静的型付けの言語ならそれほど足枷にならないと思う。
ただ、その言語でもともと想定されていたことを越えるようなことをしようとするとやはり Lisp の柔軟さが恋しくなる。
ただし、その時は型システムやらの助けがなくても生きていけるくらいの度量は必要になる。
個人としてはこんな感じ。複数人だと >>186 の言っているようなことも考えないとならない。
0188デフォルトの名無しさん
2010/05/20(木) 16:11:32if((ret = iofunc(args)) != 0){
error("error!\n");
}
みたいなコードを延々と書かなきゃいけないのが面倒で面倒で。
そういう意味でCiSEが広まったら非常に嬉しい。速度と汎用性の共存がここにあるような。
0189デフォルトの名無しさん
2010/05/20(木) 20:55:47とかいうもののコード読んでたら
継続をインラインアセンブラから主要なレジスタをpushすることで実現してた
そのせいで64bit OSでは動かなくなってた
64bit OSで動かしたいんだけどなあ
0190デフォルトの名無しさん
2010/05/20(木) 21:31:100191185
2010/05/21(金) 01:54:06もちろん開発の対象によって違いがありそうですが。
Lispのマクロを使わないと実現が難しそうだったものってありますか?
たとえばIoCフレームワークのようなものをつくるばあいなどはどうでしょう。
0192デフォルトの名無しさん
2010/05/21(金) 03:08:21evalを使わないと高階関数の実現が難しそうだったんじゃねーの
今ではevalの代わりにクロージャかマクロを使うようになったが
マクロのレキシカルスコープは不健全だと指摘されたりして
じゃクロージャだけでいいやみたいな
JavaScriptみたいな言語が勝ってると思う
型といえばパターンマッチだが、あれは静的ではないな
まあどう見てもマッチしない場合は静的にチェックできるのかな
0193デフォルトの名無しさん
2010/05/21(金) 06:09:28型推論やらの表現力とマクロの表現力はまた別次元の話だと思う。
マクロが欲しいものの例のひとつは OCaml だと
モナドを使いたい場合があると思う。
bind でごりごり書ける人は必要ないのかもしれないが、
そういう場合は Camlp4 というプリプロセッサを使うのが常道で、
pa_monad というのがあるのだけど、
http://www.cas.mcmaster.ca/~carette/pa_monad/
使うのはいいとしても、こういったものを自分で書きたいかというと……
(主にドキュメントがあれとか)。
他にも Camlp4 拡張として色々な構文拡張を作っている人がいる。
sexplib みたいな、自動コード生成とかもある。
Haskell の方だと、 Arrow 記法みたいなのが欲しいときに処理系依存の機能を使わないといけないとか、
Monad だけ do 記法があってずるい! 俺のほげほげライブラリにも使わせろ、とか。
Template Haskell というのがあるそうだけど、こちらはよく知らない。
関数合成で書けばいいじゃんと言われそうだけど
(そもそも整数だってラムダ項で表現できるし)
やっぱりよく使う機能にはそれ用の構文があった方がうれしいよね、と
(しかしそれを言語のコアに入れたいかというと別問題)。
0194デフォルトの名無しさん
2010/05/21(金) 07:26:11ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?ParserFear
0195185
2010/05/21(金) 08:32:23というかだからこそ使いたい言語でマクロが無いからLispいいなぁーと気になってるわけで・・・
聞いてみたいのは、実際の開発場面でマクロ>>>>>>越えられない壁>>>関数合成となるような場合がどの位あるかなぁと。
多少余計な記述が増えても関数合成などである程度簡潔に書ける場合も多いとか、マクロなかったら著しく記述量が増えるor実装が無理とか。
想像だとマクロあれば便利そうなところはいろいろ思いつくんだけど、やっぱりやりこまないと気づかないマクロの威力というものがある気がす。
ちなみにF#だとCamlp4に近いもの?としてcomputation expressionsというものがある。
http://en.wikibooks.org/wiki/F_Sharp_Programming/Computation_Expressions
でもマクロの方が柔軟性あって使い勝ってよさそうだなと思ってる次第…
0196デフォルトの名無しさん
2010/05/21(金) 09:16:16ことがほとんどで、マクロはコンパイラの癖を利用するためのコード変換のために手放せない。
関数合成も理論上はコンパイラがうんと賢ければ同等のネイティブコードが出るだろうけれど、
実際の現場で思うようなネイティブコードに落ちてくれない時に、コンパイラに手を入れるのを
待つのは不安だな。そういう意味では越えられない壁はあると思う。
0197デフォルトの名無しさん
2010/05/21(金) 10:19:150198デフォルトの名無しさん
2010/05/21(金) 11:05:21それが現実だからなぁ。 Lisp はマクロで隠蔽できるだけマシな言語ってことになる。
↓このへんの考え方の延長かな。
http://practical-scheme.net/wiliki/wiliki.cgi?Lisp:%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E6%AD%A3%E8%A7%A3#H-z6b2ut
> 「どんなに汚くても、打てる手段がある」というのは
> 何物にも替え難い救いなのです。
CommonLisp と Scheme でも文化が違う。
本物の開発現場で Scheme が広く使われるようになったら話は違うんだろうけど、
Scheme はそういうところ目指してないと思う。
0199デフォルトの名無しさん
2010/05/21(金) 11:59:33Schemeにとっての泥臭い現実は「C言語で書かれている」ということです
それもまた、替え難い救いなのですよ
0200デフォルトの名無しさん
2010/05/21(金) 19:57:13schemeもある意味で汚い
0201デフォルトの名無しさん
2010/05/21(金) 20:52:52ただし、自分だけは使いたい。
0202デフォルトの名無しさん
2010/05/21(金) 21:17:03> 何物にも替え難い救いなのです。
last resortか
0203デフォルトの名無しさん
2010/05/21(金) 22:13:01いいなぁ…おれの憧れだわ、そういう仕事。羨ましい。
0204デフォルトの名無しさん
2010/05/21(金) 22:19:43泥臭い最適化をしたいとか、泥臭い定型を後ろに追いやりたいとかなると
マクロが欲しくなるよね。
0205デフォルトの名無しさん
2010/05/21(金) 22:26:500206デフォルトの名無しさん
2010/05/21(金) 22:51:400207デフォルトの名無しさん
2010/05/21(金) 23:18:00慢性的急病みたいな
0208デフォルトの名無しさん
2010/05/23(日) 00:10:32わかりにくいマクロを作るやからってのは
センスがまったくないlisperだと断言していいよ。
0209デフォルトの名無しさん
2010/05/23(日) 03:46:46これだと(a)といった要素数1のリストを破壊的操作で空リスト()にすることができません。
set!を使ったマクロdelete-list!で目的は達成できたのですが、
()って一体何なのでしょう。
0210デフォルトの名無しさん
2010/05/23(日) 05:37:350211デフォルトの名無しさん
2010/05/23(日) 07:43:410212デフォルトの名無しさん
2010/05/23(日) 10:56:440213デフォルトの名無しさん
2010/05/23(日) 11:28:050214デフォルトの名無しさん
2010/05/23(日) 11:45:440215デフォルトの名無しさん
2010/05/23(日) 12:25:49>>171の本か?
店頭で見たけど、どうAIなのか分からんかった。まあGPSとか書いてあったけどさ
0216デフォルトの名無しさん
2010/05/23(日) 12:41:45>215 いやそれが9000円ぐらいするやつwなんか4000千円ぐらいであったような・・・ うろ覚えなんで全然違ったかもしれん。
0217デフォルトの名無しさん
2010/05/23(日) 13:37:37よくわからんけど、金持ってんな。
ゆきおさんは、15百万/月だけどな
0218デフォルトの名無しさん
2010/05/23(日) 13:39:09ttp://www.amazon.co.jp/exec/obidos/ASIN/4274067211/
0219デフォルトの名無しさん
2010/05/23(日) 14:32:17積読してあったのの目次見た感じではなさそうだけど。
『On Lisp』なら最後の方で Prolog 作ったりしてるな。 3800円。
0220デフォルトの名無しさん
2010/05/24(月) 09:22:33MaybeをつけろよこのLISP厨
car :: [a] -> Maybe a
cdr :: [a] -> Maybe [a]
0221デフォルトの名無しさん
2010/05/24(月) 09:29:57実用のほうでしょ。ノーヴィック本 このスレの前のほうに話題がある
0222デフォルトの名無しさん
2010/05/24(月) 11:56:38stalinとCはそんなに速度に違いがない気がする
0223デフォルトの名無しさん
2010/05/24(月) 12:57:460224デフォルトの名無しさん
2010/05/24(月) 13:00:140225デフォルトの名無しさん
2010/05/24(月) 21:43:33ダイクストラも Lisp に一目置いてたのね
0226デフォルトの名無しさん
2010/05/25(火) 06:43:59長い…
一目と言っていいのかなぁ
0227デフォルトの名無しさん
2010/05/25(火) 12:41:45型情報ってどうやって決めればいいんだ
int char もみんなdoubleにすればいいのか
0228227
2010/05/25(火) 15:25:53foo-double
bar-vector
とかつけたんだけど、本当は自動判定させるのが正しいやりかたなんだよね?
0229デフォルトの名無しさん
2010/05/25(火) 16:21:090230デフォルトの名無しさん
2010/05/25(火) 18:42:140231デフォルトの名無しさん
2010/05/25(火) 19:35:000232デフォルトの名無しさん
2010/05/25(火) 20:43:320233デフォルトの名無しさん
2010/05/25(火) 21:05:49何も考えないなら共用体と型タグを使ったオブジェクトに box するしかないんじゃないかなあ
ある程度は型推論するとか CL 風に型指定をつけられるようにするとか。
CL で disassemble してみたら何か参考にならないだろうか
0234デフォルトの名無しさん
2010/05/25(火) 22:39:12Scheme のマクロで出てくる ... (ellipsis) を見るたび思い出して鳥肌がたってしまいます。
0235デフォルトの名無しさん
2010/05/25(火) 22:42:220236デフォルトの名無しさん
2010/05/26(水) 10:54:44yam oezu = さつまいも 追えず
きっと腹が減って動けないのだろう
0237デフォルトの名無しさん
2010/05/27(木) 12:13:200238デフォルトの名無しさん
2010/05/27(木) 18:00:210239デフォルトの名無しさん
2010/05/27(木) 18:26:05所詮言語なんてライブラリ次第なんだから、
ライブラリの作り方や導入の仕方や削除の仕方や編集の仕方が
小学生でも一瞬で分かるぐらい簡単な方がいいな
0240デフォルトの名無しさん
2010/05/27(木) 20:54:59俺が住んでる地方ではグニャグニャして噛み切れないことを「おえん」と言うぞ。
ちなみに香川県の西の方だ。
0241デフォルトの名無しさん
2010/05/27(木) 21:21:320242デフォルトの名無しさん
2010/05/30(日) 01:35:58http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/cbc83e4df461bd69
http://abcl-dev.blogspot.com/2010/05/abcl-0200-released-including-first.html
0243デフォルトの名無しさん
2010/05/30(日) 01:37:420244デフォルトの名無しさん
2010/05/30(日) 14:22:130245デフォルトの名無しさん
2010/05/30(日) 22:25:38つまり、芋を噛み切れないってことだな。
0246デフォルトの名無しさん
2010/05/30(日) 23:24:010247デフォルトの名無しさん
2010/05/30(日) 23:26:450248デフォルトの名無しさん
2010/06/01(火) 11:11:440249デフォルトの名無しさん
2010/06/04(金) 20:33:59`syntax-rules'とか`identifier-syntax'のtransformerって`define-syntax'内でしか定義できないの?
他の用途なんて無いのは分かるけど、ikarusではtransformerも第一級オブジェクトになるのに
ypsilonではエラーになる。
0250デフォルトの名無しさん
2010/06/04(金) 21:29:09自信はないけど、エラーにならずに手続きが返るのが正しいように思う。
R6RS の 11.19 を見ると
>An instance of syntax-rules evaluates, at macro-expansion time,
>to a new macro transformer by specifying a sequence of hygienic rewrite rules.
あるので、 syntax-rules の評価結果はマクロ変換子になる。
R6RS-lib の 12.8 にあるように syntax-case を使って syntax-rules を実装してあるのなら、
展開結果はただの手続きになる。
Larceny の R6RS モードでも裸の syntax-rules を評価したら手続きが返ってきた。
R6RS 本体ではマクロ変換子が何なのか定義していないように見えるのが少しひっかかるけど、
作者さんに聞いてみた方がいいんじゃないかなあ。
0251デフォルトの名無しさん
2010/06/05(土) 02:44:33それが出来たら macroexpand-1 相当のことを簡単に書ける。
0252デフォルトの名無しさん
2010/06/05(土) 05:56:31自分で定義する場合なら一段中間層をはさんでこんな感じでどうかしら。
(define e
(syntax-rules ()
((_ x) x)))
(define-syntax m
(lambda (x)
(syntax-case x (expander)
((_ expander) #'e)
((k y ...)
(with-syntax ((z (e #'(k y ...))))
#'z)))))
既に定義されたマクロから変換子を取り出すポータブルな方法はないと思う。
0253デフォルトの名無しさん
2010/06/16(水) 06:55:05http://d.hatena.ne.jp/fromdusktildawn/20061002/1159784863
この記事を見て、急激にLispを触りたくなったのですが
LispのdjangoやRuby on Railsのようなよく使われているwebフレームワークって何がありますでしょうか?
また、www::mechanizeのようなwebスクレイピングのライブラリや
なんとかspecみたいなテスティングフレームワークでよく使われているものはないでしょうか?
上記のようなライブラリや環境を想定した場合、どのような処理系をつかったものでしょう?
開発は多分Windowsになるかと思うのですが、実際の動作環境はLinux(Ubuntu)を想定しています。
aptとかで入るとよいのですが・・・
0254デフォルトの名無しさん
2010/06/16(水) 07:49:20Common LispならCLikiに色々載ってる。
ウェブフレームワークで割と有名なのはWeblocksとか?
スクレイピングの方は知らない。
Schemeだと日本で有名なのはKahuaとか?
あとはBigloo使うHOPとか、PLTにも何かあった気が。
テストフレームワークはSRFIにもなってるけど、
結局処理系独自仕様の群雄割拠だった気がする。
処理系は、CLだと商用ならACL、フリーならSBCL、
SchemeならPLT RacketとかGauche辺り?
ぶっちゃけ、Schemeだとバリバリ処理系依存なので、
使いたいソフトウェア決めてから処理系選ぶしかない。
0255デフォルトの名無しさん
2010/06/16(水) 14:58:02Lispの利点解説は分裂勘違い君よりPaul Grahamをお勧めします。
普通のやつらの上を行け ---Beating the Averages---
http://practical-scheme.net/trans/beating-the-averages-j.html
技術野郎の復讐 ---Revenge of the Nerds---
http://practical-scheme.net/trans/icad-j.html
0256デフォルトの名無しさん
2010/06/16(水) 18:50:52Rails のようなものを使いたいのであれば Rails を使えばよい。
枠におさまらないとき、かつてないパラダイムを構築したいといったときにこそ Lisp の出番なの。
既に枠組が決まってるところは Lisp の柔軟さはむしろ邪魔になりさえする。
既存のライブラリを使って何かをしようというなら Lisp は良い選択肢とは言えない。
0257デフォルトの名無しさん
2010/06/16(水) 20:50:220258デフォルトの名無しさん
2010/06/16(水) 23:08:370259デフォルトの名無しさん
2010/06/16(水) 23:09:360260デフォルトの名無しさん
2010/06/17(木) 01:01:47なんというか、まったくLisp知らん俺にはさっぱりだった。
そんな俺にいい書籍教えてPlz
0261デフォルトの名無しさん
2010/06/17(木) 01:06:100262デフォルトの名無しさん
2010/06/17(木) 01:43:05本より処理系いぢり倒してみるのがいいよ
せっかくインタラクティブ環境あるんだし
んでマクロで遊んだ後でOnLisp読み直すとか
英語でよければemacs+slimeで遊んでみたくなるお勧めビデオがネットにあった
http://www.guba.com/watch/3000054867/SLIME-Superior-LISP-Interaction-Mode-for-EMACS
0263デフォルトの名無しさん
2010/06/17(木) 02:34:000264デフォルトの名無しさん
2010/06/17(木) 02:46:17ビデオでよければ
http://video.google.com/videoplay?docid=5632573512646119509
0265デフォルトの名無しさん
2010/06/17(木) 02:51:060266デフォルトの名無しさん
2010/06/17(木) 03:31:56お前、R6RS主導してミニマリズム崩壊させておいて、そういうこと言っちゃうの?
とか思った。
0267デフォルトの名無しさん
2010/06/17(木) 08:02:48デノミ主導して経済崩壊
0268253
2010/06/17(木) 14:11:51ありがとう
処理系はけっこうたくさんあるんですね。
うーん悩ましい。使いたいソフトで処理系選ぶ方向で見てみます。
>>255
practical-scheme.netの翻訳、記事昔見たことあります!
当時これ見てLispすげーと思って挑戦して、挫折して元使ってた言語に戻ったのを思い出しましたw
もう一度見てみます。
>>256
なるほど・・・確かに「Railsみたいなの」を要求する人にはRailsでいいんじゃね?というのはたしかにそうですね。
ありがとうございました。
0269デフォルトの名無しさん
2010/06/17(木) 21:45:230270デフォルトの名無しさん
2010/06/18(金) 02:25:590271デフォルトの名無しさん
2010/06/18(金) 03:52:40そもそも Scheme には type specifier という概念がない。
Scheme の型は、ある型述語(string? とか pari? とか)に対して
#t を返すかどうかで定義されている。
0272デフォルトの名無しさん
2010/06/18(金) 13:42:43Schemeでコンパクトな実装はございますでしょうか?
実装を読んで勉強するのに手ごろなサイズのものを探しています。
0273デフォルトの名無しさん
2010/06/18(金) 14:38:56今なら Chibi Scheme が良いかな。
0274デフォルトの名無しさん
2010/06/18(金) 17:36:05> [[プログラミング言語]][[LISP]]の
↓
> 昔のコンピューター言語[[LISP]]の
ちょっとワロタ
0275デフォルトの名無しさん
2010/06/19(土) 01:31:42さっそく落としてみます。
0276デフォルトの名無しさん
2010/06/19(土) 08:41:20故に入門者はまず処理系のソースを読みます
0277デフォルトの名無しさん
2010/06/19(土) 09:11:58ワラタ 苫米地英人に恨みでもあんのかなw
0278デフォルトの名無しさん
2010/06/19(土) 09:23:48C,Java系統だとLispよりCPUアーキテクチャ寄りだから「昔の」->「今では使えない手法」。
Lispを使ったことが無い人が、「昔の」にネガティブイメージを持つ理由は、案外こんなところにあるのかも。
0279デフォルトの名無しさん
2010/06/19(土) 09:45:280280デフォルトの名無しさん
2010/06/19(土) 10:03:24数学には言語仕様もコンパイラもなんにもない
0281デフォルトの名無しさん
2010/06/19(土) 10:16:290282デフォルトの名無しさん
2010/06/19(土) 10:20:34そうだね。それに加え、CPUアーキテクチャ依存-->表現力の限界-->用途を絞った
個別の処理系になっていて、自己拡張が難しい。
それでも、事務処理みたいなルーチンワークには役に立ったから、無意味ではないが。
http://gigazine.net/index.php?/news/comments/20070126_computer_languages_history/
0283デフォルトの名無しさん
2010/06/19(土) 10:48:180284デフォルトの名無しさん
2010/06/19(土) 10:50:190285デフォルトの名無しさん
2010/06/19(土) 10:52:470286デフォルトの名無しさん
2010/06/19(土) 10:54:14昔小さなlispを使ったらそれがよく止まるのでついソースを読んで手直しした。
止まることがほとんどなくなって関数の作り方など分かってきたのであったらいい
と思う関数を追加した。lispの処理系はこうなっているのかと理解できてCも上達
したと思う。だがlispはちっとも使えるようにならなかった。
教訓:lispの達人になりたかったらlispを使うこと決して処理系を作ろうとか読んで
みようとか思わないこと。lispを使うより処理系を扱う方が何倍もおもしろいので特
に気をつけるように。
0287デフォルトの名無しさん
2010/06/19(土) 11:02:150288デフォルトの名無しさん
2010/06/19(土) 11:20:58勝間和代や香山リカのように『苫米地英人』にも検証の手を! - 夏のサマー
http://d.hatena.ne.jp/enjokosai/20100104/p1
はてなブックマーク - 勝間和代や香山リカのように『苫米地英人』にも検証の手を! - 夏のサマー
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/enjokosai/20100104/p1
技術者で計算機科学系や人工知能系はガチで昔Lipsもやってて、
で今やってることや肩書きがウサンくさすぎるww
0289デフォルトの名無しさん
2010/06/19(土) 11:31:07計算機科学と計算幾何学ぐらい違うなw
0290デフォルトの名無しさん
2010/06/19(土) 11:45:12何を実現するかという目的。
CやJavaの技術者っていうのはその目的を実現する手法なんてのには興味がなくて、
常に何を実現するかということに重きを置いている。
だから手法が数学的かそうでないかなんてどうでもいい。
0291デフォルトの名無しさん
2010/06/19(土) 11:50:41昔から進歩してないって言えばいいのに
0292デフォルトの名無しさん
2010/06/19(土) 12:23:42頭の悪い人が自虐でやることでは。
0293デフォルトの名無しさん
2010/06/19(土) 12:30:27そもそも、どこが数学的なのかわからない。
少なくともここにいる大半の人は分かるものなの?
0294デフォルトの名無しさん
2010/06/19(土) 12:42:55そりゃ元々は数学の論文から始まったのかもしれないけど、派生していく内にグダグダになってしまった感はある。
ひとくくりにすべきじゃない。
数学的であることのメリットはもちろんある。 性質を数学的な理屈で定義・検証可能というところ。
もちろん、それが重要でない (メリットと思わない) という考え方を否定することはできない。
0295デフォルトの名無しさん
2010/06/19(土) 12:48:08ラムダ計算の奥義とかあるよ
0296デフォルトの名無しさん
2010/06/19(土) 13:06:42別に何も怖いことなんてないのに
0297デフォルトの名無しさん
2010/06/19(土) 13:27:310298デフォルトの名無しさん
2010/06/19(土) 13:31:560299デフォルトの名無しさん
2010/06/19(土) 13:34:130300デフォルトの名無しさん
2010/06/19(土) 13:38:16他に似たような掲示板ないですか?
0301デフォルトの名無しさん
2010/06/19(土) 13:39:330302デフォルトの名無しさん
2010/06/19(土) 14:23:47hackernews
0303デフォルトの名無しさん
2010/06/19(土) 15:12:300304デフォルトの名無しさん
2010/06/19(土) 16:13:46twitterって、他人に好かれやすい一部の人だけが100人とか200人とかフォロワー作って
会話を成立させられるサービスで、それ以外の人間は掲示板の代わりになんかとてもできないよ。
0305デフォルトの名無しさん
2010/06/19(土) 16:23:420306デフォルトの名無しさん
2010/06/19(土) 16:24:48インプットしかせずにアウトプットが無い人間は申し訳ないけどあまり関わりたくない。
情報を出している側だって何らかのフィードバックを求めているからこそ
情報を出しているわけであって、フィードバックを返さないのはフェアじゃないよね
0307デフォルトの名無しさん
2010/06/19(土) 16:26:490308デフォルトの名無しさん
2010/06/19(土) 16:32:54いやtwitterにいる以上はアウトプットすると思うぞ誰でも。フィードバックだって。
基本的に発信欲を満たすサービスなんだから。
というかこの会話自体、twitterじゃ一部のエリートさんがツイートしない限り発生しないんだよな。
0309デフォルトの名無しさん
2010/06/19(土) 16:36:11使ってみてるけど、フォロワー数百人程度では掲示板の代わりにすらならなかったぞw
ただ、ハッシュタグつけたり、特定の単語だと検索ワードでウォッチしてる人から返事くることある
なので見習って逆にこっちも常に検索チェックしたり、ハッシュタグおったりして
困っている人や面白い話題している人に話かけたりしてみてる
そうすると徐々にフォロワーが増えたり、普通のつぶやきでも反応返ってくるようになる
ただ、twitterマンセーしている有名人みたいに「質問したらすぐに返事がかえってくるんです!!」とか
「(人多かったころの一時期の)mixiコミュの変わり」みたいな使い方はありえないなww
有名人でない限り
良くも悪くもリアルタイムなSNSだよw 敷居が極端にひくいだけで
>>305
それは位置側面でしかないと思うよ
0310デフォルトの名無しさん
2010/06/19(土) 16:47:090311デフォルトの名無しさん
2010/06/19(土) 17:13:32いるなら使ってみたい
0312デフォルトの名無しさん
2010/06/19(土) 17:14:260313デフォルトの名無しさん
2010/06/19(土) 17:35:33お前が発信するんだよ
0314デフォルトの名無しさん
2010/06/19(土) 20:10:26たった140文字だもの。
思い付きをたれながすか、面白いネタを見付けたら通知するとか、その程度だろう。
ブログを追う方がいいんでない?
それか、 WiLiKi や chaton あたりは比較的敷居が低いと思う。
0315デフォルトの名無しさん
2010/06/19(土) 20:13:380316デフォルトの名無しさん
2010/06/19(土) 20:15:46Lisperは発想の転換ができないと思わせるような書き込みはやめてくれ。
Twitterの強みは「組み合わせる」ということだよ。
いろんなWEBサービスを組み合わせてこそTwitterの強みがでてくる。
0317デフォルトの名無しさん
2010/06/19(土) 20:19:12ブログも面白い。ウラム数なんて知らなかった。
0318デフォルトの名無しさん
2010/06/19(土) 20:32:55> 思い付きをたれながすか、面白いネタを見付けたら通知するとか、その程度だろう。
それで十分というか、そっちの方が役に立ったりする
0319デフォルトの名無しさん
2010/06/19(土) 20:39:300320デフォルトの名無しさん
2010/06/19(土) 20:56:10とまべっちも忘れちゃ困るよ!!
苫米地英人 (DrTomabechi) on Twitter
http://twitter.com/drtomabechi
0321デフォルトの名無しさん
2010/06/19(土) 21:04:19これかな
Eiiti Wada (eiitiwada) on Twitter
http://twitter.com/eiitiwada
0322デフォルトの名無しさん
2010/06/19(土) 21:08:330323デフォルトの名無しさん
2010/06/19(土) 21:09:30最初からブログのフィードを RSS リーダとかで見た方がよくね?
0324デフォルトの名無しさん
2010/06/19(土) 21:10:190325デフォルトの名無しさん
2010/06/19(土) 21:11:000326デフォルトの名無しさん
2010/06/19(土) 21:13:52http://practical-scheme.net/wiliki/rssmix.cgi
0327デフォルトの名無しさん
2010/06/19(土) 21:34:00ツギャッターつかってもツイートだけの記事はよみにくいっての。
0328デフォルトの名無しさん
2010/06/20(日) 00:32:120329デフォルトの名無しさん
2010/06/20(日) 09:17:250330デフォルトの名無しさん
2010/06/20(日) 09:30:19織田信長さんとか江崎玲於奈さんとか言わないのと同じ意味で。
0331デフォルトの名無しさん
2010/06/20(日) 09:39:030332デフォルトの名無しさん
2010/06/20(日) 09:40:41貴殿の成功を祈る
0333デフォルトの名無しさん
2010/06/20(日) 09:43:13スーフリの勧誘チラシの画像持ってたはずなのに、どっか行ってしまった。
0334デフォルトの名無しさん
2010/06/20(日) 10:07:38そうだな。俺の役目だな。
スーパーフリーに入るにはどうすればいいんですかね?
0335デフォルトの名無しさん
2010/06/20(日) 11:25:11LispはもっぱらUTI Lispをお使いではないだろうかと思うが。
0336デフォルトの名無しさん
2010/06/20(日) 11:35:29スタンフォード大学のコンピュータサイエンス学部生は
Facebookアプリを作って提出しなければならないそう。
韓国ではだいぶ前から小中学生は宿題をWordで作成し
オンラインで提出してると聞いた。
日本は教育が遅れてる。
約19時間前 Echofonから 100+人がリツイート
TaizoSon
孫泰蔵
↑これマジ?
0337デフォルトの名無しさん
2010/06/20(日) 11:54:040338デフォルトの名無しさん
2010/06/20(日) 14:41:18Blog では MIT Scheme を使ってらっしゃいましたよ
0339デフォルトの名無しさん
2010/06/20(日) 14:59:460340デフォルトの名無しさん
2010/06/20(日) 15:05:08古い教科書のスタイルで書かれた日本語をゆとりの若者が読めないだけで。
0341デフォルトの名無しさん
2010/06/20(日) 15:05:14HHK共同開発の人だろう
0342デフォルトの名無しさん
2010/06/20(日) 15:07:32古文の能力が必要な方がおかしい
0343デフォルトの名無しさん
2010/06/20(日) 15:19:110344デフォルトの名無しさん
2010/06/20(日) 15:38:57独占翻訳権契約とかがあると面倒そうなのでイマイチ取り組めないんだけど、
和田さんにツイッターで聞けば良いのかな?
0345デフォルトの名無しさん
2010/06/20(日) 15:48:40ネットで公開したいのですが問題ないでしょうか?
0346デフォルトの名無しさん
2010/06/20(日) 15:54:150347デフォルトの名無しさん
2010/06/20(日) 15:57:510348デフォルトの名無しさん
2010/06/20(日) 15:59:14別に古語でかかれているわけではありませんが。
「ゆとりは本を読みなれていない」というだけで。
0349デフォルトの名無しさん
2010/06/20(日) 16:03:250350デフォルトの名無しさん
2010/06/20(日) 16:05:46何でわざわざ翻訳で読む必要があるの?
0351デフォルトの名無しさん
2010/06/20(日) 16:07:330352デフォルトの名無しさん
2010/06/20(日) 16:09:34分かり易い翻訳がある事は大事な事ですよ?
0353デフォルトの名無しさん
2010/06/20(日) 16:11:13といって、超訳風にするのも訳者にとっては一種の賭けだったりするようで。
0354デフォルトの名無しさん
2010/06/20(日) 16:12:14確かに学術書が母国語で読めるということは、普段は意識しませんが、非常にすばらしいことですね。
0355デフォルトの名無しさん
2010/06/20(日) 16:13:06読みにくい日本語なんて価値ないわ
0356デフォルトの名無しさん
2010/06/20(日) 16:15:000357デフォルトの名無しさん
2010/06/20(日) 16:15:05役者の力量不足って気がするけどな
0358デフォルトの名無しさん
2010/06/20(日) 16:25:060359デフォルトの名無しさん
2010/06/20(日) 16:25:26基礎訓練って何するん?
0360デフォルトの名無しさん
2010/06/20(日) 16:28:35後の方はそんなに悪くないと思うけどなあ。
少なくとも、俺はあんなに広範囲の話題を扱った本を訳しきる自信はない。
あと、あれが読みにくいっていう人は『いかにして問題をとくか』あたりの訳文も苦手そう。
0361デフォルトの名無しさん
2010/06/20(日) 16:30:23和田さんも地に落ちたもんだ
0362デフォルトの名無しさん
2010/06/20(日) 16:43:42難しい難しいって言いながら読んでて可哀想
0363デフォルトの名無しさん
2010/06/20(日) 16:53:26こんな難しい本に挑んでいる俺スゲーって感じの。
0364デフォルトの名無しさん
2010/06/20(日) 16:55:090365デフォルトの名無しさん
2010/06/20(日) 17:15:40それは確かにある。
bug を「虫」と言ったり、 GC を「ごみ集め」と言うのは昔からある訳語だけど
最近の本しか読まない人には馴染みのない訳語かもしれない。
まあでも、全体としてこれで訳語は統一されているし、
文句を言うのなら、これをそのまま通した編集者に言うところだと思う。
0366デフォルトの名無しさん
2010/06/20(日) 18:23:12悪くない訳だと思うけどな
まだ読み終わって無いけど
0367デフォルトの名無しさん
2010/06/20(日) 18:39:55Lispと物理と英語の三重苦を乗り越える猛者おらんかね?
0368デフォルトの名無しさん
2010/06/20(日) 18:46:23水準に達してない英語の素人の翻訳
0369デフォルトの名無しさん
2010/06/20(日) 19:07:34計算機用語以外は結構ひどい訳語があてられてたりするんだわ
でも、まぁ、原書よこせやゴルァァ状態ではないな
0370デフォルトの名無しさん
2010/06/20(日) 19:10:26自分は英語出来るって思ってるのだろうか
0371デフォルトの名無しさん
2010/06/20(日) 19:11:54ttp://sicp.ipl.t.u-tokyo.ac.jp/
0372デフォルトの名無しさん
2010/06/20(日) 20:44:490373デフォルトの名無しさん
2010/06/20(日) 23:38:11SRFI-43サポートしてるからvector-map使えるよ。
PLTだと
(require srfi/43)
だっけ?
0374デフォルトの名無しさん
2010/06/20(日) 23:39:420375デフォルトの名無しさん
2010/06/21(月) 13:12:16本来なら和田サンが反省して謝罪すべきなんじゃないのか?
何万円もするキーボードを作って売る人にははした金かもしれないけど
うちらは少ない小遣いから捻出して買っているのに
0376デフォルトの名無しさん
2010/06/21(月) 13:16:29つ 自演
0377デフォルトの名無しさん
2010/06/21(月) 13:27:49じゃあ本人に謝罪と賠償でも要求してくればいいんじゃね
0378デフォルトの名無しさん
2010/06/21(月) 13:30:52お前は実現可能性が薄い事をやれと平気で言うようなメンヘラか。
やるとしたら署名活動の方がまだマシだろ。
0379デフォルトの名無しさん
2010/06/21(月) 13:33:57最近は署名活動支援サイトなんてのもあるし。
0380デフォルトの名無しさん
2010/06/21(月) 13:37:00俺は>>375じゃないぞw
まずは活動する前に同じように不満がある人がどれぐらいいるのか目安をつけるのも必要じゃね。
0381デフォルトの名無しさん
2010/06/21(月) 14:18:11今だと twitter や email やらで突撃できるから
実行するだけならそれほどむずかしくないと思うけどなあ。
俺は >>375 の望みが実現されなくても痛くも痒くもないし。
ああ、でも本当に突撃しちゃうと迷惑がかかるからよくないな。
0382デフォルトの名無しさん
2010/06/21(月) 14:28:570383デフォルトの名無しさん
2010/06/21(月) 14:49:33アフィリエイトを貼っておけば丸儲けじゃね?
0384デフォルトの名無しさん
2010/06/21(月) 14:54:030385デフォルトの名無しさん
2010/06/21(月) 15:37:55ソファーに座って、葉巻を葉巻をふかしてる連中にみえる。
和訳本に完璧を求めることより英語を学んで読めるようにしたほうがいいよ。
sicpあたりは公開されてる。toeic 600くらいだったらその気になれば読めるようになる
0386デフォルトの名無しさん
2010/06/21(月) 15:48:33当たり前のことだろ。
これだけ消費者から苦情が出るということはプロとしての仕事が完遂されていないということだろ。
偉そうな態度はどっちだ。
0387デフォルトの名無しさん
2010/06/21(月) 15:55:21俺が知る限りSICPの訳本は酷い出来だという評価がほとんど。
amazonのレビューでもwikipediaでも、おおよそこの本が紹介されるところでは
翻訳のひどさを指摘する声ばかりだ。
訳者の耳にも当然届いていることだろうと思う。
にもかかわらず何の手直しもしないというのはどういう事か。
消費者を馬鹿にするのもいい加減にしろと言いたい。
お前らもそう思うだろ?
0388デフォルトの名無しさん
2010/06/21(月) 16:00:48自分自身には甘いんだよな。
プロ意識が低すぎ。
0389デフォルトの名無しさん
2010/06/21(月) 16:14:18それはよくしらんが東大の学生だったの?ならば暴露しちゃいなよ。
でも、複数の人間がコメントしているような匂いがしないのはなぜだろうか?
0390デフォルトの名無しさん
2010/06/21(月) 16:16:50理由はわかったはレスの時間の連続性と考え方の方向性が同じだからだわ
やっぱり、感情的な起伏を抑えられないならちょっと2ちゃんから離れたほうが
いいだろうな。
0391デフォルトの名無しさん
2010/06/21(月) 16:21:36>お前らもそう思うだろ?
ぜんぜん。
人の同意を求めている暇があったら自分で動いたら。
>>344 にもあるように原文は CC-BY なんだから、
まずは権利関係がどうなってるか調べてみるとか
0392デフォルトの名無しさん
2010/06/21(月) 16:22:12酷いのはSICPに代訳を書き込んだことある。
まあ日本語訳はごく一部しか読んでないけど。
0393デフォルトの名無しさん
2010/06/21(月) 16:28:45本人おつw
0394デフォルトの名無しさん
2010/06/21(月) 16:41:370395デフォルトの名無しさん
2010/06/21(月) 19:16:260396デフォルトの名無しさん
2010/06/21(月) 19:51:42【SICP】計算機プログラムの構造と解釈 Part2
http://pc12.2ch.net/test/read.cgi/tech/1203096230/
0397デフォルトの名無しさん
2010/06/21(月) 19:52:10は?
プロ意識の問題だろ、カス
0398デフォルトの名無しさん
2010/06/21(月) 20:20:04ちょっと古い調子の日本語を使ったらなんで「プロ意識」になるんだ?
0399デフォルトの名無しさん
2010/06/21(月) 20:36:08和田先生の訳本が出たのは2000年で
いかに問題を解くかの訳本が出たのは1954年だぞ
訳者がその筋の権威だからといって無理に擁護するから話がこじれる
気に入らないなら無料公開されてる原書を読めで終了する話だ
0400デフォルトの名無しさん
2010/06/21(月) 20:53:33「いかに問題を解くか」の原著が1956年、訳本は1975年です。
http://www.amazon.co.jp/dp/4621045938
>1956年に原著が出版されたのち、多くの読者から支持をうけ、
http://pub.maruzen.co.jp/book_magazine/book_data/search/4621045938.html
>【発行年月】1975年04月
0401デフォルトの名無しさん
2010/06/21(月) 21:02:09実際に出た日付が異なるのはよくあること
0402デフォルトの名無しさん
2010/06/21(月) 21:07:510403デフォルトの名無しさん
2010/06/21(月) 21:09:5411版が出たのが1975年
0404デフォルトの名無しさん
2010/06/21(月) 21:10:38http://b.hatena.ne.jp/entry/twitter.com/matsudatsumugu/status/14293440599
確かGaucheの人がやってるチャットみたいなのなかった?
0405デフォルトの名無しさん
2010/06/21(月) 21:17:18敬意の問題とか個人の英語力の問題に摺り替えて何が楽しいのか知らんけど、
それじゃ若い人の賛同は得られないよ。
ちなみに俺は初めて TOEIC を受けた時から 600 点は軽く超えていたけど、
自分が読めると言う事と、良い訳本が必要であると言う事は全く別の問題
である事も知っているよ。
0406デフォルトの名無しさん
2010/06/21(月) 21:26:41面白そう
日本語動くのかな
0407デフォルトの名無しさん
2010/06/21(月) 21:36:56消費者として支払いに応じた水準の物を得たい、という話なら出版社に言えば良い。
あるいは、公の場で批判を展開したいなら、然るべき場所ですれば良い。
何故ここに書き込むんだ? 和田先生も関係者もここには居ない。
恩も義理もないから、別に和田先生の擁護なんてしていない。
ただ、スレ違いだって言っているんだけど、それすら分からない国語力?
0408デフォルトの名無しさん
2010/06/21(月) 21:36:59emacsで縦に画面割って片方SICP,片方処理系動かしておいてる。
最近のPCは画面広いから無理な改行がなくて良い。
0409デフォルトの名無しさん
2010/06/21(月) 21:42:42君の過去のレスがどれだか知らんけど、そういう話がしたいなら
『スレ違いだから終わりにしろ』って書くだけで良いんじゃね?
もしかして誰かが賛同してくれるかもよ。
0410デフォルトの名無しさん
2010/06/21(月) 21:50:24ttp://docs.racket-lang.org/guide/strings.html
ttp://docs.racket-lang.org/guide/encodings.html
ttp://docs.racket-lang.org/reference/bytestrings.html
元がPLTなので当然使えます。外部表現のデフォルトはUTF-8です。
標準でサポートされていないエンコーディングはiconv経由で変換されます。
0411デフォルトの名無しさん
2010/06/21(月) 21:51:24意図的に原文をそのまま置き換えるスタイルを選んだらしい。
それが実際にわかりにくいと思う人がいる以上、選択が失敗だったんだろう。
で? だからどうしたという話なんだよな。 どうでもいいじゃないそんなこと。
この値段ならこんなものんだろ。
0412デフォルトの名無しさん
2010/06/21(月) 21:51:42>>396だけど、そう読めませんでしたか?
0413デフォルトの名無しさん
2010/06/21(月) 21:55:040414デフォルトの名無しさん
2010/06/21(月) 21:56:35Chaton
ttp://practical-scheme.net/chaton/
0415デフォルトの名無しさん
2010/06/21(月) 21:57:29残念だけど、みんなには伝わらなかったみたいね。
0416デフォルトの名無しさん
2010/06/21(月) 21:58:22わかりにくいんじゃなくて和田が未熟なだけだろ
よくあんなん出していばってられるよ
0417デフォルトの名無しさん
2010/06/21(月) 22:00:13この流れ、竹内本のときに非常に良く似てる。
0418デフォルトの名無しさん
2010/06/21(月) 22:01:370419デフォルトの名無しさん
2010/06/21(月) 22:03:16値段の問題に摺り替えて何が嬉しいのか知らんけど、
どうでもいいならスルーしてなよ。
0420デフォルトの名無しさん
2010/06/21(月) 22:19:57英語が不得意ですから、
LISPは直感で理解しにくい。
機械翻訳にLISPを使うならば、
役立つことは、知られている。
すでに、
プログラマーで
LISPが
わかりにくい人は、
基本的な、データ構造を、
アッセンブリ言語レベルで
理解に努めると、
きっかけがつかめる。
0421デフォルトの名無しさん
2010/06/21(月) 23:09:16こんなおかしな翻訳本は出してないだろうな。
0422デフォルトの名無しさん
2010/06/21(月) 23:59:43こんなおかしな書き込みはしてないだろうな。
0423デフォルトの名無しさん
2010/06/22(火) 00:16:130424デフォルトの名無しさん
2010/06/22(火) 00:23:25SICP日本語版は電子化しないでそのまま捨てた
0425デフォルトの名無しさん
2010/06/22(火) 01:11:29日本語として読めるかどうかなぞどうでもよく
原文の用語や構造を極力保存した翻訳することこそが
伝統的にはプロの仕事。
0426デフォルトの名無しさん
2010/06/22(火) 01:19:57悪しき伝統って奴か…
0427デフォルトの名無しさん
2010/06/22(火) 03:26:440428デフォルトの名無しさん
2010/06/22(火) 06:45:000429デフォルトの名無しさん
2010/06/22(火) 07:32:33大勢の読者は単なる翻訳じゃなくてその道の専門家による解釈を求めてるのに
0430デフォルトの名無しさん
2010/06/22(火) 07:44:01shiroさんのIslandLife「言語Xは速い、というのは」とかその前の記事とか
語ること一杯あるだろ
0431デフォルトの名無しさん
2010/06/22(火) 08:15:580432デフォルトの名無しさん
2010/06/22(火) 08:37:43学術書には訳者の意図・解釈が入り込むべきではないという考え方がある。
こなれた日本語にしようとするとどうしたって「意訳」になる部分が出てくるし、
そこには (原文にはないはずの) 訳者の考え方が反映される。
程度問題だし、今では必ずしも受け入れられないのはわかるけど、
和田っちは年寄りだしなぁ…。
ジェネレーションギャップってやつかもな。
0433デフォルトの名無しさん
2010/06/22(火) 08:40:090434デフォルトの名無しさん
2010/06/22(火) 08:49:070435デフォルトの名無しさん
2010/06/22(火) 09:26:160436デフォルトの名無しさん
2010/06/22(火) 10:18:31http://racket-lang.org/
From PLT Scheme to Racket
http://racket-lang.org/new-name.html
PLT schemeが「Racket」に名前を変えて再デビュー
http://d.hatena.ne.jp/karasuyamatengu/20100612/1276292288
Racketは利用者増加を目標にしているのですね。
このまま実用言語路線を順調に進んで欲しいです。
0437デフォルトの名無しさん
2010/06/22(火) 10:27:30今のとこ、中身まんまPLT Schemeなんだから、何も変わらんと思う。
PLTとGaucheだと、目標は同じ実用でも、アプローチがかなり違うし。
むしろ、R7RSがどうなるのかってのが気になる。遠い未来だろうけど。
今後、PLTの連中が積極的に仕様策定に関わるとも思えない。
RnRSはサポートするって言ってるけど、言語としてのRacketでは、
Clojureばりに独自路線を突っ走りそう。
0438デフォルトの名無しさん
2010/06/22(火) 10:36:290439デフォルトの名無しさん
2010/06/22(火) 10:38:060440デフォルトの名無しさん
2010/06/22(火) 10:41:330441デフォルトの名無しさん
2010/06/22(火) 10:48:40Steering CommitteeのWG1とWG2ができたわけだけど、
どうにも前途に暗雲が立ち込めてるような。
WG2とかまとめる体力があるのかが謎。
RnRSとSRFIで良かったのに。
PLTの名称変更は、マーケティング的な理由以外に、
機能拡張で規格に足を引っ張られたくないってのもある気がする。
原理主義者に準拠度を指摘されても、これ方言だから、で済むし。
0442デフォルトの名無しさん
2010/06/22(火) 11:41:52ライブラリでカバーすれば良し
第一、仕様が複雑だったら簡単に実装できなくなっちゃうじゃんww
0443デフォルトの名無しさん
2010/06/22(火) 11:51:13「○○は△△と本質的に同じだから興味がない」
とか流行を追いかけない言い訳を自分自身にするような老いた奴らばっかでキモい
流行を追いかけないんじゃなくて、ジジイは体力が無くて追いかけられないんだろうが
なんかスレを見ていたらありとあらゆる機会を華麗にスルーしているようにしか見えない
0444デフォルトの名無しさん
2010/06/22(火) 12:16:130445デフォルトの名無しさん
2010/06/23(水) 01:09:570446デフォルトの名無しさん
2010/06/23(水) 04:02:320447デフォルトの名無しさん
2010/06/23(水) 05:49:40あと Revised Report のころの Scheme にはプロセス生成のプリミティブがあったりとか
研究レベルだといろいろあるんだけどねえ
あと Termite というのもあったっけ
0448デフォルトの名無しさん
2010/06/23(水) 21:09:04一時期熱中していた。15年以上誰もコレ指摘しなかったのかよwみたいな自己満足で…。
0449デフォルトの名無しさん
2010/06/24(木) 02:58:380450デフォルトの名無しさん
2010/06/24(木) 04:03:210451デフォルトの名無しさん
2010/06/24(木) 05:05:16たぶんもう売ってないんじゃないかな?
0452デフォルトの名無しさん
2010/06/24(木) 05:06:26> 中古品3点¥ 12,800より
0453デフォルトの名無しさん
2010/06/24(木) 10:51:3312,800円!
0454デフォルトの名無しさん
2010/06/24(木) 12:50:010455デフォルトの名無しさん
2010/06/24(木) 23:10:120456デフォルトの名無しさん
2010/06/24(木) 23:16:27遅レスすまん
そしてレスサンクス!
scheme覚えたてで、困ってた。
0457デフォルトの名無しさん
2010/06/26(土) 00:00:54.emacsに
(setq scheme-program-name "gosh")
て書いてschemeのコードを評価しようとしたら
output file descriptor of scheme is closed
って出る
0458デフォルトの名無しさん
2010/06/26(土) 17:47:58http://thinkit.co.jp/article/74/4
0459デフォルトの名無しさん
2010/06/26(土) 18:49:16"gosh" じゃなくて "gosh -i" としても駄目?
0460デフォルトの名無しさん
2010/06/27(日) 14:06:51うまくいきました
ありがとうございます
0461デフォルトの名無しさん
2010/06/28(月) 15:22:07Logic Programmingが
amb
じゃなくて
stream
ベースになってるのはなんで?
ambの方が自然な気がするんだけど
0462デフォルトの名無しさん
2010/06/28(月) 22:12:571行おきに
短く書くのはなんで?
0463デフォルトの名無しさん
2010/06/28(月) 23:52:47まで
導入するのは
やりすぎ
と思ったからでは?
というか
4.4.2-2
0464デフォルトの名無しさん
2010/06/29(火) 08:58:42スペースケチらずに
読みやすく行間空けろよな
って電子書籍とか
読んでて思うわ
0465デフォルトの名無しさん
2010/06/29(火) 10:45:530466デフォルトの名無しさん
2010/06/29(火) 13:37:22れ
は
わ
た
し
の
お
0467デフォルトの名無しさん
2010/06/29(火) 15:40:34ポール グレアム
だからさ
ねぇ
lispしてよ
0468デフォルトの名無しさん
2010/06/30(水) 23:52:23schemeでモナド
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.2885
0469デフォルトの名無しさん
2010/07/01(木) 23:40:01国産LISPマシンELISの設計者である、JAIST副学長日比野先生が、この夏、ELISの復活祭を企画されています。
復活祭には、竹内先生をはじめ、TAO/ELISに関わった方々に多数ご講演いただきます。
会場が石川県とちょっと遠いですが、小旅行気分で、ぜひぜひ多くのLISPファンのみなさまにご参加いただきたいと思います。(yshigeru)
日時:8/7(土)〜8/9(月)
場所:JAIST(石川県美濃市)
詳細と参加申し込みは、ELIS復活祭ページをご参照下さい
http://www.jaist.ac.jp/elis-revival/home.html
0470デフォルトの名無しさん
2010/07/02(金) 03:55:59emacs23じゃなぜダメなんだろう
0471デフォルトの名無しさん
2010/07/02(金) 15:03:41東京でやれよ
0472デフォルトの名無しさん
2010/07/02(金) 16:48:40能美市だろ!
0473デフォルトの名無しさん
2010/07/02(金) 18:07:190474デフォルトの名無しさん
2010/07/02(金) 19:34:57俺の実家の近くだ。よく覚えておけ。
JAIST周辺は山しかないからな!
0475デフォルトの名無しさん
2010/07/02(金) 19:41:380476デフォルトの名無しさん
2010/07/02(金) 20:03:19行きたい
0477デフォルトの名無しさん
2010/07/02(金) 20:19:37しかも、あの閑散とした牢獄のような場所に。
0478デフォルトの名無しさん
2010/07/02(金) 20:33:20恥ずかしい
0479デフォルトの名無しさん
2010/07/03(土) 01:50:200480デフォルトの名無しさん
2010/07/03(土) 02:01:470481デフォルトの名無しさん
2010/07/03(土) 20:58:56山形がんばれ
0482デフォルトの名無しさん
2010/07/04(日) 01:25:220483デフォルトの名無しさん
2010/07/04(日) 08:09:490484デフォルトの名無しさん
2010/07/04(日) 09:04:23なんで今更ELISみたいなゴミを復活させる必要があるんですか?
メリットは何ですか?
0485デフォルトの名無しさん
2010/07/04(日) 09:07:43しかも論文って(笑)
もうサイト見ただけで古さがにじみ出ていますね(笑)
0486デフォルトの名無しさん
2010/07/04(日) 09:09:37こんなんじゃいつまで経っても若い人は集まらないねw
0487デフォルトの名無しさん
2010/07/04(日) 09:47:16何がしたいんだろ
0488デフォルトの名無しさん
2010/07/04(日) 10:20:33展示品のひとつくらいの扱いが妥当でしょ?
0489デフォルトの名無しさん
2010/07/04(日) 10:56:34ちゃらけた勉強会でもモナドを実装してみましたーとか、将棋ソフト用のDSL作ってみましたーとか
そういうお遊び的なものばかりで、何か計算機科学的ないしはソフトウェア工学的な進歩が
全然感じられないんだよね。
懐古主義ばっかりで若い人からしたら面白くないんじゃないかな。
若い人取り込まないと廃れるばっかりだよ。
0490デフォルトの名無しさん
2010/07/04(日) 10:59:26wwwwwwww
0491デフォルトの名無しさん
2010/07/04(日) 11:02:380492デフォルトの名無しさん
2010/07/04(日) 11:06:47年寄りのモチベーション維持が目的です
0493デフォルトの名無しさん
2010/07/04(日) 12:19:530494デフォルトの名無しさん
2010/07/04(日) 12:42:48とかないかなー
0495デフォルトの名無しさん
2010/07/04(日) 12:50:10LISPマシンなんてただのオモチャじゃん。
JAVAバイトコードがネイティブで動くJAVAチップっていうのもあったけど、
結局はINTELチップのほうが進歩も早くて、VMで動かしたほうがメリットが大きかったから廃れてしまった。
LISPマシンもJAVAマシンも歴史的に同じことを繰り返したに過ぎないんだよね。
そういう歴史を踏まえて、新たにLISPマシンを作るメリットって何なんだろう?
0496デフォルトの名無しさん
2010/07/04(日) 13:12:02この憎悪に凝り固まったレスの数々には引いてしまうな
0497デフォルトの名無しさん
2010/07/04(日) 13:13:040498デフォルトの名無しさん
2010/07/04(日) 13:25:02長い分知識も動向も上なのだから、アイディアゲットするために
結局それに付き合うしかないよ。
文書で残してくれるかどうかなんてわからないんだから。
0499デフォルトの名無しさん
2010/07/04(日) 13:47:150500デフォルトの名無しさん
2010/07/04(日) 13:57:41車輪の再発明の例:
rubyインタプリタを実装してみました←既にあります
車輪の再発明でない例:
世界最速のrubyインタプリタを実装してみました←早いということはアルゴリズムが違うのだろう。新規性高し。
0501デフォルトの名無しさん
2010/07/04(日) 14:04:36自分の無知を晒して楽しいか?
0502デフォルトの名無しさん
2010/07/04(日) 14:23:49無知だということは自覚していますが、
さらに深い考えをお持ちでしたら、そのお考えをお聞かせ願えますか?
0503デフォルトの名無しさん
2010/07/04(日) 15:33:05理由もなく批判したい年頃の子供だったということか。
0504デフォルトの名無しさん
2010/07/04(日) 17:22:060505デフォルトの名無しさん
2010/07/04(日) 20:13:46情報処理学会が金だすの?
嫌だなあ
0506デフォルトの名無しさん
2010/07/04(日) 22:22:160507デフォルトの名無しさん
2010/07/04(日) 22:25:400508デフォルトの名無しさん
2010/07/04(日) 23:08:010509デフォルトの名無しさん
2010/07/04(日) 23:17:48中学校の PC には Vz が入ってたんだけど、
中高生の小遣いで Vz は高いからなぁ。
似たような操作感の Elis はたいそう重宝した。
0510デフォルトの名無しさん
2010/07/04(日) 23:22:19別に使ってもいないのに
0511デフォルトの名無しさん
2010/07/04(日) 23:38:52matzはperlとSmallTalkの方だけ見てろよと
0512デフォルトの名無しさん
2010/07/04(日) 23:45:48現代版LISPの1つも作れない事実
0513デフォルトの名無しさん
2010/07/05(月) 00:32:28復活祭やるほどのもんでもないと思うが
0514デフォルトの名無しさん
2010/07/05(月) 00:42:08ライブラリーがダメな状況に通じるものがあるな
0515デフォルトの名無しさん
2010/07/05(月) 01:13:45今で言うMicrosoftのKINみたいな
0516デフォルトの名無しさん
2010/07/05(月) 01:29:36現代版Lispって、今のLispのどこに不満があるの?
0517デフォルトの名無しさん
2010/07/05(月) 02:50:15いくら日本がIT後進国でも
もうちょっと何かあるだろ
0518デフォルトの名無しさん
2010/07/05(月) 03:46:470519デフォルトの名無しさん
2010/07/05(月) 14:15:03すぐに廃れるって言ってすげーやる気なかった。
0520デフォルトの名無しさん
2010/07/05(月) 14:45:270521デフォルトの名無しさん
2010/07/05(月) 16:22:58Rubyのイベントにした方がいいだろ
0522デフォルトの名無しさん
2010/07/05(月) 16:38:250523デフォルトの名無しさん
2010/07/05(月) 17:12:390524デフォルトの名無しさん
2010/07/05(月) 17:32:53憎悪というか、懐古主義って年寄りは昔を懐かしむだけで、
若者にとっては何の感慨もないから面白くもなんとも無いし、
全体的に後ろ向きなイメージしか無いんだよね。
それをやることで何か将来的な展望が開けたりするのかというとそうでもなさそうだし、
若者にとっては不愉快以外のナニモノでもないだろうね。
0525デフォルトの名無しさん
2010/07/05(月) 19:20:17Elisの情報あるのnue.orgだけだし
0526デフォルトの名無しさん
2010/07/05(月) 19:59:26開発者は自画自賛してるのか
0527デフォルトの名無しさん
2010/07/05(月) 20:02:010528デフォルトの名無しさん
2010/07/05(月) 20:13:01日比野はもう辞めた方がいい
0529デフォルトの名無しさん
2010/07/05(月) 20:41:48でしゃばらずひっそりと消えてくれよ
0530デフォルトの名無しさん
2010/07/05(月) 21:05:00当時の lisp は進んでいたのだが、あー、もう随分昔に停滞してしまったんですかね。common lisp よりあとで発展したものはありますかね?
0531デフォルトの名無しさん
2010/07/05(月) 21:09:240532デフォルトの名無しさん
2010/07/05(月) 21:09:48lisp祭にしろよ
0533デフォルトの名無しさん
2010/07/05(月) 22:05:36ようやくって、もう相当前から当たり前になってるけどw
0534デフォルトの名無しさん
2010/07/05(月) 22:57:02Clojure。他の関数型からエッセンスを取り込んだモダンなLisp。
Arc。ひたすら実用指向の、様々な新しい取り組みをしているLisp。
他にも、R6RS Schemeのマクロにおけるsyntactic closureとか、
割と新しい概念も出てきてる。他の言語に取り込めるかは別だけど。
昔ほど影響力を発揮していないのは事実だと思う。
ユーザが他の多くの言語に分散してしまったし、
他の言語の表現力も高まったから。
0535デフォルトの名無しさん
2010/07/05(月) 23:31:070536デフォルトの名無しさん
2010/07/06(火) 00:11:320537デフォルトの名無しさん
2010/07/06(火) 00:14:583.1 きたね
最新のMzScheme対応
236 名前:デフォルトの名無しさん[sage] 投稿日:2009/12/03(木) 20:49:25
どうよ、最近
クリスマスの予定は決まったか??
237 名前:デフォルトの名無しさん[sage] 投稿日:2010/01/11(月) 23:30:12
言語仕様書みたいなのって無いの?
238 名前:デフォルトの名無しさん[] 投稿日:2010/02/04(木) 23:28:10
すっかり過疎ったな
239 名前:デフォルトの名無しさん[] 投稿日:2010/04/08(木) 21:08:21
誰か使ってる奴いる?
240 名前:デフォルトの名無しさん[sage] 投稿日:2010/05/02(日) 16:23:33
ちょっとだけ
0538デフォルトの名無しさん
2010/07/06(火) 00:32:42本家のforumは↑まで過疎ってない。
0539デフォルトの名無しさん
2010/07/06(火) 01:10:310540デフォルトの名無しさん
2010/07/06(火) 05:28:033日間もやるなんて恥ずかしくないのか
0541デフォルトの名無しさん
2010/07/06(火) 06:33:320542デフォルトの名無しさん
2010/07/06(火) 07:16:04Elisなんてタイトルにつけるのは図々しいだろよ
0543デフォルトの名無しさん
2010/07/06(火) 07:17:56方言が多すぎて何を学べばいいかわからないんだが・・・
0544デフォルトの名無しさん
2010/07/06(火) 07:18:57存在する認識されないゴミの復活祭を
3日間もやる方がおかしいって気づけよ馬鹿
0545デフォルトの名無しさん
2010/07/06(火) 07:31:47石川までわざわざElis起動するとこ見て拍手しにいくとは思えないし
0546デフォルトの名無しさん
2010/07/06(火) 07:37:120547デフォルトの名無しさん
2010/07/06(火) 07:43:37とりあえず、 Clojure がお勧め。
何といってもモダーンで、STM とか遅延シーケンスとか入ってるし、
java ベースだからライブラリも山ほどある。
0548デフォルトの名無しさん
2010/07/06(火) 12:40:25自演じゃないってw
0549デフォルトの名無しさん
2010/07/06(火) 12:41:070550デフォルトの名無しさん
2010/07/06(火) 12:43:35パチパチパチ
0551デフォルトの名無しさん
2010/07/06(火) 13:07:19ILC、過去の開催だと、奇数年開催だから、今年は論文増えてるのか、ただの記念大会なのかどうなんだろ。
0552デフォルトの名無しさん
2010/07/06(火) 13:57:050553デフォルトの名無しさん
2010/07/06(火) 14:08:03専用ハードに、ほぼ単一に近い言語環境。
電電公社ならではの採算も将来性も度外視したプロジェクト。
0554デフォルトの名無しさん
2010/07/06(火) 14:12:570555デフォルトの名無しさん
2010/07/06(火) 14:16:15その馬鹿が今でも自画自賛し続ける馬鹿であり続けるのは何でだ
0556デフォルトの名無しさん
2010/07/06(火) 14:17:560557デフォルトの名無しさん
2010/07/06(火) 14:18:37ノーベル賞だらけじゃん
0558デフォルトの名無しさん
2010/07/06(火) 14:19:510559デフォルトの名無しさん
2010/07/06(火) 14:26:53誇らしげに若者に見せるのか
0560デフォルトの名無しさん
2010/07/06(火) 14:42:42正直に言わない人がいる気持ち悪さが原因のような気がする。
え?これで成功なの?ふ、ふーん・・・あんまり面白くなさそうね・・・w
って感じ
0561デフォルトの名無しさん
2010/07/06(火) 14:55:08それは強引に因果関係を結び付けすぎw
0562デフォルトの名無しさん
2010/07/06(火) 15:22:100563デフォルトの名無しさん
2010/07/06(火) 15:51:550564デフォルトの名無しさん
2010/07/06(火) 15:54:040565デフォルトの名無しさん
2010/07/06(火) 16:36:53ありがとう。参考にします
0566デフォルトの名無しさん
2010/07/06(火) 16:44:560567デフォルトの名無しさん
2010/07/06(火) 17:39:440568デフォルトの名無しさん
2010/07/06(火) 17:54:29とりあえず、TAOがお勧め。
何といってもマルチパラダイムで、論理型パラダイムとかオブジェクト指向パラダイムとか入っているし、
独自ベースだからライブラリ殆どなくて、すぐ覚えてしまえる。
0569デフォルトの名無しさん
2010/07/06(火) 20:17:000570デフォルトの名無しさん
2010/07/06(火) 20:26:21男なら自前で勝負しろよ
0571デフォルトの名無しさん
2010/07/06(火) 22:41:38マシンごと作ったTAO/ELISの大勝利だな
0572デフォルトの名無しさん
2010/07/06(火) 22:58:190573デフォルトの名無しさん
2010/07/06(火) 23:00:27資料が少なすぎる気が・・・
探してみます
0574デフォルトの名無しさん
2010/07/06(火) 23:53:03Lispの主流な方言はふたつあって、Common LispとScheme。
Common Lispは実用が信条。Schemeは単純さが信条。
個人的には新興のClojureを勧める。
>>567
作者が仕事で使ってるから実用指向。
速度もライブラリの充実度もそこそこ。
日本語でコミュニケーションを取れる。
0575デフォルトの名無しさん
2010/07/06(火) 23:54:42TAOはネタだから騙されんな。
0576デフォルトの名無しさん
2010/07/07(水) 00:09:32わかりやすい解説ありがとうございます
Clojureを勉強してみます
0577デフォルトの名無しさん
2010/07/07(水) 00:11:44javaのapiが使えるとかいうウリだけど、
実際書いてみるとすごい不自然で使いにくいから。
ロジックの部分は便利なんだけどね。
0578デフォルトの名無しさん
2010/07/07(水) 00:16:00そ、そうだったんですか・・・
0579デフォルトの名無しさん
2010/07/07(水) 00:16:19ライブラリも揃ってるしな。
0580デフォルトの名無しさん
2010/07/07(水) 00:31:13読破すれば、どの処理系でもとりあえずおk
0581デフォルトの名無しさん
2010/07/07(水) 00:31:47マクロでLisp的なインターフェイスにしたりしないの?
個人的には、Clojureの欠点は、Java仮想マシンで動くってことだと思う。
最大の利点でもあるわけだけど、それによる制限も大きいんじゃないかと。
0582デフォルトの名無しさん
2010/07/07(水) 01:09:07ん〜・・・
ゆっくり考えてから決めようと思います
>>580
ありがとう。
>>579
悩みます・・・
0583デフォルトの名無しさん
2010/07/07(水) 01:51:35全部Lisp語族なのは確かなので、ひとつ覚えると他に移るのも割と簡単。
というか、Scheme使える人は高い確率でCommon Lispも使えるし、逆も同様。
ClojureやArcも似た様なもんだし、適当で良いよ適当で。
0584デフォルトの名無しさん
2010/07/07(水) 04:50:18両方買ったけど俺にはさっぱりわからんかった。
ごく基本的な部分がわかってなかったので
思想的な部分から解説してくれる 初めての人のためのLISP を読んでる
雑談が多いので好き嫌いはわかれるが雑談飛ばして読むとすごく読んだ気になるのもよい。
0585デフォルトの名無しさん
2010/07/07(水) 11:32:47興味のある言語にLispと書いておいたら面接で爆笑された
Railsエンジニアを募集してる会社の採用面接を受けた時の話。
転職エージェントに作れと言われて作ったシートに、「興味のある技術/言語」という欄があったんです。
仮想化技術とか色々書いたけど、プログラミング言語の中で興味があるのはLispだったので、
Lispと書いておいたのですが、それを見た面接官のリアクションが酷かった。
面接官「Lisp・・・ふははっ!Lisp!」
面接官「Lispやってるんですか?wwwww」
俺「(唖然)は、はい・・まだS式を理解したぐらいですが。。」
面接官「Lisp・・・ニヤニヤ」
その人はエンジニアで、当然Rubyのコードを書いている人だったので、
Rubyが「Matz Lisp」と呼ばれている事を知らないワケが無いだろうと思っていた。
つまり、このリアクションは"理不尽な状況に直面した時にどう対応するか"を見ているんだろうと判断し、あえて突っ込みは入れずに対処した。
しかし最後の質問で「何故RoRを採用したんですか?」と聞くと、
気まずそうに理由を話し、最後に「・・・と、聞いてます」と答えた。
つまりこの人は上からRubyを採用すると言われたから使っているのであって、
特別Rubyに思い入れとか無いリーマンエンジニアなんだなあと分かった。
mix-inとかもLisp発のテクニックだし、RubyやってるならLispに興味を持つのは普通だと思うんだけどなあ。
多分ガチで知らなかったんだろう。
0586デフォルトの名無しさん
2010/07/07(水) 12:06:43Gmbit-Cのコードなんて汚すぎてみれなかった
0587デフォルトの名無しさん
2010/07/07(水) 12:14:030588デフォルトの名無しさん
2010/07/07(水) 12:15:52読んでも力は付かないよ
0589デフォルトの名無しさん
2010/07/07(水) 14:16:130590デフォルトの名無しさん
2010/07/07(水) 15:02:350591デフォルトの名無しさん
2010/07/07(水) 15:15:450592デフォルトの名無しさん
2010/07/07(水) 15:18:31セルをパースしていって子のセルに依存することなく
演算結果を出せる所までたどったあとは、
それらの計算を順次それぞれの言語へ変換してやるだけでいいんかいのう?
0593デフォルトの名無しさん
2010/07/07(水) 16:19:280594デフォルトの名無しさん
2010/07/07(水) 17:05:12> Scheme使える人は高い確率でCommon Lispも使えるし
SICPの影響でこうは言えない時代だと思う。
0595デフォルトの名無しさん
2010/07/07(水) 18:08:390596デフォルトの名無しさん
2010/07/07(水) 18:37:05R6RSは主要処理系開発者に反対されまくって半ば頓挫、
SRFIは基本的なもの以外は対応が遅くてもう駄目。
0597デフォルトの名無しさん
2010/07/07(水) 19:47:290598デフォルトの名無しさん
2010/07/07(水) 19:58:470599デフォルトの名無しさん
2010/07/07(水) 20:30:50丁寧にありがとうございました
0600デフォルトの名無しさん
2010/07/07(水) 22:28:36Railsエンジニアを募集してる会社の採用面接を受けた時の話。
転職エージェントに作れと言われて作ったシートに、「興味のある技術/言語」という欄があったんです。
仮想化技術とか色々書いたけど、プログラミング言語の中で興味があるのはTaoだったので、
Taoと書いておいたのですが、それを見た面接官のリアクションが酷かった。
面接官「Tao・・・ふははっ!Tao!」
面接官「Taoやってるんですか?wwwww」
俺「(唖然)は、はい・・まだS式を理解したぐらいですが。。」
面接官「Tao・・・ニヤニヤ」
その人はエンジニアで、当然Rubyのコードを書いている人だったので、
Rubyが「Matz Lisp」と呼ばれている事を知らないワケが無いだろうと思っていた。
つまり、このリアクションは"理不尽な状況に直面した時にどう対応するか"を見ているんだろうと判断し、あえて突っ込みは入れずに対処した。
しかし最後の質問で「何故RoRを採用したんですか?」と聞くと、
気まずそうに理由を話し、最後に「・・・と、聞いてます」と答えた。
つまりこの人は上からRubyを採用すると言われたから使っているのであって、
特別Rubyに思い入れとか無いリーマンエンジニアなんだなあと分かった。
mix-inとかもLisp発のテクニックだし、RubyやってるならTaoに興味を持つのは普通だと思うんだけどなあ。
多分ガチで知らなかったんだろう。
0601デフォルトの名無しさん
2010/07/07(水) 22:30:490602デフォルトの名無しさん
2010/07/07(水) 23:11:05いい選択だね。Common Lispを学ぶのは孤独で長く険しい道だが、がんばってくれ。
0603デフォルトの名無しさん
2010/07/07(水) 23:22:480604デフォルトの名無しさん
2010/07/07(水) 23:38:30Common Lispが良いと思って決めたんなら良いと思うぜ。
Clojure勧めたけど、俺が普段使ってるのもCommon Lispだし。
定番のSBCL、WindowsやMacで便利なClozure CL、軽量なCLISP辺りがお勧めだけど、
どの処理系を使うか迷ったらCommon Lispスレにどうぞ。
0605デフォルトの名無しさん
2010/07/08(木) 01:14:05CLだったら、LispBoxかxyzzy
schemeなら、GaucheboxかRacket
辺りじゃね?
0606デフォルトの名無しさん
2010/07/08(木) 09:34:22どういう頭しているのか
世の中に影響を与えなかったから出来る芸当だな
0607デフォルトの名無しさん
2010/07/08(木) 09:59:520608デフォルトの名無しさん
2010/07/08(木) 10:41:23神様とかいって擦り寄っている連中が気持ち悪い
0609デフォルトの名無しさん
2010/07/08(木) 11:38:19海外でも自分のことLispの神様って言っているの?
0610デフォルトの名無しさん
2010/07/08(木) 11:45:10実際に影響がある場合もある。
時と場合ややり方にもよる。
0611デフォルトの名無しさん
2010/07/08(木) 11:57:02とか言って呼んでいるのが一人しかいない件について
0612デフォルトの名無しさん
2010/07/08(木) 13:27:23自分たちで声高に叫ばないと存在した痕跡すら残らない
自画自賛の復活祭なんてものまでやる始末
誰が神様なんて言い出しんだろうね
0613デフォルトの名無しさん
2010/07/08(木) 13:41:560614デフォルトの名無しさん
2010/07/08(木) 13:54:13言葉で大きくみせるのが好きだよなこいつ
IT詐欺師じゃないの?
0615デフォルトの名無しさん
2010/07/08(木) 13:55:59信者の擁護も意味不明だ
0616デフォルトの名無しさん
2010/07/08(木) 13:56:41いろんな疑惑がある最中なのにやるんだ
同じ時期に、どう書くのCommon Lisp荒らしたのも同じ奴かな
http://ja.yourpedia.org/wiki/2ch
2ちゃんねるは、いくつもの電子掲示板の集合体である。
ウィキペディア日本語版では証拠不十分であることを理由に、
実際の運営方法については一切述べられていない。
2001年当時、西和彦の「煽り屋がいる。いれば繁盛するから。」という指摘に対し、
西村博之はこの存在をきっぱりと否定している。
すでにこの時点で、ユーザーのアクセス数に応じて多彩なBOT返信を
スクリプトを用いてスレッド上に書き込むプログラムが組まれていたことが判明している。
スレッド上にノイズが多い場合は、自動返信がなされているものと見て差し支えない。
0617デフォルトの名無しさん
2010/07/08(木) 13:59:33> スクリプトを用いてスレッド上に書き込むプログラムが組まれていたことが判明している。
> スレッド上にノイズが多い場合は、自動返信がなされているものと見て差し支えない。
残念ながらこの記述は、ウィキペディアに張り付いてる同類の変な人が書いたものでしょう。
暇な馬鹿が必死になってやってるだけですよ。あるいは未踏の応募を蹴られた私怨か。
0618デフォルトの名無しさん
2010/07/08(木) 14:04:30信者の人ってこんな文章読んで、
なるほどとか、素晴らしいとか、為になるとか思うん?
0619デフォルトの名無しさん
2010/07/08(木) 14:07:26今の日本の惨状があるのに、そいつらが若者に何を伝えるの?
0620デフォルトの名無しさん
2010/07/08(木) 14:52:54実態は意味不明な思いつきの羅列を口走っているだけだけど
0621デフォルトの名無しさん
2010/07/08(木) 14:57:470622デフォルトの名無しさん
2010/07/08(木) 15:11:30もしくは別のスレ行け
0623デフォルトの名無しさん
2010/07/08(木) 15:22:050624デフォルトの名無しさん
2010/07/08(木) 16:08:050625デフォルトの名無しさん
2010/07/08(木) 20:22:11似た臭いがするよね。
0626デフォルトの名無しさん
2010/07/09(金) 00:33:23webのページランクと似たような仕組みですな
神様にまでなっちゃったけどw
0627デフォルトの名無しさん
2010/07/09(金) 00:51:41まわりが言っているからオウムみたく繰り返しているだけでしょ?
0628デフォルトの名無しさん
2010/07/09(金) 00:53:080629デフォルトの名無しさん
2010/07/09(金) 01:29:400630デフォルトの名無しさん
2010/07/09(金) 03:13:300631デフォルトの名無しさん
2010/07/09(金) 06:41:010632デフォルトの名無しさん
2010/07/09(金) 07:50:58http://pc12.2ch.net/test/read.cgi/tech/1202098949/
0633デフォルトの名無しさん
2010/07/09(金) 12:08:58評価としてはかなり下げざるを得ない。
ソースコードでも出せれば、奇特な人がエミュレータ書くかもしれないのに。
まあ第5世代のKL0もソースコード出すの遅かったから、
関連者研究室でもほぼ放置状態だが。
0634デフォルトの名無しさん
2010/07/09(金) 12:29:34今時の勉強会とかのほうが遥かに情報化が進んでるよw
0635デフォルトの名無しさん
2010/07/09(金) 12:35:44KL0ではなくて、KL1のフラット版。フリーになってるのは。
0636デフォルトの名無しさん
2010/07/09(金) 13:13:010637デフォルトの名無しさん
2010/07/09(金) 14:05:48プログラマ板へどうぞ
0638デフォルトの名無しさん
2010/07/09(金) 16:32:21先にやられたら論文のネタに出きないだろが
0639デフォルトの名無しさん
2010/07/09(金) 16:36:42オープンにすることによって参入者が増加して様々な需要が生まれるわけで、
論文のネタはそういう需要から抽出していけばいいだろ。
0640デフォルトの名無しさん
2010/07/09(金) 17:01:35思いつきをいきなり公開したりするからな.
論文書きたいならクローズドな環境のがいいんだろ
0641デフォルトの名無しさん
2010/07/09(金) 17:05:080642デフォルトの名無しさん
2010/07/09(金) 17:26:00海外の開発者とチャットしてたりするからな
0643デフォルトの名無しさん
2010/07/09(金) 17:30:36せいぜい860だしチャットもしないで
フォーラムに時々書き込む程度か
0644デフォルトの名無しさん
2010/07/09(金) 17:32:03しかしそういうのはごく一部だろ。
0645デフォルトの名無しさん
2010/07/09(金) 17:34:54全国的に見れば結構な数になるな
0646デフォルトの名無しさん
2010/07/09(金) 17:38:06金があれば活動範囲も広がるんだから。
ニートっていうだけで無能の証明なんだよ。
0647デフォルトの名無しさん
2010/07/09(金) 17:43:580648デフォルトの名無しさん
2010/07/09(金) 17:45:03やる気があっても無理でしょうな
0649デフォルトの名無しさん
2010/07/09(金) 17:45:39迷惑かけるだけってコトだな
0650デフォルトの名無しさん
2010/07/09(金) 17:47:36誰?w
0651デフォルトの名無しさん
2010/07/09(金) 19:44:170652デフォルトの名無しさん
2010/07/09(金) 19:49:54オープンにするなんて実際とんでもないよ
他人がどうしようが勝手だし、
オープンな素材はとことん使いまくるけど、
自分は一生クローズドに徹するだろうね
0653デフォルトの名無しさん
2010/07/09(金) 19:52:0310倍売らないと駄目ってばっちゃが言ってた
0654デフォルトの名無しさん
2010/07/09(金) 20:11:44誰にも見せないし興味ももたれないようなクローズド環境を
ターゲットにしないマズイわけか
誰だって自分が一番になれる領域は欲しいもんな
0655デフォルトの名無しさん
2010/07/09(金) 20:35:590656デフォルトの名無しさん
2010/07/09(金) 20:51:55雑用しなくてすむ分、ニートや暇人の方が上だったりして。
0657デフォルトの名無しさん
2010/07/09(金) 23:42:25言えばいいじゃん。
0658デフォルトの名無しさん
2010/07/09(金) 23:57:30ベーシックインカムこねえかな
0659デフォルトの名無しさん
2010/07/10(土) 00:18:55深く考えても休むようなもんだから!!!
0660デフォルトの名無しさん
2010/07/10(土) 00:47:280661デフォルトの名無しさん
2010/07/10(土) 03:34:250662名無しさん@そうだ選挙に行こう
2010/07/10(土) 10:10:410663名無しさん@そうだ選挙に行こう
2010/07/10(土) 13:27:43実名でまともな言葉遣いで所定のフォーマットに従えばオープン
さらに英語で書けばこの上なくオープンである
0664名無しさん@そうだ選挙に行こう
2010/07/10(土) 13:45:21そうでなければ closed
0665名無しさん@そうだ選挙に行こう
2010/07/10(土) 17:13:38http://slashdot.jp/developers/article.pl?sid=10/07/09/1224244
LispでiPhoneアプリとか作れる時代が来るのだろうか
0666名無しさん@そうだ選挙に行こう
2010/07/10(土) 17:17:49役に立つと思ったこと一度もないけど
いいものなの?
0667名無しさん@そうだ選挙に行こう
2010/07/10(土) 17:29:290668名無しさん@そうだ選挙に行こう
2010/07/10(土) 19:50:32http://github.com/yuumi3/iNuShell
sdkのリンク先が3.0.0になってるので4.0.0に、
compilerをgcc4.0からgcc4.2
にしたらiOS4で普通に動いた。
0669名無しさん@そうだ選挙に行こう
2010/07/10(土) 20:26:41(print "失敗したよ"))
最初にこういうコード見たとき
意味が分からなくて悩んだ
0670名無しさん@そうだ選挙に行こう
2010/07/10(土) 23:06:560671名無しさん@そうだ選挙に行こう
2010/07/10(土) 23:16:34SICPやOn Lispに自然言語処理のサンプルついてるの知らない人がいる
自動応答プログラムなんて簡単だろ
SICPの練習問題の中にも確かなかった?
0672名無しさん@そうだ選挙に行こう
2010/07/10(土) 23:42:010673名無しさん@そうだ選挙に行こう
2010/07/11(日) 04:13:520674名無しさん@そうだ選挙に行こう
2010/07/11(日) 08:58:260675名無しさん@そうだ選挙に行こう
2010/07/11(日) 20:56:12について、aがパターンマッチの関数の時は
「条件aの場合、bである」
だけど、aが手続きの成否を返り値にする関数だと、
「aを実行して、エラーが出たらcを実行する」
みたいにだいぶ意味が変わる
初心者の俺は、if文≒パターンマッチ だと理解していて
パターンマッチ→エラー処理ってなんか変だなと思ったのだな。
if文→パターンマッチ と if文→エラー処理
みたいに分けて理解すれば良かったのかなというか
>667を見て?俺の理解はまだ浅いの?と思って
食いついてしまった次第なんだけども
0676名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:18:05全然別のモノだと思うんだが
0677名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:29:45if False _ x = x
merdだっけ?では実際にこう定義されてる
0678名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:47:54過去に同じ動詞を使った「あおり」レスがないか過去ログをサーチする
名詞部分だけレス対象に会うように書き換える
これだけで自動あおりプログラムの完成
ATN使えばもっと高度な造り込みもできるだろうね
0679デフォルトの名無しさん
2010/07/12(月) 00:50:50本当に知識ゼロに近い初心者は
if(a=1){print("t");}
は「aが1と"一致"した時...」って考えたりするけど、それだと
if(!init()){error();}
はややこしいでしょ?(条件判定する時に副作用で初期化とか分かりにくい。
超初心者には同じ関数が二回使われてるように見えるんだよ)
Lispで評価器の振る舞いを勉強した後だと、素直に
「aを評価する、その結果が真ならbを評価する、偽ならcを評価する」
(その時に副作用がある)って考えるから悩まないよね?
話を戻すと、要は、>667を見て、何だろう?と考えるだろ。
だったら先に突っ込んでくれよ。
俺は>667の見解と対立してそうな>669をとりあえず例示したんよ。
>669はパターンマッチと全然別のモノに見えるでしょ?
長文uzeeんだけど、>670は、俺が「何の役に立つんだ?」って言ってる
奴だと思っているとも解釈できそうなんでとりあえず俺必死なんだよ。
画像で煽られたらどうすりゃいいの?jpgで31.1KBあるから、
62.2KB反論すりゃいいの?面倒くさいのでやらないけど。
後、>672のアニメキャラが誰か分からんけど
朝になったら起こしてくれるverをくれ
>677
良く分かんないけど、そういうレスを期待してたの。
俺の知らない話。gj
0680デフォルトの名無しさん
2010/07/12(月) 02:24:19haskellの文法とか、構文解析とかやるべきなのか。
馬鹿の相手をさせてしまってスマン。
0681デフォルトの名無しさん
2010/07/12(月) 03:22:13"最小のLISP"はcondを必要としてるんだけど(Wikipedia)
それと>677みたいな定義とパターンマッチとの関係
がさっぱり分からないよ。
0682デフォルトの名無しさん
2010/07/12(月) 18:28:59"最小のLisp"にcondがあるのはプリミティブにprognを含めてないからだと思う
この場合ifとprognはcondを使って定義できる
逆にifとprognがプリミティブならcondはifとprognで定義可能
構文の数を最小にするならcondをプリミティブにするよね
パターンマッチとifもどっちかがプリミティブなら
もう一方はシンタックスシュガーとして定義できるはず
どちらをプリミティブとするかは言語の思想によって違う
0683デフォルトの名無しさん
2010/07/12(月) 19:11:40引数の評価をいつするか考えてみて。
遅延評価の言語はifもcondもプリミティブとして必要ない。
0684デフォルトの名無しさん
2010/07/12(月) 20:08:22ちょっと疑問
評価規則が関係するのって分岐処理を関数で実現できるかどうかじゃないの?
遅延評価だろうとifやパターンマッチに相当する
分岐機能がプリミティブに必要だと思ってたんだけど
0685デフォルトの名無しさん
2010/07/12(月) 22:19:10if や cond が関数でもいいけど、 predicate でない then 部分や else 部分は
遅延評価じゃないと困らないか?
# まぁ、closure 渡せばいい話だし、実際、small-talk の制御構造はそのノリだよな
0686デフォルトの名無しさん
2010/07/12(月) 23:35:58って事は、delayとforceで実装する事になりそうですよね。
そこで>677のパターンマッチ使った定義に戻るんですけど、
ifを公理とすると、パターンマッチは定理みたいな関係
だと思ったんですよ。より複雑なモジュール使ってるから
>677みたいな事ができる。
また話を戻すと、delayとforceでパターンマッチを実装する
事ができればいいって事なのかな?
うう、自分の言っている事がさっぱり分からないぜ。
0687デフォルトの名無しさん
2010/07/13(火) 01:05:23の事を思い出した結果がこれだよ!
「最小のLISP」って紹介されてるのとは別で、
ジョン・マッカーシーのオリジナル版lispこと
「純LISP」は、
car,cdr,cons,atom,eq
だけでチューリング完全だ。
俺はどうしたらいいんだよ。
0688デフォルトの名無しさん
2010/07/13(火) 01:10:47ミニマリズムを目指すなら、分岐機能だって関数さえあればできるぞ。
>>686
delayとforceはeagerな言語で遅延評価を実装するための仕組み(のひとつ)。
言語自体が遅延評価のセマンティクスを持っているならそもそも
「delayとforceで実装」などとは考えない。
わからんかったらラムダ算法でぐぐれ。
0689デフォルトの名無しさん
2010/07/13(火) 01:20:500690デフォルトの名無しさん
2010/07/13(火) 06:46:59何言ってんだおまえら
0691デフォルトの名無しさん
2010/07/13(火) 07:37:23ラムダ計算の基本だろうが。
0692デフォルトの名無しさん
2010/07/13(火) 08:06:425つ手続きがあれば全ての手続きは実装出来ますよ、ってことだね。
CPU命令の一部しか使わないから実行最適化はされないけど。
0693デフォルトの名無しさん
2010/07/13(火) 08:25:030694デフォルトの名無しさん
2010/07/13(火) 09:06:39setq が実装できるわけじゃないのでその説明はおかしい
0695デフォルトの名無しさん
2010/07/13(火) 11:19:02逆にその命令だけを実装すれば最適なんじゃないの
0696デフォルトの名無しさん
2010/07/13(火) 12:34:45(define t (lambda (x y) x))
(define f (lambda (x y) y))
(define if (lambda (p x y) (p x y)))
schemeは正格評価だけど、これらも一応動く。
けど、(if f (display "evaluated\n") 1)はevaluatedが出力され、1を返す式になる。
だからschemeではifやcondは手続きじゃ実装できない。
ifの中でdelayやforceをいくら使おうが無理。マクロを使う必要がある。
マクロもsyntax-rules使わないと実現できないかも?
遅延評価=非正格評価のhaskellなら、上の定義で十分。
t = \x y->x
f = \x y->y
my-if = \p x y->p x y
これで望みどおり動く。
my-if f (putStrLn "evaluated") 1も単に1を返す式になる。
0697デフォルトの名無しさん
2010/07/13(火) 13:58:42bottomあたりを使っといたら。
Schemeの場合はマクロを使って遅延部分をlambdaでくるむ。
(define t (lambda (x y) (x)))
(define f (lambda (x y) (y)))
(define-syntax my-if (syntax-rules () ((_ a b c) (a (lambda () b) (lambda () c)))))
0698デフォルトの名無しさん
2010/07/13(火) 23:24:08純LISPにdefunが含まれてないから、lambdaを純LISPでまず実装するの?
逆にlambdaを使わないifは可読性のあるコードになるの?
0699デフォルトの名無しさん
2010/07/13(火) 23:32:290700デフォルトの名無しさん
2010/07/13(火) 23:50:52チューリング完全ってのは計算能力で言うところの万能性を表すものだけれど、
「リソースが無限であれば」という但書付きの万能性。
時間も記憶容量も無限であれば同じことが出来るというのを裏返せば
時間に限りがあったり記憶容量に限りがあれば等しくない場合もある。
効率のことなんか考えてない。 あくまで理論上の話だよ。
例えて言うなら、機械語でプログラミングするときにはクラス定義とか出来ない
とかそんなことを言ったところでどんなプログラムでも機械語で表現し得るだろ。
要はそういう感じ。
0701デフォルトの名無しさん
2010/07/14(水) 01:49:150702デフォルトの名無しさん
2010/07/14(水) 02:32:15いけばいいだけか。リソースが無限だから
展開が無限ループみたいな場合も気にしなくていい?
0703デフォルトの名無しさん
2010/07/14(水) 06:46:450704デフォルトの名無しさん
2010/07/14(水) 21:35:45じゃないか!
むしろ、ラムダ計算式を規則通り置換していくのは
ラムダ計算そのものだよ!
言語処理系がやっているのは、
人間に読めるシンタックスをラムダ計算式に置換していく事と
ラムダ計算式を計算する事
であって、どっちも実は同じ置換手続きだから、変換規則を
If True x _ = x
みたいにまとめていいって事か。
lambdaを含む言語「最小のLISP」をコンパイルして
チューリングマシンである「純LISP」のコードにする
という関係なのか。
パターンマッチとifが排他的に実装されているというのも
どうも違う気がしてきた。
lambdaでifが表現できるから「最小のLISP」に
ifは必要ないはずだけど、先行評価の場合は特殊形式として
必要になる、という事であって
パターンマッチはラムダ計算手続きの一部であり関係ない。
あと、
シンタックスシュガーは、対応するラムダ計算式が一致している構文
という意味であって、やはりifがパターンマッチの云々というのは
やっぱり違うような
※今日の独り言集、縦読みは無いよ。何とかまとまったのか?
もう俺の限界なのでこれで長文は止めるね。
0705デフォルトの名無しさん
2010/07/14(水) 22:27:32じ
む
ら
まで読んだ
0706デフォルトの名無しさん
2010/07/14(水) 23:19:140707デフォルトの名無しさん
2010/07/16(金) 21:17:10礼を述べようと思ってたんだが...
0708デフォルトの名無しさん
2010/07/16(金) 22:41:290709デフォルトの名無しさん
2010/07/17(土) 22:45:56見当違いな事言ってばっかりだったもんで。リアルタイムでもマズいなあと
思っていましたが、後から読んでも冷や汗もんですね。
大変フォロー有難かったです。
0710デフォルトの名無しさん
2010/07/17(土) 23:51:04もうちょっと落ち着いた方が良いと思う。
元々の話は、パターンマッチがプリミティブで存在すれば、
ifもそれで表現できる、ってことだよね? んで、実例が>>677という。
>>682で結論が出てると思うんだけど、>>704みたいな結論になるのが謎。
0711デフォルトの名無しさん
2010/07/18(日) 01:33:04-> if をパターンマッチで定義可能か
-> if もパターンマッチもチューリング完全な言語には必須でないから本質でないんだよ
-> ラムダ計算万歳!
-> いや,むしろラムダ計算の書き換え(リダクション)はパターンマッチングそのものでないか!
-> if は先行評価という言語の実装の都合上に生じた特殊形式でありラムダ計算に不要である!
てな感じで言語の表現能力の話から計算能力(チューリング完全であるか)の話にシフトしてるんじゃないかな
表現能力と計算能力を同列に語ればそりゃ飛躍もすると思います
0712デフォルトの名無しさん
2010/07/18(日) 17:40:21>>682で結論が出てる
それは違う。
パターンマッチ渡しに合わせて、
ブロック式を評価せずに引数として渡す方法が必要。
0713デフォルトの名無しさん
2010/07/18(日) 18:37:020714デフォルトの名無しさん
2010/07/18(日) 21:23:34「基本5関数だけ」で計算完備の方法を教えて
マカシ本では基本5関数+label+cond+lambdaっぽいです
でもlambdaさえありゃそんだけで計算完備だし…
0715デフォルトの名無しさん
2010/07/18(日) 22:04:400716デフォルトの名無しさん
2010/07/19(月) 01:45:38どこにもソースが無いじゃないか。
0717デフォルトの名無しさん
2010/07/19(月) 02:19:15個人ページで言及しているのもちらほら
自分は「基本五関数だけ」では無理だと思うけど
0718デフォルトの名無しさん
2010/07/19(月) 03:15:26そのページの純LISPの定義って関数しか入って無いけど、
特殊形式、lambdaの有無に全く言及してないよね。どっかで情報が落ちたんじゃないのか。
ttp://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.140.3539
この論文で定義している純LISPも五関数だけじゃないし。
atomやeqで得た真理値を使う関数すらないじゃないくせに分岐ができるの?
チャーチ真理値も作れないよ?
0719デフォルトの名無しさん
2010/07/19(月) 09:46:09それで簡単に自己記述できる(evalが書ける)ってことじゃないのかなあ。
で、5関数だけじゃ無理だろう。これではcondとquoteを加えた7つを
プリミティブにしてる→ http://paulgraham.com/rootsoflisp.html
この目的ではlambdaはプリミティブじゃない。lambdaのセマンティクスを
どう実装するかって話だから。
0720デフォルトの名無しさん
2010/07/19(月) 11:41:33再帰だとメモリ食うし、for-eachだといちいちリスト用意してやんないとできない。
0721デフォルトの名無しさん
2010/07/19(月) 11:46:49それはひょっとしてギャグで言っているのか?
0722デフォルトの名無しさん
2010/07/19(月) 11:47:39そういう話じゃない?
0723デフォルトの名無しさん
2010/07/19(月) 11:48:51末尾呼び出しは勝手に最適化されてメモリは消費しないはずだが
0724デフォルトの名無しさん
2010/07/19(月) 12:14:28同じくチューリング完全なbrainfuckと比較して考えると、
brainfuckは要するに、ポインタ移動とポインタ上の値変化を
ひたすらやればメモリ状態を如何様にも変化させる事ができる
って事だから
ここで、チャーチ数のリストをメモリと見なすと、
って考えたら、チャーチ数でラムダが。ここを変則的な数の定義
にすればいい?ううむ。
0725デフォルトの名無しさん
2010/07/19(月) 12:49:32レスサンクス。
最適化されるかどうかは処理系に依存しないか?
今使ってる処理系がちょっと特殊(というかブラックボックスに近くて仕様がはっきりわからない)なんだ。
再帰使って繰り返し文書くと、オーバーフローエラーで落ちてしまう。
0726デフォルトの名無しさん
2010/07/19(月) 12:53:330727デフォルトの名無しさん
2010/07/19(月) 13:00:10さんきゅ。
それがわかっただけでも十分だ。
どうにかしてみる。
0728デフォルトの名無しさん
2010/07/19(月) 13:17:59>>726も言ってるように、規格として末尾再帰の最適化を定めているのがScheme。
ただ、その使っている処理系がちゃんと規格に準拠しているかは分からないし、
コード自体が末尾再帰になってるかは分からん。その辺の情報は出せんの?
あと、一応繰り返しの構文でdoってのもあるから。
ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html#SEC37
0729デフォルトの名無しさん
2010/07/19(月) 13:44:53処理系は会社のものなんでスマンが出せない。
コード自体は末尾再帰になっている。
例えば、
(define abc
(lambda ()
print("hoge")
abc()))
みたいに書いてる。
do構文か、、、URLさんきゅ。
試してみる。
0730デフォルトの名無しさん
2010/07/19(月) 15:56:48toyレベルならあるそうだけど
どこに載ってるのか探してもでてこない
誰か載ってる場所を教えてくれまいか
0731デフォルトの名無しさん
2010/07/19(月) 16:00:23なんなる読みやすいインデント程度なら整形機通せばよいだけだしね。
0732デフォルトの名無しさん
2010/07/19(月) 16:07:46readable っていうのをどういう意味で言ってるかによる。
Scheme の挙動を再現しようとすれば C 的には不自然なところは当然有るよ。
まぁ、 Scheme でなくても機械的な変換をしたものが見辛いのは普通だからなぁ。
0733デフォルトの名無しさん
2010/07/19(月) 17:16:10もし書けるなら、toyレベルなら手で書けばいいだろ
0734デフォルトの名無しさん
2010/07/19(月) 17:21:40てめーの頭がToyレベルなのが良くわかるわw
0735デフォルトの名無しさん
2010/07/19(月) 17:25:010736デフォルトの名無しさん
2010/07/19(月) 19:05:59lispを読める形で変換したい
継続とかは変換しなくていい.lisp固有の処理は変換しなくていい.
自分でつくろうとすると型推定がめんどくさい.
0737デフォルトの名無しさん
2010/07/19(月) 19:13:09Cで拡張したあともとのLispコードを変更したいばあいはどうすんの?
わざわざコピペとかするわけ?
効率悪いよ、バグも出やすいし。
0738デフォルトの名無しさん
2010/07/19(月) 19:21:330739デフォルトの名無しさん
2010/07/19(月) 19:32:37統合作業なめてんのか。
0740デフォルトの名無しさん
2010/07/19(月) 19:33:130741デフォルトの名無しさん
2010/07/19(月) 19:34:15ぶつからないようにすることが多いけど、Lisp側を変えて再生成すると
番号がずれる。字面だけ見るマージ機能は多分使えないよ。
0742デフォルトの名無しさん
2010/07/19(月) 19:34:430743デフォルトの名無しさん
2010/07/19(月) 19:40:22Cの作業に勝手にLispを持ち込んでるに決まってるじゃん
0744デフォルトの名無しさん
2010/07/19(月) 19:44:42中身はLispの自動生成でいけるかもしれんな。
インターフェース内でLisp生成コードを起動させる部分は手書きになるだろうけどな。
0745デフォルトの名無しさん
2010/07/19(月) 19:57:42素直に標準入出力をパイプでつなぐとか、
生テキストでやり取りするとかした方がいいんじゃない?
おとなしくCかLispのどっちかに統一するのが一番だと思うけど
0746デフォルトの名無しさん
2010/07/19(月) 20:14:11おれなら CiSE (C in S Expression) みたいな、Lisp で C を生成する方にするかな
0747デフォルトの名無しさん
2010/07/19(月) 23:42:40Gaucheの中にあるのね
ソースのぞいてみる
0748デフォルトの名無しさん
2010/07/20(火) 01:39:06何が違うの?
0749デフォルトの名無しさん
2010/07/20(火) 21:41:02ttp://ja.wikipedia.org/wiki/LISP
にある最小のLISPと
ttp://ja.wikipedia.org/wiki/%E7%B4%94LISP
の純LISPはどう違うの
0750デフォルトの名無しさん
2010/07/20(火) 21:57:480751デフォルトの名無しさん
2010/07/21(水) 06:51:270752デフォルトの名無しさん
2010/07/21(水) 08:15:58純LISPは純粋関数型言語ってことでいいのかな
0753デフォルトの名無しさん
2010/07/21(水) 14:40:590754デフォルトの名無しさん
2010/07/21(水) 15:21:590755デフォルトの名無しさん
2010/07/21(水) 16:08:46>本気にしてはいけない
>いいわけがない
否定ばかりで教えてくれない!ケチー!
0756デフォルトの名無しさん
2010/07/21(水) 17:20:490757デフォルトの名無しさん
2010/07/21(水) 17:58:07少なくとも「純LISP」の方はlambdaもなければ関数定義もif/condの類も
ないので全く理解してない奴が書いてるな。
「最小のLISP」の方はいちおう必要なものは揃っている。説明はしょり
過ぎな気はするけど。
0758デフォルトの名無しさん
2010/07/21(水) 21:03:590759デフォルトの名無しさん
2010/07/21(水) 21:05:390760デフォルトの名無しさん
2010/07/21(水) 22:40:50どういう意味?
0761デフォルトの名無しさん
2010/07/21(水) 23:26:29Lisp 系言語はそういうものです。
0762デフォルトの名無しさん
2010/07/22(木) 03:15:49CL界隈では有名人のEdi Weitzが作った、S式からHTMLを出力してくれる、
テンプレートエンジンのCL-WHOってのがある。
CiSEは単にそれのC版なの? って聞いてるんだと思う。
まあ、大体似た様なもんだけど、CiSEはマクロとか定義できる。
0763デフォルトの名無しさん
2010/07/22(木) 11:11:240764デフォルトの名無しさん
2010/07/22(木) 15:40:05チューリング完全でないものを「素直に拡張して」
LISPになるわけないだろ。
0765デフォルトの名無しさん
2010/07/22(木) 15:50:57http://homepage.mac.com/naoki.koguro/prog/dyncomp/index-j.html
0766デフォルトの名無しさん
2010/07/22(木) 17:04:23チューリング完全でないものの話がどこから出てきたんだ
素直な拡張でLISPになる ⊆ チューリング完全
で、これがイコールではないんじゃないかって話じゃないの
0767デフォルトの名無しさん
2010/07/22(木) 20:00:16ある条件を満たせば複数の関数を同時に実行するような感じで
0768デフォルトの名無しさん
2010/07/22(木) 20:29:00occamみたいなものなら無いけどthreadサポートのある処理系で自力実装ならいくらでもなんとでもなる気がする
0769デフォルトの名無しさん
2010/07/22(木) 20:33:14探せたとしても細かくなりすぎて並列動作はさせにくいかな・・・。
もともとツリーになってるから依存を見つけやすいし。
0770デフォルトの名無しさん
2010/07/22(木) 21:01:160771デフォルトの名無しさん
2010/07/22(木) 22:09:53なるほど、解説ありがとん
でもそういう意味だとして、他の言語を生成するのを
じゅっぱひとからげにするのは乱暴な気がするなぁ。
HTML生成なら簡単だけど、Cを生成するのは構文も多いし大変だと思う。
>>765
それはdyncompで、cise を使ってるけど別のものだよ
CiSE はアンドキュメンテッド。両方とも勉強して使ってみたいけど
時間がないんだよなー。
0772デフォルトの名無しさん
2010/07/23(金) 22:18:200773デフォルトの名無しさん
2010/07/23(金) 22:43:510774デフォルトの名無しさん
2010/07/24(土) 00:28:230775デフォルトの名無しさん
2010/07/24(土) 00:30:05これで名実ともに仏教徒になれて嬉しいです。
0776デフォルトの名無しさん
2010/07/24(土) 00:48:380777デフォルトの名無しさん
2010/07/24(土) 02:59:510778デフォルトの名無しさん
2010/07/24(土) 08:37:220779デフォルトの名無しさん
2010/07/25(日) 00:30:540780デフォルトの名無しさん
2010/07/25(日) 00:45:04作って公開する分にはいいと思う。
よくできたものであれば公式に取り込まれることもありうる。
0781デフォルトの名無しさん
2010/07/25(日) 01:07:03javascriptの生成マシンはあるがCがないのはなぜ?
ECLがあるから?
http://kantz.com/jason/programs/jsgen/
http://common-lisp.net/project/parenscript/tutorial.html
schemeよりもclに慣れてるから
clのjs生成マシンを改造してC生成マシンにするなら
どっちがいいかな
0782デフォルトの名無しさん
2010/07/25(日) 05:30:040783デフォルトの名無しさん
2010/07/25(日) 09:37:32生成マシンって何? CiSEみたいな物の事を言ってんの?
それならCLでは聞いたことが無い。移植するのが一番早いんじゃないか。
というか、ECLとかがあるのに本当に必要? FFIもあるのに。
手段が目的になってない?
0784デフォルトの名無しさん
2010/07/25(日) 09:40:44インハウスでの話なら幾らでもあるだろうし、CLiki辺りにも載ってた気がする。
0785デフォルトの名無しさん
2010/07/25(日) 17:28:490786デフォルトの名無しさん
2010/07/27(火) 11:12:25http://lisp.dive2ent.com/
0787デフォルトの名無しさん
2010/07/27(火) 13:48:12http://pc11.2ch.net/test/read.cgi/prog/1280205933/
0788デフォルトの名無しさん
2010/07/27(火) 14:45:32検索時のノイズ増えそうですね orz
0789デフォルトの名無しさん
2010/07/27(火) 15:04:310790デフォルトの名無しさん
2010/07/27(火) 15:12:54こいつらはLISPハッカーなのか?
0791デフォルトの名無しさん
2010/07/27(火) 15:59:460792デフォルトの名無しさん
2010/07/27(火) 16:11:570793デフォルトの名無しさん
2010/07/27(火) 16:30:250794デフォルトの名無しさん
2010/07/27(火) 16:35:520795デフォルトの名無しさん
2010/07/27(火) 16:51:170796デフォルトの名無しさん
2010/07/27(火) 17:04:34手に持ってるのは超小型Lispマシンか
0797デフォルトの名無しさん
2010/07/27(火) 17:57:55それに映ってるLISPのロゴ入ったノートPCはほしいな
0798デフォルトの名無しさん
2010/07/27(火) 18:27:570799デフォルトの名無しさん
2010/07/27(火) 18:34:22そして、祭りが終わってしまうと、いったい何をやっていたのか
ほとんど意味不明になってしまった。
0800デフォルトの名無しさん
2010/07/27(火) 18:39:500801デフォルトの名無しさん
2010/07/27(火) 19:21:59メンバー名はcarとcdrとconsくらいしとけばいいのに。
0802デフォルトの名無しさん
2010/07/27(火) 19:37:030803デフォルトの名無しさん
2010/07/27(火) 20:03:57本家LISPはディスる気まんまんなのは判った。
0804デフォルトの名無しさん
2010/07/27(火) 20:41:26ttp://moca-news.net/article/20100727/201007270500a/01/
0805デフォルトの名無しさん
2010/07/27(火) 20:43:060806デフォルトの名無しさん
2010/07/27(火) 21:11:380807デフォルトの名無しさん
2010/07/28(水) 01:27:48| |
| ,ェエエ0エエェ、 ,. -―‐- 、 ,,-―‐- 、 |
| 〃...................ぃ .〃..:..:..:..:..:..:.':, (※)==ニニニ=':, |
| i...j((((((((((t.....i ((メj!;!;!孑ハ.:..:', i::::::ルjljljljljljIt:i |
| |.i!|''''|' '|''''|i!.| |.} ┃ ┃|..l).:.l |::::::!|┃ , ┃'{:| |
| |i圦'''_ヮ_'''.イ.i!| |!!、'''_ー_''ィ!!}./ `>.しルム''_ー_'''ノJ .|
| ___{ミ}ミ}_,.,.,.,.,.,.{ミ{ミ} .{ミ}:.l,.,.,.,.,{/ /) /.....}ll{__}ll{..':,___ |
| |_LISP_|ェュ.......| | ん_(:.|.../ , イ |´./xx/...rェ|_LISP_| │
| ゞ゙,二二,}=ゞ^二二ノ ゝ二二^ツ f、_ノ 〈......l*{二^ツ.i..i|{二''ツ. │
| f~i~i~i~i~iハ |ーf0t―‐| ゞ、l*j...i..i..i..i..i|j .|
| |..i..i..i..i..i..i| ノ....{{...{{.......', |XXXXXX| |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0808デフォルトの名無しさん
2010/07/28(水) 01:41:32| |
| ,ェエエ0エエェ、 ,. -―‐- 、 ,,-―‐- 、 |
| 〃...................ぃ .〃..:..:..:..:..:..:.':, (※)==ニニニ=':, |
| i...j((((((((((t.....i ((メj!;!;!孑ハ.:..:', i::::::ルjljljljljljIt:i |
| |.i!|''''|' '|''''|i!.| |.} ┃ ┃|..l).:.l |::::::!|┃ , ┃'{:| |
| |i圦'''_ヮ_'''.イ.i!| |!!、'''_ー_''ィ!!}./ `>.しルム''_ー_'''ノJ .|
| ___{ミ}ミ}_,.,.,.,.,.,.{ミ{ミ} .{ミ}:.l,.,.,.,.,{/ /) /.....}ll{__}ll{..':,___ |
| |_LISP_|ェュ.......| | ん_(:.|.../ , イ |´./xx/...rェ|_LISP_| │
| ゞ゙,二二,}=ゞ^二二ノ ゝ二二^ツ f、_ノ 〈......l*{二^ツ.i..i|{二''ツ. │
| f~i~i~i~i~iハ |ーf0t―‐| ゞ、l*j...i..i..i..i..i|j .|
| |..i..i..i..i..i..i| ノ....{{...{{.......', |XXXXXX| |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄))))))))))
0809デフォルトの名無しさん
2010/07/28(水) 01:42:37おい、お前そのグループの関係者だろw
0810デフォルトの名無しさん
2010/07/28(水) 06:45:10>>無料ファンクラブ「ふぁみりすぷ」
>>デビュー記念イベント「DIVE II LISP SUMMIT - はじまりすぷ -」
すげーぜ
0811デフォルトの名無しさん
2010/07/28(水) 11:53:190812デフォルトの名無しさん
2010/07/28(水) 12:17:550813デフォルトの名無しさん
2010/07/28(水) 12:31:31てか、ユニットLISPと言語LISPの呼び分けについて議論したいところだがw
0814デフォルトの名無しさん
2010/07/28(水) 12:33:43うげぇ、人工知能ここまで来たか
0815デフォルトの名無しさん
2010/07/28(水) 12:36:580816デフォルトの名無しさん
2010/07/28(水) 12:45:260817デフォルトの名無しさん
2010/07/28(水) 21:54:100818デフォルトの名無しさん
2010/07/28(水) 22:29:49え?呼び分けなんて必要ないよ
どちらも一つの同じものなんだから
0819デフォルトの名無しさん
2010/07/28(水) 22:46:010820デフォルトの名無しさん
2010/07/28(水) 22:55:390821デフォルトの名無しさん
2010/07/28(水) 23:03:020822デフォルトの名無しさん
2010/07/28(水) 23:12:34Lispは何でもありの総称の世界。そのものが宇宙的なんだからユニット名でも構わないさ
仮にユニット名がRubyだったら、いまごろ信者が暴動起こしてるかも知れないがw
0823デフォルトの名無しさん
2010/07/28(水) 23:23:550824デフォルトの名無しさん
2010/07/29(木) 00:49:47ニッ!
0825デフォルトの名無しさん
2010/07/29(木) 01:00:020826デフォルトの名無しさん
2010/07/29(木) 01:01:10一人も知らん
0827デフォルトの名無しさん
2010/07/29(木) 02:14:560828デフォルトの名無しさん
2010/07/29(木) 02:23:460829デフォルトの名無しさん
2010/07/29(木) 13:08:26Made with secret alien technologyだし
0830デフォルトの名無しさん
2010/07/29(木) 18:57:56リリカルリスプなんてのもあったな
0831デフォルトの名無しさん
2010/07/29(木) 20:58:170832デフォルトの名無しさん
2010/07/29(木) 21:16:180833デフォルトの名無しさん
2010/07/29(木) 22:39:11なんか読みづらいんだよね…
0834デフォルトの名無しさん
2010/07/31(土) 07:44:34能美市の今月の広報にもなんにも載ってないぞ。
0835デフォルトの名無しさん
2010/07/31(土) 08:10:320836デフォルトの名無しさん
2010/07/31(土) 10:04:15使い方がぜんぜんわかりません。
zip ファイルを展開する典型的なサンプルみたいなのはありませんか?
0837デフォルトの名無しさん
2010/07/31(土) 10:05:39昔でもみんなSunのワークステーションばかり使って、Elisなんて見向きもされなかったのに
一体誰が喜ぶんだよ
0838デフォルトの名無しさん
2010/07/31(土) 11:55:00ところどころ5千円とか1万円とか出てくる。
0839デフォルトの名無しさん
2010/07/31(土) 13:19:340840デフォルトの名無しさん
2010/07/31(土) 13:33:40zlibはzipフォーマットを扱う機能は無い。
0841デフォルトの名無しさん
2010/07/31(土) 22:41:28バリアント型でも速い、ってのが想像つかないんですが。
0842デフォルトの名無しさん
2010/07/31(土) 22:49:49条件を満たせばそういうコードも書けるってこと
0843デフォルトの名無しさん
2010/07/31(土) 22:51:250844デフォルトの名無しさん
2010/07/31(土) 22:52:280845デフォルトの名無しさん
2010/07/31(土) 22:53:15ネイティブに動かしても大体3倍ぐらいは遅い
0846デフォルトの名無しさん
2010/07/31(土) 23:29:56C並に速くするときは最適化と型宣言で型判定を入れないようにする。
あと、メモリアロケーションも避ける。
結局、あんまりLispっぽくないコードになる。マクロが使えるのが救いだけど。
0847デフォルトの名無しさん
2010/08/01(日) 00:54:02ttp://blog.practical-scheme.net/shiro/20100620a-lisp-speed
ttp://practical-scheme.net/wiliki/wiliki.cgi?Lisp:%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E8%AA%A4%E8%A7%A3
とか参考になるんじゃないかと思う。Lisperのバイアスが掛かってるのはお忘れなく。
0848デフォルトの名無しさん
2010/08/01(日) 01:01:36必要な機能を書くのがめんどくさいけど速い C っていう方向性の違い。
ほとんどのケースではそこそこの速度が出れば充分だし、
実際にはチューニングが必要な箇所ってそんなに多くないってことを考えると
全体としては Lisp の方が楽ではあるという結論に。
エンジニアリングはトレードオフ。 速けりゃいいってもんでもない。
0849デフォルトの名無しさん
2010/08/01(日) 01:11:340850デフォルトの名無しさん
2010/08/01(日) 01:18:36一応、PLTとかCorman LispとかClozure CLとか、それなりにやってる所はあるけど。
0851デフォルトの名無しさん
2010/08/01(日) 01:32:190852デフォルトの名無しさん
2010/08/01(日) 01:35:18なんとかの部分は自分の好きな言語で。
0853デフォルトの名無しさん
2010/08/01(日) 01:39:080854デフォルトの名無しさん
2010/08/01(日) 03:36:030855デフォルトの名無しさん
2010/08/01(日) 04:36:10cprotoとか、外部ツールじゃダメ?
0856デフォルトの名無しさん
2010/08/01(日) 15:38:41ありがとうございます
それを使ってみます
0857デフォルトの名無しさん
2010/08/05(木) 18:10:080858デフォルトの名無しさん
2010/08/05(木) 19:05:45の足りない機能が
bigloo/comptime/Cgen/cgen.scm
cgen-function
の中で(emit-cop cop)呼んでるあたりからパクってこれそうな件
0859デフォルトの名無しさん
2010/08/06(金) 12:02:10gaucheのコードをbiglooにくっつけるか
どっちがいいものか
0860デフォルトの名無しさん
2010/08/07(土) 16:16:41(display class_ins)
だとアドレスみたいなの表示されるだけ。メンバー一覧が表示されるような便利関数ないものでしょうか
0861デフォルトの名無しさん
2010/08/07(土) 18:56:28d
0862デフォルトの名無しさん
2010/08/07(土) 19:01:15(d class_ins)
0863デフォルトの名無しさん
2010/08/09(月) 04:34:23の
define-cise-stmt
をいろいろ書いても将来のバージョンで互換性なくなって
使えなくなることなんてあるのでしょうか
0864デフォルトの名無しさん
2010/08/09(月) 07:38:23まだ公式なドキュメントが書かれていないという時点で、
本来はユーザーが使うべきものでないことを意味します。
0865デフォルトの名無しさん
2010/08/11(水) 20:03:51http://d.hatena.ne.jp/niitsuma/20081113/1281521109
0866デフォルトの名無しさん
2010/08/14(土) 12:46:550867デフォルトの名無しさん
2010/08/14(土) 13:31:110868デフォルトの名無しさん
2010/08/14(土) 14:27:51責任取らないでのうのうといつまでも偉そうにしているから
日本は駄目なんだよ
0869デフォルトの名無しさん
2010/08/14(土) 14:36:33迷惑な話だな
0870デフォルトの名無しさん
2010/08/15(日) 00:32:58と自宅警備員が怒っておられます、子ども手当をコジキ手当にして下さい>総理
0871デフォルトの名無しさん
2010/08/15(日) 00:45:36Railsエンジニアを募集してる会社の採用面接を受けた時の話。
転職エージェントに作れと言われて作ったシートに、「興味のある技術/言語」という欄があったんです。
仮想化技術とか色々書いたけど、プログラミング言語の中で興味があるのはTaoだったので、
Taoと書いておいたのですが、それを見た面接官のリアクションが酷かった。
面接官「Tao・・・ふははっ!Tao!」
面接官「Taoやってるんですか?wwwww」
俺「(唖然)は、はい・・まだS式を理解したぐらいですが。。」
面接官「Tao・・・ニヤニヤ」
その人はエンジニアで、当然Rubyのコードを書いている人だったので、
Rubyが「Matz Lisp」と呼ばれている事を知らないワケが無いだろうと思っていた。
つまり、このリアクションは"理不尽な状況に直面した時にどう対応するか"を見ているんだろうと判断し、あえて突っ込みは入れずに対処した。
しかし最後の質問で「何故RoRを採用したんですか?」と聞くと、
気まずそうに理由を話し、最後に「・・・と、聞いてます」と答えた。
つまりこの人は上からRubyを採用すると言われたから使っているのであって、
特別Rubyに思い入れとか無いリーマンエンジニアなんだなあと分かった。
mix-inとかもLisp発のテクニックだし、RubyやってるならTaoに興味を持つのは普通だと思うんだけどなあ。
多分ガチで知らなかったんだろう。
0872デフォルトの名無しさん
2010/08/15(日) 01:08:400873デフォルトの名無しさん
2010/08/16(月) 01:52:05電電公社同窓会って言ってやるべきだよ。
0874デフォルトの名無しさん
2010/08/16(月) 23:58:23いざ C-j, C-c C-e を押すと
「関数が定義されていません: nil」
というメッセージボックスが出てしまうのですが、何が考えられますでしょうか?
0875デフォルトの名無しさん
2010/08/17(火) 00:02:490876デフォルトの名無しさん
2010/08/17(火) 13:38:45Emacsスレ行って、debug-on-errorの使い方を教えて貰えば?
0877デフォルトの名無しさん
2010/08/17(火) 13:53:180878デフォルトの名無しさん
2010/08/17(火) 23:04:43試したら普通に動いたよ。scheme-mode.20090118.zip のほうでいいだよね。
あと xyzzy スレで質問したほうがいいと思う。
xyzzy Part16
http://hibari.2ch.net/test/read.cgi/win/1209098133/
0879デフォルトの名無しさん
2010/08/17(火) 23:44:55ぎゃああああああ。*.20090118.zip で試すとうごきましたぁぁ。
お時間を割いて試していただいて恐縮しております。本当にありがとうございました。
0880デフォルトの名無しさん
2010/08/18(水) 10:43:360881デフォルトの名無しさん
2010/08/18(水) 10:53:390882デフォルトの名無しさん
2010/08/18(水) 20:02:310883デフォルトの名無しさん
2010/08/19(木) 20:27:030884デフォルトの名無しさん
2010/08/19(木) 21:52:52Scheme801なら
0885デフォルトの名無しさん
2010/08/19(木) 21:57:140886デフォルトの名無しさん
2010/08/19(木) 23:00:46自己満足のために作りました
0887デフォルトの名無しさん
2010/08/20(金) 16:23:030888デフォルトの名無しさん
2010/08/20(金) 16:43:120889デフォルトの名無しさん
2010/08/20(金) 19:45:06新人声優だから舌っ足らずって意味だろ
0890デフォルトの名無しさん
2010/08/20(金) 23:30:32>
>いつまで立っても勉強 脳味噌発展途上
悟り開いてるだけって何?
0891デフォルトの名無しさん
2010/08/20(金) 23:36:330892デフォルトの名無しさん
2010/08/21(土) 01:01:250893デフォルトの名無しさん
2010/08/21(土) 17:46:020894デフォルトの名無しさん
2010/08/22(日) 00:01:190895デフォルトの名無しさん
2010/08/22(日) 03:22:57PLT使ってたけど、最近Schemeの処理系と言えなくなった。それ以外はGaucheだけ。
てーか、R6RS系列どうしたよ。Ypsilon、Ikarus、Larcenyと絶賛死亡中なんだけど。
PLTは別の次元行っちゃったし、生きてるのMoshだけじゃない?
0896デフォルトの名無しさん
2010/08/22(日) 03:32:30他人のお仕着せの処理系なんか普通使わない。
0897デフォルトの名無しさん
2010/08/22(日) 03:57:250898デフォルトの名無しさん
2010/08/22(日) 04:27:45scheme48あたりを改造するのが無難ってことか
0899デフォルトの名無しさん
2010/08/22(日) 08:58:56Ypsilon も停滞はしてるけど、本業であるピンボール (マッドダイダロス) が落ち着いたらまた続けるって作者も書いてる。
http://d.hatena.ne.jp/fujita-y/20091217/1261024221
それがもうちょっとで出来ると7月末の時点で書かれているのでもうそろそろ何か動きがあってもよさそうかなぁと思うけど。
http://lwpinball.wordpress.com/2010/06/21/%E3%83%9E%E3%83%83%E3%83%89%E3%83%80%E3%82%A4%E3%83%80%E3%83%AD%E3%82%B9%E3%82%AA%E3%83%BC%E3%83%97%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%88%E3%82%8A%E3%81%9D%E3%81%AE%EF%BC%92/#comment-72
処理系の拡張が無ければ使い物にならない R5RS よりは不恰好でもある程度の枠組みが決まった R6RS の登場には意義があると思う。
0900デフォルトの名無しさん
2010/08/22(日) 12:26:11言語のシンプルさは好きだけどね。
0901デフォルトの名無しさん
2010/08/22(日) 19:18:23観測範囲が狭いだけかもしれんが、はてなは一応そういう技術系の話題が多いはずだろ。
r6rsにユーザーなんていないんだよ。
0902デフォルトの名無しさん
2010/08/22(日) 19:20:400903デフォルトの名無しさん
2010/08/22(日) 19:25:560904デフォルトの名無しさん
2010/08/22(日) 19:34:02そもそもScheme人口が少ないってことを忘れてないか。
そりゃ目にする機会は少ないだろうよ。
Scheme世界の中ではR6RSの重みはそんなに軽いものじゃない。
次(R7RS)にも大きく影響を残すのは間違いないと思うぞ。
反面教師としてかもしれんがな。
0905デフォルトの名無しさん
2010/08/22(日) 19:35:43C言語
処理系依存は少ないがOS依存は多い
0906デフォルトの名無しさん
2010/08/22(日) 19:43:19シフト演算子の挙動さえはっきりしてないなんてどうよ。
未定義の部分を使わないようにするのはユーザーの側の責任と言えなくもないけど、
そもそも未定義な部分を利用しないと書けない (書き難い) こともあるのでそれは処理系依存が多いと言っていいと思う。
まぁ、>>905は釣りだろうけど。
0907デフォルトの名無しさん
2010/08/22(日) 19:55:44しかし同じ用途のコンパイラでほとんどのメジャーな選択肢はほぼ同じ挙動をするよ。
でもCLはAPI自体からして全然違うよね。
互換性を持たせようという努力が見られない。
0908デフォルトの名無しさん
2010/08/22(日) 20:07:17で、結局ユーザーは少ないんだろ?
0909デフォルトの名無しさん
2010/08/22(日) 20:59:090910デフォルトの名無しさん
2010/08/22(日) 21:26:250911デフォルトの名無しさん
2010/08/22(日) 21:30:430912デフォルトの名無しさん
2010/08/22(日) 21:30:44C でのそれは見様によってはデメリットだよ。 「ほぼ」ってところが特に。
初心者が既存のコードを見て規格にある挙動なのか処理系依存なのかわからないまま覚えたりしがち。
違うなら違う API として提供してくれれば関数なりマクロなりにくるんでなんとか出来るのが CL だろ。
0913デフォルトの名無しさん
2010/08/23(月) 00:21:57makefileの書き方からして互換性がない
でもプリプロセッサとかで共通に動くソースは書ける
0914デフォルトの名無しさん
2010/08/23(月) 00:31:48それを共通に動くと言えるものなら CL でも同じことだと思うけど。
0915デフォルトの名無しさん
2010/08/23(月) 01:26:37マイナー言語じゃどれも似たような状況だよ
口出しする人間が少ないから進歩も遅い
0916デフォルトの名無しさん
2010/08/23(月) 03:49:05plt使うのやめたのはなぜ?
まさか有料化?
0917デフォルトの名無しさん
2010/08/23(月) 11:40:38今までは言語と開発環境と実行環境の区別があってわかり難かったのを全て含めて Racket という形にした模様。
言語の部分は Scheme をベースにしてはいるけれども開発環境まで含めた「実用的な」言語としてアピールしようとしているらしい。
一応 R5RS も R6RS もサポートするっぽく書いてはあるけど、新規ユーザー獲得に向けてアピールするには Scheme という名前はネガティブに受け取られると考えているようだ。
emacs 一辺倒の古いスタイルでは新規層を取り込み難いのは事実だろう。
とは言え、統合開発環境というには若干力不足な感もあるなぁ。
言語自体はそれほど変わるわけじゃないので、 >>895 が PLT やめたっていうのは心理的な要因が大きいと推測。
0918デフォルトの名無しさん
2010/08/23(月) 13:18:07てっきり有料化制限かと思った
0919デフォルトの名無しさん
2010/08/23(月) 14:18:370920デフォルトの名無しさん
2010/08/23(月) 14:24:50みんながみんな俺仕様を普及させようとがんばってるように見える。
0921デフォルトの名無しさん
2010/08/23(月) 14:27:543D関連のやつらは俺仕様のボタンとか多用しまくるし、
何でそんな勝手なことばかりするんだろうな。
自由だから人の使い勝手は考えなくても良いと考える人が多くて嘆かわしい。
0922デフォルトの名無しさん
2010/08/23(月) 15:01:31PLTはRacketっていう新しいLisp/Schemeの方言作って、それをメインにしたから、
RnRSをサポートするといっても、もうSchemeの処理系とは言い難い、って意味。
もちろん有料化もしてない。
ちなみに、PLTっていうと、どうもみんなDrSchemeのことを連想するみたいだけど、
EmacsからMzScheme使うと、とっても便利だよ。ライブラリも豊富だし。
0923デフォルトの名無しさん
2010/08/26(木) 00:54:52(make-namespace ns1
(define a 1) (define b 2))
(make-namespace ns2
(define a 3) (define b 4))
って感じで定義すると
(ns1 a) ⇒ 1
(ns1 b) ⇒ 2
(ns2 a) ⇒ 3
(ns2 b) ⇒ 4
となるようなマクロです。 更に言えばマクロ展開の段階で参照が解決されることも期待しています。
私が書いたのはこんなものです。
(define-syntax make-namespace
(lambda(x)
(syntax-case x ()
((k name body0 body1 ...)
(with-syntax ((%define (datum->syntax #'k 'define)))
#'(begin
(let-syntax
((%define (lambda(y) (syntax-case y () ((_ var val) #`(begin
(define #,(datum->syntax #'k
(syntax->datum #'var))
val)))))))
body0 body1 ...)
(define-syntax name (lambda(y) (syntax-case y () ((_ var)
(identifier? #'var)
(datum->syntax #'k
(syntax->datum #'var))))))))))))
アクセス不能な変数を作り、それに対するインターフェイスとなるマクロを定義する感じです。
しかし、 (ns1 a) という風にすると単なる a に展開されるらしく、そんな変数無いとエラーになりました。
一体どこが間違えているのでしょう?
0924デフォルトの名無しさん
2010/08/26(木) 02:14:36どういう出力結果を期待してるのかを書きなよ
0925デフォルトの名無しさん
2010/08/26(木) 02:16:000926デフォルトの名無しさん
2010/08/26(木) 02:22:530927デフォルトの名無しさん
2010/08/26(木) 07:21:44冒頭部分です。
0928デフォルトの名無しさん
2010/08/26(木) 08:19:44Cでハッシュテーブル自作するのはまだ我慢できるが
Schemeでそんなもの書かされたらたまったもんじゃない
苦し紛れに変数のルックアップでそれっぽいものを作る人が続出
0929デフォルトの名無しさん
2010/08/26(木) 10:03:59まだ最小主義を実践してたR5RSに何を期待してるんだ。
0930デフォルトの名無しさん
2010/08/26(木) 11:50:240931デフォルトの名無しさん
2010/08/26(木) 12:04:51簡単にインストールできるコマンドのセットは無いんですか?
0932デフォルトの名無しさん
2010/08/26(木) 12:10:17いくつか提案はあるが、どれもたいした規模になってない。
0933デフォルトの名無しさん
2010/08/26(木) 13:57:44ソースファイルにa.cppとaaa.cppの二つが入っているとします。
ヘッダーファイルにb.hとbbb.hの二つが入っているとします。
a.cppには
#include "b.h"
c_data sa; //c_dataはb.hに入っているクラス
string line;
sa.reader(line);がプログラムに打ち込まれているとします。
b.hには
struct c_data{
void reader(省略);
}
が打ち込まれているとします。
aaa.cppには
#include "b.h"
#include "bbb.h"
void c_data::reader(省略){
boost::tokenizer< abcde > tok( 省略 );
が打ち込まれているとします。
bbb.hには
class abcde{
}
のプログラムが打ち込まれているとします。
どのファイルにも実際はもっとプログラムが書かれていますが大事な部分だけ載せました。
この場合ってどれも連携して実行できますか?
初心者なんで間違っているかもしれませんが、a.cppのsa.reader(line);の所で
しっかりとaaa.cppのvoid reader(省略);が読み込まれますか?
0934デフォルトの名無しさん
2010/08/26(木) 14:12:47gauche独自のもの
plt独自のもの
なんかはあるよね
0935デフォルトの名無しさん
2010/08/26(木) 16:11:03作ってみた。
ただし古い人間なんでdefine-macro。
define-syntaxでどう作るのか教えて欲しいね。
(define-macro (make-namespace ns . body)
`(define-macro (,ns sym)
(case sym
,@(let loop ((x body) (r '()))
(if (pair? x)
(if (tagged-list? (car x) 'define)
(loop (cdr x) (cons `((,(cadar x)) ',(caddar x)) r))
(loop (cdr x) r))
(reverse r)))
(else ''unknown-symbol))))
展開するとこうなる
(macroexpand1 '(make-namespace ns1 (define a 1) (define b 2)))
=>(define-macro (ns1 sym) (case sym ((a) '1) ((b) '2) (else ''unknown-symbol)))
動作テスト
(make-namespace ns1 (define a 1) (define b 2))
(make-namespace ns2 (define c 3) (define d 4))
(ns1 a) =>1
(ns1 b) =>2
(ns2 c) =>3
(ns2 d) =>4
0936デフォルトの名無しさん
2010/08/26(木) 18:05:100937デフォルトの名無しさん
2010/08/27(金) 02:14:52強いて挙げるならPLaneT。
ttp://planet.racket-lang.org/
そもそも、処理系間での互換性に難があるから、共通のライブラリが作れない。
そのため、人的資源が分散し、大規模なライブラリアーカイブも作れない。
事態を打開するため、新しい言語規格ではライブラリを作るための共通の基盤作りを目指したけど、
一部がやや強引に押し通したため、多くの処理系作者がスルーした。
0938デフォルトの名無しさん
2010/08/27(金) 14:34:11C言語でライブラリを作りたいんだけど
そういう意見は、みんなで強引に黙殺してるでしょ
一部ではなくて、みんな強引だよ
0939デフォルトの名無しさん
2010/08/27(金) 16:13:290940デフォルトの名無しさん
2010/08/27(金) 18:50:02どうしても使いたいライブラリがあれば、目的の処理系で
可能な方法でポーティングするでしょ。
処理系間の互換性なんて気にしても大して意味がない。
perlやrubyは元々1つの処理系があって、
音頭を取る人間もその処理系関係者、
仕様にしても、既に存在する処理系からまとめる
だけだから言語仕様というより1処理系の動作仕様になる。
つまり互換性云々とは無縁の世界にいる。
もしライブラリを作るならschemeという言語に対してではなく、
scheme処理系に対して行うべき。
0941デフォルトの名無しさん
2010/08/27(金) 20:04:390942デフォルトの名無しさん
2010/08/27(金) 21:03:53技術が進歩すればすぐ時代遅れになったり、色々なバグもありえます
それに対し、仕様はある意味反証不可能な存在ですよね
0943デフォルトの名無しさん
2010/08/27(金) 21:10:570944デフォルトの名無しさん
2010/08/27(金) 21:29:400945デフォルトの名無しさん
2010/08/27(金) 21:44:590946デフォルトの名無しさん
2010/08/27(金) 22:02:16って、黒なんとかいう人が書いてたな
0947デフォルトの名無しさん
2010/08/27(金) 22:24:54仮に仕様が時代遅れのように見えても、実装を工夫すればうまくいく可能性があります
すべての実装を試さない限り「仕様が時代遅れである」と断定することは不可能です
0948デフォルトの名無しさん
2010/08/27(金) 22:35:48「究極」なら、補助仮説をそれ以上追加することもないですよね
0949デフォルトの名無しさん
2010/08/27(金) 22:35:480950デフォルトの名無しさん
2010/08/27(金) 22:44:138進表記の実装を全て試す必要がありそうですね。
0951デフォルトの名無しさん
2010/08/28(土) 12:32:37でも、人生を賭けるなら、大学院くらい余裕で出てるような、
知性とインテリジェンスのある相手がいい。
分厚い仕様書はインテリのあかしなんだ。
0952デフォルトの名無しさん
2010/08/28(土) 12:35:240953デフォルトの名無しさん
2010/08/28(土) 12:39:500954デフォルトの名無しさん
2010/08/28(土) 15:17:360955デフォルトの名無しさん
2010/08/28(土) 17:14:01>恋みたいなもんさ、遊びでつきあうなら見た目が良い言語を選べばいい。
じゃ brainf*ck を。
>でも、人生を賭けるなら、
>知性とインテリジェンスのある相手がいい。
じゃ grass にしようか。
0956デフォルトの名無しさん
2010/08/28(土) 21:00:17そこらの部屋に入って8光ちょっと先の融合炉のスイッチを off にすればええんちゃうのw
0957デフォルトの名無しさん
2010/08/29(日) 00:01:54Gaucheを試してみたものの、MeadowやEmacsなど
よく分からないのですが、どの処理系がいいのでしょうか?
0958デフォルトの名無しさん
2010/08/29(日) 00:16:10"分"ぬくんじゃねぇ!
0959デフォルトの名無しさん
2010/08/29(日) 00:22:46そういう聞き方する人て多いけど、有る以上はそれぞれの特徴があってそれぞれに「いい」ところはある。
そんなに多くないんだからテンプレにある分くらいは試してみて自分に合ったのを探せばいいんでないの。
Lisp 系言語をまともに使うならエディタのサポートは絶対に要る。
それが実質的には Emacs 系か Vi 系しか選択肢がないのが実情。
言語自体がどうこうよりも大きな障壁になっているという説もあるくらい。
(でも、エディタのサポートなしじゃもっとつらい。)
概ね Emacs 派が多いんじゃないかな。
学習用程度なら Racket がエディタを含んでるし、 ChezEdit-NT みたいなのもある。
0960874
2010/08/29(日) 00:23:46私は scheme (gauche) を xyzzy の scheme モードでただいま邁進中です。
>>874
>>878 を参照してください。
0961デフォルトの名無しさん
2010/08/29(日) 00:46:04Lispは仕様は良くても処理系がすべてクソなので机上だけで遊ぶ言語だと思ったほうが良いです。
0962デフォルトの名無しさん
2010/08/29(日) 02:10:59ttp://practical-scheme.net/wiliki/wiliki.cgi?Gauche:Gauchebox
まさに>>957のような人を対象に作られたもの。
他のSchemerがどういう風にEmacsを使ってるか気になるなら、以下参照。
ttp://www.nicovideo.jp/watch/sm2143250
Gaucheにこだわらないなら、PLT Racketも良い。教育用で使われてて、丁寧な作り。
0963デフォルトの名無しさん
2010/08/29(日) 07:31:27viやemacsになじみが薄いのならば、DrSchemeはいかがでしょ。
http://www.shido.info/lisp/scheme1.html
0964デフォルトの名無しさん
2010/08/29(日) 07:44:25ごめん、被った
0965デフォルトの名無しさん
2010/08/29(日) 19:47:35まずは使ってみるのが良いと思うよ。GaucheBoxもDrSchemeも、LispBoxってのも結構良い。
入門時はついつい近道を探すけど、まず飛び込んでみないと分からないことも多いんだ。
合言葉は DIVE II LISP !!
0966デフォルトの名無しさん
2010/08/30(月) 08:27:00DrScheme
0967デフォルトの名無しさん
2010/08/30(月) 11:28:06コンパイラの勉強するのにお勧めの本はどんなものがありますでしょうか
0968デフォルトの名無しさん
2010/08/30(月) 11:50:070969デフォルトの名無しさん
2010/08/30(月) 11:55:520970デフォルトの名無しさん
2010/08/30(月) 14:22:26schemeは末尾再帰や継続があるからちょっと工夫がいる。
基本的に末尾コンテキストを区別したりするわけだが、
そういったことを扱ってる書籍は見たことない。
0971デフォルトの名無しさん
2010/08/30(月) 15:04:45レジスタマシンが一番おもしろいのに・・・
0972デフォルトの名無しさん
2010/08/30(月) 16:37:36英語は読めるの?
0973デフォルトの名無しさん
2010/08/31(火) 11:43:32読めます
0974デフォルトの名無しさん
2010/08/31(火) 11:44:26に相当するものはSchemeにはないのでしょうか
0975デフォルトの名無しさん
2010/08/31(火) 19:03:09強いて挙げれば、WiLiKiとか、あとはCommunity Scheme Wikiとかかなあ。
ttp://practical-scheme.net/wiliki/wiliki.cgi
ttp://community.schemewiki.org/
でも、質、量共にCLikiには及ばない。
0976デフォルトの名無しさん
2010/09/01(水) 14:08:320977デフォルトの名無しさん
2010/09/01(水) 14:18:29やることがなくなるんじゃないかな。
0978デフォルトの名無しさん
2010/09/01(水) 14:30:15R6RS 風マクロ (syntax-case とか) っていうデッカいのが残ってるぜ。
フェイズとの絡みをどうするか決めかねてるみたい。
あと、 Windows でのスレッド対応なんかも。
pthread 対応パッチは有るけど、直接 Windows API を使う方向で考えているとのこと。
0979デフォルトの名無しさん
2010/09/01(水) 14:43:450980923
2010/09/01(水) 17:49:42こんな感じかな。
(define-syntax make-namespace
(syntax-rules ()
((_ ns body ...)
(define-syntax ns
(lambda(x)
(syntax-case x ()
((_ sym)
#`(case 'sym
#,@(datum->syntax #'sym
(let loop ((x '(body ...)) (r '()))
(if (pair? x)
(if (eq? (car (car x)) 'define)
(loop (cdr x)
(cons `((,(cadar x)) ,(caddar x)) r))
(loop (cdr x) r))
(reverse r))))
(else 'unknown-symbol)))))))))
>>935 はリテラルに展開するのでその挙動に合わせたけど、
>>923 は変数に展開しようとしているという違いがあるので注意。
ところで >>923 でうまくいかなかったところをまともに動くようにしたのですがちょっと長いコードなのでブログにまとめてます。
http://d.hatena.ne.jp/SaitoAtsushi/20100828/1282960407
http://d.hatena.ne.jp/SaitoAtsushi/20100829/1283037554
http://d.hatena.ne.jp/SaitoAtsushi/20100830/1283099968
0981デフォルトの名無しさん
2010/09/01(水) 19:06:55define-syntaxしかわからないので
>>979-980氏のコードは理解出来ません\(^o^)/
(define (f x) x)みたいなのには対応してません\(^o^)/
namespaceに後から追加は出来ません\(^o^)/
(define-syntax ds
(syntax-rules ()
((_ x y ...)
(define-syntax x
(syntax-rules ()
y ...)))))
;↑define-syntaxを覚えて最初に書いたコード、おきに
(ds make-namespace
((_ ns defs)
(ds ns ((_ x)
(let ((result (assq 'x (map (lambda (u) (cons (cadr u) (caddr u))) defs))))
(if result (cdr result) (string-append (symbol->string 'x) ": undefined variable"))))))
((_ ns def ...)
(make-namespace ns '(def ...)))
)
(make-namespace ns1 (define a 1) (define b 2))
(make-namespace ns2 (define a 3) (define b 4))
(ns1 a)(ns1 b)(ns2 a)(ns2 b)(ns1 sonzaisinai_hensuu)
0982923
2010/09/01(水) 19:34:05>>981 の場合は (ns1 a) は↓な感じに展開される。
(let ([result (assq 'a (map (lambda (u) (cons (cadr u) (caddr u)))
'((define a 1)
(define b 2))))])
(if result (cdr result) (string-append (symbol->string 'a) ": undefined variable")))
ランタイムにこれが走るわけ。
syntax-rules ではこれくらいしか書きようがないんだけど実行効率は悪いな。
>>935 ではマクロ展開フェイズで 1 になるのでランタイムではただの1。
>>923 では定義時に (define a 1) が (define g1 1) みたいな感じに置き換えられて、 (ns a) が g1 に展開される感じを考えてた。 便宜上 g1 とか書いちゃったけど、実際には衝突回避のリネームで作られる変数で、直接表すことのできない変数ね。
0983デフォルトの名無しさん
2010/09/01(水) 21:11:15何でそう思ったのか分からないけど、リポジトリへの更新はずっと続いてるよ。
あの人が仕事で使ってるのがAllegro CLとGaucheだったと思うから、
転職でもしない限りは更新続けてくでしょ。
0984デフォルトの名無しさん
2010/09/01(水) 22:08:03おれライトなshiroさんストーカーだけど、多分忙しいだけだと思うよ
0985デフォルトの名無しさん
2010/09/01(水) 22:18:14頻度も内容も小粒になってはいると思うよ。
理由は忙しいだけだとは俺も思うけど。
仕事で使うなら飽きたから止めるってわけにはいかんよなぁ。
充分だから止めるってことはあるかもしれんけど。
0986981
2010/09/01(水) 22:57:36コード久しぶりに書きましたが、schemeは楽しいですね
最初は名前衝突を避ける案として
make-namespace時にsymtableを作ってクロージャに閉じ込めようと考えたのですが
関数名とマクロ名が衝突するので諦めました\(^o^)/
自分もsyntax-case使えるようになりたいですが
難しそうなので手が出ません
前schemeがマイブームだったときに
syntax-caseについて調べようとして
scheme実装の対応状況と
解説記事の少なさから挫折しました。
当時、Ypsilonの作者さまが
仕様の不明瞭な点を嘆かれてる記事か動画か何かを
見たような気がします
0987デフォルトの名無しさん
2010/09/01(水) 23:38:39petite chez scheme か larceny あたりの方が信頼できると思ってる。
主観だけど。
0988デフォルトの名無しさん
2010/09/02(木) 00:16:27プリミティブの構文定義メカニズムじゃなくて
古典的マクロの上のお手軽簡単健全マクロラッパって感じで位置付けとけばよかったのに
んだもんでScheme48以外でマクロを書くときは古典的マクロonly
Gaucheはマクロを定義するマクロがsyntax-rulesで書けないらしいし
0989デフォルトの名無しさん
2010/09/02(木) 00:32:34gauche は実用指向だからな。
gauche でバグが放置されてるのなら、
実用にはマクロを生成するマクロは意外に必要ないってことなのかもね。
結構大掛かりだから syntax-case 導入のときに一緒に修正するつもりみたい。
0990デフォルトの名無しさん
2010/09/02(木) 01:45:13ありがとうございます
なんとなく読めました
>>981のも定数畳み込みの最適化がちゃんと機能してれば
リテラルになるんじゃないかと思いますよ
(assqやmapの参照透過性をコンパイラが理解してればだけど)
0991デフォルトの名無しさん
2010/09/02(木) 01:53:01すいません
0992デフォルトの名無しさん
2010/09/02(木) 11:50:51sbclと比べるとどうなんだろ
0993デフォルトの名無しさん
2010/09/02(木) 21:46:21エラーメッセージを出すから嫌いだ。
いちいち0を押す必要があるのも面倒。
0994デフォルトの名無しさん
2010/09/03(金) 18:43:52俺はP2だから無理ぽ
0995デフォルトの名無しさん
2010/09/03(金) 18:50:040996デフォルトの名無しさん
2010/09/03(金) 18:51:49なかよくつかってね
Lisp Scheme Part31
http://hibari.2ch.net/test/read.cgi/tech/1283507452/
0997デフォルトの名無しさん
2010/09/03(金) 19:45:37レス数が950を超えています。1000を超えると書き込みができなくなります。