List object progress

Posted: April 5th, 2011 | Author: Mars | Filed under: Progress | 2 Comments »

Implementing the log-time finger tree algorithms has proven to be a substantial challenge. Examples are few, and most are written in Haskell, which I find largely unintelligible. After several false starts, however, I am making some progress. I’ve re-implemented the indexed element lookup, in a way that will survive splits and concatenations, and have roughed out the concatenate method. With that and a split function, I can easily build insert, remove, and assign.

The list object has been more of a slog than I expected; the finger tree is substantially more complex than the Andersson-tree used in the map object. It is still clearly the right approach, however, and I am pleased to have such a powerful tool built into the foundation of the language.


2 Comments on “List object progress”

  1. 1 Asher said at 11:08 on April 5th, 2011:

    –> http://learnyouahaskell.com/

  2. 2 Mars said at 11:20 on April 5th, 2011:

    I’ve actually read through that Haskell tutorial, and a few others too. I have no trouble reading aboutHaskell, and I think I’ve picked up a fair understanding of its semantic model at this point, but when I try to read actual Haskell code, my brain simply locks up.

    The same thing happens with certain mathematically-oriented CS papers: paragraphs full of complex sentences are no problem, but as soon as I run into the inevitable wall of equations I just lose. It is not my language and not a language I have had much success penetrating.