[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 23:20 / Filesize : 244 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【入門】CommonLisp【質問よろず】



1 名前:デフォルトの名無しさん mailto:sage [04/11/25 21:48:56]
lispを触ってみたい入門者のQ&A
初心者のQ&A
本スレでは恥ずかしくて聞けない人のQ&A
本スレは高度すぎて割り込めない人のQ&A
linuxでなくてwindowsでやりたいんですが・・・Q&A
lispを使用してC#やJAVAの代替にするための方法(おまけ)

ま、ゆっくりたりましょう。

「いいものの本質は、いかなる時代においても変わらない」byパワーズ

809 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 01:47:02 ]
car => これ
cdr => それ
cdadar => そこそこれ

810 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 01:55:43 ]
car/cdr は箱(コンスセル)から要素を取り出す操作だから、

car: とりだす
cdr: つぎをとりだす
cdadar: つぎのまえのつぎのまえをとりだす

関数は動詞且つ和語で統一したい所だけど、苦しいかな...

811 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 02:26:21 ]
>>809
それイイネ

812 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 10:26:20 ]
>>809
anaphoric ifのitはどうすんだ


813 名前:デフォルトの名無しさん mailto:sage [2005/12/27(火) 11:57:15 ]
>>812
「あれ」

814 名前:デフォルトの名無しさん mailto:sage [2005/12/30(金) 19:42:32 ]
clozure.com/cgi-bin/viewcvs.cgi/ccl/ChangeLog?rev=HEAD&cvsroot=Bleeding-edge&content-type=text/vnd.viewcvs-markup

x86 の文字がちらほら見えるけど、OpenMCL も x86 に移植されるみたいだね。
素晴らしい。

815 名前:デフォルトの名無しさん [2006/01/09(月) 22:24:16 ]
lispで作った関数なんかは、何処に保存されてるのでしょうか?
lispのコードをいじる課題が出たのですが、
コードの保存を自分でやらなきゃならなくなって困ってます。

816 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 22:52:09 ]
教官に聞け

817 名前:デフォルトの名無しさん [2006/01/09(月) 22:59:50 ]
それを見つけるのが課題。。



818 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 10:08:05 ]
「エディタで新規にファイル作ってその中に書け」が答のような気もする

っていうかLisp関係ないな
対話的にしかLispを使わない授業だったと推測するが

819 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 14:24:33 ]
>>815
それ、Smalltalk使いの私も訊きたいです。

Smalltalkでは、関数(メソッド)が自身のソースを属性として持っていて比較的
容易にたぐれるんですが、Lispでは環境内でのソース管理はどうなっているんでしょうか?

818の行間を読むと、対話的に作られた場合、関数は自身にかかわるソース情報を
(デコンパイルなどで特殊な方法で別途得る以外)他の一般的な言語と同様、
いっさい失ってしまうのが当り前…というような印象を受けるのですが。

820 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 22:47:35 ]
>>819
ANSI CL の範囲では無いと思う。ANSI Smalltalk もソースコードの管理までは
規定してないでしょ?

821 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:15:09 ]
function-lambda-expression()
lambda 式が取れなくても規格合致だけど

822 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 06:36:04 ]
>>819
「関数」はソース+定義環境だから、ソースだけ取れてもそれを保存
するみたいなことには向かないだろうね。デバッグの助けにするだけなら
いいだろうけれど。

(let ((n 0))
(defun incr (k)
(incf n k)))

なんてした時に、incrのソースはどこからどこまで? ってことね。


823 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 16:34:30 ]
なるほど。Smalltalkのブロック(クロージャ)のソースは、メソッド(関数)のそれと
違って容易にはたぐれない…のと状況は似ていそうですね。ありがとうございます。

824 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 17:02:36 ]
www.shiro.dreamhost.com/scheme/trans/beating-the-averages-j.html
これ読んでLisp使いたくなりました。
入門サイト教えろこの野郎m(__)m

825 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 18:29:40 ]
>>824
ぐぐれこの野郎(^^)

826 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 18:41:45 ]
>>824
www.geocities.jp/m_hiroi/xyzzy_lisp.html
xyzzy向けの内容が入ってるけど

827 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 20:37:58 ]
>>824
ttp://www.h7.dion.ne.jp/~matsu/feature/common-lisp/index.html

日本語のサイトではここが一番良かった。



828 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 19:50:45 ]
すまんがLispで生産性があがるってのはどのへんのせいなのでしょうか?
>>824 の本を読んで興味持ったんだけれどよくわからんです。
コンパイル->実行とかの過程も処理対象にできるっていうのはやりようで面白いことできそうかと思ったんですが。
いまはC#つかいなのですが、.NETでのReflection,CodeDOMあたりの機能でしょうか。


829 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 20:10:48 ]
いろんな要素が絡んでるから難しいけど。
最近機能が増えた言語や開発環境(なんでもいい)で、これが入って
生産性が上がったなーってもんをリストアップしてみ。
そのリストはLispの生産性の高さの理由のリストとかなり重なると思うよ。



830 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 01:43:00 ]
使用者への効果でいうと「マルチパラダイム」が一番大きいと思う.型がない.
手続き型でも関数型でも論理型でも並列型でもオブジェクト指向型でも,それ
に合わせられる.クラスによる分類が向かない分野では,迷う事なくそれ以外
の手法をとれるしね.

マクロによるプログラム変形とかはそういった言語カスタマイズのための道具
で,本当はこの「どんなパラダイムでもどんとこい」というのが最大のメリッ
トだと思う.個人的にはね.

831 名前:デフォルトの名無しさん [2006/01/14(土) 04:40:52 ]
あのー
おばかで申し訳ないですが、

自分、VC++でコンソールアプリ作っております。
一部のc++の関数をLispで置き換えたいと思っておるのですが、

これって可能なんでしょうか?

おしえてえらいしと



832 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 13:24:37 ]
>>831
だいたいできると思うけど、GC関係でいろいろややこしいところは覚悟しないといけない。

833 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 14:01:57 ]
可能だけど,ある程度 C++ と Lisp の知識がいるよ.

1) DLL を出力できる Lisp コンパイラをもっている (普通の DLL と同じ)
2) ecl を組み込む
3) プロセス間通信する

3. がいちばん簡単かなー

834 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 17:27:18 ]
>>829
C++からC#にかわったんだけど
・Generics(これはC#1.0になかったものとして) テンプレートでないのがちょっと不満。
・リフレクション
・デリゲート 呼び出しをオブジェクト化することでいろいろ使える。
・イベント デリゲートの呼び出し管理の簡略化
・リモーティング プロセス間呼び出しを楽にした感じ
・インテリセンス(これは開発環境) これあってすごい楽になった。ヘルプとか引く回数激減。
条件に基づいてコード生成、それの管理とかできるともっといろいろ面白いことできるのかなぁとおもうけど。

835 名前:831 [2006/01/14(土) 17:46:11 ]
>>831
>>832

情報dクス

・・・ここ数日間、GCL,CLisp ( Chicken, Gambit-C )
が吐き出すCコードをVCでコンパイルして.Libを作成しようとしてますた

直接 DLLを出力できるLispコンパイラ使わないと駄目何すね


・・・DLLを出力できるLispコンパイラ、知っていたら教えてくらはい
(上で騒がれてた、ACLってやつなのかな?)

教えて訓でスマソ




836 名前:831 [2006/01/14(土) 17:48:34 ]

↑ 自分に礼いってた orz

>>832
>>833
ですた

837 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 17:55:44 ]
>>834
敢えて挑発的に書けば...

Generics: 動的型なら元から不要
リフレクション: 元からある
デリゲート: クロージャの劣化再発明
イベント: クロージャが無いから無理してる
リモーティング: S式送ってevalさせればいいだけじゃん
インテリセンス: 80年代からあると思うけど

もちろん、静的型言語が持つ型安全性の保証とかはLispは弱い。
自分でがりがり書けば出来なくはないけれど。

条件に基づいてコード生成って?




838 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 18:10:18 ]
LispWorks はできるよ.ACL もできるんじゃねーかな.
ECL もできる.GCL もできそうだけど… GCL 知らないスマン

# しかし CLISP は C コード吐かないだろう.

839 名前:831 [2006/01/14(土) 18:43:48 ]
>>838

どうもっす
ECLでゆきます

・・CLisp、間違えます田
色んなのためしてたらわからなくなてた


ありがとうございました

840 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 19:04:59 ]
>>837
C++から入ってC#やってるのでその辺の概念がまったくわからんです。
なんか最近頭がうにになってるし。
オブジェクト指向に頭が固まってる希ガス。

Lispというか関数型の利点がいまいちわかってないのでC++とかだとこんな風にしかできないけどそこをこんなエレガントにできるよって感じで教えてもらえないですか?

条件に基づいてコード生成ってのは、画面の生成とかをXAMLみたいなスクリプトに落として扱ってるんだけれどそれをそのままプログラムコードで生成したりしとか操作に基づいてロジックを生成してそのままプログラム中で扱えたりするといろいろできるかという話。


841 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:25:20 ]
>>840
>操作に基づいてロジックを生成

これって具体的にはどういうイメージで言ってるの?

842 名前:デフォルトの名無しさん [2006/01/14(土) 23:07:07 ]

gclでウィンドウを生成してその中で二点を定めて
線を引くというような簡素なプログラムを組みたい
のですがどうすればよいでしょうか?どなたかご存知な
方お願いします。
まずウィンドウを生成するやり方からわかりません。。

843 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 23:29:43 ]
GCL 使った事無いけど、これじゃないの?
Tcl/Tk は別途インスコする必要あるかもしれないけど。

www.sunsite.ualberta.ca/Documentation/Gnu/gcl-2.3.6/html_mono/gcl-tk.html#SEC55

844 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 00:02:22 ]
>>841 行った操作を覚えたりとか、拡張言語として使うとかですかね。


845 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 00:41:22 ]
>>843
ありがとうございます。
結構使えそうです。


846 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 02:04:13 ]
>>837
> インテリセンス: 80年代からあると思うけど
あればなんでもいいってわけじゃないだろw
開発環境が(良くも悪くも)重厚長大ですげえんだよMSのは。


847 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 02:22:14 ]
>>846
世界の狭い奴だな



848 名前:デフォルトの名無しさん [2006/01/15(日) 04:14:14 ]
lispのコンソールから打ち込んだ文字(プログラムを走らせる前)
をすべて保存するようにしたいのですが、
打ち込んだ文字列は、なんていう変数やらストリームに保存されてるんですか?

849 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 04:21:20 ]
www.franz.com/support/documentation/7.0/ansicl/dictentr/dribble.htm


850 名前:デフォルトの名無しさん [2006/01/15(日) 04:33:06 ]
ありがとうございます。
でも、コマンドラインの変数名も知りたいのです。
わからないでしょうか?

851 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 08:15:48 ]
あ、そういうことか。失敬。
それは処理系依存だと思う。例えばAllegroならcommand-line-argumentsという
関数で取れる。処理系のマニュアルを読むべし。


852 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 09:38:00 ]
>>847
しかしあのMSの統合開発環境に太刀打ちできる環境はないな。

853 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 09:51:57 ]
まーGeneraの頃とはソフトウェアの規模が違うのは認めるが。


854 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 10:18:37 ]
MSの貧者の統合環境ってどうなんだろうね。
敷居を下げたのが功か無能を引き入れたのが罪か。

855 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 10:29:10 ]
レベルの低い開発者をふるい落とすのは開発環境の役目ではない

856 名前:350 [2006/01/15(日) 11:06:09 ]
>>351
kyoto common lispのコマンドラインの変数名を知りたいのですが、
ネットでは見つかりません。
しらないでしょうか?

857 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 11:07:04 ]
優れたデバッガのおかげで本来動くはずのないプログラムが出たとこ修正で動くようになる。当然、潜在バグてんこ盛り。
論よりRUNとか言っているアフォも居るし。
Lispもそんなもんなのか?



858 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 11:46:22 ]
>>856
アホがよって来るから、メール欄に sage って入れてくれ。

859 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 14:30:44 ]
早く common-lisp.net 復旧しないかな...

860 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 14:37:43 ]
.NETで使えるLispというのはないんでせうか?
ちょっとみたけれどわからず・・・

861 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 14:43:09 ]
>>860
ある。

862 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:04:23 ]
ソースつきサンプルが標準でどっかのディレクトリに入って滝がした

863 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 01:34:22 ]
>>860 .NET 向けなら LSharp ってのがあるよ.まぁ,Common Lisp でも Scheme でもないけど.

864 名前:デフォルトの名無しさん [2006/01/16(月) 03:23:56 ]
kyoto common lispのコマンドラインの変数名を知りたいのですが、
誰か知りませんか?

865 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 05:06:02 ]
つうかなんで今更KCL?
GCLならsi:*command-args* みたいな名前の変数だったと思う。
とりあえず、aproposでそれらしい名前を探してみたら?


866 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 14:29:04 ]
オブジェクト指向が染み付いてるんですが、LISPってどんなイメージでプログラミングするの?


867 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 16:35:33 ]
クラスを定義してメソッドを書いてゆく。(こともできる)




868 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 16:38:07 ]
>>867 それオブジェクト指向とどう違うの?

869 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 16:51:22 ]
違わないだろ
Lispでもオブジェクト指向やれますよって言ってるんだから

870 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 17:05:27 ]
んじゃ、オブジェクト指向的に書くとして、その場合のJava、C++などとの違いはどこに出るの?

871 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 17:22:49 ]
>>870
括弧

872 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 17:35:38 ]
>>871
まあ、依然としてLispである、ってとこかな。

873 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:12:17 ]
>>872 そのLISPであるのはどこ?

874 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:15:40 ]
>>873
括弧

875 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:20:36 ]
単に「JavaやC++と比べてLispはどう違うのか」の答と一緒かと

876 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:27:39 ]
>>875
最初の質問に戻るかも試練が・・・わかんねーよウワァン。


877 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:29:17 ]
On Lisp の最初の方を読むといいかも。



878 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 18:42:58 ]
>>877
みつけますた。よんでみます。
ただまとめて印刷できるページがほしかった・・・

879 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 20:41:02 ]
スピード面とか考慮したうえでLispに向くもの向かないものってあるんでしょうか?

880 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 22:37:05 ]
LSharp以外に.NETでつかえるLispあるならつかいたいんだがどうよ。

881 名前:831 [2006/01/17(火) 00:03:55 ]
ECLを使って見ますた

Windows上でインストールさせて、
簡単な関数を書いたLispファイルをコンパイルしてみると
おぉ、ECLから.dll .Lib .hファイルを取得できますた

早速C++に組み込んでみようとすると、
 ..わからん、どうやって引数を渡すんだ?

マニュアルとECLのヘッダーファイルを週末読み込んでみたものの、
わたすの低レベルな頭ではプログラムを走らせることができませんですた
(変換された関数はECL独自の構造体(共有体?)しか受け取ってくれない)

やはりCに書き出すことはできたとしても、
Lisp->Cへの組み込み時において、変換された関数のインターフェースが
問題であることをようやく理解。

そこで今回、Lisp->Cのインターフェースがうまく扱えそうな
LispWorksに方向転換してマニュアルを呼んでます

LispWorksで変換したLispコードをCから呼び出してる人、
使い心地はどうですか?
知ってる人おりましたら、おしえてくらはい。

・・・長文、駄文、あと頭悪くてすいません





882 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 00:06:55 ]
>>880
何で .NET が良いのか、LSharp の何が気に入らなかったのかを書いたら
教えてやらんでもないけど、マイナーな処理系使っても幸せにはなれないよ。

>>876
個人的には REPL の有る無しが大きい。データを直に触りながら書く感じ。

883 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 01:11:33 ]
>>831

メール欄に sage って書いてホスィ.ひょっとしてPerl とか Python とかの組
み込みの経験ないってこと?むーC / Lisp ともにちょっとスキル不足かもしれ
ない.

LispWorks の使い心地だけど

(fli:define-foreign-callable ("Double" :result-type :int)
((x :int) (y :int))
(* x y))

で DLL 作ると int Double(int x, int y) { return x*y; } に見える.


884 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:17:35 ]
>>882
.NETの理由:既存資産があるしライブラリあるから
LSharp以外の理由:LSharpは気に入らなかったのではなく比較のため。


885 名前:884 mailto:sage [2006/01/17(火) 02:20:44 ]
眠いとだめだな日本語おかしい・・・orz
ライブラリ->マイライブラリ
LSharpは->LSharpを

886 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:24:04 ]
>>884,885
ほい。

dotlisp.sourceforge.net/dotlisp.htm
www-sop.inria.fr/mimosa/fp/Bigloo/

887 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:46:43 ]
>>884, 885
ほれ.

RDNZL - A .NET layer for Common Lisp
www.weitz.de/rdnzl/




888 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:48:57 ]
>>884,885
あと、この辺かな。

weitz.de/rdnzl/
foil.sourceforge.net/
bc.tech.coop/blog/040927.html
bc.tech.coop/blog/041210.html
bc.tech.coop/blog/041216.html

せっかく答えてくれたのに、参考にならなかったらスマソ。

889 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:50:32 ]
わぉ、こんな夜更けに被ってしまった...

890 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 03:27:55 ]
>>879
Lisper は環境に合わせて Lisp 処理系を書いてしまうから、向かない物は無いとも言える。
GOOL とか XS Lisp とか LispMe とか Schemix とか。LispM もあったし。

向いてないのは、人月投入してナンボのプロジェクトとかかな。Lisper は希少種だから。

891 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 10:55:18 ]
正式発表キタ!!

>A port of OpenMCL to X86-64 (AMD64) Linux is underway;
>it's scheduled for release in Q2/2006.

openmcl.clozure.com/index.html

892 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 10:59:58 ]
>>886-888 さんくすこ。みてみます。

893 名前:831 mailto:sage [2006/01/18(水) 01:04:30 ]
>>883
情報サンクス

使い勝手、よさそうですね
マニュアルのページ参照できますた

Personal Editionだとファイル出力できないことがたった今判明。
..約11万かぁ 要検討します

おっしゃるとおり、組み込み系、Lisp共に超初心者です、はい。
Lispは本を1時間よんだくらい。まずは環境整備と思い、現在に至ります。
Cはちょいとかじってます。
言語解析やりたくてLIspはじめようかと。

ついでに質問いいですか?教えて訓ですみません。
CまたはC++に組み込む場合、.DLLに加えて.h,.libファイルが必要ですよね?

マニュアルにこれらの出力関数が見当たらなかったんすけど、
きちんと装備されています?、LispWorks。
まちがい、かんちがいあったらすいません。

宜しくお願いします。

sage気おつけます。2ch書き込みも実は831がはじめて。



894 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 01:44:47 ]
> 言語解析やりたくてLIspはじめようかと。

自然言語解析だとすると LispWorks は日本語対応が UNICODE のみなんで,お
すすめできないなぁ.あんまり日本語処理強くないよ.最終目標はどんなかん
じなの?

> CまたはC++に組み込む場合、.DLLに加えて.h,.libファイルが必要ですよね?

DLL を LoadLibrary して使えます.でも普通は Lisp から C の DLL を呼ぶと
思うけどなー.そっちのほうが資料が充実してるし楽だ.あるいはソケットで
通信とかね.


895 名前:831 mailto:sage [2006/01/18(水) 21:35:14 ]
>>894

情報サンクス

言語解析はそんなレベル高いものではない(と思う)
というのも認知心理学ちょっとやりたくて買った本が
「Lispで学ぶ認知心理学」ってやつ。

そこにでてくるプログラム参考に勉強していこうかと。
ただ、1980年に出版されたもんだからユニコードうんぬんではないのです。
たとえば "NINCHI" "SHINRIGAKU"とかで、全部ローマ字で処理。
文章とかの階層構造を定義したいなぁ、なんて。

ただここの本にでてくる考え方は学んでみたいとおもい、& 組み込み対象が自作のC++プログラム。
っていうかんじです。

引き続き、組み込み向けのLisp、ソケット通信調べてみます。

長文駄文ソマソ。

896 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 00:43:18 ]
>>895
clisp.sourceforge.net/impnotes.html#ex-call-in
clisp.sourceforge.net/impnotes.html#ex-call-in-dll
common-lisp.net/project/cffi/manual/cffi-manual.html#Tutorial_002dCallbacks

897 名前:831 mailto:sage [2006/01/19(木) 01:00:17 ]
>>896

・゚・(ノд`)・゚・ なんでそんなにやさしいんですか?

有難う御座います。
がんばります。

...職場の人だってここまでやさしくない



898 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 05:00:56 ]
>>895 あれってMACLISPじゃなかったっけか?

899 名前:831 mailto:sage [2006/01/20(金) 00:25:21 ]
>>898

ども。

本には「APPLE LISP」を基準にしているとの記述が。
中まだ呼んでないからわからないけど
defun を DE で記述ますね。

今日は帰りが遅かったからほとんど手付かず。

週末はLisperになりたい。



900 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 01:44:44 ]
まーがんがれ。言語仕様はずいぶんかわってるので,アルゴリズムに集中して
勉強したほうがいいね。まぁ,おれはその本読んだ事ないのでアレだけど,お勧めは

- C をある程度知っているなら ANSI Common Lisp あたりを読んでみる
- 難しいと感じたなら,古い本だけど培風館の Lisp (1) (2) に挑戦
こっちは学生に訳させたのか日本語が破綻しているが,内容的には
入門から簡単な Garbage Collection の仕組みまでと充実してる.
- 英語が苦にならないなら Practical Common Lisp とか Norvig の PAIP,OnLisp とか
アカデミックな風味が好きなら Programming Scheme, HTDP, SICP にも挑戦してもいい

自然言語ネタならPAIP にもちょっとあるよ.PAIP の一番最初の例はルールベー
スのランダム文章作成だよん.

(defparameter *simple-grammar*
'((sentence -> (noun-phrase verb-phrase))
(noun-phrase -> (Article Noun))
(verb-phrase -> (Verb noun-phrase))
(Article -> the a)
(Noun -> man ball woman table)
(Verb -> hit took saw liked)))
(defvar *grammar* *simple-grammar*)
(defun rule-lhs (rule) (first rule))
(defun rule-rhs (rule) (rest (rest rule)))
(defun rewrites (category) (rule-rhs (assoc category *grammar*)))
(defun generate (phrase)
(cond ((listp phrase) (mappend #'generate phrase))
((rewrites phrase) (generate (random-elt (rewrites phrase))))
(t (list phrase))))


901 名前:デフォルトの名無しさん [2006/01/20(金) 21:09:46 ]
kyoto common lispのコマンドラインの変数名を知りたいのですが、
誰か知りませんか?

902 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 21:21:08 ]
変な宿題出してるがっこがあるようだな。
pc8.2ch.net/test/read.cgi/tech/1132275726/349

903 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:10:07 ]
いまどき KCL ???ネタか?しかも本スレとマルチ?
メール欄に sage もしくは学生番号を書いたら考えるけど……

904 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:42:29 ]
>>856 >>864
アフォは無視すれ

905 名前:831 mailto:sage [2006/01/21(土) 01:13:44 ]
>>900
応援サンクス.参考書チェックしてみす。
今度町にでたら立ち読みしなければ。
...ランダム文章作成 ひじょーに博学ですね。
わたすの頭からあれがでてくるよう念じたら いつかでてくるのかな

週末だけのうみそ交換しませんか?

...毎度すいません、教えてくんになってよいですか。
教えて頂いたURL、目を通して見ます田。2つ質問あります。
1つ目:Example31.7 Calling Lisp from C dynamicallyの考え方、
   これであってます?↓
------Lispソース(FFI含む)----
| |
|(インターフェース部を書いた|
| Cソースを |
| コンパイルしたdll) |----------------> (Lispソースを
| | ↑      コンパイルしたDLL)
| | CLisp           
|---------------------------| でコンパイル      ↑C/C++に組み込み可

2つ目:もう一つ御願いします。
ClispではFFIを使用するためには特別な操作が必要なんすか?
上記考え方に基づいて
Example31.7のCソース部分からDLLを作成。
その後Lispソース部で作成(.dllの名前はきちんと入力)。
できたhoge.lispファイルを(load "hoge.lisp" )すると
CLispが「skip (DEF-CALL-OUT CALLOUT # ...」っていってとまっちゃいます田。

アドバイス頂けませんか?宜しくおねがいします。


906 名前:831 mailto:sage [2006/01/21(土) 01:20:28 ]
orz 絵がずれちゃいました。

訂正

-----Lispソース(FFI含む)--------------
| インターフェース部を書いたCソースを|------------------------->C/C++で組み込み可能なDLL
| コンパイルしたdll__________________| Clispでコンパイル
--------------------------------------

またずれたら逝きます

907 名前:831 mailto:sage [2006/01/21(土) 01:33:09 ]
スレよごしすいません

再訂正
1. インターフェース部を書いたCソースをCコンパイラ(VC++)でDLLを作成
2. VCからでできたDLLをLispソースに組み込んで、CLisp(FFIパッケージ使用)でコンパイル。
3. CLispからでてきたDLLをC/C++に組み込む
          
...すいませんでした。



908 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 01:40:25 ]
残念.CLISP の FFI ってのは CLISP から Dynamic Library (DLL とか) を扱
うための仕組みのこと.

CALL-OUT: CLISP から DLL の関数を呼び出す
+-------+ -----> +-----+
| CLISP | | DLL |
+-------+ <----- +-----+
CALL-IN: DLL 内から CLISP の関数を呼び出す

なので,C/C++ に組み込み可能な DLL は CLISP では作れない.ずいぶん
C/C++ にこだわりを持ているようだけれど,ゲームでも作ってそっから Lisp
の機能を呼びたいのかな?




909 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 01:46:17 ]
CLISP は DLL を出力できません.ので,C のアプリから CLISP で作った機能を呼び出すには

1. ソケットを使う
2. パイプを使う
3. 共有メモリを使う (CLISP に拡張がいるかな?)

のいずれかの手段が必要です.


910 名前:831 mailto:sage [2006/01/21(土) 02:01:40 ]
>>908

解説、ありがとうございます。
自分、英語苦手なのばれちゃいましたね。

学生のときC/C++で記憶のモデルをつくってますた
へたれな出来だったけど。
へたれソフトには一応それなりに考えて実装しますた。
それはそのままにして、新しい機能をLispで加えられたらと。
当時の研究、あまりいい結果でなかったけど
おもしろかたんで社会にでても時間みつけてつづけてるって感じです。

...素直にLispWorks購入しようかな








911 名前:831 mailto:sage [2006/01/21(土) 02:08:25 ]
おお、
すいません、すれちがっちゃいました。

まずはアドバイスのとおり1,2,3について調べてみます
情報ありがとうございます。
ホント、世話になってます



912 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 11:06:07 ]
WindowsならCorman Common Lispって手もある。IDE使わなきゃ無料だし、
ソースコードもついてたハズなんで見てみれば?
トライアル版とはいえAllegro Common Lispに手を出してしまうとアホらしくて
他の処理系を使う気が失せるが個人で購入するには高すぎて手が出せない罠。

913 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 12:30:40 ]
Cormanって日本語使えるようになったの? 以前試したときはダメだったけど。

914 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 13:28:16 ]
>>912
そんなに高くは無いだろ。

915 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 22:49:24 ]
Allegro, UNIX でもマルチスレッドに対応にしてくれると
多少高くても買うんだけどなあ…

916 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 23:07:47 ]
>>914
え?いくらなの? 50 万くらいかと思ってたけど
しかもそれでランタイムライセンスなしみたいな…
俺騙されてた?

917 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 23:21:37 ]
一番安いのだと十数万じゃなかったっけ。



918 名前:デフォルトの名無しさん [2006/01/21(土) 23:46:29 ]
本には
(setf x '(a b c))
(setf (nthcdr 2 x) '(1 2))
とすると、xが(a b 1 2)となると書いてあるんですが、
エラーになります。処理系によって違いがあるんですか?

自分が試したのがclispとAllegro CL (共にWindows)で、
本が想定してるのがMac Common Lispです。

919 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:05:42 ]
www.lispworks.com/documentation/HyperSpec/Body/03_abac.htm
The consequences are undefined if literal objects (including
self-evaluating objects) are destructively modified.

本の名前晒せ

920 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:14:11 ]
Mac Common Lispの動作としてそうなるという説明であれば正しい
記述なのかもしれない。>>919の言うように現在のCommon Lispの
仕様としては「不定」が正解。

ただし、動作が不定であるということが明確化されたのはCLtL2から
だからそれ以前の本ならそういう記述があっても止むを得ない。

921 名前:デフォルトの名無しさん [2006/01/22(日) 00:21:24 ]
>>919
本はこれです。
プログラミング言語Lisp入門からマルチメディアまで ASCII SOFTWARE
www.amazon.co.jp/exec/obidos/ASIN/4756139264/

今初めてアマゾンでレビュー見たんですが、
どうやらMacに依存した内容が多いようですね。

上のコードはMacじゃないと動かないという事なんですね。

922 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:30:39 ]
エラーの原因はリテラルオブジェクトの書き換えではなく、(setf nthcdr)の未定義
じゃないかな。手元のclispだと、
(setf x '(a b c))
(setf (cdr x) '(1 2))
ならちゃんと通って、x = (A 1 2) になる。元のプログラムだと(setf nthcdr)の未定義
でエラーになる。

923 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 00:44:13 ]
OpenMCL では問題無し。SBCL では (setf nthcdr) の未定義でエラー。

% ./dppccl
Welcome to OpenMCL Version 1.0 (DarwinPPC32)!
? (setf x '(a b c))
(A B C)
? (setf (nthcdr 2 x) '(1 2))
(1 2)
? x
(A B 1 2)

MCL 系に依存したコードみたいね。>>921 の本は ANSI CL という
よりは MCL の使い方を書いた本なんで問題無すぃ。

924 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 01:20:08 ]
>>915
Windows以外はまだOSスレッドに対応してないんだっけ。8.0でも変わらないのかな。

925 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 02:01:16 ]
>>831
VB だが。

www.cs.stevens.edu/~dlong/vbecl/

926 名前:918 [2006/01/22(日) 09:23:08 ]
皆さんありがとうございます。
ANSI標準のCommon Lispを勉強したかったんで、別の本を探して見ます。
Common Lispならどの処理系でも同じなのかと思ってました。

927 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 10:50:15 ]
>>916
前は10万円以下のがHPでセールスしてたが今はアカデミック向けのが99ドルで載ってるな。



928 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 11:53:28 ]
>>918
> ANSI標準のCommon Lispを勉強したかったんで、別の本を探して見ます。
仕様には規定されている事とされていない事がある。specified と unspecified ね。
さらに実装依存(implementation-defined)と定義されている事もある:
(例) (disassemble) での表示形式とか
declare で最適化するとかしないとか
は規格で「実装による」と規定されている。だから本 + HyperSpec をつきあわ
せながら勉強してけばいいんじゃね。ANSI Common Lisp (Paul Graham) あたりは
入門にはちょっと難しいと思われ。英語でもがんがる気合いがあるなら
Practiclal Common Lisp がオススメ

>>927
もう卒業したんでアカデミックダメポ…。学生時代はアカデミックが安ければ
いと思っていたけどな。アカデミックが安いだけではダメな事に気がついた。
予算は Win なら MSDN にもってかれちゃうしな。


929 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 12:00:57 ]
>>924
してない.
7 -> 8 の差分ってすごく小さい





930 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 13:19:36 ]
>>895
> >>894
> 情報サンクス
> 言語解析はそんなレベル高いものではない(と思う)
> というのも認知心理学ちょっとやりたくて買った本が
> 「Lispで学ぶ認知心理学」ってやつ。

おおおっ、もしやサンプルがAPPLE LISP でプログラムされているやつでは!

931 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 13:28:49 ]
APPLE LISP は8bitマシンであるAPPLE ][ 用に慶応大の大西先生が
実装した処理系ですね。 6502のマシン語で書いたそうです。

メモリの一部がグラフィックメモリと共用なのでガベージコレクションして
いるのが”見えた”ので教育用としても有用だった。

932 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 13:48:36 ]
>>931
をいをい、大西先生じゃねーよ。中西先生な。死んじゃったけど。

933 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 15:02:48 ]
>>923
OpenMCL では本当に問題ないのかなあ。CMUCL や SBCL では
(setf x '(a b c))
(setf y '(a b c))
(setf (cdr x) '(1 2))
(print (list x y))
をコンパイルしてロードすると、リテラルが共有されるため
((A 1 2) (A 1 2))
となるんだけど、そういった想定外のことが起こったりしない?

934 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 15:47:12 ]
OpenMCL では↓になったけど、リテラルリストに破壊的操作をするのは良くないですね。

((A 1 2) (A B C))

(proclaim '(optimize (speed 3) (space 0) (debug 0))) しても一緒でした。
OpenMCL が SBCL や CMUCL に比べて遅いと言われてるのは、こういう所からなのかな。

935 名前:831 mailto:sage [2006/01/22(日) 23:26:26 ]
どもです。

>>912
情報サンクス
Corman Lisp 調べてみますた。

これ、なかなか使いやすそう。
お値段も 249$ (3万弱?)くらいで手が届く。
サンプルソースから推測するに、
実はこれC/C++に組み込めるのでは?(しかもCとのインターフェース部、自分でも扱えるレベル!?)
ちょいいじってDLL出力させてみたとこ、ヘッダーとDLLでてきますた。
LoadLibraryでVC++から読み込ませたら一応コンパイルは通った。
実行させると ダイアログで 「Cormanなんとか.dll」がなんとかかんとかって言ってた。
お金はらえば、わたすの願いかなうんですかね?
ソケット通信調べる前に、もうちょいいじってみます。

>>925
情報サンクス
ダウンロードさせていただきます田。
時間あるとき、いじらさせて頂きます。

>>930、931
自分、全くの初心者なんでAPPLE Lispのすごさわかりませんが、とても読みやすいと感じますね。
環境整えてからって思ってたけど、今日からこの本を読み恥じめてます。
自分の場合、手段(Lisp)と目的(認知)が同時に学習できますんで、効率的だと思ってアマゾンで購入。
3巻同時に手に入れられたのは運がよかった。
んー ホントにLisperになりたい。

900さんにも言われたとおり、
アルゴリズムに集中して勉強してゆきます〜


936 名前:831 mailto:sage [2006/01/23(月) 01:43:11 ]
>>935 にて
>ちょいいじってDLL出力させてみたとこ、ヘッダーとDLLでてきますた。
訂正:
すいません、勘違い訂正します。
もともとあったexampleフォルダ内で用意されてたtestdll.dllを利用しますた

んー最近すれよごしばかり。
少し書き込み控えます。


937 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 00:52:04 ]
c.l.l.のなが〜いスレッド読んで知ったこと。
ACLって成果物(って呼び方でいいんだろか)配布するのに毎年ライセンス料を払い
続けなければいけないらしい。へぇ。だから皆高い高いって言うんだ。
これってGCCで作ったバイナリ勝手に配っちゃダメって言ってるのと一緒でしょ?
間違ってたら訂正願います>詳しい方



938 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 01:23:54 ]
まぁ (loop (print (evel (read)))) みたいなのコンパイルしてバイナリ配ったら
Lisp そのものになっちゃうからな。配布ライセンスが必要という気持ちも理解
できないことはない。

個人的にはフリーソフトの発展に期待。

939 名前:831 mailto:sage [2006/01/26(木) 00:44:57 ]
例題をやってて呼び出せない関数がいくつか。

put (putpropもだめ)
unpack (explodeもだめ)
maknam (pack inplodeもだめ)

現在、Corman LIsp使ってます。
これら関数の別名もしくは使い方知っているひといたら教えてください。

>>Corman Lisp使っている人
trace の使い方、教えてください。

・・・教えて訓ですいません

940 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 00:51:37 ]
>>939
それぞれ
setf + get
symbol-name
make-symbol
で代用すべし。つーか、Common Lispの仕様持ってないの?

941 名前:831 mailto:sage [2006/01/26(木) 01:05:18 ]
>>940

情報サンクス

>つーか、Common Lispの仕様持ってないの?

今週末、本買いにゆきます
すいません〜

942 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 01:06:13 ]
>>939
その聞き方じゃ現代 Lisper にはわかんねーよぅ


943 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 01:23:25 ]
car とか cdr とか禁止で

短くていいじゃんと思う俺はきっと汚染されてる

944 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 05:11:44 ]
>>939
(trace 'func)
でトレースしたい関数の記号を引数にとる。
あとは普通にfuncを実行すればトレースの結果が表示される


ところで、いい加減Javaくらいできないとマズいかなと思い
借りてきた本の著者が井田昌之だった

945 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 09:56:04 ]
lispができるならJavaいらんだろ。CがまだならC、CができるならC++かC#にしとけ。

946 名前:デフォルトの名無しさん [2006/01/29(日) 13:22:00 ]
gclのソースを弄って、gclを立ち上げるときに、
自動的にこちらの指定したlispのコードを実行させるようにしたいのですが、
どうすればいいでしょうか?

947 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 13:36:57 ]
宿題は自分でやれ。



948 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 13:59:48 ]
>>946
そんなのソースをいじらんでもコマンドラインオプションでできねーか?

949 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 14:04:10 ]
どこの小学校だ、変な宿題出しているのは。

950 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 16:00:26 ]
理素譜

951 名前:デフォルトの名無しさん [2006/01/29(日) 16:29:24 ]
gclを弄って、gclが起動したら、自動的にlispのコードが実行されるようにするのが、
課題なんです。
gclのstdinに、lispのコードでもプリントで書き込めばいいのでしょうか?
わけわからん。

952 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 16:39:04 ]
お前にはセンスも才能も将来もないことはよくわかった。
向上心が少しでも残されてるなら宿題は自分でやれ。

953 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 16:50:14 ]
ってか出題者は何を意図してんだろ。本気で小学校レベルなのかな。

954 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 17:06:54 ]
>>953
”翻訳”を通すとこうなる。
よくあることなので気に病まないほうがよい。

955 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 17:09:21 ]
少なくともLispの課題ではないのだろう。(C言語の課題かな?)
正しい質問場所を見つけるのも課題なのかな。w

956 名前:デフォルトの名無しさん [2006/01/29(日) 17:31:19 ]
日本人です。
gclを起動→自動的にlispの関数が実行され、
読み込み状態になる。

を実現しなきゃいけないんです。
処理系弄るの初めてなので、
ちょっと困ってます。

957 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 17:35:50 ]
>>956
そうですか。ちなみに私は困っていません。



958 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 18:23:55 ]
おまいらちゃんと>>1を読み直せ。このスレはまた〜りが信条じゃなかったのか?
GCLってとこが致命的だな。いまどきGCLメインで使ってる人ってどれくらい居るんだろ。

普通に考えたらREPL起動前にユーザ定義の処理を走らせるとかその程度のことは処理系が
持ってるはずなんで>>948の言い分を調べてみるのが先決かと。
調べた結果「無い」ってことならそれを実装しろってのが課題の主旨と思われるので
REPLに突入する前に自前のコード突っ込めば終わりじゃね?

959 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 18:29:04 ]
Lispの授業じゃなくてコードリーディングみたいなのの課題なんじゃない?
さすがにスレ違いだと思うよ。

960 名前:デフォルトの名無しさん [2006/01/30(月) 00:02:17 ]
gclに、iniファイルとかは使えますか?

961 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:05:06 ]
>>958
もうちょいまともな聞き方すれば数日前に答えが手にはいったのにな。
ちょっと酷いからスルーしてしまってた。

1. まず hogehoge.lisp ってファイルをエディタでつくる。
% vi hogehoge.lisp
2. -load オプションをつかって gcl を起動する
% gcl -load hogehoge.lisp
最近の GCL ならこれで gcl が起動し hogehoge.lisp を読み込まれる

もし本当に GCL を改造しろという課題なら 2ch でダメダメな質問してる時点
で自力で解くのは諦めたほうがいい。クラスのできそうなやつに飯でもおごる
とかしてやってもらうのが唯一の方法だろ。

>>958 行動を選択してください [A/B/C]
A. 知りたい事がわかったので礼も言わずに消える
B. 礼を言って消える
C. 回答が的はずれだ俺の知りたい事はxxxxとかいいだす



962 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:14:34 ]
2ch でだいぶんトンデモ質問にも慣れたと思っていたけどこれは…
もう超能力で補うしかねぇな。まっとうなところなら

A. GCL のオプション設定を ini ファイルで指定できますか?
→ コマンドラインからの ni ファイルの解析を自分でやらないと標準で ini ファイル

B. GCL で ini ファイルを読み書きするライブラリは標準でついていますか?
→ ついてません。ini ファイルの読み書きがしたい場合は自力でなんとかしてください。

C. GCL で ini ファイルを読み書きする事は可能でしょうか?
→ 自分で処理を書く、Win32API を呼び出すなどすればできます。が C でini が扱える程度の技術が必要です。

どれか当ってねぇかな〜と期待

963 名前:デフォルトの名無しさん [2006/01/30(月) 00:22:34 ]
すみません。
gclを起動したら、初期設定ファイルを読み込んで、
こちらの指定したコードを実行させるようにはできないかと思ったのです。
schemeではiniファイルを読ませることができたので。
どうすればいいですか?

964 名前:958 mailto:sage [2006/01/30(月) 00:30:10 ]
ぉ。風呂から出てきたら俺が質問者になってるみたいだな。
ほんじゃ>>961 の回答は以下でファイナルアンサーってことでよろしく。

D. 誰か次スレ立ててね はぁと(w

あと質問してる人、sage覚えてね。

965 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:36:19 ]
>>958 殿へ
どうみても誤爆です。
拙者責任をとって切腹つかまつるゆえ次スレは立てられませぬ。


966 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:38:39 ]
次スレいらんだろ。
このスレ使いきるまで一年以上かかってるし、本スレに合流でいい。

967 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:49:46 ]
>>961
> 本当に GCL を改造
main関数をmain2とかに改名して、
argcとargv弄るだけ…でいいんだろうか。
それだと学校の課題としては変だよなぁ…。



968 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 00:54:34 ]
GCLの質問する奴、みんな質問の仕方が妙だよな。
気になるから誰か課題の全文をウプ汁。
おじさんが模範解答を作ってやる。

969 名前:デフォルトの名無しさん mailto:sage [2006/01/30(月) 01:18:05 ]
何か盛り上がりそうだけど本スレ汚すのも気が引けるんであふれたら
過疎化したスレのリサイクルにご協力をお願いします。

【一日】CommonLisp【一門】
pc8.2ch.net/test/read.cgi/tech/1106587515/

970 名前:963 [2006/01/30(月) 01:22:43 ]
>>967
「他のcのプログラムから、gclのmain関数を呼び出し、
その時点で、こちらの指定したlispのコードが実行され、
ユーザの入力待ち状態にすること」
です。

971 名前:デフォルトの名無しさん mailto:sage [2006/02/01(水) 01:50:05 ]
>>970
ほんとにそんなダメ日本語な問題なのか?思い込みで解釈せずに正確に写せ。
あと Mail 欄には sage と入力してください。それができたら解答する。


972 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 03:22:43 ]
>2006-01-30 02:39 gb
>
> * lisp-kernel/freebsd8664/: Makefile, elf_x86_64.x: New files.
>
> FreeBSD make (and gmake) both want to rebuild all .s files, but
> this otherwise seems to work.

FreeBSD にも対応するのかな。

973 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 02:32:09 ]
Lispで記述された結構な量のライブラリがあって、これをC/C++から簡単に呼び出せる
ようにしたいのですがお勧めの処理系はどれになりますか?
LispからC/C++を呼び出す例はいろんな処理系でドキュメントが整備されてますが
逆はあまりやられてないようなので。ECLがC/C++との親和性が高いかなと思っていじって
いるんですがどの程度規格に準拠してるかとか、いまのライブラリがそのまま
コンパイルできるかなとか疑問な点がまだ多いので識者の意見をお聞かせいただければ、と。

974 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 04:04:49 ]
授業でLISP習ったんだけど
最初なんじゃこりゃ頭いてーと思ったけど
これ結構おもすれー(^ω^)

975 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 23:01:02 ]
(eval '(^ω^))
おもすれー
おもすれー

976 名前:デフォルトの名無しさん [2006/02/14(火) 16:39:01 ]
JAVAからclispを呼び出せるようになったのだが、何に使えるだろう?

977 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 19:36:49 ]
>>976
JAVAからclispを呼び出すのに使える



978 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 19:48:30 ]
>>977
それには気がつかなかった

979 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 21:49:00 ]
>>977
目からうろこが(ry
ま、clispがjavaから呼べてもLISPを使用しなければならない
業務処理が思いつかん。
やhり無駄なものを作ってしまったか。

980 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 21:55:01 ]
Servlet を Common Lisp で書けたりすると面白いかも。
そうなると Lisp 自体も Java VM 上で動かして、高速に相互呼び出しできる
ようにしたくなるね。

981 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 21:58:04 ]
じゃ、ABCL で。

982 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 22:37:55 ]
>Java VM 上で動かして

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

983 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 22:40:37 ]
>>982
それが >>981(armedbear.org/abcl.html) です...

984 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:03:52 ]
>>983
すごいねコレ。
早速使ってみるわ、thx

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

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

armedbear-j.sourceforge.net/

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

987 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:21:24 ]
>JavaVM の起動

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



988 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 01:38:37 ]
>>990
cd examples
javac -classpath ../abcl.jar hello.java
java -classpath ../abcl.jar;. hello
みたいな感じで動いたよ。

992 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 01:46:49 ]
>>991
おお!動いた、動きましたありがとう!

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

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

995 名前:ゲハシマ mailto:sage [2006/02/15(水) 19:17:27 ]
>>994
偉そうに言うだけか?
仕様とやらを示してみろよ



996 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 20:17:09 ]
>>995
大馬鹿発見!!

997 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 20:18:53 ]
とりあえず >>102



998 名前:993 mailto:sage [2006/02/15(水) 20:59:40 ]
>994
主にjavaしか触らないので言語仕様は良くはしらないが、
XYZZYとは微妙に違うということは解った。

>995
あんた誰?

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

1000 名前:デフォルトの名無しさん mailto:sage [2006/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を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef