Россия, Петерубрг, СПБ-ГПУ, 1998 |
Язык и библиотеки Haskell 98
:Язык и библиотеки Haskell 98
: Информация
Опубликован: 19.09.2008 | Уровень: специалист | Доступ: платный
Haskell является чисто функциональным языком программирования общего назначения, который включает много последних инноваций в разработке языков программирования.
Haskell обеспечивает функции высокого порядка, нестрогую семантику, статическую полиморфную типизацию, определяемые пользователем алгебраические типы данных, сопоставление с образцом, описание списков, модульную систему, монадическую систему ввода - вывода и богатый набор примитивных типов данных, включая списки, массивы, целые числа произвольной и фиксированной точности и числа с плавающей точкой. Haskell является и кульминацией, и кристаллизацией многих лет исследования нестрогих функциональных языков. Этот курс определяет синтаксис программ на Haskell и неформальную абстрактную семантику для понимания смысла таких программ.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 118 минут | ПредисловиеОглавление | - |
Лекция 210 минут | ВведениеОглавление | - |
Лекция 31 час 6 минут | Лексическая структура Haskell 98
В этой лекции мы опишем лексическую структуру нижнего уровня языка Haskell. Большинство деталей может быть пропущено при первом прочтении этого описания
Оглавление | - |
Тест 121 минута | - | |
Лекция 42 часа 4 минуты | Выражения
В этой лекции мы опишем синтаксис и неформальную семантику выражений Haskell , включая, где это возможно, их трансляцию в ядро Haskell
Оглавление | - |
Тест 230 минут | - | |
Лекция 52 часа 35 минут | Объявления и связывания имен
В этой лекции мы опишем синтаксис и неформальную семантику объявлений Haskell
Оглавление | - |
Тест 333 минуты | - | |
Лекция 656 минут | Модули
В данной лекции мы рассмотрим структуру организации модулей в языке Haskell. Узнаем как правильно импортировать и экспортировать модули, а так же затронем модуль Prelude, который автоматически может импортироваться во все модули
Оглавление | - |
Тест 421 минута | - | |
Лекция 71 час 3 минуты | Предопределенные типы и классы
Haskell Prelude содержит предопределенные классы, типы и функции, которые неявно импортируются в каждую программу на Haskell. В этой лекции мы опишем типы и классы, находящиеся в Prelude. Большинство функций не описаны здесь подробно, поскольку их назначение легко можно понять исходя из их определений, данных в лекции 8
Оглавление | - |
Тест 524 минуты | - | |
Лекция 818 минут | Основные операции ввода - вывода
В данной лекции рассматривается система ввода-вывода, которая основана на математическом основании, имя
которого - монады. Для осуществления ввода-вывода необходимо понять теорию монад. Монадические операторы
используются и для других целей, но об этом в другой лекции. А на данном этапе рассмотрим осуществления
на языке Haskell ввода-вывода, какие ошибки при этом могут возникнуть. А также затронем тему обработки исключений
в монаде ввода-вывода
Оглавление | - |
Лекция 91 час 9 минут | Стандартное начало (Prelude)
В этой лекции дается описание всего Haskell Prelude. Это описание составляет спецификацию Prelude. Многие определения записаны с точки зрения ясности, а не эффективности, и необязательно, что спецификация реализована так, как показано здесь
Оглавление | - |
Тест 627 минут | - | |
Лекция 102 часа 15 минут | Синтаксический справочник
В этой лекции вы получите общее представление о синтаксисе в Haskell. Мы разберем с вами основные конструкции языка. Этот небольшой справочник поможет вам в дальнейшем написании программ. В данном синтаксическом справочнике основной уклон идет на используемые соглашения об обозначениях и лексическом синтаксисе, а также рассматривается правильное размещение текста и комментарий в программе
Оглавление | - |
Лекция 1125 минут | Спецификация производных экземпляров
Данная лекция посвяшена описанию производных экземпляров
Оглавление | - |
Лекция 125 минут | Указания компилятору (псевдокомментарии)
Некоторые реализации компилятора поддерживают указания компилятору - псевдокомментарии, которые используются, чтобы передать дополнительные указания или подсказки компилятору, но не являются частью свойства языка Haskell и не меняют семантику программы. Эта лекция резюмирует эту существующую практику. Не требуется, чтобы реализация соблюдала любой псевдокомментарий, но псевдокомментарий должен игнорироваться, если реализация не готова его обработать. С лексической точки зрения, псевдокомментарии выглядят как комментарии, за исключением того, что заключаются в {-# #-}
Оглавление | - |
Лекция 1310 минут | Рациональные числа
Haskell обладает богатой коллекцией численных типов. Стандартные типы включают целые фиксированного и произвольного диапазона, рациональные числа, сформированные для каждого типа целых, вещественные одинарной и двойной точности и комплексные с плавающей точкой. Мы опишем в этой лекции рациональные
числа, которые включают в себя библиотеку Ratio и заодно рассмотри ее
Оглавление | - |
Тест 724 минуты | - | |
Лекция 1410 минут | Комплексные числа
Как уже сказали в предыдущей лекции,что Haskell обладает богатой коллекцией численных типов, то
в этой лекции мы рассмотрим комплексные числа и библиотеку Complex, которую они используют
Оглавление | - |
Лекция 1527 минут | Числовые функции
В этой лекции вы получите основные сведения о библиотеке Numeric, которая включает в себя числовые функции различных видов
Оглавление | - |
Лекция 168 минут | Операции индексации
В этой лекции дается описание класса и библиотеки Ix, которая в основном используется для описания массивов
Оглавление | - |
Лекция 1719 минут | Массивы
А в этой лекции мы рассмотрим с вами уже сами массивы. Попробуем создать свой первый массив на Haskell'e и рассмотрим библиотеку Array
Оглавление | - |
Тест 830 минут | - | |
Лекция 1832 минуты | Утилиты работы со списками
В этой лекции вы узнаете, как работать со списками. Рассмотрим библиотеку List и основные функции над списками
Оглавление | - |
Лекция 194 минуты | Утилиты Maybe
В этой лекции вы получите сведения о конструкторе типа Maybe. Узнаете каким образом он определен в Prelude, а так же затроним библиотеку, которую он использует
Оглавление | - |
Лекция 2014 минут | Утилиты работы с символами
В этой лекции дается описание работы с символами. Здесь мы рассмотрим представление символов в различных кодировках в основном это Unicode, ASCII и latin-1. Рассмотри модуль и библиотеку Char
Оглавление | - |
Лекция 2114 минут | Утилиты работы с монадами
А вот в этой лекции мы вернемся с вами к рассмотрению монад. Если вы помните, мы уже начали изучение монад ввода-вывода. Здесь мы уже поподробней рассмотрим работу с монадами, узнаем какими функциями она пользуется, рассмотрим основные классы, ну и конечно же, не забудем упомянуть о библиотеке Monad
Оглавление | - |
Тест 930 минут | - | |
Лекция 2246 минут | Ввод - вывод
В этой лекции мы продолжим с вами рассмотрение ввода-вывода, но только уже более подробней обсудим ошибки, которые могут возникнуть при использовниии простых функций.
Узнаем как работать с файлами и каталогами в файловой системе и научимся использовать буферизацию
Оглавление | - |
Тест 1024 минуты | - | |
Лекция 2315 минут | Функции с каталогами
В этой лекции вы узнаете о функциях, которые работают с каталогами в файловой системе
Оглавление | - |
Тест 1118 минут | - | |
Лекция 246 минут | Системные функции
Haskell имеет свою библиотеку, которая помогает Haskell'ю взаимодействовать с операционной системой. Библиотека называется System, имеено ее мы и рассмотрим в данной лекции
Оглавление | - |
Лекция 2515 минут | Дата и время
В этой лекции мы рассмотрим библиотеку Time. Эта библиотека предназначена для работы Haskell'я со временем системных часов и датой
Оглавление | - |
Лекция 264 минуты | Локализация
Языком Haskell занимаются по всему миру и адаптировать язык под каждую страну очень сложно. Для этого придумали библиотеку Local, котороя позволяет настроить программу под какие-то определенные национальные особенности. Именно эту библиотеку мы изучем в этой лекции
Оглавление | - |
Лекция 27 | Время CPU
В этой лекции мы рассмотрим модуль CPUTime
Оглавление | - |
Лекция 2819 минут | Случайные числа
В этой лекции мы изучим как правильно работать с генератором псевдослучайных чисел. Рассмотрим библиотеку Random, ее классы и основные возможности этой библиотеки
Оглавление | - |
Тест 1215 минут | - | |
5 часов | - |