> The original "obviously" was referring to the fact that since Spry code is 
> dynamic it leads to a lot of dynamic dispatch going on in the Spry 
> interpreter - which is basically implemented using Nim methods.

You could implement a dynamically type OOPL in a statically typed one without 
using OO features at all in the implementation. I've implemented little OOPLs 
in OCaml and I didn't use the object system. I took a quick look at the Spry 
source code and it looked like mostly single dispatch.

> Now, going back to my question - I am aware that Araq don't like methods, 
> although I never really understood exactly why

I can't answer that question, but I imagine as Nim's implementor he understands 
the costs of supporting method more than most. Every language feature has 
costs, implementation and otherwise. I imagine that he doesn't think that cost 
> benefits.

> I also presume this new design (which I know nothing about)

[This](https://nim-lang.org/docs/manual.html#generics-vtable-types), which 
@adrianv pointed to. Read it before it disappears  There's not much there 
(which is why I was anxious for an implementation to play with) but from what I 
gathered `concepts` could be turned into a (dispatching) Java-like interface 
using `vtref`/`vtptr`.

Also, thanks @dataman, for

> Also bitops module (very useful) added.

How did I miss that? Excellent!

Reply via email to