Worst ideas/features in programming languages?
max haughton
maxhaton at gmail.com
Tue Oct 12 18:54:50 UTC 2021
On Tuesday, 12 October 2021 at 17:48:04 UTC, Paul Backus wrote:
> On Tuesday, 12 October 2021 at 17:25:52 UTC, max haughton wrote:
>> [...]
>
> You can technically do this already with `foreach` and
> `opApply`, although the result ends up looking kind of goofy:
>
> ```d
> foreach (b; a)
> foreach (c; b)
> foreach (d; c)
> e;
> ```
>
> Desugars to:
>
> ```d
> a.opApply(b =>
> b.opApply(c =>
> c.opApply(d => e)));
> ```
>
> ...which is almost the same thing as Haskell's `do` notation,
> if you replace `>>=` with `opApply` and `x <- y` with `foreach
> (x, y)`.
>
> This similarity is perhaps why Scala uses the `for` keyword for
> [its version of `do` notation][1].
>
> [1]: https://docs.scala-lang.org/tour/for-comprehensions.html
I hate this and I hate you!
Nice trick though, wouldn't have thought to do that.
More information about the Digitalmars-d
mailing list