packages feed

mezzo-0.3.0.0: mezzo.cabal

name:                mezzo
version:             0.3.0.0
synopsis:            Typesafe music composition
description:         A Haskell music composition library that enforces common
                     musical rules in the type system.
homepage:            https://github.com/DimaSamoz/mezzo
license:             MIT
license-file:        LICENSE.md
author:              Dima Szamozvancev
maintainer:          ds709@cam.ac.uk
copyright:           2016 Dima Samozvancev
category:            Music
build-type:          Simple
extra-source-files:  README.md
                   , CHANGELOG.md
                   , docs/*.png
cabal-version:       >=1.10

library
  hs-source-dirs:      src
  exposed-modules:     Mezzo
                     , Mezzo.Model
                     , Mezzo.Model.Prim
                     , Mezzo.Model.Music
                     , Mezzo.Model.Types
                     , Mezzo.Model.Harmony
                     , Mezzo.Model.Harmony.Motion
                     , Mezzo.Model.Harmony.Chords
                     , Mezzo.Model.Harmony.Functional
                     , Mezzo.Model.Reify
                     , Mezzo.Model.Rules.RuleSet
                     , Mezzo.Model.Rules.Classical
                     , Mezzo.Model.Rules.Strict
                     , Mezzo.Model.Errors

                     , Mezzo.Compose
                     , Mezzo.Compose.Types
                     , Mezzo.Compose.Builder
                     , Mezzo.Compose.Templates
                     , Mezzo.Compose.Basic
                     , Mezzo.Compose.Chords
                     , Mezzo.Compose.Harmony
                     , Mezzo.Compose.Combine
                     , Mezzo.Compose.Intervals

                     , Mezzo.Render
                     , Mezzo.Render.MIDI
                     , Mezzo.Render.Score

  build-depends:       base >= 4.7 && < 5
                     , ghc-typelits-natnormalise
                     , template-haskell
                     , HCodecs
                     , boxes
                     , ghc-prim
  ghc-options:         -fplugin GHC.TypeLits.Normalise
  default-language:    Haskell2010
  default-extensions:  TypeInType
                     , TypeApplications
                     , TypeFamilies
                     , GADTs
                     , RankNTypes
                     , ScopedTypeVariables
                     , TypeOperators
                     , MultiParamTypeClasses
                     , FlexibleInstances
                     , FlexibleContexts
                     , UndecidableInstances
                     , ConstraintKinds


test-suite mezzo-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Main.hs
  other-modules:       Main
                     , PrimSpec
                     , TypeSpec
                     , TestUtils
  build-depends:       base
                     , mezzo
                     , hspec
                     , QuickCheck
                     , deepseq
                     , should-not-typecheck
                     , HUnit
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010

source-repository head
  type:     git
  location: https://github.com/DimaSamoz/mezzo