Как интерпретировать полные программы в Ready Lisp? - PullRequest
3 голосов
/ 08 октября 2010

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

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

Ответы [ 2 ]

2 голосов
/ 08 октября 2010

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

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

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

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

Затем, указав точку на этой форме, нажать C-c C-c, переключитесь на REPL и попробуйте:

CL-USER> (square 3)
9
CL-USER>
2 голосов
/ 08 октября 2010

Common Lisp предоставляет функции LOAD и COMPILE-FILE .

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

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

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

...