packages feed

alloy-1.2.2: alloy.cabal

Name: alloy
Version: 1.2.2
License: BSD3
License-File: LICENSE
Author: Neil Brown and Adam Sampson
Copyright: Copyright 2008-2009, 2012 University of Kent
Maintainer: neil@twistedsquare.com
Cabal-Version: >= 1.2.3
Build-type: Simple
Synopsis: Generic programming library
Description: Alloy is a generic programming library for performing traversals
             of data and applying specific operations to certain types.  More
	     information is available in the tutorial
	     (<http://twistedsquare.com/Alloy-Tutorial.pdf>) and the draft
	     paper (<http://twistedsquare.com/Alloy.pdf>).
Category: Generics
Tested-With: GHC==6.8.2, GHC==6.10.3
Extra-Source-Files: tutorial/tutorial.tex
                    tutorial/CompanyDatatypes.lhs
                    tutorial/Constraints.lhs
                    tutorial/Effects.lhs
                    tutorial/EffectsSelective.lhs
                    tutorial/GenTypes.lhs
                    tutorial/GenTypesMapSet.lhs
                    tutorial/MapSet.lhs
                    tutorial/MapSetExample.lhs
                    tutorial/Paradise.lhs
                    tutorial/Query.lhs
                    tutorial/Routes.lhs
                    tutorial/Selective.lhs

Library
  Build-Depends:   base >= 4.7 && < 5, containers, mtl, syb, vector

  Exposed-modules: Data.Generics.Alloy
                   Data.Generics.Alloy.Effect
                   Data.Generics.Alloy.GenInstances
                   Data.Generics.Alloy.Pure
                   Data.Generics.Alloy.Route
                   Data.Generics.Alloy.Schemes

  Extensions: CPP
              ExistentialQuantification
              FlexibleContexts
              FlexibleInstances
              KindSignatures
              MultiParamTypeClasses
              Rank2Types
              ScopedTypeVariables
              TypeOperators

-- Rank2Types for the Route Monad stuff
--   (surely, this could be removed somehow?)
-- ExistentialQuantification for DataBox
--   (could be removed if we generate instances with TH or Derive)
-- MultiParamTypeClasses for the Alloy type-class
--   (unavoidable!)
-- TypeOperators for the opsets
--   (not going to change)
-- FlexibleContexts and FlexibleInstances all over the place
--   (unavoidable)