Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Практика работы на языке Haskell

Покупка
Артикул: 616092.02.99
К покупке доступен более свежий выпуск Перейти
В книге рассматриваются прикладные аспекты работы на языке функционального программирования Haskell. Приводятся описания инструментальных средств пяти классов - трансляторов, интегрированных сред разработки, вспомогательных утилит, специализированных библиотек и справочно-архивных систем. Для каждого программного средства приводится краткое описание, его функциональность и примеры использования. Книга станет хорошим подспорьем как для начинающих программистов, так и для профессионалов, использующих в своей практике функциональную парадигму программирования. На сайте издательства дмк.рф имеются все описанные в книге инструменты для полноценной работы на языке Haskell.
Душкин, Р. В. Практика работы на языке Haskell : практическое пособие / Р. В. Душкин. - Москва : ДМК Пресс, 2016. - 288 с. - ISBN 978-5-97060-363-5. - Текст : электронный. - URL: https://znanium.com/catalog/product/2012553 (дата обращения: 07.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Практика работы
на языке Haskell

Душкин Р. В.

Москва, 2016

УДК
004.4
ББК
32.973.26018.2
Д86

Душкин Р. В.
Д86
Практика работы на языке Haskell. – М.: ДМК Пресс, 2010. – 288 с., ил.
ISBN 9785970603635

В книге рассматриваются прикладные аспекты работы на языке функционального программирования Haskell. Приводятся описания инструментальных средств пяти классов – трансляторов, интегрированных сред разработки, вспомогательных утилит, специализированных библиотек и
справочноархивных систем. Для каждого программного средства приводится краткое описание, его функциональность и примеры использования.
Книга станет хорошим подспорьем как для начинающих программистов, так и для профессионалов, использующих в своей практике функциональную парадигму программирования.

нты для полноценной работы на языке Haskell.

УДК 004.4
ББК 32.973.26018.2

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то
ни было форме и какими бы то ни было средствами без письменного разрешения владельцев
авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность
технических ошибок все равно существует, издательство не может гарантировать абсолютную
точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

© Душкин Р. В., 2010
   ISBN 9785970603635
© Издание, ДМК Пресс, 2016

На сайте издательства дмк.рф имеются все описанные в книге инструме
8

1
11

1.1
HUGS . . . . . . . . . . . . . . . . . . . . . . . . . . .
11

1.1.1
. . . . . . . . . . . . . . . .
12

1.1.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
12

1.1.3
. . . . . . . . . . . . . .
13

1.1.4
HUGS
. . . . . . .
23

1.1.5
. . . . . . . . . . . . . . . . . . . .
24

1.1.6
. . . . . . . . . . . . . . . . . . . .
26

1.2
GHC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26

1.2.1
. . . . . . . . . . . . . . . .
27

1.2.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
27

1.2.3
. . . . . . . . . . . . . .
28

1.2.4
. . . . . . . . . .
43

1.2.5
. . . . . . . . . . . . . . . . . . . . .
47

1.2.6
Haskell
. . . . . . . . . . . . .
51

2
53

2.1
Eclipse . . . . . . . . . . . . . . . .
54

2.1.1
. . . . . . . . . . . . . . . .
54

2.1.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
55

2.1.3
. . . . . . . . . . . . . .
57

2.2
EclipseFP . . . . . . . . . . . . . . . . . . . . . . . . . . .
58

2.2.1
. . . . . . . . . . . . . . . .
59

2.2.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
59

2.2.3
. . . . . . . . . . . . . .
61

3
70

3.1
DrIFT
. . . . . . . . . . . . . . . . . . . . . . . . . . .
70

3.1.1
. . . . . . . . . . . . . . . .
72

3.1.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
72

3.1.3
. . . . . . . . . . . . . .
75

3.1.4
. . . . . . . . . . . . . . . . .
78

3.2
Buddha . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81

3.2.1
. . . . . . . . . . . . . . . .
83

3.2.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
83

3.2.3
. . . . . . . . . . . . . .
84

3.2.4
. . . . . . . . . . . . . . . . . . . . . . . .
88

3.3
HLint . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91

3.3.1
. . . . . . . . . . . . . . . .
92

3.3.2
, . . . . . . . . . .
92

3.3.3
. . . . . . . . . . . . . . . . . . . .
96

3.4
Haddock . . . . . . . . . . . . . . . .
97

3.4.1
. . . . . . . . . . . . . . . .
99

3.4.2
. . . . . . . . . . . . . . . . . . . . . . . . . .
99

3.4.3
. . . . . . . . . . . . . . 105

3.5
Darcs . . . . . . . . . . . . . . . . . . . . . 111
3.5.1
. . . . . . . . . . . . . . . . 112

3.5.2
. . . . . . . . . . . . . 113

3.5.3
. . . . . . . . . 115

3.6
Cabal
. . . . . . . . . . . . . . . . . . . . 140

3.6.1
. . . . . . . . . . . . . . . . 142

3.6.2
. . . . . . . . . . . . . . . . . . . . . . . . . . 142

3.6.3
. . . . . . . . . . . . . . 143

3.6.4
. . . . . . . . . . . . . . . . . . . . 156

4
160

4.1
Parsec . . . . . 161
4.1.1
. . . . . . . . . . . . . . . . 163

4.1.2
. . . . . . . . . . . . . . . 163

4.1.3
. . . . . . . . . . . 169

4.2
PPrint . . . . . 195
4.2.1
. . . . . . . . . . . . . . . . 196

4.2.2
. . . . . . . . . . . . . . . . . . . . . . . . . . 197

4.2.3
. . . . . . . . . . . 199

4.3
HaskellDB . . . . . . . . . . . . . . . . . . . 212
4.3.1
. . . . . . . . . . . . . . . . 212

4.3.2
. . . . . . . . . . . . . . . . . . . . . . . . . . 213

4.3.3
. . . . . . . . . . . 217

4.4
wxHaskell . . . 233
4.4.1
. . . . . . . . . . . . . . . . 234

4.4.2
. . . . . . . . . . . . . . . . . . . . . . . . . . 234

4.4.3
. . . . . . . . . . . . . . . . . . . . . 235

4.5
HaskellNet
. . . . . . . . . . 242

4.5.1
. . . . . . . . . . . . . . . . 243

4.5.2
. . . . . . . . . . . 243

5
273

5.1
Hackage
. . . . . . . . . . . . . . . . . . . . 273

5.1.1
. . . . . . . . . . . . . . . . 275

5.2
Hoogle . . . . . . . . . . . . . . . . . . . . . . . . . . 275
5.2.1
. . . . . . . . . . . . . . . . 276

5.2.2
. . . . . . . . . . . . . . 276

5.3
HsColour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
5.3.1
. . . . . . . . . . . . . . . . 279

5.3.2
. . . . . . . . . . . . . . . . . . . . . 279

5.3.3
. . . . . . . . . . . . . . 280

282

284

Haskell [4, 5] , . , -
, -
, -
. [4] , , , . , ,
, .

1998 -
. [22] , . ,
, , -
. XXI , Haskell , -
. , Java C++?

, -
-
, , , -

. , -
, . , Hello, world!. -
, .

? , , -
. , , -
. ?, Haskell λ-?, -
?, -
?. . , . -
, .

, -
. , -
. , ,
, β-. -
, . , -
CD , , -
-
.

!

, -
, Haskell . :

1) ;

2) ;

3) ;

4) ;

5) .

-
-
, -
. . 1.

, -
, . , , , , . (, -
), , . , -
, .

. 1. . -
. -
, . . 12 HUGS. -
, , ().

. -
2009 . () . -
Windows. , , -
.

, . 
LATEX listingsHaskell, .

, Haskell
: foldr, last, Functor, fst . . , , -
: let, class, module. -
: (//), ($) . ., : [, }.

-
, :

class Pretty a where
pretty
: :
a −> Doc
prettyList
: :
[ a ] −> Doc

prettyList = list
.
map pretty

-, -
. , , , , -
, , . --
.

, , -
, , -
.

, -
, (),
(), . . Haskell -
, . :

1) HUGS;

2) GHC (GHCi, ,
, ).

-
[1, 2]. [5] -
Haskell.

1.1
HUGS

HUGS (, HUGS 98) Haskell, --
. HUGS 98 Haskell-98. -
[3].

1. 1.1.1
HUGS

Haskell User's Gofer System

2006

(Mark P. Jones)

(Yale Haskell Group)

MacOS, Unix, Windows

14 BSD

Web-http://www.haskell.org/hugs/

HBI, GHCi

1.1.2
HUGS 1995 -
-
Gofer (. GOod For Equational Reasoning). -
Haskell -
-
. 1999 HUGS Haskell-98 ().

HUGS , Haskell, , , , -

1.1. HUGS
13

-
.

HUGS Haskell-98 -
() , :

1) HUGS () -
Haskell-98 FFI (-
) (, (.)).

2) -
-
Haskell, GHC, HUGS.

3) HUGS , -
(GHC).

runhugs, -
Haskell . main . -
.

1.1.3
HUGS :

hugs {option} {file}

. (, ), ().
, 
К покупке доступен более свежий выпуск Перейти