From e6e1fe9a6257748c4348d537d1ec004e810eb4d6 Mon Sep 17 00:00:00 2001 From: Liam Goodacre Date: Sat, 14 Apr 2018 15:44:16 +0100 Subject: [PATCH 1/3] Bump deps for 0.12 --- bower.json | 2 +- package.json | 8 ++++---- src/Effect/Class.purs | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index b07b03d..1086900 100644 --- a/bower.json +++ b/bower.json @@ -17,6 +17,6 @@ "package.json" ], "dependencies": { - "purescript-prelude": "^3.0.0" + "purescript-prelude": "purescript/purescript-prelude#compiler/0.12" } } diff --git a/package.json b/package.json index 26d81a7..15f821c 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,9 @@ "build": "eslint src && pulp build -- --censor-lib --strict" }, "devDependencies": { - "eslint": "^3.17.1", - "pulp": "^10.0.4", - "purescript-psa": "^0.5.0-rc.1", - "rimraf": "^2.6.1" + "eslint": "^4.19.1", + "pulp": "^12.0.1", + "purescript-psa": "^0.6.0", + "rimraf": "^2.6.2" } } diff --git a/src/Effect/Class.purs b/src/Effect/Class.purs index 3962eec..6bdbd6b 100644 --- a/src/Effect/Class.purs +++ b/src/Effect/Class.purs @@ -1,6 +1,6 @@ module Effect.Class where -import Control.Category (id) +import Control.Category (identity) import Control.Monad (class Monad) import Effect (Effect) @@ -16,4 +16,4 @@ class Monad m <= MonadEffect m where liftEffect :: forall a. Effect a -> m a instance monadEffectEffect :: MonadEffect Effect where - liftEffect = id + liftEffect = identity From 261b0309fe88faedb18d041ea7f48c4a3588485e Mon Sep 17 00:00:00 2001 From: Gary Burgess Date: Thu, 19 Apr 2018 19:08:52 +0100 Subject: [PATCH 2/3] Add semigroup & monoid instances --- src/Effect.purs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Effect.purs b/src/Effect.purs index 36af221..95a1e58 100644 --- a/src/Effect.purs +++ b/src/Effect.purs @@ -3,13 +3,9 @@ module Effect , untilE, whileE, forE, foreachE ) where -import Control.Applicative (class Applicative, liftA1) -import Control.Apply (class Apply) -import Control.Bind (class Bind) -import Control.Monad (class Monad, ap) +import Prelude -import Data.Functor (class Functor) -import Data.Unit (Unit) +import Control.Apply (lift2) -- | The `Effect` type constructor is used to represent _native_ effects. -- | @@ -37,6 +33,12 @@ foreign import bindE :: forall a b. Effect a -> (a -> Effect b) -> Effect b instance monadEffect :: Monad Effect +instance semigroupEffect :: Semigroup a => Semigroup (Effect a) where + append = lift2 append + +instance monoidEffect :: Monoid a => Monoid (Effect a) where + mempty = pureE mempty + -- | Loop until a condition becomes `true`. -- | -- | `untilE b` is an effectful computation which repeatedly runs the effectful From afe48a529c47fa9e16c4a8ae69bc2309221d3754 Mon Sep 17 00:00:00 2001 From: Gary Burgess Date: Tue, 22 May 2018 23:14:01 +0100 Subject: [PATCH 3/3] Update dependencies, license --- .gitignore | 1 + LICENSE | 38 ++++++++++++++++++++++---------------- bower.json | 5 ++--- package.json | 2 +- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 7050558..332b6cf 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /bower_components/ /node_modules/ /output/ +package-lock.json diff --git a/LICENSE b/LICENSE index d3249fe..311379c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,20 +1,26 @@ -The MIT License (MIT) +Copyright 2018 PureScript -Copyright (c) 2015 PureScript +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +2. 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. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +3. Neither the name of the copyright holder nor the names of its 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 HOLDER 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. diff --git a/bower.json b/bower.json index 1086900..43250f5 100644 --- a/bower.json +++ b/bower.json @@ -1,8 +1,7 @@ { "name": "purescript-effect", "homepage": "https://github.com/purescript/purescript-effect", - "description": "The Effect monad, for handling native side effects", - "license": "MIT", + "license": "BSD-3-Clause", "repository": { "type": "git", "url": "git://github.com/purescript/purescript-effect.git" @@ -17,6 +16,6 @@ "package.json" ], "dependencies": { - "purescript-prelude": "purescript/purescript-prelude#compiler/0.12" + "purescript-prelude": "^4.0.0" } } diff --git a/package.json b/package.json index 15f821c..02e36ea 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ }, "devDependencies": { "eslint": "^4.19.1", - "pulp": "^12.0.1", + "pulp": "^12.2.0", "purescript-psa": "^0.6.0", "rimraf": "^2.6.2" }