I'm avoiding hard-coding bools anywhere as I intend to allow fuzzy-representations at some point.
On Wed, Feb 3, 2010 at 12:10 AM, Serguey Zefirov <sergu...@gmail.com> wrote: > 2010/2/2 Lyndon Maydwell <maydw...@gmail.com>: >> I chose the array mainly for the fast lookup time compared to lists, >> are you suggesting something like creating a "Map (X,Y) Health"? I'm >> not currently updating any structures, rather creating the successor >> from scratch. I can see how the map may work very well for the sparse >> nature of non-early life games now that I think of it. > > Because your Health is basically Bool, you can use Set (X,Y) for a set > of live objects. > > Creation of new Array is (without knowing some subtle details) is > O(max coordinates difference between live cells). Creation of new Set > (X,Y) is O(NlogN) (N = number of live objects). Most of the cells in > Life are empty, so the Set/Map approach is faster. Also it leads to > very concise code. > > Actually, your solution with arrays is the most often occured solution > an imperative programmer will come with. It is simple but not scalable > and not particularly fast. > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe