Following on from my last post about modelling graphs as data structures in F#, in this post I show how to use Microsoft’s graphing tool GLEE to plot the graph.

The previous post is here: F#: A Data Structure For Modelling Directional Graphs.

3 Replies

Following on from my last post about modelling graphs as data structures in F#, in this post I show how to use Microsoft’s graphing tool GLEE to plot the graph.

The previous post is here: F#: A Data Structure For Modelling Directional Graphs.

Advertisements

In my previous post, I described how to parse a regular expression pattern into an abstract syntax representation. The next phase is to transform the parsed syntax into a finite state machine. I have chosen to model the FSM as a mathematical directional graph (digraph). This post describes the implementation of this module in preparation for the actual compilation step.

You can read the previous article here: F#: Building a Regular Expression Pattern Parser.

It has been a while since I did any real functional programming (about 10 years!) and so I thought I’d set myself a challenge with Microsoft’s F# language: build a regular expression engine. Of course there are many of these off-the-shelf, but that would defeat the point of (re-)learning how to do real functional programming!

Here’s part one: parsing a pattern…

In this post I am raising the question about how to deal with race conditions in asynchronous service invocations. I have seen possible solutions in BizTalk and WF scenarios but they are both pretty messy and have their own race condition issues. What do you do to address these issues in your solutions?

Well, LINQ has been around for a while now and I suppose many of you have been playing with (I mean using) it in both production and hobby code. One of the core features that LINQ requires is the ability to express lambda expressions as expression trees rather than delegates. Delegates represent compiled (and thus opaque) code, but expression trees can be manipulated for optimisation and language translation, such as to SQL.

Now LINQ does that all for you, but have you ever wondered whether you can make an expression tree directly?

In the last few days I have been reviewing my knowledge of C++ and the STL (standard template library) in particular. I have often found it frustrating that the standard .NET collection classes omit several of those in the STL, most notably a simple and efficient set implementation. Using Dictionary<T, bool> and TryAdd is just not elegant!

I have just found the C5 library from the IT University of Copenhagen with full documentation and academic analysis. Do you use it? What are your experiences?

Following on from my previous post about science and philosophy, in this post I introduce the mathematical concept of a singularity as it relates to science and philosophy. You can read my earlier post here: Philosophy and Science.