問題タブ [asdf]
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.
common-lisp - ASDF システム構成変数?
ユーザー設定変数に応じて異なる Lisp ファイルをロードする設定可能な ASDF システムを作成する方法はありますか? できれば、必要な構成変数が指定されていない場合、読みやすいエラー メッセージが表示されてロード プロセスが失敗します。システムをロードするときに、そのような変数を便利に設定するにはどうすればよいでしょうか? (手動で、quicklisp を介して、または別のシステム定義ファイルから)
load - ダウンロードした Lisp ソースまたはライブラリの使用方法 (1 つの動作方法が不明な asdf アプローチを使用)
CC3.lisp で始まる Lisp ソースをダウンロードします
その他。
計算をテストするための test.lisp を書きたいと思います。
ASDF と言う人もいるかもしれませんが、初心者で 1 つの Lisp ファイルを使いたいだけです。
私を始めるためのいくつかのスクリプトを書く方法のヒント。私はそれが関与すると思う
- ファイルをロードする
- (パッケージ内...)
等
ただし、ASDF/Quick-Lisp が唯一の解決策である場合は、それも教えてください。
ありがとう。
=== 私は CCL (mac os x) の下でこのような asdf ワークフローをハックすることができました:
ソース ファイルを asdf ディレクトリに取得します。
その後、一度だけ実行する必要があるようです
これが必要です (ただし、.asd を使用しても、これが asdf にどのように関連するのかわかりません。それを Lisp ファイルとして使用し、すべて CCL エディターで実行してください)。
アストロ.asd
上記のファイルを CCL エディターで Lisp として実行した後 (すべて実行)、
このコマンドを CCL リスナーで実行します。
この後、このようなパッケージを使用するファイルを実行できます (コマンドラインから Lisp プログラムを起動するときにパッケージ名を指定するにはどうすればよいですか?で何が好きかを確認した後) が、これがどのように機能したかは実際にはわかりません。
cc3-testing.lisp:
ディレクトリには現在
毎回 astro.ad を読み込んでから、その asdf コマンドを実行する必要があります。次に、cc3-testing.lisp を使用して cc3 システムをテストします。
その音は正しいですか?
common-lisp - asdf package-inferred-system の all.lisp というファイルにすべての関数とパッケージの宣言を含める方法
したがって、package-inferred-system エクステンションのセクション 6.5 の asdf マニュアル/ドキュメントでは、この例では、パッケージを決定するために all.lisp ファイルを使用しています (これには、それぞれの関数とパッケージのすべての情報が含まれていると想定します)。サブディレクトリ)。
私が知りたいのは、この all.lisp ファイルにすべての関数とパッケージの宣言を含める「適切な」方法は何かということです。そのサブディレクトリのすべての関数宣言を all.lisp ファイルに含めてから、asdf ファイルで register-system-packages 関数を使用しますか? または、all.lisp ファイルを省略して、コンパイラにファイルからパッケージを推測させることもできます (ただし、このシステムに追加するすべてのファイルに対して register-system-packages 関数を使用する必要があります)。
このシステムの使用の詳細と、システムに新しいファイルを追加するときに作成する必要があるファイルと宣言について、もっと知りたいと思っています。
質問が不透明で申し訳ありません。このシステムの詳細を把握できないようです
lisp - 大規模な Lisp アプリケーションの構造化
私は現在、パッケージ、システムなどに頭を悩ませようとしています。
パッケージ、システム、モジュール、ライブラリを読みました - WTF? 数回、私はまだそれを正しくするのに苦労していると思います.
Lispソースファイルを2つのファイルに分割したいだけで、一方が他方を「使用」する場合 - どうすればよいですか? このためのシステムを構築する必要がありますか? モジュールを使用する必要がありますか? …? 私は Node.js のバックグラウンドを持っています。
file にエクスポートされたものへの参照を取得しますfoo.js
。Lispでこれに最も近いものは何ですか?
ASDFはシステム用であり、少なくともそのドキュメントによると、Quicklispの一部としてバンドルされていることを理解しています。
ASDF は、アクティブな Common Lisp 実装の最近のすべてのリリースと、quicklisp […] にバンドルされています。
わかりました、Quicklisp はライブラリ用ですが、それらの関係は何ですか? Quicklisp は他の言語では「パッケージ マネージャー」のようなものですか? もしそうなら、ASDFは正確に何を提供しますか?
たくさんの質問をして申し訳ありませんが、Lisp アプリケーションを構築する方法を理解するのに苦労していることを示しているだけだと思います。どんな助けでも大歓迎です:-)
lisp - デフォルトシステムを上書きするQuicklisp
cl-json
実装が不十分なサーバーパーサーに使用する、わずかに変更されたバージョンがあります。試してみると(ql:quickload :cl-json)
、ローカルのハード ドライブに保存されている変更済みのバージョンではなく、サーバーに保存されているファイルが自然に読み込まれます。
ASDF モジュールに変換することを検討しましたが、すべてのソース コードに、(json:decode...)
動作しなくなるような参照が含まれています。
quicklisp に「サーバーからダウンロードするのではなく、あちらのディレクトリを使用してください」と伝えるにはどうすればよいですか?
common-lisp - sbcl repl で asdf の要求が失敗しました
次のエラーが発生します。どんな手掛かり?
CL-USER> (「asdf」が必要) NIL
しかし、ページ https://common-lisp.net/project/asdf/asdf.html#Loading-ASDFは言った
ASDF をロードする推奨される方法は次のとおりです。
(require "asdf") 現在アクティブに維持されているすべての Lisp 実装には、Common Lisp の require 関数を使用してこの方法でロードできる ASDF 3 のコピーが含まれています。
common-lisp - sbcl の asdf のアップグレードに失敗しました
ページhttps://common-lisp.net/project/asdf/asdf.html#Replaceing-your-implementation_0027s-ASDFが言ったように、asdfをバージョン3にアップグレードできませんでした
私の環境に問題はありますか?
CL-USER> (「/Users/james/Documents/workdir/lisp/source/asdf/tools/install-asdf.lisp」をロード)
/usr/local/lib/sbcl/contrib/ の TRUENAME が見つかりませんでした: そのようなファイルまたはディレクトリはありません [SB-INT タイプの条件: SIMPLE-FILE-ERROR]
再起動:
0: [RETRY] 現在のトップレベル フォームの EVAL を再試行します。
1:[続行] エラーを無視して、ファイル "/Users/james/Documents/workdir/lisp/source/asdf/tools/install-asdf.lisp" のロードを続行します。
2: [ABORT] ファイル "/Users/james/Documents/workdir/lisp/source/asdf/tools/install-asdf.lisp" の読み込みを中止します。
3: [RETRY] SLIME REPLの評価依頼をリトライします。
4: [*ABORT] SLIME のトップ レベルに戻ります。
5: [REMOVE-FD-HANDLER] # を削除
バックトレース:
0: (SB-IMPL::SIMPLE-FILE-PERROR "~A の TRUENAME が見つかりませんでした" #P"/usr/local/lib/sbcl/contrib/" 2)
1: ((FLET SB-IMPL::FAIL :IN SB-IMPL::QUERY-FILE-SYSTEM) "~A の TRUENAME が見つかりませんでした" #P"/usr/local/lib/sbcl/contrib/" 2 )
2: (SB-IMPL::QUERY-FILE-SYSTEM #P"/usr/local/lib/sbcl/contrib/" :TRUENAME T)
3: (TRUENAME #P"/usr/local/lib/sbcl/contrib/")
4: (ASDF/INTERFACE::MODULE-FASL "uiop")
5: (ASDF/インターフェース::INSTALL-UIOP-AND-ASDF-AS-モジュール)
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/インターフェース::INSTALL-UIOP-AND-ASDF-AS-モジュール) #)
7: (SB-IMPL::SIMPLE-EVAL-PROGN-BODY ((ASDF/INTERFACE::INSTALL-UIOP-AND-ASDF-AS-MODULES) (UIOP/IMAGE:QUIT)) #)
8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PROGN (ASDF/INTERFACE::INSTALL-UIOP-AND-ASDF-AS-MODULES) (UIOP/IMAGE:QUIT)) #)
9: (EVAL-TLF (PROGN (ASDF/インターフェース::INSTALL-UIOP-AND-ASDF-AS-モジュール) (UIOP/画像:終了)) 14 #)
10: ((FLET SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (PROGN (ASDF/INTERFACE::INSTALL-UIOP-AND-ASDF-AS-MODULES) (UIOP/画像:やめる))) 14)
11: (SB-INT:LOAD-AS-SOURCE # :VERBOSE NIL :PRINT NIL :CONTEXT "読み込み中")
12: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) # NIL)
13: (LOAD "/Users/james/Documents/workdir/lisp/source/asdf/tools/install-asdf.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
14: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LOAD "/Users/james/Documents/workdir/lisp/source/asdf/tools/install-asdf.lisp") #)
15: (EVAL (LOAD "/Users/james/Documents/workdir/lisp/source/asdf/tools/install-asdf.lisp")) --more--