Functional programming

Основы функционального программирования

Функциональные языки программирования позволяют описывать непосредственно алгоритм, в отличие от императивных языков, в которых описывается реализация алгоритма. В смысле уровня абстракции языка функциональные языки относятся к современным императивным (типа C++,Java,C#), как те к ассемблеру.
Использование функциональных языков особенно привлекательно при прототипировании, разработке трансляторов/компиляторов, предметно-ориентированных языков (DSL) и параллельных программ.

В лекции рассматривается введение в основы функционального программирования, язык программирования LISP, его наиболее распространенные реализации, библиотеки и расширения, архитектур и реализацию LISP сред, обзор языков функционального программирования.

На практическом занятии предлагается реализовать с использованием языка функционального программирования интерпретаторы языков Пролог, Рефал.