Stylish F♯ : crafting elegant functional code for .NET and .NET core / Kit Eason.

Why just get by in F# when you can program in style! This book goes beyond syntax and into design. It provides F# developers with best practices, guidance, and advice to write beautiful, maintainable, and correct code. Stylish F# covers every design decision that a developer makes in constructing F#...

Full description

Saved in:
Bibliographic Details
Online Access: Full Text (via O'Reilly/Safari)
Main Author: Eason, Kit (Author)
Other title:Stylish F sharp
Format: eBook
Language:English
Published: [California] : Apress, [2018]
Subjects:

MARC

LEADER 00000cam a2200000 i 4500
001 b10457693
006 m o d
007 cr |||||||||||
008 190131s2018 caua ob 000 0 eng d
005 20240829145804.6
019 |a 1117860193 
020 |a 9781484239995 
020 |a 1484239997 
020 |a 9781484240007  |q (electronic bk.) 
020 |a 1484240006  |q (electronic bk.) 
035 |a (OCoLC)safo1083721620 
035 |a (OCoLC)1083721620  |z (OCoLC)1117860193 
037 |a safo9781484240007 
040 |a UMI  |b eng  |e rda  |e pn  |c UMI  |d TOH  |d OCLCF  |d OKX  |d LVT  |d OCLCQ  |d OCLCO  |d OCLCQ  |d OCLCO  |d OCLCL  |d DXU 
049 |a GWRE 
050 4 |a QA76.73.F163 
100 1 |a Eason, Kit,  |e author. 
245 1 0 |a Stylish F♯ :  |b crafting elegant functional code for .NET and .NET core /  |c Kit Eason. 
246 3 |a Stylish F sharp 
264 1 |a [California] :  |b Apress,  |c [2018] 
264 2 |a New York :  |b Distributed to the Book trade worldwide by Springer Science+Business Media New York,  |c [2018] 
264 4 |c ©2018 
300 |a 1 online resource (1 volume) :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a volume  |b nc  |2 rdacarrier 
588 0 |a Online resource; title from cover (Safari, viewed January 28, 2019). 
504 |a Includes bibliographical references. 
505 0 |a Intro; Table of Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Chapter 1: The Sense of Style; Why a Style Guide?; Understanding Beats Obedience; Good Guidance from Bad Code; What About Testability?; Complexity Explosions; Summary; Chapter 2: Designing Functions Using Types; Miles and Yards (No, Really!); Converting Miles and Yards to Decimal Miles; How to Design a Function; Sketch the Signature of the Function; Naïvely Code the Body of the Function; Review the Signature for Type Safety; Review and Refine; A Final Polish; Recommendations; Summary. 
505 8 |a ExercisesExercise Solutions; Chapter 3: Missing Data; A Brief History of Null; Option Types versus Null; Consuming Option Types; Pattern Matching on Option Types; The Option Module; The Option.defaultValue Function; The Option.iter Function; Option.map and Option.bind; The Option.map Function; The Option.bind Function; Option Type No-Nos; Designing Out Missing Data; Interoperating with the Nullable World; Leaking In of Null Values; Defining a SafeString Type; Using Option.ofObj; Using Option.ofNullable; Leaking Option Types and DUs Out; Using Option.toObj; Using Option.toNullable. 
505 8 |a The Future of NullThe ValueOption Type; Recommendations; Summary; Exercises; Exercise Solutions; Chapter 4: Working Effectively with Collection Functions; Anatomy of a Collection Function; Picking the Right Collection Function; Detailed Collection Function Tables; Practicing with Collection Functions; Exercise Setup; Single Collection Function Exercises; Multiple Collection Function Exercises; Partial Functions; Coding Around Partial Functions; Using the "try" Idiom for Partial Functions; Consuming Values from try ... Functions; Try ... Function Exercises; Functions for Other Kinds of Collections. 
505 8 |a When the Collection Function Is MissingCommon Mistakes; Recommendations; Summary; Exercise Solutions; Chapter 5: Immutability and Mutation; These Folks Are Crazy!; Classic Mutable Style; Immutability Basics; Common Mutable Patterns; Linear Search; Guarded Linear Search; Process All Items; Repeat Until; Find Extreme Value; Summarize a Collection; Recommendations; Summary; Exercises; Exercise Solutions; Chapter 6: Pattern Matching; Weaving Software with Patterns; Pattern Matching Basics; When Guards; Pattern Matching on Arrays and Lists; Pattern Matching on Tuples; Pattern Matching on Records. 
505 8 |a Pattern Matching on Discriminated UnionsPattern Matching on DUs in Function Parameters; Pattern Matching in Let Bindings; Pattern Matching in Loops and Lambdas; Pattern Matching and Enums; Active Patterns; Single Case Active Patterns; Multi-Case Active Patterns; Partial Active Patterns; Parameterized Active Patterns; Pattern Matching with ' & '; Pattern Matching on Types; Pattern Matching on Null; Recommendations; Summary; Exercises; Exercise Solutions; Chapter 7: Record Types; Winning with Records; Record Type Basics; Record Types and Immutability; Default Constructors, Setters, and Getters. 
520 |a Why just get by in F# when you can program in style! This book goes beyond syntax and into design. It provides F# developers with best practices, guidance, and advice to write beautiful, maintainable, and correct code. Stylish F# covers every design decision that a developer makes in constructing F# programs, helping you make the most educated and valuable design choices at every stage of code development. You will learn about the design of types and function signatures, the benefits of immutability, and the uses of partial function application. You will understand best practices for writing APIs to be used by F#, C#, and other languages. Each carefully vetted design choice is supported with compelling examples, illustrations, and rationales. What You'll Learn: Know why, when, and how to code in immutable style Use collection functions, piping, and function composition to build working software quickly Be aware of the techniques available to bring error handling into the mainstream of program logic Optimize F# code for maximum performance Identify and implement opportunities to use function injection to improve program design Appreciate the methods available to handle unknown data values Understand asynchronous and parallel programming in F#, and how it differs from C# asynchronous programming This book is for any developer who writes F# code, and wants to write it better. Kit Eason is a software developer and educator with more than 20 years of experience. He has been programming in F# since 2011 and is employed at Perpetuum Ltd., working on an extensive network of energy-harvesting vibration sensors fitted to railway rolling stock. Kit is an avid F# user who is passionate about teaching others. He has contributed to several publications, as well as to the books Beginning F# and F# Deep Dives, both published by Apress. . 
630 0 0 |a Microsoft .NET Framework. 
630 0 7 |a Microsoft .NET Framework  |2 fast 
650 0 |a F♯ (Computer program language) 
650 0 |a Functional programming languages. 
650 7 |a F♯ (Computer program language)  |2 fast 
650 7 |a Functional programming languages  |2 fast 
758 |i has work:  |a Stylish F# (Text)  |1 https://id.oclc.org/worldcat/entity/E39PCGtcfrpQtwqwRQx3P8dgmm  |4 https://id.oclc.org/worldcat/ontology/hasWork 
776 0 8 |i Print version:  |a Eason, Kit.  |t Stylish F♯ : Crafting Elegant Functional Code for . NET and . NET Core.  |d Berkeley, CA : Apress L.P., ©2018  |z 9781484239995 
856 4 0 |u https://go.oreilly.com/UniOfColoradoBoulder/library/view/~/9781484240007/?ar  |z Full Text (via O'Reilly/Safari) 
915 |a - 
956 |a O'Reilly-Safari eBooks 
956 |b O'Reilly Online Learning: Academic/Public Library Edition 
994 |a 92  |b COD 
998 |b Subsequent record output 
999 f f |i 3f275940-51f3-5291-a58e-8adcf44b4337  |s e75e980b-c214-52e2-89c8-ee0d19ae2c52 
952 f f |p Can circulate  |a University of Colorado Boulder  |b Online  |c Online  |d Online  |e QA76.73.F163  |h Library of Congress classification  |i web  |n 1