Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

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