Size: a a a

2021 April 16

VL

Valeriy L in Lisp Forever
а есть какой-то более удобный способ проверять наличие пакета, вместо find-package+find-symbol? я вот например хочу чтобы не бросалась ошибка если я хочу вызвать jsown:parse, а пакета jsown нету.
источник

a

akater in Lisp Forever
В терминах пакетов тут не надо думать, почти наверняка.
источник

a

akater in Lisp Forever
Если система может использовать тот или иной бэкенд в виде другой системы, то по-моему нормально решать, какой бэкенд используется, на этапе компиляции.  Но инфраструктура не особо располагает к этому.  Я сам решил отложить решение этих вопросов.  Можно проверять наличие системы в рантайме через asdf если уж она не отмечает себя в features, но я до сих пор не понимаю, где у asdf вообще список систем и всегда ли он полный.

Так или иначе, это скорее всего про системы, не про пакеты.
источник
2021 April 17

O

O in Lisp Forever
sbcl --noinform \
--no-sysinit \
--no-userinit \
--non-interactive \
--eval '(loop for pkg in (list-all-packages) do (format t "~A ~%" pkg))' \
| sort
источник

VL

Valeriy L in Lisp Forever
Спасибо, но мне нужно из кода
источник

VL

Valeriy L in Lisp Forever
Мне для конфига stumpwm
источник

A

Aragaer in Lisp Forever
ну тут как раз из кода все и делается
источник

VL

Valeriy L in Lisp Forever
Хочу чтобы некоторые команды просто nil возвращали если пакета нету
источник

O

O in Lisp Forever
(list-all-packages)

Или
#+package
источник

VL

Valeriy L in Lisp Forever
Второй вариант разве не features проверяет
источник

VL

Valeriy L in Lisp Forever
Проблема в удобной записи. Двоеточие это фича ридера; я не могу сделать when find-package then my-package:symbol
источник

VL

Valeriy L in Lisp Forever
Мне приходится вызывать find-symbol, связывать символ с лексической переменной и юзать funcall (речь о функции)
источник

VL

Valeriy L in Lisp Forever
Я вот вопрос был скорее такой: можно ли на этапе ридера проверять наличие пакета
источник

VL

Valeriy L in Lisp Forever
Или может мне вручную на этапе компиляции добавлять :jsown в *features*
источник

VL

Valeriy L in Lisp Forever
Точнее создания image
источник

SA

Sokolov Andrew in Lisp Forever
Ты можешь сделать read time eval
источник

VL

Valeriy L in Lisp Forever
Который #.form?
источник

SA

Sokolov Andrew in Lisp Forever
Да
источник

SA

Sokolov Andrew in Lisp Forever
Если твоя проверка выдает ошибку когда пакета нет
источник

SA

Sokolov Andrew in Lisp Forever
То можешь также туда же сунуть ну допустим ignore errors чтоб был нил вместо нее
источник