Projects

I have a lot of projects going on, here are some of my favorites.

FLexer

Simple Lexer and Parser in F#

Flexer
Flexer
Flexer
Flexer

FLexer is a library combining together a Lexer and Parser, to allow ease of construction in custom recursive-descent parsers with infinite backtrack. When searching for a result to "accept", FLexer functions as a depth first search in completely traversing any path, before backtracking and trying a different route.

FLexer is NOT a parser generator. Rather, it's up the user to write the code for the parser. This puts the responsibility of writing a performance optimal parser on the developer. The happy path of parsing will be "right first try" and very fast; however, the potential to backtrack to the worst case still exists.

Reasons to use FLexer

  • Each component of the recursive descent parser may be tested in isolation, after all, it's just functions.
  • It's simple to get started. There's no parser generator or external tools to integrate into the build pipeline, it's just F#.
  • Cross-platform with the core written in .NET Standard 2.0 and no dependencies.
  • Complete customization of the parser is available at any step, such as inserting validation code inline with the parser or even using parsed data to change the parser's functionality.
Reasons to NOT use FLexer
  • Parser generators can suffice for most requirements.


Github

Online Demo

NuGet

gatsby-source-azure-storage

Source plugin for pulling data into Gatsby from Azure Storage.

Gatsby Azure Storage
Gatsby Azure Storage

Github

NPM

Knox Tech Trends

A work-in-progress website to visualize Knoxville, TN Technology Trends by measuring local Meetups. The front-end is servered as a static site on Netlify with GatsbyJS, and the back-end is a nightly scrape of Meetup data and stored in Azure.

Knox Tech Trends
Knox Tech Trends

Github

gatsby-source-goodreads

Source plugin for pulling your read books into Gatsby from Goodreads API.

Gatsby Source Goodreads
Gatsby Source Goodreads

Github

Online Demo

NPM

ASP.NET Core Gatsby Template

ASP.NET Core Single-Page-Application (SPA) template using GatsbyJS as the SPA framework.

.NET Core Gatsby Template
.NET Core Gatsby Template

Github

NuGet

Prometheus MSSQL Exporter

MSSQL Exporter for Prometheus with custom queries. Built with ASP.NET Core.

Prometheus MSSQL Exporter
Prometheus MSSQL Exporter

Github

Morgemil

A work-in-progress level based RogueLike game made in F#


Github