2023.08.13 - Design/Development Update

Hi friends!

Just wanted to let everybody know that I’m still alive, and I’ve been making small spurts of progress here and there :slight_smile: I maintain a loose roadmap of upcoming personal projects on my now page, if you’re eager to follow along.

Thanks to all your excellent feedback, I’m feeling really good about the core language stuff right now. Many of you have pointed out great ways to make scrapscript simpler and more ergonomic, and I’ll make sure to update the official guide with some of those changes later.

My attention is currently on broader ecosystem stuff that might be annoying to change in the future:

  • stdlib organization
  • handling pull-requests, issues, generated docs, etc. around scrapyards
  • pico-8 / uxn -inspired portability
  • studying good shell design

I think I’ll be ready to share detailed designs and an open codebase in the coming months!

Thanks again for your patience!


Pico-8 and UXN worry me as a basis for application development - they’re quite primitive. Might be worth taking inspiration more from wasm (perhaps even compiling to?)

As for shell design, Powershell is an example of a shell that was designed more recently, and built to integrate with a certain system. Oil Shell is an attempt at bridging the gap between python and bash, and stays loyal to bash’s notions. There’s a variety of other shells, such as xonsh and elvish that might be worth considering. I will note that many of these shells fail to accrue popularity due to suffering from the notion that ‘what shell really needs is a real programming language!’.

1 Like

I’m a huge believer in the philosophy of “throw one away”. Something like pico-8 seems like a fun and low-stakes way to find kinks in the ecosystem.

After we’ve proved we can make a tiny vm, then we can move onto big vm/browser/whatever. But I’m also open to different ideas.

I do really like the idea of compiling to wasm underneath it.

Super helpful, thanks!

I think where scrapscript could really shine as a shell is its global namespace. You don’t need to import packages or libraries :slight_smile:

But many of the community names of scraps will be annoyingly long or hard-to-remember and difficult to discover. So I’m researching autocomplete and discovery… and reusable typesafe structures that aren’t a pain.

I’m also looking into Jupyter/Wolfram-style notebooks, because those seem to be fairly popular.


JavaScript was meant to be thrown away.

1 Like