Learning Visual F# 4.0

List Price: $55.00

Add to Cart
About the author:
Chris Shattock started programming in 1975 - Fortran on an IBM Mainframe. Following degrees in Maths with Physics and Mathematical Biology and a period on travelling, he reverted to IBM Mainframe user support and application development in a local council and thereafter was employed by the UK IBM 370/390 Agent for a number of years. Experience grew to accommodate a wide variety of IBM Client heterogeneous client/server platforms and the development and support of their decision support systems thereon. Chris became an independent consultant in 1995 to lead the greenfield development of a multi-utility Management Information System using a Windows client and a number of heterogeneous server back-ends. Subsequently working in the US, Europe and South America on Microsoft based server and client platforms, Chris then took a career break to pursue his interests in Environmental Management and Ecology in East Africa. Currently residing in Spain as a carer he is also undertaking a part-time Masters in Environmental Sustainability.

Learning Visual F# 4.0

Authored by Chris M. Shattock

This volume is now also available via Amazon Kindle as an eBook.

Learn 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 book, in two volumes with 62 hours of accompanying videos, concentrates 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.

Further information and sample content/videos at http://vfsfoundations.com

We continue the theme of Volume I in the consideration of resources generally - rather than just as a vehicle for the internationalisation of software. Firstly we cover a variety of techniques used in the chaining and composition of functions and how we can use such to greatly simplify the process of exception control. We then tackle the issue of instrumenting an application by using the Windows core facilities of Event Tracing and thence Performance Monitoring. Event Tracing for Windows (ETW) is a fundamental tool in error management and the tracing of programme execution whilst also facilitating the reporting of auditing and diagnostic information. Building these features into an F# library allows one to progressively exploit F# functionality by the reconsideration of code originally crafted in an object-oriented and/or imperative manner. We also find that, with minimal effort, we can subsequently extend our tracing modules to incorporate the use of Windows Management Instrumentation (WMI) Performance Counters.

With the thereby accumulated F# expertise we then consider the subject of F# Type Providers - we demonstrate a trivial Type Provider to expose its methodology and then code three Type Providers to deal with the business of exposing configuration settings to a runtime assembly; the extraction of resources from an assembly to further address an application's needs in both accessing and using one's own WPF and/or third party libraries for presenting a rich user interface via F# and, finally, an external, Xml based alternative to using the .NET RESX methodology in providing internationalisation of resources for an application.

In the closing sections we undertake the building of a core assembly that consolidates our accumulated F# knowledge to expose a common range of functionality to referencing applications. With this core assembly we then implement a dynamic programming interface as a converse of the configuration settings Type Provider and then create such dynamic data access mechanisms whilst incorporating instrumentation through event logging and performance monitoring, as potential alternatives to the developed Type Providers for accessing an assembly's resources and providing internationalised resources for referencing applications.

We therefore progressively cover introductory overviews through to practical implementation of topics that span F# features such as the use of Agents and Mailbox processors; asynchronous and parallelisation of units of work; full and partial function composition; integration of Event Tracing for Windows and WMI Performance Counters; the building, use and extension of Xml schemas to support data integrity requirements; creating a NuGet package and an API Reference of an F# project using the Sandcastle Help File Builder; basic Type Providers and the use of typed and un-typed Quotation Expressions; Observables and Observers; using typed Quotation Expression to extended the reporting of diagnostic information whilst also permitting the runtime logging and tracing of applications and their performance monitoring without the need for runtime administrative authority.

Publication Date:
1537312022 / 9781537312026
Page Count:
Binding Type:
US Trade Paper
Trim Size:
7" x 10"
Black and White with Bleed
Related Categories:
Computers / Programming / Microsoft Programming

Site Help Order Help Policies Contact