
On Sun, 2007-12-02 at 03:29 +0000, Robin Green wrote:
On Sat, 01 Dec 2007 21:22:53 -0600 Derek Elkins
wrote: There's also the issue of finding a more elegant way of threading the Store through my evaluator, but I'm not concerned too much about that at this point. I can probably define a state-carrying monad like Parsec. My real concerns are the first two issues.
Use ST. First-class state isn't too great unless you specifically want that.
Or use IO - that way you can use a Hashtable for looking up identifiers. Although, better still is to convert variable references into Ints, instead of using a Hashtable.
From what I hear, Data.HashTable is impressively inefficient to the extent that you're better off using Data.Map solely for performance (not to mention it being pure.)