2010-10-08 3 views
3

Я только что загрузил Ready Lisp, и я играю с REPL. Я хочу знать, как написать длинную программу, интерпретировать ее и получить результат? Похоже на то, что у PLT Scheme.Как интерпретировать полные программы в Ready Lisp?

Я бы хотел сделать это с минимальным количеством хлопот, если это возможно. Просто хочу пообщаться с книгой, которую я читаю. Благодарю.

ответ

2

Генеральный Лисп предоставляет функции LOAD и COMPILE-FILE.

  • LOAD загрузит Lisp текстовый исходный код или скомпилированные файлы и выполнять их. Любая сделанная печать переходит к обычным выходным потокам.

  • COMPILE-FILE позволяет сгенерировать скомпилированный файл из файла с исходным кодом Lisp. Имеет то преимущество, что программы, как правило, работают быстрее при использовании компилятора файлов, а компилятор выполняет некоторую проверку и может давать подсказки по оптимизации. Многие реализации будут генерировать собственный машинный код. Затем файл, созданный с помощью COMPILE-FILE, может быть загружен с помощью LOAD.

Обратите внимание, что в Common Lisp обычно используется работающий Lisp для компиляции и загрузки кода. В PLT-схеме используемая модель заключается в том, что при каждом запуске код запускается на новой Схеме. Это может помочь новичкам, но часто это пустая трата времени для написания более крупного программного обеспечения.

2

Вы открываете новый файл (example.lisp), введите ваш исходный код, а затем сделать C-c C-c скомпилировать и загрузить одну форму верхнего уровня, или C-c C-k скомпилировать и загрузить весь файл.

«Скомпилировать и загрузить» означает, что изображение работает. Вам не нужно перекомпилировать все после небольшой модификации, но только форму defun. Затем вы можете переключиться на REPL и попробовать.

Например, можно ввести эту форму в исходный файл:

(defun square (n) 
    (* n n)) 

Затем с точкой в ​​этой форме, нажмите C-c C-c, переключитесь на РЕПЛ, и попробовать его:

CL-USER> (square 3) 
9 
CL-USER>