> 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!