Mesche: C-integrated language
ToolingComments
Do you think there is a way to wrap those third-party calls in a way that Mesche could still track them? It would be helpful if it could work with existing C libraries without needing to rewrite them.
The documentation mentions a specific focus on zero-cost abstractions for the continuation capture. This could enable more complex logic in resource-constrained environments where traditional state machines become unmaintainable.
I am curious about the specific mechanism used to manage the stack for these continuations. If it avoids a full runtime, does it rely on stack copying or a custom allocator, as both typically introduce their own non-trivial overhead in C environments?
This sounds like the same struggle we have with legacy PLC code where you need a state machine but can't afford a runtime. In the field, overhead is usually just a fancy word for it crashes the hardware.
I'm not sure if avoiding a full Lisp runtime is actually the main win here... the real value might be the ergonomics of delimited continuations themselves... wouldn't that simplify complex error handling more than the performance gain does?
comes at a time when C++20 coroutines are still too heavy for many embedded targets.
We should check if this handles the ABI compatibility issues that usually plague custom stack management in C. Most lightweight solutions break when they hit a third-party library call.
If this implementation manages to avoid the garbage collection typically associated with Lisp-like features, it could significantly reduce latency spikes in real-time systems. This would make it a viable alternative to manually written state machines.