An interpreter & toolkit for Nova programs
  • Rust 99.7%
  • Shell 0.3%
Find a file
2026-05-20 15:48:54 -07:00
examples Fix most of the striding issues 2026-05-20 15:17:50 -07:00
src Update readme and help text 2026-05-20 15:48:54 -07:00
.gitignore Fix most of the striding issues 2026-05-20 15:17:50 -07:00
build.rs Basic function done; still needs much cleanup 2025-07-16 09:50:35 -07:00
Cargo.lock Basic function done; still needs much cleanup 2025-07-16 09:50:35 -07:00
Cargo.toml WIP 2025-08-17 22:21:59 -07:00
glossary.md Fix most of the striding issues 2026-05-20 15:17:50 -07:00
grammar.nv WIP, tokenizer okay 2025-06-12 20:45:44 -07:00
issues.md Fix most of the striding issues 2026-05-20 15:17:50 -07:00
nova.grammar.nv WIP, tokenizer okay 2025-06-12 20:45:44 -07:00
README.md Update readme and help text 2026-05-20 15:48:54 -07:00
watch.sh Fix most of the striding issues 2026-05-20 15:17:50 -07:00

Rova

A Nova interpreter in Rust.

Syntax

Currently, it's mostly the January syntax, with the exception of the dot symbol for stack repeating.

Usage

Build with Cargo, or download from the releases page. Then,

rova examples/00-helloworld.nv -o

With the -o parameter, rova will display the final stacks after the program has halted.

There are a number of other ways to run it; see rova --help.

Project goals

I made these goals in summer 2025. They're mostly still valid, but they need a refresher.

Primary Goals

  • Infrastructure for Nova dev tooling. Tracing, modeling, ruleset manipulation.
  • A multitool for working with different flavors and formats of Nova.
  • A personal playground that I'm familiar with. (I = Mary)

Secondary goals

  • Experimentation in low-resource environments.
  • Computation with non-text media.
  • A library to bring Nova to Rust codebases.

Maybe in the future but not yet

  • A candidate for an interpreter or compiler running in embedded contexts (Pico, Arduino, etc).
  • Compiler to WASM.

Anticipated functionality (NYI)

These are features that might further the above goals.

  • Reply mode: a nova REPL
  • Review mode: nova ruleset analysis