Thanks for all the comments. I've updated the wiki page, in particular
to make it clear that Applictive do-notation would be an opt-in extension.
Cheers,
Simon
On 02/10/13 16:09, Dan Doel wrote:
Unfortunately, in some cases, function application is just worse. For
instance, when the result is a complex arithmetic expression:
do x <- expr1; y <- expr2; z <- expr3; return $ x*y + y*z + z*x
In cases like this, you have pretty much no choice but to name
intermediate variables, because the alternative is incomprehensible. But
applicative notation:
(\x y z -> x*y + y*z + z*x) <$> expr1 <*> expr2 <*> expr3
moves the variable bindings away from the expressions they're bound to,
and we require extra parentheses to delimit things, and possibly more.
Desugaring the above do into applicative is comparable to use of plain
let in scheme (monad do is let*, mdo was letrec). And sometimes, let is
nice, even if it has an equivalent lambda form.
And as Jake mentioned, syntax isn't the only reason for Applicative.
Otherwise it'd just be some alternate names for functions involving Monad.
On Wed, Oct 2, 2013 at 5:12 AM, <p.k.f.holzensp...@utwente.nl
<mailto:p.k.f.holzensp...@utwente.nl>> wrote:
I thought the whole point of Applicative (at least, reading Connor’s
paper) was to restore some function-application-style to the whole
effects-thing, i.e. it was the very point **not** to resort to binds
or do-notation.____
__ __
That being said, I’m all for something that will promote the use of
the name “pure” over “return”.____
__ __
+1 for the Opt-In____
__ __
Ph.____
__ __
__ __
__ __
*From:*Glasgow-haskell-users
[mailto:glasgow-haskell-users-boun...@haskell.org
<mailto:glasgow-haskell-users-boun...@haskell.org>] *On Behalf Of
*Iavor Diatchki
____
__ __
do x1 <- e1____
__ __
-- The following part is `Applicative`____
(x2,x3) <- do x2 <- e2 x1____
x3 <- e3____
pure (x2,x3)____
__ __
f x1 x2 x3____
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
<mailto:Glasgow-haskell-users@haskell.org>
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users