Cargando…

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...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Hansen, Michael R.
Otros Autores: Rischel, Hans
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