Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author Lemmer, Ryan, author.

Title Haskell design patterns : take your Haskell and functional programming skills to the next level by exploring new idioms and design patterns / Ryan Lemmer. [O'Reilly electronic resource]

Publication Info. Birmingham, UK : Packt Publishing, 2015.
QR Code
Description 1 online resource (1 volume) : illustrations.
Series Community experience distilled
Community experience distilled.
Note Includes index.
Contents Cover; Copyright; Credits; About the Author; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Functional Patterns -- the Building Blocks; Higher-order functions; Functions as first-class citizens; Composing functions; Currying functions; Currying and composability; Decoupling with currying; Recursion; Non-tail recursion; Tail recursion; Folding abstracts recursion; Types, pattern matching, and polymorphism; Algebraic types and pattern matching; Recursive types; Polymorphism; Parametric polymorphism; Ad-hoc polymorphism; Functions, types, and patterns
The strategy patternThe template pattern; The iterator pattern; Decoupling behavior and modularizing code; Lazy evaluation; Streams; Modeling change with streams; Lazy evil; Monads; Composing monads and structuring programs; Summary; Chapter 2: Patterns for I/O; I/O as a first class citizen; I/O as a functor, applicative, and monad; Imperative I/O; Lazy I/O; The problems with lazy I/O; Resource management with bracket; Iteratee I/O; Iteratee; Enumerator; Generalized iteratees, enumerators, and enumeratees; The iteratee I/O libraries; Comparing the three styles of I/O; Summary
Chapter 3: Patterns of CompositionFunctor; Applicative functor; Monad; Monad as functor; Monad as applicative; Sequencing actions with monad and applicative; Monads and the bind chain; Composing with monads; Monad transformers; IO in monad stacks; Sequence of stack composition; Arrows; Implementing an arrow; Arrow operators; Kleisli arrows and monad arrows; Why arrows?; Summary; Chapter 4: Patterns of Folding and Traversing; Folding over lists; Folding with monadic functions; Folding with monoids; Foldable; Mapping over lists; Traversable; A Traversable Tree
The traversal and the Iterator patternModernizing Haskell 98; Lenses; Deriving Lens; Writing a Lens; Composable getters and setters; Lens Traversal; Lens.Fold; The Lens library; Summary; Chapter 5: Patterns of Type Abstraction; Abstracting function types: RankNTypes; Abstracting datatypes; Universal quantification; Existential quantification and abstract datatypes; Phantom types; Generalized algebraic datatypes; Typecase pattern; Dynamic types; Heterogeneous lists; Abstracting type-classes; Multiparameter type-classes; Functional dependencies; Summary
Chapter 6: Patterns of Generic ProgrammingPatterns of generic programming; Patterns 1 and 2 -- functions; Pattern 3 -- polymorphic types and functions; Pattern 4 -- type-class polymorphism; Pattern 5 -- meta-programming; The Derivable type-classes; Generalized newtype deriving; Pattern 6 -- type laws; Pattern 7 -- datatype generic programming; The sum of products style; The sum of products type representation; Translating between the type and representation; Writing a datatype-generic function; Adding a new datatype; GHC.Generics -- a generic deriving mechanism; Origami programming
Subject Haskell (Computer program language)
Functional programming languages.
Functional programming (Computer science)
Haskell (Langage de programmation)
Langages de programmation fonctionnels.
Programmation fonctionnelle.
Functional programming (Computer science)
Functional programming languages
Haskell (Computer program language)
Added Title Take your Haskell and functional programming skills to the next level by exploring new idioms and design patterns
ISBN 9781783988730
1783988738
178398872X
9781783988723
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information