forked from yumaikas/myte
		
	
				
				A Nova dialect inspired by Pyra that compiles to JS
				
			
		|  | ||
|---|---|---|
| .forgejo/workflows | ||
| bounties | ||
| examples | ||
| lib | ||
| tool | ||
| .gitignore | ||
| compiler.js | ||
| 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/
  ⁝link⁝ bun https://bun.sh/
  ⁝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.]
    [For the time being,] link bun [is used by the myte installer to bundle the myte cli.]
    [Using a two JS runtimes is kinda funny, but that seemed better than including a bunch of
    packages for bundling via node, since node doesn't (as of this writing, June 2025) have an 
    easy way to bundle scripts.]
    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, 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 [in the 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