A Nova dialect inspired by Pyra that compiles to JS
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| bounties | ||
| examples | ||
| lib | ||
| tests | ||
| tool | ||
| .gitignore | ||
| compiler.js | ||
| config.example.nv | ||
| myte | ||
| myte.js | ||
| package.json | ||
| parser.js | ||
| README.nv | ||
|:: TITLE| :MARKUP: title [Myte, a JS Nova implementation]
|:: About |
⁝link⁝ Pyra0 https://git.sr.ht/~nebulae/pyra0/tree/main/item/examples/variables/variables.nv
⁝link⁝ Nova https://nova-lang.net
⁝MARKUP⁝ (
header About
[myte is a ] link Nova [ implementation written in Javascript.]
[It started out as a port of ] link Pyra0 [ but has since become more of its own thing]
)
|:: Up and running |
⁝link⁝ nodejs https://nodejs.org/
⁝MARKUP⁝ (
header [Up and Running]
subheader [Getting Myte]
[To get myte, clone this repo to your machine]
subheader Dependencies
[To run myte easily, you'll want] link nodejs [version 20 or higher.]
subheader [Basic execution]
code [node myte.js examples/fizzbuzz.nv] [(or a script of your choice) will run a myte script without
anything installed other than node itself.]
subheader [Installing myte as an executable: POSIX]
[To install myte as a a CLI tool/executable, first copy ] code config.example.nv [ to ] code config.nv [. Customize the "myte executable path" in ] code config.nv [ to your preferred PATH destination. Then, run ] code [node myte.js tool/install.nv] [after customizing the PATH destination in] code tool/install.nv [. This will put ] code myte , code compiler.js , code parser.js and code package.json [into that folder. Make sure that won't be overwrite anything already there.]
subheader [Installing myte as an executable: Windows]
[TODO]
)
|:: TODOS|
:board: TODOS
:@in: Tasks
:: for myte
:: sub-project [Optimize JS Output]
:: todo [Investigate esbuild as a bundler in addition to bun js]
:: todo [Proper Myte installer scripts]
:: for [Optimize JS Output]
:: todo [Dead Code Elimination]
:: todo [Try rule-run queue]
:: todo [Try prefix tree compilation]
:: todo [Interned symbols instead of string literals]
|::render doc | :: TITLE :: About :: Up and running
|::show todos | :: TODOS