lisp

環境構築

roswell をパッケージマネージャでインストールする。

環境を下記を参考に作成した。

  1. Common Lisp開発序ノ口 〜プロジェクトの作成と実行〜 – Lambdaカクテル

ローカルプロジェクトの管理方法は下記を参考にした。

  1. Roswell 環境下でのローカル・プロジェクト管理入門 · wshito’s diary

仮想環境(?)にありがちな、プロジェクト毎ライブラリ管理。

  1. fukamachi/qlot: A project-local library installer for Common Lisp

ros install qlot でインストールする。試しに下記をインストールする。

  1. sharplispers/ironclad: A cryptographic toolkit written in Common Lisp

qlot add ironclad

hogeproject.asd と main.lisp を編集する.

(defsystem "hogeproject"
  :version "0.1.0"
  :author "Windymelt"
  :license ""
  :depends-on ("ironclad")
  :components ((:module "src"
                :components
                ((:file "main"))))
  :description ""
  :in-order-to ((test-op (test-op "hogeproject/tests"))))

(defsystem "hogeproject/tests"
  :author "Windymelt"
  :license ""
  :depends-on ("hogeproject"
               "rove")
  :components ((:module "tests"
                :components
                ((:file "main"))))
  :description "Test system for hogeproject"
  :perform (test-op (op c) (symbol-call :rove :run c)))

(defpackage hogeproject
  (:use :cl) ;; あるいはここに :ironclad を追加
  (:export :hoge))
(in-package :hogeproject)

;; blah blah blah.
(defun hoge ()
  (ironclad:make-digest :shake256 :output-length 22)
  (format t "ddd"))

書籍