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.
- Draft Language Reference
- Alpha Compiler Source Code
Adamantworks.Amazon.DynamoDB
The Adamantworks DynamoDB alternative API. Provides an API for DynamoDB in .NET that follows .NET conventions and provides higher-level abstractions.