3 ms·
The article is wrong.
by Turing_Machine 5y ago
The article is wrong.
- dzaima 5y agoC definitely doesn't provide a well-defined stable interface. Specific ABI definitions might, but there are 176 of those, and implementing all of those in another language is decidedly not what I'd call "easy".
- Turing_Machine 5y agoIt's been done multiple times, by small teams of unpaid volunteers. "Easy"? Depends on your definition of "easy". Doable? Absolutely. But complaining won't get it done.
- dzaima 5y agoIn most cases, I'd think those small teams support like a max of 5 ABIs, out of the 176. Of course it's "possible". Of course, complaining about it won't get it done. But I can easily envision an alternate universe with the same OS & CPU architecture variety, that has the effort required for doing this be ten times smaller, and I don't see it being utterly pointless to ponder the viability of that if only just for fun (which the swearing in the article hints to me it is). I, as an author of a small language implementation, would really prefer to not need to implement more than one C FFI ABI, much less 176. I'd meet somewhere in the middle, but 176? nah.
- thatsnotc 5y agoC provides an API, not an ABI. The compiler provides a mapping from the stable, (relatively) portable, well-defined API -> the unstable, non-portable, ill-defined ABI of the host system.