LMX — sixteen small languages, one runtime

LMX // SIXTEEN LANGUAGES, ONE RUNTIME

Small languages. One runtime.

16 little languages that share a lexer, a parser and a sandboxed worker.

The file extension picks which one you are writing.

  • 16interpreters
  • 1runtime

01 / THE FILE PICKS THE LANGUAGE

Rename the file. Change the language.

Rename hello.lmx to hello.lmm and the same runtime reads it as a matrix machine.

No configuration step, no project file.

set name = "world"
set n = (2 + 3) * 4
print("hello, " + name)
print("n is " + n)

Output

hello, world
n is 20

02 / RUNS HERE

7 of them run in this tab.

Runs in the browser sandbox, no account.

The server enforces that list before it reads a line of your script, and it is shorter than the engine considers safe — because safe means "no host access", not "fit to hand a stranger".

03 / NEEDS AN INSTALL

4 take their vocabulary from a live install.

Its vocabulary is a running Leumas install.

They read your data, spend your model credits and call your tools — .lmq, .lmai, .lma, .lmi. The anonymous sandbox refuses them, and says so.

Touches the host. Admin plus an explicit env flag.

04 / OFFLINE

One file. It carries its own runtime.

Nothing to install before it, and nothing left behind when you delete it.

Three lines to your first run.

THE FAMILY

All 16 of them.

Green runs here with no account. Violet needs a live Leumas install. Grey touches the host machine and stays behind an operator's permission.


QUICK SETUP

Three lines to your first run.

One file, carrying its own runtime. Nothing to install before it, nothing left behind after it.

  1. 1

    Download

    curl -fsSL -o lmx "<url>"

    the button on /download fills in the URL for your machine

  2. 2

    Make it runnable

    chmod +x lmx

    not needed on Windows

  3. 3

    Run something

    ./lmx hello.lmx

    the extension picks the interpreter

The LMX browser IDE running a script and printing its output