Я пытаюсь использовать пакеты Common Lisp, но у меня есть несколько проблем (возможно, соглашений об именах), во-первых, это использование "#:", это кажется необязательным, но похоже на sharp-quote в функциях , которыеЛучше использовать в зависимости от вашего контекста.
(defpackage #:match-test
(:use #:match
#:fiveam
#:cl)
(:export #:run!
#:test-match)
(:documentation "Test package for testing match project 1 of CS202"))
Тогда в том, как использовать этот пакет
(in-package #:match-test)
(in-package :match-test)
(in-package match-test)
, он работает, но когда я хочу удалить этот пакет, он работает только с:
CL-USER> (delete-package (in-package #:match-test))
#<BOOLEAN <<error printing object>> {2010004F}>
выдает эту ошибку, но выполняет работу.Кажется, что работа с пакетом как объектом, я также не понимаю, hyperspec , это проблема, которая мне нужна для изучения CLOS, это правда, я новичок в изучении Lisp, но я полагаю, что яможно легко прояснить мои сомнения.
Надеюсь, я сказал это совершенно ясно.
Наконец, я хочу сказать, что я использовал emacs + sly + roswell и
CL-USER> (lisp-implementation-type)
"SBCL"
CL-USER> (lisp-implementation-version)
"1.4.6"