Использование `qlot` из Lisp REPL

Я заинтересован в использовании библиотеки qlot из образа Lisp для управления несколькими локальными экземплярами quicklisp .

Кажется, нет никакой документации о том, как его использовать, кроме как через интерфейс CLI, отличный от Lisp, и очевидный

(qlot:with-local-quicklisp (#P"/a/path/here/") (qlot:install :skippy))

or

(qlot:with-local-quicklisp (#P"/a/path/here/") (qlot:quickload :skippy))

дай мне

Component "skippy" not found
   [Condition of type ASDF/FIND-SYSTEM:MISSING-COMPONENT]

Я ищу способ установить конкретную библиотеку по имени. По сути, именно так можно было бы использовать ql:quickload, но ориентируясь на конкретный локальный каталог вместо ~/quicklisp. Что я делаю неправильно?


person Inaimathi    schedule 24.03.2018    source источник


Ответы (1)


Похоже, цель состоит в том, чтобы изменить переменные с динамической областью таким образом, чтобы сделать возможным прямое использование ql:quickload.

So

(qlot:with-local-quicklisp (#P"/a/path/to/some/quicklisp/")
  (qlot/util:with-package-functions :ql (quickload)
    (quickload :skippy)))

приведет к тому, что skippy будет установлен в экземпляре quicklisp в #P"/a/path/to/some/quicklisp/" вместо расположения по умолчанию.

Это оставляет меня немного озадаченным относительно того, для чего предназначено qlot:quickload; его вывод describe не проливает дополнительный свет.

person Inaimathi    schedule 24.03.2018