29 июля 2011

Common Lisp. SBCL. Ускорение загрузки фреймворков.

Updated!
Ниже перечисленное работает для cl-gtk2:) И работает для restas:)
Для удобства запуска cl-gtk2 следует запустить sbcl, загрузить библиотеку и сохранить cl-машину в таком состоянии.

$ sbcl --no-userinit 
* (require :asdf) 
* (asdf:load-system :cl-gtk2) 
* (sb-ext:save-lisp-and-die "sbcl-gtk-image" :executable t) 

Для restas


$ sbcl --no-userinit 
* (require :asdf) 
* (asdf:load-system :restas) 
* (sb-ext:save-lisp-and-die "sbcl-restas" :executable t)


Затем в редакторе emacs настроить несколько cl-машин для slime.

(setq slime-lisp-implementations 
 '((sbcl ("sbcl")) 
 (sbcl-gtk ("sbcl-gtk-image")) 
 (sbcl-restas ("sbcl-restas"))
 (clisp ("clisp" "-ansi" "-K" "full" "-I"))))


Для запуска slime с выбором cl-машины.

C-u - M-x slime RET 

4 комментария:

  1. Враки! Работает это для cl-gtk2. http://andy128k.github.com/PassStorage/

    Иначе работать с cl-gtk2 не было бы никакой возможности.

    ОтветитьУдалить
  2. WARNING: GType GdkWindow is not known to GObject
    Такой вот ворнинг после загрузки сохраненного образа.
    cl-gtk2 из quicklisp-a 20110418

    ОтветитьУдалить
  3. Этот warning отладочный. Он сообщает, что лисп-класс для GdkWindow ещё не создан. Что в общем-то нормально.

    ОтветитьУдалить
  4. Спасибо. Тогда, быстренько, пока никто не заметил, поправлю пост.

    ОтветитьУдалить