NL is a statically typed programming language targeting .NET.
The compiler is written in F# using FsLex and FsYacc for lexing and parsing, and SRE for CIL emission.
It is a hobby project used by the author as a first exploration of programming language design and compiler implementation.
Links (also see the Wiki):
- Various notes about NL including design and implementation insight
- NL Language Specification - Draft
- .NET 7.0 doesn't support AssemblyBuilder.Save. But that should be coming in .NET 8.
- There is new position pos_orig_lnum that's part of FsLex that we aren't sure how to use yet.
- VisualNli hasn't been migrated. But it might be possible. But we might prefer to focus energies on VSCode integration.