Skip to content

Commit

Permalink
deploy: 495e088
Browse files Browse the repository at this point in the history
  • Loading branch information
abailly-iohk committed Jul 20, 2021
1 parent c01c6cb commit c5f0fd6
Show file tree
Hide file tree
Showing 17 changed files with 20 additions and 20 deletions.
4 changes: 2 additions & 2 deletions adr/0005-use-io-sim-classes.md
@@ -1,4 +1,4 @@
# 5. Use io-sim-classes
# 5. Use io-classes

Date: 2021-06-08

Expand All @@ -18,7 +18,7 @@ There are other such libraries, e.g. [concurrency](https://hackage.haskell.org/p

## Decision

For all IO effects covered by the library, use functions from typeclasses exposed by [io-sim-classes](https://github.com/input-output-hk/ouroboros-network/tree/be47fbb3dbd237a37ad95759e89e455a0a563c19/io-sim-classes). As of this writing, this covers:
For all IO effects covered by the library, use functions from typeclasses exposed by [io-classes](https://github.com/input-output-hk/ouroboros-network/tree/e338f2cf8e1078fbda9555dd2b169c6737ef6774/io-classes). As of this writing, this covers:
* All STM operations through `MonadSTM`
* Time and timers through `MonadTime` and `MonadTimer`
* Concurrency through `MonadAsync`, `MonadFork`
Expand Down
2 changes: 1 addition & 1 deletion adr/0008-use-custom-prelude.md
Expand Up @@ -19,7 +19,7 @@ All-in-all, while it _does the job_, the base `Prelude` may not necessarily be t

## Decision

We'll use a custom prelude to help us get more productive and more importantly, to reduce the daily friction of our interactions with the base prelude. While [`relude`](https://hackage.haskell.org/package/relude) makes for a good candidate, we still chose to re-wrap it in a custom `Hydra.Prelude` module to grant us the ability to add or remove a few things specifics to Hydra and Cardano in general. In particular, we will hide from `relude` all the re-exports of the [`stm`](https://hackage.haskell.org/package/stm) library in favor of [`io-sim-classes`](https://github.com/input-output-hk/ouroboros-network/tree/36d8a4b7792ffcfa0c70eb56065071fbfa59af36/io-sim-classes) which we already use pervasively and which provides (among other things) most of the same capabilities.
We'll use a custom prelude to help us get more productive and more importantly, to reduce the daily friction of our interactions with the base prelude. While [`relude`](https://hackage.haskell.org/package/relude) makes for a good candidate, we still chose to re-wrap it in a custom `Hydra.Prelude` module to grant us the ability to add or remove a few things specifics to Hydra and Cardano in general. In particular, we will hide from `relude` all the re-exports of the [`stm`](https://hackage.haskell.org/package/stm) library in favor of [`io-classes`](https://github.com/input-output-hk/ouroboros-network/tree/e338f2cf8e1078fbda9555dd2b169c6737ef6774/io-classes) which we already use pervasively and which provides (among other things) most of the same capabilities.

## Consequences

Expand Down
2 changes: 1 addition & 1 deletion adr/README.md
Expand Up @@ -6,6 +6,6 @@ Here is a list of currently accepted or discussed **Architecture Decision Record
2. Hydra Node is designed around a [Reactive Core](./0002-reactive-core.md)
3. It exposes a [Duplex Asynchronous API](./0003-asynchronous-duplex-api.md) using WebSockets protocol
4. We use the [Handle pattern](./0004-use-handle-to-model-effects.md) for effectful computations
5. We use [io-sim-classes](./0005-use-io-sim-classes.md) for all abstracting concurrency primitives
5. We use [io-classes](./0005-use-io-sim-classes.md) for all abstracting concurrency primitives
6. Network [broadcasts all messages](./0006-network-broadcasts-all-messages.md)
7. _Components are defined using [with-pattern](./0007-with-pattern-component-interfaces.md)_
2 changes: 1 addition & 1 deletion haddock/hydra-node/Hydra-Ledger-MaryTest.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion haddock/hydra-node/Hydra-Network-Ouroboros-Type.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion haddock/hydra-node/Hydra-Network.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion haddock/hydra-node/doc-index-All.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion haddock/hydra-node/doc-index-U.html
@@ -1 +1 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>hydra-node-0.1.0 (Index - U)</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">hydra-node-0.1.0</span><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - U</p><table><tr><td class="src">unboundedInterval</td><td class="module"><a href="Hydra-Ledger-MaryTest.html#v:unboundedInterval" title="Hydra.Ledger.MaryTest">Hydra.Ledger.MaryTest</a></td></tr><tr><td class="src">unsafeMkUnitInterval</td><td class="module"><a href="Hydra-Ledger-MaryTest.html#v:unsafeMkUnitInterval" title="Hydra.Ledger.MaryTest">Hydra.Ledger.MaryTest</a></td></tr><tr><td class="src">UnsafeParty</td><td class="module"><a href="Hydra-Ledger.html#v:UnsafeParty" title="Hydra.Ledger">Hydra.Ledger</a></td></tr><tr><td class="src">UnsafeSigned</td><td class="module"><a href="Hydra-Ledger.html#v:UnsafeSigned" title="Hydra.Ledger">Hydra.Ledger</a></td></tr><tr><td class="src">unTxIn</td><td class="module"><a href="Hydra-Ledger-Simple.html#v:unTxIn" title="Hydra.Ledger.Simple">Hydra.Ledger.Simple</a></td></tr><tr><td class="src">update</td><td class="module"><a href="Hydra-HeadLogic.html#v:update" title="Hydra.HeadLogic">Hydra.HeadLogic</a></td></tr><tr><td class="src">updateLastSent</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateLastSent" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">updateStateFromIncomingMessages</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateStateFromIncomingMessages" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">updateStateFromOutgoingMessages</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateStateFromOutgoingMessages" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">updateSuspected</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateSuspected" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">UTxO</td><td class="module"><a href="Hydra-Ledger.html#t:UTxO" title="Hydra.Ledger">Hydra.Ledger</a></td></tr><tr><td class="src">Utxo</td><td class="module"><a href="Hydra-HeadLogic.html#v:Utxo" title="Hydra.HeadLogic">Hydra.HeadLogic</a></td></tr><tr><td class="src">utxo</td><td class="module"><a href="Hydra-HeadLogic.html#v:utxo" title="Hydra.HeadLogic">Hydra.HeadLogic</a></td></tr><tr><td class="src">utxoRef</td><td class="module"><a href="Hydra-Ledger-Simple.html#v:utxoRef" title="Hydra.Ledger.Simple">Hydra.Ledger.Simple</a></td></tr><tr><td class="src">utxoRefs</td><td class="module"><a href="Hydra-Ledger-Simple.html#v:utxoRefs" title="Hydra.Ledger.Simple">Hydra.Ledger.Simple</a></td></tr><tr><td class="src">utxoSubscriber</td><td class="module"><a href="Hydra-Chain-ExternalPAB.html#v:utxoSubscriber" title="Hydra.Chain.ExternalPAB">Hydra.Chain.ExternalPAB</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.24.0</p></div></body></html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>hydra-node-0.1.0 (Index - U)</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">hydra-node-0.1.0</span><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-Q.html">Q</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-V.html">V</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - U</p><table><tr><td class="src">unboundedInterval</td><td class="module"><a href="Hydra-Ledger-MaryTest.html#v:unboundedInterval" title="Hydra.Ledger.MaryTest">Hydra.Ledger.MaryTest</a></td></tr><tr><td class="src">UnsafeParty</td><td class="module"><a href="Hydra-Ledger.html#v:UnsafeParty" title="Hydra.Ledger">Hydra.Ledger</a></td></tr><tr><td class="src">UnsafeSigned</td><td class="module"><a href="Hydra-Ledger.html#v:UnsafeSigned" title="Hydra.Ledger">Hydra.Ledger</a></td></tr><tr><td class="src">unTxIn</td><td class="module"><a href="Hydra-Ledger-Simple.html#v:unTxIn" title="Hydra.Ledger.Simple">Hydra.Ledger.Simple</a></td></tr><tr><td class="src">update</td><td class="module"><a href="Hydra-HeadLogic.html#v:update" title="Hydra.HeadLogic">Hydra.HeadLogic</a></td></tr><tr><td class="src">updateLastSent</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateLastSent" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">updateStateFromIncomingMessages</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateStateFromIncomingMessages" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">updateStateFromOutgoingMessages</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateStateFromOutgoingMessages" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">updateSuspected</td><td class="module"><a href="Hydra-Network-Heartbeat.html#v:updateSuspected" title="Hydra.Network.Heartbeat">Hydra.Network.Heartbeat</a></td></tr><tr><td class="src">UTxO</td><td class="module"><a href="Hydra-Ledger.html#t:UTxO" title="Hydra.Ledger">Hydra.Ledger</a></td></tr><tr><td class="src">Utxo</td><td class="module"><a href="Hydra-HeadLogic.html#v:Utxo" title="Hydra.HeadLogic">Hydra.HeadLogic</a></td></tr><tr><td class="src">utxo</td><td class="module"><a href="Hydra-HeadLogic.html#v:utxo" title="Hydra.HeadLogic">Hydra.HeadLogic</a></td></tr><tr><td class="src">utxoRef</td><td class="module"><a href="Hydra-Ledger-Simple.html#v:utxoRef" title="Hydra.Ledger.Simple">Hydra.Ledger.Simple</a></td></tr><tr><td class="src">utxoRefs</td><td class="module"><a href="Hydra-Ledger-Simple.html#v:utxoRefs" title="Hydra.Ledger.Simple">Hydra.Ledger.Simple</a></td></tr><tr><td class="src">utxoSubscriber</td><td class="module"><a href="Hydra-Chain-ExternalPAB.html#v:utxoSubscriber" title="Hydra.Chain.ExternalPAB">Hydra.Chain.ExternalPAB</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.24.0</p></div></body></html>
Binary file modified haddock/hydra-node/hydra-node.haddock
Binary file not shown.

0 comments on commit c5f0fd6

Please sign in to comment.