Среда Clisp Q: Как запустить Clisp? A: Запустите файл clisp.exe Q: Как выйти из Clisp? A: Наберите (quit) и нажмите Enter. Q: Как загрузить в Clisp мой файл? A: 1. Перетащите его на clisp.exe. Clisp вычислит значения форм из файла и завершит работу. 2. Используйте (load "my file.lsp"). Clisp вычислит значения форм из файла и останется активным. Q: Clisp выдал сообщение об ошибке. Как сбросить выполнение? A: Clisp предлагает несколько вариантов - исправить ошибочное выражение, заменить его другим и т.д. Если нужно остановить выполнение, наберите abort. Q: Как отлаживать программу? A: 1. Используйте PRINT, чтобы отследить, когда программа вычисляет определенные выражения. значением PRINT является ее аргумент, поэтому можно заключать важные вызовы в PRINT. 2. Трассируйте нужные функции с помощью TRACE: (trace ). Каждый вход и выход в каждую трассируемую функцию будет отображен на экране. Чтобы прекратить трассировку какой-либо функции, используйте (untrace ). Полезные функции Q: Как ввести что-нибудь с клавиатуры? A: 1. Используйте (read) для ввода произвольного Lisp-объекта, например, a или (a v c d). 2. Используйте (read-line) для ввода строки произвольного формата. Q: Как напечатать что-нибудь? A: Используйте (print ). Q: Как работать с файлами? A: Хорошее руководство на английском языке: http://cl-cookbook.sourceforge.net/files.html Перед чтением/записью файл, как и в обычных языках, нужно открыть, а после - закрыть: (setq f1 (open "my data.file" :direction :input)) (setq f2 (open "another.file" :direction :output)) (close f1) (close f2) Файл можно читать так же, как стандартный ввод: (read-line f) Удобно отслеживать конец файла с помощью дополнительного аргумента READ-LINE: (read-line f 'foo). После чтения всех строк READ-LINE вернет его значение. READ-CHAR аналогична READ-LINE по параметрам, но читает из файла по одному символу. Q: Как работать со строками? A: Хорошее руководство на английском языке: http://cl-cookbook.sourceforge.net/strings.html Q: Где найти полное руководство и список функций? A: http://www.lispworks.com/documentation/HyperSpec/Front/