3 ms·
Emotions aside, what is the solution? You have platforms with different [efficient] ways to pass arguments, operating systems and firmware with different conve
by wruza 2y ago
Emotions aside, what is the solution?
You have platforms with different [efficient] ways to pass arguments, operating systems and firmware with different conventions, and on top of that there are different compilers that will inevitably differ in fringe areas. All of this must be supported in a binary form.
What is the answer and why C’s answer is more problematic than any other? TFA reads like a misdirected blame or venting on “legacy”.
- imtringued 2y agoSomeone needs to figure out how to use capnp to call shared libraries.
- yencabulator 2y agoAt that point, there's not much point in using shared libraries. Put the foreign code in a subprocess and share a ringbuffer or a socketpair.
- bluetomcat 2y ago> Emotions aside, what is the solution? Might sound cynical, but: design your own hardware with a stable ISA. Develop an operating system on top of it. Ship your language on top of that OS and boast about the ABI stability to the few users of your language.
- brabel 2y agoHas anyone done that? I think https://urbit.org/ https://urbit.org/ has tried but I haven't heard of them in years, so I think they haven't taken over the world yet.
- yencabulator 2y agoWell, Mill is vaporware but its portals would be a (micro-kernel ready but Linux-usable) syscall boundary, defining at least the core of the ABI -- and they're pretty much just a flavor of the regular function call on the platform.