Начинаю осваивать CommonLisp и Lispworks. С теми примерами, которые в документации, никаких проблем не возникает - все работает. А вот захотел поэкспериментировать, загрузил примерчик с Вашего сайта (ex-1251), и компилятор говорит, что не может найти пакет "PDF". Библиотеку CL-PDF я скачал и поместил в \LispWorks Personal\lib\. Путь до нее прописал в системной переменной path, но результат тот же. Может в коде нужно что то еще прописать?
Папка \LispWorks Personal\lib\ не имеет ничего общего в переменной окружения path. Чтобы загрузить CL-PDF, требуется - развернуть её в собственную папку, куда - не важно, - загрузить cl-pdf.asd и откомпилировать CL-PDF через ASDF (встроен в версию LW6.1).
В разработке я предпочитаю встроенный в LW defsystem, а ASDF использую только для распространения готовых библиотек. Моё определение системы прилагаюя в виде файла defsys.lisp, который следует поместиь в корень папки, развёрнуты файлы CL-PDF.
Версия с fractalconcepts требует ещё библиотеки ITERATE. В версии для себя я от неё избавился, переписав код через LOOP, но Вам лучше выкачать ITERATE.и загружать её перед CL-PDF,
Библиотека ITERATE присутствует в каталоге \CL-PDF\ITERATE\ изначально, при развертывании CL-PDF. Может дело в переменной *load-truename*, которая имеет значение NIL?
*load-truename* действительно есть NIL, когда оценивание происходит в листенере, ибо с потоком листенера не связан никакой файл.
Но будучи внутри формы загружаемого файла, *load-truename* дает путь к нему. При оценвании отдельной формы в редакторе, вроде Evaluate Region, эта переменная должна иметь значение, если c буфером связан файл, т.е. буфер был загружен или уже сохранен.
Замечу, что вопрос имеет малое отношение к CL-PDF.
если файл iterate.asd имеется, путь до него правильный, компилирую я правильно (через ASDF)? В чем ошибка? Конечно, это имеет малое отношение к CL-PDF, я всего лишь на его примере хочу разобраться с подключением сторонних библиотек. Хотя, сама библиотека CL-PDF, тоже, очень интересна.
Вообще, файлы определения систем обычно не компилируют, а только загружают в исходном виде. По-видимому, при компиляции и загрузке буфера, связь с файлом теряется.
Что касается оценивания отдельной строчки, это проблемы с iterate. Возможно определние делается не в том пакете. Често говоря, проблемы iterate мне не интересны
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения