I'm a huge fan of BlockArguments in limited doses. There are some good idioms with them, e.g.

1. bracket createResource destroyResource \resource -> do
      ...

2. when cond do
      ...

3. for elems \elem -> do
      ...

Adding the `$` to those examples is just syntactic noise. It's quite clear what's going on without it.

I know some people found ways to abuse BlockArguments, e.g. by prefixing each function argument with a `do`, and I'm not a fan of that. But with some sense of taste it's possible to put BlockArguments to good use.

Vlad

On Mon, Jan 8, 2024 at 5:54 PM Arnaud Spiwack <arnaud.spiwack@tweag.io> wrote:

One thing that would change my mind is if 90%+ of the Haskell community always switched it in, as you do.  But the poll only showed 43%; substantial but not overwhelming.

Honestly, if we trust that ~45% of active Haskell programmers use BlockArgument, then I'd say it's a pretty convincing argument to include it. I'm absolutely not intent on using it (in fact, the mere existence of BlockArgument is a little baffling to me), but turning it on doesn't force me to use it. So if 50% of Haskellers care enough to actively turn on the extension, I think we can consider it a pretty compelling reason to have BlockArgument by default.

/Arnaud
_______________________________________________
ghc-steering-committee mailing list
ghc-steering-committee@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee