Skip to content

v1.0.0

Latest

Choose a tag to compare

@sanelli sanelli released this 04 Sep 21:40

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, and eml(x, y))
  • .teml — nested tree text (1 and eml(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)); run flattens 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 PATH for native targets; .NET SDK for DLL / publish targets

Build

alr build