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.

Reply via email to