Functional programming in scala / Paul Chiusano ; Rúnar Bjarnason.
Tipo de material: TextoEditor: Shelter Island, NY : Manning ; 2015Descripción: XX, 300 p. : Graficas, DiagramsISBN: 1617290653; 9781617290657Tema(s): ESCALA (LENGUAJE DE COMPUTADORAS) | PROGRAMACIÓN FUNCIONAL (COMPUTADORES)Clasificación CDD: 005.133Tipo de ítem | Ubicación actual | Colección | Signatura | Info Vol | Copia número | Estado | Fecha de vencimiento | Código de barras | Reserva de ítems |
---|---|---|---|---|---|---|---|---|---|
LIBRO - MATERIAL GENERAL | Bodega Fondo general | Colección / Fondo / Acervo / Resguardo | 005.133 C543f (Navegar estantería) | Ej. 1 | 1 | Disponible | 023582 |
Navegando Bodega Estantes, Ubicación: Fondo general, Código de colección: Colección / Fondo / Acervo / Resguardo Cerrar el navegador de estanterías
005.12 S241i 6a.ed Ingeniería de software clásica orientada a objetos / | 005.12 S241i 6a.ed Ingeniería de software clásica orientada a objetos / | 005.133 B174b Beginning Java Objects / | 005.133 C543f Functional programming in scala / | 005.133 D347c 5a.ed Cómo programar en Java/ | 005.133 H844r Real world instrumentation with Python / | 005.276 G874p PHP5 a través de ejemplos/ |
Incluye indice
foreword
preface
acknowledgments
about this book
Part 1 Introduction to functional programming
Chapter 1 What is functional programming?
The benefits of FP: a simple example
Exactly what is a (pure) function?
Referential transparency, purity, and the substitution model
Summary
Chapter 2 Getting started with functional programming in Scala
Introducing Scala the language: an example
Running our program
Modules, objects, and namespaces
Higher-order functions: passing functions to functions
Polymorphic functions: abstracting over types
Following types to implementations
Summary
Chapter 3 Functional data structures
Defining functional data structures
Pattern matching
Data sharing in functional data structures
Recursion over lists and generalizing to higher-order functions
Trees
Summary
Chapter 4 Handling errors without exceptions
The good and bad aspects of exceptions
Possible alternatives to exceptions
The Option data type
The Either data type
Summary
Chapter 5 Strictness and laziness
Strict and non-strict functions
An extended example: lazy lists
Separating program description from evaluation
Infinite streams and corecursion
Summary
Chapter 6 Purely functional state
Generating random numbers using side effects
Purely functional random number generation
Making stateful APIs pure
A better API for state actions
A general state action data type
Purely functional imperative programming
Summary
Part 2 Functional design and combinator libraries
Chapter 7 Purely functional parallelism
Choosing data types and functions
Picking a representation
Refining the API
The algebra of an API
Refining combinators to their most general form
Summary
Chapter 8 Property-based testing
A brief tour of property-based testing
Choosing data types and functions
Test case minimization
Using the library and improving its usability
Testing higher-order functions and future directions
The laws of generators
Summary
Chapter 9 Parser combinators
Designing an algebra, first
A possible algebra
Handling context sensitivity
Writing a JSON parser
Error reporting
Implementing the algebra
Summary
Part 3 Common structures in functional design
Chapter 10 Monoids
What is a monoid?
Folding lists with monoids
Associativity and parallelism
Example: Parallel parsing
Foldable data structures
Composing monoids
Summary
Chapter 11 Monads
Functors: generalizing the map function
Monads: generalizing the flatMap and unit functions
Monadic combinators
Monad laws
Just what is a monad?
Summary
Chapter 12 Applicative and traversable functors
Generalizing monads
The Applicative trait
The difference between monads and applicative functors
The advantages of applicative functors
The applicative laws
Traversable functors
Uses of Traverse
Summary
Part 4 Effects and I/O
Chapter 13 External effects and I/O
Factoring effects
A simple IO type
Avoiding the StackOverflowError
A more nuanced IO type
Non-blocking and asynchronous I/O
A general-purpose IO type
Why the IO type is insufficient for streaming I/O
Summary
Chapter 14 Local effects and mutable state
Purely functional mutable state
A data type to enforce scoping of side effects
Purity is contextual
Summary
Chapter 15 Stream processing and incremental I/O
Problems with imperative I/O: an example
Simple stream transducers
An extensible process type
Applications
Summary
index
Functional Programming in Scala es un tutorial seria para los programadores que buscan aprender FP y aplicarlo a su trabajo diario. El libro guía a los lectores a partir de las técnicas básicas a temas avanzados en una progresión lógica, concisa y clara. En ella, usted encontrará ejemplos concretos y ejercicios que se abren al mundo de la programación funcional.
No hay comentarios en este titulo.