It occurs to me that, with my Harmonium project, using the standard C ABI directly isn’t necessarily a win. The C linking model is, shall we say, outdated. To make other languages work with it, I have to use some sort of external definition file to specify a function’s semantics. I can’t just say “function pointer”, I have to say “Function-that-takes-these-type-arguments-and-returns-this pointer.” And any OO is right out.
Because I have to add semantics anyway, it makes sense to go to a higher level; support a simple object model as well, perhaps? Closures? … Continue Reading