packages feed

Yampa-0.13: Yampa.cabal

name: Yampa
version: 0.13
cabal-version: >= 1.8
license: BSD3
license-file: LICENSE
author: Henrik Nilsson, Antony Courtney
maintainer: Ivan Perez (ivan.perez@keera.co.uk)
homepage: https://github.com/ivanperez-keera/Yampa/
category: Reactivity, FRP
synopsis: Elegant Functional Reactive Programming Language for Hybrid Systems

description:  Domain-specific language embedded in Haskell for programming
              hybrid (mixed discrete-time and continuous-time) systems. Yampa is based on
              the concepts of Functional Reactive Programming (FRP) and is structured using
              arrow combinators.

build-type: Simple
extra-source-files:
  tests/AFRPTests.hs,         tests/AFRPTestsCommon.hs,        tests/AFRPTestsArr.hs,
  tests/AFRPTestsComp.hs,     tests/AFRPTestsFirstSecond.hs,   tests/AFRPTestsLaws.hs,
  tests/AFRPTestsLoop.hs,     tests/AFRPTestsLoopLaws.hs,      tests/AFRPTestsBasicSF.hs,
  tests/AFRPTestsSscan.hs,    tests/AFRPTestsEvSrc.hs,         tests/AFRPTestsCOC.hs,
  tests/AFRPTestsSwitch.hs,   tests/AFRPTestsKSwitch.hs,       tests/AFRPTestsRSwitch.hs,
  tests/AFRPTestsPSwitch.hs,  tests/AFRPTestsRPSwitch.hs,      tests/AFRPTestsWFG.hs,
  tests/AFRPTestsAccum.hs,    tests/AFRPTestsPre.hs,           tests/AFRPTestsDelay.hs,
  tests/AFRPTestsDer.hs,      tests/AFRPTestsLoopPre.hs,       tests/AFRPTestsLoopIntegral.hs,
  tests/AFRPTestsReact.hs,    tests/AFRPTestsEmbed.hs,         tests/AFRPTestsUtils.hs,
  tests/AFRPTestsTask.hs,     tests/testAFRPMain.hs,

  examples/Elevator/Elevator.hs,
  examples/Elevator/TestElevatorMain.hs,
  examples/TailgatingDetector/TailgatingDetector.hs,
  examples/TailgatingDetector/TestTGMain.hs,
  examples/Diagrams.hs,

  CHANGELOG

-- You can disable the hlint test suite with -f-test-hlint
flag test-hlint
  Description: Enable hlint test suite
  default: False
  manual: True

-- You can disable the haddock coverage test suite with -f-test-doc-coverage
flag test-doc-coverage
  Description: Enable haddock coverage test suite
  default: False
  manual: True

-- You can disable the regression test suite with -f-test-regression
flag test-regression
  Description: Enable regression test suite
  default: True
  manual: True

flag examples
  Description: Enable examples
  default: False
  manual: True

library
  hs-source-dirs:  src
  ghc-options : -O3 -Wall -fno-warn-name-shadowing
  build-Depends: base < 6, random, deepseq, simple-affine-space
  exposed-modules:
    -- Main FRP modules
    FRP.Yampa
    FRP.Yampa.Event
    FRP.Yampa.Task

    -- Auxiliary definitions
    FRP.Yampa.Basic
    FRP.Yampa.Conditional
    FRP.Yampa.Delays
    FRP.Yampa.EventS
    FRP.Yampa.Hybrid
    FRP.Yampa.Integration
    FRP.Yampa.Loop
    FRP.Yampa.Random
    FRP.Yampa.Scan
    FRP.Yampa.Simulation
    FRP.Yampa.Switches
    FRP.Yampa.Time

    -- FRP-agnostic auxiliary definitions
    FRP.Yampa.Arrow

  other-modules:
    -- Auxiliary (commonly used) types
    FRP.Yampa.Diagnostics
    FRP.Yampa.InternalCore

test-suite hlint
  type: exitcode-stdio-1.0
  main-is: hlint.hs
  hs-source-dirs: tests
  if !flag(test-hlint)
    buildable: False
  else
    build-depends:
      base,
      hlint >= 1.7

-- Verify that the code is thoroughly documented
test-suite haddock-coverage
  type: exitcode-stdio-1.0
  main-is: HaddockCoverage.hs
  ghc-options: -Wall
  hs-source-dirs: tests

  if !flag(test-doc-coverage)
    buildable: False
  else
    build-depends:
      base >= 4 && < 5,
      directory,
      filepath,
      process,
      regex-posix

test-suite regression
  type: exitcode-stdio-1.0
  main-is: testAFRPMain.hs
  hs-source-dirs: tests
  if !flag(test-regression)
    buildable: False
  else
    build-depends:
      base,
      Yampa

executable yampa-examples-sdl-bouncingbox
  main-is: MainBouncingBox.hs
  other-modules: YampaSDL
  hs-source-dirs:  examples/yampa-game/
  ghc-options : -O3 -Wall -fno-warn-name-shadowing
  if flag(examples)
    buildable: True
    build-Depends: base < 5, random, deepseq, SDL, Yampa
  else
    buildable: False

executable yampa-examples-sdl-circlingmouse
  main-is: MainCircleMouse.hs
  other-modules: YampaSDL
  hs-source-dirs:  examples/yampa-game/
  ghc-options : -O3 -Wall -fno-warn-name-shadowing
  if flag(examples)
    buildable: True
    build-Depends: base < 5, random, deepseq, SDL, Yampa
  else
    buildable: False

executable yampa-examples-sdl-wiimote
  main-is: MainWiimote.hs
  other-modules: YampaSDL
  hs-source-dirs:  examples/yampa-game/
  ghc-options : -O3 -Wall -fno-warn-name-shadowing -rtsopts
  if flag(examples)
    buildable: True
    build-depends: base < 5, random, deepseq, SDL, hcwiid, Yampa
  else
    buildable: False

source-repository head
  type:     git
  location: git://github.com/ivanperez-keera/Yampa.git