Custom cover image
Custom cover image

Professional functional programming in C# : classic programming techniques for modern projects / Oliver Sturm

By: Resource type: Ressourcentyp: Buch (Online)Book (Online)Language: English Publisher: Chichester, West Sussex, U.K : Wiley, 2011Edition: Online-AusgDescription: Online-Ressource (1 online resource (xvii, 270 p.)) : illISBN:
  • 9781283157339
  • 1283157330
  • 9780470970287
Other title:
  • Functional programming in C#
Subject(s): Additional physical formats: 9780470970287 | 9780470971109 | 9780470971093 | 9780470744581 | 1283157268 | Erscheint auch als: Professional functional programming in C#. Druck-Ausgabe 1st. publ. Chichester : Wrox/Wiley, 2011. XVII, 270 S.DDC classification:
  • 005.1/14 22
  • 005.114
  • COM051060
MSC: MSC: *68N18 | 68-01 | 68N15RVK: RVK: ST 250LOC classification:
  • QA76.73.C154
Online resources:
Contents:
Cover; Contents; Title; Copyright; About the Author; Credits; Introduction; Part I : Introduction to Functional Programming; Chapter 1 : A Look at Functional Programming History; What Is Functional Programming?; Functional Languages; The Relationship to Object Oriented Programming; Summary; Chapter 2 : Putting Functional Programming into a Modern Context; Managing Side Effects; Agile Programming Methodologies; Declarative Programming; Functional Programming Is a Mindset; Is Functional Programming in C# a Good Idea?; Summary; Part II : C# Foundations of Functional Programming
Chapter 3 : Functions, Delegates, and Lambda ExpressionsFunctions and Methods; Reusing Functions; Anonymous Functions and Lambda Expressions; Extension Methods; Referential Transparency; Summary; Chapter 4 : Flexible Typing with Generics; Generic Functions; Generic Classes; Constraining Types; Other Generic Types; Covariance and Contravariance; Summary; Chapter 5 : Lazy Listing with Iterators; The Meaning of Laziness; Enumerating Things with .NET; Implementing Iterator Functions; Chaining Iterators; Summary; Chapter 6 : Encapsulating Data in Closures; Constructing Functions Dynamically
The Problem with ScopeHow Closures Work; Summary; Chapter 7 : Code Is Data; Expression Trees in .NET; Analyzing Expressions; Generating Expressions; .NET 4.0 Specifics; Summary; Part III : Implementing Well-known Functional Techniques in C#; Chapter 8 : Currying and Partial Application; Decoupling Parameters; Calling Parts of Functions; Why Parameter Order Matters; Summary; Chapter 9 : Lazy Evaluation; What's Good about Being Lazy?; Passing Functions; Explicit Lazy Evaluation; Comparing the Lazy Evaluation Techniques; How Lazy Can You Be?; Summary; Chapter 10 : Caching Techniques
The Need to RememberPrecomputation; Memoization; Summary; Chapter 11 : Calling Yourself; Recursion in C#; Tail Recursion; Accumulator Passing Style; Continuation Passing Style; Indirect Recursion; Summary; Chapter 12 : Standard Higher Order Functions; Applying Operations: Map; Map, Filter, and Fold in LINQ; Standard Higher Order Functions; Summary; Chapter 13 : Sequences; Understanding List Comprehensions; A Functional Approach to Iterators; Ranges; Restrictions; Summary; Chapter 14 : Constructing Functions from Functions; Composing Functions; Advanced Partial Application
Combining ApproachesSummary; Chapter 15 : Optional Values; The Meaning of Nothing; Implementing Option(al) Values; Summary; Chapter 16 : Keeping Data from Changing; Change Is Good - not!; False Assumptions; Implementing Immutable Container Data Structures; Alternatives to Persistent Data Types; Summary; Chapter 17 : Monads; What's in a Typeclass?; What's in a Monad?; Why Do a Whole Abstraction?; A Second Monad: Logging; Syntactic Sugar; Binding with SelectMany?; Summary; Part IV : Putting Functional Programming into Action; Chapter 18 : Integrating Functional Programming Approaches
Refactoring
Summary: Intro -- Professional Functional Programming in C#: Classic Programming Techniques for Modern Projects -- Contents -- Introduction -- Part I: Introduction to Functional Programming -- Chapter 1: A Look at Functional Programming History -- What Is Functional Programming? -- Functional Languages -- The Relationship to Object Oriented Programming -- Summary -- Chapter 2: Putting Functional Programming Into a Modern Context -- Managing Side Effects -- Agile Programming Methodologies -- Declarative Programming -- Functional Programming Is a Mindset -- Is Functional Programming in C# a Good Idea? -- Summary -- Part II: C# Foundations of Functional Programming -- Chapter 3: Functions, Delegates, and Lambda Expressions -- Functions and Methods -- Reusing Functions -- Anonymous Functions and Lambda Expressions -- Extension Methods -- Referential Transparency -- Summary -- Chapter 4: Flexible Typing With Generics -- Generic Functions -- Generic Classes -- Constraining Types -- Other Generic Types -- Covariance and Contravariance -- Summary -- Chapter 5: Lazy Listing With Iterators -- The Meaning of Laziness -- Enumerating Things with .NET -- Implementing Iterator Functions -- Returning IEnumerator -- Chaining Iterators -- Summary -- Chapter 6: Encapsulating Data in Closures -- Constructing Functions Dynamically -- The Problem with Scope -- How Closures Work -- Summary -- Chapter 7: Code is Data -- Expression Trees in .NET -- Analyzing Expressions -- Generating Expressions -- .NET 4.0 Specifics -- Summary -- Part III: Implementing Well-Known Functional Techniques in C# -- Chapter 8: Currying and Partial Application -- Decoupling Parameters -- Manual Currying -- Automatic Currying -- Calling Curried Functions -- The Class Context -- What FCSlib Contains -- Calling Parts of Functions -- Why Parameter Order Matters -- Summary -- Chapter 9: Lazy Evaluation.PPN: PPN: 809337673Package identifier: Produktsigel: ZDB-26-MYL | ZDB-30-PAD | ZDB-30-PQE | ZDB-38-EBR
No physical items for this record