ドキュメント

はじめかた

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 --version

area51 のインストール

area51 はランタイム依存なしの単一バイナリです。1つのコマンドでインストールできます:

Shell
curl -fsSL https://raw.githubusercontent.com/gr8distance/area51/main/install.sh | bash

area51 バイナリが ~/.local/bin にインストールされます。PATH に含まれていることを確認してください。インストールの確認:

area51 --version

プロジェクトの作成

area51 new で新しい Common Lisp プロジェクトを作成します。開発に必要な標準的なプロジェクト構造が生成されます。

Shell
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.asdASDF システム定義。area51 add / remove で自動更新。
  • src/package.lispパッケージシンボルを定義・エクスポート。
  • src/main.lispアプリケーションコードの開始点。

パッケージの追加

area51 add でパッケージを追加します。area51.lisp マニフェストと .asd システム定義の両方が自動更新されます。

Shell
area51 add alexandria
area51 add my-lib --github user/my-lib
area51 add some-lib --url https://example.com/lib.tar.gz

次に area51 install を実行して、すべての依存関係を解決しダウンロードします:

Shell
area51 install

area51.lock ファイルが生成され、再現可能なビルドのために正確なバージョンが固定されます。ソースファイルでパッケージを使用できます:

src/main.lisp
(in-package :my-project)

(defun load-config (path)
  (alexandria:read-file-into-string path))

パッケージの閲覧

Web でパッケージを閲覧・検索できます: glensing.dev/packages.

現在のプロジェクトにインストールされているものを確認するには:

Shell
area51 list

設定

area51 は設定とキャッシュをホームディレクトリに保存します。

~/.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 upgradearea51 自体を最新バージョンに更新