On 13 January 2005 23:36, Nick Main wrote: > I'm planning to implement a small OO language on top of GHC (think > JavaScript) and need to decide on how to implement the mutable object > graph that is required. > > The two approaches I'm considering are: > - something on top of Data.Graph > - using MVars as the object references. > > The MVar approach is the most appealing, since it would also allow the > OO language to contain threads. How expensive is an MVar access (in > GHC), compared to the graph navigation that would be required to > resolve a reference using Data.Graph ? > > I know this is a fairly nebulous question, but any comments or > suggestions are appreciated.
So here's a nebulous answer: I don't know, measure it :-) Each MVar operation involves a function call right now, so you might class it as "expensive". Personally for your application, I think I'd use a mutable array to represent the heap. That amounts to almost the same as using Data.Graph, but I imagine you'll need the mutability for speed. Perhaps providing a mutable Graph data structure implemented using an array would be a nice abstraction. Cheers, Simon _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users