Back to directory

MADOLA

A domain-specific language that lets you write mathematical notation as literate, executable source code, compiling it to C++ or WebAssembly while auto-generating LaTeX-style documentation.

MADOLA

MADOLA (Math Domain Language) unifies mathematical notation, computation, documentation, and code generation in a single source file, aiming to fill a gap the project says no existing tool covers on its own: LaTeX and Typst give readable math but no execution, Python, Julia, and MATLAB give computation but require translating away from standard math notation, and tools like Mathcad or Mathematica are proprietary and closed. Code is written using mathematical syntax close to how it would appear on paper, and MADOLA generates HTML documentation with LaTeX-style formatting and equations directly from that source.

It compiles to C++ or WebAssembly, with WASM execution reported as 5 to 25 times faster than standard AST evaluation, supports functions, matrices, complex numbers, and units, can import external WASM modules, works as plain text so it is Git-friendly, and has tree-sitter integration for syntax highlighting and IDE support in VS Code, Vim, and Emacs. It runs on Windows, Linux, and macOS, and the project describes AI-assisted authoring of MADOLA code as a feature still under development. It is early-stage and under active development.

More in Languages

See all 48
  • QBasic Web Editor

    vahidyousefzadeh.com

    A browser-based QBasic 1.1 editor and interpreter that runs classic QBasic programs with DOSBox-accurate behavior, including text-mode graphics commands such as PRINT, COLOR and LOCATE, with sample programs and keyboard shortcuts to run and save.

  • A Brainfuck-inspired esoteric programming language adding absolute memory navigation, multiplier arithmetic, non-destructive inspection and inline conditionals, with its own interpreter.

  • C3 Playground

    play.c3-lang.org

    An in-browser playground that compiles and runs the C3 programming language entirely in WebAssembly, with no backend server, alongside its standard library and documentation.