| ▲ | tombert 11 hours ago | |||||||
Not the OP, but I'm thinking about like closures? Say you wanted to make a Node.js framework with callbacks that react to an event. The callback might be a closure that captured some of its surrounding variables. At that point, any of the captured variables are not trivially stack-allocated. You might be able to do something similar to what Rust does with moving though. | ||||||||
| ▲ | jandrewrogers 10 hours ago | parent | next [-] | |||||||
Typically you would construct this state in statically allocated memory. A lot of systems work this way. Dynamic heap allocation isn’t the only alternative to stack allocation. | ||||||||
| ▲ | skew-aberration 11 hours ago | parent | prev | next [-] | |||||||
You could predefine your event handlers within your context, then call 'enter framework' and pass your event handlers as arguments. this is continuation passing style | ||||||||
| ||||||||
| ▲ | com2kid 10 hours ago | parent | prev [-] | |||||||
Nah we did something similar on Microsoft Band. I wrote about how - https://meanderingthoughts.hashnode.dev/cooperative-multitas... The tldr is you had to preallocate a struct with anything you wanted captured ahead of time. | ||||||||