ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Предикат в Лиспе - это функция,которая определяет обладает ли аргумент определенным свойством, и возвращает в качестве значения T или NIL.ДЖОН АВ13 В54 10А Символьный атом или символ - это не идентификатор переменой в обычном языке программирования. Символ как правило обозначает какой либо предмет, объект, вещь, действие. Символьный атом рассматривается как неделимое целое. К символьным атомам применяется только одна операция - сравнение.
5. Что такое чистый функциональный язык? Пример чистого и «нечистого» языка. В чистом функциональном программировании оператор присваивания отсутствует, объекты нельзя изменять и уничтожать, можно только создавать новые путем декомпозиции и синтеза существующих. О ненужных объектах позаботится встроенный в язык сборщик мусора. Благодаря этому в чистых функциональных языках все функции свободны от побочных эффектов.
В качестве примера чистого функционального языка можно привести Haskell. Однако большинство функциональных языков являются гибридными и содержат свойства как функциональных, так и императивных языков. Яркие примеры — языки Scala и Nemerle. В них органично сочетаются характеристики как объектно-ориентированных языков, так и функциональных.
6. Как отразился на функциональных языках тот факт, что лямбда-исчисление было придумано математиком?
7. Бесконечные структуры данных: где возможно использовать. Ленивые языки позволяют определять бесконечные структуры данных, что в энергичных языках сделать гораздо тяжелее. Например, рассмотрим список чисел Фибоначчи. Мы, очевидно, не можем вычислить бесконечный список за конечное время или сохранить его в памяти. В таких строгих языках, как Ява, мы просто определяем функцию, возвращающую определённое число из этой последовательности. В языке, подобном Хаскелю, мы можем переместиться на следующую ступеньку абстракции и просто определить бесконечный список чисел Фибоначчи. Поскольку язык ленивый, то на самом деле будут использованы только те элементы, которые реально использовались в программе. Этот приём позволяет избежать множества проблем и мелких частных случаев, и даёт возможность взглянуть на вещи с более общей точки зрения (например, можно использовать стандартные списочные функции для обработки бесконечных списков). 8. Что такое предикат? Какие из перечисленных функций являются предикатами: atom, listp, list, car, append? Предикат в Лиспе - это функция,которая определяет обладает ли аргумент определенным свойством, и возвращает в качестве значения T или NIL. ATOM проверяет, является ли аргумент атомом. Значение будет Т, если атом, и nil в обратном случае: (atom 'x)
9. Что такое взаимная рекурсия? взаимную рекурсию, когда в определении функции f вызывается некоторая функция g, которая в свою очередь содержит вызов функции f: (… defmethod f …
Рекурсия является взаимной между двумя или более функциями, если они вызывают друг друга.
10. Что называют функциями с побочными эффектами? Функции set и setq обладают и побочным эффектом. Эффект функции состоит в образовании связи между символом и его значением, а значением функции является связываемое значение. Символ остаётся связанным с определённым значением до тех пор, пока это значение не изменят. 11. Чем отличаются S-выражения и списки? Основу ЛИСПа составляют символьные выражения, которые S-выражение (Simbolic expresion) - основная структура данных S-выражение - это либо атом, либо список. Не нашли, что искали? Воспользуйтесь поиском:
|