Friday, 18 September 2015

Automaton Explorer

The F# Journal just published an article about graphics:
"This article walks through the design and implementation of a simple graphical application that allows the user to see all 256 of the elementary one-dimensional cellular automata. Each automaton is initially viewed as a small icon that may be clicked on to expand into a larger detailed view. The application uses Windows Presentation Foundation for all graphics..."
To read this article and more, subscribe to The F# Journal today!

Recording and querying low-latency streamed data

The F# Journal just published an article about data structures:
"Designing and implementing new purely functional collection can be a daunting task. This article looks at the challenge of trying to create a data structure that allows new data to be added as it is streamed in and also allows queries to be made against the data..."
To read this article and more, subscribe to The F# Journal today!

Tuesday, 15 September 2015

Suffix arrays

The F# Journal just published an article about data structures:
"Suffix arrays and suffix trees are a relatively new family of data structures that quickly found application in early forms of Big Data, most notably genomics and proteinomics. Suffix arrays have many practical applications including logarithmic time substring searches..."
To read this article and more, subscribe to The F# Journal today!

Wednesday, 17 June 2015

Finding frequent pairs using the A priori algorithm

The F# Journal just published an article about a Big Data algorithm:
"Finding pairs of items that appear together often in large datasets is a popular challenge. This is increasingly posed as an interview question in the context of Big Data. This article takes a look at a simple challenge that was posed in an interview and solves the problem used a variety of different approaches...."
To read this article and more, subscribe to The F# Journal today!

Tuesday, 14 April 2015

F# Core vs the BCL Immutable Collections: Sorted Dictionary

The F# Journal just published an article about immutable collections:
"Microsoft introduced Immutable Collections as part of the Base Class Library (BCL) in 2013. Previous articles have compared the list and Set implementations in F# Core with that in the BCL. This article looks at the Map or SortedDictionary collection..."
To read this article and more, subscribe to The F# Journal today!

Saturday, 11 April 2015

F# Core vs BCL Immutable Collections: Sorted Sets

The F# Journal just published an article about immutable collections:
"Microsoft introduced Immutable Collections as part of the Base Class Library (BCL) in 2013. A previous article compared the List implementation in F# Core with that in the BCL. This article looks at the Set or SortedSet collection..."
To read this article and more, subscribe to The F# Journal today!

Friday, 10 April 2015

An EDSL for Porter Stemmer

The F# Journal just published an article about metaprogramming:
"The Porter Stemmer algorithm is a stemming algorithm from natural language processing that tries to compute the stem of a given English word. The algorithm has already been implemented in many different languages including F#. This article takes the different approach of defining a minimal language, an embedded domain specific language, capable of expressing this algorithm and then describing the algorithm declaratively as close to its original definition as possible..."
To read this article and more, subscribe to The F# Journal today!

Thursday, 9 April 2015

Implementing type inference

The F# Journal just published an article about metaprogramming:
"This article walks through the design and implementation of the Damas-Milner type inference algorithm written in F#. This algorithm is the foundation of type inference most modern functional programming languages including SML, OCaml and F#. The algorithm acts upon expressions and types using type schemes, substitutions and type environments to infer the type of a given expression..."
To read this article and more, subscribe to The F# Journal today!

Monday, 6 April 2015

Benchmarking the Set and Map collections

The F# Journal just published an article about benchmarking:
"Hash tables are inherently imperative concrete implementations of the abstract data structures known as dictionaries and sets. Hash tables have been ubiquitous in imperative programming since their rise to fame in the Perl programming language in the 1990s. In contrast, purely functional dictionaries are notoriously slow. Consequently, much effort has been focused on improving the performance of these collections. This article looks at the automated performance test suite we wrote for the F# Set and Map collections..."
To read this article and more, subscribe to The F# Journal today!

Saturday, 4 April 2015

Experiments with value types and purely functional data structures

The F# Journal just published an article about value types:
"This article take a look at how .NET value types can be used to alleviate some of the stress from the garbage collector in the context of purely functional data structures. Purely functional data structures are notoriously allocation intensitive. The creators of the OCaml programming language from which F# is descended reported that an allocation typically occurs every 5 instructions. In most cases, a single insert or update operation can be expected to incur one or more allocations. In the context of metaprogramming, for which the ML family of programming languages were originally designed and implemented, the use of heavily fragmented collections is generally an advantage because the vast majority of collections are empty or very small..."
To read this article and more, subscribe to The F# Journal today!

Thursday, 2 April 2015

Optimising a simple machine learning algorithm

The F# Journal just published an article about GUI programming:
"Phil Tomson has been collating implementations of a simple kth-nearest neighbor classifier based upon an optical character recognition challenge by Kaggle. There is some scope for optimising the current F# implementation. This article takes a look at the idioms and particularly the performance characteristics of the current code (comparing it to other solutions) and how it might be improved. We also take the opportunity to look at performance profiling that is now freely available in Visual Studio Community 2013..."
To read this article and more, subscribe to The F# Journal today!

Sunday, 29 March 2015

Math testing program for kids

The F# Journal just published an article about GUI programming:
"This article describes the design and implementation of a simple program that can be used to hone a child's mathematical skills. The program poses a simple arithmetic problem involving addition, subtraction, multiplication or division. Answers are either quickly responded to when correct or slowly when the given answer was wrong and the correct calculation is displayed..."
To read this article and more, subscribe to The F# Journal today!

Saturday, 28 March 2015

FemtoML with FParsec

The F# Journal just published an article about parsing:
"The parser combinator library FParsec is one of the foremost parsing tools available for the F# programming language and is now easier to use than ever thanks to Microsoft's Nuget package system. This article walks through a tiny term-level interpreter capable of running the Fibonacci function written in a minimal subset of the ML language..."
To read this article and more, subscribe to The F# Journal today!

Friday, 27 March 2015

Analyzing the world's largest Mathematica code base using F#

The F# Journal just published an article about metaprogramming:
"We were once faced with the challenge of pricing up a project to translate the world's largest Mathematica code base into F#. This project had a multitude of unknowns any one of which could end up being a show stopper. In order to price this work properly we had to quantify many different aspects of the Mathematica code base. This article describes the approach we took, using F# to parse the entire Mathematica code base and analyze it in order to determine the complexity of the challenge we faced..."
To read this article and more, subscribe to The F# Journal today!

Monday, 23 March 2015

Streaming aggregated financial data from SQL Server

The F# Journal just published a case study:
"This case study walks through an industrial project that was designed to improve performance and add functionality by providing an indirect service for clients to extract historical financial data. The service is capable of aggregating the data as it is streamed. In particular, our F# solution was co-developed alongside a C# solution that provides the same functionality so we are able to compare code bases and performance results..."
To read this article and more, subscribe to The F# Journal today!

Sunday, 1 February 2015

A WPF-based parallel ray tracer

The F# Journal just published an article about computer graphics:
"This article describes a simple multicore ray tracer written in a very clear style. The ray tracer supports reflections and shadows and uses hierarchical spherical bounding volumes to cull work efficiently in order to render a 1920×1200 image in under one second. WPF is used for visualization..."
To read this article and more, subscribe to The F# Journal today!

Friday, 9 January 2015

Purely functional data structures in practice

The F# Journal just published an article about purely functional data structures:
"Previous articles have covered the specifics of some classic purely functional data structures. This article explains why and when you may or may not want to use a purely functional data structure and when we have found them to be most valuable in practice..." To read this article and more, subscribe to The F# Journal today!

Saturday, 3 January 2015

Fun with power series

The F# Journal just published an article about manipulating and visualizing power series:
"This article was inspired by Doug McIlroy's excellent Power Serious article about processing infinite power series using infinite lazy lists in Haskell. Although Doug's Haskell code is significantly more elegant than our F# in parts, we add the ability to visualize power series as typeset mathematics including some example approximations to well-known constants using our F# for Visualization library..." To read this article and more, subscribe to The F# Journal today!

Porting a commercial compiler from OCaml to F#

The F# Journal just published a case study about the industrial use of F#:
"In 2012, we ported a compiler for a domain specific language used in the insurance industry from OCaml to F#. The resulting software lies at the core of a major piece of insurance software that is used worldwide. This article looks retrospectively at both the technical and non-technical successes and failures of that project and the ramifications for industrial users of F#..." To read this article and more, subscribe to The F# Journal today!