Repository navigation
EML 1.0
First stable release of eml, an Ada compiler and interpreter for EML (All elementary functions from a single operator): rewrite elementary math into a single operator, eml(x, y) = exp(x) − ln(y), over complex numbers.
Built with Alire. No third-party Ada crates.
What’s in 1.0
Front ends
.mxeml— math source (+-*/^, functions, constants, andeml(x, y)).teml— nested tree text (1andeml(S, S)).eml— textual stack IR (ONE/EML).beml— packed binary stack IR
Pipelines
preproc,tokenize,parse,compile,run,help- Everything funnels into one IR tree (
1/eml(S, S));runflattens to a two-opcode complex stack
Compile targets
- IR:
.eml,.beml - JavaScript (math.js) with optional companion
.html - C (
long double complex): standalone program (c) and library form (clib+ header) - Native via a host C compiler:
exe,lib,dynamiclib(clang / gcc /cl.exe) - .NET source: C#, F#, Visual Basic, IL (+ companion projects when writing files)
- .NET binaries when the SDK is present:
csharpdll/csharplibdll,csharpexe
Requirements
- Alire (
alr) with a GNAT toolchain - PowerShell (
pwsh) for the pre-build git-commit embed - Optional: a C compiler on
PATHfor native targets; .NET SDK for DLL / publish targets
Build
alr build