on master help sign in
Expose all data types from Effectful.Internal.Env
commit1fdb00ac80089f3891101885cfb8126e352b27a0 authorAndrzej Rybczak <andrzej@rybczak.net> dateThu 16 Dec 2021, 17:26 (5 years ago) parent0363e15
1 file changed+18−4
effectful-core/src/Effectful/Internal/Env.hs+18−4
effectful-core/src/Effectful/Internal/Env.hs+18−4
@@ -4,22 +4,34 @@
44-- This module is intended for internal use only, and may change without warning
55-- in subsequent releases.
66module Effectful.Internal.Env
7− ( Env
7+ ( -- * The environment
8+ Env(..)
9+ , Forks(..)
10+ , EnvRef(..)
11+
12+ -- ** ForkId
13+ , ForkId(..)
14+ , ForkIdGen(..)
15+ , newForkIdGen
16+ , cloneForkIdGen
17+ , newForkId
18+
19+ -- ** Relinker
820 , Relinker(..)
921 , noRelinker
1022
11− -- * Operations
23+ -- * Operations
1224 , emptyEnv
1325 , cloneEnv
1426 , forkEnv
1527 , sizeEnv
1628 , checkSizeEnv
1729
18− -- ** Extending and shrinking
30+ -- ** Extending and shrinking
1931 , unsafeConsEnv
2032 , unsafeTailEnv
2133
22− -- ** Data retrieval and update
34+ -- ** Data retrieval and update
2335 , getEnv
2436 , putEnv
2537 , stateEnv
@@ -116,6 +128,7 @@ data Env (es :: [Effect]) = Env
116128-- | Local forks of the environment.
117129data Forks = Forks !ForkId !Int !(IORef EnvRef) Forks | NoFork
118130
131+-- | Data held in the environment.
119132data EnvRef = EnvRef
120133 { _size :: !Int
121134 , _data :: !(SmallMutableArray RealWorld Any)
@@ -125,6 +138,7 @@ data EnvRef = EnvRef
125138----------------------------------------
126139-- ForkId
127140
141+-- | Internal id of the fork.
128142newtype ForkId = ForkId { unForkId :: Int }
129143
130144-- | 'ForkId' generation.