On Tuesday, June 25, 2019 at 1:22:08 AM UTC-4, Ian Denhardt wrote: > > Hey all, > > A few weeks ago in the thread about the Elm implementation, I mentioned > that I had a longer critique of the schema language that I'd been > meaning to write up. I finally got around to it; the blog post is here: > > > https://zenhack.net/2019/06/25/a-critique-of-the-capnproto-schema-language.html > >
For what it's worth form a user's perspective: Multiple inheritance is an absolute killer feature for me; it would be much harder to use the RPC protocol without it. But I see it as an entirely abstract architectural design decision. It's a concept, and by itself it seems to impose no limitations whatsoever in how it is expressed in any concrete programming language. The bundled codegen expresses this abstract concept in the concrete in terms of C++ virtual inheritance, bit this is an implementation detail. It allows flexibility in composing types, using a fairly at a nominal added cost, but is not an architectural decision. The C++ codegen could, for example, have a mode that combines interface types using type tuples, and then you'd have static compile-time virtual inheritance instead. I generate Pascal-like code from capnp schemas, and it's a dialect with no virtual inheritance, and I found a suitable way expressing it, and the schema is chock full of multiple inheritance. Cheers, Kuba -- You received this message because you are subscribed to the Google Groups "Cap'n Proto" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/capnproto. To view this discussion on the web visit https://groups.google.com/d/msgid/capnproto/ef047a98-5cf3-44d5-88b0-c0cd2afbf473%40googlegroups.com.
