3 ms·
> Traditionally this is done by specifying data structures and RPC calls in an Interface Definition Language (IDL) then translating that to the supported langua
by gravypod 7y ago
> Traditionally this is done by specifying data structures and RPC calls in an Interface Definition Language (IDL) then translating that to the supported languages, with a wire protocol to go along with it.
> With D, none of that is necessary. One can write the production code in D and have libraries automagically make that code callable from other languages.
If you're using an RPC IDL you explicitly do not want to share that code, you want to share that API.
- atilaneves 7y agoYou could share D .di files, which are akin to C/C++ headers, but automatically generated by the compiler.
- anderspitman 7y agoDoes this work over arbitrary concurrency barriers (ie a network), or is it for libraries only?
- gravypod 7y agoThis. You definitely aren't attempting to build a service in one heap/address space if you're using an RPC IDL.
- atilaneves 7y agoYou'd be surprised...
- gmueckl 7y agoIn principle, the compile time code generation involved can generate arbitrary wrappers including networked RPC. It wouldn't be terribly hard. It just hasn't been done yet as far as I know.