I don’t think it is possible to first decide about where and then “whether
let will be dropped”. I am fine with adding where. I am absolutely against
dropping let. So if first where is added, and only then the argument “but
we must not have two ways of doing almost the same thing” kicks in, then
you will want to discuss about dropping let, whereas I will start arguing
that if one must be dropped, then where is the one. :-)

If I am not alone in this, then it is counterproductive to not up front
discuss the actual alternatives “only let“, “only where“, “where and let“.

And I don’t think that lambda + let was refuted. It is fine to encourage as
a style guide that anonymous functions best do not have local bindings
inside. It is a different matter altogether to actually outlaw those two to
ever be used together. It seriously hampers the use/combination of
functional features. My comment in the earlier discussion that was mainly
on this point was this
<https://github.com/elm-lang/elm-compiler/issues/621#issuecomment-103183154>.
That was written a long time ago, I don’t have the details of the code
present in mind anymore, so I can’t tell whether I feel 100% like I did
back then on that particular example. But I can suggest this:

Make an experiment asking experienced Haskell programmers what they would
chose if they had to give up one of where and let from their language. I
bet that (being aware giving up let would mean they can’t have local
definitions inside a lambda-expression anymore), the majority would chose
to give up where.

In case you want to start counting: Here is one experienced Haskell
programmer who would chose to give up where in that case. (I have been
programming Haskell for 20 years next summer.)
​

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to