> In Spry I use methods a lot, obviously, since Spry is dynamically typed.
Do you mean, you use them whilst coding in Spry, or while coding the Spry interpreter? Certainly in a Smalltalk like language, or in Java, you'll use methods a lot, as there aren't other options. > Also, I would like for someone to explain what is so bad about methods and > how vtable would be so much better - and that is an honest question since I > have no idea. It's a great question, and I'd like to see more language design rationale questions like it on this forum. I'm tempted to start a new thread, but the forum software doesn't make that easy, so I'll continue here. If you want to make a discussion another thread may be better? I don't think methods are 'bad', by 'methods' here, I mean the (implicit) dynamic dispatch/open recursion that makes a language OO. I don't even think that multimethods/multidispatch are bad. My view, not necessarily shared, is that Nim is a language favoring static/compile time techniques, and that there's some kind of inherent tension with baking higher level dynamic capabilities into the language, in particular, multimethods, which impose costs on the rest of the design. I'd prefer minimalism for the OO part of the language; single dispatch and maybe Go-like interfaces. That's a design space already well explored in statically typed, imperative languages.
