Time Travel in Haskell for Dummies
blog.csongor.co.ukCan somebody ELI5 this? I don't get it.
This year's Advent of Code had a problem where you had to check the visibility of trees in a forest from both sides, (actually four sides, but consider two sides). You needed to read in an entire array of tree heights, and walk back from both sides into the centre to check if each tree was visible.
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.
Which part specifically?
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 :)