3 ms·
If I've read this correctly, D has been able to dynamic link properly for years, against it's own ABI, the C ABI, or the C++ ABI (e.g. templates, vtables up to
by mhh__ 6y ago
If I've read this correctly, D has been able to dynamic link properly for years, against it's own ABI, the C ABI, or the C++ ABI (e.g. templates, vtables up to single inheritance)
- millstone 6y agoDoes D have an ABI spec? I imagine the garbage collector complicates it considerably.
- mumblemumble 6y agohttps://dlang.org/spec/abi.html https://dlang.org/spec/abi.html
- mhh__ 6y agoIts both a blessing and a curse that the garbage collector doesn't complicate it all that much
- cakoose 6y agoThe neat thing about Swift's ABI compatibility is that it's almost as flexible as its API compatibility, e.g. - A library can add new fields to a struct. - A library's parameterized types can be instantiated with new arguments. Skimming over the D ABI docs, the compatibility seems much more rigid.
- mhh__ 6y agoWell you can't add do either of those things in D because, pure and simple, we'd never approve the change.