ドキュメント
はじめかた
Gravity Lensing と area51 パッケージマネージャを使って Common Lisp プロジェクトを始めるために必要なすべて。
前提条件
area51 をインストールする前に、動作する Common Lisp 処理系が必要です。パフォーマンスと幅広い互換性から SBCL(Steel Bank Common Lisp)を推奨しますが、準拠する処理系であればどれでも使えます。
- SBCL — 推奨、ほとんどのプラットフォームで利用可能
- CCL (Clozure Common Lisp) — ネイティブスレッド対応の優れた選択肢
- ECL (Embeddable Common Lisp) — C にコンパイル、組み込み向け
- ABCL (Armed Bear Common Lisp) — JVM 上で動作
次のコマンドでインストールを確認してください:
sbcl --versionarea51 のインストール
area51 はランタイム依存なしの単一バイナリです。1つのコマンドでインストールできます:
curl -fsSL https://raw.githubusercontent.com/gr8distance/area51/main/install.sh | basharea51 バイナリが ~/.local/bin にインストールされます。PATH に含まれていることを確認してください。インストールの確認:
area51 --versionプロジェクトの作成
area51 new で新しい Common Lisp プロジェクトを作成します。開発に必要な標準的なプロジェクト構造が生成されます。
area51 new my-project
cd my-project生成される構造:
my-project/
area51.lisp # プロジェクトマニフェスト
my-project.asd # ASDF システム定義
src/
package.lisp # パッケージ定義
main.lisp # エントリーポイント
.gitignore- area51.lisp — プロジェクトマニフェスト。依存関係とメタデータを宣言。
- my-project.asd — ASDF システム定義。
area51 add/removeで自動更新。 - src/package.lisp — パッケージシンボルを定義・エクスポート。
- src/main.lisp — アプリケーションコードの開始点。
パッケージの追加
area51 add でパッケージを追加します。area51.lisp マニフェストと .asd システム定義の両方が自動更新されます。
area51 add alexandria
area51 add my-lib --github user/my-lib
area51 add some-lib --url https://example.com/lib.tar.gz次に area51 install を実行して、すべての依存関係を解決しダウンロードします:
area51 installarea51.lock ファイルが生成され、再現可能なビルドのために正確なバージョンが固定されます。ソースファイルでパッケージを使用できます:
(in-package :my-project)
(defun load-config (path)
(alexandria:read-file-into-string path))パッケージの閲覧
Web でパッケージを閲覧・検索できます: glensing.dev/packages.
現在のプロジェクトにインストールされているものを確認するには:
area51 list設定
area51 は設定とキャッシュをホームディレクトリに保存します。
~/.area51/
packages/ # ダウンロード済みパッケージ
quicklisp/ # キャッシュ済み Quicklisp インデックスパッケージは一度ダウンロードされるとここにキャッシュされます。Quicklisp インデックスは24時間ごとに自動更新されます。area51 clean でキャッシュ全体をクリアできます。
コマンドリファレンス
area51 の全コマンド一覧。
| コマンド | 説明 |
|---|---|
area51 new <name> | 新しい Common Lisp プロジェクトを作成 |
area51 add <pkg> | area51.lisp と .asd に依存関係を追加 |
area51 remove <pkg> | プロジェクトから依存関係を削除 |
area51 install | すべての依存関係を解決しダウンロード、ロックファイルを生成 |
area51 list | 宣言済み依存関係とそのステータスを一覧表示 |
area51 build | プロジェクトをスタンドアロンバイナリにビルド |
area51 run | プロジェクトのエントリーポイントをロードして実行 |
area51 test | プロジェクトのテストスイートを実行 |
area51 clean | パッケージキャッシュ (~/.area51/) をクリア |
area51 upgrade | area51 自体を最新バージョンに更新 |