Hi all, I'm working on is_deeply() for Test::More in PIR. Handling nested data structures is painful in PIR. I'm not asking for better abstractions to handle that, just ideas on how to handle the algorithm.
Multidispatch helps, but :multi( Array, Array ) or :multi( Hash, Hash ) don't work based on the capabilities of the PMC. That's fine. With Parrot's type system, where the writer of the code (me) doesn't know at code writing time what the type of the incoming data structures or individual data members might be, what's a concise and maintainable way to port is_deeply() to PIR? (I keep asking myself "How would I do this in C?" and the answer keeps being "Ugh, I wouldn't.") -- c