Creating a new PL is so different from changing an existing one.
You need to worry about syntax, locals, scope, error checking, conditionals, interpreter loop, stdlib etc. You can work on these in isolation once you have a working implementation.
(My toy PL now does fizzbuzz!)
miniblog.
Related Posts
It's confusing how 'REPL' refers to two different UIs:
A CLI like IPython or Julia, where things like multiline editing and syntax highlighting need careful implementation.
An editor protocol like SLIME or CIDER where multiline editing is a total non-issue.
Really elegant developer tool: Go's inline IDE feature is used with deprecation markers, so call sites are autofixed from OldApi() to NewApi() based on the implementation of OldApi.
Is there a good term for "after using this feature we realised that the best design is different from the current design"?
In casual conversation I generally hear "bug" but there was nothing wrong with the original implementation.