Muutke küpsiste eelistusi

E-raamat: Programming in Haskell

(University of Nottingham)
  • Formaat: PDF+DRM
  • Ilmumisaeg: 14-Aug-2007
  • Kirjastus: Cambridge University Press
  • ISBN-13: 9780511292187
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 142,03 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 14-Aug-2007
  • Kirjastus: Cambridge University Press
  • ISBN-13: 9780511292187
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduction is ideal for beginners: it requires no previous programming experience and all concepts are explained from first principles via carefully chosen examples. Each chapter includes exercises that range from the straightforward to extended projects, plus suggestions for further reading on more advanced topics. The author is a leading Haskell researcher and instructor, well-known for his teaching skills. The presentation is clear and simple, and benefits from having been refined and class-tested over several years. The result is a text that can be used with courses, or for self-learning. Features include freely accessible Powerpoint slides for each chapter, solutions to exercises and examination questions (with solutions) available to instructors, and a downloadable code that's fully compliant with the latest Haskell release.

Textbook on the functional programming language Haskell.

Arvustused

'The best introduction to Haskell available. There are many paths towards becoming comfortable and competent with the language but I think studying this book is the quickest path. I urge readers of this magazine to recommend Programming in Haskell to anyone who has been thinking about learning the language.' Duncan Coutts, Monad Reader 'Two groups of people must consider this book. The first is professors interested in rapidly introducing students to fundamental concepts in functional programming. This book, supplemented with online resources and professorial guidance could easily serve as the textbook for a semester-long course on functional programming. The second group is programmers interested in surveying the functional paradigm as quickly as possible.' Journal of Functional Programming

Muu info

A textbook on the functional programming language Haskell, with all concepts are explained from first principles via carefully chosen examples.
Preface xi
Introduction
1(9)
Functions
1(1)
Functional programming
2(2)
Features of Haskell
4(2)
Historical background
6(1)
A taste of Haskell
6(3)
Chapter remarks
9(1)
Exercises
9(1)
First steps
10(7)
The Hugs system
10(1)
The standard prelude
10(2)
Function application
12(1)
Haskell scripts
13(3)
Chapter remarks
16(1)
Exercises
16(1)
Types and classes
17(13)
Basic concepts
17(1)
Basic types
18(2)
List types
20(1)
Tuple types
20(1)
Function types
21(1)
Curried functions
21(2)
Polymorphic types
23(1)
Overloaded types
23(1)
Basic classes
24(4)
Chapter remarks
28(1)
Exercises
28(2)
Defining functions
30(8)
New from old
30(1)
Conditional expressions
31(1)
Guarded equations
31(1)
Pattern matching
32(2)
Lambda expressions
34(2)
Sections
36(1)
Chapter remarks
36(1)
Exercises
37(1)
List comprehensions
38(10)
Generators
38(1)
Guards
39(1)
The zip function
40(1)
String comprehensions
41(1)
The Caesar cipher
42(4)
Chapter remarks
46(1)
Exercises
46(2)
Recursive functions
48(13)
Basic concepts
48(1)
Recursion on lists
49(3)
Multiple arguments
52(1)
Multiple recursion
53(1)
Mutual recursion
53(2)
Advice on recursion
55(4)
Chapter remarks
59(1)
Exercises
59(2)
Higher-order functions
61(13)
Basic concepts
61(1)
Processing lists
62(2)
The foldr function
64(2)
The foldl function
66(2)
The composition operator
68(1)
String transmitter
69(3)
Chapter remarks
72(1)
Exercises
72(2)
Functional parsers
74(13)
Parsers
74(1)
The parser type
75(1)
Basic parsers
75(1)
Sequencing
76(2)
Choice
78(1)
Derived primitives
78(3)
Handling spacing
81(1)
Arithmetic expressions
82(3)
Chapter remarks
85(1)
Exercises
85(2)
Interactive programs
87(12)
Interaction
87(1)
The input/output type
88(1)
Basic actions
88(1)
Sequencing
89(1)
Derived primitives
90(1)
Calculator
91(3)
Game of life
94(3)
Chapter remarks
97(1)
Exercises
97(2)
Declaring types and classes
99(17)
Type declarations
99(1)
Data declarations
100(2)
Recursive types
102(3)
Tautology checker
105(4)
Abstract machine
109(2)
Class and instance declarations
111(3)
Chapter remarks
114(1)
Exercises
114(2)
The countdown problem
116(8)
Introduction
116(1)
Formalising the problem
117(2)
Brute force solution
119(1)
Combining generation and evaluation
120(1)
Exploiting algebraic properties
121(2)
Chapter remarks
123(1)
Exercises
123(1)
Lazy evaluation
124(15)
Introduction
124(1)
Evaluation strategies
125(3)
Termination
128(1)
Number of reductions
129(1)
Infinite structures
130(2)
Modular programming
132(2)
Strict application
134(3)
Chapter remarks
137(1)
Exercises
137(2)
Reasoning about programs
139(17)
Equational reasoning
139(1)
Reasoning about Haskell
140(1)
Simple examples
141(1)
Induction on numbers
142(3)
Induction on lists
145(1)
Making append vanish
146(4)
Compiler correctness
150(4)
Chapter remarks
154(1)
Exercises
154(2)
Appendix A Standard prelude
156(10)
Classes
156(1)
Logical values
157(1)
Characters and strings
158(1)
Numbers
159(1)
Tuples
160(1)
Maybe
160(1)
Lists
160(4)
Functions
164(1)
Input/output
164(2)
Appendix B Symbol table
166(1)
Bibliography 167(2)
Index 169


Graham Hutton is Professor of Computer Science at the University of Nottingham, where he co-leads the Functional Programming Laboratory.