Julien Fischer
2017-03-14 05:25:02 UTC
Hi all,
Attached is a copy of the ranges module from the G12 platform. It provides the
ranges/0 type which is a set of ints represented using a sorted list of the end
points of each block of contiguous ints in the set. This type is used to
represent variable domains in G12's finite domain solver and the module exports
operations useful for that particular purpose.
I propose to add this module to Mercury's standard library. The attached
version is Opturion's current version (which we are happy to contribute);
previous versions were already available as part of the old MiniZinc
distribution under a BSD style license.
Julien.
Attached is a copy of the ranges module from the G12 platform. It provides the
ranges/0 type which is a set of ints represented using a sorted list of the end
points of each block of contiguous ints in the set. This type is used to
represent variable domains in G12's finite domain solver and the module exports
operations useful for that particular purpose.
I propose to add this module to Mercury's standard library. The attached
version is Opturion's current version (which we are happy to contribute);
previous versions were already available as part of the old MiniZinc
distribution under a BSD style license.
Julien.