On Saturday, 13 May 2023 at 15:58:12 UTC, ryuukk_ wrote:
>-
better enums
-
tagged union
-
pattern matching
-
async
-
nullable
-
tuple/multiple return (deconstruction)
-
allocators (don't do them as classes/interface for the love of god)
-
implement GC as an allocator
This is a nice list, however I'd like to point out that not all of these need to be language features.
Nullable already exists in Phobos: https://dlang.org/library/std/typecons/nullable.html
You might say it should be a language feature, but I nullable value-types are a bit weird—they can be a value that isn't a value.
Pattern matching can be done in various ways, and the same to some extent with tuples.
Perhaps a fork of Phobos that's more community-driven would be good for the language?