packages feed

typerbole-0.0.0.1: typerbole.cabal

name:                typerbole
version:             0.0.0.1
synopsis:            A typeystems library with exaggerated claims
description:         Please see README.md
license:             BSD3
license-file:        LICENSE
author:              Fionan Haralddottir
maintainer:          ma302fh@gold.ac.uk
copyright:           2016 Fionan Haralddottir
category:            Typesystems
                   , Typechecking
                   , TypeTheory
                   , Educational
                   , LambdaCube
                   , AST
build-type:          Simple
cabal-version:       >=1.10
extra-source-files:    README.md
                     , lambdacube-overview.md
                     , diagrams/typeclass-hierarchy.png
                     , CONTRIBUTING.md

library
  hs-source-dirs:      src
  exposed-modules:     Calculi.Lambda
                     , Calculi.Lambda.Cube
                     , Calculi.Lambda.Cube.SimpleType
                     , Calculi.Lambda.Cube.Polymorphic
                     , Calculi.Lambda.Cube.Polymorphic.Unification
                     , Calculi.Lambda.Cube.HigherOrder
                     , Calculi.Lambda.Cube.Dependent
                     , Calculi.Lambda.Cube.TH
                     , Compiler.Typesystem.Hask
                     , Compiler.Typesystem.SystemF
                     , Compiler.Typesystem.SystemFOmega
                     , Compiler.Typesystem.SimplyTyped
                     , Control.Typecheckable
                     , Data.Graph.Inductive.Helper
  build-depends:       base >= 4.7 && < 5
                     , containers >= 0.5 && < 0.6
                     , data-ordlist
                     , either
                     , semigroups
                     , bifunctors >= 5
                     , fgl >= 5.5 && < 5.6
                     , QuickCheck
                     , syb
                     , mtl
                     , generic-random == 0.1.1.0
                     , lens
                     , template-haskell
                     , th-lift
                     , megaparsec
                     , safe
  ghc-options:         -Wall
                       -fno-warn-type-defaults
                       -fno-warn-unused-do-bind
  default-language:    Haskell2010
  default-extensions:  ScopedTypeVariables
                     , LambdaCase
                     , TemplateHaskell
                     , DeriveGeneric
                     , DeriveDataTypeable
                     , TypeFamilies
                     , QuasiQuotes
                     , TypeOperators
                     , MultiParamTypeClasses
                     , FunctionalDependencies


test-suite typerbole-testing
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  build-depends:       base
                     , QuickCheck
                     , hspec
                     , checkers
                     , typerbole
                     , containers
                     , bifunctors >= 5 && < 5.3
                     , either
                     , semigroups
                     , syb
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  default-language:    Haskell2010
  default-extensions:  ScopedTypeVariables
                     , LambdaCase
                     , TemplateHaskell
                     , DeriveGeneric
                     , TypeFamilies

-- Executable to generate vector graphics related to this
-- project.
executable typerbole-diagrams
  hs-source-dirs:      diagrams
  main-is:             Main.hs
  build-depends:       base
                     , diagrams-lib
                     , diagrams-svg
                     , colour
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  default-language:    Haskell2010
  default-extensions:  ScopedTypeVariables
                     , LambdaCase
                     , NoMonomorphismRestriction
                     , TemplateHaskell
                     , DeriveGeneric
                     , TypeFamilies