Daily Thought - 2024-04-27
< back to listWhen it comes to zero-overhead abstractions and Caterpillar, the elephant in the room is interactivity. Making immediate changes to a running program has an inherent cost. How can such a feature be supported without a heavy runtime?
The short answer is, it probably can't. But I think there are ways to alleviate this. For a start, interactivity is going to be most useful during development, and there you might be able to afford the cost. For production deployments, we can support "exporting" your program from the interactive runtime, into a fully compiled and optimized form.
And that might be fine in many cases. But I think giving up on interactivity for production deployments would fall short of Caterpillar's potential. And I do have ideas on how to support that, without making the whole language slow.