Book description
This work strikes a balance between the pure functional aspects of F# and the object-oriented and imperative features that make it so useful in practice, enable .NET integration, and make large-scale data processing possible.
—Thore Graepel, PhD, Researcher, Microsoft Research Ltd.
Over the next five years, F# is expected to become one of the world's most popular functional programming languages for scientists of all disciplines working on the Windows platform. F# is free and, unlike MATLAB® and other software with numerical/scientific origins, is a full-fledged programming language.
Developed in consultation with Don Syme of Microsoft Research Ltd.—who wrote the language—F# for Scientists explains and demonstrates the powerful features of this important new programming language. The book assumes no prior experience and guides the reader from the basics of computer programming to the implementation of state-of-the-art algorithms.
F# for Scientists begins with coverage of introductory material in the areas of functional programming, .NET, and scientific computing, and goes on to explore:
Program structure
Optimization
Data structures
Libraries
Numerical analysis
Databases
Input and output
Interoperability
Visualization
Screenshots of development using Visual Studio are used to illustrate compilation, debugging, and interactive use, while complete examples of a few whole programs are included to give readers a complete view of F#'s capabilities.
Written in a clear and concise style, F# for Scientists is well suited for researchers, scientists, and developers who want to program under the Windows platform. It also serves as an ideal supplemental text for advanced undergraduate and graduate students with a background in science or engineering.
Table of contents
- Copyright
- Foreword
- Preface
- Acknowledgments
- List of Figures
- List of Tables
- Acronyms
- 1. INTRODUCTION
- 2. PROGRAM STRUCTURE
- 3. DATA STRUCTURES
- 4. NUMERICAL ANALYSIS
- 5. INPUT AND OUTPUT
- 6. SIMPLE EXAMPLES
- 7. VISUALIZATION
-
8. OPTIMIZATION
- 8.1. TIMING
- 8.2. PROFILING
- 8.3. ALGORITHMIC OPTIMIZATIONS
-
8.4. LOWER-LEVEL OPTIMIZATIONS
- 8.4.1. Benchmarking data structures
- 8.4.2. Compiler flags
- 8.4.3. Tail-recursion
- 8.4.4. Avoiding allocation
- 8.4.5. Terminating early
- 8.4.6. Avoiding higher-order functions
- 8.4.7. Use mutable
- 8.4.8. Specialized functions
- 8.4.9. Unboxing data structures
- 8.4.10. Eliminate needless closures
- 8.4.11. Inlining
- 8.4.12. Serializing
- 9. LIBRARIES
- 10. DATABASES
- 11. INTEROPERABILITY
- 12. COMPLETE EXAMPLES
- A. Troubleshooting
- Glossary
-
Bibliography
Product information
- Title: F# for Scientists
- Author(s):
- Release date: August 2008
- Publisher(s): Wiley-Interscience
- ISBN: 9780470242117
You might also like
book
Getting Clojure
Behind every programming language lies a vision of how programs should be built. The vision behind …
book
PowerShell Cookbook, 4th Edition
How do you use PowerShell to navigate the filesystem, manage files and folders, or retrieve a …
book
Paradigms of Artificial Intelligence Programming
Paradigms of AI Programming is the first text to teach advanced Common Lisp techniques in the …
book
Automate the Boring Stuff with Python, 2nd Edition
If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how …