Elite software development.

Software Portfolio

Shore Street Software programs with Haskell, C, C++, JavaScript, Java, assembly language, and Python. Here is some of our non-secret software.


A small unit testing library for the Haskell programming language.


A Haskell library for generating valid (X)HTML. The generated HTML is guaranteed by Haskell's type system to be valid at compile time.


Parse is a parser combinator library for the Haskell programming language.

A parser is a software tool for processing and analyzing text. A parser combinator is a software device for combining parsers to yield more complex parsers. Parse is a software technology that allows developers to create complex parsers very quickly and with little effort by building them out of simple parsers. It simplifies and accelerates parser creation.

Mach-O Builder

A domain-specific language embedded in Haskell. It is for building and manipulating Mach-O files, Mac OS X's native binary executable format. Pre-alpha software.


A software utility for the analysis of the memory usage of a process. The process must be instrumented with the appropriate logging code. 'MmRelive' is implemented with Haskell, but can be used by non-programmers.

I wrote MmRelive to do in-depth analysis of the memory management behaviour of Mozilla's Firefox web browser, in 2008. Most studied was the JavaScript engine ('SpiderMonkey' at the time). MmRelive, replays, or 're-lives', the memory allocations of a process, after the process's run.

See my article on MmRelive.


An IPC framework for multicast message passing between processes on the same host. It is not complicated, and it is very fast.