LEADER 05495nam 2200709Ia 450 001 9910457822003321 005 20200520144314.0 010 $a1-283-15733-0 010 $a9786613157331 010 $a0-470-97028-6 035 $a(CKB)2550000000063604 035 $a(EBL)706797 035 $a(OCoLC)741407782 035 $a(SSID)ssj0000536952 035 $a(PQKBManifestationID)11351351 035 $a(PQKBTitleCode)TC0000536952 035 $a(PQKBWorkID)10550913 035 $a(PQKB)10792994 035 $a(MiAaPQ)EBC706797 035 $a(WaSeSS)Ind00023011 035 $a(CaSebORM)9780470971109 035 $a(PPN)157066363 035 $a(Au-PeEL)EBL706797 035 $a(CaPaEBR)ebr10510390 035 $a(CaONFJC)MIL315733 035 $a(EXLCZ)992550000000063604 100 $a20110302d2011 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aProfessional functional programming in C#$b[electronic resource] $eclassic programming techniques for modern projects /$fOliver Sturm 205 $a1st edition 210 $aChichester, West Sussex, U.K. $cWiley$d2011 215 $a1 online resource (290 p.) 300 $aIncludes index. 311 $a0-470-97110-X 311 $a0-470-74458-8 320 $aIncludes index. 327 $aProfessional 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 327 $aPart II: C# Foundations of Functional ProgrammingChapter 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 327 $aChapter 6: Encapsulating Data in ClosuresConstructing 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 327 $aWhat's Good about Being Lazy?Passing Functions; Explicit Lazy Evaluation; Comparing the Lazy Evaluation Techniques; Usability; Efficiency; How Lazy Can You Be?; Summary; Chapter 10: Caching Techniques; The Need to Remember; Precomputation; Memoization; Deep Memoization; Considerations on 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; Using Criteria: Filter; Accumulating: Fold 327 $aMap, Filter, and Fold in LINQStandard 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 Approaches; Summary; 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; Being Static Is Good; A Matter of Depth; Cloning; Automatic Cloning 327 $aImplementing Immutable Container Data Structures 330 $aTake advantage of the growing trend in functional programming. C# is the number-one language used by .NET developers and one of the most popular programming languages in the world. It has many built-in functional programming features, but most are complex and little understood. With the shift to functional programming increasing at a rapid pace, you need to know how to leverage your existing skills to take advantage of this trend. Functional Programming in C# leads you along a path that begins with the historic value of functional ideas. Inside, C# MVP and functional progra 606 $aC# (Computer program language) 606 $aFunctional programming (Computer science) 608 $aElectronic books. 615 0$aC# (Computer program language) 615 0$aFunctional programming (Computer science) 676 $a005.1/14 676 $a005.133 700 $aSturm$b Oliver$0929035 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910457822003321 996 $aProfessional functional programming in C$92087917 997 $aUNINA