> Much bikeshedding can be had over whether ADTs or OOP are preferable, but you 
> need at least something.

I agree; indeed I agree with your post int its entirety, with the caveat that 
I'd rather see a minimal 1.0 released now without any more support for runtime 
polymorphism than object variants. That doesn't mean that I don't want 
something more, just that **method** appears to me to be a design mistake, and 
if it is stabilized in 1.0 then we will likely be stuck with it. I was hoping 
that **vtref** was going to be the solution, but apparently that idea is dead 
now, and concepts need a bit of work. I think that there are other solutions 
that would fit with Nim, like the one in GNAT* with its single inheritance + 
multiple inheritance of interfaces, but like I said, I'd much rather see a 
minimal Nim sooner than a fixed Nim in 2023 or whenever.

Many new languages don't (yet) have JS backends, Rust and Julia come to mind. 
It's not that I consider it wasted effort as much as _this is the wrong time to 
be doing this_. I fear that by pursuing too many things Nim will achieve very 
little, and I would consider that to be an unfortunate outcome.

  * 
[https://www.adacore.com/uploads/techPapers/Ada-2005_Interface_Types.pdf](https://www.adacore.com/uploads/techPapers/Ada-2005_Interface_Types.pdf)


Reply via email to