Язык и библиотеки Haskell 98: Информация
Автор: Simon-Peyton Jones
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Вам нравится? Нравится 5 студентам
Уровень:
Специалист
Длительность:
21:25:00
Студентов:
658
Выпускников:
63
Качество курса:
4.50 | 5.00
Haskell является чисто функциональным языком программирования общего назначения, который включает много последних инноваций в разработке языков программирования.
Haskell обеспечивает функции высокого порядка, нестрогую семантику, статическую полиморфную типизацию, определяемые пользователем алгебраические типы данных, сопоставление с образцом, описание списков, модульную систему, монадическую систему ввода - вывода и богатый набор примитивных типов данных, включая списки, массивы, целые числа произвольной и фиксированной точности и числа с плавающей точкой. Haskell является и кульминацией, и кристаллизацией многих лет исследования нестрогих функциональных языков. Этот курс определяет синтаксис программ на Haskell и неформальную абстрактную семантику для понимания смысла таких программ.
Темы: Программирование
Специальности: Программист, Архитектор программного обеспечения
Теги: derive, haskell, HDL, infix, lisp, monadic, no-op, PAT, qualifier, библиотеки, вычисления, каталоги, компиляторы, компоненты, конструктор типа, лексема, потоки, программирование, редакторы, спецификации, элементы, ядро
План занятий
Занятие
Заголовок <<
Дата изучения
Лекция 3
1 час 6 минут
Лексическая структура Haskell 98
В этой лекции мы опишем лексическую структуру нижнего уровня языка Haskell. Большинство деталей может быть пропущено при первом прочтении этого описания
Оглавление
-
Лекция 5
2 часа 35 минут
Объявления и связывания имен
В этой лекции мы опишем синтаксис и неформальную семантику объявлений Haskell
Оглавление
-
Лекция 7
1 час 3 минуты
Предопределенные типы и классы
Haskell Prelude содержит предопределенные классы, типы и функции, которые неявно импортируются в каждую программу на Haskell. В этой лекции мы опишем типы и классы, находящиеся в Prelude. Большинство функций не описаны здесь подробно, поскольку их назначение легко можно понять исходя из их определений, данных в лекции 8
Оглавление
-
Лекция 8
18 минут
Основные операции ввода - вывода
В данной лекции рассматривается система ввода-вывода, которая основана на математическом основании, имя
которого - монады. Для осуществления ввода-вывода необходимо понять теорию монад. Монадические операторы
используются и для других целей, но об этом в другой лекции. А на данном этапе рассмотрим осуществления
на языке Haskell ввода-вывода, какие ошибки при этом могут возникнуть. А также затронем тему обработки исключений
в монаде ввода-вывода
Оглавление
-
Лекция 9
1 час 9 минут
Стандартное начало (Prelude)
В этой лекции дается описание всего Haskell Prelude. Это описание составляет спецификацию Prelude. Многие определения записаны с точки зрения ясности, а не эффективности, и необязательно, что спецификация реализована так, как показано здесь
Оглавление
-
Лекция 10
2 часа 15 минут
Синтаксический справочник
В этой лекции вы получите общее представление о синтаксисе в Haskell. Мы разберем с вами основные конструкции языка. Этот небольшой справочник поможет вам в дальнейшем написании программ. В данном синтаксическом справочнике основной уклон идет на используемые соглашения об обозначениях и лексическом синтаксисе, а также рассматривается правильное размещение текста и комментарий в программе
Оглавление
-
Лекция 11
25 минут
Спецификация производных экземпляров
Данная лекция посвяшена описанию производных экземпляров
Оглавление
-
Лекция 12
5 минут
Указания компилятору (псевдокомментарии)
Некоторые реализации компилятора поддерживают указания компилятору - псевдокомментарии, которые используются, чтобы передать дополнительные указания или подсказки компилятору, но не являются частью свойства языка Haskell и не меняют семантику программы. Эта лекция резюмирует эту существующую практику. Не требуется, чтобы реализация соблюдала любой псевдокомментарий, но псевдокомментарий должен игнорироваться, если реализация не готова его обработать. С лексической точки зрения, псевдокомментарии выглядят как комментарии, за исключением того, что заключаются в {-# #-}
Оглавление
-
Лекция 13
10 минут
Рациональные числа
Haskell обладает богатой коллекцией численных типов. Стандартные типы включают целые фиксированного и произвольного диапазона, рациональные числа, сформированные для каждого типа целых, вещественные одинарной и двойной точности и комплексные с плавающей точкой. Мы опишем в этой лекции рациональные
числа, которые включают в себя библиотеку Ratio и заодно рассмотри ее
Оглавление
-
Лекция 14
10 минут
Комплексные числа
Как уже сказали в предыдущей лекции,что Haskell обладает богатой коллекцией численных типов, то
в этой лекции мы рассмотрим комплексные числа и библиотеку Complex, которую они используют
Оглавление
-
Лекция 15
27 минут
Числовые функции
В этой лекции вы получите основные сведения о библиотеке Numeric, которая включает в себя числовые функции различных видов
Оглавление
-
Лекция 16
8 минут
Операции индексации
В этой лекции дается описание класса и библиотеки Ix, которая в основном используется для описания массивов
Оглавление
-
Лекция 18
32 минуты
Утилиты работы со списками
В этой лекции вы узнаете, как работать со списками. Рассмотрим библиотеку List и основные функции над списками
Оглавление
-
Лекция 19
4 минуты
Утилиты Maybe
В этой лекции вы получите сведения о конструкторе типа Maybe. Узнаете каким образом он определен в Prelude, а так же затроним библиотеку, которую он использует
Оглавление
-
Лекция 20
14 минут
Утилиты работы с символами
В этой лекции дается описание работы с символами. Здесь мы рассмотрим представление символов в различных кодировках в основном это Unicode, ASCII и latin-1. Рассмотри модуль и библиотеку Char
Оглавление
-
Лекция 21
14 минут
Утилиты работы с монадами
А вот в этой лекции мы вернемся с вами к рассмотрению монад. Если вы помните, мы уже начали изучение монад ввода-вывода. Здесь мы уже поподробней рассмотрим работу с монадами, узнаем какими функциями она пользуется, рассмотрим основные классы, ну и конечно же, не забудем упомянуть о библиотеке Monad
Оглавление
-
Лекция 22
46 минут
Ввод - вывод
В этой лекции мы продолжим с вами рассмотрение ввода-вывода, но только уже более подробней обсудим ошибки, которые могут возникнуть при использовниии простых функций.
Узнаем как работать с файлами и каталогами в файловой системе и научимся использовать буферизацию
Оглавление
-
Лекция 23
15 минут
Функции с каталогами
В этой лекции вы узнаете о функциях, которые работают с каталогами в файловой системе
Оглавление
-
Лекция 24
6 минут
Системные функции
Haskell имеет свою библиотеку, которая помогает Haskell'ю взаимодействовать с операционной системой. Библиотека называется System, имеено ее мы и рассмотрим в данной лекции
Оглавление
-
Лекция 25
15 минут
Дата и время
В этой лекции мы рассмотрим библиотеку Time. Эта библиотека предназначена для работы Haskell'я со временем системных часов и датой
Оглавление
-
Лекция 26
4 минуты
Локализация
Языком Haskell занимаются по всему миру и адаптировать язык под каждую страну очень сложно. Для этого придумали библиотеку Local, котороя позволяет настроить программу под какие-то определенные национальные особенности. Именно эту библиотеку мы изучем в этой лекции
Оглавление
-
Лекция 28
19 минут
Случайные числа
В этой лекции мы изучим как правильно работать с генератором псевдослучайных чисел. Рассмотрим библиотеку Random, ее классы и основные возможности этой библиотеки
Оглавление
-