forked from yumaikas/myte
A Nova dialect inspired by Pyra that compiles to JS
bounties | ||
examples | ||
lib | ||
.gitignore | ||
compiler.js | ||
myte.js | ||
package.json | ||
parser.js | ||
README.nv |
|:: DOC| :@in: MARKUP :links: pyra0 https://git.sr.ht/~nebulae/pyra0/tree/main/item/examples/variables/variables.nv :: (h1 [myte, a JS Nova implementation]) :: (p [myte is a Nova implementation built in JS, that has started as a port of]) :: link pyra0 [pyra0. ] :: [I'm taking it in my own directions tho, eventually I plan on moving it from Pyra-based syntax to delimiter pairs (kinda like this document is written in).] /p) |:: TODOS| :board: TODOS :@in: Tasks :: for myte :: sub-project [Optimize JS Output] :: sub-project complete [delimiter-based frontend] :: done [Implement pattern matching strides in compiler] :: done [basic pyra0-style JS producing backend] :: done [basic pyra0-style parsing frontend] :: done [get more examples working] :: for [Optimize JS Output] :: todo [Switch to z-encoded stack names] :: todo [Optimize/profile stack push/pops] :: todo [Dead Code Elimination] :: todo [Rule-run queue] :: todo [Interned symbols instead of string literals] :: todo [] :: for [delimiter-based frontend] :: obsolete [fix handling of * in patterns] :: done [fix handling of ?] :: done [Implement "" as string data] :: done [Implement @in as a macro] :: done [Handle quoted symbols as first class thing so they work in lists] :: done [Return initial state from parse] :: done [Handle vars] :: done [Handle ?] :: done [Handle #js/snippet stack] |:: BOUNTIES| :board: Bounties :@in: Tasks :: for roguelike_logic.pnv :: todo [translate to myte syntax] :: todo [get compilation output working] :: for variables.pnv :: todo [translate to myte syntax] :: todo [update myte to parse me without erroring out] |:: SYNTAX| _@in_ MARKUP [This file uses the standard two-layer configurable delimiter syntax with one extension: ' or " as a way to say "treat all text until the next stack delimiter as a single string (or quoted token)." This allows for a natural split between tokens-as-commands and unstructured chardata meant for output.] |:: SPECIALS| _@in_ MARKUP [One other convention is using :#in: STACKNAME to change the default stack that unlabled data goes to.] || :button: DOCS :button: TODOS :button: SYNTAX :button: SPECIALS