 |
поддержка курса
Основы функционального программирования
информация
[-]
информация
[+]
Автор:
Л.В. Городняя
| ISBN: 978-5-9556-0008-6
|
?
|
Уровень: для специалистов
||
Статус: бесплатный
||
Опубликован: 19.03.2004
Рейтинг: 4.09
||
Популярность: 16
||
Студентов: 21461/153
|
| | # | Ключевое слово | № лекции (страницы) |
| A |
| | append |
3 (3),
| | | |
... APPEND — функция двух аргументов x и y, сцепляющая два списка в один ...
лекция 3,
страница 3 »
| |
| | apply |
3 (4),
| |
| B |
| | bootstrapping |
8 (1),
| | | |
... Компилятору была дана команда скомпилировать себя самого. Данная операция называется раскруткой ( bootstrapping ). На это потребовалось более 5 минут на IBM 7090, поскольку значительная часть компилятора в основном интерпретировалась. В результате было создано эффективное расширение Лисп-системы, способное компилировать Лисп-программы и строить расширения Лисп-интерпретатора ...
лекция 8,
страница 1 »
| |
| C |
| | catch |
11 (2),
| |
| | cmucl |
15 (2),
| |
| | Common Lisp |
15 (2),
| |
| | compile |
8 (1),
| | | |
... Компилятор вызывается псевдо-функцией COMPILE. Аргумент COMPILE — список названий функций, которые следует компилировать. Каждый атом в списке должен иметь определение функции в своем списке свойств до компиляции ...
лекция 8,
страница 1 »
| |
| | concatenate |
11 (3),
| | | |
... Concatenate — строит новую последовательность заданного типа из своих аргументов, начиная со второго, при этом копирует их, кроме последнего. Для списков имеет деструктивный аналог — nconc ...
лекция 11,
страница 3 »
| |
| | cond |
6 (1, 5),
| |
| D |
| | declare |
8 (2),
| |
| | defconstant |
5 (2),
| |
| | defparameter |
5 (2),
| |
| | defun |
3 (4),
| |
| | delete |
11 (3),
| | | |
... Delete — строит последовательность из элементов второго аргумента за исключением совпадающих с первым аргументом. Имеет деструктивный аналог — remove ...
лекция 11,
страница 3 »
| |
| E |
| | elt |
11 (3),
| | | |
... Elt — выдает элемент последовательности по заданному номеру ...
лекция 11,
страница 3 »
| |
| | evcon |
3 (4),
| |
| | evlis |
3 (4),
| |
| F |
| | find |
11 (3),
| | | |
... Find — отыскивает заданный символ в последовательности, можно управлять направлением поиска ...
лекция 11,
страница 3 »
| |
| | flet |
5 (3),
| | | |
... FLET — специальная функция, позволяющая вводить локальные нерекурсивные функции ...
лекция 5,
страница 3 »
| |
| | funcall |
5 (3),
| |
| | function |
5 (3),
8 (2),
| |
| G |
| | get |
6 (2),
| | | |
... С помощью функции GET в форме (GET x i) можно найти для атома x свойство, индикатор которого равен i ...
лекция 6,
страница 2 »
| |
| | GNU Clisp |
15 (2),
| | | |
... По мере накопления опыта реализации СФП на базе Лиспа и других языков сформированы обширные библиотеки функций, весьма эффективно поддерживающих обработку основных структур данных — списков, векторов, множеств, хэш-таблиц, а также строк, файлов, каталогов, гипертекстов, изображений. Существенно повысилась результативность системных решений в области работы с памятью, компиляцией, манипулирования пакетами функций и классами объектов.
Все это доступно в современных СФП, таких как GNU Clisp , Python, Cmucl и др., основная проблема при изучении которых — слишком много всего, разбегаются глаза, трудно выбрать первоочередное. Хочется найти пересечение со знакомыми программами и воспроизвести любимые приемы в новой стилистике — естественный путь для решения задач функционального моделирования ...
лекция 15,
страница 2 »
| |
| | go |
6 (1),
| | | |
... GO -форма, используемая для указания перехода (GO A) указывает, что программа продолжается оператором, помеченным
атомом A, причем это A может быть и из внешнего выражения PROG ...
лекция 6,
страница 1 »
| |
| I |
| | insert |
3 (3),
| | | |
... INSERT — вставка z перед вхождением ключа x в список al ...
лекция 3,
страница 3 »
| |
| | intersection |
5 (1),
| |
| | Intersection |
11 (3),
| | | |
... Intersection — пересечение множеств — строит список элементов первого, входящих во второй аргумент. Имеет деструктивный аналог — nintersection ...
лекция 11,
страница 3 »
| |
| L |
| | labels |
5 (3),
| |
| | lazy evaluation |
12 (1),
| | | |
... В некоторых языках программирования, таких как язык SAIL, Hope и Haskell, отложенные или замедленные вычисления — lazy evaluation основная модель вычислений ...
лекция 12,
страница 1 »
| |
| | length |
6 (1),
| |
| | let |
5 (2),
| |
| | Lisp |
14 (2),
| |
| | Lisp 1.5 |
15 (2),
| | | |
... Во всей полноте идеи функционального программирования поддержаны в проекте Lisp 1.5 , выполненном Дж. Маккарти и его коллегами. В этом исключительно мощном языке не только реализованы основные средства, обеспечившие практичность и результативность функционального программирования, но и впервые опробован целый ряд поразительно точных построений, ценных как концептуально, так и методически и конструктивно, понимание и осмысление которых слишком отстает от практики применения.
Понятийно-функциональный потенциал языка Lisp 1.5 в значительной мере унаследован стандартом Common Lisp , но многие идеи пока не получили достойного развития. Вероятно, это дело будущего — для нового поколения системных программистов ...
лекция 15,
страница 2 »
| |
| | load |
5 (1),
| |
| M |
| | map |
4 (4),
11 (3),
| | | |
... Map — отображает с помощью данной функции ряд последовательностей в новую последовательность типа, заданного первым аргументом. Отображающая функция — второй аргумент. Кратность применения отображающей функции определяется длиной кратчайшего аргумента, начиная с третьего. Имеет деструктивный аналог map-into, строящий результат из первого аргумента ...
лекция 11,
страница 3 »
| |
| | mapc |
4 (4),
| |
| | mapcan |
4 (4),
| |
| | mapcar |
4 (4),
| |
| | mapcon |
4 (4),
| |
| | maphash |
11 (3),
| | | |
... Maphash — методично применяет отображающую функцию двух аргументов к каждой паре из ключа и соответствующего значения в хэш-таблице ...
лекция 11,
страница 3 »
| |
| | map-into |
11 (3),
| |
| | mapl |
4 (4),
| |
| | maplist |
4 (4),
8 (2),
| |
| | member |
3 (3),
5 (1),
11 (3),
| | | |
... MEMBER — функция двух аргументов x и y, выясняющая, встречается ли S-выражение x среди элементов списка y ...
лекция 3,
страница 3 »
... Member — выделяет часть списка, начиная с заданного объекта, NIL — если такого объекта в списке нет ...
лекция 11,
страница 3 »
| |
| P |
| | Position |
11 (3),
| | | |
... Position — выдает номер позиции первого вхождения заданного символа в последовательность ...
лекция 11,
страница 3 »
| |
| | print |
5 (1),
| |
| | prog2 |
6 (4),
| | | |
... PROG2 — функция, вычисляющая свои аргументы. Ее значение — второй аргумент ...
лекция 6,
страница 4 »
| |
| | prog-форма |
6 (1, 5),
| | | |
... Важнейшее такого рода средство, выдержавшее испытание временем — prog-форма, списки свойств
атома и деструктивные операции, расширяющие язык программирования так, что становятся возможными
оптимизирующие преобразования структур данных, программ и процессов, а главное — раскрутка систем
программирования
[1]
...
лекция 6,
страница 1 »
... Prog-форма
имеет структуру, подобную определениям функций и процедур в Паскале: ( PROG, список рабочих переменных, последовательность операторов и атомов ...) Атом в списке является меткой, локализующей
оператор, расположенный вслед за ним. В приведенном примере метка A локализует оператор, начинающийся
с COND ...
лекция 6,
страница 1 »
| |
| | Pure Lisp |
15 (1, 2),
| | | |
... Элементарный Лисп, описанный как Pure Lisp Дж. Маккарти, идеально соответствует цели знакомства с ФП, его базовые средства доступны практически в любой реализации основных диалектов Лиспа. Навыки и понимание основ обработки структурированных данных на уровне элементарного Лиспа пригодятся при работе с любой СФП. Конструирование функций средствами чистого Лиспа доставляет интеллектуальное удовольствие, оно сродни решению математических головоломок.
Благодаря функциональной полноте Лиспа, изучение других инструментов ФП, а также основных средств проектирования и программирования, можно обосновывать и понимать через программирование на Лиспе ...
лекция 15,
страница 2 »
| |
| | p-список |
5 (2),
| |
ВСЕ СЛОВА
A
B
C
D
E
F
G
I
L
M
P
R
S
T
U
А
Б
В
Г
Д
З
И
К
Л
М
Н
О
П
Р
С
Т
У
Ф
Ц
Ч
Э
Я
|
|
 |
 |
 |
Помогите ответить на вопрос:
|
| |
|
|
| |
|
|
|