WalkerCodeRanger.com

Active Projects

semver NuGet Package

I am the maintainer of the semver NuGet package. It is a semantic version library for .NET. Create, parse, and manipulate semantic version numbers with the SemVersion class and semantic version ranges with the SemVersionRange class. This library is fully complies with v2.0.0 of the semantic versioning spec from semver.org.

Azoth Programming Language

Azoth will be a statically typed, general-purpose product and business programming language. It uses a structured concurrency approach with green threads to provide fearless concurrency without contagious async while also supporting object-oriented and functional programming. It offers easy reference capabilities and other safety features for unprecedented ease of developing correct and robust programs. It will be ideal for concurrent and parallel programming, and serverless computing.

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.

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.