WalkerCodeRanger.com

Active Projects

ExhaustiveMatching.Analyzer

ExhaustiveMatching.Analyzer adds exhaustive matching to C# switch statements.

Get compiler errors for missing cases in a switch statement. Mark which switch statements should have exhaustiveness checking by throwing an exception in the default case. Exhaustiveness checking works not just for enums, but for classes and interfaces. Turn them into discriminated unions (aka sum types) by marking them with the Closed attribute and listing the cases. ExhaustiveMatching.Analyzer goes beyond what other languages support by handling full inheritance hierarchies.

semver NuGet Package

I am a major contributor to the semver NuGet package. It is a SemVer implementation in .Net based on v2.0.0 of the spec found at semver.org.

VSON (Very Simple Object Notation)

VSON is a lightweight data-interchange format. It is a successor and superset of the popular JSON (JavaScript Object Notation) format. VSON improves on human readability and writablity, date and time support, Unicode handling and data portability.

Examples

Comparison of an Algorithm in Rust, C# and C++

This project implements the DFA minimization algorithm described in “Fast brief practical DFA minimization” by Valmari (2011) in Rust and C# in order to evaluate Rust as compared to C# and C++.

Archived Projects

Adamant Language Blog

The Adamant programming language blog contains posts on topics relevant to the Adamant language and programming language creation.

Adamant Programming Language

Adamant was to be a general-purpose language with high performance, deterministic safe resource management, and guaranteed thread safety.

Adamantworks.Amazon.DynamoDB

The Adamantworks DynamoDB alternative API. Provides an API for DynamoDB in .NET that follows .NET conventions and provides higher-level abstractions.