Day 81: Repairing the tree

autrijus on 2005-04-22T15:28:17

Another short summary today, as I need to wake up early tomorrow for family reunion.

Most of today was spent on repairing the tree after the huge patch landing of yesterday. After some laborous cleaning up, all the infinite loops has finally been fixed, and Thunk is made into a proper object. I still need to remove both VThunk and VPair from the Val type, though, as Larry has indicated that all objects needs to exist as references instead of pure values.

I was going to implement that refactoring before sleeping, but instead I came by this article on PerlMonks that claims Haskell cannot perform a fair in-place shuffle, and thus would be much less efficient and more memory-hungry than Perl 5.

My experience with OpenAFP (my first Haskell project) has been quite the opposite, so I whipped up a Haskell version that is nearly twice as fast as Perl 5, and with much better O(1) memory behaviour. Well, at least I learned how to use ST monad from this, so it was not entirely a pointless exercise...