[Haskell-cafe] An experimental Zipper using Thrists and first-class Labels. Help or thoughts?

Jason Dagit dagit at codersbase.com
Tue Jul 27 02:22:33 EDT 2010


On Mon, Jul 26, 2010 at 10:59 PM, Jason Dagit <dagit at codersbase.com> wrote:

>
>  ($) is application, but in the space of functions it is identity.  So, if
> you think the elements in your thrist as being values in the space of
> functions, you're asking for a right fold that is like, v1 `id` (v2 `id` (v3
> `id` ...), which I hope you agree doesn't make that much sense.
>

I just realized a better way to phrase this analogy is that id and ($) are
0, and (.) is (+).

So your foldr expands like:
v1 `0` (v2 `0` (v3 `0` .... (vn `0` 0) ... )

But if you use (.), it expands like:
v1 + (v2 + (v3 + ... (vn + 0) ... )

I guess you could pick id = ($) = 1, and (.) = (*).  I think the analogy
works equally well, but I might be forgetting something simple.  Either way,
I bet you get what I'm rambling about so I'll stop now :)

Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100727/150dd79b/attachment.html


More information about the Haskell-Cafe mailing list