
Quoting Paul Fertser
On Thu, Feb 21, 2013 at 01:54:28PM -0500, wagnerdm@seas.upenn.edu wrote:
Hm. From a short look at the module, it seems the Gaps constructor is not exported because there are some invariants maintained by the auxiliary functions that act on GapSpecs and [Direction2D]s.
Do I undertand it right that you mean exporting Gaps constructor would allow users to specify some direction more than once or to add some direction for which a gap is not defined and that it should be prevented compile-time? Would creating another function (gaps' ?) that would accept a list of triples (with the third boolean element to specify an initial state) solve the problem?
Yep, that's pretty much what I meant. A smart constructor like the one you suggested should deal with the problem just fine. ~d