[1]: https://gstreamer.freedesktop.org/documentation/gstreamer/gs...
Anyway, I was sent down a rabbit hole of wanting to do object-oriented C for a language independent core as well, starting off with buying the physical copy of this PDF, because I liked it so much...
I have to say GStreamer is probably the absolute best, most ambitious, shining example of such a type system, as it's already built upon GObject, fixes a lot of its shortcomings, and just really takes the whole thing to the next level with a complex, highly OO architecture. Fantastic reference and inspiration for this kind of stuff.
Re-engineering the code to be not object oriented is not practical, so we're keeping its OO nature.
Well, it is possible, but it would easily take four times the amount of time it would take to port the C++ code to C. So porting makes the most sense.
I've studied everything out there on achieving OOP in C, and actually the OP's book reference was my original inspiration. There's a fine art to doing it and a few good codebases are out there that do it well... The entire GNOME stack is based on this kind of stuff.
Anyway let me know if you have any questions. lol.
Really in the end I should just make my own language but who has the time right.
In any case, fascinating stuff and thanks again!