[Haskell-cafe] An experimental Zipper using Thrists and
first-class Labels. Help or thoughts?
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 :)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe