[READ-ONLY] Mirror of https://github.com/haydn/ulm. Universal Language for Mathematics
TypeScript 95%
HTML 3%
CSS 2%
<1%

README.md

Universal Language for Mathematics (ULM)

A language for describing mathematical expressions.

Spec | Playground

Overview #

Universal Language for Mathematics (ULM) is a language for describing both the semantics and presentation of mathematical expressions.

⚠️ WIP ⚠️

A ULM AST might look something like this:

type: root
value:
  type: multiply
  left:
    type: int
    value: 4
  right:
    type: int
    value: 7

Which might be presented like this:

4 × 7

We could also layer on some information to explicitly define how it should be presented:

type: root
value:
  type: multiply
  style: dot
  left:
    type: int
    value: 4
  right:
    type: int
    value: 7

Which might be presented like this:

4 • 7

Alternatively, it could be presented in words:

four multiplied by seven

It could even present in another language:

cuatro multiplicados por siete

It might even be presented graphically:

🦄🦄🦄🦄
🦄🦄🦄🦄
🦄🦄🦄🦄
🦄🦄🦄🦄
🦄🦄🦄🦄
🦄🦄🦄🦄
🦄🦄🦄🦄