> don't understand the question

true...

> already can the concept demand a ==/hash operation to exist.

This was not the question. What I did with the example above: I linked a type 
with `Self` that is not directly attached to `Self`.

Do you spot it now ?
    
    
    type
      ExU = concept
        type U
        proc aproc*(a: Self,v: U)
        proc cproc*(v: U) : int   # attached proc that does not belong to Self!
    
    
    
    Run

The Link goes like this: `Self -> U -> cproc`

You can't do that with your proposal in RFC 380 and therefore, your 
specificatin is not complete. What you are doing there: You attempt to build a 
_naive (static) virtual table for a type_ . At the same time, it is a 
simplified concept plus a prototypic implementation.

I did essentially the same with a `{.prototype.}` pragma in 
<https://forum.nim-lang.org/t/7925> . It tells the compiler to build a static 
vtable. It makes the things explicit for a specific type. Other types can be 
attached too. However, they are not granular enough. Concepts are the more 
general approach. 

Reply via email to