On Friday, 9 February 2018 at 08:27:21 UTC, Nick Sabalausky
(Abscissa) wrote:
On 02/09/2018 02:54 AM, Suliman wrote:
[...]
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
And Algebraic types. Yes, we technically have them, but
compared to something like Nemerle, D claiming to have
algebraic or pattern matching is like C claiming to support OO:
Umm...sorta...technically...kinda...but...uhhh...no, not really.
Proper sum types and pattern matching would be nice.
Atila