[Comm] Запуск LISP-программ
JCU Librarian
=?iso-8859-1?q?collector_=CE=C1_jedi=2Eorg=2Eua?=
Вс Май 18 17:54:47 MSD 2003
On Sun, May 18, 2003 at 09:34:25PM +0800, Pavel Stupin wrote:
> Спасибо что откликнулись! ...
> Кстати, вы с этой программой тоже работали?
Нет, я пишу на лиспе, но Ideal'ом ни разу не пользовался. Вот
сейчас его вытащил, посмотрел -- оказывается это довольно старый
пакет, его нужно адаптировать.
>
> В общем, поставил sbcl --- теперь при
> "sbcl --load load-ideal.lisp" получаю:
>
> _____________________________________________________________
> debugger invoked on condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR:
> The name :USER does not designate any package.
> ...
> restarts:
> 0: [CONTINUE] Continue anyway (skipping to toplevel read/eval/print
> loop).
> 1: [QUIT ] Quit SBCL (calling #'QUIT, killing the process).
> (SB-INT:%FIND-PACKAGE-OR-LOSE 1 :USER)[:EXTERNAL]
> 0] SB-EXT:QUIT
> _____________________________________________________________
>
> То есть у меня, видимо, нет этого пакета USER? В начале запускаемого
> файла есть такие строки:
Тут проблема в том, что в стандарте не указано как должно
называться просторанство имен пользователя. У кого-то это USER, у
кого-то -- CL-USER... Насколько я успел посмотреть код, он
запускался под коммерческими Allegro CL & Lucid Works. Он и
сейчас под ними запустится, и даже с графикой (полных свободных
реализаций CLIM не существует :( ), но они стоят дорогих денег.
Пока что очевидно что нужно заменить определения
(in-package :user)
на
(in-package :cl-user)
а там уже дополировывать.
> _____________________________________________________________
> ;;; -*- Mode: LISP; Syntax: Common-lisp; Package: USER -*-
> (in-package :user)
> _____________________________________________________________
>
> Его нужно как-то отдельно доустанавливать?
Нет, в данном случае это namespace в который загружаются новые
определения.
> И когда пытаюсь запустить какие-то функции Ideal, которые описаны в
> мануале, то получаю "undefined function" и "undefined variable" (видимо,
> потому что нет USER?).
Это потому что они не загрузились с самого начала...
> Кстати, как нужно правильно запускать функции в LISP?
> В таком виде?: (function_name variable_name)
Ага. Лисп весь такой. Если появится желание изучить этот язык --
пишите, я подскажу где взять литературу.
Sincerely,
--Victor
Подробная информация о списке рассылки community