【入門】CommonLisp【質問よろず】at TECH
【入門】CommonLisp【質問よろず】 - 暇つぶし2ch981:デフォルトの名無しさん
06/02/14 21:58:04
じゃ、ABCL で。

982:デフォルトの名無しさん
06/02/14 22:37:55
>Java VM 上で動かして

それってjavaでlispの処理系を書くということ?
どこかにありそうな気がするな。
基本的にjarかなんかでjavaコードの中でlispコードが
走れば最高なんだけどな。
XMLのパースとか楽になるんだが。

983:デフォルトの名無しさん
06/02/14 22:40:37
>>982
それが >>981(URLリンク(armedbear.org)) です...

984:デフォルトの名無しさん
06/02/14 23:03:52
>>983
すごいねコレ。
早速使ってみるわ、thx

985:デフォルトの名無しさん
06/02/14 23:10:57
(format t \"Hello, world!~%\")が8秒かかるんだが、
compileすれば早くなる?

986:デフォルトの名無しさん
06/02/14 23:16:04
スマソ。俺はちゃんと使った事がある訳じゃないんで詳細は知りません。
テキストエディタに使われているくらいだから、そんなに遅くはないと
思いたいけど。

URLリンク(armedbear-j.sourceforge.net)

JavaVM の起動とクラスのロードに時間が掛かってるとかじゃなくて?

987:デフォルトの名無しさん
06/02/14 23:21:24
>JavaVM の起動

それだ。
別のVMを起動するのに時間がかかっているのか。
同一VMで動くようにすれば早そうだ。

988:デフォルトの名無しさん
06/02/14 23:53:28
うちではこんな感じ。jikes でコンパイルしてたから、javac ならもっと速いかも。
別の VM を起動したりはしないと思うよ。初回だけ妙に遅いね。

% ./abcl
Armed Bear Common Lisp 0.0.9 (built Tue Feb 14 2006 23:40:55 --900)
Java 1.4.2_09 Apple Computer, Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 2.388 seconds.
Startup completed in 9.052 seconds.
Type :HELP for a list of available commands.
CL-USER(1): (time (format t "hello, world~%"))
hello, world
5.287 seconds real time
62770 cons cells
NIL
CL-USER(2): (time (format t "hello, world~%"))
hello, world
0.0020 seconds real time
67 cons cells
NIL
CL-USER(3):

989:デフォルトの名無しさん
06/02/15 00:54:59
うちは Windows でやってみたが、やはり一発目は遅いね。
クラスライブラリのロードか何かだろう。

Armed Bear Common Lisp 0.0.9 (built Wed Feb 15 2006 00:49:19 --900)
Java 1.5.0_04 Sun Microsystems Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 0.563 seconds.
Startup completed in 2.172 seconds.
Type :HELP for a list of available commands.
CL-USER(1): (time (format t "hello, world~%"))
hello, world
1.203 seconds real time
62770 cons cells
NIL
CL-USER(2): (time (format t "hello, world~%"))
hello, world
0.0 seconds real time
67 cons cells
NIL
CL-USER(3):

990:デフォルトの名無しさん
06/02/15 01:19:54
すみません、インストールしてabclからjreのメソッドとかは呼び出せるんですがサンプルのhello.javaがコンパイルできません。
どうすれば・・・いいんでしょう
F:\abcl-0.0.9\examples>javac hello.java
hello.java:1: パッケージ org.armedbear.lisp は存在しません。
import org.armedbear.lisp.*;
^
hello.java:8: シンボルを見つけられません。
シンボル: クラス Interpreter
場所 : hello の クラス
Interpreter interpreter = Interpreter.createInstance();
^
hello.java:8: シンボルを見つけられません。
シンボル: 変数 Interpreter
場所 : hello の クラス
Interpreter interpreter = Interpreter.createInstance();
^
エラー 3 個

991:デフォルトの名無しさん
06/02/15 01:38:37
>>990
cd examples
javac -classpath ../abcl.jar hello.java
java -classpath ../abcl.jar;. hello
みたいな感じで動いたよ。

992:デフォルトの名無しさん
06/02/15 01:46:49
>>991
おお!動いた、動きましたありがとう!

993:デフォルトの名無しさん
06/02/15 13:05:42
ABCLでだが
Interpreter interpreter = Interpreter.createInstance();
LispObject obj = interpreter.eval("(print (directory \"c:/\")");
これが動かない理由が分からない。
XYZZYだと動くんだが。

994:デフォルトの名無しさん
06/02/15 13:54:15
>>993
Common Lisp の仕様判ってる?
xyzzy なんて方言を持ち出されても・・・

995:ゲハシマ
06/02/15 19:17:27
>>994
偉そうに言うだけか?
仕様とやらを示してみろよ



996:デフォルトの名無しさん
06/02/15 20:17:09
>>995
大馬鹿発見!!

997:デフォルトの名無しさん
06/02/15 20:18:53
とりあえず >>102

998:993
06/02/15 20:59:40
>994
主にjavaしか触らないので言語仕様は良くはしらないが、
XYZZYとは微妙に違うということは解った。

>995
あんた誰?

999:993
06/02/15 21:12:49
あるディレクトリの拡張子が指定されたものであった場合に、条件に
合致する全てのファイルを削除するlisp式ってどう書きます?

1000:デフォルトの名無しさん
06/02/15 21:21:35
CL-FAD を使えば

(fad:walk-directory
#p"/home/onjo/tmp/" ;; ディレクトリを指定
#'(lambda (p)
(when (string-equal (pathname-type p) "txt") ;; 条件判定
(fad:delete-directory-and-files p))))


1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch