/jane

Jane - A high level, object-oriented, modern language

Primary LanguageC#MIT LicenseMIT

JaneCore

This is a C# implementation of the Jane Language.

SHJI/C stands for Schleswig-Holstein Jane Interpreter/Compiler, which is a pendant to the name of the Haskell Compiler which is also named after a geographical location.

Folders

  • Core contains the Jane Language Frontend
  • SHJC contains the Compiler to LLVM
  • SHJI contains the Interpreter, VM and Standard Library (for now?)

Jane

Jane Logo

See The Jane feature goals and Jane by example

John

Jane Logo

See The John feature goals And a JS parser at JohnJS

Details

It will eventually be a compiler to JaneVM and act as a complete language frontend; whereas SHJC will then be a compiler to LLVM or .NET IL (or similar) that gets it down to native executables.

Credit

HUGE Thanks to the Writing an Interpreter in Go Book by Thorsten Ball. Most of the code (as of July 2023) is a slightly altered workthrough of that Book.

I encourage everyone who also wants to build their own language to read this book, it gives enough insight that your own changes to the behavior of the Language seem intuitive.