A Nova dialect inspired by Pyra that compiles to JS
Find a file
Sierra 091d64bcb4
All checks were successful
publish / publish (push) Successful in 25s
fix path again
2025-06-23 15:52:13 -05:00
.forgejo/workflows fix path again 2025-06-23 15:52:13 -05:00
bounties More cyoa work 2025-06-15 12:19:45 -06:00
examples Updates to browser playground 2025-06-22 11:07:09 -06:00
lib Updates to browser playground 2025-06-22 11:07:09 -06:00
tool Get playground libraries working 2025-06-22 05:21:37 -06:00
.gitignore Update README and some examples 2025-06-20 12:07:17 -06:00
compiler.js Updates to browser playground 2025-06-22 11:07:09 -06:00
myte.js Swithed from lambda to broken pipe and simplex to triple colon 2025-06-21 00:20:01 -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