問題タブ [ccl]
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.
python - Common Lisp: Lisp プロセスとは異なる作業ディレクトリでサブプロセスを起動する
ディレクトリ A とサブディレクトリ B があるとします。A に cd して Lisp を起動します。その Lisp プロセスで、Python が B を現在の作業ディレクトリと見なす Python サブプロセスを起動したいと思います。Lisp プロセスには A に cwd が必要であり、python プロセスには B に cwd が必要です。クロスプラットフォームで簡単な方法でこれを行うにはどうすればよいですか?
CCL と SBCL で動作し (おそらく 'run-program 関数を使用)、Windows、Linux、および OS X で動作するソリューションを探しています。
CCL 実行プログラムのドキュメントを見ましたが、起動されたプロセスの cwd を変更する方法がわかりませんでした。
Python コマンドライン引数を調べましたが、Python プロセスの cwd を変更するものは見当たりませんでした。
'cd B;' の実行プログラム呼び出しについて考えました。python ...' ですが、実際には 2 つのプログラムを実行しているため、それがどのように機能するかはわかりません。cd、次に python。
Python コードは入力として (ファイルとして) 提供されているため、そのコードを (os.chdir() 呼び出しなどを追加して) 変更することはできません。
Python入力ファイルをサブプロセスとして起動するPythonラッパーファイルは理想的ではありません。これは、標準入力を送信し、Lispによって起動されたPythonプロセスの標準出力をリッスンしているためです。Lisp と入力ファイルを評価する python プロセスの間に別のサブプロセスを追加するということは、多くの stout/stdin 中継を行う必要があることを意味し、これはもろくなると感じています。
krzysz00 のアプローチは非常にうまく機能しました。ディレクトリの変更は Lisp で処理されるため、python プロセスが起動される前に、このアプローチは別のサブディレクトリ (python だけでなく) で他のプロセスを起動するために機能します。
ドキュメントについては、SBCL と CCL で機能する krzsz00 のアプローチを使用した私のコードを次に示します。Hoyte の defmacro を使用していることに注意してください。Let Over Lambdaのマクロを使用して、不要な変数のキャプチャを簡単に回避できます。
使用法:
size - Clozure Common Lisp実行可能ファイルのサイズを減らす方法は?
この簡単なプログラムを保存しました
を使用してccl:save-application
Clozure CommonLispREPLから。
結果の実行可能ファイルのサイズはMacOSXで25Mです。LispカーネルとLispシステムのメモリ内表現が含まれていることを理解しています。それでも25Mは、このような単純なプログラムではやや大きいようです。パラメータpurify
とimpurify
はあまり効果がないようです。
実行可能ファイルのサイズを縮小するには、どのようなオプションが必要ですか?いずれかがあります?
linux - gcc cc1: メモリ割り当てが不足しています
Angstrom Linux で BeagleBoard のソース コードをコンパイルしようとしています。昨日、コードをコンパイルできました。しかし、今日、コードをコンパイルできず、次のように表示されます。
私のコンパイル文字列は次のとおりです。
コードは次のとおりです。
「無料」と書くと、
どうすれば解決できますか?
qt - OS X Lion で Clozure CL を使用すると Commonqt が機能しない
OS X Lion で Clozure CL を使って Commonqt を使いたいと思っていました。
しかし、それは機能していませんでした...
共通qt
Commonqt は、Qt の煙ライブラリへの Common Lisp バインディングです。
私の設定はそれです
OS X ライオン 10.7.4
Xcode 4.3.3
Clozure CL バージョン 1.8
qt 4.8.2 (git clone git://gitorious.org/qt/qt.git) "./configure && make install && make"
煙
- somkegen (git clone git://anongit.kde.org/smokegen) "cmake . && make install"
- Smokeqt (git clone git://anongit.kde.org/smokeqt) "cmake . && make install"
クイックリスプ
- local-projects commonqt (git clone git://gitorious.org/commonqt/commonqt.git) "qmake && make clean && make"
参照: http://kvardek-du.kerno.org/2011/12/setting-up-commonqt-on-osx.html
qt.asd(共通qt)
だから私は変更されました(だから - > dylib)
しかし、エラーが発生しました。例えば
ソースコード
これは私の間違った設定ですか?または、OS X Lion で Clozure Cl を使用すると、Commonqt のソースが機能しませんか?
次に、私は何をすべきですか?
user1234192 のアドバイス: ccl -> ccl64
再試行します。
windows - Clozure 共通 Lisp。Windowsでサブディレクトリを一覧表示するには?
私のフォルダはこのように見えます
ファイルを一覧表示できます
しかし、サブディレクトリのリストに問題があります
私が間違っていることは何ですか?
common-lisp - `eval-when`による予期しない動作
次のCLコードのフラグメントは、SLIMEを実行しているCCLで期待したとおりに機能しません。最初にを使用してファイルをコンパイルしてロードしC-c C-k
、次に実行する場合
SLIME / CCL REPLで、エラーが発生します
SBCLで動作します。(setf *read-default-float-format* 'double-float))
のような値を使用できるようになると期待していました1.0
。LOAD
REPLでこのファイルをCCLにロードすると、機能します。私は何が欠けていますか?
更新:プラットフォームとバージョンについて言及するのを忘れました。Debiansqueezex86を使用しています。SLIMEのバージョンはDebianunstableからのもの1:20120525-2
です。CCLは1.8リリースです。http://svn.clozure.com/publicsvn/openmcl/release/1.8/linuxx86/cclのアップストリームバイナリと、自分で作成したバイナリパッケージの両方で試しました。mentors.debian.netのパッケージcclを参照してください。結果はいずれの場合も同じでした。
この問題はSLIME固有のものである可能性があります。人々がこの振る舞いを見ているかどうかについてコメントできると助かります。C-c C-k
また、基本的なコマンドラインモードでCCLを実行している場合、SLIMEと同等のものは何ですか?(LOAD filename)
、 または、他の何か?または、少し異なる質問をするために、どのCCL関数がC-c C-k
呼び出していますか?
C-c C-k
次のコードを呼び出すことに気づきました
直後のREPLで.を与えますDOUBLE-FLOAT
が、を生成します。*read-default-float-format*
SINGLE-FLOAT
更新2:Rainerが言ったように、コンパイルは別のスレッドで行われるようです。
スレッドディクショナリall-processes
の関数ごと
all-processes
Cc Ckを使用してバッファから印刷すると、次のようになります。
そしてREPLで与える
したがって#<PROCESS worker(188) [Active] #x18BF99CE>
、コンパイルを行っているのはスレッドのようです。もちろん、なぜこれらの変数がスレッドに対してローカルであるのか、またなぜSBCLが同じように動作しないのかという疑問が残ります。
common-lisp - シェルコマンドのディレクトリを指定できますか?
次の関数を使用してシェル コマンドを実行します。
たとえば、コマンドの現在のディレクトリを指定する方法はpython -m CGIHTTPServer
?
心から!
cocoa - Mac ポート Clozure Common Lisp で `(require "COCOA")` に失敗する
Mac ポートを含むパッケージ ccl をインストールしました。ここで、Cocoa ブリッジを使用したいと思います。
私が始めればccl64
、sudo
それは大丈夫です。しかし、私はこれを通常のユーザーとして実行できるようにしたいと考えています。どうすればいいですか?
macos - Xcode を使用しないアプリ内購入 (Apple アプリ ストア)
アプリをApple App Storeに入れようとしていて、アプリの購入を追加したいのですが、残念ながら私たちのアプリはXcodeで作成されていません. Cocoa API にアクセスするための目的の C ブリッジを含む、CCL と呼ばれる Common Lisp の実装を使用します。StoreKitGuide を読んだ後、ストアをアプリに追加するために StoreKit.framework を再度リンクする必要があることを除いて、これはすべて問題ありません。
アプリの作成に XCode を使用していないため、これは問題を引き起こします。アプリ内購入を使用していない場合、アプリ内購入をアプリに追加することは可能ですか? ここにいるほとんどの人が Common Lisp を使用していないことはわかっていますが、Xcode を使用せずにアプリの購入を有効にする方法について、何らかの洞察を提供できるかどうか疑問に思っていました。
macos - XCode を使用せずにサンドボックス化された Apple Store にアクセスする
私は、CCL と呼ばれるオープン ソースの Common Lisp 実装を使用して作成された OSX アプリに取り組んでいます。アプリにアプリ内購入を追加しようとしていますが、StoreKitGuide を読んだところですが、XCode を使用せずにアプリ内購入をテストするにはどうすればよいでしょうか。
ドキュメントには、XCode を使用してサンドボックス化されたアプリ ストアにアクセスする手順が記載されています。
Xcode からアプリケーションを起動すると、Store Kit は App Store に接続しません。代わりに、特別なサンドボックス ストア環境に接続します。サンドボックス環境は App Store のインフラを利用しますが、実際の支払いは処理しません。
しかし、xcode なしでこれを行う方法はわかりません。XCodeなしでアプリ購入で何がテストできますか?