Welcome to the Learning Visual F# – Foundations Book Website

The book has been withdrawn from sale since updates to Visual Studio and F# since 2015/2016 have resulted in a proportion of the material being out of date and redundant with respect to Visual Studio, .NET Core and F# updates. This website is maintained, for the time being, in legacy mode pending any future second edition which reflects the contemporary versions of these products.


The Foundations book is about learning how to use F# as a general-purpose programming language in a number of business oriented scenarios whilst making use of the .NET Framework and the Community Edition of Visual Studio 2015.

The two volumes - with 62 hours of accompanying videos, concentrate upon learning the language using what many would call “real world” examples. The intent is that an inexperienced programmer, or one who has little exposure to application development, can gain a sound understanding of the primary concepts and usage of F# in generalised application development scenarios.


About the book

The material has been split into two volumes for expediency – largely in terms of meeting “standard” printing requirements and book sizes – each volume comprising of around 750 pages.

Note that this is not a “grand tour” of the features of the F# Language nor of “Functional Programming” theory and practice. Nor are there trivial, non-interconnected sequences of code fragments to demonstrate some of these features using inane examples in terms of "games" or imaginary requirements.

Prerequisites

Whilst there is a degree of technical jargon regarding classes (as in object-oriented programming) and most specifically using the Extensible Markup Language (XML), these are “mild” pre-requisites and it is sufficient, to my mind, for the interested reader to watch the following introductory videos to become familiar with some of the technicalities and jargon we’ll be dealing with in these respects:

Software Development Fundamentals by Gerry O’Brien and Paul Pardi.

Freely available from the Microsoft Virtual Academy. As they say; “The content is introductory level and helps viewers understand the various aspects of software development. The course focuses on key fundamental concepts of software development programs that all software developers need to know”

XML Essential Training by Joe Marini.

From Lynda.com training (who offer a free trial membership) for the basics of XML. From the course précis: “In this course, developer and author Joe Marini takes you through the basic rules of XML, explains its syntax, and covers more advanced topics such as styling your XML with CSS and XSLT and manipulating XML through the DOM”. The latter parts are not important to our usage in Volume I, however, we do briefly consider an XML style-sheet in Volume II in considering the XML serialisation of Event Tracing for Windows logging records.

Target Audience

I often feel that the “available material” on F# is targeted at a very specific audience – analogously, I get the impression that the majority of those who deal in F# and provide material thereby, are Engineers as in, for example, developing an engine for use in a racing car where their interest is primarily in the minutiae of how to improve the performance and durability of such an item. Conversely, to be blunt, I am a "grease monkey" and my interest is in how I can use that engine in some framework to simply and quickly build a vehicle that won’t go off the road or break-down whilst performing some useful purpose. This material is targeted at us "grease monkeys"!

Presentation

The book is self-published material typeset via the LaTeX XeLaTeX processor using TexLive 2015 and comes in two volumes of around 750 pages each. I would have liked to produce it as a single volume, however, with around 1,500 pages that would be somewhat impractical given "standard" printing processes. Furthermore, the material is printed in grey-scale; much as I would have preferred colour even a paperback, full colour edition of 750 pages would have made the printing price, alone, for each volume, to have been in excess of €125!

About the website

Here one may access the materials associated with the book. The site’s main menu options comprise of…

  • Errata: Comments and errors regarding the material.
  • Volumes contains a brief summary of the nature of each volume’s content, their tables of contents and some sample chapters.
  • Videos: A library of Videos that cover a number of topics and are referenced within each Volume.
  • Files: Source Code and Other material associated with the material such as XML Schemas, link to samples and additional software dealt with in each volume.

Please note that all supplementary material and videos for both volumes are now accessible via OneDrive accessible through the hyperlinks on this website.