<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div></div><div>They're the same:</div><div><br></div><div>> :t \x -> pure x</div><div><span style="background-color: rgba(255, 255, 255, 0);"> \x -> pure x :: Applicative f => a -> f a</span></div><div><div><span style="background-color: rgba(255, 255, 255, 0);">> :t \x -> pure $ x</span></div><div><span style="background-color: rgba(255, 255, 255, 0);"> \x -> pure $ x :: Applicative f => a -> f a</span></div></div><div><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div><span style="background-color: rgba(255, 255, 255, 0);">Tom</span></div><div><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div><br>El 16 jun 2016, a las 12:24, KC <<a href="mailto:kc1956@gmail.com">kc1956@gmail.com</a>> escribió:<br><br></div><blockquote type="cite"><div><p dir="ltr">Think of the types of</p>
<p dir="ltr">pure x</p>
<p dir="ltr">And</p>
<p dir="ltr">pure $ x</p>
<p dir="ltr">--<br>
--</p>
<p dir="ltr">Sent from an expensive device which will be obsolete in a few months! :D</p>
<p dir="ltr">Casey<br>
    </p>
<div class="gmail_quote">On Jun 16, 2016 9:06 AM,  <<a href="mailto:amindfv@gmail.com">amindfv@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">foo :: Applicative f => f String<br>
foo = do<br>
    x <- pure "this works"<br>
    pure x<br>
<br>
... but replace "pure x" with "pure $ x" and it doesn't typecheck: a monad instance is required!<br>
<br>
Tom<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div>
</div></blockquote></body></html>