Регистрация | Войти
Lisp — программируемый язык программирования
RSS
Ханчентуция
condemetrius - 27.12.2009 23:08, Сообщений - 11
После компиляции кода, запускающего сабж, такое ощущение что процесс "уходит" в idle: все дальнейшие команды на компиляцию (файла или функции) выводят "; pipelined request...", но ничего не происходит. Опытным путём установлено, что можно убить процесс (C-c C-b) + "abort", после чего перекомпилировать.
А как же Интерактивная Разработка? Как так запустить сервер отдельно от слайма, чтоб он не мешал компилировать и сразу видеть изменения в браузере? Или может быть как-то перевести его в фоновый режим?
[#]
Что за реализация? Подозреваю, что clisp, или sbcl без потоков. Нужна реализация с потоками.
archimag - 27.12.2009 23:47
[#]
sbcl из репозитория убунты 1:1.0.18.0-2
condemetrius - 29.12.2009 22:05
[#]
> sbcl из репозитория убунты 1:1.0.18.0-2

Насколько я знаю, в репозитории Ubuntu SBCL без потоков, надо скачать исходники и собрать самому, это не сложно. Сам я правда этого не делал (ибо у меня Gentoo), но один знакомый, начинающий и в CL и в Linux смог разобраться без особых проблем.
archimag - 29.12.2009 22:16
[#]
Собрал, но никакой разницы. Можно спросить у sbcl, какой он версии?
condemetrius - 30.12.2009 14:05
[#]
Точнее, не исходники, а скомпиленные для линукса бинарники. Но исходники там той же самой последней версии. Наверное, это равноценно. :)
condemetrius - 30.12.2009 14:08
[#]
> Можно спросить у sbcl, какой он версии?

Ну, дык
sbcl --version

Вообще, надо смотреть переменную *features* на предмет если ли поддержка потоков.

(find :sb-thread  *features*)

Что показывает этот код?
archimag - 30.12.2009 17:19
[#]
Итак, версия sbcl = 1.0.33
Поиск по фичам возвращает NIL.
condemetrius - 30.12.2009 17:37
[#]
> Поиск по фичам возвращает NIL.

Значит потоков нет. Либо неправильно собрал, либо неправильно установил :)
archimag - 30.12.2009 21:39
[#]
Убрал то, что установила убунта, переустановил бинарники, добавил в ~/.sbclrc:
(pushnew :sb-thread *features*)
В итоге если запустить sbcl из терминала, то :sb-thread  в *features* есть, а если через "clbuild slime", то не находит. Не пойму, откуда ж тогда оно грузится?
condemetrius - 02.01.2010 00:56
[#]
>Убрал то, что установила убунта, переустановил бинарники, добавил в ~/.sbclrc:
>(pushnew :sb-thread *features*)

Многопоточность включается при сборке sbcl (и включена по умолчанию начиная с версии 1.0.34 для Linux x86(_64)).

>В итоге если запустить sbcl из терминала, то :sb-thread  в *features* есть, а если через "clbuild slime", то не находит. Не пойму, >откуда ж тогда оно грузится?

clbuild по умолчанию игнорирует ~/.sbclrc. Что бы перестал надо создать в директории с оным файл clbuild.conf (есть болванка clbuild.conf.defauld) и заменть в USER_INIT на что то отличное от /dev/null.

Как, кастати, запускается slime: ./clbuild slime али по другому?

marsijanin - 02.01.2010 10:59
[#]
начиная с версии 1.0.34 для Linux x86(_64)
которая, оказывается, 30 декабря вышла. "А мужики-то не знают!" (с) Стащил, поставил, вуаля:
CL-USER> (find :sb-thread *features*)    => :SB-THREAD
^_^
condemetrius - 02.01.2010 14:39
@2009-2010 lisper.ru