CC3.lisp で始まる Lisp ソースをダウンロードします
(if (not (find-package "CC3"))
(defpackage "CC3"))
(in-package "CC3")
(export '(true false bogus rd sunday monday tuesday wednesday))
その他。
計算をテストするための test.lisp を書きたいと思います。
ASDF と言う人もいるかもしれませんが、初心者で 1 つの Lisp ファイルを使いたいだけです。
私を始めるためのいくつかのスクリプトを書く方法のヒント。私はそれが関与すると思う
- ファイルをロードする
- (パッケージ内...)
等
ただし、ASDF/Quick-Lisp が唯一の解決策である場合は、それも教えてください。
ありがとう。
=== 私は CCL (mac os x) の下でこのような asdf ワークフローをハックすることができました:
ソース ファイルを asdf ディレクトリに取得します。
(require 'asdf)
;;; but no central-registry
(setf asdf:*central-registry*
;; Default directories, usually just the ``current directory''
'(*default-pathname-defaults*
;; Additional places where ASDF can find
;; system definition files
#p"/Users/.../CC3-asdf/"
#p"/usr/share/common-lisp/systems/"))
その後、一度だけ実行する必要があるようです
これが必要です (ただし、.asd を使用しても、これが asdf にどのように関連するのかわかりません。それを Lisp ファイルとして使用し、すべて CCL エディターで実行してください)。
アストロ.asd
(defpackage #:astro-asd
(:use :cl :asdf))
(in-package :astro-asd)
(defsystem astro
:name "astro"
:serial t ;; the dependencies are linear.
:components ((:file "cc3.0.cl-loadpackage")
(:file "cc3.0.cl")
(:file "cc3.0.cl-testing")))
上記のファイルを CCL エディターで Lisp として実行した後 (すべて実行)、
このコマンドを CCL リスナーで実行します。
(asdf:operate 'asdf:load-op 'astro)
この後、このようなパッケージを使用するファイルを実行できます (コマンドラインから Lisp プログラムを起動するときにパッケージ名を指定するにはどうすればよいですか?で何が好きかを確認した後) が、これがどのように機能したかは実際にはわかりません。
cc3-testing.lisp:
cc3::ujjain
(cc3::hindu-sine-table 12)
(format T "sunset ~a~%" (CC3::sunset (CC3::fixed-from-gregorian (CC3::gregorian-date 1996 CC3::february 25)) CC3::jerusalem))
;;; (use-package "CC3") not working ... conflict ...
(in-package "CC3") ;;; work
(format T "~a~%" (sunset (fixed-from-gregorian (gregorian-date 1996 february 25)) jerusalem))
ディレクトリには現在
--astro-asdf
--- astro-load-central-registory.lisp
--- astro.asd
--- cc3-... other lisp.
--- cc3-testing.lisp
毎回 astro.ad を読み込んでから、その asdf コマンドを実行する必要があります。次に、cc3-testing.lisp を使用して cc3 システムをテストします。
その音は正しいですか?