Мягкое введение в Haskell
Часть 2
Авторы: Пол Хьюдак
Джон Петерсон
Yale University
Джозеф Фасел
Los Alamos National Laboratory
Перевод: Денис Москвин
SoftJoys Computer Academy
Источник: A Gentle Introduction To Haskell
Материал предоставил: RSDN Magazine #1-2007
Опубликовано: 24.04.2007
Версия текста: 1.0
8 Стандартные классы Haskell
В этом разделе мы представляем предопределённые стандартные классы типов Haskell. Мы несколько упростили эти классы, опустив в них некоторые (менее интересные) методы; описание языка Haskell содержит более полную информацию. Следует также отметить, что некоторые из этих стандартных классов являются частью стандартных библиотек Haskell; они описаны в Haskell Library Report.
8.1 Классы равенства и упорядоченности
8.2 Класс перечислений
8.3 Классы Read и Show
8.4 Производные воплощения
9 О монадах
9.1 Монадические классы
9.2 Встроенные монады
9.3 Использование монад
10 Числа
10.1 Структура числового класса
10.2 Конструируемые числа
10.3 Приведение чисел и перегруженные литералы
10.4 Числовые типы по умолчанию
11 Модули
11.1 Квалифицированные имена
11.2 Абстрактные типы данных
11.3 Прочие свойства
12 Ловушки типизации
12.1 Let-связанный полиморфизм
12.2 Перегрузка чисел
12.3 Ограничение мономорфизма
13 Массивы
13.1 Типы индексов
13.2 Создание массивов
13.3 Аккумуляция
13.4 Инкрементальные обновления
13.5 Пример: умножение матриц
14 Следующий этап
Большая коллекция ресурсов, посвященных Haskell, доступна на сайте haskell.org. Здесь можно найти компиляторы, демонстрации, статьи и много полезной информации о Haskell и функциональном программировании. Компиляторы и интерпретаторы Haskell работают почти на любом оборудовании и почти на всех операционных системах. Система Hugs имеет небольшой размер и перенесена на множество платформ – это прекрасный инструмент для изучения Haskell.
15 Благодарности
Благодарим Patricia Fasel и Mark Mundt из Лос-Аламоса, а также Nick Carriero, Charles Consel, Amir Kishon, Sandra Loosemore, Martin Odersky и David Rochberg из Йельского университета за их быструю вычитку ранних черновиков этого манускрипта. Особые благодарности Erik Meijer за его обширные комментарии к новому материалу, добавленному к версии 1.4 этого руководства.
Ссылки
- R. Bird. Introduction to Functional Programming using Haskell. Prentice Hall, New York, 1998.
- A.Davie. Introduction to Functional Programming System Using Haskell. Cambridge University Press, 1992.
- P. Hudak. Conception, evolution, and application of functional programming languages. ACM Computing Surveys, 21(3):359--411, 1989.
- Simon Peyton Jones (editor). Report on the Programming Language Haskell 98, A Non-strict Purely Functional Language. Yale University, Department of Computer Science Tech Report YALEU/DCS/RR-1106, Feb 1999.
- Simon Peyton Jones (editor) The Haskell 98 Library Report. Yale University, Department of Computer Science Tech Report YALEU/DCS/RR-1105, Feb 1999.
- R.S. Nikhil. Id (version 90.0) reference manual. Technical report, Massachusetts Institute of Technology, Laboratory for Computer Science, September 1990.
- J. Rees and W. Clinger (eds.). The revised report on the algorithmic language Scheme. SIGPLAN Notices, 21(12):37--79, December 1986.
- G.L. Steele Jr. Common Lisp: The Language. Digital Press, Burlington, Mass., 1984.
- P. Wadler. How to replace failure by a list of successes. In Proceedings of Conference on Functional Programming Languages and Computer Architecture, LNCS Vol. 201, pages 113--128. Springer Verlag, 1985.
- P. Wadler. Monads for Functional Programming In Advanced Functional Programming , Springer Verlag, LNCS 925, 1995.
Полная версия этой статьи опубликована в журнале
RSDN Magazine
#1-2007. Информацию о журнале можно найти здесь