Практика работы на языке Haskell
Покупка
Издательство:
ДМК Пресс
Автор:
Душкин Роман Викторович
Год издания: 2010
Кол-во страниц: 288
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Аспирантура
ISBN: 978-5-94074-588-4
Артикул: 616092.01.99
К покупке доступен более свежий выпуск
Перейти
В книге рассматриваются прикладные аспекты работы на языке функционального программирования Haskell. Приводятся описания инструментальных средств пяти классов - трансляторов, интегрированных сред разработки, вспомогательных утилит, специализированных библиотек и справочно-архивных систем. Для каждого программного средства приводится краткое описание, его функциональность и примеры использования. Книга станет хорошим подспорьем как для начинающих программистов, так и для профессионалов, использующих в своей практике функциональную парадигму программирования. К книге прилагается компакт-диск, на котором имеются все описанные в книге инструменты для полноценной работы на языке Haskell.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Практика работы на языке Haskell, 2023, 616092.03.99
Практика работы на языке Haskell, 2016, 616092.02.99
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Практика работы на языке Haskell + CD Душкин Р. В. Москва, 2010
УДК 004.4 ББК 32.973.26018.2 Д86 Душкин Р. В. Д86 Практика работы на языке Haskell. – М.: ДМК Пресс, 2010. – 288 с., ил. ISBN 9785940745884 В книге рассматриваются прикладные аспекты работы на языке функционального программирования Haskell. Приводятся описания инструментальных средств пяти классов – трансляторов, интегрированных сред разработки, вспомогательных утилит, специализированных библиотек и справочноархивных систем. Для каждого программного средства приводится краткое описание, его функциональность и примеры использования. Книга станет хорошим подспорьем как для начинающих программистов, так и для профессионалов, использующих в своей практике функциональную парадигму программирования. К книге прилагается компактдиск, на котором имеются все описанные в книге инструменты для полноценной работы на языке Haskell. УДК 004.4 ББК 32.973.26018.2 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. © Душкин Р. В., 2010 ISBN 9785940745884 © Оформление ДМК Пресс, 2010
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++? , , , , 7 . , , . , Hello, world!. , . ? , , . , , . ?, Haskell λ-?, ?, ?. . , . , . , . , . , , , β-. , . , CD , , . !
, , Haskell . : 1) ; 2) ; 3) ; 4) ; 5) . , . . 1. , , . , , , , . (, ), , . , , .
. 1. . . , . . 12 HUGS. , , (). . 2009 . () . Windows. , , . , . 10 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} . (, ), (). , 14 1. , . : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | | | | | | | | | | | | | _ _ H u g s 9 8 : B a s e d o n t h e H a s k e l l 98 s t a n d a r d | | _ _ _ | | | | _ _ | | | | _ _ | | _ _ | | C o p y r i g h t ( c ) 1994 −2005 | | _ _ _ | | _ _ _ | | W o r l d W i d e W e b : h t t p : / / h a s k e l l . o r g / h u g s | | | | B u g s : h t t p : / / h a c k a g e . h a s k e l l . o r g / t r a c / h u g s | | | | V e r s i o n : S e p 2006 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ H u g s m o d e : R e s t a r t w i t h c o m m a n d l i n e o p t i o n +98 f o r H a s k e l l 98 m o d e T y p e : ? f o r h e l p H u g s > Hugs>, Hugs, , . -, . Haskell , HUGS, (:). HUGS, . , , (, :q :quit). : expression Haskell , show. show , default (, Integer). :
1.1. HUGS 15 Hugs> 2 + 3 ∗ 4 − 5 9 Hugs> foldl (∗) 1 [ 1 . . 1 0 ] 3628800 Hugs> map snd [ ( 1 , 'a ' ) , (2 , 'b ' ) , (3 , 'c ' ) ] "abc" expression IO t t, -, . , do {print (25^3); putStr "Greetings !"} print putStr: 15625 Greetings ! :t : : type expression expression, . : Hugs> : t sequence sequence : : Monad a => [ a b ] −> a [ b ] :s HUGS, : : set {option} , (), . . :
1. 1) , (+) , (−) . , (+). . 2) , −Pstr. (−) (+) . str . 98 + Haskell-98 . , , HUGS . . −cnum num (40, HUGS). o + (.) . (−98). . O + (.) , . (−98). .
1.1. HUGS 17 H + , ``''. , , ($). , . . l + (). .hs , .lhs . HUGS . . + (.) . . q + . . w + , . . −Fcmd cmd , , . , HUGS . -Haskell, .
К покупке доступен более свежий выпуск
Перейти