<div dir="ltr">The source code is here: <a href="https://github.com/ekmett/bound/">https://github.com/ekmett/bound/</a><br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 17, 2018 at 8:41 AM <<a href="mailto:beginners-request@haskell.org">beginners-request@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send Beginners mailing list submissions to<br>
        <a href="mailto:beginners@haskell.org" target="_blank">beginners@haskell.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:beginners-request@haskell.org" target="_blank">beginners-request@haskell.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:beginners-owner@haskell.org" target="_blank">beginners-owner@haskell.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Beginners digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1.  Bound library questions (Anthony Lee)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Fri, 17 Aug 2018 06:46:52 -0400<br>
From: Anthony Lee <<a href="mailto:anthonynlee@gmail.com" target="_blank">anthonynlee@gmail.com</a>><br>
To: <a href="mailto:beginners@haskell.org" target="_blank">beginners@haskell.org</a><br>
Subject: [Haskell-beginners] Bound library questions<br>
Message-ID:<br>
        <CA+pBo5HVraf_8jbs15bR6QAy1S7=z_u-3KBwT=<a href="mailto:c3sqkAgc0m5Q@mail.gmail.com" target="_blank">c3sqkAgc0m5Q@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
In Scope.hs there are some functions I feel difficult to understand,<br>
Why fmap/foldmap/traverse is applied three times?<br>
<br>
instance Functor f => Functor (Scope b f) where<br>
fmap f (Scope a) = Scope (fmap (fmap (fmap f)) a)<br>
{-# INLINE fmap #-}<br>
<br>
-- | @'toList'@ is provides a list (with duplicates) of the free variables<br>
instance Foldable f => Foldable (Scope b f) where<br>
foldMap f (Scope a) = foldMap (foldMap (foldMap f)) a<br>
{-# INLINE foldMap #-}<br>
<br>
instance Traversable f => Traversable (Scope b f) where<br>
traverse f (Scope a) = Scope <$> traverse (traverse (traverse f)) a<br>
{-# INLINE traverse #-}<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://mail.haskell.org/pipermail/beginners/attachments/20180817/429114c8/attachment-0001.html" rel="noreferrer" target="_blank">http://mail.haskell.org/pipermail/beginners/attachments/20180817/429114c8/attachment-0001.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
<br>
<br>
------------------------------<br>
<br>
End of Beginners Digest, Vol 122, Issue 6<br>
*****************************************<br>
</blockquote></div>