Caterpillar

Daily Thought - 2024-07-04

< back to list

A lot of the concept of a "host" in Caterpillar is inspired by Roc. Roc calls it "platform", but there are other differences too. I don't think Roc has the same focus on effects that can be tracked, for example.

Another difference (as far as I know) is, that as far as Caterpillar is concerned, access to heap memory is I/O. This has some advantages. Dynamic memory allocation is not desirable in every situation (think microcontrollers, for example). Not treating access to the heap as the default case, will help make Caterpillar code more portable.

It's also likely to be more flexible. Some platforms have multiple different kinds of memory. Again, microcontrollers come to mind; but WebAssembly also has something like this in the pipeline, as far as I know. Not building too many assumptions into the language, about how memory works, is likely to make it more flexible in handling non-standard cases.

<< previous thoughtnext thought >>