-- Initial haskelzinc.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                haskelzinc

-- The package version.  See the Haskell package versioning policy (PVP) 
-- for standards guiding when and how versions should be incremented.
-- https://wiki.haskell.org/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.3.0.4

-- A short (one-line) description of the package.
synopsis:         CP in Haskell through MiniZinc 

-- A longer description of the package.
description:      
    This package was created in the context of the <https://www.graceful-project.eu GRACeFUL project>.
    .
    The haskelzinc library defines an interface to the MiniZinc 2.1 constraint proramming
    language. It provides a Haskell abstract syntax tree for the MiniZinc language, with 
    which one can represent MiniZinc models in Haskell, a pretty printer to print the 
    representation of a MiniZinc model in MiniZinc and a parser that returns a 
    representation of the solutions obtained by running the MiniZinc model.
    .
    An additional module gives the possibility to directly get the solutions of a 
    MiniZinc finite domain model. Option for interactive interface is provided, as well 
    as choice between two solvers: the G12/FD built-in solver of FlatZinc and choco3.   

-- The license under which the package is released.
license:             BSD3

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Klara Marntirosian

-- An email address to which users can send suggestions, bug reports, and 
-- patches.
maintainer:          klara.mar@cs.kuleuven.be

stability:           experimental

-- A copyright notice.
-- copyright:           

category:            Interfaces

build-type:          Simple

-- Extra files to be distributed with the package, such as examples or a 
-- README.
extra-source-files:  changelog, README.md, Examples.hs

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10

data-dir:            HZconf
data-files:          conf.txt


library
  -- Modules exported by the library.
  exposed-modules:  Interfaces.MZinHaskell,
                    Interfaces.MZASTBase,
                    Interfaces.MZBuiltIns,
                    Interfaces.MZAST,
                    Interfaces.MZPrinter,
                    Interfaces.FZSolutionParser
  
  -- Modules included in this library but not exported.
  other-modules: Interfaces.MZAuxiliary
  
  -- LANGUAGE extensions used by modules in this package.
  other-extensions:    FlexibleInstances, TypeFamilies
  
  -- Other library packages from which modules are imported.
  build-depends:       base >=4.8 && <5,
                       pretty >=1.1.3,
                       process>=1.4,
                       filepath >=1.4.1,
                       parsec3 >=1.0.0.8,
                       containers >=0.5.6
  
  -- Directories containing source files.
  hs-source-dirs:      src
  
  -- Base language which the package is written in.
  default-language:    Haskell2010

source-repository head
  type:     git
  location: https://github.com/GRACeFUL-project/haskelzinc.git