Skip to content

Commit a0abb5a

Browse files
authored
Merge pull request #4 from purescript/compiler/0.12
Update for PureScript 0.12
2 parents d43d728 + ccb5242 commit a0abb5a

File tree

6 files changed

+39
-40
lines changed

6 files changed

+39
-40
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
/bower_components/
66
/node_modules/
77
/output/
8+
package-lock.json

LICENSE

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
1-
The MIT License (MIT)
1+
Copyright 2018 PureScript
22

3-
Copyright (c) 2015 PureScript
3+
Redistribution and use in source and binary forms, with or without modification,
4+
are permitted provided that the following conditions are met:
45

5-
Permission is hereby granted, free of charge, to any person obtaining a copy of
6-
this software and associated documentation files (the "Software"), to deal in
7-
the Software without restriction, including without limitation the rights to
8-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9-
the Software, and to permit persons to whom the Software is furnished to do so,
10-
subject to the following conditions:
6+
1. Redistributions of source code must retain the above copyright notice, this
7+
list of conditions and the following disclaimer.
118

12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
9+
2. Redistributions in binary form must reproduce the above copyright notice,
10+
this list of conditions and the following disclaimer in the documentation and/or
11+
other materials provided with the distribution.
1412

15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
13+
3. Neither the name of the copyright holder nor the names of its contributors
14+
may be used to endorse or promote products derived from this software without
15+
specific prior written permission.
16+
17+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

bower.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
{
22
"name": "purescript-effect",
33
"homepage": "https://github.com/purescript/purescript-effect",
4-
"description": "The Effect monad, for handling native side effects",
5-
"license": "MIT",
4+
"license": "BSD-3-Clause",
65
"repository": {
76
"type": "git",
87
"url": "git://github.com/purescript/purescript-effect.git"
@@ -17,7 +16,6 @@
1716
"package.json"
1817
],
1918
"dependencies": {
20-
"purescript-prelude": "^3.0.0",
21-
"purescript-monoid": "^3.3.0"
19+
"purescript-prelude": "^4.0.0"
2220
}
2321
}

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"build": "eslint src && pulp build -- --censor-lib --strict"
66
},
77
"devDependencies": {
8-
"eslint": "^3.17.1",
9-
"pulp": "^10.0.4",
10-
"purescript-psa": "^0.5.0-rc.1",
11-
"rimraf": "^2.6.1"
8+
"eslint": "^4.19.1",
9+
"pulp": "^12.2.0",
10+
"purescript-psa": "^0.6.0",
11+
"rimraf": "^2.6.2"
1212
}
1313
}

src/Effect.purs

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,9 @@ module Effect
33
, untilE, whileE, forE, foreachE
44
) where
55

6-
import Control.Applicative (class Applicative, liftA1)
7-
import Control.Apply (class Apply, lift2)
8-
import Control.Bind (class Bind)
9-
import Control.Monad (class Monad, ap)
6+
import Prelude
107

11-
import Data.Functor (class Functor)
12-
import Data.Monoid (class Monoid, mempty)
13-
import Data.Semigroup (class Semigroup, append)
14-
import Data.Unit (Unit)
8+
import Control.Apply (lift2)
159

1610
-- | The `Effect` type constructor is used to represent _native_ effects.
1711
-- |
@@ -30,12 +24,6 @@ instance applyEffect :: Apply Effect where
3024
instance applicativeEffect :: Applicative Effect where
3125
pure = pureE
3226

33-
instance semigroupEffect :: Semigroup a => Semigroup (Effect a) where
34-
append = lift2 append
35-
36-
instance monoidEffect :: Monoid a => Monoid (Effect a) where
37-
mempty = pureE mempty
38-
3927
foreign import pureE :: forall a. a -> Effect a
4028

4129
instance bindEffect :: Bind Effect where
@@ -45,6 +33,12 @@ foreign import bindE :: forall a b. Effect a -> (a -> Effect b) -> Effect b
4533

4634
instance monadEffect :: Monad Effect
4735

36+
instance semigroupEffect :: Semigroup a => Semigroup (Effect a) where
37+
append = lift2 append
38+
39+
instance monoidEffect :: Monoid a => Monoid (Effect a) where
40+
mempty = pureE mempty
41+
4842
-- | Loop until a condition becomes `true`.
4943
-- |
5044
-- | `untilE b` is an effectful computation which repeatedly runs the effectful

src/Effect/Class.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module Effect.Class where
22

3-
import Control.Category (id)
3+
import Control.Category (identity)
44
import Control.Monad (class Monad)
55
import Effect (Effect)
66

@@ -16,4 +16,4 @@ class Monad m <= MonadEffect m where
1616
liftEffect :: forall a. Effect a -> m a
1717

1818
instance monadEffectEffect :: MonadEffect Effect where
19-
liftEffect = id
19+
liftEffect = identity

0 commit comments

Comments
 (0)