Skip to content

Commit e0f0083

Browse files
authored
Merge pull request #43 from input-output-hk/coot/prop_codec_splitsM
Improved performance of `prop codec splitsM`
2 parents 60ec691 + 80f92d1 commit e0f0083

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

typed-protocols/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Revision history for typed-protocols-cborg
22

3+
## 0.1.0.7 -- 2023-10-20
4+
5+
* Improved performance of `prop_codecs_splitsM` and `prop_codecs_compatM`.
6+
37
## 0.1.0.5 -- 2023-03-08
48

59
* Support `ghc-9.6.1`.

typed-protocols/src/Network/TypedProtocol/Codec.hs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ prop_codec_splitsM splits
361361
and <$> sequence
362362
[ do r <- decode stok >>= runDecoder bytes'
363363
case r of
364-
Right (SomeMessage msg') -> return $ AnyMessage msg' == AnyMessage msg
364+
Right (SomeMessage msg') -> return $! AnyMessage msg' == AnyMessage msg
365365
Left _ -> return False
366366

367367
| let bytes = encode stok msg
@@ -471,12 +471,12 @@ prop_codecs_compatM codecA codecB
471471
(AnyMessageAndAgency stok msg) =
472472
getAll <$> do r <- decode codecB stok >>= runDecoder [encode codecA stok msg]
473473
case r of
474-
Right (SomeMessage msg') -> return $ All $ AnyMessage msg' == AnyMessage msg
475-
Left _ -> return $ All False
474+
Right (SomeMessage msg') -> return $! All $ AnyMessage msg' == AnyMessage msg
475+
Left _ -> return $! All False
476476
<> do r <- decode codecA stok >>= runDecoder [encode codecB stok msg]
477477
case r of
478-
Right (SomeMessage msg') -> return $ All $ AnyMessage msg' == AnyMessage msg
479-
Left _ -> return $ All False
478+
Right (SomeMessage msg') -> return $! All $ AnyMessage msg' == AnyMessage msg
479+
Left _ -> return $! All False
480480

481481
-- | Like @'prop_codecs_compatM'@ but run in a pure monad @m@, e.g. @Identity@.
482482
--

typed-protocols/typed-protocols.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 3.0
22
name: typed-protocols
3-
version: 0.1.0.6
3+
version: 0.1.1.0
44
synopsis: A framework for strongly typed protocols
55
-- description:
66
license: Apache-2.0

0 commit comments

Comments
 (0)