Лекционный материал |
Пример к теме Монады |
Конспект лекций по курсу Функциональное программирование |
К тесту №1 изучить лекционный материал до стр.16 к 26.09.2017 |
К тесту №2 изучить лекционный материал до стр.23 к 10.10.2017 |
К тесту №3 изучить лекционный материал до стр.33 к 24.10.2017 |
К тесту №4 изучить лекционный материал до стр.39 к 07.11.2017 |
К тесту №5 изучить лекционный материал до стр.52 к 21.11.2017 |
К тесту №6 изучить (повторить) весь лекционный материал к 05.12.2017 |
|
|
Лабораторные работы |
|
-
Лабораторная работа № 1
(
Основы работы с интерпретатором Hugs.
Типы.
Арифметика.
Кортежи.
Списки.
Строки.
Функции.
Условные выражения.
Функции многих переменных и порядок определения функций.
)
- Лабораторная работа № 2
(
Комментарии.
Рекурсия.
Операция выбора и правила выравнивания.
Кусочное задание функций.
Сопоставление с образцом.
Построение списков.
Некоторые полезные функции.
)
- Лабораторная работа № 3
(
Функции высшего порядка.
Функция map.
Функция filter.
Функции foldr и foldl.
Другие функции высшего порядка.
Лямбда-абстракции.
Секции.
)
-
Лабораторная работа № 4
(
let-связывание.
Сигнализация об ошибках.
Охраняющие условия.
Полиморфные типы.
Пользовательские типы.
Пары.
Множественные конструкторы.
Классы типов.
Синонимы типов.
)
-
Лабораторная работа № 5
Приложение (expr.hs)
Приложение (Для варианта №4 (док-во теоремы от противного))
(
Определение операторов.
Рекурсивные типы.
Списки как рекурсивные типы.
Синтаксические деревья.
)
- Лабораторная работа № 6
(
Модули.
Абстрактные типы данных.
Операции ввода-вывода.
Базовые операции ввода-вывода.
Стандартные операции ввода-вывода.
Создание исполняемых программ.
)
|
Расчетно - графическая работа |
|
Дополнительный материал |
- Монады (пример) [RUS]
(приложения к лекции №6)
- Язык и библиотеки Haskell 98 [RUS]
- ОСНОВЫ РАБОТЫ С HUGS 98 [RUS]
- Язык и библиотеки Haskell 98 [RUS]
- Введение в функциональный язык Haskell [RUS]
(Выражения и типы, labda-абстракции в Haskell'e, функции, переменные, рекурсия,сопоставление с образцом, строгие и нестрогие функции, ленивые и энергичные вычисления , конструкции let и where, функции обработки списков, функции высших порядков, абстракции списков (определители списков) )
- Функциональные распознаватели (для л/р №5) [RUS]
(Тип распознавателя, элементарные распознаватели, распознаватели-комбинаторы, модификаторы распознавателей, распознаватели скобочных последовательностей, распознаватель арифметических выражений, обобщенные выражения, использование грамматик)
- Haskell98 (manual) [EN]
(Haskell 98 Language and Libraries The Revised Report)
- Хороший набор обучающих лекций и л/р (с исходниками) [EN]
(2. Basic Haskell; 3.Alternatives & Basic Data Types; 4.Recursion; 5.More Recursion & Lists; 6.Map and filter;
7.Input & Output; 8.User-defined Data Types; 9.Modules, Abstract Data Types; 10.Sorts; 11.More on Sorting;
12. Trees)
-
Работа с массивами [EN]
-
Ещё один справочник по Haskell [EN]
-
Хорошие примеры для работы с IO (для 6 л/р и ИР) [EN]
-
Архив всей рекомендуемой литературы (из рабочей программы)
|
Библиотеки функций (исходники) |
|
Программное обеспечение (интерпретатор) |
|
Программное обеспечение (компилятор) |
|
Вернуться на главную страницу |