【入門】Common Lisp その8【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/07/06(水) 17:15:15.55初心者のQ&A
本スレでは恥ずかしくて聞けない人のQ&A
本スレは高度すぎて割り込めない人のQ&A
linuxでなくてwindowsでやりたいんですが・・・Q&A
lispを使用してC#やJAVAの代替にするための方法(おまけ)
ま、ゆっくりたりましょう。
「いいものの本質は、いかなる時代においても変わらない」byパワーズ
(list
(url http://pc8.2ch.net/test/read.cgi/tech/1101386936/l50 :part 1)
(url http://pc11.2ch.net/test/read.so/tech/1140012484/l50 :part 2)
(url http://pc11.2ch.net/test/read.so/tech/1181479267/l50 :part 3)
(url http://pc11.2ch.net/test/read.cgi/tech/1201402366/l50 :part 4)
(url http://pc11.2ch.net/test/read.cgi/tech/1215834213/l50 :part 5)
(url http://pc12.2ch.net/test/read.cgi/tech/1234884136/l50 :part 6)
(url http://hibari.2ch.net/test/read.cgi/tech/1270370267/l50 :part 7)
□テンプレート置き場□
ttp://wiki.fdiary.net/lisp/ (id:guest pass:cl)
0446443
2011/11/29(火) 11:28:14.54(sb-ext:run-program "c:/Windows/System32/cmd.exe"
'("/c" "start" "http://www.google.co.jp/")
:wait nil)
と書き換えればokでした
0447デフォルトの名無しさん
2011/11/29(火) 13:02:06.70下手なLISP本やるよりわかりやすいから、とりあえずやれ。
あと2chのリンクは参考資料な。
0448デフォルトの名無しさん
2011/11/29(火) 13:05:36.47そして、その次にOn lisp.pdfかな。
0449デフォルトの名無しさん
2011/11/29(火) 13:53:18.07いきなりあの本に手を出すのは疑問かな。447さんと意見が違って来る。
やるならば3章まではなんども復習してじっくり鍛えてからそのあと
に進めばいいよ。ネットの勉強ブログを見てると4章くらいで挫折が
多い本だから。だからあの本はある程度身につけたlisperが更に腕を
磨く本という位置づけ。最初の2章の位置づけは、他の言語やってましたよ
という人にとっては良い入門だと思う。
on lispを初心者に勧めるのもどうかと思うな。
おれはANSI common lisp(グレアム)で最初勉強したほうだけどね。
竹内さんの本は見てないから評価できない。
0450デフォルトの名無しさん
2011/11/29(火) 13:59:11.02だけどね。
むしろ、lisp経験をある程度積んでるのにPAIPを読んでないのは不幸だと思うくらい
の本だよ。値段は高いからそれ相当の価値があるかと言われると、あるんだろうな。
買って損したって気分しないんだから。ただし和訳版は持ってないので、和訳の質
などわかりません。(洋書版で7千円ちょっと、和書で9千円ちょっと)
0451デフォルトの名無しさん
2011/11/29(火) 20:49:32.97初心者でもとりあえずまずは、公式HPをみとくべき
http://lisp.dive2ent.com/
0452デフォルトの名無しさん
2011/11/29(火) 23:38:38.06踏んでしまったw
0453デフォルトの名無しさん
2011/11/29(火) 23:46:05.95日本語では『実践Common Lisp』と翻訳されているやつ
PAIPは無料配布されていなかったかと
>>451については俺もやられたw
音楽が流れてびくっとしてしまった
0454デフォルトの名無しさん
2011/11/29(火) 23:46:15.450455デフォルトの名無しさん
2011/11/29(火) 23:57:48.53人工知能 第二版 1108p,17000円とこっちも分厚いんだな。
0456デフォルトの名無しさん
2011/11/30(水) 00:57:06.16PCLのことか^^; 和書のタイトルがに過ぎてて混乱してた。
PCL萌え絵本ですね。(もええ本ですねと書いたんだが。)
0457デフォルトの名無しさん
2011/11/30(水) 01:05:17.86原著は第三版がでて11000円相当で売ってるけど、あんなでかいの
電子ブックじゃないと持ち歩く気がせんかも。
PAIP/AIMAコンボで漬物石だよな。(+ Introduction to Algorithms)
0458デフォルトの名無しさん
2011/11/30(水) 01:14:35.37しいし、役にたつよ。できれば、じっくり味わってほしい。
今なら実践(PCL)→実用(PAIP)が個人的オススメかな。Paul Graham のスタイル
はどちらかといえば Scheme 寄りだからね。ド入門よりは二冊目以降がいいような気がする。
0459デフォルトの名無しさん
2011/11/30(水) 02:51:28.780460デフォルトの名無しさん
2011/11/30(水) 02:55:10.84それハードカバー版じゃない?
ペーパーバックの国際版なら7kちょいだよ
0461デフォルトの名無しさん
2011/11/30(水) 08:48:17.78ホントだ、知らなかった。
0462デフォルトの名無しさん
2011/11/30(水) 13:53:30.750463デフォルトの名無しさん
2011/11/30(水) 13:59:40.00sbclのスクリプトを実行可能にするとき、アイコンを埋め込むことはできますか?
sbclが作り出す実行ファイルにはアイコンが設定されていないと思うので、
ただそれに指定したアイコンを埋め込みたいです
windowsxpで、外部ツール(ReplaceVistaIcon.exe)を使ってアイコンをコマンドで書き換えましたが
書き換え後の実行ファイルが"can't find core file"となってしまいます
外部ツールなしに実行ファイルのアイコンを書き換えられればベストですが、
それができないとき、外部ツール(できればコマンドラインから扱えるツール)を使って書き換えれるでしょうか
0464デフォルトの名無しさん
2011/11/30(水) 14:30:39.75コアイメージ部分を外部ツールがパージ、あるいは変更しちゃったからだと思う。
ファイルサイズがスリムになってたりしない? stripとかしてもそうなるはず。
多分、そういうの考えた人自体があんまりいないと思う。
ウィンドウとかタスクバーに表示されるアイコンを変えたいだけなら、
Windows APIで動的に読み込めたと思うけど、そういうんでもないんだよね?
あとはショートカットに対してアイコンとかを設定しとけば、
実用上は気にならない気もするけども。
それ以外だと、手当たり次第に外部ツールを試すくらいしか思い付かない。
0465デフォルトの名無しさん
2011/11/30(水) 20:52:14.0020MB台->1MB台
エクスプローラーでアイコン付きのexeファイルを表示させたかったのですが、
API経由でタスクトレイにアイコンを表示させるのがよさそうですね
やってみます
0466デフォルトの名無しさん
2011/12/01(木) 05:49:59.47始めてLISPでプログラムを書こうとしているのですが、うまく行きません。
'((A B C) A B C (A (B C)))
と言うリストに対して
A<=a
B<=b
C<=a b
として以下の様になるよう置換したいのです。
'((a b a b) a b a b (a (b a b)))
ところが以下の様にうまくいきません。
* (defun henkan(x)(
cond
((equal x 'A) (list 'a))
((equal x 'B) (list 'b))
((equal x 'C) (list 'a 'b))
(t nil)))
* (defun chikan(x) (if (atom x) (henkan x) (mapcar #'chikan x )))
* (chikan '((A B C) A B C (A (B C))) )
(((A) (B) (A B)) (A) (B) (A B) ((A) ((B) (A B))))
「括弧が増えないやり方」はありますか?
もしくは「一番内側の括弧を外す方法」でも構いません。
なお1つのアトムが最大2つのアトムに変換されるとは限りません。
よろしくお願いします。
ちなみにmultiple-value-bindと言うのも見つけたのですが
可変長とは相性が悪そうに思いました。違いますかね?
0467デフォルトの名無しさん
2011/12/01(木) 10:01:07.58(defun chikan (x)
(labels ((hentai (x)
(if (atom x)
(case x
(a (list '|a|))
(b (list '|b|))
(c (list '|a| '|b|)))
(list (loop for y in x
append (hentai y))))))
(hentai x)))
0468デフォルトの名無しさん
2011/12/01(木) 10:56:40.51Win用のexeファイルでは、コアイメージをWin32リソースに突っ込んでいて、
そのアイコン付加ツールはアイコンをリソースに突っ込んだ後、
知らないリソースを捨ててしまってるのかもね。
0469デフォルトの名無しさん
2011/12/01(木) 11:07:05.60car, cdrで原始的にゴリゴリやるしか思いつかん。
0470デフォルトの名無しさん
2011/12/01(木) 11:52:07.48* (apply #'concatenate 'list '((a) (b c) (d)))
(A B C D)
これを応用させてみ。
0471デフォルトの名無しさん
2011/12/01(木) 11:58:04.81listをletで変数に分けるみたいなときにはdestructuring-bindを使う。
この辺はちょっと慣れてこないと感覚はつかめないかも。
0472デフォルトの名無しさん
2011/12/01(木) 12:55:58.28>>467
動きました。labelsや縦棒で区切るとか勉強になります。
括弧が一つ多いみたいなんで
(car (chikan '((A B C) A B C (A (B C))) ))
とすれば大丈夫ですね。
所でlabels使わなくても行けませんか?
(defun chikan(x) (if (atom x) (henkan x) (list (loop for y in x append (chikan y)))))
>>470
ヒントありがとうございます。
(defun chikan(x) (if (atom x) (henkan x) (list (apply #'concatenate 'list (mapcar #'chikan x )))))
(car (chikan '((A B C) A B C (A (B C))) ))
>>471
リストで受けてfirst,second,thirdでばらすイメージですかね。
--
carで受けるのは格好悪いですね。labelsとか使う場面でしょうか。
0473デフォルトの名無しさん
2011/12/01(木) 12:59:03.79さり気なく痴漢と変態にしてんじゃねーよw
0474デフォルトの名無しさん
2011/12/01(木) 13:47:32.64(defun translator (tr)
(destructuring-bind (in . out) tr
(lambda(c)
(if (eql in c) out in ))))
CL-USER> (funcall (translator '(c .'(a b))) 'b)
C
CL-USER> (funcall (translator '(c .'(a b))) 'c)
'(A B)
0475デフォルトの名無しさん
2011/12/01(木) 13:54:32.260476デフォルトの名無しさん
2011/12/01(木) 14:38:19.17sbclでclojureと同じようにソースを出したいんですが、どうやればいいんでしょうか?
あとソースを参照しているファイルの場所を知ることはできないでしょうか?
user=> (source first)
(def
^{:arglists '([coll])
:doc "Returns the first item in the collection. Calls seq on its
argument. If coll is nil, returns nil."
:added "1.0"
:static true}
first (fn ^:static first [coll] (. clojure.lang.RT (first coll))))
nil
あとemacs23で(first 3)を評価すると*Backtrace*が出て実際のソースに飛べて便利なんですが、
こういうことはsbcl+slime+linuxでできないのでしょうか?
Debugger entered--Lisp error: (wrong-type-argument listp 3)
first(3)
eval((first 3))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp nil nil)
あと公式リファレンスを読むのを前提ですが、clojure, sbcl, emacs lispのソースを直接読んだ方が
あるテーマの操作関数について関数の語彙が増えるんでしょうか?
"/usr/share/sbcl-source/src/code/list.lisp"を今日初めて見てソースを見ちゃった方がわかりやすい
じゃんと思ってしまった。
0477デフォルトの名無しさん
2011/12/01(木) 20:11:09.54皆様のお陰で何とかなりそうです。
>>473
触れるべきか考えたまま調べたりしてたら失念しました。
私が触れとくべきでしたね。「なに!変態ですと!!!」
>>474
機会があったら使ってみます。
「こんなのもある」みたいな抽出しを増やさないとダメですよね。
0478デフォルトの名無しさん
2011/12/01(木) 23:49:07.050479デフォルトの名無しさん
2011/12/01(木) 23:49:52.10書き出す部分の処理がうまくいきません
読み込むファイルと書き出すファイルのパスは、
外部から与えるようにしたいです
(defun from-lisp-to (input-file output-file)
(with-open-file (stream output-file
:direction :output
:if-does-not-exist :create
:if-exists :supersede)
(eval
(read-from-string
(format nil "(progn ~A)" (parse-lisp-file input-file))))))
このような形で組み立てて
最終的にはinput-file内の(format stream "hoge")をoutput-file のstreamに書き出すよう処理させたいのですが
文字列内のstreamとして(with-open-file)のstreamを使わせる方法がわかりません
どこを修正すればよいでしょうか
0480デフォルトの名無しさん
2011/12/02(金) 00:37:24.41A1. function-lambda-expressionのこと?
A2. シンボルの上で M-. 。SBCLならdescribeでソースの位置とか表示される
A3. SLDB(SLIMEのデバッガ)については前に書いた物があるんで、下をどうぞ
http://cl.cddddr.org/index.cgi?SLIME%3ASLDB
A4. ソースは読むに越したことはないと思う。勉強になる
0481デフォルトの名無しさん
2011/12/02(金) 00:59:07.46HyperSpec曰く、
http://www.lispworks.com/documentation/HyperSpec/Body/f_eval.htm#eval
> Evaluates form in the current dynamic environment and the null lexical environment.
なので、evalでローカル変数を参照することはできません。本当にありがとうございました。
ちなみに、それは単に
(with-open-file (*standard-output* "out.txt" ...)
(load "code.lisp"))
みたいなのじゃ駄目なんでしょうか?
0482デフォルトの名無しさん
2011/12/02(金) 01:14:08.56(defun chikan (x)
(labels ((f (x)
(if (atom x)
(henkan x)
(list (mapcan #'f x)))))
(car (f x))))
mapcan 使うとこうなる。
labels 使うと (car (chikan hoge)) と呼ばなくてもOK.
>>479
(eval `(let ((stream ,stream))
,(with-open-file (s input-file)
(read s))))
parse-lisp-file が分からないけれど、みたいな感じで……。
0483デフォルトの名無しさん
2011/12/02(金) 01:16:06.08そういうことでしたら、無理にいじくらないようにしなくてはなりませんね
勉強になりました
0484デフォルトの名無しさん
2011/12/02(金) 01:36:00.09分かりました
道理でよくありそうな処理なのに
(eval (read-from-string という例がほとんど無いのですか
evalを使わずにできないものかと考えていましたが、
単に*standard-output*を利用するということを失念していました
>>482
eval外部のstreamをletを使ってeval内部に持ち込むのですか
ただ、そうなると>>481の説明に反してしまうような…
>>481が簡単というか簡潔なのでそちらを使うことにします
0485デフォルトの名無しさん
2011/12/02(金) 02:00:11.93えーと、>>482はローカル変数を参照してません。
リストを作る際に値(ストリームオブジェクト)を展開してるので、
>>481とは矛盾しないと思います。
0486466
2011/12/02(金) 12:25:25.85ぴったりな関数があったのですね。
0487デフォルトの名無しさん
2011/12/02(金) 23:46:00.60勘違いしていました
リスト生成後にevalで評価していますね
失礼しました
0488デフォルトの名無しさん
2011/12/03(土) 13:10:38.61Evalのこの制約は静的展開コンパイル最適化のため?
0489デフォルトの名無しさん
2011/12/03(土) 22:30:55.64それを考えると、コンパイルを必要な限りにおいてコンパクトに行うようにする、というのはしっくりくるね
0490デフォルトの名無しさん
2011/12/03(土) 23:46:10.74(with-open-file (out "foo.html" :direction output)
(with-html-output (out :pretty t)
(emit-html *some-foo-expression*)))
のoutputは:outputの誤表記でしょうか?
0491デフォルトの名無しさん
2011/12/04(日) 00:19:44.66typoだねー。原書の時点で間違えてるみたい。
http://www.gigamonkeys.com/book/practical-an-html-generation-library-the-interpreter.html
http://www.lispworks.com/documentation/HyperSpec/Body/f_open.htm#open
あと、そっちは実践Common Lisp(通称PCL)。実用Common Lisp(通称PAIP)とは違うので注意。
0492デフォルトの名無しさん
2011/12/04(日) 00:21:13.21たしかに実践の間違いでした。ご指摘ありがとうございます。
0493デフォルトの名無しさん
2011/12/04(日) 01:19:20.11正誤表提案よろしく
http://pcl.lispuser.net/wiliki.cgi?%E6%AD%A3%E8%AA%A4%E8%A1%A8.%E6%A1%88
0494デフォルトの名無しさん
2011/12/04(日) 03:07:09.18追加しておきました
0495デフォルトの名無しさん
2011/12/04(日) 12:46:19.07that book is dead sexy ?Xach on #lisp
と書いてあるのですが、どういう意味なのでしょう
xachという英単語は存在しないようですし
0496デフォルトの名無しさん
2011/12/04(日) 12:55:21.24Quicklispとか書いたり色々やってるLisperのZach Beane(ハンドルがXach)が、
IRCの#lispでそう言ってたってこと。
0497デフォルトの名無しさん
2011/12/04(日) 13:32:00.48なにそれ。
知らんがなって感じだな。
ハンドル名じゃなくて実名で書けよ。
pgってどれだけ浸透しているのか知らないけど、pgだけだと迷惑だな。
0498デフォルトの名無しさん
2011/12/04(日) 13:59:39.95別に通りの良いあだ名で人を識別するのなんて普通だろ。
そもそも、事情が分かる人向けに「あの有名人もこう言ってますよ」っていう宣伝なんだから。
0499デフォルトの名無しさん
2011/12/04(日) 14:37:35.60竹内関数の竹内さんの通り名知らないけど、その通り名で英語圏でどれだけ認知されているの?
ちゃんとその本人のリンクが貼ってあるならわかりやすいだがな。
0500デフォルトの名無しさん
2011/12/04(日) 14:42:45.700501デフォルトの名無しさん
2011/12/04(日) 14:52:50.60Es lebe die koreanische
0502490
2011/12/04(日) 15:15:45.19おかげさまで実践common lispを読み終えたのですが、
実際にコードを動かそうと思って
http://www.gigamonkeys.com/book/のDownload source codeを取得して
Chapter31の動作を確かめようとしたのですが、chapter31/ディレクトリにあるcss.lispをloadしようとすると
The variable COM.GIGAMONKEYS.HTML::CSS-STYLE is unbound.
というエラーが出てしまいます
当初.macro-utilitiesが見つからないと言われて (ql:quickload "com.gigamonkeys.macro-utilities")によって解決はしたのですが、htmlの方は
System "com.gigamonkeys.html" not found
となってしまいました
どうすればよいのでしょうか
0503デフォルトの名無しさん
2011/12/04(日) 16:18:44.400504デフォルトの名無しさん
2011/12/04(日) 16:24:18.32先にpackages.lispとhtml.lispを手動でロードするか、ASDF経由でロードしてください。
(asdf:initialize-source-registry
'(:source-registry
(:directory ("practicals-1.0.3/Chapter31")) ; コードのあるディレクトリを指定
:inherit-configuration))
評価してから(asdf:load-system :html)すればASDF経由でロードできます。
0505デフォルトの名無しさん
2011/12/04(日) 16:35:46.21別に全世界でどうこうとか知名度とか、そういうのはまったく関係ないわけよ。
「特定のコミュニティ」の中で十分に共通の認識がある通り名なら、
「中の人同士」でのコミュニケーションに使っても何の問題もないっしょ?
「この道では知る人ぞ知るアイツもこう言ってるぜ、買えよ」って売り文句に、
「俺は知らないんだけど」って言ってる状況なんだけど、不毛だと思わんか?
その広告のターゲットじゃないんだから、無理に分かろうとしなくていいんだよ。
0506デフォルトの名無しさん
2011/12/04(日) 16:48:28.25これはかなり良い入門者向き環境かもしれない。
0507デフォルトの名無しさん
2011/12/04(日) 16:53:40.02ヌーディストビーチのWeb上でのコミュニケーションなんだから
腋毛、マン毛等を手入れしたりした方が良いんじゃないの。
部外者はみるなと立看板をわかりやすいところに立てているなら
勝手にすればいいよ。
0508デフォルトの名無しさん
2011/12/04(日) 17:06:43.44裸なのは君の方なんじゃないの?
0509デフォルトの名無しさん
2011/12/04(日) 17:17:29.640510デフォルトの名無しさん
2011/12/04(日) 17:25:18.90コミュニティの閉鎖性にして誤魔化すのはみっともないと思います。
0511デフォルトの名無しさん
2011/12/04(日) 17:25:26.190512デフォルトの名無しさん
2011/12/04(日) 17:54:21.06Emacsを好きになれるかがLisp入門にあたっての鬼門だったりするね
自分はvimから入ったから正直きつかった
好きになったのはEmacs Lispを書くようになってからだ
0513デフォルトの名無しさん
2011/12/04(日) 18:04:13.66Common Lispはlexical bindingセマンティクスだからでしょう。
引数にquoteされた式が書かれた場合はlexical bindingではあるんだけど、
引数が一般の式の時には、外のlexical environmentをアクセスしにいくのは、
Common Lispのセマンティクス上まずい。
統一的にlexical environmentはアクセスできないようにしておけば
わかりやすい性質を持ったevalになる。
0514デフォルトの名無しさん
2011/12/04(日) 18:27:48.47pgはvi派だし、vimの方がサラッと書くときには便利じゃないのかな。
環境を整えて書いたことないけど。
emacs自体は強い支援環境とemacs lispを組む楽しさがあるぐらい。
emacsは四輪でいつも信号に捕まって渋滞。vimはバイクですり抜けして
信号に捕まらずに快適。良い景色があって停車してデジカメに収めよう
としても両者の違いは明らか。
0515デフォルトの名無しさん
2011/12/04(日) 18:33:24.68screenと組み合わせれば、それとなく使い勝手の良いものになってくれる。
0516デフォルトの名無しさん
2011/12/04(日) 18:39:07.080517512
2011/12/04(日) 19:01:30.40なんかくやしいわ
0518デフォルトの名無しさん
2011/12/04(日) 19:09:15.80↓http://www.vim.org/scripts/での検索結果
http://www.google.com/cse?cx=partner-pub-3005259998294962%3Abvyni59kjr1&q=Lisp
0519デフォルトの名無しさん
2011/12/04(日) 19:30:37.860520デフォルトの名無しさん
2011/12/04(日) 19:57:47.77うちの.emacsをチューニングしてるからかもしれないが。
vim使っててよくわからんと思ってるのは自動的に括弧を閉じるようにした時に
括弧の外に移動する方法が矢印キー以外のことがよくわからん^^;ところ
vimも適当な書物をかって学んだほうがええんかなぁ。オライリーのvi/vim第7版は原著しか無いけd.
0521デフォルトの名無しさん
2011/12/04(日) 21:37:08.33common lispの閉じ括弧から開き括弧に移動するショートカットキーはあるのでしょうか?
逆に、well-formedなs式で、開き括弧から閉じ括弧に飛ぶということはどうでしょうか
0522デフォルトの名無しさん
2011/12/04(日) 22:09:10.47vipper-modeかと思った
0523デフォルトの名無しさん
2011/12/04(日) 22:25:38.24http://lispuser.net/emacs/lisphacking.html#sec-1.1
0524デフォルトの名無しさん
2011/12/04(日) 22:30:23.11まさに探していた機能が載っていました
ありがとうございます。
0525デフォルトの名無しさん
2011/12/04(日) 22:50:47.85できました!丁寧に解説して下さってすみません
0526デフォルトの名無しさん
2011/12/05(月) 00:00:32.88:before と :afterのそれぞれのメソッドは説明を見ても分かるのですが…
どういう意味でaround(周囲)なのでしょうか
0527デフォルトの名無しさん
2011/12/05(月) 00:15:03.95call-next-methodで呼び出されるmethodを覆うように実行されるからaround。
0528デフォルトの名無しさん
2011/12/05(月) 01:45:09.14周囲ではなくて覆うというイメージなら分かる気がします
0529デフォルトの名無しさん
2011/12/06(火) 16:00:52.40惚れ惚れするコードを書くよ。
0530デフォルトの名無しさん
2011/12/07(水) 07:41:56.65コツなどありますか?
0531デフォルトの名無しさん
2011/12/07(水) 11:38:02.20doはbodyの実行順序が規定されてない。(依存してはいけない)
0532デフォルトの名無しさん
2011/12/07(水) 12:31:47.74DO : ループ変数の束縛がパラレルに行われる
DO* : ループ変数の束縛がシーケンシャルに行われる
0533デフォルトの名無しさん
2011/12/07(水) 13:26:49.32それからどういうものを作ればいいのかピンときません
できれば10~100行のソースの小さなプログラムで、
common lispの使いどころがよくわかるようなものを複数探しているのですが、
そういうものはありますか?
0534デフォルトの名無しさん
2011/12/07(水) 15:10:13.11>Common Lispの情報を得られるWebサイトや書籍をまとめました。
http://matome.hatena.ne.jp/mt/761
paipが無いのが残念だけど、
いい感じにまとまっているね
0535デフォルトの名無しさん
2011/12/07(水) 15:10:25.11http://shootout.alioth.debian.org/u32/benchmark.php?test=revcomp&lang=sbcl
0536デフォルトの名無しさん
2011/12/07(水) 16:03:05.72深町さんも頑張ってまとめたね。おっしゃるように、Norvigのpaipや
Norvig&Pitmanのlisp作法に書いたドキュメントがないのが残念。とく
に作法のは和訳もされてて読まれやすだけにな。
(*) http://www010.upp.so-net.ne.jp/okshirai/tutorial-on-good-lisp-programming-style-ja.txt
オレイリーの本って幻っぽい。あの作者が早く健康を取り戻すことをお祈りしておくよ。
0537デフォルトの名無しさん
2011/12/07(水) 16:06:24.880538デフォルトの名無しさん
2011/12/07(水) 16:25:10.53PAIPは100行程度でこんなことできるのかと驚かされるものはのってるけど
今の貴方の状況で進められるものかどうか判断できない。
Common Lispだけはいろんな人がいろんな個性のコードを書くから、それが
良いかどうかをみるポイントは>>536でも参考にしてほしい。柔軟性を上手に
使って、最適化も上手なものって案外センスが問われるから。
https://github.com/languages/Common%20Lisp にはいっぱいコードが転がっ
てるけど、お目当てのものが有りそうかどうかはわからん。
速いコードを書く人ならEdi Weitzさんを見るといいかも。でも100行程度じゃないな。^^;
0539デフォルトの名無しさん
2011/12/07(水) 17:24:49.34使いどころって高尚な使い方の話?
雑多な処理なら随時実装していけばいいんじゃないの。とりあえず、どう書く.org?は例文として
参考になるんじゃないかな。
ttp://www.amazon.co.jp/dp/4874084141/
実装するネタがないならこの名著から適当につまみ食いして実装すればいい。
lispのいい所は慣用句を覚えれば形にするの(実装)が速いことだと思うから、形にして動かして
必要性があれば不満な部分を1から再実装しても良いし、不満な部分を我慢して違う興味のあるモノを
作っても良いという気楽さがある。
0540デフォルトの名無しさん
2011/12/07(水) 17:55:33.62lispのいい所は慣用句を覚えれば形にするの(実装)が速いことだと思う。形にして動かして必要性が
あれば不満な部分を1から再実装しても良いし、不満な部分を我慢して違う興味のあるモノを作って
も良いという気楽さがある。
0541533
2011/12/07(水) 22:38:43.46>>538のgithubを見た感じでは読み進めるのに難がありそうなので、
paipとどう書く.orgを手がかりに勉強していきます
0542デフォルトの名無しさん
2011/12/08(木) 07:32:22.36簡単な用例などありますか?
0543デフォルトの名無しさん
2011/12/08(木) 19:19:45.33>オレイリーの本って幻っぽい。あの作者が早く健康を取り戻すことをお祈りしておくよ。
作者がどうかしたのですか?倒れたとか…
0544デフォルトの名無しさん
2011/12/08(木) 20:09:49.07http://lisp-book.org/
Nine months into the project my rubbish state of health forced me to abandon being an O'Reilly author and all work on the book ceased.
遠まわしな言い方も含まれてるけど、健康がガタガタでオレイリーの著者に
なるのを捨てさせられて、本を書くことを中止した
と書いてるのね。ひどい健康問題みたいね。
0545デフォルトの名無しさん
2011/12/08(木) 22:59:01.24そういうことですか
残念ですね
■ このスレッドは過去ログ倉庫に格納されています