Update May 12, 2012

Simple proof assistant

I've created a simple proof assistant for proving theorems in propositional logic.


Update Feb 18, 2012


I created a blog where I will post regularly. My first post is about defining semantics (with combinators) in F#


Update Nov 4, 2011

Polynomial Size Analysis

For research purposes, I've created a prototype for polynomial size analysis of a first-order functional language


Update Jul 13, 2011

Lambda calculus

I've created a small silverlight application that normalizes lambda terms, displaying a reduction graph.


Update Apr 20, 2011

Turing mod

For Valve's Source engine, I have developed a mod allowing the construction of turing machines. People can construct machines with each other in multiplayer sessions.


Update Jan 31, 2011

Context free grammars

I've developed a small tool to test membership for context free grammars in silverlight.

Context free grammars

Update Aug 28, 2010

Executable mini-model designer

I've developed a small domain specific language in silverlight. Drag and drop expressions on a canvas and connect them to create an expression. If the model you designed is correct, you can save it and compile it to a .NET assembly. This assembly can be downloaded and used in any .NET language.

Expression designer

Update Aug 20, 2010

Little silverlight game

I've developed a small trivia game in Silverlight. Play with your friends and try to improve your score! Trivia

Some technical features include long polling, a singleton WCF service, google-search API implementation and out-of-browser support.

Update Oct 05, 2008

I have developed a new, strong typed, compiled language called SteelCode.

For demonstration purposes, the compiler and the virtual machine run in silverlight beta 2. Click the link below to check it out!

  • Compiler generates debug information, used by VM
  • Generics support
  • Var keyword support
  • Various language changes (lambda expressions, function pointers)
SteelCode in Silverlight Beta 2

Random code snippet

var foo = #1987-01-31#;

cout << Now ( ).DifferenceInSeconds ( foo );