2012-02-27 21 views
3

わかりましたが、Maximaは共通のlispに基づいています。私はMaximaで働くlispプログラムを書いています。 Maxima手順を使用します。私は引数 "maxima -p foo.lisp"を押してlispファイルを読み込み、うまく動作します。しかし、私はプログラミングが貧弱なので、私のプログラムには多くのバグがあります。私は自分のプログラムをデバッグしたいですが、それはそれほど簡単ではないことに気づいています。maximaをsbclにインポートする方法

私はslimv、vimのlispサポートを拡張するためのvimスクリプトに慣れてきました。 SlimvはslimvとLispインタプリタとの間を接続するためにスワンクが含まれている、素晴らしいツールですが、私はマキシマのlispモードで「-swank.lispを開始」ロードしたとき、それがエラーを返しました:

>> Error in CONDITIONS::CLCS-LOAD [or a callee]: The variable *LOAD-TRUENAME* is unbound. 

私は気づいこれはgclによるものです。だから、私はmaxima-sbclを探しに来ました。しかし、maxima-sbclの公式パッケージはありません。がっかりしたよ。

sbclに最大値全体をロードできるかどうか疑問です。もしそうなら、私はswankのREPLでそれを読んで、私のプログラムをうまくデバッグすることができます。

もっと良いアイデアを持っている人はいますか?マキシマのドキュメントを閲覧

答えて

4

は、使用状況のニュアンス

のLispだけでマキシマを再構築について
+0

ありがとう。 Maximaでスワンクを使うのは大丈夫ですが、あなたの提案は有益です。私はあなたのアドバイスを取る。 –

3

、ソースコードがSBCLでコンパイルできると思わ:

Notes on Lisp implementations for Maxima:

2 3 Clisp, CMUCL, Scieneer Common Lisp (SCL), GCL (ANSI-enabled only) 4 and SBCL can compile and execute Maxima

あなたには、いくつかのトラクションこのよう受け取ることがあります、また

[1] Load up your SBCL (and default core file). 
[2] Load Maxima into that lisp session 
[3] Save the core file 
[4] Kill the swank server 
[5] Replace the old core file with the new core file 
[6] Restart the swank server 

を「ポート」をご確認くださいMaximaサイトのページ私はOS X用のMaximaのSBCL finkポートを見つけました。あなたは
https://github.com/filonenko-mikhail/embeddable-maxima

これを探しているかもしれないもの、私はこのプロジェクトに遭遇しました

+0

どのように読み込むのだろうか。 Maximaのドキュメントには、Maximaを再コンパイルする必要があることが示されています。 –

+0

私はSBCLを使ってsrcからコンパイルして、それらのfaslsをロードするか、あなたのプラットフォーム用のSBCLポートを見つけて、それらのfaslを使うと思います。 –

2

に言及しdeveloper's blog(ロシア)でありますMaximaソースコードのINSTALL.lispを参照してください。 http://maxima.git.sourceforge.net/git/gitweb.cgi?p=maxima/maxima;a=tree

INSTALL.lispで記述された方法は、defsystemを使用します。代わりに、ASDFを使用することもできます。おそらく私はいくつかの詳細を省略しました:あなたがソースコードを展開していると仮定すると、あなたは

(cl-user::run) 

ノート、ちょうど

(require 'asdf) 
(asdf:operate 'asdf:load-op :maxima) 

を行い、その後、Lispのイメージをダンプか、すぐマキシマを起動することができるはずですASDFアプローチについて

ご返信が遅れました。誰かがそれを検索して見つけた場合に備えて、ここに残しておきます。

関連する問題