A Nova dialect inspired by Pyra that compiles to JS
Find a file
2025-06-26 00:07:35 -06:00
.forgejo/workflows Setup CI (#2) 2025-06-23 20:57:34 +00:00
bounties Various bits of tidying up 2025-06-24 01:15:41 -06:00
examples Clean some things up, add gist loading 2025-06-26 00:07:35 -06:00
lib Clean some things up, add gist loading 2025-06-26 00:07:35 -06:00
tests Various bits of tidying up 2025-06-24 01:15:41 -06:00
tool Start on myx tool 2025-06-24 01:05:27 -06:00
.gitignore Various bits of tidying up 2025-06-24 01:15:41 -06:00
compiler.js Clean some things up, add gist loading 2025-06-26 00:07:35 -06:00
myte.js Various bits of tidying up 2025-06-24 01:15:41 -06:00
package.json Clean up, carve out personal project space 2025-06-01 10:12:27 -06:00
parser.js Get the serpens_cake.nv bounty working 2025-06-11 00:24:46 -06:00
README.nv Swithed from lambda to broken pipe and simplex to triple colon 2025-06-21 00:20:01 -06:00

|:: 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