So, first order of business: figure out a protocol to talk over the extension<->fuck channel, because the idea is that fuck will ask each exetnsion about what kind of stuff it supports, and then set up appropriate channels for each.
Now, the ideal thing would be if the negotiation would be automatic. I can't enforce that at compile time, because it depends on the extension, and that's a runtime thing. But I can teach the Rust side bridge to figure out which functions are exported from Fennel, and do the negotiation itself, so it doesn't need to be implemented - or even exposed - to the Fennel side.
So, first order of business: figure out a protocol to talk over the extension<->fuck channel, because the idea is that
fuckwill ask each exetnsion about what kind of stuff it supports, and then set up appropriate channels for each.Now, the ideal thing would be if the negotiation would be automatic. I can't enforce that at compile time, because it depends on the extension, and that's a runtime thing. But I can teach the Rust side bridge to figure out which functions are exported from Fennel, and do the negotiation itself, so it doesn't need to be implemented - or even exposed - to the Fennel side.