File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Contributing to io-sim
2
+
3
+ We designed ` io-classes ` to be as close as possible to what ` base ` package
4
+ provides. Almost all ` IO ` instances instantiate with api provided by one of
5
+ the core packages, see
6
+ [ example] ( https://github.com/input-output-hk/io-sim/blob/main/io-classes/src/Control/Monad/Class/MonadSTM.hs?plain=1#L410-L446 ) .
7
+ Please keep this in mind when adding new functionality.
8
+
9
+ ## Style Guide
10
+
11
+ Please follow the [ style guide] [ style-guide ] .
12
+
13
+ ## Pull Request
14
+
15
+ Ideally the series of commits you want to include should be written with the
16
+ reviewer in mind. This will make it easier for the maintainers to review your
17
+ changes. Each commit should heave a clear explanation what it changes and most
18
+ importantly why the changes are necessary. We prefer if commits are small and
19
+ just introduce a single change. For example if you are adding a new typeclass
20
+ in ` io-classes ` and you want ` io-sim ` and ` io-sim-por ` to support it, we'd
21
+ expect at least three commits: first which introduces the new type class, and
22
+ separate commits which add implement it for ` IOSim ` and ` IOSimPOR ` , since both
23
+ are using the same free monad, just interpret it differently, it's ok to first
24
+ implement it for ` IOSim ` and leave placeholders in the ` IOSimPOR ` interpreter.
25
+
26
+ If you are adding a new functionality to ` MonadSTM ` , don't forget to support it
27
+ in ` strict-stm ` package.
28
+
29
+ Please also include your changes in ` CHANGELOG.md ` file.
30
+
31
+
32
+ [ style-guide ] : https://github.com/input-output-hk/ouroboros-network/blob/master/docs/StyleGuide.md
33
+
You can’t perform that action at this time.
0 commit comments