((Common Lisp) (Scheme) :Part 15)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/06/23(金) 10:22:53Part14: http://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: http://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: http://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: http://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: http://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: http://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: http://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: http://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: http://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: http://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: http://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: http://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: http://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: http://piza2.2ch.net/tech/kako/987/987169286.html
0159デフォルトの名無しさん
2006/08/05(土) 05:32:300160デフォルトの名無しさん
2006/08/05(土) 07:48:410161デフォルトの名無しさん
2006/08/05(土) 22:50:40Tkは解るけど、Tclっているのん?
0162デフォルトの名無しさん
2006/08/06(日) 00:28:180163デフォルトの名無しさん
2006/08/06(日) 00:35:21Tk needs Tcl.
0164・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/08/06(日) 00:40:490165デフォルトの名無しさん
2006/08/06(日) 12:42:45Ruby/Tk も Tcl 要るよ?Python の Tkinter も Tcl 要るし。名前の印象にダ
マされてる? Perl/Tk だけが自力で Tk とのバインディングを持ってる。
0166デフォルトの名無しさん
2006/08/06(日) 13:23:13実際には他言語のバインド使うならほとんどTclの知識は要らないんだけどね
0167デフォルトの名無しさん
2006/08/06(日) 14:11:35Tcl っぽくなってしまうような気がしますね。Perl/Tk は流行してないと思い
ますが…最近あまり動きないですし。
0168デフォルトの名無しさん
2006/08/06(日) 14:48:50比較対象としてはPerlやRubyより、Dosemuやcygwinに近い
0169デフォルトの名無しさん
2006/08/06(日) 14:55:540170デフォルトの名無しさん
2006/08/06(日) 20:10:45やっぱUNIXのGUIってセンスがダメなのよね。
0171デフォルトの名無しさん
2006/08/06(日) 21:19:270172デフォルトの名無しさん
2006/08/07(月) 01:38:000173・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/08/07(月) 01:41:170174デフォルトの名無しさん
2006/08/08(火) 23:13:00http://www.cliki.net/Graphics%20Toolkit
0175デフォルトの名無しさん
2006/08/09(水) 01:14:490176デフォルトの名無しさん
2006/08/09(水) 01:17:410177デフォルトの名無しさん
2006/08/16(水) 00:43:190178デフォルトの名無しさん
2006/08/16(水) 00:45:26君が何を読んでも楽しさを感じられない人間だからだと思う
0179デフォルトの名無しさん
2006/08/16(水) 00:49:17お前の家族を明日殺す
0180デフォルトの名無しさん
2006/08/16(水) 00:51:310181デフォルトの名無しさん
2006/08/16(水) 02:47:33一応警察に通報しておく
0182デフォルトの名無しさん
2006/08/16(水) 09:16:43Little Schemerかのう・・・軽く読めるんけど、楽しいかというとびみょ
0183デフォルトの名無しさん
2006/08/16(水) 20:16:060184デフォルトの名無しさん
2006/08/16(水) 22:31:52最近俺がやってる遊びだが。
0185デフォルトの名無しさん
2006/08/17(木) 17:11:50orz
0186デフォルトの名無しさん
2006/08/17(木) 18:09:510187デフォルトの名無しさん
2006/08/17(木) 18:17:43小問はかなり簡単だったんで喜んだんだけど… 再帰の計算量(?)を求める
問題とsamefringeが難しかった…
0188デフォルトの名無しさん
2006/08/17(木) 21:39:360189デフォルトの名無しさん
2006/08/18(金) 17:36:240190デフォルトの名無しさん
2006/08/18(金) 18:31:56そんなの院試に出されたら死屍累々という気もするが。
0191デフォルトの名無しさん
2006/08/18(金) 18:50:28試しに書いたらhaskellで楽勝だったのに
Schemeで大失敗したorz
0192デフォルトの名無しさん
2006/08/18(金) 20:48:440193デフォルトの名無しさん
2006/08/19(土) 02:39:27data Tree a = Leaf a | Node [Tree a]
fringe (Leaf x) = [x]
fringe (Node x) = foldr (\x r -> fringe x ++ r) [] x
samefringe x y = fringe x == fringe y
でもツリー作るのマンドクサイ
(Node [(Node [(Leaf 1), (Leaf 2)]), (Node [(Leaf 3), (Node [(Leaf 4) ])])])
0194デフォルトの名無しさん
2006/08/26(土) 15:32:15例えば以下のようにすると、
(setf p (run-program "/usr/bin/dc" nil :pty t :wait nil))
(format (process-pty p) "2 3 *~%")
(terpri (process-pty p))
(format (process-pty p) "p~%")
(terpri (process-pty p))
(format t "~A" (read-line (process-pty p)))
6が表示されると思われるんだけど、実際には入力待ちになってしまうのはどうしてなぜ?
0195デフォルトの名無しさん
2006/08/28(月) 00:42:24stream が buffering してんじゃない? dc ないから bc で試してみた.pty
使えない環境なんで :stream 経由で.環境は sbcl 0.9.16 です.
CL-USER> (defun bc-example ()
(let ((process (run-program "/usr/bin/bc" '("-q" "-i") :output :stream :input :stream :wait nil)))
(unwind-protect
(progn
(write-line "x = 2" (process-input process))
(write-line "y = 29" (process-input process))
(write-line "x^y-1" (process-input process))
(finish-output (process-input process)) ;; これがないとブロックする
(write-line (read-line (process-output process))))
(process-close process))))
BC-EXAMPLE
CL-USER> (bc-example)
536870911
"536870911"
0196デフォルトの名無しさん
2006/08/28(月) 17:00:263.5節の末尾再帰のところに出てくる「アクタ(actor)」というのは
昔の歴史的な事柄で今のSchemeにはもう関係ない話だと思って良いですよね?
0197デフォルトの名無しさん
2006/08/28(月) 21:58:260198デフォルトの名無しさん
2006/08/29(火) 21:17:32> (let ((x 10)) (define x (+ x 1)))
とすると、
;ERROR: bad body ((define x (+ x 1)))
; in expression: (let ((x 10)) (define x (+ x 1)))
; in top level environment.
;STACK TRACE
1; (let ((x 10)) (define x (+ x 1)))
と怒られてしまうのですが、
これはなぜでしょうか。
letの中で外に影響を及ぼすdefineを使っているからですか?
0199デフォルトの名無しさん
2006/08/29(火) 21:34:56define で初期値として x を参照してるから。
(let ((x 10)) (define x (+ x 1)))
== (let ((x 10)) (letrec ((x (+ x 1)))))
んで、R5RS 4.2.2 Binding constructs
> library syntax: (letrec <bindings> <body>)
> Syntax: <Bindings> should have the form
> ((<variable1> <init1>) ...),
...
> One restriction on letrec is very important: it must be possible
> to evaluate each <init> without assigning or referring to the
> value of any <variable>.
0200198
2006/08/30(水) 07:05:34ありがとうございます。
defineの所の説明とあわせて読んだら分りました。
こんどは、letrecを試してみようと、
> (letrec ((x 2) (y 'x)) (eval y))
としたところ、
;ERROR: "/usr/local/lib/scm/Init5e1.scm": unbound variable: x
; in expression: (#@@eval (#@@copy-tree #@x))
; in scope:
; (x) procedure <anon>
; (@eval @copy-tree . #@let)
; defined by load: "/usr/local/lib/scm/Init5e1.scm"
;STACK TRACE
1; x
2; (#@letrec ((x 2) (y (#@quote x))) (#@eval #@y))
といわれてしまいます。
(define x 2)(define y 'x)(eval y)
なら2が帰って来てくれるのですが、
何がいけないのでしょうか。
letrecだと変数領域が割り当てられて、
それから初期値が算出される、と書いてあったので、
このやり方ならyは既に割り当てられたxをさすようになるだろうから、
正しく動くと思ったんですが...
0201デフォルトの名無しさん
2006/08/30(水) 08:25:52これでうまくいきました。cmuclでもちゃんと動くようです。ありがとうございました。
Schemeのflashのようなものでしょうか。改行すればフラッシュされるものと思いこんでました…orz
0202デフォルトの名無しさん
2006/08/31(木) 02:33:39eval は局所環境を参照しないんじゃないでしょうか。
0203デフォルトの名無しさん
2006/08/31(木) 19:20:39環境についてもうちょっと調べたほうがいい。
(eval y (current-environment))
で期待の動作をする処理系もあるけど、
トップレベルは言語の都合上、例外的な動作になる。
schemeの気持ち悪い所の1つ。
多分やりたい事のほとんどはマクロで済むし、
移植性も悪くなるから、schemeに慣れてくると
evalはあまり使わなくなる。
0204デフォルトの名無しさん
2006/08/31(木) 23:15:070205198
2006/09/01(金) 14:40:56ありがとうございます。
もう少し勉強しなおしてみます。
0206デフォルトの名無しさん
2006/09/03(日) 14:23:09とほほ。
0207デフォルトの名無しさん
2006/09/03(日) 16:32:11やはり1コマ目のシチュがあり得なすぎて入り込めん。
0208デフォルトの名無しさん
2006/09/04(月) 03:19:44リスパーをばかにしてるだけじゃんw。
0209デフォルトの名無しさん
2006/09/04(月) 06:55:22ttp://www.comics.com/comics/workingdaze/html/cast_WorkingDaze.html
によると、
Roy, the engineer/repair guy:
an expert with computers and machines,
but he doesn't have a clue how to deal with people.
らしいから、
おにゃのこと言語オタクの区別が出来てないってことじゃなかろか。
0210デフォルトの名無しさん
2006/09/04(月) 08:11:190211デフォルトの名無しさん
2006/09/04(月) 08:19:040212デフォルトの名無しさん
2006/09/04(月) 13:55:59ハゲデブメガネじゃなあ
0213デフォルトの名無しさん
2006/09/04(月) 15:02:06「LISPの価値の分からないようなやつとは、誰ともデートしたくなかったんだ」
ショボーン。
0214デフォルトの名無しさん
2006/09/10(日) 22:19:48違うだろ。LISPじゃなくて「LISP使える俺様」なのがpoint。
遅レスで悪いが。
0215デフォルトの名無しさん
2006/09/12(火) 01:18:07お世話になります。
先ほど、Biglooは.NETにも対応(?)しているということを知り、
インストールしてみました。
しかし、英語力がないためかマニュアル読んでも欲しい情報が得られませんでした・・・。
.NET Frameworkを使ってMessageBoxを表示するようなプログラムはどう書けばいいのでしょうか??(汗
ご存知の方いましたら教えてください。。。宜しくお願いします。
0216デフォルトの名無しさん
2006/09/12(火) 22:29:540217デフォルトの名無しさん
2006/09/13(水) 09:05:350218デフォルトの名無しさん
2006/09/13(水) 12:39:590219デフォルトの名無しさん
2006/09/13(水) 13:28:29>>217 乱数発生ライブラリー作ってくれ
0220デフォルトの名無しさん
2006/09/13(水) 14:09:12もしかしてEMacsでローグ系が
プレイできたりします?
0221デフォルトの名無しさん
2006/09/13(水) 14:22:590223デフォルトの名無しさん
2006/09/14(木) 09:16:50それとこっちに来てください。
http://pc8.2ch.net/test/read.cgi/gamedev/1027084016/
0224デフォルトの名無しさん
2006/09/15(金) 08:20:17http://www.r6rs.org/
0225デフォルトの名無しさん
2006/09/15(金) 09:05:050226デフォルトの名無しさん
2006/09/15(金) 11:30:410227デフォルトの名無しさん
2006/09/15(金) 12:12:310228デフォルトの名無しさん
2006/09/17(日) 21:47:03わたしの体験を語ろう。
その頃のわたしにはコンピューター室が一番の居場所だった。
ノートPC用の電源。無線ネットワーク。他に何がいる?
銀色のノートPC がわたしの唯一の所有物だった。そして、
わたしには他には何もいらなかった(と信じていた)。
いまも鮮明に思い出せる。美しい黒髪、大きな瞳の優等生。
(つまり、「オタク」だったわたしには高嶺の花、だった。)
仮に t 子と呼ぼう。誰もいない夏休みのコンピューター室に、
ふいに彼女があらわれたのだ。
「君はずっとそこにいるの?」と彼女は言った。
-- それがわたしにとって、 Lisp という未知なる言語を学ぶ
きっかけだった。
0229228
2006/09/17(日) 22:01:00ただ、わたしは赤面し、怒り、何か毒舌を吐いた気がする。
うるせえガキはどこかへ行け、とか何とか。
(実際には彼女は優等生なだけではなく大人で、下手をすると
それから何年もたったいまのわたしよりも大人びていた。)
ありがたいことに、彼女は床でノートPC と格闘していた
わたしに興味を持っていた。わたしはその頃趣味で
幾つかのプログラムを書いていた。発表する気もない、
自分だけのプログラム。書かずにはいられないプログラムだった。
彼女の質問は驚くほど鋭く
- その頃のわたしは C と Perl を使っていたが、
そのどちらも学校で習ったものではなかった -
彼女はわたしよりも C を、あるいはノイマン型コンピューターを
熟知していたのだと思う。そのことはすぐに分かった。
いつしかわたしはまるで「オタク」を相手にするように、
自然に彼女と会話をしていた、その事に気付いて、唐突に沈黙した。
(調子にのるな、こんな美少女とお前は話をする
資格なんかないんだ geek が、とこころの中で誰かが非難していた)
0230デフォルトの名無しさん
2006/09/17(日) 23:49:330231デフォルトの名無しさん
2006/09/18(月) 00:03:480232デフォルトの名無しさん
2006/09/18(月) 02:11:31意味もなく生物のイラストが表紙になるのはやはりラクダのせいかねぇ。
0233デフォルトの名無しさん
2006/09/18(月) 02:41:38Common LispはEmacsじゃないから野牛は使えません。
そこでインタプリタ型bisonことawk(海鳥)に目を付けたが
Common Lispは手続き型じゃないからaukは使えません。
そこで海鳥じゃなくて水鳥に落ち着きました
0234デフォルトの名無しさん
2006/09/18(月) 02:46:550235デフォルトの名無しさん
2006/09/18(月) 03:24:37作者さんですか? Lisp 書籍コレクターの血が騒ぐので買います。でももっと
特化した内容のも買いてください。まずは教材に使えそうな「自然言語処理編」
とか「統計編」とか「数値計算」とか〜
でも Common Lisp の本なのに SLIME がないのはちょっと残念…
0236デフォルトの名無しさん
2006/09/18(月) 04:02:49代入式使わないとか。
0237デフォルトの名無しさん
2006/09/18(月) 04:17:35今時出すのにこの題材でCommon Lisp? と思ってしまうが、
xyzzy使ってとっつきやすく、ってことなのかな?
0238デフォルトの名無しさん
2006/09/18(月) 04:18:48マルチスレッドでアホみたいに悩むことが減る。
0239デフォルトの名無しさん
2006/09/18(月) 04:32:30るか…とおもうが xyzzy には勝てないわな。あれは Lisper 以外も使いたがる
良いエディタです。
>>236
Lisp の場合は強制じゃなくて選択ですからね。メリットが実感できるまでは普
通に副作用使いまくればいいんじゃないでしょうか。
0240デフォルトの名無しさん
2006/09/18(月) 07:07:450241デフォルトの名無しさん
2006/09/18(月) 07:41:150242デフォルトの名無しさん
2006/09/18(月) 07:50:40Lispの実行速度じゃないの。
0243デフォルトの名無しさん
2006/09/18(月) 08:39:14普通にキータイプのレスポンスが遅くね?
0244デフォルトの名無しさん
2006/09/18(月) 09:32:45ttp://www.amazon.co.jp/gp/product/479733665X
とか、`関数型'って言うのが微妙にクローズアップされているような
気がする。
その言語を扱っている書籍の中で、過去に出版された物より…
くらいの意味だけど。
Haskellが話題になったから?
0245デフォルトの名無しさん
2006/09/18(月) 11:37:22野田さんのOn Lisp翻訳に期待。(まだー?w)
0246デフォルトの名無しさん
2006/09/18(月) 14:22:46On Lispの翻訳を見たときは、日本にもまだまだ優秀な学生さんが居ると感心していたが
urlを見ると東大の学生じゃねーか、東大だよ東大!!!
そりゃぁ、出来て当然。Orz
0248デフォルトの名無しさん
2006/09/18(月) 14:43:19東大コンプレックス乙ww
0249デフォルトの名無しさん
2006/09/18(月) 15:29:450250デフォルトの名無しさん
2006/09/18(月) 16:13:12学歴コンプレックス乙ww
0251デフォルトの名無しさん
2006/09/18(月) 16:49:00高卒乙ww
0252デフォルトの名無しさん
2006/09/18(月) 19:18:580253デフォルトの名無しさん
2006/09/18(月) 22:32:01http://www.rubyist.net/~matz/20060914.html#p01
Guy Steele曰く「Lispはブラックホールだ。「Lispに似た(でもLispではない)なにか」を
作ろうとすると、重力につかまってブラックホールに落ちてしまう。そしてそれはLispになる。
0254デフォルトの名無しさん
2006/09/18(月) 22:45:52初期にあえて省いた機能を入れざるを得ない…。
0255デフォルトの名無しさん
2006/09/18(月) 23:31:15結局Closure導入に至った感じがする。
0256デフォルトの名無しさん
2006/09/18(月) 23:54:050257デフォルトの名無しさん
2006/09/19(火) 00:27:08そのための安全性とポータブル性に注意が払われてたが
実際は鯖サイドで成功して、どんどんノリ重視ホイホイ開発な方向になってきたわけで。
Appleも一時期Objective-Cを畳んでJavaに移行ムードだったのが復活模様だし
0258デフォルトの名無しさん
2006/09/19(火) 11:55:35あれ?flatlineさん、まだ2chに来てたのね。
はてなダイアリ見てます。院試合格おめでとう。たまにはLISPのことも書いてね。
『On Lisp』出版の話とかは、別に急がなくてもいいから。
http://d.hatena.ne.jp/flappphys/
まあこんなこと言ってる自分も、最近じゃPythonとHaskellばかりうわなにをするやめr
■ このスレッドは過去ログ倉庫に格納されています