Expert F# 3.0 [electronic resource] /
Syme, Don.author.
Granicz, Adam.author.
Cisternino, Antonio.author.
Expert F# 3.0 is about practical programming in a beautiful language that puts the power and elegance of data-rich functional programming into the hands of professional developers. In combination with .NET, F# achieves unrivaled levels of programmer productivity and program clarity. Expert F# 3.0 is: A comprehensive guide to F# by the inventor of F# A treasury of F# techniques for practical problem-solving An in-depth case book of how F# applications and of F# 3.0 concepts, syntax, and features F# isn't just another functional programming language. It's a general-purpose language ideal for solving real-world development problems. F# seamlessly integrates functional, imperative, object-oriented and query programming styles so you can flexibly and elegantly solve any programming problem. F# 3.0 combines this with the seamless data-integration capabilities of F# Information-Rich Programming. Whatever your background, you’ll find that F# is easy to learn, fun to use, and extraordinarily powerful. F# will change the way you think about—and go about—programming. Written by F#'s inventor and two major F# community members, Expert F# 3.0 is a comprehensive and in-depth guide to the language and its use. Designed to help others become experts, the book quickly yet carefully describes the paradigms supported by F# language, and then shows how to use F# elegantly for a practical web, data, parallel and analytical programming tasks. The world's experts in F# show you how to program in F# the way they do!
Title Page; Copyright Page; Dedication Page; Contents at a Glance; Table of Contents; About the Authors; About the Technical Reviewer; Acknowledgments; CHAPTER 1 Introduction; The Genesis of F#; About This Book; Who This Book Is For; CHAPTER 2 Your First F# Program - Getting Started With F#; Creating Your First F# Program; Documenting Code; Using let; Understanding Types; Calling Functions; Lightweight Syntax; Understanding Scope; Using Data Structures; Using Properties and the Dot-Notation; Using Tuples; Using Imperative Code; Using Object-Oriented Libraries from F#
Using open to Access Namespaces and ModulesUsing open to Access Namespaces and Modules; Using new and Setting Properties; Using new and Setting Properties; Fetching a Web Page; Fetching a Web Page; Summary; CHAPTER 3 Introducing Functional Programming; Starting with Numbers and Strings; Some Simple Types and Literals; Arithmetic Conversions; Arithmetic Comparisons; Simple Strings; Working with Conditionals: && and ||; Defining Recursive Functions; Lists; Options; Getting Started with Pattern Matching; Matching on Structured Values; Guarding Rules and Combining Patterns
Further Ways of Forming PatternsIntroducing Function Values; Using Anonymous Function Values; Computing with Aggregate Operators; Composing Functions with >>; Building Functions with Partial Application; Using Local Functions; Iterating with Aggregate Operators; Abstracting Control with Functions; Using Object Methods as First-Class Functions; Some Common Uses of Function Values; Summary; CHAPTER 4 Introducing Imperative Programming; About Functional and Imperative Programming; Imperative Looping and Iterating; Simple for Loops; Simple While Loops; More Iteration Loops over Sequences
Using Mutable RecordsMutable Reference Cells; Avoiding Aliasing; Hiding Mutable Data; Using Mutable Locals; Working with Arrays; Generating and Slicing Arrays; Two-Dimensional Arrays; Introducing the Imperative .NET Collections; Using Resizeable Arrays; Using Dictionaries; Using Dictionary's TryGetValue; Using Dictionaries with Compound Keys; Some Other Mutable Data Structures; Exceptions and Controlling Them; Catching Exceptions; Using try . . . finally; Defining New Exception Types; Having an Effect: Basic I/O; .NET I/O via Streams; Some Other I/O-Related Types; Using System.Console
Combining Functional and Imperative:Efficient Precomputation and CachingPrecomputation and Partial Application; Precomputation and Objects; Memoizing Computations; Lazy Values; Other Variations on Caching and Memoization; Combining Functional and Imperative:Functional Programming with Side Effects; Consider Replacing Mutable Locals and Loops with Recursion; Separating Pure Computation from Side-Effecting Computations; Separating Mutable Data Structures; Not All Side Effects Are Equal; Avoid Combining Imperative Programming and Laziness; Summary
CHAPTER 5 Understanding Types in Functional Programming
Includes index.
Expert F# 3.0 is about practical programming in a beautiful language that puts the power and elegance of data-rich functional programming into the hands of professional developers. In combination with .NET, F# achieves unrivaled levels of programmer productivity and program clarity. Expert F# 3.0 is: A comprehensive guide to F# by the inventor of F# A treasury of F# techniques for practical problem-solving An in-depth case book of how F# applications and of F# 3.0 concepts, syntax, and features F# isn't just another functional programming language. It's a general-purpose language ideal for solving real-world development problems. F# seamlessly integrates functional, imperative, object-oriented and query programming styles so you can flexibly and elegantly solve any programming problem. F# 3.0 combines this with the seamless data-integration capabilities of F# Information-Rich Programming. Whatever your background, you’ll find that F# is easy to learn, fun to use, and extraordinarily powerful. F# will change the way you think about—and go about—programming. Written by F#'s inventor and two major F# community members, Expert F# 3.0 is a comprehensive and in-depth guide to the language and its use. Designed to help others become experts, the book quickly yet carefully describes the paradigms supported by F# language, and then shows how to use F# elegantly for a practical web, data, parallel and analytical programming tasks. The world's experts in F# show you how to program in F# the way they do!
Microsoft .NET Framework.
Microsoft software.
Microsoft .NET Framework.
Software engineering.
Microsoft and .NET.
Software Engineering/Programming and Operating Systems.