問題タブ [ecl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lisp - MSVC2010 を使用して Windows で ecl.dll の静的ライブラリをビルドするには?
Windows で ECL を使用してプログラム ("exe" または "static lib") をビルドしたいと考えています。私のアプリケーションは「ecl.dll」に依存する必要があります。
MSVC makefile を変更して ECL を静的にビルドする方法は?
exception-handling - 埋め込み ECL Lisp エラー処理 fetch デフォルト エラー文字列と、場合によっては行番号
最初に#7755661をご覧ください。私は ECL を使用しており、基本的には何らかのコードを実行し、発生する可能性のあるあらゆる種類の状態をトラップしてから、プロンプトを表示したりデバッガーに入ったりせずに実行を継続したいと考えています。これは、次のハンドラー ケース マクロを使用すると簡単に実現できます。
私の唯一の問題は、ユーザーにとってより意味のあるエラーを出力する一般的な方法が見つからないことです。実際、私のアプリケーションは HTTP サーバーであり、出力は Web ページに送られます。code.lisp はユーザーによって作成され、あらゆる種類の条件を発生させることができます。コード内でそれらすべてをリストしたいと思います。ハンドラーケースを使用しない場合に REPL に表示されるのと同じエラーメッセージを出力したいだけですが、HTML ページには、たとえば「バインドされていない変数」エラーの場合、「変数 VAR はバインドされていません」のような文字列が表示されます。
タイプの条件オブジェクトUNBOUND-VARIABLE
を調べると、2 つのスロットがあることがわかります。SI:REPORT-FUNCTION
はコンパイルされた関数でありSI:NAME
、この場合は変数の名前に設定されます。呼び出す必要があると思いSI:REPORT-FUNCTION
ますが、どのように呼び出すことができますか? 私が試してみると:
SI:REPORT-FUNCTION が定義されていないことがわかります。ECL の SI または SYS は、実装内部の関数と変数のパッケージですが、動作する限り、コードが移植可能でなくても心配ありません。
SI:FORMAT-CONTROL
ところで、他の種類の条件オブジェクトには、とという名前の目的のために明らかに役立つ他のスロットもSI:FORMAT-ARGUMENT
ありますが、コードからもそれらのいずれにもアクセスできません。
getMessage()
Lisp の Java 例外オブジェクトのメソッドに似たものを探していましたが、そのようなことについて言及している情報源はありません。
さらに、エラーが発生した code.lisp の行番号も取得できる希望はありますか? これがなければ、ユーザーは自分の code.lisp ソース ファイルで問題を見つけるのが難しくなります。私は本当にこの情報を提供したいと思っており、最初のエラーで停止しても問題ありません。
common-lisp - シェルコマンドのディレクトリを指定できますか?
次の関数を使用してシェル コマンドを実行します。
たとえば、コマンドの現在のディレクトリを指定する方法はpython -m CGIHTTPServer
?
心から!
ecl - newlispの階乗について
ECLとnewlispを使用してfacorial関数を実行します。
ECL:
newlisp
newlispがeclで異なる結果を返すのはなぜですか?
common-lisp - ECLが階乗(1000)を計算できるのはなぜですか?
ECLがfac(1000)を計算できるのは素晴らしいことです!ECLはどのようにそれを行うことができますか?
ECLバイトコードについてはほとんど知りません。末尾再帰の最適化はないようです。専門家はそれを説明できますか?
心から!
c - /usr/bin/ld: エラー: -lecl が見つかりません
C関数へのコールバックを使用してECLを埋め込むCプログラムの例 をコンパイルしようとしています。ギットハブ。ECL リポジトリをand とで複製してECL (Embeddable Common Lisp)をインストールしました。インストールは問題ないようです。少なくともECL 開発者ガイド: 2.6 コンパイラの例は正常にコンパイルされます。git clone git://git.code.sf.net/p/ecls/ecl ecl
$ make
# make install
ecldemo.cをコンパイルしようとするとgcc ecldemo.c -lecl
、次のエラーが発生します。
私はこのエラー行のだろうか:
どういうわけか、ソースファイルとしてgcc
解釈され、オプションとしてではなく( という名前のライブラリを検索する)必要があるように思えます。と( )の間にスペースを入れても意味がありません。出力は同じです ( )。-lecl
-l library
library
-l
ecl
gcc ecldemo.c -l ecl
cannot find -lecl
ecl.h
に/usr/local/include/ecl/
あり、ecldemo.c
に含まれているため、オプション#include "ecl/ecl.h"
でライブラリディレクトリを追加してみました:-L
gcc -L /usr/local/include/ecl ecldemo.c -l ecl
...しかし、役に立たず、同じエラーがusr/bin/ld: error: cannot find -lecl
続きました。
このエラーを引き起こす可能性のあるアイデアと、これを修正する方法はありますか?
common-lisp - ローカル変数が解放されないのはなぜですか?
テスト機能は以下のとおりです。
$ ecl
... EECL(Embeddable Common-Lisp)12.7.1(git:UNKNOWN)
..。
次に、ECLを再起動します
(fac 10)の後に「res」が解放されていないようです。
心から!
common-lisp - FreeBSD での構成エラー
最新の ECL を git clone し、次のことを行います。
.6
-rwxr-xr-x 1 ルート ホイール 21092 9 11 14:04 /usr/local/lib/libgmpxx.so.6*
よろしく!
compilation - ECL-すべてのコンパイルユニットとその依存関係のcソースをダンプしますか?
私は次のパッケージ定義を持っています。すべてのコンポーネントと、 Cソースへの依存関係を再帰的にコンパイルするにはどうすればよいですか?つまり、ネイティブ実行可能ファイルの構築に使用されるすべてのCファイルを保持したいと思います。
現在、私は使用しています(asdf:make-build :example
が、Cファイルは残りません。
私は見ることを期待しています
example.asd:
cl-opengl.asd: