Time Travel in Haskell for Dummies(blog.csongor.co.uk) |
Time Travel in Haskell for Dummies(blog.csongor.co.uk) |
Because Haskell reads in the entire array before beginning processing, you can create semantics that walk backwards and forwards to solve this problem all in one go. That is what the Tardis monad is about.
The article doesn't especially assume Haskell knowledge and even explains both thunks/laziness and the state monad from scratch.
So I'm guessing there's just some small questions that can be answered and then the article will do the explaining. It would be silly to rewrite a worse explanation of Tardis instead of explaining the missing pieces to you :)