Which language futures make D overcompicated?
jmh530
john.michael.hall at gmail.com
Fri Feb 9 15:25:51 UTC 2018
On Friday, 9 February 2018 at 13:47:51 UTC, Atila Neves wrote:
> On Friday, 9 February 2018 at 08:27:21 UTC, Nick Sabalausky
>>
>> And yes, things like "inout", "auto ref" or whatever, and
>> such, strike me as indicative of more fundamental design
>> flaws. (Not "flaw" in the sence of "mistakes" necessarily, but
>> "flaw" in the sence of "there must be a better way to design
>> these things...")
>>
>> [...]
>
> Yeah, something like traits in Rust or typeclasses in Haskell
> would be a lot better. Fortunately, one can kinda-sorta get
> there with a library solution. Check out `@implements` in
> https://github.com/atilaneves/concepts
>
I'm confused. While I get how @implements resolves the same
issues as Rusts's traits, I don't see how traits resolve the same
issues as inout/auto ref. My understanding is that inout and auto
ref mean you don't have to write multiple versions of the
relevant functions. Moreover, while one could use templates to do
something similar, inout/auto ref are designed to reduce code
bloat. I don't think Rust's traits can accomplish the same thing,
but I'm not familiar enough with Haskell's typeclasses to know.
More information about the Digitalmars-d
mailing list