Cabal revisions of dunai-0.10.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
--- Copyright (c) 2016 - Ivan Perez and Manuel Bärenz - All rights reserved------ Redistribution and use in source and binary forms, with or without--- modification, are permitted provided that the following conditions are met:------ * Redistributions of source code must retain the above copyright--- notice, this list of conditions and the following disclaimer.------ * Redistributions in binary form must reproduce the above--- copyright notice, this list of conditions and the following--- disclaimer in the documentation and/or other materials provided--- with the distribution.------ * Neither the name of Ivan Perez and Manuel Bärenz nor the names of--- other contributors may be used to endorse or promote products derived--- from this software without specific prior written permission.------ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS--- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT--- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR--- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT--- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,--- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT--- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,--- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY--- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT--- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE--- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.-cabal-version: >= 1.10-build-type: Simple--name: dunai-version: 0.10.0-author: Ivan Perez, Manuel Bärenz-maintainer: ivan.perez@keera.co.uk-homepage: https://github.com/ivanperez-keera/dunai-license: BSD3-license-file: LICENSE-copyright: Copyright (c) 2016 - Ivan Perez and Manuel Bärenz-category: Reactivity, FRP-synopsis:- Generalised reactive framework supporting classic, arrowized and monadic FRP.-description:- Dunai is a DSL for strongly-typed CPS-based composable transformations.- .- Dunai is based on a concept of Monadic Stream Functions (MSFs). MSFs are- transformations defined by a function- @unMSF :: MSF m a b -> a -> m (b, MSF m a b)@ that executes one step of a- simulation, and produces an output in a monadic context, and a continuation- to be used for future steps.- .- MSFs are a generalisation of the implementation mechanism used by Yampa,- Wormholes and other FRP and reactive implementations.- .- When combined with different monads, they produce interesting effects. For- example, when combined with the @Maybe@ monad, they become transformations- that may stop producing outputs (and continuations). The @Either@ monad gives- rise to MSFs that end with a result (akin to Tasks in Yampa, and Monadic- FRP).- .- Flattening, that is, going from some structure @MSF (t m) a b@ to @MSF m a b@- for a specific transformer @t@ often gives rise to known FRP constructs. For- instance, flattening with @EitherT@ gives rise to switching, and flattening- with @ListT@ gives rise to parallelism with broadcasting.- .- MSFs can be used to implement many FRP variants, including Arrowized FRP,- Classic FRP, and plain reactive programming. Arrowized and applicative syntax- are both supported.- .- For a very detailed introduction to MSFs, see:- <http://dl.acm.org/citation.cfm?id=2976010>- (mirror: <http://www.cs.nott.ac.uk/~psxip1/#FRPRefactored>).---extra-source-files:- CHANGELOG---source-repository head- type: git- location: git@github.com:ivanperez-keera/dunai.git- subdir: dunai----- 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---library- exposed-modules:- Control.Monad.Trans.MSF- Control.Monad.Trans.MSF.Except- Control.Monad.Trans.MSF.List- Control.Monad.Trans.MSF.Maybe- Control.Monad.Trans.MSF.Random- Control.Monad.Trans.MSF.Reader- Control.Monad.Trans.MSF.RWS- Control.Monad.Trans.MSF.State- Control.Monad.Trans.MSF.Writer- Data.MonadicStreamFunction- Data.MonadicStreamFunction.Async- Data.MonadicStreamFunction.Core- Data.MonadicStreamFunction.Instances.ArrowChoice- Data.MonadicStreamFunction.Instances.ArrowLoop- Data.MonadicStreamFunction.Instances.ArrowPlus- Data.MonadicStreamFunction.Instances.Num- Data.MonadicStreamFunction.Instances.VectorSpace- Data.MonadicStreamFunction.InternalCore- Data.MonadicStreamFunction.Parallel- Data.MonadicStreamFunction.ReactHandle- Data.MonadicStreamFunction.Util-- other-modules:- Control.Arrow.Util-- build-depends:- base >= 4.6 && < 5- , MonadRandom >= 0.2 && < 0.7- , simple-affine-space >= 0.1 && < 0.3- , transformers >= 0.3 && < 0.7- , transformers-base >= 0.4 && < 0.5-- default-language:- Haskell2010-- hs-source-dirs:- src-- ghc-options:- -Wall -fno-warn-unused-do-bind-- if impl(ghc <= 7.8.4)- build-depends:- MonadRandom >= 0.2 && < 0.6- , transformers-compat- , void--test-suite hlint- type:- exitcode-stdio-1.0-- main-is:- HLintMain.hs-- default-language:- Haskell2010-- 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-- default-language:- Haskell2010-- hs-source-dirs:- tests-- ghc-options:- -Wall-- if !flag(test-doc-coverage)- buildable:- False- else- build-depends:- base >= 4 && < 5- , directory- , filepath- , process- , regex-posix---test-suite regression-tests- type:- exitcode-stdio-1.0-- main-is:- RegressionTests.hs-- default-language:- Haskell2010-- hs-source-dirs:- tests-- ghc-options:- -Wall-- build-depends:- base >= 4 && <5- , transformers- , tasty- , tasty-hunit-- , dunai+-- Copyright (c) 2016 - Ivan Perez and Manuel Bärenz - All rights reserved +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- * Redistributions of source code must retain the above copyright +-- notice, this list of conditions and the following disclaimer. +-- +-- * Redistributions in binary form must reproduce the above +-- copyright notice, this list of conditions and the following +-- disclaimer in the documentation and/or other materials provided +-- with the distribution. +-- +-- * Neither the name of Ivan Perez and Manuel Bärenz nor the names of +-- other contributors may be used to endorse or promote products derived +-- from this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +-- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +-- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +-- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cabal-version: >= 1.10 +build-type: Simple + +name: dunai +version: 0.10.0 +x-revision: 1 +author: Ivan Perez, Manuel Bärenz +maintainer: ivan.perez@keera.co.uk +homepage: https://github.com/ivanperez-keera/dunai +license: BSD3 +license-file: LICENSE +copyright: Copyright (c) 2016 - Ivan Perez and Manuel Bärenz +category: Reactivity, FRP +synopsis: + Generalised reactive framework supporting classic, arrowized and monadic FRP. +description: + Dunai is a DSL for strongly-typed CPS-based composable transformations. + . + Dunai is based on a concept of Monadic Stream Functions (MSFs). MSFs are + transformations defined by a function + @unMSF :: MSF m a b -> a -> m (b, MSF m a b)@ that executes one step of a + simulation, and produces an output in a monadic context, and a continuation + to be used for future steps. + . + MSFs are a generalisation of the implementation mechanism used by Yampa, + Wormholes and other FRP and reactive implementations. + . + When combined with different monads, they produce interesting effects. For + example, when combined with the @Maybe@ monad, they become transformations + that may stop producing outputs (and continuations). The @Either@ monad gives + rise to MSFs that end with a result (akin to Tasks in Yampa, and Monadic + FRP). + . + Flattening, that is, going from some structure @MSF (t m) a b@ to @MSF m a b@ + for a specific transformer @t@ often gives rise to known FRP constructs. For + instance, flattening with @EitherT@ gives rise to switching, and flattening + with @ListT@ gives rise to parallelism with broadcasting. + . + MSFs can be used to implement many FRP variants, including Arrowized FRP, + Classic FRP, and plain reactive programming. Arrowized and applicative syntax + are both supported. + . + For a very detailed introduction to MSFs, see: + <http://dl.acm.org/citation.cfm?id=2976010> + (mirror: <http://www.cs.nott.ac.uk/~psxip1/#FRPRefactored>). + + +extra-source-files: + CHANGELOG + + +source-repository head + type: git + location: git@github.com:ivanperez-keera/dunai.git + subdir: dunai + + +-- 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 + + +library + exposed-modules: + Control.Monad.Trans.MSF + Control.Monad.Trans.MSF.Except + Control.Monad.Trans.MSF.List + Control.Monad.Trans.MSF.Maybe + Control.Monad.Trans.MSF.Random + Control.Monad.Trans.MSF.Reader + Control.Monad.Trans.MSF.RWS + Control.Monad.Trans.MSF.State + Control.Monad.Trans.MSF.Writer + Data.MonadicStreamFunction + Data.MonadicStreamFunction.Async + Data.MonadicStreamFunction.Core + Data.MonadicStreamFunction.Instances.ArrowChoice + Data.MonadicStreamFunction.Instances.ArrowLoop + Data.MonadicStreamFunction.Instances.ArrowPlus + Data.MonadicStreamFunction.Instances.Num + Data.MonadicStreamFunction.Instances.VectorSpace + Data.MonadicStreamFunction.InternalCore + Data.MonadicStreamFunction.Parallel + Data.MonadicStreamFunction.ReactHandle + Data.MonadicStreamFunction.Util + + other-modules: + Control.Arrow.Util + + build-depends: + base >= 4.6 && < 5 + , MonadRandom >= 0.2 && < 0.7 + , simple-affine-space >= 0.2 && < 0.3 + , transformers >= 0.3 && < 0.7 + , transformers-base >= 0.4 && < 0.5 + + default-language: + Haskell2010 + + hs-source-dirs: + src + + ghc-options: + -Wall -fno-warn-unused-do-bind + + if impl(ghc <= 7.8.4) + build-depends: + MonadRandom >= 0.2 && < 0.6 + , transformers-compat + , void + +test-suite hlint + type: + exitcode-stdio-1.0 + + main-is: + HLintMain.hs + + default-language: + Haskell2010 + + 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 + + default-language: + Haskell2010 + + hs-source-dirs: + tests + + ghc-options: + -Wall + + if !flag(test-doc-coverage) + buildable: + False + else + build-depends: + base >= 4 && < 5 + , directory + , filepath + , process + , regex-posix + + +test-suite regression-tests + type: + exitcode-stdio-1.0 + + main-is: + RegressionTests.hs + + default-language: + Haskell2010 + + hs-source-dirs: + tests + + ghc-options: + -Wall + + build-depends: + base >= 4 && <5 + , transformers + , tasty + , tasty-hunit + + , dunai