Source

equivalence / equivalence.cabal

Name:            equivalence
Version:         0.2.0
License:         BSD3
License-File:    LICENSE
Author:          Patrick Bahr <paba@diku.dk>
Maintainer:      Patrick Bahr <paba@diku.dk>
Synopsis:        Maintaining an equivalence relation implemented as union-find using STT.
Description:	 
  This is an implementation of Tarjan's Union-Find algorithm (Robert
  E. Tarjan. "Efficiency of a Good But Not Linear Set Union
  Algorithm", JACM 22(2), 1975) in order to maintain an equivalence
  relation. 
  
  This implementation is a port of the /union-find/ package using the
  ST monad transformer (instead of the IO monad).
Category:        Algorithms, Data
Stability:       provisional
Build-Type:      Custom
Cabal-Version:   >= 1.6


flag test
  description: Build test executable.
  default:     False

Library
  Build-Depends:
    base >= 4 && < 5, containers, mtl, STMonadTrans
  Exposed-Modules:
    Data.Equivalence.STT,
    Data.Equivalence.Monad
  Hs-Source-Dirs: src

Executable test
  Main-is:		Data_Test.hs
  Build-Depends:	base >= 4, template-haskell, containers, mtl, QuickCheck >= 2, test-framework, test-framework-quickcheck2, test-framework-th
  hs-source-dirs:	src testsuite/tests
  ghc-options:          -fhpc
  if !flag(test)
    buildable:     False