Skip to content

Commit 616276d

Browse files
committed
Updated README.md
1 parent cc5d653 commit 616276d

File tree

3 files changed

+30
-14
lines changed

3 files changed

+30
-14
lines changed

io-classes/README.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,28 @@ We provide also non-standard extensions of this API in **sublibraries**:
1616
support of the [`nothunks`] library;
1717
* [`io-classes:strict-mvar`](https://input-output-hk.github.io/io-sim/io-classes/strict-mvar/index.html): strict `MVar`s
1818
* [`io-classes:si-timers`](https://input-output-hk.github.io/io-sim/io-classes/si-timers/index.html): timers api:
19+
1920
- 32-bit safe API using `DiffTime` measured in seconds (rather than time in
2021
microseconds represented as `Int` as in `base`)
2122
- cancellable timeouts.
22-
* [`io-classes:mtl`](https://input-output-hk.github.io/io-sim/io-classes/io-classes-mtl/index.html): MTL instances.
2323

24-
[`io-classes:strict-stm`](https://input-output-hk.github.io/io-sim/io-classes/strict-stm/index.html) and [`nothunks`] were successfully used in a large
24+
* [`io-classes:io-classes-mtl`](https://input-output-hk.github.io/io-sim/io-classes/io-classes-mtl/index.html):
25+
MTL instances.
26+
27+
[`io-classes:strict-stm`](https://input-output-hk.github.io/io-sim/io-classes/strict-stm/index.html)
28+
and [`nothunks`] were successfully used in a large
2529
code base to eliminate space leaks and keep that property over long development
2630
cycles.
2731

2832
## Documentation
2933

30-
Hackage doesn't yet support public sublibraries, thus Haddocks are published [here][io-classes-haddocks]
34+
Hackage doesn't yet support public sublibraries, thus Haddocks are published
35+
[here][io-classes-haddocks].
36+
37+
### Support material
38+
39+
* [Philipp Kant (@kantp) at Bobconf 2022][bob-conf]
40+
* [Armando Santos (@bolt12) at ZuriHac 2022][zuriHac-2022]
3141

3242
## Exception Class Hierarchy
3343

@@ -160,3 +170,6 @@ its limitations and so there might be some rough edges. PRs are welcomed,
160170
[MonadST]: https://input-output-hk.github.io/io-sim/io-classes/Control-Monad-Class-MonadST.html#t:MonadST
161171
[MonadSay]: https://input-output-hk.github.io/io-sim/io-classes/Control-Monad-Class-MonadSay.html#t:MonadSay
162172
[io-classes-haddocks]: https://input-output-hk.github.io/io-sim
173+
174+
[bob-conf]: https://youtu.be/uedUGeWN4ZM
175+
[zuriHac-2022]: https://youtu.be/tKIYQgJnGkA

io-classes/io-classes.cabal

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@ name: io-classes
33
version: 1.5.0.0
44
synopsis: Type classes for concurrency with STM, ST and timing
55
description:
6-
IO Monad class hierarchy compatible with
7-
[io-sim](https://hackage.haskell.org/package/io-sim),
8-
[base](https://hackage.haskell.org/package/base),
9-
[async](https://hackage.haskell.org/package/async),
10-
[stm](https://hackage.haskell.org/package/stm),
11-
[exceptions](https://hackage.haskell.org/package/exceptions) &
12-
[time](https://hackage.haskell.org/package/time) packages.
6+
IO Monad class hierarchy compatible with:
7+
8+
* [io-sim](https://hackage.haskell.org/package/io-sim),
9+
* [base](https://hackage.haskell.org/package/base),
10+
* [async](https://hackage.haskell.org/package/async),
11+
* [stm](https://hackage.haskell.org/package/stm),
12+
* [exceptions](https://hackage.haskell.org/package/exceptions) &
13+
* [time](https://hackage.haskell.org/package/time)
14+
15+
packages.
16+
1317
license: Apache-2.0
1418
license-files: LICENSE NOTICE
1519
copyright: 2019-2024 Input Output Global Inc (IOG)

io-sim/README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
A pure simulator monad built on top of the lazy `ST` monad which supports:
44

5-
* optional dynamic race discovery and schedule exploration
5+
* optional dynamic race discovery and schedule exploration (see [`IOSimPOR`])
66
* synchronous and asynchronous exceptions; including: throwing, catching and
77
masking synchronous and asynchronous exceptions;
88
* concurrency (using simulated threads), with interfaces shaped by the
@@ -15,7 +15,6 @@ A pure simulator monad built on top of the lazy `ST` monad which supports:
1515
* inspection of `STM` mutable data structures;
1616
* deadlock detection;
1717
* `MonadFix` instances for both [`IOSim`] and its corresponding `STM` monad.
18-
* partial order reduction (see [`IOSimPOR`]).
1918

2019
[`io-sim`] together with [`io-classes`] is a drop-in replacement for the `IO`
2120
monad (with some ramifications). It was designed to write easily testable
@@ -42,7 +41,7 @@ also the other way around: that `GHC`s `STM` implementation meets the
4241
specification.
4342

4443
[`io-sim`]: https://hackage.haskell.org/package/io-sim
45-
[`io-classes`]: https://hackage.haskell.org/package/io-classes
46-
[`si-timers`]: https://hackage.haskell.org/package/si-timers
44+
[`io-classes`]: https://input-output-hk.github.io/io-sim/io-classes/index.html
45+
[`si-timers`]: https://input-output-hk.github.io/io-sim/io-classes/si-timers/index.html
4746
[`IOSimPOR`]: https://github.com/input-output-hk/io-sim/tree/main/io-sim/how-to-use-IOSimPOR.md
4847
[`IOSim`]: https://hackage.haskell.org/package/io-sim/docs/Control-Monad-IOSim.html#t:IOSim

0 commit comments

Comments
 (0)