On Friday, 28 April 2017 at 01:12:39 UTC, Nick Sabalausky (Abscissa) wrote:
On 04/27/2017 07:12 PM, Moritz Maxeiner wrote:

Wasn't one major selling point of compile time introspection / duck typing that we could stop using interfaces such... naming schemes?

Not that I speak for everyone, but the way I see it, no, the duck typing aspect is just something that's to be tolerated. The real gold is simply being freed from both the rigid mess and the runtime costs of class/interface hierarchies. I wish we DID have to include some kind of "implements ForwardRange" or "enum _thisStructImplements_ForwardRange" or some such to declare a type actually intends to be a ForwardRange (or whatever) and isn't merely qualifying as one by coincidence.

https://github.com/atilaneves/concepts

import concepts;

@models!(isForwardRange, MyType)
struct MyType { .... }


Atila

Reply via email to