Functional Programming Using F♯
This comprehensive introduction to the principles of functional programming using F♯ shows how to apply basic theoretical concepts to produce succinct and elegant programs. It demonstrates the role of functional programming in a wide spectrum of applications including databases and systems. Coverage...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Otros Autores: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Cambridge :
Cambridge University Press,
2013.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Preface; 1 Getting started; 1.1 Values, types, identifiers and declarations; 1.2 Simple function declarations; 1.3 Anonymous functions. Function expressions; 1.4 Recursion; 1.5 Pairs; 1.6 Types and type checking; 1.7 Bindings and environments; 1.8 Euclid's algorithm; 1.9 Evaluations with environments; 1.10 Free-standing programs; Summary; Exercises; 2 Values, operators, expressions and functions; 2.1 Numbers. Truth values. The unit type; 2.2 Operator precedence and association; 2.3 Characters and strings; 2.4 If-then-else expressions; 2.5 Overloaded functions and operators
- 4 Lists4.1 The concept of a list; 4.2 Construction and decomposition of lists; 4.3 Typical recursions over lists; 4.4 Polymorphism; 4.5 The value restrictions on polymorphic expressions; 4.6 Examples. A model-based approach; Summary; Exercises; 5 Collections: Lists, maps and sets; 5.1 Lists; 5.2 Finite sets; 5.3 Maps; Summary; Exercises; 6 Finite trees; 6.1 Chinese boxes; 6.2 Symbolic differentiation; 6.3 Binary trees. Parameterized types; 6.4 Traversal of binary trees. Search trees; 6.5 Expression trees; 6.6 Trees with a variable number of sub-trees. Mutual recursion; 6.7 Electrical circuits
- 8.8 Imperative functions on lists and other collections8.9 Imperative tree traversal; 8.10 Arrays; 8.11 Imperative set and map; 8.12 Functions on collections. Enumerator functions; 8.13 Imperative queue; 8.14 Restrictions on polymorphic expressions; Summary; Exercises; 9 Efficiency; 9.1 Resource measures; 9.2 Memory management; 9.3 Two problems; 9.4 Solutions using accumulating parameters; 9.5 Iterative function declarations; 9.6 Tail recursion obtained using continuations; Summary; Exercises; 10 Text processing programs; 10.1 Keyword index example: Problem statement