Banner 468 X 60

Expert F# (Expert’s Voice in .Net)


Chapter 1, Introduction F#
Chapter 2, Getting Started with F# and .NET, begins by introducing F# Interactive, a tool you can use to interactively evaluate F# expressions and declarations and that we encourage you to use while reading this book.
Chapter 3, Introducing Functional Programming, focuses on the basic constructs of typed functional programming, including arithmetic and string primitives, type inference, tuples, lists, options, function values, aggregate operators, recursive functions, function pipelines, function compositions, pattern matching, sequences, and some simple examples of type definitions.
Chapter 4, Introducing Imperative Programming, introduces the basic constructs used for imperative programming in F#. Although the use of imperative programming is often minimized with F#, it is used heavily in some programming tasks such as scripting. You will learn about loops, arrays, mutability mutable records, locals and reference cells, the imperative .NET collections, exceptions, and the basics of .NET I/O.
Chapter 5, Mastering Types and Generics, covers types in more depth, especially the more advanced topics of generic type variables and subtyping. You will learn techniques you can use to make your code generic and how to understand and clarify type error messages reported by the F# compiler.
Chapter 6, Working with Objects and Modules, introduces object-oriented programming in F#. You will learn how to define concrete object types to implement data structures, how to use object-oriented notational devices such as method overloading with your F# types, and how to create objects with mutable state.
Chapter 7, Encapsulating and Packaging Your Code, shows the techniques you can use to hide implementation details and package code fragments together into .NET assemblies. You will also learn how to use the F# command-line compiler tools and how to build libraries that can be shared across multiple projects.
Chapter 8, Mastering F#: Common Techniques, looks at a number of important coding patterns in F#, including how to customize the hashing and comparison semantics of new type definitions, how to precompute and cache intermediary results, and how to create lazy values.
Chapter 9, Introducing Language-Oriented Programming, looks at what is effectively a fourth programming paradigm supported by F#: the manipulation of structured data and language fragments using a variety of concrete and abstract representations. In this chapter you’ll learn how to use XML as a concrete language format, how to convert XML to typed abstract syntax representations, how to design and work with abstract syntax representations, and how to use F# active patterns to hide representations.
Chapter 10, Using the F# and .NET Libraries, gives an overview of the libraries most frequently used with F#, including the .NET Framework and the extra libraries added by F#.
Chapters 11 to 19 deal with applied topics in F# programming. Chapter 11, Working with Windows Forms and Controls, shows how to design and build graphical user interface applications using F# and the .NET Windows Forms library.
Chapter 12, Working with Symbolic Representations, applies some of the techniques from Chapter 9 and Chapter 11 in two case studies. The first is symbolic expression differentiation and rendering, an extended version of a commonly used case study in symbolic programming.
Chapter 13, Reactive, Asynchronous, and Concurrent Programming, shows how you can use F# for programs that have multiple logical threads of execution and that react to inputs and messages. You will first learn how to construct basic background tasks that support progress reporting and cancellation. You will then learn how to use F# asynchronous workflows to build scalable, massively concurrent reactive programs that make good use of the .NET thread pool and other .NET concurrency-related resources.
Chapter 14, Building Web Applications, shows how to use F# with ASP.NET to write serverside scripts that respond to web requests. You will learn how to serve web page content using ASP.NET controls. We also describe how open source projects such as the F# Web Toolkit let you write both parts of Ajax-style client/server applications in F#.
Chapter 15, Working with Data, looks at several dimensions of querying and accessing data from F#. You’ll first learn how functional programming relates to querying in-memory data structures, especially via the LINQ paradigm supported by .NET and F#.
Chapter 16, Lexing and Parsing, shows how to deal with additional concrete language formats beyond those already discussed in Chapter 9. In particular, you will learn how to use the F# tools for generating lexers and parsers from declarative specifications and how to use combinator techniques to build declarative specifications of binary format readers.
Chapter 17, Interoperating with C and COM, shows how to use F# and .NET to interoperate with software that exports a native API. You will learn more about the .NET Common Language Runtime itself, how memory management works, and how to use the .NET Platform Invoke mechanisms from F#.
Chapter 18, Debugging and Testing F# Programs, shows the primary tools and techniques you can use to eliminate bugs from your F# programs. You will learn how to use the .NET and Visual Studio debugging tools with F#, how to use F# Interactive for exploratory development and testing, and how to use the NUnit testing framework with F# code.
Chapter 19, Designing F# Libraries, gives our advice on methodology and design issues for writing libraries in F#. You will learn how to write “vanilla” .NET libraries that make relatively little use of F# constructs at their boundaries in order to appear as natural as possible to other .NET programmers.

Download:
Link_1

0 comments: