This is your work, valued
Author of the Whiley programming language. Researcher in Smart Contracts @ ConsenSys. Interests include formal verification, compilers, and static analysis.
DynamicTopologicalSort. C++ code accompanying the paper "A Dynamic Topological Sort Algorithm for Directed Acyclic Graphs".
17FeatherweightRust. Provides a reference implementation of FeatherweightRust in Java.
15StronglyConnectedComponents. An example implementation of my algorithm for finding Strongly Connected Components.
12jx86. Java Library for Generating x86 Code
12jkit. Java Compiler Kit (JKit)
12LeanEVM. A toy implementation of the EVM in Lean4.
10JavaAVR. Simple AVR simulator written in Java
10SyntacticHeap.rs. A generic data structure designed for representing Abstract Syntax Trees.
5TuttePolynomial. Tutte Polynomial Computation
3JModelGen. A model generator library for use with automated test generation.
3SimpleVirtualMachine.wy. A demonstration of how Whiley can be used to verify compiler optimisations on a simple bytecode language.
3EvmTools. Various utilities for working with the Etherem Reference Tests.
2VirtualMachineInterpreter.rs. A utility for helping in the construction of interpreters / virtual machines.
2Web.wy. A functional framework for creating single-page applications to execute in the browser.
2Conway.wy. An HTML5 Canvas Implemetation of Conway's Game of Life written in Whiley
2TinyBoy. A simple AVR Games Console which resembles the Arduaboy, but is designed around the ATtiny85!
2VcGen. A simple library for manipulating and generating verification conditions.
1JSMT. A bunch of utilities / algorithms for implementing SMT solvers
1JWebKit. A simple web framework, currently written in Java (though will eventually be in Whiley)
1Minesweeper.wy. Implementation of Minesweeper in Whiley
1Pacman. A Multi-Player Implementation of Pacman in Java
1WyrlVis. A Visualation Tool for the Whiley Rewrite Language. This allows automata and rewrites to be visualised, which is helpful for debugging (amongst other things).
1TokenContract.wy. A simple smart contract written in Whiley.
1BettingContract. A simple betting smart contract written in Solidity.
1JSyntacticHeap. A simple Java library for reading / writing files according to the SyntacticHeap format.
1WhileyComparison. A repository of small programs to be implemented and verified by Whiley and various other verification and static analysis tools
1R1csViewer. A simplistic viewer for Rank 1 Constraint Systems written in Rust.
1Lil.rs. A low-level intermediate language written Rust.
1DevmProofGen. Dafny Evm Proof Generator (experimental)
1SemanticSubtyping. A proof of the semantic subtyping relation from an academic paper.
1WebCalc.wy. A simple calculator implemented as a Single Page App in Whiley.
1Homepage. My personal homepage.
1JBuildGraph. A library for managing builds (e.g. within a compiler).
1