Yes, that title is correct. JAJL has been ported to C#. Unfortunately,
this port isn't 100% compatible with main-line JAJL, but its differences
are notable and interesting.
What is JAJL-CS?
JAJL-CS is a port of JAJL to the C# programming language. Functionally,
it is very similar to the original, minus some main differences that make
the two not entirely compatible.
Main Differences
Comments are not supported.
This will be fixed in version 1.0.1 of JAJL-CS.
The stack, pointer, and string buffer are stored in the same place as
the memory addresses, which allows you to do things like push the
pointer to the string buffer.
Mainline JAJL will have this change made in version 1.2.
JAJL-CS is only compatible with JAJL 1.0. This means no functions.
JAJL-CS stores memory as an encoded string instead of custom data
types as a workaround for C# being statically typed.
Granted, static typing is amazing, and I love it, but the
ability to not store absolutely anything in a dict was a bit of an
issue at first.
The way it works is you have a string which contains data for the
memory address.
Unallocated memory looks like this: "Unallocated".
An integer might look like this: "Int:65".
The error handling is significantly worse.
A lot of errors are not descriptive at all, and just display the
error name.
This will be worked on in future releases of JAJL-CS
Should You Use It
The answer is the same to the question, "Should you use JAJL?".
How To Get It
You can check out its official
Git repository. Download the latest release and either compile the .cs
file or run the EXE from a terminal.
The Future of JAJL/JAJL-CS
A lot of work needs to be done to both projects, so here is a concrete
roadmap for both projects.
JAJL-CS 1.1
JAJL-CS will be updated to support floats, functions, and all the new
instructions.
Release 1.2
Both projects will be updated to 1.2 simultaneously, and more info can be
seen on the roadmap page.
After That
At the moment, no plans for release 1.3 exist, and I doubt any plans will
ever come into fruition.