I'm glad @arnetheduck started this thread. I appreciate his minimalist leanings
and the nod to Antoine de Saint-Exupéry.
* `exceptions` Can't live with'em, can't live without'em. I agree that
they're questionable, but like @Araq said there's no obviously better
alternative. I know that in D their implementation is tightly tied with the GC.
Do they present problems for the GC free Nim we expect to see in the year 2525?
In the SPARK subset of Ada exception handling is banned, though exceptions can
be raised. Also, Rust is a different beast than Nim, maybe if Nim had algebraic
data types we could use Option and Result types and do like Rust. I'd suggest
leaving them alone for v1.
* `method` I understand @mratsim's position I think; he'd like some kind of
dynamic dispatch that is relatively inexpensive but not necessarily method. I
think that's achievable before v1.
* `bitsets` No one suggested removing bitsets, just moving them to a library.
This is analogous to the discussion in D about moving associative arrays from
the language to a library. This makes sense; if you can't write it so that it's
efficient and convenient as a library, you can either modify the language so
that it's possible (the solution I like) or make it a built-in. I believe as
much as possible should be in libraries. I don't think it matters much whether
this is fixed now or later, so maybe it is better to wait until after v1.
@arnetheduck, do you have a reason that they need to go **now**?
* ` converters` Opinions vary here, I generally agree with the dictum that
explicit is better than implicit, especially in a language with overloading.
I'd like them gone.
* `do` I have no strong feelings one way or the other on this one.
* `Enums with holes` Good catch @GULPF, I agree, out with v1
* `{.discardable.}` Another good catch, out with v1