On Tuesday, 18 May 2021 at 09:14:46 UTC, Chris Piker wrote:
>On Tuesday, 18 May 2021 at 08:22:56 UTC, Ola Fosheim Grostad wrote:
>The main reason is that D needs better metaprogramming.
That's an interesting take.
So far, with only a month's usage of D I'm seeing so much meta-programming capability that it actually worries me a bit. With string mixins and so many other meta programming features around I'm starting to think that reading other people's D code is going to be quite difficult, similar to perl.
>Golden design rule: never add language features that can be done as library constructs, ever.
This sounds like a reasonable position. Imagine for a second that AAs were implemented as a library. What would the library equivalent of this:
long[string] aea = ["foo": 5, "bar": 10, "baz": 2000 ];
look like?
It could look the same, but long[string] would now be a shorthand for std.xyz.Map!(long,string) or something like that instead of a special case.