000 | 07632cam a2200481 a 4500 | ||
---|---|---|---|
001 | 16672858 | ||
003 | BD-DhUL | ||
005 | 20140725145022.0 | ||
008 | 140724s2011 enka 001 0 eng | ||
010 | _a 2011009321 | ||
020 | _a9780470744581 | ||
020 | _a0470744588 | ||
020 | _a9780470970287 (ebk) | ||
020 | _a9780470971109 (ebk) | ||
020 | _a9780470971093 (ebk) | ||
035 | _a(OCoLC)ocn711864596 | ||
040 |
_aDLC _cDLC _dYDX _dYDXCP _dCDX _dUPM _dINU _dDLC _dBD-DhUL |
||
042 | _apcc | ||
050 | 0 | 0 |
_aQA76.73.C154 _bS78 2011 |
082 | 0 | 0 |
_a005.114 _222 _bSTP |
084 |
_aCOM051060 _2bisacsh |
||
100 | 1 | _aSturm, Oliver. | |
245 | 1 | 0 |
_aProfessional functional programming in C# : _bclassic programming techniques for modern projects / _cOliver Sturm. |
246 | 3 | 4 | _aFunctional programming in C# |
260 |
_aChichester, West Sussex, U.K. : _bWiley, _c2011. |
||
300 |
_axvii, 270 p. : _bill. ; _c24 cm. |
||
365 |
_aUSD _b31.49 |
||
500 | _aIncludes index. | ||
505 | 0 | 0 |
_gMachine generated contents note: _gch. 1 _tA Look At Functional Programming History -- _tWhat Is Functional Programming? -- _tFunctional Languages -- _tThe Relationship to Object Oriented Programming -- _tSummary -- _gch. 2 _tPutting Functional Programming Into A Modern Context -- _tManaging Side Effects -- _tAgile Programming Methodologies -- _tDeclarative Programming -- _tFunctional Programming Is a Mindset -- _tIs Functional Programming in C# a Good Idea? -- _tSummary -- _gch. 3 _tFunctions, Delegates, And Lambda Expressions -- _tFunctions and Methods -- _tReusing Functions -- _tAnonymous Functions and Lambda Expressions -- _tExtension Methods -- _tReferential Transparency -- _tSummary -- _gch. 4 _tFlexible Typing With Generics -- _tGeneric Functions -- _tGeneric Classes -- _tConstraining Types -- _tOther Generic Types -- _tCovariance and Contravariance -- _tSummary -- _gch. 5 _tLazy Listing With Iterators -- _tThe Meaning of Laziness -- _tEnumerating Things with .NET -- _tImplementing Iterator Functions -- _tReturning IEnumerator -- _tChaining Iterators -- _tSummary |
505 | 0 | 0 |
_gCh. 6 _tEncapsulating Data In Closures -- _tConstructing Functions Dynamically -- _tThe Problem with Scope -- _tHow Closures Work -- _tSummary -- _gch. 7 _tCode Is Data -- _tExpression Trees in .NET -- _tAnalyzing Expressions -- _tGenerating Expressions -- _t.NET 4.0 Specifics -- _tSummary -- _gch. 8 _tCurrying And Partial Application -- _tDecoupling Parameters -- _tManual Currying -- _tAutomatic Currying -- _tCalling Curried Functions -- _tThe Class Context -- _tWhat FCSlib Contains -- _tCalling Parts of Functions -- _tWhy Parameter Order Matters -- _tSummary -- _gch. 9 _tLazy Evaluation -- _tWhat's Good about Being Lazy? -- _tPassing Functions -- _tExplicit Lazy Evaluation -- _tComparing the Lazy Evaluation Techniques -- _tUsability -- _tEfficiency -- _tHow Lazy Can You Be? -- _tSummary -- _gch. 10 _tCaching Techniques -- _tThe Need to Remember -- _tPrecomputation -- _tMemoization -- _tDeep Memoization -- _tConsiderations on Memoization -- _tSummary -- _gch. 11 _tCalling Yourself -- _tRecursion in C# -- _tTail Recursion -- _tAccumulator Passing Style -- _tContinuation Passing Style -- _tIndirect Recursion -- _tSummary |
505 | 0 | 0 |
_gCh. 12 _tStandard Higher Order Functions -- _tApplying Operations: Map -- _tUsing Criteria: Filter -- _tAccumulating: Fold -- _tMap, Filter, and Fold in LINQ -- _tStandard Higher Order Functions -- _tSummary -- _gch. 13 _tSequences -- _tUnderstanding List Comprehensions -- _tA Functional Approach to Iterators -- _tRanges -- _tRestrictions -- _tSummary -- _gch. 14 _tConstructing Functions From Functions -- _tComposing Functions -- _tAdvanced Partial Application -- _tCombining Approaches -- _tSummary -- _gch. 15 _tOptional Values -- _tThe Meaning of Nothing -- _tImplementing Option(al) Values -- _tSummary -- _gch. 16 _tKeeping Data From Changing -- _tChange Is Good[ -- ]Not! -- _tFalse Assumptions -- _tBeing Static Is Good -- _tA Matter of Depth -- _tCloning -- _tAutomatic Cloning -- _tImplementing Immutable Container Data Structures -- _tLinked List -- _tQueue -- _tUnbalanced Binary Tree -- _tRed/Black Tree -- _tAlternatives to Persistent Data Types -- _tSummary -- _gch. 17 _tMonads -- _tWhat's in a Typeclass? -- _tWhat's in a Monad? -- _tWhy Do a Whole Abstraction? -- _tA Second Monad: Logging -- _tSyntactic Sugar -- _tBinding with SelectMany? -- _tSummary |
505 | 0 | 0 |
_gCh. 18 _tIntegrating Functional Programming Approaches -- _tRefactoring -- _tList Filtering with a Windows Forms UI -- _tCalculating Mandelbrot Fractals -- _tWriting New Code -- _tUse Static Methods -- _tPrefer Anonymous Methods Over Named Ones -- _tPrefer Higher Order Functions over Manual Algorithm Implementation -- _tPrefer Immutable Data -- _tWatch Behavior Implementation in Classes -- _tFinding Likely Candidates for Functional Programming -- _tShades of Grey -- _tUsing What's There -- _tSummary -- _gch. 19 _tThe MapReduce Pattern -- _tImplementing MapReduce -- _tAbstracting the Problem -- _tSummary -- _gch. 20 _tApplied Functional Modularization -- _tExecuting SQL Code from an Application -- _tRewriting the Function with Partial Application and Precomputation in Mind -- _tSummary -- _gch. 21 _tExisting Projects Using Functional Techniques -- _tThe .NET Framework -- _tLINQ -- _tLINQ to Objects -- _tLINQ to a Query Backend -- _tParallelization -- _tGoogle MapReduce and Its Implementations -- _tNUnit -- _tSummary. |
520 |
_a"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 programming expert Oliver Sturm explains the details of relevant language features in C# and describes theory and practice of using functional techniques in C#, including currying, partial application, composition, memoization, and monads. Next, he provides practical and versatile examples, which combine approaches to solve problems in several different areas, including complex scenarios like concurrency and high-performance calculation frameworks as well as simpler use cases like Web Services and business logic implementation... Shows how C# developers can leverage their existing skills to take advantage of functional programming. Uses very little math theory and instead focuses on providing solutions to real development problems with functional programming methods, unlike traditional functional programming titles. Includes examples ranging from simple cases to more complex scenarios.. Let Functional Programming in C# show you how to get in front of the shift toward functional programming."-- _cProvided by publisher. |
||
650 | 0 | _aC# (Computer program language) | |
650 | 0 | _aFunctional programming (Computer science) | |
856 | 4 | 2 |
_3Cover image _uhttp://catalogimages.wiley.com/images/db/jimages/9780470744581.jpg |
856 | 4 | 2 |
_3Contributor biographical information _uhttp://www.loc.gov/catdir/enhancements/fy1210/2011009321-b.html |
856 | 4 | 2 |
_3Publisher description _uhttp://www.loc.gov/catdir/enhancements/fy1210/2011009321-d.html |
856 | 4 | 1 |
_3Table of contents only _uhttp://www.loc.gov/catdir/enhancements/fy1210/2011009321-t.html |
906 |
_a7 _bcbc _corignew _d1 _eecip _f20 _gy-gencatlg |
||
942 |
_2ddc _cBK |
||
955 |
_bxj12 2011-03-02 _cxj12 2011-03-02 ONIX to STM _axn01 2012-01-11 1 copy rec'd., to CIP ver. |
||
999 |
_c743 _d743 |