Ответ

#  Re: LISP
Andrew Lobanov (station13, 1) → Difrex   –  09:39:26 2015-12-02

Difrex> Глянул на CL -- это прямо то, что нужно! Синтаксис еще долбанутей перла, я такое люблю! Начал читать Practical Common Lisp. Но это все нудно. Я люблю учить что-то новое через реальные задачи, а не базу ЦД.

Базу ЦД из PCL рекомендую всё таки разобрать. Хорошее погружение, так сказать.

Difrex> Такой вот очень нубский вопрос: как скомпилить файл в нативный бинарь? Как запустить файл в интерпретаторе(не в REPL (load "filename"))?

Нативный бинарь у лиспа это очень своеобразная штука. По крайней мере у SBCL. Это по своей сути упакованная в один файл лисп-машина и core dump всего загруженного на момент "компиляции". В итоге бинари толстые.

На примере SBCL это выглядит так:

====
* (sb-ext:save-lisp-and-die "bin-name" :executable t :top-level 'function-name)
====


Всё, что выполняется вне функций упихиваешь в функцию (например (defun main () ...)). Тогда :top-level 'main будет. А :executable отвечает за конечный результат: бинарь дампа или лисп-машину туда присобачить.

>> Читать далее