
Programming F# 3.0
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Copyright
- Table of Contents
- Preface
- Introducing F#
- Who This Book Is For
- What You Need to Get Going
- How the Book Is Organized
- Part I
- Part II
- Part III
- Part IV
- Conventions Used in This Book
- Using Code Examples
- Safari® Books Online
- I'd Like to Hear from You
- Acknowledgments
- Chapter 1. Introduction to F#
- Getting to Know F#
- Visual Studio 11
- Your Second F# Program
- Values
- Whitespace Matters
- .NET Interop
- Comments
- F# Interactive
- Managing F# Source Files
- Chapter 2. Fundamentals
- Primitive Types
- Numeric Primitives
- Arithmetic
- Conversion Routines
- BigInteger
- Bitwise Operations
- Characters
- Strings
- Boolean Values
- Comparison and Equality
- Functions
- Type Inference
- Generic Functions
- Scope
- Control Flow
- Core Types
- Unit
- Tuple
- Lists
- Aggregate Operators
- Option
- Printf
- Organizing F# Code
- Modules
- Namespaces
- Program Startup
- Chapter 3. Functional Programming
- Understanding Functions
- Immutability
- Function Values
- Recursive Functions
- Symbolic Operators
- Function Composition
- Pattern Matching
- Match Failure
- Named Patterns
- Matching Literals
- when Guards
- Grouping Patterns
- Matching the Structure of Data
- Outside of Match Expressions
- Alternate Lambda Syntax
- Discriminated Unions
- Using Discriminated Unions for Tree Structures
- Pattern Matching
- Methods and Properties
- Records
- Cloning Records
- Pattern Matching
- Type Inference
- Methods and Properties
- Lazy Evaluation
- Lazy Types
- Sequences
- Sequence Expressions
- Seq Module Functions
- Aggregate Operators
- Queries
- Query Expressions
- Query Operators
- Chapter 4. Imperative Programming
- Understanding Memory in .NET
- Value Types Versus Reference Types
- Default Values
- Reference Type Aliasing
- Changing Values
- Reference Cells
- Mutable Records
- Units of Measure
- Defining Units of Measure
- Converting Between Units of Measure
- Generic Units of Measure
- Arrays
- Indexing an Array
- Array Slices
- Creating Arrays
- Pattern Matching
- Array Equality
- Array Module Functions
- Multidimensional Arrays
- Mutable Collection Types
- List&'T&
- Dictionary&'K,'V&
- HashSet&'T&
- Looping Constructs
- While Loops
- For Loops
- Exceptions
- Handling Exceptions
- Reraising Exceptions
- Defining Exceptions
- Chapter 5. Object-Oriented Programming
- Programming with Objects
- The Benefits of OOP
- Where OOP Breaks Down
- Understanding System.Object
- Common Methods
- Object Equality
- Generated Equality
- Understanding Classes
- Explicit Construction
- Implicit Class Construction
- Generic Classes
- The Self Identifier
- Methods and Properties
- Properties
- Setting Properties in the Constructor
- Methods
- Static Methods, Properties, and Fields
- Method Overloading
- Accessibility Modifiers
- Inheritance
- Method Overriding
- Categories of Classes
- Casting
- Chapter 6. .NET Programming
- The .NET Platform
- The CLI
- Garbage Collection
- Interfaces
- Using Interfaces
- Defining Interfaces
- Object Expressions
- Object Expressions for Interfaces
- Object Expressions for Derived Classes
- Extension Methods
- Extending Modules
- Enumerations
- Creating Enumerations
- Conversion
- When to Use an Enum Versus a Discriminated Union
- Structs
- Creating Structs
- Restrictions
- When to Use a Struct Versus a Record
- Chapter 7. Applied Functional Programming
- Active Patterns
- Single-Case Active Patterns
- Partial Active Patterns
- Parameterized Active Patterns
- Multicase Active Patterns
- Using Active Patterns
- Using Modules
- Converting Modules to Classes
- Intentional Shadowing
- Controlling Module Usage
- Mastering Lists
- List Operations
- Using Lists
- Tail Recursion
- Understanding the Stack
- Introducing Tail Recursion
- Tail-Recursive Patterns
- Programming with Functions
- Partial Function Application
- Eliminating Redundant Code
- Closures
- Functional Patterns
- Memoization
- Mutable Function Values
- Lazy Programming
- Functional Data Structures
- Functional Set
- Functional Map
- Chapter 8. Applied Object-Oriented Programming
- Operators
- Operator Overloading
- Indexers
- Adding Slices
- Generic Type Constraints
- Delegates and Events
- Defining Delegates
- Combining Delegates
- Events
- Creating Events
- The Event&_,_& Class
- The Observable Module
- Creating .NET Events
- Chapter 9. Asynchronous and Parallel Programming
- Working with Threads
- Spawning Threads
- The .NET Thread Pool
- Sharing Data
- Asynchronous Programming
- Asynchronous Workflows
- The Async Library
- Async Operations
- Custom Async Primitives
- Limitations
- Parallel Programming
- Parallel.For
- The Array.Parallel Module
- Task Parallel Library
- Primitives
- Concurrent Data Structures
- Chapter 10. Scripting
- F# Script Files
- Directives
- General Directives
- F# Script-Specific Directives
- F# Script Recipes
- Colorful Output
- Producing Sound
- Walking a Directory Structure
- Starting Processes Easily
- Automating Microsoft Office
- Chapter 11. Data Processing
- Indexing
- The Index Data Structure
- MapReduce Processing
- Search Index Mapper
- Search Index Reducer
- Querying
- Lex and Yacc
- Query Processing
- Chapter 12. Reflection
- Attributes
- Applying Attributes
- Defining New Attributes
- Type Reflection
- Accessing Types
- Reflecting on F# Types
- Dynamic Instantiation
- Instantiating Types
- Instantiating F# Types
- Dynamic Invocation
- The Question Mark Operators
- Using Reflection
- Declarative Programming
- Plug-in Architecture
- Chapter 13. Computation Expressions
- Toward Computation Expressions
- Computation Expression Builders
- Custom Computation Expression Builders
- Asynchronous Workflows
- The Rounding Workflow
- The State Workflow
- Chapter 14. Quotations
- Quotation Basics
- Decomposing Quotations
- Quoting Method Bodies
- Decomposing Arbitrary Code
- Application: Deferring Computation to Other Platforms
- Generating Quotation Expressions
- Expression Holes
- Evaluating Quotations
- Application: Generating Derivatives
- Chapter 15. Type Providers
- Typed Data Versus Typed Languages
- Wrapper Assemblies
- F# Type Providers
- Type Providers
- SQL Data Type Providers
- Entity Framework
- Web Service Type Providers
- Custom Type Providers
- Appendix A. Overview of .NET Libraries
- Visualization
- Windows Forms
- Windows Presentation Foundation
- Data Processing
- Regular Expressions
- Working with XML
- Storing Data
- File I/O
- Data Serialization
- Deserialization
- Appendix B. F# Interop
- .NET Interop
- Nullable Types
- C# Interoperating with F#
- F# Interoperating with C#
- Unmanaged Interop
- Platform Invoke
- COM Interop
- Index
- About the Author
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.