Name:             event-list
Version:          0.1.2
License:          GPL
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Homepage:         http://code.haskell.org/~thielema/event-list/
Category:         Data
Synopsis:         Event lists with relative or absolute time stamps
Description:
   These lists manage events that are associated with times.
   Times may be given as difference between successive events
   or as absolute time values.
   Pauses before the first and after the last event are supported.
   The underlying data structures are lists of elements of alternating types,
   that is [b,a,b,...,a,b] or [a,b,a,...,a,b].
   The data structures can be used to represent
   MIDI files, OpenSoundControl message streams, music performances etc.
Tested-With:       GHC==6.4.1, GHC==6.6.1, GHC==6.8.2
Cabal-Version:     >=1.10
Build-Type:        Simple
Source-Repository head
  type:     darcs
  location: http://code.haskell.org/~thielema/event-list/

Source-Repository this
  type:     darcs
  location: http://code.haskell.org/~thielema/event-list/
  tag:      0.1.2

Flag splitBase
  description: Choose the new smaller, split-up base package.

Library
  Build-Depends:
    non-negative >=0.1 && <0.2,
    transformers >=0.1 && <0.6,
    semigroups >=0.1 && <1.0,
    utility-ht >=0.0.10 && <0.1,
    QuickCheck >=2.1 && <3
  If flag(splitBase)
    Build-Depends: base >= 2 && <5
  Else
    Build-Depends:
      special-functors >= 1.0 && <1.1,
      base >= 1.0 && < 2

  Default-Language: Haskell98
  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    Data.EventList.Absolute.TimeBody
    Data.EventList.Absolute.TimeTime
    Data.EventList.Absolute.TimeMixed
    Data.EventList.Relative.TimeBody
    Data.EventList.Relative.TimeTime
    Data.EventList.Relative.TimeMixed
    Data.EventList.Relative.BodyBody
    Data.EventList.Relative.BodyTime
    Data.EventList.Relative.MixedTime
    Data.EventList.Relative.MixedBody
  Other-Modules:
    Data.EventList.Utility
    Data.EventList.Absolute.TimeBodyPrivate
    Data.EventList.Absolute.TimeTimePrivate
    Data.EventList.Relative.TimeBodyPrivate
    Data.EventList.Relative.BodyBodyPrivate
    Data.EventList.Relative.TimeTimePrivate
    Data.EventList.Relative.BodyTimePrivate
    Data.AlternatingList.Custom
    Data.AlternatingList.List.Disparate
    Data.AlternatingList.List.Uniform
    Data.AlternatingList.List.Mixed

Test-Suite test
  Type: exitcode-stdio-1.0
  Build-Depends:
    QuickCheck >=2.1 && <3,
    transformers,
    semigroups,
    non-negative,
    utility-ht,
    base
  If flag(splitBase)
    Build-Depends:
      random >=1.0 && <2.0

  Default-Language: Haskell98
  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Main-Is:          Test/Main.hs
  Other-Modules:
    Test.Utility
    Test.Data.EventList.Absolute.BodyEnd
    Test.Data.EventList.Absolute.TimeEnd
    Test.Data.EventList.Relative.BodyEnd
    Test.Data.EventList.Relative.TimeEnd