問題タブ [quicklisp]
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.
clisp - なぜquicklispは「root」権限が必要なのですか?
root ユーザーは、quicklisp を正常にインストールできます。ただし、一般ユーザーはできません。
何故かはわからない。ここにいる誰かが私に光を当てることができますか?
hunchentoot - 「hunchentoot」エラーをインストールしますか?
freebsd ボックスに hunchentoot をインストールしたいのですが、quicklisp がエラーを報告します:
* - ヘッダーにマジック値 1F,8B がありません (代わりに 3C,21 を取得しました)! 次の再起動が利用可能です: ABORT :R1 "hunchentoot" をあきらめる
ABORT ブレーク 1 [2]> :i
: 標準オブジェクト
type: QL-GUNZIPPER::GZIP-DECOMPRESSION-ERROR 0 [$FORMAT-CONTROL]: "Header missing magic values ~2,'0X,~2,'0X (代わりに ~2,'0X,~2,'0X を取得) )!」1 [$FORMAT-ARGUMENTS]: (31 139 60 33) :R2 メイン loopnter コードをここで中止
それを修正する方法? ありがとう!
common-lisp - quicklisp quickproject で作成されたシステムを削除するには?
ディレクトリ "~/projects/{name}/" に quickproject:make-project でプロジェクトを作成しました。
結果に満足できず、最初からやり直したいと思ったので、ディレクトリの名前を「~/projects/{name}-old/」に変更し、最初のディレクトリに「quickproject:make-project」で新しいプロジェクトを作成しました「~ /projects/{name}/".
プロジェクトを ql:quickload でロードしようとすると、quicklisp は古いプロジェクトをロードしようとします。
古いプロジェクト ファイルをそのままにして、古いシステムを削除するにはどうすればよいですか?
手順 2. でディレクトリの名前を変更する代わりに、どうすればよいでしょうか?
shell - CLプログラムがシェルスクリプトとして呼び出されたときにquicklispを使用するにはどうすればよいですか?
私は現在、Common Lispに小さなプログラムを持っており、それをシェルスクリプトとして実行したいと思っています。私はSBCLを使用しており、これで完全に問題ないので、このプラットフォームにとどまるのを好みます。:)
私は--script
オプションについて知っています、そしてそれはフォームを除いて完璧に動作します(ql:quickload)
。
私のプログラムは、ロードスルーするCL-FADを使用しています( quicklispql:quickload
からのパッケージロード関数であることに言及する必要があると思います)。スクリプトが実行されて評価されるとき
フォーム、それは次のエラーで壊れます:
プログラムは、次のヘッダーを持つ単一のソースファイルにパックされています。
これは単純な自動化実行可能ファイルであるため、ASDFシステムを作成しないことにしました(おそらく誤って)。引数なしで実行する必要がある単一の関数をエクスポートします。
このプログラムのために、私は現在ランチャースクリプトを書き込もうとしています、そしてこれは私が見つめているものです:
この3行(シェバンは数えません)は、私が自動化したいものです。ドキュメントを読んだように、このシバンを使用したスクリプトは単純なものと呼ぶことができますが./script.lisp
、実際にはこれを実行します...前述のエラーが発生します。
:cl-fad
正しくロードするには、ランチャーに何を追加する必要がありますか?ドキュメントには、--script
オプションSBCLではinitファイルが読み込まれないと記載されているため、実際に行をコピーして貼り付ける必要がありますか?
(これql:add-to-init-file
は.sbclrcに追加されます)、ランチャースクリプトに?たぶん、プログラムのセットアップにいくつかの深いアーキテクチャ上の欠陥がありますか?
はい、REPLで自動化しようとしている行をsbcl自体に入力すると、プログラムは期待どおりに実行されます。
lisp - Quicklisp QUICKLOADは私のソースのどこに行くべきですか?どこにも?
との上にアプリケーションを構築するnet.aserve
としbordeaux-threads
ます。私のパッケージ宣言は次のようになります。
私はQuicklispを使用しているので(ql:quickload "aserve") (ql:quickload "bordeaux-threads")
、パッケージをコンパイルする前にSLIMEで実行し、すべてが正常です。
もちろん、明日はSLIMEを再度起動するQUICKLOAD
ので、コンパイルする前にsを発行することを忘れないでください。そうしないと、問題が発生します。
私は次のようなものを置くことができます
パッケージの一番上にあります—これは私が開発のために行ったことです—しかし、ユーザーにパッケージマネージャーを強制するのは良い考えではないと感じています。
より良い代替案はありますか?
lisp - asdf:defsystem と quickproject を使用してパッケージを定義する適切な方法
私は Lisp 初心者で、SBCL 1.0.55.0.debian と Limp 0.3.4 (およびそれが重要な場合は Debian Wheezy) を使用して、GUI プログラミング用の LTK を学習しながら、Lisp パッケージ システムを適切に使用する方法を理解しようとしています。aptitude パッケージ マネージャー (cl-asdf および cl-common-lisp-controller パッケージ) を使用して ASDF をインストールし、次に Quicklisp Web サイト ( http://www.quicklisp.org/beta/index.html )の手順を使用して Quicklisp をインストールしました。 (Debianリポジトリからではありません)そして(ql:quickload 'ltk)
、SBCLコンソールにLTKをインストールしました。
hello-1.lisp (LTKチュートリアルから直接):
これを新しい SBCL Lisp イメージでそのままコンパイルすると、WITH-LTK
andPACK
は未定義の関数であり、'BUTTON
未定義の変数であるというメッセージが表示されます。
'ltk
そのため、最初にロードしてからin-package
.I を使用して実行する必要があることがわかりました。最初に SBCL コンソールで(ql:quickload 'ltk)
andを使用する必要があります。ただし、未定義の変数(in-package :ltk)
であるというエラー メッセージがまだ表示されます。'BUTTON
それから、これが思い通りにいかなかったので、別の質問 ( ltk (common lisp)の問題) の回答に従って、独自のパッケージ定義を定義しようとしました。および Quicklisp" http://xach.livejournal.com/278047.html?thread=674335および ASDF マニュアル ( http://common-lisp.net/project/asdf/asdf/The-defsystem-form.html ) を使用してquickproject:make-project
、しかし、成功しませんでした。現在、次のファイルがあります。
package.lisp (最初に(ql:quickload 'ltk)
SBCL REPL を実行すると、きれいにコンパイルされます):
hello-world-ltk.asd (最初に package.lisp をコンパイルした後、きれいにコンパイルされます):
hello-world-ltk.lisp (コンパイル エラーが発生しますThe name "HELLO-WORLD-LTK" does not designate any package
)。
package.lisp と hello-world-ltk.asd (これらはすべて同じディレクトリにあります) を正常にコンパイルした後で、この hello-world-ltk.lisp をコンパイルしようとすると、次のエラーが発生します。
だから、 ASDF 、Quicklisp、package.lisp 、、、などquickproject
、パッケージを定義するためのさまざまな方法があり、私はここでかなり迷っています. プロジェクト全体ですべてのコンパイルとパッケージの読み込みを 1 つのコマンドで処理し、より大きなプロジェクトにも拡張できるソリューションを探しています。asdf:defsystem
require
ql:quickload
quickproject:make-project
助けてくれてありがとう:)
lisp - Windows 7 での clisp による quicklisp の問題
Windows 7 に quicklisp/slime/clisp をインストールしましたM-x slime
。
clisp/slime を開始するために 'continue' を入力することもできましたが、slime を開始するたびにこのメッセージが表示されます。これの何が問題なのですか?どうすればこれを修正できますか?
lisp - Windows7上のLispWorksはQuicklispをロードしません
.lispworks
私はLispWorksPersonalEditionを使用しており、LispWorksが私のホームディレクトリにあるはずの初期化ファイルではなく、ファイルをロードすることによってのみQuicklispをロードできましたC:\Users\Me\
。初期化ファイルを間違ったディレクトリに配置していますか?それとも他に問題がありますか?
lisp - ql:system-apropos によって返されたパッケージ名を変数に格納する
(ql:system-apropos "regex")
を使用して の出力を変数に保存しようとしていますmultiple-value-bind
が、nil
. ただし、このコマンドはテキストを REPL に出力するだけで、変数を返さないため、機能していないようです。その場合、ql:system-apropos
リストまたは配列としての出力、特にそれによって返されるパッケージ名を取得する方法はありますか。
この基本的なmultiple-value-bind
コードは動作します:
しかし、これはそうではありません(バインドするものが何もない場合はmultiple-value-bind
?):
それで、または他の印刷コマンドql:system-apropos
を使用して画面にテキストを印刷するだけのようですか?format
これの目的は、いくつかの文字列処理コマンド (おそらく正規表現) を使用して出力のパッケージ名を抽出し、 によって返されるすべてのパッケージのインストールまたは再インストールを自動化することql:system-apropos
です。次に例を示します。
quicklisp
部分的な名前または正規表現を入力として使用してパッケージ名を取得する他の方法も有効な解決策です (パッケージの現在の完全なリストを取得することも役立ちます)。これを行うための実行可能な解決策はありますか?
functional-programming - QuickLispによるSBCLのシステムディレクトリへのインストールパッケージの使用方法は?
SBCLのパッケージ管理ツールとしてquicklispを使用しています。
ただし、現在のユーザーのHOMEディレクトリに。でパッケージをインストールするのはあまり便利ではない場合がありますql:quickload
。(たとえば、(ql:quickload "xmls")
xmlのインストールに使用する場合、他のユーザーはそれを使用できません。)
さらに悪いことに、私はlispコードをスクリプトとして実行したいと思います。したがって、quicklispによってインストールされたパッケージを使用する場合、次のように、そのパッケージの絶対パスを不快に追加する必要があります。
を使用すると、オプション(require 'xmls)
を使用するとそのパッケージが見つからないため、コンパイラは機能しません--script
。
誰かが問題を解決して、同時に(絶対パスを追加する必要がない)--script
使用できるようにする方法を知っていますか?require