2009/2/10 Joachim Breitner <[email protected]>:
> Hi,
>
> Am Montag, den 09.02.2009, 16:41 -0700 schrieb Luke Palmer:
>> 2009/2/9 Joachim Breitner <[email protected]>
>>         Now while this works, and while ST is still somewhat pure, I'm
>>         wondering
>>         if there is no better way of expressing "This piece of
>>         information came
>>         from the point in a data structure, so something else can be
>>         put here
>>         easily".
>>
>> You might want to look into zippers:
>> http://haskell.org/haskellwiki/Zipper
>
> I thought about Zippers, but I understand that they improve _navigating_
> in a Tree-like structure, or to refrence _one_ position in a tree.
>
> But if I would deconstruct my tree to the list of _all_ locations, with
>> type Loc a = (Tree a, Cxt a)
> and then run my algorithm that returns [(Loc a, Info)], it's still not
> clear to me how I can combine all of these locations to get back my
> original Tree, annotated with the Info returned.

I guess I just repeat your last praragraph of your original mail but it seems
to me you can mapAccump some 'names' on the tree, process an
association list (or an IntMap) of the (name,log) then map the three
again using the result.
In spirits, it's the same thing than the STRef solution but it seems
cleaner to me.

Cheers,
Thu
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to