Expert F# 4.0 [electronic resource] /
Syme, Don.author.
Granicz, Adam.author.
Cisternino, Antonio.author.
Learn from F#'s inventor to become an expert in the latest version of this powerful programming language so you can seamlessly integrate functional, imperative, object-oriented, and query programming style flexibly and elegantly to solve any programming problem. Expert F# 4.0 will help you achieve unrivaled levels of programmer productivity and program clarity across multiple platforms including Windows, Linux, Android, OSX, and iOS as well as HTML5 and GPUs. F# 4.0 is a mature, open source, cross-platform, functional-first programming language which empowers users and organizations to tackle complex computing problems with simple, maintainable, and robust code. Expert F# 4.0 is: A comprehensive guide to the latest version of F# by the inventor of the language A treasury of F# techniques for practical problem-solving An in-depth case book of F# applications and F# 4.0 concepts, syntax, and features Written by F#'s inventor and two major F# community members, Expert F# 4.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!
Contents at a Glance; Contents; About the Authors; About the Technical Reviewers; 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 Modules
Fetching a Web Page  Getting and Using Packages ;  Accessing External Data Using F# Packages;  Starting a Web Server and Serving Data using F# Packages;  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 Patterns
Introducing Function Values Using Function Values;  Computing with Collection Functions ;  Using Fluent Notation on Collections;  Composing Functions with >>;  Building Functions with Partial Application ;  Using Local Functions ;  Iterating with Functions;  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 Records Avoiding Aliasing ;  Using Mutable let Bindings ;  Hiding Mutable Data ;  Working with Arrays ;  Generating and Slicing Arrays;  Two-Dimensional Arrays ;  Introducing the Imperative .NET Collections ;  Using Resizable 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 Caching ;  Precomputation and Partial Application ;  Precomputation and Objects ;  Memoizing Computations;  Lazy Values ;  Other Variations on Caching and Memoization ;  Mutable Reference Cells ;  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
Includes index.
Learn from F#'s inventor to become an expert in the latest version of this powerful programming language so you can seamlessly integrate functional, imperative, object-oriented, and query programming style flexibly and elegantly to solve any programming problem. Expert F# 4.0 will help you achieve unrivaled levels of programmer productivity and program clarity across multiple platforms including Windows, Linux, Android, OSX, and iOS as well as HTML5 and GPUs. F# 4.0 is a mature, open source, cross-platform, functional-first programming language which empowers users and organizations to tackle complex computing problems with simple, maintainable, and robust code. Expert F# 4.0 is: A comprehensive guide to the latest version of F# by the inventor of the language A treasury of F# techniques for practical problem-solving An in-depth case book of F# applications and F# 4.0 concepts, syntax, and features Written by F#'s inventor and two major F# community members, Expert F# 4.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!
Programming languages (Electronic computers).
Programming Languages, Compilers, Interpreters.