Skip to content
enumeratio edited this page Nov 13, 2026 · 5 revisions

Names

Four names, and what each one governs. This page is the rule; AGENTS.md "Names" in the repo is its short form, and the two change together.

The four

Name What it is The test
compute-engine The engine and the mathematics: evaluation, numerics, compilation, the standard library, and the optional libraries kept in its repository (Rubi, Fungrim, combinatorics). It is cortex-js/compute-engine, not ours. Would someone using compute-engine without us need it to evaluate?
Epsil compute-engine's language. Every definition, cell and attribute we read or write as text is Epsil; $…$ LaTeX islands are Epsil's own. Is it about the text an expression is typed in?
enumeratio The catalogue: a permanent address and a record for every mathematical object, and the checking that keeps the records true. Is it a fact about an object, or the address of one?
notatio How an expression is written and shown: the presentation heads, their markup, their implementations in each environment, and the notebook built from them. Is it about showing?

compute-engine computes, enumeratio records and addresses, notatio shows.

enumeratio

A resource for surfacing mathematical objects, combinatorial ones first, so they can be explored now and referenced for good. An object is anything with a name or an index:

  • a head (MajorIndex, Zeta), with its signature, definition, examples and what other systems call it;
  • a collection (DyckPaths(4)), with its count, order and fields;
  • one element of a collection, or one specific structure (a particular Clifford algebra), down to details like its branch cuts.

Its content is data: the reference records, their tested examples, the crosswalks to Wolfram, Sage, the OEIS, FindStat and Fungrim, and the answers those systems gave. The machinery that reads and checks that data is enumeratio too: the record format, the manifest, the oracle lanes, Plausible, the census.

The catalogue does not care where a definition's code lives. IntegerPartitions has the same record whether compute-engine's core evaluates it, an optional compute-engine library does, or one of ours does. That is why enumeratio does not shrink as mathematics moves into compute-engine (Roadmap).

An enumeratio library is a set of definitions compute-engine does not hold: adèles, the Hecke and Hopf algebras, the hypercomplex units and the rest of packages/symbols/. Each exists to feed the catalogue, is written in Epsil, and is a candidate to move into compute-engine.

notatio

The presentation heads and everything that realizes them:

  • the heads: boxes, graphics, controls, layout, the *Form heads;
  • the markup: the vdom, an expression's FullForm written as JSX (Vdom);
  • the implementations per environment: web elements, the terminal, native (Rendering Environments);
  • what is built from them: the notebook, the worksheet, the CLI and REPL, the format registry.

notatio works over a bare compute-engine and needs no mathematics. Boxes, graphics and the markup are general layout: tables, diagrams, rich and interactive text. Someone with no interest in mathematics can still use it to mark up a document.

notatio is not a syntax. InputForm is a printer notatio owns; the text it prints is Epsil.

Where a thing goes

Thing Belongs to
The Epsil definition of MajorIndex a library: compute-engine's combinatorics once it is there, an enumeratio library until then
MajorIndex's record: examples, its FindStat identifier, Sage's and Wolfram's answers enumeratio
The address /reference/symbol/MajorIndex#example/<id> enumeratio
A fix to Zeta(0, a) compute-engine, carried in packages/ce-patches/ until it lands
Adele, HeckeAlgebra an enumeratio library
GraphicsBox, Manipulate, Grid, TraditionalForm notatio
<notatio-notebook>, the terminal renderer notatio
The InputForm printer notatio
The syntax InputForm prints Epsil
A library's own notation (its LaTeX triggers, its box rules) data in that library; the machinery that applies it is notatio
The oracle lanes, Plausible, the census enumeratio

In prose

The verb says whose it is:

  • defined as, evaluates to, a head compute-engine declares: compute-engine or a library. Say which library when it matters.
  • recorded, catalogued, checked against, has the address: enumeratio. "The catalogue" always means enumeratio.
  • written as, typed, prints as, drawn, laid out: notatio.
  • parses, the syntax: Epsil.

"The library" needs its name: compute-engine's standard library, one of its optional libraries, or an enumeratio library. "The project" is the repository as a whole, when no narrower word fits.

Do not call notatio a syntax, a subset of Epsil, or the project. Do not call enumeratio "the mathematics" or "the symbol definitions": the mathematics is compute-engine's and the libraries'.

Names that do not follow

These carry a name for historical or practical reasons and say nothing about what is inside:

  • The repository is enumeratio/notatio and holds both enumeratio and notatio.
  • The package scope is @enumeratio/* for every package, presentation ones included. Packages are named for what they do (Packages). A package is renamed only as part of work that already touches it, never in passing. Whether notatio's packages take a scope of their own is decided when notatio has its own domain.
  • The GitHub organisation is enumeratio, and posts to compute-engine are made as enumeratio.
  • The domain is enumeratio.dev. The catalogue is served there, and notatio at notatio.enumeratio.dev (Sites).

In code:

  • Every box primitive is its own tag, the box head in kebab case (RowBox is row-box). The notatio- prefix stays for the notebook and the app shell (notatio-notebook, notatio-cell), and for a head written structurally that has no box tag of its own (Plot3D is notatio-plot-3d) (Vdom).
  • In the reference data, epsil keys an example's retypeable text form and notatio keys its component serialisation, the vdom as markup.
  • A package's enumeratio.layer in its package.json says which side it is on: presentation is notatio; extension is an enumeratio library; infra, base and tooling are the catalogue's machinery and shared plumbing. boxes is notatio although its layer is base, because structures builds on it.

Why this reading

Two earlier readings are retired, and pages or comments that still use them are wrong:

  • enumeratio as "the symbol definitions and their evaluation". compute-engine supplies the core of the mathematics, and more of ours moves into it with every release. A name tied to the definitions would end up naming a set of patches. The catalogue is what stays.
  • notatio as a syntax, or as the whole project. The text syntax is Epsil. The repository carries the notatio name, but the catalogue lives in it too and is not notatio.

The earlier, Postgres-era project that was also called enumeratio is "the Postgres-era project" on this wiki. Its aim, permanent realizations of specific objects, is the one enumeratio keeps.

Other Latin names were once considered for parts of the project (nucleus, aestimatio, computatio). None names a part of the project. "Nucleus" survives only as the working name of the facade the core packages put over compute-engine (Nucleus Facade). A new name earns a place only when it names something with its own entry point, its own documentation and a use apart from the rest.

Home

Project

Working

Design: every design page, by subject

Clone this wiki locally