From fbba3ad4c55324b8c1c45ab695ffe3871fbda821 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Fri, 11 Mar 2022 14:22:29 -0800 Subject: [PATCH 1/7] Update to CI to use 'unstable' purescript --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43d2897a..b6ebf3ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,8 @@ jobs: - uses: actions/checkout@v2 - uses: purescript-contrib/setup-purescript@main + with: + purescript: "unstable" - uses: actions/setup-node@v1 with: From dbb340408295f74bf3dbf9f1def86db4bebb2826 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Fri, 11 Mar 2022 14:22:29 -0800 Subject: [PATCH 2/7] Update pulp to 16.0.0-0 and psa to 0.8.2 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d42770f6..1dc06f25 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "test": "pulp test" }, "devDependencies": { - "pulp": "^15.0.0", - "purescript-psa": "^0.8.0", + "pulp": "16.0.0-0", + "purescript-psa": "^0.8.2", "rimraf": "^3.0.2" } } From bf5f92cd2c0346fd0d92cb7c79861a45a1497452 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Fri, 11 Mar 2022 14:59:26 -0800 Subject: [PATCH 3/7] Update Bower dependencies to master --- bower.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/bower.json b/bower.json index 5382cba8..3a239a2e 100644 --- a/bower.json +++ b/bower.json @@ -23,23 +23,23 @@ "package.json" ], "dependencies": { - "purescript-control": "^5.0.0", - "purescript-distributive": "^5.0.0", - "purescript-effect": "^3.0.0", - "purescript-either": "^5.0.0", - "purescript-exceptions": "^5.0.0", - "purescript-foldable-traversable": "^5.0.0", - "purescript-identity": "^5.0.0", - "purescript-lazy": "^5.0.0", - "purescript-maybe": "^5.0.0", - "purescript-newtype": "^4.0.0", - "purescript-prelude": "^5.0.0", - "purescript-tailrec": "^5.0.0", - "purescript-tuples": "^6.0.0", - "purescript-unfoldable": "^5.0.0" + "purescript-control": "master", + "purescript-distributive": "master", + "purescript-effect": "master", + "purescript-either": "master", + "purescript-exceptions": "master", + "purescript-foldable-traversable": "master", + "purescript-identity": "master", + "purescript-lazy": "master", + "purescript-maybe": "master", + "purescript-newtype": "master", + "purescript-prelude": "master", + "purescript-tailrec": "master", + "purescript-tuples": "master", + "purescript-unfoldable": "master" }, "devDependencies": { - "purescript-arrays": "^6.0.0", - "purescript-console": "^5.0.0" + "purescript-arrays": "master", + "purescript-console": "master" } } From 4bab65e7ef4486c42729621d61167fb0d64f82e7 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Mar 2022 16:32:30 -0700 Subject: [PATCH 4/7] Migrated FFI to ES modules via 'lebab' --- test/Example/RWS.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Example/RWS.js b/test/Example/RWS.js index 7ca2c69a..ed8c5575 100644 --- a/test/Example/RWS.js +++ b/test/Example/RWS.js @@ -1,5 +1,5 @@ // module Example.RWS -exports.t = function(){ +export function t() { return new Date().valueOf(); -}; +} From ad18f7eac38b712caad205dfba47eb4eb03e5c3c Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Mar 2022 16:33:22 -0700 Subject: [PATCH 5/7] Fix compiler warnings --- test/Example/RWS.purs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Example/RWS.purs b/test/Example/RWS.purs index f25d5e23..d60be129 100644 --- a/test/Example/RWS.purs +++ b/test/Example/RWS.purs @@ -35,11 +35,11 @@ loopState n = tailRecM go n main :: Effect Unit main = do t1 <- t - res1 <- pure $ unwrap (runRWST (loop 1000000) "" 0) + _ <- pure $ unwrap (runRWST (loop 1000000) "" 0) t2 <- t log $ "RWST: " <> show (t2 - t1) t3 <- t - res2 <- pure $ execState (loopState 1000000) 0 + _ <- pure $ execState (loopState 1000000) 0 t4 <- t log $ "StateT: " <> show (t4 - t3) From de4ad5b6097619c66fc852d422dfe93764031383 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Mar 2022 16:34:36 -0700 Subject: [PATCH 6/7] Added changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 587f4c89..f111cec5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Notable changes to this project are documented in this file. The format is based ## [Unreleased] Breaking changes: +- Update project and deps to PureScript v0.15.0 (#142 by @JordanMartinez) New features: - Add `Foldable`, `FoldableWithIndex`, and `Traversable` instances for `EnvT` (#113 by @abaco) From 8f0f20a2eb9ea513adcb4fabce70dfde70e3347d Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Mon, 14 Mar 2022 16:39:27 -0700 Subject: [PATCH 7/7] Fix ad hoc case of syntax warning --- src/Control/Monad/Except/Trans.purs | 4 ++-- src/Control/Monad/Maybe/Trans.purs | 4 ++-- src/Control/Monad/RWS/Trans.purs | 8 ++++---- src/Control/Monad/State/Trans.purs | 4 ++-- src/Control/Monad/Writer/Trans.purs | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Control/Monad/Except/Trans.purs b/src/Control/Monad/Except/Trans.purs index c5e4b565..6acd6561 100644 --- a/src/Control/Monad/Except/Trans.purs +++ b/src/Control/Monad/Except/Trans.purs @@ -70,8 +70,8 @@ instance monadExceptT :: Monad m => Monad (ExceptT e m) instance monadRecExceptT :: MonadRec m => MonadRec (ExceptT e m) where tailRecM f = ExceptT <<< tailRecM \a -> - case f a of ExceptT m -> - m >>= \m' -> + case f a of + ExceptT m -> m >>= \m' -> pure case m' of Left e -> Done (Left e) Right (Loop a1) -> Loop a1 diff --git a/src/Control/Monad/Maybe/Trans.purs b/src/Control/Monad/Maybe/Trans.purs index c34b6b89..db86dfb8 100644 --- a/src/Control/Monad/Maybe/Trans.purs +++ b/src/Control/Monad/Maybe/Trans.purs @@ -80,8 +80,8 @@ instance monadZeroMaybeT :: Monad m => MonadZero (MaybeT m) instance monadRecMaybeT :: MonadRec m => MonadRec (MaybeT m) where tailRecM f = MaybeT <<< tailRecM \a -> - case f a of MaybeT m -> - m >>= \m' -> + case f a of + MaybeT m -> m >>= \m' -> pure case m' of Nothing -> Done Nothing Just (Loop a1) -> Loop a1 diff --git a/src/Control/Monad/RWS/Trans.purs b/src/Control/Monad/RWS/Trans.purs index 6024c484..269c1c26 100644 --- a/src/Control/Monad/RWS/Trans.purs +++ b/src/Control/Monad/RWS/Trans.purs @@ -101,12 +101,12 @@ instance monadTellRWST :: (Monad m, Monoid w) => MonadTell w (RWST r w s m) wher instance monadWriterRWST :: (Monad m, Monoid w) => MonadWriter w (RWST r w s m) where listen m = RWST \r s -> - case m of RWST m' -> - m' r s >>= \(RWSResult s' a w) -> + case m of + RWST m' -> m' r s >>= \(RWSResult s' a w) -> pure $ RWSResult s' (Tuple a w) w pass m = RWST \r s -> - case m of RWST m' -> - m' r s >>= \(RWSResult s' (Tuple a f) w) -> + case m of + RWST m' -> m' r s >>= \(RWSResult s' (Tuple a f) w) -> pure $ RWSResult s' a (f w) instance monadThrowRWST :: (MonadThrow e m, Monoid w) => MonadThrow e (RWST r w s m) where diff --git a/src/Control/Monad/State/Trans.purs b/src/Control/Monad/State/Trans.purs index d2d9a624..503b6644 100644 --- a/src/Control/Monad/State/Trans.purs +++ b/src/Control/Monad/State/Trans.purs @@ -83,8 +83,8 @@ instance monadRecStateT :: MonadRec m => MonadRec (StateT s m) where tailRecM f a = StateT \s -> tailRecM f' (Tuple a s) where f' (Tuple a' s) = - case f a' of StateT st -> - st s >>= \(Tuple m s1) -> + case f a' of + StateT st -> st s >>= \(Tuple m s1) -> pure case m of Loop x -> Loop (Tuple x s1) Done y -> Done (Tuple y s1) diff --git a/src/Control/Monad/Writer/Trans.purs b/src/Control/Monad/Writer/Trans.purs index 9ce2e83e..a62e386e 100644 --- a/src/Control/Monad/Writer/Trans.purs +++ b/src/Control/Monad/Writer/Trans.purs @@ -79,8 +79,8 @@ instance monadRecWriterT :: (Monoid w, MonadRec m) => MonadRec (WriterT w m) whe tailRecM f a = WriterT $ tailRecM f' (Tuple a mempty) where f' (Tuple a' w) = - case f a' of WriterT wt -> - wt >>= \(Tuple m w1) -> + case f a' of + WriterT wt -> wt >>= \(Tuple m w1) -> pure case m of Loop x -> Loop (Tuple x (w <> w1)) Done y -> Done (Tuple y (w <> w1))