- •1) Рекурсия в программировании
- •4) Основы языка Лисп
- •5)Цикл в Лиспе
- •6. Рекурсии в Прологе.
- •7.Факты в Прологе
- •9. Списки в Прологе.
- •10. Списки в Лиспе
- •11. Типы данных Turbo Prolog
- •12. Типы данных в Лиспе
- •13. Опции главного меню.
- •14.Работа с экраном в Лиспе
- •15.Интеллектуальные экспертные системы
- •17)Префиксная нотация.
- •18. Система предикатов
- •21) Элементы структурного программирования
- •22)Факты, вопросы, правила.
- •24) Функции, определенные пользователем
- •26. Ввод-вывод в Лиспе.
- •27) Ввод и вывод в Турбо-Прологе
- •28)Правила в Лиспе
- •30) Функционалы в Лиспе
- •31) Разрушающие функции
- •32. Логические константы в Лисп.
- •33) Управляющая структура cond в Лисп
- •34. Циклы в Лисп
12. Типы данных в Лиспе
Атомы и списки являются основными типами данных в Лиспе.
Определение .Списком в Лиспе называется упорядоченная последовательность S-выражений, заключенная в круглые скобки. Элементы списка отделяются друг от друга пробелами.
Пример:
(a b c) список из 3 элементов
((a b c )) список из одного элемента
((a b)c) список из 2 элементов
Одной из отличительных особенностей Лиспа является единая-форма представления данных и программного кода (функций). Для обозначения списка, используемого как данные, и блокировки вычислений в Лиспе определена функция QUOTE (вnewLISP-tk quote пишетсястрочнымибуквами) :
(QUOTE (a b c)) ⇔‘(a b c)
(a b c)–вызов функции с именем a и фактическими параметрами b,c.
13. Опции главного меню.
Редактор muLISP очищает экран, рисует рамку и выдает на экран основное меню:
Edit, Print, Screen, Lisp, Quit:
Затем система ждет, пока пользователь не выберет одну из опций путем ввода первой буквы ее имени (E, P, S, L или Q).
Перечислим назначение основных пунктов меню:
Edit - выдает на экран подсказку Edit file: и ждет, пока пользователь не введет имя файла, который требуется отредактировать. Если вы передумали, то просто нажмите клавишу Enter для выхода в главное меню. В противном случае, введите имя файла (например, C:EXPERT.LSP) и нажмите Enter. По умолчанию используется тип файла LSP, а также зарегистрированное устройство. Редактор считает и выдаст на экран файл, "перебросив" курсор в верхний левый угол экрана;
Print - выдает на экран подсказку Print file: и ждет, пока пользователь не введет имя файла для печати. Если вы передумали, нажмите клавишу Enter для выхода в главное меню. В противном случае введите имя файла и нажмите Enter, предварительно убедившись, что печатающее устройство готово к работе. Редактор приступит к печати файла;
Screen - выдает на экран подсказку Full, Vertical, Horizontal: и ждет, пока пользователь не выберет одну из опций (F, V или H):
Full screen (полный экран) использует для редактирования полный экран;
Vertical split screen (вертикальный экран) использует правую половину экрана для редактирования, а левую - для отладки;
Horizontal split screen (горизонтальный экран) использует верхнюю половину экрана для редактирования, а левую - для отладки.
Если вам нужно поменять экран, нажмите клавишу пробел;
Lisp - завершает работу редактора; на экране появляется знак доллара. По завершении работы в среде muLISP вы можете вернуться в редактор по команде (RETURN);
Quit - завершает работу редактора и системы muLISP и передает управление операционной системе.
14.Работа с экраном в Лиспе
Stumpwm — фреймовый оконный менеджер для X11, написанный на Common Lisp.
Окна располагаются в неперекрывающихся фреймах (за исключением диалоговых сообщений). Можно переключаться между несколькими окнами в пределах каждого фрейма. Новые фреймы создаются путём деления уже существующих и изменения их размеров. Окна можно объединять в группы, получая таким образом аналог виртуальных рабочих столов.
Stumpwm также предлагает возможность вывода строки состояния в верхней или нижней части экрана, на которой может быть отражена любая информация. В состав Stumpwm входит набор модулей, которые предоставляют базовые индикаторы для строки состояния (загрузка процессора, памяти, Wifi-сети и др.)
С помощью Xinerama можно использовать менеджер с несколькими физическими экранами.
Благодаря использованию Common Lisp в качестве языка реализации, вся функциональность Stumpwm может быть изменена прямо во время работы менеджера с помощью встроенного REPL или через SLIME.