The Omega package

[Tags:bsd3, library, test]

This package provides tools for manipulating sets and relations whose members can be represented compactly as a Presburger arithmetic formula. The primary interface can be found in Data.Presburger.Omega.Set and Data.Presburger.Omega.Rel.

[Skip to Readme]


Versions 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1, 0.2.2, 1.0, 1.0.1, 1.0.2, 1.0.3
Dependencies base (==3.*), containers [details]
License BSD3
Author Christopher Rodrigues
Category Data
Uploaded Wed Dec 2 03:47:44 UTC 2009 by ChristopherRodrigues
Distributions NixOS:1.0.3
Downloads 2624 total (17 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-12-30 [all 7 reports]


  • Data
    • Presburger
      • Omega
        • Data.Presburger.Omega.Expr
        • Data.Presburger.Omega.LowLevel
        • Data.Presburger.Omega.Rel
        • Data.Presburger.Omega.Set


useinstalledomegaLink to a preinstalled version of the Omega libraryDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for Omega

Readme for Omega-0.2.1

Omega -- Operations on Presburger arithmetic formulae

This package contains a reduced copy of the Omega library.
The Omega library's home page is, and
its full sources are at


This is a Cabal package.  The typical build process is:

	runhaskell Setup.hs configure <FLAGS>
	runhaskell Setup.hs build
	runhaskell Setup.hs install

Configure with -fUseInstalledOmega if you have already installed the C++
Omega library.  Otherwise, the library will be built and linked into this

GHCi is not supported due to dynamic loading problems.

Because this package contains C++ source code, Cabal may need help
finding the required headers and libraries.  You may need to provide the paths
to the C++ include directory (contains STL headers such as "vector") and
library directory (contains the C runtime library, called "" on
GNU Linux systems).  If the C++ Omega library is not installed in a standard
place, you will also need to provide paths to it.

A configuration might look something like this:

	runhaskell Setup.hs configure --disable-library-for-ghci -p \
		--extra-include-dirs=$(YOUR_CXX_INCLUDE_PATH) \


The C++ Omega library includes documentation of its exported interface in
'interface.dvi'.  You may wish to look there if the Haddock documentation for
a set operation or relation operation is lacking.