Great article defending concatenative programming as a paradigm, and discussing how you statically type check subroutines that leave values on the stack:
miniblog.
Related Posts
Implementation chicken:
When there's an obvious feature gap in an ecosystem and everyone is waiting for someone else to write it.
I see this most frequently with OSS toolchains. Basic functionality in new programming languages is another common scenario.
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.