【入門】Common Lisp その6【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/02/18(水) 00:22:16初心者の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))
□テンプレート置き場□
ttp://wiki.fdiary.net/lisp/ (id:guest pass:cl)
0685デフォルトの名無しさん
2009/10/06(火) 23:16:17これかな。使ったことないけど。
http://www.lispworks.com/documentation/HyperSpec/Body/f_fn_lam.htm
0686デフォルトの名無しさん
2009/10/06(火) 23:38:20意図していたのはまさにそれです。ありがとうございました。
自分で聞いといて何ですが、どういうときに使うんでしょうね。
0687デフォルトの名無しさん
2009/10/07(水) 00:04:50CLHSにあるとおり nil が返る可能性があるからねぇ。最悪常に nil でもいいわけで。
ほとんどの処理系で最適化の具合でなくなっちゃうから、ユーザーレベルでこれを
アテにするほうな利用法はあまり見かけないね。プリティプリンタ、インスペクタなどの
表示系で nil になったても致命的じゃない場所で使われてるのはたまに見かける。
0688デフォルトの名無しさん
2009/10/07(水) 00:20:36節子、それcommon lispやない、schemeや
0689デフォルトの名無しさん
2009/10/07(水) 01:40:170690デフォルトの名無しさん
2009/10/07(水) 05:16:56書けばいいんでねえか
0691デフォルトの名無しさん
2009/10/07(水) 09:28:13なるほど。表示系が一番適切そうですね。
>>690
書き込み見て気づきました。
|
\ __ /
_ (m) _ピコーン
|ミ|
/ .`´ \
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(・∀・∩< lambda式ってただのS式?
(つ 丿 \_________
⊂_ ノ
(_)
0692デフォルトの名無しさん
2009/10/07(水) 10:26:33defun特化なら、そのシンボルのsymbol-plistに加えた方がいいのでは?
ただdefun特化だと、無名のクロージャのfunction-lambda-expressionは取れないよね。
それからS式は印字表現だっての。
http://en.wikipedia.org/wiki/S-expression
> The term S-expression or sexp (for symbolic expression) refers to
> a convention for representing semi-structured data in human-readable
> textual form.
Elisp辺りはobjectの意味で使ってるけど。
0693デフォルトの名無しさん
2009/10/07(水) 13:56:53schemeだと、それがnilにならないの?
stalimもそうなのかな
0694デフォルトの名無しさん
2009/10/07(水) 14:14:45$ gosh
gosh> (lambda () t)
#<closure #f>
$ guile
guile> (lambda () #t)
#<procedure #f ()>
0695デフォルトの名無しさん
2009/10/07(水) 20:54:11データがメモリーに入りきらないとき?
0696デフォルトの名無しさん
2009/10/07(水) 21:11:110697デフォルトの名無しさん
2009/10/07(水) 21:44:42冗長性を減らすとか、一貫性が必要な場合とか、完全性とか
セキュリティとか…いっぱいあるから RDBMS は勉強しとくといいよ。
0698デフォルトの名無しさん
2009/10/07(水) 22:03:50「リレイション」は無視かよ。
0699デフォルトの名無しさん
2009/10/07(水) 23:19:42なんか嫌なことでもあったのか?
0700デフォルトの名無しさん
2009/10/08(木) 11:58:370701デフォルトの名無しさん
2009/10/08(木) 13:35:12readlineとlibsigsegvはインストール済ですがffiもどこかから持ってくる?
configureするとこうなっています
Configure findings:
FFI: no (user requested: default)
readline: yes (user requested: default)
libsigsegv: yes
0702デフォルトの名無しさん
2009/10/08(木) 13:55:41configure の時のオプションは何?
0703デフォルトの名無しさん
2009/10/08(木) 14:06:29prefixでインストールディレクトリだけ指定しています
あと、configureではありませんが、srcディレクトリで
./makemake --with-dynamic-ffi
等も試してみました
0704デフォルトの名無しさん
2009/10/08(木) 16:35:16http://d.hatena.ne.jp/smeghead/20081223
しかし、clispのバージョンによって、ソースからインストールしたときに、ffiパッケージが
有効になるバージョンと有効にならないバージョンがあるようでした。
とあった。ここによると clisp 2.42 だと大丈夫のようだけど、調べてないです。
ほかにこんなのもありました。
http://blog.goo.ne.jp/espiya/e/d860223142e8884f7eb937db9ecc1712
0705704
2009/10/08(木) 17:00:25入れているので、./configure のときにちょっと書き足したけど、結果は以下の
通り。
Configure findings:
FFI: yes (user requested: default)
readline: yes (user requested: default)
libsigsegv: yes
ということで、バージョン依存でよさそう。2.47 だと FFI は no になってた。
0706デフォルトの名無しさん
2009/10/08(木) 19:19:35ゲームを題材に、ってのは惹かれる
0707デフォルトの名無しさん
2009/10/08(木) 22:23:35http://www.haible.de/bruno/packages-ffcall-README.html
以前は同梱してありましたが2.44で同梱されなくなりました。
0708デフォルトの名無しさん
2009/10/09(金) 10:43:42どうもアチラさんの絵のセンスは理解できない。
試み的には期待してる。
0709デフォルトの名無しさん
2009/10/09(金) 11:21:50インストールできました。ffcallという名前のライブラリだったんですね
ありがとうございます
0710デフォルトの名無しさん
2009/10/09(金) 19:03:51には
Note
The old page, http://www.haible.de/bruno/packages-ffcall.html, is deprecated (it offers an obsolete source tar ball).
と書いてあるんだけど、なんかあったの?
0711デフォルトの名無しさん
2009/10/09(金) 19:22:36そっちの旧ページはもうメンテされてないし、古いソースがころがってるから見ちゃだめ、という意味。
0712デフォルトの名無しさん
2009/10/10(土) 17:15:09ありがとうございます。
cvs ってのがイマイチよく分からなかったのですが、なんとか落としてみました。
;; tgz で固めたのでも置いてくれれば個人的には楽なんですけど、筋違いですね。
0713デフォルトの名無しさん
2009/10/11(日) 02:50:45cvsメンテしてる奴って完全にアホだよね
0714デフォルトの名無しさん
2009/10/11(日) 07:00:090715デフォルトの名無しさん
2009/10/12(月) 21:45:55どのようにすればいいのでしょうか?よろしくお願いします。
使用OSはWindows XPです。
0716デフォルトの名無しさん
2009/10/14(水) 23:07:20俺んとこでは普通に動いたからなー
逆になんで動かないのかこっちが聞きたいw
0717デフォルトの名無しさん
2009/10/16(金) 21:10:09日本語も空白もないパスのときは普通に起動した。
0718223
2009/10/16(金) 23:10:51うまく動作したよ。フォルダの問題だったんだ。ありがとう。
かなり速い。
? (time (tak 12 6 0))
(TAK 12 6 0) took 0 milliseconds (0.000 seconds) to run
with 2 available CPU cores.
During that period, 172 milliseconds (0.172 seconds) were spent in user mode
0 milliseconds (0.000 seconds) were spent in system mode
12
?
0719デフォルトの名無しさん
2009/10/18(日) 08:51:34処理系はSBCLを使っています。
日本語を扱うため、色々調べた結果.emacsには以下の設定を書きました。
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(prefer-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(modify-coding-system-alist 'process""'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(set-default-coding-systems 'utf-8-dos)
(set-selection-coding-system 'utf-16le-dos)
(setq slime-net-coding-system 'utf-8-unix)
しかし、REPLで日本語を入力すると
decoding error on stream
#<SB-SYS:FD-STREAM for "standard input" {23B57741}>
(:EXTERNAL-FORMAT :SHIFT_JIS):
the octet sequence (130 10) cannot be decoded.
というエラーが出てきてしまって日本語が扱えません。
どなたか解決法を知っている方がいましたら教えて下さい。
0720デフォルトの名無しさん
2009/10/18(日) 10:30:46新聞の今日の一句を見て思い直す
>>719
slime起動して
sb-impl::*default-external-format* と
sb-alien::*default-c-string-external-format*
の値を調べて、:utf-8じゃなかったら
Emacsのホームフォルダに .sbclrcというファイルを作って
(setf sb-impl::*default-external-format* :utf-8)
(setf sb-alien::*default-c-string-external-format* :utf-8)
と書きこんどく。
直らなかったら次の人頼む
0721デフォルトの名無しさん
2009/10/18(日) 11:08:53レスありがとうございます。
しかし、そのように設定してもREPLで同様のエラーが出てしまいました。
ちなみに外部のテキストファイルtest.txtに対して
test.txt
----------
(12 23 あ)
以下を実行すると
(with-open-file ( in "test.txt")
(let ((word (read in)))
(format t "~A " word)))
(12 23 \202\240)
このように表示されてしまいます。
0722デフォルトの名無しさん
2009/10/18(日) 16:34:53(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
;; slime
(setq inferior-lisp-program "sbcl.exe") ; your Lisp system
(add-to-list 'load-path "~/.emacs.d/slime/") ; your SLIME directory
(require 'slime)
;(slime-setup)
(slime-setup '(slime-repl))
(add-hook 'lisp-mode-hook (lambda ()
(slime-mode t)))
(setq slime-net-coding-system 'utf-8-unix)
自分の設定はこんなだけど、utf-8で問題なく動くよ。
0723720
2009/10/19(月) 23:27:45それと同じ設定にしてみてもダメでした。
Windowsからだと難しいようですね。
Linuxの環境を整えた後にまた挑戦してみます。
0724デフォルトの名無しさん
2009/10/20(火) 07:03:00Windowsのインストーラは標準ではUTF-8の環境をインストールしてくれないので
インストール時に項目をチェックしてないのではないかな?
0725デフォルトの名無しさん
2009/10/20(火) 20:23:07QuantLib のようなものを探しているのですが
0726722
2009/10/20(火) 20:50:16ntemacs-23, sbcl1.0.29で、win xp, vista共に
UTF-8で使えているよ。
何が違うのでしょうね。
0727sage
2009/10/25(日) 13:31:350728デフォルトの名無しさん
2009/10/25(日) 20:28:590729デフォルトの名無しさん
2009/10/25(日) 22:45:38どちらが初心者におすすめですか?
0730デフォルトの名無しさん
2009/10/25(日) 23:12:490731デフォルトの名無しさん
2009/10/25(日) 23:57:060732デフォルトの名無しさん
2009/10/26(月) 00:35:320733デフォルトの名無しさん
2009/10/26(月) 08:28:260734デフォルトの名無しさん
2009/10/26(月) 15:37:10ANSI Common Lisp の方がいいんじゃね。
古本屋にウインストンの本があったら、それもいいかもね。
0735729
2009/10/26(月) 16:28:55両方買いますが、まずは「ANSI Common Lisp」の方で
勉強することにしました。
0736デフォルトの名無しさん
2009/10/26(月) 19:09:06Lisper には当たり前の話なんだろうけど、テスト用の
データも S 式で用意するのね。これは簡単で良いね。
0737デフォルトの名無しさん
2009/10/27(火) 01:26:17他の図書館から借りてくれたものを貸してくれるよ。
みれば分かると思うけど、car/cdrを使わずにfirst/restでやってるから
当時のご時世がよくわかると思うよ。グレアムのANSI Common Lispのほうが
いいんじゃないの?
0738デフォルトの名無しさん
2009/10/28(水) 22:15:02数学っぽいものがあるんで、また違う角度からLispが楽しめるんじゃない?
0739デフォルトの名無しさん
2009/11/05(木) 22:51:180740デフォルトの名無しさん
2009/11/16(月) 11:58:43(flatten '`(,X Y))
を計算させると、
`(,X ,@QUOTE)
となるのですが、どうしてこうなるのか、どう考えればいいかよくわからないので
どなたか教えてください。
なお、flattenは
(defun flatten(x)
(labels((rec(x acc)
(cond((null x)acc)
((atom x)(cons x acc))
(t(rec(car x)(rec(cdr x)acc))))))
(rec x nil)))
です。
0741デフォルトの名無しさん
2009/11/16(月) 13:09:17改良されたmetabangの人の関数がお勧め
0742デフォルトの名無しさん
2009/11/16(月) 17:11:31以下に各種アプリを入れる方法ないのでしょうか
0743デフォルトの名無しさん
2009/11/16(月) 22:18:220744デフォルトの名無しさん
2009/11/17(火) 08:50:05えーとまず、back quote 式は read 時に、指定された通りのリストを構築する式に展開される。
`(,x y)であれば、たとえば scheme 風に(qq (unquote x) y)といった感じになるかもしれない。
ただし、この展開された式がどのようなものになるかは処理系に依存する。
で、これに'をつけると、その展開された式を quote したことになる。
'`(,x y) なら(quote (qq (unquote x) y)) とかになる。
それが flatten に渡されるわけだから、上記のように展開されていた場合には結果は (qq unquote x y) となる。
と、ここで話が終われば簡単なんだけれど、
repl に表示する式が(この場合での qq のように)back quote 式の展開形であると判断する手掛かりがある場合、
処理系によっては back quote 式に戻して表示しようとする。
しかし flatten の戻り値の場合には当然 back quote 式の展開形としては不適切なものになっているはずなので、
なにやらぶっこわれた back quote 式が表示されることになる。
どうぶっこわれるかは処理系依存。
0745デフォルトの名無しさん
2009/11/17(火) 11:52:05実はダグホイトのLOL(Let Over Lambda)という本を読んでるんですが、
そこで、flatten関数にback quoteされた式を入れていて、一体どうなってるのか
だんだん分からなくなってしまったところです。
flattenは特別に難しい関数というわけではないので、back quoteの問題なのだと思います。
>>744
詳しい解説ありがとうございます。
私が使ってるlispはsbclなんですが、traceしてみると、途中、よくわからないですが(X '(Y))とかいうのをflattenしているらしく、これだったら(X QUOTE Y)となり、
最後によくわからないSB-IMPL::BACKQ-CONSというアトムをコンスしているようです、、。
試しに
(cons 'SB-IMPL::BACKQ-CONS '(X QUOTE Y))
を計算させると、
`(,X ,@QUOTE)
となります。
LOLの本でdefmacro/g!というマクロはflattenを使っていて、
このマクロにback quoteした式を入れているのですが、
なにかよくわからなくなってしまった、、、。
0746デフォルトの名無しさん
2009/11/17(火) 16:06:57でもチュートリアルのそのままの説明で作ると一部ちゃんと動かないのがありますね
demoみるとちょっと泥臭いこともしているので、
本当に綺麗には書けないってことでいいんでしょうか
0747デフォルトの名無しさん
2009/11/17(火) 18:03:16Emacsなどのテキストエディタを使わずに、、saveinitmem、clisp -M を
使いながら、対話形式での開発の使い勝手を試している所です。
関数をコンパイルした後でも、定義内容を確認する方法はあるのでしょうか?
[1]> (defun double(x)(* x 2))
DOUBLE
[2]> #'double
#<FUNCTION DOUBLE (X) (DECLARE (SYSTEM::IN-DEFUN DOUBLE)) (BLOCK DOUBLE (* X 2))>
Break 1 [3]> (compile 'double )
DOUBLE ;
NIL ;
NIL
Break 1 [4]> #'double
#<COMPILED-FUNCTION DOUBLE> <-- 定義内容が判らない
0748デフォルトの名無しさん
2009/11/17(火) 22:56:21function-lambda-expression
[1]> (defun double (x) (* x 2))
DOUBLE
[2]> #'double
#<FUNCTION DOUBLE (X) (DECLARE (SYSTEM::IN-DEFUN DOUBLE))
(BLOCK DOUBLE (* X 2))>
[3]> (compile 'double)
DOUBLE ;
NIL ;
NIL
[4]> #'double
#<COMPILED-FUNCTION DOUBLE>
[5]> (function-lambda-expression #'double)
(LAMBDA (X) (* X 2)) ;
T ;
DOUBLE
0749デフォルトの名無しさん
2009/11/17(火) 23:38:28有り難うございます。
まだまだ判らない事が多いので、On Lispを読了したら、一度体系的なLisp可燃本も読んでみます。
0750デフォルトの名無しさん
2009/11/21(土) 08:52:27あれ?アパッチアップデートしたら普通に動いた
0751デフォルトの名無しさん
2009/11/24(火) 09:50:31#+gcl
などの処理系ごとに違う処理をさせたい場合の書き方の解説どこかにないでしょうか
0752デフォルトの名無しさん
2009/11/24(火) 12:40:11例えば式EをSBCLのみで使いたかったら
#+sbcl
E
と書けばいいし、SBCLでは使いたくなかったら
#-sbcl
E
と書けばいいだけでは。あとは
#+(or sbcl ccl)
とか
#+(and sbcl sb-thread)
なんてことも書ける。
ある処理系が#+の後に書いて受け付けるキーワードは、
変数 *features* をみればわかる。
そのくらいしか解説することないんだけど。
0753デフォルトの名無しさん
2009/11/24(火) 12:57:35つまり、
#+foo
次の1つのリストだけが意味があるということなんですね
0754デフォルトの名無しさん
2009/11/24(火) 17:23:57(defun set-equal (lx ly &rest lzs)
"Test equality of list as set."
;; !!TODO!! need keywords :test :test-not and :key
(let((r(and(subsetp lx ly)(subsetp ly lx))))
(cond((null lzs)r)
(r(set-equal lx (car lzs) (cdr lzs)))
(t nil) )))
この関数に:test :test-not :keyといったsubsetpに渡すキーワードを引数として渡せるようにしてやりたいと思っています。
単純に引数に書いてやればよいのですが、その場合にはsubsetpのキーワードのデフォルト値を調べ、
さらにtest test-notが排他になるようなコードを書いてやらなければならず、面倒くさいです。
簡単に書く方法は無いのでしょうか。
0755デフォルトの名無しさん
2009/11/24(火) 18:17:09&rest でキーワードを受け取って subsetp に apply すればいいんじゃね
そうすると &rest で lzs を取ることができなくなるけど、
union とかと同じインタフェースになるだけだから悪くはないと思う
(defun set-equal (xs ys &rest keys)
(and (apply #'subsetp xs ys keys)
(apply #'subsetp ys xs keys)))
0756デフォルトの名無しさん
2009/11/25(水) 00:54:50HyperSpec最高。
ttp://www.lispworks.com/documentation/HyperSpec/Body/02_dh.htm
0757デフォルトの名無しさん
2009/11/27(金) 19:18:43>lispを使用してC#やJAVAの代替にするための方法(おまけ)
ってどこに解説があるんですか?
0758デフォルトの名無しさん
2009/11/27(金) 21:12:21abcl使いがいれば そんなのがもっと増えるだろうが、国内にabcl使いはおらん。
0759デフォルトの名無しさん
2009/11/28(土) 03:25:11;; (consp nil) => nil だから
(destructuring-bind (x . y) (foo)
(cons x y))
ごめん、それだけ
0760デフォルトの名無しさん
2009/12/07(月) 13:43:22さきに計算されなければならないのではないのでしょうか?
例えば、
``(,z)
はzに値がセットされていなければunboundエラーになるはずではありませんか?
しかし、sbclでは
`(,z)
となるのです、、。
0761デフォルトの名無しさん
2009/12/07(月) 17:06:54quasiquote/unquoteのネストは内側から`と,の組み合わせを作っていき、できた組み合わせを
外側から展開していくことになるのだ。On Lispの16章にあるマクロを定義するマクロの例を
見るとよいだろう。
0763デフォルトの名無しさん
2009/12/09(水) 07:43:59ググり方でも教えてください。英語資料でもいいです。よろしくお願いします。
0764デフォルトの名無しさん
2009/12/09(水) 08:22:00使ったことないけどshelispというものもあるらしい。
sbclならsb-ext:run-program、cmuclならextensions:run-program で
外部コマンドが実行できる。こんな感じかな。
(with-output-to-string (so)
(sb-ext:run-program "/bin/bash" (list "-c" "which cal") :input nil :output so)
so)
英語で素直に common lisp external command などとググれば
色々出てくるぞ。
0765デフォルトの名無しさん
2009/12/09(水) 11:44:38サンクス、ちょっとやってみます。
djbのpublicfile、動かなねえ。
0766デフォルトの名無しさん
2009/12/10(木) 00:29:27http://common-lisp.net/project/trivial-shell/
0767デフォルトの名無しさん
2009/12/11(金) 23:22:10SBCLのバージョンが関係あるのか?
ってCuspって2007年で開発がとまってんだね
0768デフォルトの名無しさん
2009/12/12(土) 00:58:07Clozure CLは日本語もきちんと使えるようになってる。
対応エンコードは、CP932、EUC-JP、Unicode系全般。ISO-2022-JP未対応。
内部コードはUTF-32。単純さと速度の関係で決めたそうな。
それと、対応OSも、Windows、Solaris/x86が増えた。
全部の環境で64-bit対応済。Windowsでもスレッドが使える。
WindowsやMac OSユーザは、使ってみるのもいいかも。
0769デフォルトの名無しさん
2009/12/12(土) 01:02:440770デフォルトの名無しさん
2009/12/12(土) 01:09:280771デフォルトの名無しさん
2009/12/12(土) 05:51:17coreイメージがでかいんだよね
cclってプロセス起動でどれくらいだかしらないけどそんなに軽い?
;;;clispは軽いんだけど処理が重いorz
0772デフォルトの名無しさん
2009/12/12(土) 10:45:42カーネルが1.64MBだから、そこまで小さいわけじゃないと思う。
ECLがUnicodeをもっとちゃんとサポートしてくれれば、
SBCLとかとCLISPの中間くらいで、良い感じになると思うんだけどなー。
内部でUTF-32使ってるっぽいのに、I/Oではバイト単位でぶった切るとか、
エンディアンとかどうするんだ。external formatもサポートしてないし。
みたいなことを、ECLのマニュアル読んでて思った。
0773デフォルトの名無しさん
2009/12/12(土) 18:49:40port.lispで定義されているreturn-output-from-programに問題がある。
* formatの括弧が閉じてない
* 環境によるのかもしれないが、:waitがnilだと上手く機能しない
formatの括弧の閉じ忘れは、開発者が「直すぜ」と言いつつ放置中。
これで、tarの所で止まってたのが、動くようになるはず。
ちなみに、パスに空白が入ってると正常に動作しないのはお約束。
使いたいなら、cygpathとtarにパスを渡すところで「'」とかで囲んでやる。
0774デフォルトの名無しさん
2009/12/15(火) 18:37:36エディタをUTF-8にして (setq a '日本語) にすると文字化けします。
? (setq a '日本語)
|ニ律ニ悽ネェ桍
0775デフォルトの名無しさん
2009/12/15(火) 19:57:43サンクス。windowsでsbclだと上手くいくのにclispだと上手くいかなくて
困ってたんだ。試してみる。
0776デフォルトの名無しさん
2009/12/15(火) 23:38:45扱えるよー。というか、扱ってるよー。
ただ、-Kオプションを指定しないと、標準のISO-8859-1で出力されるよ。
ttp://ccl.clozure.com/manual/chapter2.5.html#Command-Line-Options
ttp://ccl.clozure.com/manual/chapter4.3.html#Unicode
を参照のこと。EmacsでSLIME使うと設定が減って楽だよ。
良く分からないなら、
(setf ccl:*default-external-format* :utf-8)
(setf ccl:*default-file-character-encoding* :utf-8)
(setf ccl:*default-socket-character-encoding* :utf-8)
を、ccl-init.lispに書くて、いつも-K utf-8すると、デフォルトがUTF-8になるよ。
他のエンコードのファイル使いたいときは、:external-format使ってね。
ttp://www.lispworks.com/documentation/HyperSpec/Body/f_open.htm#open
0777デフォルトの名無しさん
2009/12/15(火) 23:44:51何かの役に立てば幸い。
ついでに言うと、Drakmaを使いたい場合、
TCP_NODELAYを切り替える機能がCLISPにないので、
usocketがエラーを出す。CMUCLもお仲間のようで、
ttp://article.gmane.org/gmane.lisp.cmucl.general/6382
という報告があるので、:nodelay tのところを削るか、#-:clispすると吉。
0778デフォルトの名無しさん
2009/12/16(水) 01:10:401.4の現時点で付属のASDF-Installにはバグがあって、そのままだと上手く動かない。
ccl\tools\asdf-install\*.wx32fslを削除してから、
(push :win32 *features*)
(asdf:operate 'asdf:compile-op :asdf-install)
をして、ASDF-Installを再コンパイルしてから、.asdf-installに
#+(and :ccl :windows)
(in-package :asdf-install)
#+(and :ccl :windows)
(progn
;; 自分の環境に合わせて設定する
(setf *cygwin-bash-program* "c:/Cygwin/bin/bash.exe")
(export '*cygwin-bash-program*)
(in-package :asdf-install-customize))
とすれば、正常に動作するようになる。
0779デフォルトの名無しさん
2009/12/16(水) 18:40:00-K オプションを追加したらutf-8で漢字も処理できました。
ありがとう。
0780デフォルトの名無しさん
2009/12/19(土) 03:24:27珠玉のプログラミングを読んでいて、いろいろと考えさせられることが多かったです。
日本語を扱う際、UTF8はEUCの1.5倍のデータ量を使うようですが、大量の文字データ処理を扱うことも視野に入れているのであれば、
文字コードはEUCとUTF8をどちらを使ったほうがいいのでしょうか?
0781デフォルトの名無しさん
2009/12/19(土) 08:12:08あと内部と外部で同じものを使うのか?
0782デフォルトの名無しさん
2009/12/19(土) 08:46:38他もそれにあわせるといいことあるのかな
0783デフォルトの名無しさん
2009/12/19(土) 09:18:32プラグインとかぐらいと思うが。
0784デフォルトの名無しさん
2009/12/19(土) 10:04:04■ このスレッドは過去ログ倉庫に格納されています