1

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 システムをテストします。

その音は正しいですか?

4

1 に答える 1