09/10/07 10:26:33
>>690
defun特化なら、そのシンボルのsymbol-plistに加えた方がいいのでは?
ただdefun特化だと、無名のクロージャのfunction-lambda-expressionは取れないよね。
それからS式は印字表現だっての。
URLリンク(en.wikipedia.org)
> 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の意味で使ってるけど。
693:デフォルトの名無しさん
09/10/07 13:56:53
>>685-687
schemeだと、それがnilにならないの?
stalimもそうなのかな
694:デフォルトの名無しさん
09/10/07 14:14:45
Schemeは、ラムダ式の評価後の値は実装依存の何かだよ。
$ gosh
gosh> (lambda () t)
#<closure #f>
$ guile
guile> (lambda () #t)
#<procedure #f ()>
695:デフォルトの名無しさん
09/10/07 20:54:11
RDBSが必要な場面ってなんだろう
データがメモリーに入りきらないとき?
696:デフォルトの名無しさん
09/10/07 21:11:11
「リレーショナル」ってどういう意味かわかるよな?
697:デフォルトの名無しさん
09/10/07 21:44:42
データを別のプログラムやシステムと共有するとか、
冗長性を減らすとか、一貫性が必要な場合とか、完全性とか
セキュリティとか…いっぱいあるから RDBMS は勉強しとくといいよ。
698:デフォルトの名無しさん
09/10/07 22:03:50
>>697
「リレイション」は無視かよ。
699:デフォルトの名無しさん
09/10/07 23:19:42
>>698
なんか嫌なことでもあったのか?
700:デフォルトの名無しさん
09/10/08 11:58:37
あったよ。
701:デフォルトの名無しさん
09/10/08 13:35:12
Linuxに入れるclispをffi対応にしたいのですがどうすればいいのでしょう?
readlineとlibsigsegvはインストール済ですがffiもどこかから持ってくる?
configureするとこうなっています
Configure findings:
FFI: no (user requested: default)
readline: yes (user requested: default)
libsigsegv: yes
702:デフォルトの名無しさん
09/10/08 13:55:41
>>701
configure の時のオプションは何?
703:デフォルトの名無しさん
09/10/08 14:06:29
>>702
prefixでインストールディレクトリだけ指定しています
あと、configureではありませんが、srcディレクトリで
./makemake --with-dynamic-ffi
等も試してみました
704:デフォルトの名無しさん
09/10/08 16:35:16
>>703
URLリンク(d.hatena.ne.jp)
しかし、clispのバージョンによって、ソースからインストールしたときに、ffiパッケージが
有効になるバージョンと有効にならないバージョンがあるようでした。
とあった。ここによると clisp 2.42 だと大丈夫のようだけど、調べてないです。
ほかにこんなのもありました。
URLリンク(blog.goo.ne.jp)
705:704
09/10/08 17:00:25
ためしに clisp-2.41 でやってみた。libsigsegv などを /usr/local ではない所に
入れているので、./configure のときにちょっと書き足したけど、結果は以下の
通り。
Configure findings:
FFI: yes (user requested: default)
readline: yes (user requested: default)
libsigsegv: yes
ということで、バージョン依存でよさそう。2.47 だと FFI は no になってた。
706:デフォルトの名無しさん
09/10/08 19:19:35
"Land of Lisp"ってどうなんでしょうかね
ゲームを題材に、ってのは惹かれる
707:デフォルトの名無しさん
09/10/08 22:23:35
ffcallがインストールしてあるか確認してください。
URLリンク(www.haible.de)
以前は同梱してありましたが2.44で同梱されなくなりました。
708:デフォルトの名無しさん
09/10/09 10:43:42
>>706
どうもアチラさんの絵のセンスは理解できない。
試み的には期待してる。
709:デフォルトの名無しさん
09/10/09 11:21:50
>704-705>>707
インストールできました。ffcallという名前のライブラリだったんですね
ありがとうございます
710:デフォルトの名無しさん
09/10/09 19:03:51
URLリンク(www.gnu.org)
には
Note
The old page, URLリンク(www.haible.de) is deprecated (it offers an obsolete source tar ball).
と書いてあるんだけど、なんかあったの?
711:デフォルトの名無しさん
09/10/09 19:22:36
なんかあったかというと、 URLリンク(www.gnu.org) が公式になったってくらいかな。
そっちの旧ページはもうメンテされてないし、古いソースがころがってるから見ちゃだめ、という意味。
712:デフォルトの名無しさん
09/10/10 17:15:09
>>711
ありがとうございます。
cvs ってのがイマイチよく分からなかったのですが、なんとか落としてみました。
;; tgz で固めたのでも置いてくれれば個人的には楽なんですけど、筋違いですね。
713:デフォルトの名無しさん
09/10/11 02:50:45
だよねーアーカイブ作れっての
cvsメンテしてる奴って完全にアホだよね
714:デフォルトの名無しさん
09/10/11 07:00:09
そんなもんアーカイブなんて作る意味が無いわ
715:デフォルトの名無しさん
09/10/12 21:45:55
古い話なのですが、私の環境でも>>223と同じエラーがでて実行することができません。
どのようにすればいいのでしょうか?よろしくお願いします。
使用OSはWindows XPです。
716:デフォルトの名無しさん
09/10/14 23:07:20
>>715
俺んとこでは普通に動いたからなー
逆になんで動かないのかこっちが聞きたいw
717:デフォルトの名無しさん
09/10/16 21:10:09
ためしにデスクトップに解凍したら>>223っぽいエラーがでた。
日本語も空白もないパスのときは普通に起動した。
718:223
09/10/16 23:10:51
>>717
うまく動作したよ。フォルダの問題だったんだ。ありがとう。
かなり速い。
? (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
?
719:デフォルトの名無しさん
09/10/18 08:51:34
すいません、Windows、emacs23の日本語表示に関する質問です。
処理系は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.
というエラーが出てきてしまって日本語が扱えません。
どなたか解決法を知っている方がいましたら教えて下さい。
720:デフォルトの名無しさん
09/10/18 10:30:46
まず日本語を窓から投g(ry とかできたらどんなに良いかとたまに思うが
新聞の今日の一句を見て思い直す
>>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)
と書きこんどく。
直らなかったら次の人頼む
721:デフォルトの名無しさん
09/10/18 11:08:53
>>720
レスありがとうございます。
しかし、そのように設定しても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)
このように表示されてしまいます。
722:デフォルトの名無しさん
09/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で問題なく動くよ。
723:720
09/10/19 23:27:45
>>722
それと同じ設定にしてみてもダメでした。
Windowsからだと難しいようですね。
Linuxの環境を整えた後にまた挑戦してみます。
724:デフォルトの名無しさん
09/10/20 07:03:00
>>723
Windowsのインストーラは標準ではUTF-8の環境をインストールしてくれないので
インストール時に項目をチェックしてないのではないかな?
725:デフォルトの名無しさん
09/10/20 20:23:07
commonlispのオープンソースで金融関連のものってありませんか?
QuantLib のようなものを探しているのですが
726:722
09/10/20 20:50:16
>>723
ntemacs-23, sbcl1.0.29で、win xp, vista共に
UTF-8で使えているよ。
何が違うのでしょうね。
727:sage
09/10/25 13:31:35
Gauche-rfbのようなライブラリってCommon lispにありますか?
728:デフォルトの名無しさん
09/10/25 20:28:59
作ればあるよ。
729:デフォルトの名無しさん
09/10/25 22:45:38
Common lisp を勉強しようと思うんですが、「ANSI Common Lisp」か「実践CommonLisp」
どちらが初心者におすすめですか?
730:デフォルトの名無しさん
09/10/25 23:12:49
ANSI Common Lisp
731:デフォルトの名無しさん
09/10/25 23:57:06
実践CommonLisp
732:デフォルトの名無しさん
09/10/26 00:35:32
少ないんだから両方読め
733:デフォルトの名無しさん
09/10/26 08:28:26
ネットの入門サイト+On Lispで学んだ俺はそれを勧めてみる
734:デフォルトの名無しさん
09/10/26 15:37:10
>>729
ANSI Common Lisp の方がいいんじゃね。
古本屋にウインストンの本があったら、それもいいかもね。
735:729
09/10/26 16:28:55
皆さん、ありがとうございます。
両方買いますが、まずは「ANSI Common Lisp」の方で
勉強することにしました。
736:デフォルトの名無しさん
09/10/26 19:09:06
Practical Common Lisp をちょっとだけ読んでみた。
Lisper には当たり前の話なんだろうけど、テスト用の
データも S 式で用意するのね。これは簡単で良いね。
737:デフォルトの名無しさん
09/10/27 01:26:17
ウインストンは。。。 公共図書館で頼んでおけばそこになくても
他の図書館から借りてくれたものを貸してくれるよ。
みれば分かると思うけど、car/cdrを使わずにfirst/restでやってるから
当時のご時世がよくわかると思うよ。グレアムのANSI Common Lispのほうが
いいんじゃないの?
738:デフォルトの名無しさん
09/10/28 22:15:02
ウインストンの本は題材が今のと違って人工知能っぽいものや
数学っぽいものがあるんで、また違う角度からLispが楽しめるんじゃない?
739:デフォルトの名無しさん
09/11/05 22:51:18
う、うん……(´・ω・`)
740:デフォルトの名無しさん
09/11/16 11:58:43
grahamのOn Lispのflattenで(s式に含まれるatomを単純にリストアップする関数)
(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)))
です。
741:デフォルトの名無しさん
09/11/16 13:09:17
On Lispそのままのコードは、私もいくつか動かなかった
改良されたmetabangの人の関数がお勧め
742:デフォルトの名無しさん
09/11/16 17:11:31
clbuildで/usr/share/common-lisp
以下に各種アプリを入れる方法ないのでしょうか
743:デフォルトの名無しさん
09/11/16 22:18:22
URLリンク(www.u.dendai.ac.jp)
744:デフォルトの名無しさん
09/11/17 08:50:05
>>740
えーとまず、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 式が表示されることになる。
どうぶっこわれるかは処理系依存。
745:デフォルトの名無しさん
09/11/17 11:52:05
>>741
実はダグホイトの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した式を入れているのですが、
なにかよくわからなくなってしまった、、、。
746:デフォルトの名無しさん
09/11/17 16:06:57
weblocksチュートリアルみると便利ですね
でもチュートリアルのそのままの説明で作ると一部ちゃんと動かないのがありますね
demoみるとちょっと泥臭いこともしているので、
本当に綺麗には書けないってことでいいんでしょうか
747:デフォルトの名無しさん
09/11/17 18:03:16
CLISP 2.42での質問です。
Emacsなどのテキストエディタを使わずに、、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> <-- 定義内容が判らない
748:デフォルトの名無しさん
09/11/17 22:56:21
>>747
function-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
749:デフォルトの名無しさん
09/11/17 23:38:28
>>748
有り難うございます。
まだまだ判らない事が多いので、On Lispを読了したら、一度体系的なLisp可燃本も読んでみます。
750:デフォルトの名無しさん
09/11/21 08:52:27
>>746
あれ?アパッチアップデートしたら普通に動いた
751:デフォルトの名無しさん
09/11/24 09:50:31
#+ecl
#+gcl
などの処理系ごとに違う処理をさせたい場合の書き方の解説どこかにないでしょうか
752:デフォルトの名無しさん
09/11/24 12:40:11
解説と言われても…
例えば式EをSBCLのみで使いたかったら
#+sbcl
E
と書けばいいし、SBCLでは使いたくなかったら
#-sbcl
E
と書けばいいだけでは。あとは
#+(or sbcl ccl)
とか
#+(and sbcl sb-thread)
なんてことも書ける。
ある処理系が#+の後に書いて受け付けるキーワードは、
変数 *features* をみればわかる。
そのくらいしか解説することないんだけど。
753:デフォルトの名無しさん
09/11/24 12:57:35
ありがとうございます
つまり、
#+foo
次の1つのリストだけが意味があるということなんですね
754:デフォルトの名無しさん
09/11/24 17:23:57
引数のlistの要素が同じかどうか調べる関数set-equalをsubsetpを使って書きました。
(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が排他になるようなコードを書いてやらなければならず、面倒くさいです。
簡単に書く方法は無いのでしょうか。
755:デフォルトの名無しさん
09/11/24 18:17:09
>>754
&rest でキーワードを受け取って subsetp に apply すればいいんじゃね
そうすると &rest で lzs を取ることができなくなるけど、
union とかと同じインタフェースになるだけだから悪くはないと思う
(defun set-equal (xs ys &rest keys)
(and (apply #'subsetp xs ys keys)
(apply #'subsetp ys xs keys)))
756:デフォルトの名無しさん
09/11/25 00:54:50
>>751
HyperSpec最高。
URLリンク(www.lispworks.com)
757:デフォルトの名無しさん
09/11/27 19:18:43
>>1の
>lispを使用してC#やJAVAの代替にするための方法(おまけ)
ってどこに解説があるんですか?
758:デフォルトの名無しさん
09/11/27 21:12:21
>>757
abcl使いがいれば そんなのがもっと増えるだろうが、国内にabcl使いはおらん。
759:デフォルトの名無しさん
09/11/28 03:25:11
;; (foo) が nil を返す場合エラーになるんだね
;; (consp nil) => nil だから
(destructuring-bind (x . y) (foo)
(cons x y))
ごめん、それだけ
760:デフォルトの名無しさん
09/12/07 13:43:22
多重バッククオートについてなんですが、内側のバッククオートが
さきに計算されなければならないのではないのでしょうか?
例えば、
``(,z)
はzに値がセットされていなければunboundエラーになるはずではありませんか?
しかし、sbclでは
`(,z)
となるのです、、。
761:デフォルトの名無しさん
09/12/07 17:06:54
>>760
quasiquote/unquoteのネストは内側から`と,の組み合わせを作っていき、できた組み合わせを
外側から展開していくことになるのだ。On Lispの16章にあるマクロを定義するマクロの例を
見るとよいだろう。
762:760
09/12/08 23:00:32
>>761
レスありがとう。
でも、理解できるまで時間がかかりそう、、。
763:デフォルトの名無しさん
09/12/09 07:43:59
sbcl, cmucl, clispで外部コマンド(ls, whichとか)を使うには、どうすればいいんでしょうか?
ググり方でも教えてください。英語資料でもいいです。よろしくお願いします。
764:デフォルトの名無しさん
09/12/09 08:22:00
ディレクトリ・ファイル操作はosicatで結構できるな。
使ったことないけど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 などとググれば
色々出てくるぞ。
765:デフォルトの名無しさん
09/12/09 11:44:38
>>764
サンクス、ちょっとやってみます。
djbのpublicfile、動かなねえ。
766:デフォルトの名無しさん
09/12/10 00:29:27
複数の実装から使うものを書くなら trivial shell を試してみるといいかもしれん。
URLリンク(common-lisp.net)
767:デフォルトの名無しさん
09/12/11 23:22:10
Cuspがインストールできないんだけど
SBCLのバージョンが関係あるのか?
ってCuspって2007年で開発がとまってんだね
768:デフォルトの名無しさん
09/12/12 00:58:07
テンプレの情報が古くなってるので報告。
Clozure CLは日本語もきちんと使えるようになってる。
対応エンコードは、CP932、EUC-JP、Unicode系全般。ISO-2022-JP未対応。
内部コードはUTF-32。単純さと速度の関係で決めたそうな。
それと、対応OSも、Windows、Solaris/x86が増えた。
全部の環境で64-bit対応済。Windowsでもスレッドが使える。
WindowsやMac OSユーザは、使ってみるのもいいかも。
769:デフォルトの名無しさん
09/12/12 01:02:44
Clozure CL はフットプリントが小さいのが良いよね。
770:デフォルトの名無しさん
09/12/12 01:09:28
SBCLってそんなに重量級なの?
771:デフォルトの名無しさん
09/12/12 05:51:17
>>770
coreイメージがでかいんだよね
cclってプロセス起動でどれくらいだかしらないけどそんなに軽い?
;;;clispは軽いんだけど処理が重いorz
772:デフォルトの名無しさん
09/12/12 10:45:42
Windows版32-bitのCCLで、デフォルトのイメージが15.2MB、
カーネルが1.64MBだから、そこまで小さいわけじゃないと思う。
ECLがUnicodeをもっとちゃんとサポートしてくれれば、
SBCLとかとCLISPの中間くらいで、良い感じになると思うんだけどなー。
内部でUTF-32使ってるっぽいのに、I/Oではバイト単位でぶった切るとか、
エンディアンとかどうするんだ。external formatもサポートしてないし。
みたいなことを、ECLのマニュアル読んでて思った。
773:デフォルトの名無しさん
09/12/12 18:49:40
WindowsのCLISPでASDF-Installが動いたので報告。
port.lispで定義されているreturn-output-from-programに問題がある。
* formatの括弧が閉じてない
* 環境によるのかもしれないが、:waitがnilだと上手く機能しない
formatの括弧の閉じ忘れは、開発者が「直すぜ」と言いつつ放置中。
これで、tarの所で止まってたのが、動くようになるはず。
ちなみに、パスに空白が入ってると正常に動作しないのはお約束。
使いたいなら、cygpathとtarにパスを渡すところで「'」とかで囲んでやる。
774:デフォルトの名無しさん
09/12/15 18:37:36
Clozure CL /win で日本語は扱えますか?
エディタをUTF-8にして (setq a '日本語) にすると文字化けします。
? (setq a '日本語)
|ニ律ニ悽ネェ桍
775:デフォルトの名無しさん
09/12/15 19:57:43
>>773
サンクス。windowsでsbclだと上手くいくのにclispだと上手くいかなくて
困ってたんだ。試してみる。
776:デフォルトの名無しさん
09/12/15 23:38:45
>>774
扱えるよー。というか、扱ってるよー。
ただ、-Kオプションを指定しないと、標準のISO-8859-1で出力されるよ。
URLリンク(ccl.clozure.com)
URLリンク(ccl.clozure.com)
を参照のこと。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使ってね。
URLリンク(www.lispworks.com)
777:デフォルトの名無しさん
09/12/15 23:44:51
>>775
何かの役に立てば幸い。
ついでに言うと、Drakmaを使いたい場合、
TCP_NODELAYを切り替える機能がCLISPにないので、
usocketがエラーを出す。CMUCLもお仲間のようで、
URLリンク(article.gmane.org)
という報告があるので、:nodelay tのところを削るか、#-:clispすると吉。
778:デフォルトの名無しさん
09/12/16 01:10:40
ついでに、WindowsでClozure CLを使う場合、
1.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))
とすれば、正常に動作するようになる。
779:デフォルトの名無しさん
09/12/16 18:40:00
>>776
-K オプションを追加したらutf-8で漢字も処理できました。
ありがとう。
780:デフォルトの名無しさん
09/12/19 03:24:27
サンデープログラマです。現在のLinux環境はUbuntuでsbcl+slimeを使っています。
珠玉のプログラミングを読んでいて、いろいろと考えさせられることが多かったです。
日本語を扱う際、UTF8はEUCの1.5倍のデータ量を使うようですが、大量の文字データ処理を扱うことも視野に入れているのであれば、
文字コードはEUCとUTF8をどちらを使ったほうがいいのでしょうか?
781:デフォルトの名無しさん
09/12/19 08:12:08
好きにすれば?
あと内部と外部で同じものを使うのか?
782:デフォルトの名無しさん
09/12/19 08:46:38
emacs23の内部コードがutfらしいけど
他もそれにあわせるといいことあるのかな
783:デフォルトの名無しさん
09/12/19 09:18:32
内部コードを気にする必要があるプログラミングって、
プラグインとかぐらいと思うが。
784:デフォルトの名無しさん
09/12/19 10:04:04
>>780 本当に大量データの場合はCと同じくバイト列として扱うよ。
785:デフォルトの名無しさん
09/12/19 10:14:14
>>783
処理系の内部コードのこと言ってるの?
それ以外にもプログラム上の内部コードってあるよね?
HTTPサーバ/クライアントみたいに、
受けてからデータの文字コードが分かるケースあるから、
byte arrayで受けて~ってことは日常茶飯事かと。
786:デフォルトの名無しさん
09/12/19 13:48:49
日曜プログラマなら富豪的プログラミングしても誰も文句いわないよ。
787:デフォルトの名無しさん
09/12/19 23:05:00
正直、もうUTF-8以外の世話をしたくない。
788:デフォルトの名無しさん
09/12/19 23:17:50
激しく同意。
いろいろ問題はあってもみんなでUTF-8使ってれば解決策は出てくるよ。
場当たり的に符号を変えるよりはUTF-8で統一するのが一番マシ。
789:デフォルトの名無しさん
09/12/19 23:20:29
じゃぁ俺はまだまだ EUC-JP で行くから、頑張って沢山解決策を出しておいてね。
790:デフォルトの名無しさん
09/12/19 23:22:37
えっ・・・・
791:デフォルトの名無しさん
09/12/20 00:29:19
>>788
何文字目ってのがUTF8だとアタマから数えないといけないのでそういう状況が多いときは困る
なので内部UCS4とかがわりと好きかな。
792:デフォルトの名無しさん
09/12/20 01:27:20
UCS4 を使うという事は Unicode の正規化とか合字は考えないという事だよね。
俺もそっちの方が好き。
793:デフォルトの名無しさん
09/12/20 02:31:18
いろいろ諦めたら楽なのは当たり前のこと
794:デフォルトの名無しさん
09/12/20 02:42:08
諦めても困らない物は捨てた方が楽だね
795:デフォルトの名無しさん
09/12/20 15:14:57
URLリンク(sbcl10.sbcl.org)
ぽーたぶるヘムロックちゃん、TTY で動く様になったのね。
知らんかった…
しかも Qt バックエンドもいつの間にか出来てる……
URLリンク(gitorious.org)
796:デフォルトの名無しさん
09/12/21 23:02:27
(lambda(x)t)とか
(handler-case
...
(:no-error(condition) ....))
といった場合に変数が使われていないというエラーを抑制したいのですが
どうしたらよいのでしょうか
797:デフォルトの名無しさん
09/12/22 00:51:34
(lambda(x) (declare (ignore x))t)
(handler-case
...
(:no-error(condition)(declare (ignore condition)) ....))
798:796
09/12/22 01:20:38
>797
ありがとうございます
うまく行きました
799:デフォルトの名無しさん
09/12/22 17:04:42
昔、2chのdatを整理するプログラムをcommon lispで書いたけど
アスキーアートの頻出するスレで止まりまくりだった
今はだいぶましになったのだろうか
800:デフォルトの名無しさん
09/12/22 17:10:09
プログラムが変わってないんなら一緒でしょ
全角スペース+半角スペース
あるいはその逆が含まれているレスはAAと見てスルー
それが楽になれる
801:デフォルトの名無しさん
09/12/24 11:56:39
文字列をシンボル(というか変数名とか関数名)として評価するにはどうすればいいのでしょう。
(setq x 10)
(setq y "x")とやって、
(うんにゃら y)
とかすると10って出てほしいのですが。
802:デフォルトの名無しさん
09/12/24 12:24:37
(symbol-value (read (make-string-input-stream "x")))
関数ならsymbol-valueをsymbol-functionにすればいい。
使い方によるけど、文字列から変数の中身を直接触れちゃうと安全じゃない気がするから、
直接symbol-valueを見ないでhash-tableなりalistなりを使った方がいい気がする。
803:801
09/12/24 12:31:34
できました。ありがとうございます。
804:デフォルトの名無しさん
09/12/29 17:29:33
intern
805:デフォルトの名無しさん
09/12/30 17:14:47
explode
806:デフォルトの名無しさん
10/01/01 17:31:29
あけましておめでとうございます。
リストではなく多値を利用した方がいいのはどんな時ですか?
807:デフォルトの名無しさん
10/01/01 19:41:46
Schemeだけど参考になると思う
URLリンク(practical-scheme.net)
808:デフォルトの名無しさん
10/01/03 01:09:35
なるほど、ありがとうございます
809:デフォルトの名無しさん
10/01/03 20:47:59
clsqlで、変数に保存されているテーブル名から、select関数でselectする方法はありますか?
たとえば変数tablenameに"menberlist"というテーブル名が保存されていても、
(select * from tablename)とするとtablenameというテーブルからselectすると解釈されますよね?
queryはインジェクションが怖いので使わない方向で…
810:質問
10/01/04 15:36:21
(lambda (x) (> 5 x))
をこれ以上簡単にする方法は無いでしょうか?
811:デフォルトの名無しさん
10/01/04 18:58:30
質問の意味がよーわからんけど
(defun pa$ (f &rest c)
#'(lambda (&rest x) (apply f (append c x))))
とか作って
(funcall (pa$ #'> 5) 10)
ってやるとか?
812:質問
10/01/04 19:14:26
>>811
余計に複雑です
813:デフォルトの名無しさん
10/01/04 19:47:21
それ以上の回答が欲しかったら、他人に十分理解可能な形に質問し直さないとな。
814:質問
10/01/04 21:15:08
解決しました
815:デフォルトの名無しさん
10/01/04 22:20:41
よく解らんけど解決方法をここに書いとくと後の人のために役に立つんじゃまいか
816:デフォルトの名無しさん
10/01/06 15:25:23
C言語のgetch()をつかった簡単なリアルタイムキースキャンを
したいのですが方法はあるのでしょうか?
817:デフォルトの名無しさん
10/01/07 05:00:46
getchをffiするくらいならcl-sdlじゃだめなん
818:質問
10/01/07 10:22:50
継続を使わずに高速なコルーチンを実装する方法ってありますかね?
819:デフォルトの名無しさん
10/01/07 13:30:26
ubuntuでaptでcl-fooインストールすると
/usr/share/common-lisp
にインストールされるけど
asdf
clbuid
それぞれ違う方法でインストールするファイルを
別な場所に置くならどこが推奨ですか?
820:デフォルトの名無しさん
10/01/07 13:32:13
FreeBSD-8.0-RELEASEでSLIME 2009-08-08の上でSBCL 1.0.30を使っています。
sb-ext:run-programでsbclを起動して子プロセスにlispコードを流して制御したいと考え、
まず、
(setf sbcl1 (run-program "sbcl" '() :input t :output t))
(setf sbcl1 (run-program "sbcl" '() :input :stream :output t))
(setf sbcl1 (run-program "sbcl" '("--help") :output *standard-output*))
echo '(loop(print "hello")(sleep 1)' > /tmp/hello.lisp
(setf sbcl1 (run-program "sbcl" '("--script" "/tmp/hello.lisp") :output *standard-output*))
等としてみたのですが、すぐに#<SB-IMPL::PROCESS :EXITED 1>が帰ってきてしまい、
helpメッセージやhello.lispの出力も得られません。
どうしたらsbclからsbclをインタラクティブに操作することが出来るでしょうか。
821:820
10/01/07 18:30:35
ありがとうございます
少し調べたところ、どうやらプログラムをフルパスで指定しなければならないとわかり、
(setf sbcl1 (run-program "/usr/local/bin/sbcl" '("--help") :output t))
などとするとうまく行きました。ただ、Slime上で実行したのではcoreが見つからないらしく、
(setf sbcl1 (run-program "/usr/local/bin/sbcl" '("--core" "/usr/local/lib/sbcl/sbcl.core" "--script" "/tmp/hello.lisp") :output t))
としなければなりませんでした。M-x run-lispではcoreの指定をせずともよいので、Slimeがなにかしているんでしょうか。
また、このループするプロセスを終了させようと
(process-kill sbcl1 15)
としてみたのですが、Tは帰ってくるものの"hello"は出力され続け、他のターミナルからpsでプロセスを見ても子プロセスは生きたままになっているようです。
どうしたらプロセスを殺せるのでしょうか。また、子プロセスのI/Oを操作したいと思い、
(setf sbcl (run-program "/usr/local/bin/sbcl" nil :input :stream :output :stream))
としてみたのですが、Slimeでもrun-lispでもターミナルでもプロンプトが戻ってきません。
なにが問題なんでしょうか。
822:デフォルトの名無しさん
10/01/07 22:25:42
>getchをffiするくらいならcl-sdlじゃだめなん
具体的にはどうやればいいのでしょうか。
ちなみにWin 、メモ帳、clisp、コマンドプロンプトでやってます。
823:デフォルトの名無しさん
10/01/09 06:20:39
>>822
URLリンク(lispuser.net)
これ参考にならんかな?
でもwindowsだとconsoleアプリじゃないとgetchできないかも
824:820
10/01/11 20:28:53
ありがとうございます。
どうやらプロンプトが戻ってこないのは、run-programの時に:waitがデフォルトでtになっているのが原因のようで、
(setf sbcl
(run-program "sbcl"
'("--core" "/usr/local/lib/sbcl/sbcl.core"
"--noinform" )
:search t :wait nil
:input :stream :output :stream ))
としたら上手くいきました。
ただこのままだと(read-char-no-hang (process-output sbcl))などとしたときにプロンプトも戻ってきてしまいます。
sbclの--noprintオプションを使うと出力を制御できるのですが、今度は何も出力されなくなってしまいます。
プロンプトの文字を変えるにはどうしたら良いんでしょうか。
825:デフォルトの名無しさん
10/01/11 21:16:50
>>824
何がありがとうございますなのか知らないが、
質問の仕方がどれも信じられないくらい下手だな。
メモ帳代わりに使ってるなら知らんけど。
他の人は君が知ってる前提を一切知らないんだから、
そこをはしょったら、当然だけど、話通じんぞ。
自分の文章、回答者の立場でもう一度読んでみなよ。
826:デフォルトの名無しさん
10/01/17 18:50:31
slime上で、Lispbuilder-sdlのサンプルを動かそうとしたのですが、
sdlの初期化の段階で
「Lisp connection closed unexpectedly: connection broken by remote peer」
とメッセージが返されてslimeとの接続が切れてしまいます。
Lispbuilder-sdlは、slime上では動かせないのでしょうか?
環境は、 OSX 10.6 + CarbonEmacs(2009-07-26) + slime (svn20100117)
+ sbcl(1.0.32) です。
Lispbuilder-sdlライブラリは、clbuildで今日インストールしたものです。
行おうとした操作は下記です。
--------------------------------------------
(asdf:operate 'asdf:load-op :cocoahelper) <--ここで「Lisp connection...」
が出てslimeとの接続が切れる
;; そのため↓を実行できない
(asdf:operate 'asdf:load-op :lispbuilder-sdl-examples)
(sdl-examples:BEZIER)
--------------------------------------------
上記の操作は、ターミナル上で ./clbuild lispして
実行すればきちんと動作します。
827:デフォルトの名無しさん
10/01/17 20:16:13
>>826
*inferior-lisp*バッファには何か表示されてない?
あるいは、Common Lisp側のバックエンドを手動で起動して、
Emacsからはそれに接続するようにしてみたら、
エラーメッセージとか拾えるんじゃないかと思うんだけど、どうだろう?
URLリンク(common-lisp.net)
この辺参考に。
828:デフォルトの名無しさん
10/01/17 20:22:01
追加。*slime-events*バッファも参考になるかも。
SLIMEの通信ログが出力されてるから。
829:デフォルトの名無しさん
10/01/17 21:32:46
>>827
> *inferior-lisp*バッファには何か表示されてない?
「Process inferior-lisp trace/BPT trap」
と表示されていました。
> あるいは、Common Lisp側のバックエンドを手動で起動して、
> Emacsからはそれに接続するようにしてみたら、
> エラーメッセージとか拾えるんじゃないかと思うんだけど、どうだろう?
下記のようにして
$ ./clbuild lisp
* (load "/path/to/swank-loader.lisp")
* (funcall (read-from-string "swank-loader:init"))
* (funcall (read-from-string "swank:start-server") "/var/folders/B8/B8zxQQFbGsWSqD-hxDT5pk+++TI/-Tmp-/slime.17139" :coding-system "utf-8-unix")
バックエンド起動してから、
Emacsから、slime-connectで接続して
* (asdf:operate 'asdf:load-op :cocoahelper)
を実行したところ、バックエンド側に
* ./clbuild: line 415: 17419 Trace/BPT trap ${lisp} $common_options $eval "$require_asdf" $eval "$set_central_registry" $eval "$EXTRA_CLIM_FEATURES" "$@"
と表示がされていました。
これどんなエラーなのでしょうか?
830:デフォルトの名無しさん
10/01/17 22:13:18
>>829
SLIMEでのasdf:*central-registry*の値と、
clbuildでインストールされているライブラリの場所は?
どんなエラーなのかは、Mac OS X持ってないから分からない。
でも、全く同じ症状訴えてる人いるみたいだね。
831:デフォルトの名無しさん
10/01/17 22:33:53
あー、もしかしてこれ?
URLリンク(code.google.com)
832:デフォルトの名無しさん
10/01/17 22:38:07
>>830
> SLIMEでのasdf:*central-registry*の値と、
CL-USER> asdf:*central-registry*
((MERGE-PATHNAMES "links/docs/0114/clbuild/systems/" (USER-HOMEDIR-PATHNAME))
(MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-PATHNAME))
(LET ((ASDF::HOME (POSIX-GETENV "SBCL_HOME")))
(WHEN (AND ASDF::HOME (NOT (STRING= ASDF::HOME "")))
(MERGE-PATHNAMES "site-systems/" (TRUENAME ASDF::HOME))))
*DEFAULT-PATHNAME-DEFAULTS*)
> clbuildでインストールされているライブラリの場所は?
~/links/docs/0114/clbuild/systems
にasdファイルを置いています。
833:デフォルトの名無しさん
10/01/17 22:42:35
>>831
ありがとう、でも
問題切り分けのため、lispbuilder-sdlのみ
インストールしている状態なので、
lispbuilder-sdl-gfx関連は関係ないです。
834:デフォルトの名無しさん
10/01/17 22:54:12
>>832
Terminalからだと成功するんだよね?
それぞれの環境変数LD_LIBRARY_PATHの値は?
835:デフォルトの名無しさん
10/01/18 00:20:00
>>834
> >>832
> Terminalからだと成功するんだよね?
はいそうです。
> それぞれの環境変数LD_LIBRARY_PATHの値は?
emacs上でもtermain上でも
LD_LIBRARY_PATHは定義されていません。
原因がある程度絞れました。
sdlにCFFIを使ってアクセスしているようなのですが、
emacsで
(cffi:load-foreign-library "/Library/Frameworks/SDL.framework/SDL")
を実行すると、*Messages*に「Process inferior-lisp trace/BPT trap」が
表示され接続が切断されることが分かりました。
terminal上では、きちんと
(cffi:load-foreign-library "/Library/Frameworks/SDL.framework/SDL")
#<CFFI:FOREIGN-LIBRARY {1003717241}>
となります。
おそらく、
(asdf:operate 'asdf:load-op :cocoahelper)
を実行中にcffi関連が呼ばれて、切断がされてしまうみたいです。
836:デフォルトの名無しさん
10/01/18 00:37:53
やはり、cffiが悪いみたいでした。
cocoahelperを読み込む時に、依存関係でcffiを
読み込むのですが、その際に
(cffi:use-foreign-library sdl)
が呼ばれて、slimeと切断されてしまうようです。
lispbuilder-sdl/cffi/library.lisp
-----------------------------------
(cffi:define-foreign-library sdl
(:darwin (:or (:framework "SDL")
(:default "libSDL")))
(:windows "SDL.dll")
(:unix (:or "libSDL-1.2.so.0.7.2"
"libSDL-1.2.so.0"
"libSDL-1.2.so"
"libSDL.so"
"libSDL")))
(defun load-sdl-library ()
(cffi:use-foreign-library sdl) <--ここで死ぬ
(when (handler-case (cffi:use-foreign-library sdl-glue)
(load-foreign-library-error () nil))
(progn
(setf *glue-loaded-p* t)
(pushnew :lispbuilder-sdl-audio *features*))))
(eval-when (:load-toplevel :execute)
(load-sdl-library))
-----------------------------------
837:デフォルトの名無しさん
10/01/18 02:29:30
新しいcoreつくってslime経由ではそっち使ってみるとかじゃだめなん?
838:デフォルトの名無しさん
10/01/19 13:15:27
cffiといえばmaximaからcffi呼ぼうとして苦労して結局できなかったな
839:デフォルトの名無しさん
10/02/02 00:27:18
iPhnoeとか、他のケータイでなんか遊べないんかな?
活用術みたいなのってない?
840:デフォルトの名無しさん
10/02/02 09:39:12
誤爆した
841:839
10/02/02 11:17:04
なんか活用術ないかな
842:デフォルトの名無しさん
10/02/02 18:11:30
Objective Lisp
843:デフォルトの名無しさん
10/02/03 01:26:43
Nu
URLリンク(programming.nu)
844:デフォルトの名無しさん
10/02/03 18:01:14
#+sbcl
があるなら
#+amd64
#+i386
なんてもあるのかな
動いてるシステムが64bitか判定したいんだけど
845:デフォルトの名無しさん
10/02/03 18:24:38
自己レス
+64bit
だった
846:デフォルトの名無しさん
10/02/03 18:34:02
>>844
*features*にそのキーワードが含まれているかどうかで判別するから、
見てみるといいよ。値は一部除いて実装依存だけど。
CCLなら、:x8632-targetとか:32-bit-hostとかそういうのが含まれてる。
URLリンク(www.lispworks.com)
847:デフォルトの名無しさん
10/02/03 18:53:25
64bit linuxのsbclで
(require :cffi)
としたらエラーでまくる
clispはエラーなく動く
848:デフォルトの名無しさん
10/02/03 19:08:20
>>847
その出てるエラー書かんと。
SBCLは一番メジャーな処理系なんだから、
それでエラーが出るのは考えにくい。
あるいは、そういう状況なら各所で報告が絶対ある。
849:デフォルトの名無しさん
10/02/03 19:44:30
>>848
パッケージよみこむときに
ロック解除しますか
にYesじゃなくて
Accept
押してただけでした
すみません
850:デフォルトの名無しさん
10/02/12 14:01:31
リーダーマクロについて真面目に学んでみたいのですが
なにか良いマニュアルとかありませんか?
851:デフォルトの名無しさん
10/02/12 15:31:04
>>850
CLtL2
852:デフォルトの名無しさん
10/02/13 00:15:03
>>850
CLHS
853:デフォルトの名無しさん
10/02/14 03:49:04
sbclのインタプリタで矢印キーを使いたいのですが「^[[C 」等の文字列が出てしまいます。
また、Lisp用に別のインタプリタは存在しないのでしょうか?(pythonのipythonのようなものです)
OSはubuntuを使っています。よろしくおねがいします。
854:デフォルトの名無しさん
10/02/14 04:07:17
>>853
素のターミナルから入力してんの?
どうせエディタのサポート無しでまともなものは書けないから emacs か vi 入れることをオススメする。
855:デフォルトの名無しさん
10/02/14 05:12:51
rlwrapを使え
Ubuntuならaptでおk
SLIMEもaptでいけるからEmacsわかればそっちのほうがいい
856:デフォルトの名無しさん
10/02/14 05:28:11
>>853
矢印キーを何に使うの?
履歴辿りたいだけなら、rlwrap使えばいいみたいよ。
IPythonみたいな環境が良ければ、Emacsをインストールして、
SLIMEを使えば良い。インタラクティブ開発の本家の実力を体感できる。
857:デフォルトの名無しさん
10/02/17 09:48:27
まあ、SLIMEが強力すぎて他の環境を試す気にもなれないんだけど、初めて
の人にEmacsはやっぱりきついのかもね。PLT-Scheme (Dr. Scheme)みた
いな環境がCommon-Lispにもあるととっつきやすいのかも知れないけど。
LispWorksやAllegro CLはよくできてるけどお高いし。
MacだとMCLIDEというのがあるんだけど、まだ発展途上なので今後に期待。
URLリンク(mclide.in-progress.com)
858:デフォルトの名無しさん
10/02/17 12:01:22
windows上のcclでexeを吐かせるにはどうすればいいですか?
859:デフォルトの名無しさん
10/02/17 13:31:45
自分もEmacsユーザだからSLIME使ってるけど
他に良い環境無いの?
人に勧めにくいなあ
860:デフォルトの名無しさん
10/02/17 21:28:29
>>857
Allegroは買えない値段じゃないんだけど、小売りしてないんだよ
個人購入する品物じゃ無いの承知の上で言うけどものすごく不便
なんで購入の意思をメールで送るところからせにゃならんのだ!
ちなみにLispWorksはよくできてるけどIDEから日本語入れると悲惨なので却下
emacs+slimeするって前提なら別なんだろうけど、それじゃ金出す意味がない
861:デフォルトの名無しさん
10/02/18 00:37:24
>>858
ccl:save-applicationを使う。
URLリンク(ccl.clozure.com)
save-applicationはLispシステムの状態をファイルに保存する関数。
このファイルに、Lispのコア部分を含めると、実行可能なバイナリができる。
(save-application "a.exe" :prepend-kernel t)
ただ、これだとエントリポイントがREPLで、大抵は不都合なので、
(defun main () (format t "Hello, world!"))
(save-application "a.exe" :prepend-kernel t :toplevel-function #'main)
みたいに、自分でエントリポイントを作って指定する。
862:デフォルトの名無しさん
10/02/18 00:50:40
ちなみに、一般的に、Lispシステムの状態を「イメージ」、
Lispのコア部分のことを「カーネル」というから、覚えとくといいよ。
実行可能なバイナリを作るとき以外でも、
例えば、大量のライブラリの読み込みが必要な場合、
読み込んだ状態をイメージとして保存しておけば、
起動時間を短縮できたりして、上手く使えば重宝するよ。
863:デフォルトの名無しさん
10/02/18 01:23:50
>>861
ありがとうございます
さすがLispスレの人は親切ですね
864:デフォルトの名無しさん
10/02/18 13:53:26
質問です
windows上のclispにasdf、asdf-installをインストールするまではできたのですが、
ためしに(asdf-install:install 'cffi)を実行してみたところ
WARNING: Cannot find tar command "C:\\PROGRA~1\\Cygwin\\bin\\bash.exe".
というメッセージが出て続けることができませんでした。
cygwinをインストールしてgpgとtarは用意してあり、windowsの環境変数のPATHに登録済みです。
865:デフォルトの名無しさん
10/02/18 14:10:55
で
質問は?
866:デフォルトの名無しさん
10/02/18 17:52:06
どうすればWindows上のClispのasdf-installでライブラリをインストールすることができますか?
867:デフォルトの名無しさん
10/02/18 19:19:29
>>864
bash が tar を見付けられんのだろ。
868:デフォルトの名無しさん
10/02/18 20:16:02
>>864
仮想マシンのubuntuでやれよ。
cygwinは相当やる気ないとできないと思うぞ。
Ubuntuの入手 | Ubuntu Japanese Team
URLリンク(www.ubuntulinux.jp)
869:デフォルトの名無しさん
10/02/18 22:50:12
set MSYS=
870:デフォルトの名無しさん
10/02/19 00:41:47
俺が>>773に、Windows上のCLISPで、
ASDF-Install使う方法書いてるのはスルーか。
871:デフォルトの名無しさん
10/02/19 00:54:12
でも、実際問題、Windowsでのこういう問題って至る所にあるから、
ある程度以上のスペックのマシン使ってるなら、>>868の言うように、
VirtualBoxとかcoLinuxとかで仮想環境用意するのは良い案だよ。
ファイルのやり取りは共有かネットワーク使えばいいわけだし。
872:デフォルトの名無しさん
10/02/19 01:48:27
windowsの問題?
違うでしょ、プログラマの問題。
873:デフォルトの名無しさん
10/02/19 06:13:36
sbcl + slime on Ubuntu なんだけど、ライブラリの(複数の)パスの通し方ってどうするんだっけ?
/usr/lib/foo/
/home/taro/usr/lib/bar/
874:デフォルトの名無しさん
10/02/19 09:08:17
>>872
「Windowsでの問題」とあるのを「Windowsの問題」とか読まれても。
>>873
ASDFならasdf:*central-registry*。
requireの場合は、SBCLだと何かあるのかな?
公式のドキュメントにはそういった記述を見付けられなかった。
CLISPならcustom:*load-paths*、CCLならccl:*module-search-path*
とかあるみたいだけど。
875:デフォルトの名無しさん
10/02/20 00:00:40
>>874
レス、ありがとうございます。
876:デフォルトの名無しさん
10/02/26 19:55:57
復刊するみたいですが、この本ってどうですか?絶版前の読んだ
ことある人いる?
「初めての人のためのLISP[増補改訂版]」
竹内 郁雄 (著)
URLリンク(bit.ly)
877:デフォルトの名無しさん
10/02/26 20:14:13
読んだよ。
Lispエッセー集だと思っていればいい。
技術書としての価値を求めるタイプの本じゃない。
昔のLispの事情はいろいろ学べるけれども。
878:デフォルトの名無しさん
10/02/26 20:15:53
ちなみに雑誌「bit」に連載していた
TAO/ELISの記事の方が、技術色は強い。
まあCommon Lispの良書は今やたくさんあるから、
そういうのを読んでから、暇な時の読書として読む本。
879:デフォルトの名無しさん
10/02/26 20:20:23
>>877>>878
あー、そういう感じなら、とりあえずはもういらないなw
THX
880:デフォルトの名無しさん
10/02/26 21:01:02
>>878
Common Lispの良書を2~3冊教えてください。
881:デフォルトの名無しさん
10/02/27 00:08:54
本自体がAmazonでもわかるぐらいしかないかもしれない
882:デフォルトの名無しさん
10/02/27 00:18:15
>880
>4-6
883:デフォルトの名無しさん
10/02/27 04:52:03
>>880
LOL,CLTL2,Practical Common Lisp
あとグレアム御大の書いたやつ
884:デフォルトの名無しさん
10/02/27 11:04:14
>>880
CLtL2とかOn LispとかPCLはオンラインで読めるから良いよ。
885:デフォルトの名無しさん
10/02/27 12:43:54
URLリンク(www.lisperati.com)