Changeset [667366c6ebf41bc7b5ba2d6923339de02bbc56c9] by Douglas Creager
Revision 667366c6ebf41bc7b5ba2d6923339de02bbc56c9,
committed by Douglas Creager
· September 6th, 2008 @ 11:57 PM
New implementation of sets
This patch introduces a new implementation for sets. It's based on the Data.Set standard library, augmented to also allow open ranges. This implementation gives a canonical representation for every set, making equality comparisons easy. Unfortunately, this representation might not work out completely, since the only infinite sets that are directly supported are open ranges. The powerset of an open range, for instance, causes a stack overflow, since we eventually try to create a Data.Set instance of the result. This requires reading in the entire powerset, which, of course, borks.
Lighthouse: [#12] http://github.com/dcreager/hst/c...
8 changed files
-
M
cspm/HST.cabal -
M
cspm/src/HST/CSPM.hs -
M
cspm/src/HST/CSPM/Evaluate.hs -
M
cspm/src/HST/CSPM/Sets.lhs -
M
cspm/src/HST/CSPM/Types.hs -
M
cspm/src/HST/CSPM/Utils.hs -
M
cspm/tests/HST/CSPM/Tests/Generators.hs -
M
cspm/tests/HST/CSPM/Tests/Sets.hs