If I created a brand new programming language today, I'd be very tempted to write a bootstrap compiler in JS.
This would make it much easier to provide web playgrounds for people to write small programs and play with the language.
miniblog.
Related Posts
I've had a surprising amount of success asking an LLM to try projects in my toy programming language and report language or tooling issues.
Today it noticed that foo(bar,) is syntactically legal but assert(bar,) is not. The parser error is poor in this case too. A real UX bug!
I'm debating whether `from foo import *` is a bad feature for my toy programming language.
Forcing `import foo as f` and later `f::bar()` is so much more amenable to local static analysis. You also don't get issues with name clashes.
It's certainly convenient though.
I'm trying mini projects to exercise my new programming language and find gaps.
So far I've done fizzbuzz, JSON parsing, and a crude scheme interpreter.
Any ideas for additional projects? They need to be well scoped because I keep finding e.g. stdlib crashes.