Proposal: minimal rocks

What is the minimum set of rocks needed to implement everything else in scrapscript?

a similar question worth asking is ‘what is the minimum set of rocks needed to implement everything else in scrapscript performantly’

it may be worth looking into prior art here, such as haskell’s PrimOps and Shen’s Kλ

there is also the question of what types you desire to be primitive (should scrapscript be UTF8 aware in the runtime, or in ‘userspace’?)

Amazing! Thanks for the outstanding resources.

I’d love more links if anybody else has any other inspirations to draw from.

But yes, I’d like for scrapscript to be a practical language, and I’m okay sacrificing a bit of theoretical elegance for performance gains.

I’d ideally like to make a set of rocks that know nothing about UTF8, but I understand if that’s unachievable haha

1 Like

I think that encoding-unaware code is sadly impossible in the modern day, considering how much we have to deal with encodings…

granted, your rocks could be unicode unaware and your library unicode aware…

youre gonna need utf-8 and such regardless, but its possible to draw this line. sadly utf makes a couple of things annoying to do, like indexing into a string, but indexing into a string is… surprisingly useless?

also, i hate to break it to you, but you’ve already implied encodings are a ‘thing’ that scrapscript is marginally aware of beyond ASCII with that emoji example =)