magicfoodhand

10 Day Challenge

challengerigz

(Originally part of Rigging Things Together)

As someone who has written my fair share of Javascript I'm reminded that Brendan Eich created the first prototype for JS in ten days, since I'm rewriting a language I've built multiple times it should be possible (especially with a few crates to help out). My goal is to try to focus on simplicity and performance as I build this again, but there are some odd features that I want and that'll be the bulk of the complexity.

Requirements

  1. Only 10 days to build it (no coding outside of stream, use whatever you want, only notes/planning)
  2. CLI: Run file, REPL
  1. Syntax Highlighting
  2. Ability to embed in a webpage (runtime compiled to wasm)

Goals

Javascript was built with a specific set of goals in mind, this is the slightly arbitrary set I'll be applying to my language:

Steps I'll be Following:

  1. Build Rigz VM
  2. rigz-treesitter 2.0
  3. lexer with logos
  4. FSM to convert tokens to VM (skip ast)
  5. CLI (run, repl, debug)
  6. Website/Docs

My challenge attempt starts with my first stream on August 5 and ends on August 14. I look forward to seeing other people give this challenge a shot; my goals & requirements are based on assumptions for my next steps with this language, if you build a language it can be much simpler. After this challenge I'd like to make an LSP then eventually use rigz for iac, rules/security checks, and eventually a shell/terminal (powered by tauri).