{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":29,"n_cols":5,"rows_kept":29,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[9,2,9,3],[10,2,10,3],[11,2,11,3],[12,2,12,3],[14,2,14,3],[16,2,16,3],[17,2,17,3],[21,2,21,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9910974143803321"]
[null,null,"Autore",null,"Sturm Oliver"]
[null,null,"Titolo",null,"Professional functional programming in C# : classic programming techniques for modern projects / / Oliver Sturm"]
[null,null,"Pubbl/distr/stampa",null,"Chichester, West Sussex, U.K., : Wiley, 2011"]
[null,null,"ISBN",null,"9786613157331"]
[{"$nulls":4},"9781283157339"]
[{"$nulls":4},"1283157330"]
[{"$nulls":4},"9780470970287"]
[{"$nulls":4},"0470970286"]
[null,null,"Edizione",null,"[1st edition]"]
[null,null,"Descrizione fisica",null,"1 online resource (290 p.)"]
[null,null,"Classificazione",null,"COM051060"]
[null,null,"Disciplina",null,"005.1/14"]
[{"$nulls":4},"005.133"]
[null,null,"Soggetti",null,"C# (Computer program language)"]
[{"$nulls":4},"Functional programming (Computer science)"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,null,"Note generali","Includes index."]
[null,null,null,"Nota di bibliografia","Includes index."]
[null,null,"Nota di contenuto",null,"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"]
[{"$nulls":4},"Part 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"]
[{"$nulls":4},"Chapter 6: Encapsulating Data in ClosuresConstructing Functions Dynamically; The Problem with Scope; How Closures Work; Summary; "]
[{"$nulls":4},"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"]
[{"$nulls":4},"What'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"]
[{"$nulls":4},"Map, 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"]
[{"$nulls":4},"Implementing Immutable Container Data Structures"]
[null,null,null,"Sommario/riassunto","Take 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"]