@@ -19,7 +19,7 @@ import Control.Monad.Catch ( MonadThrow
1919#if !MIN_VERSION_base(4,13,0)
2020import Control.Monad.Fail ( MonadFail )
2121#endif
22- import Control.Monad.Free ( Free (Pure , Free ) )
22+ import Control.Monad.Free ( Free (Pure ,Free ) )
2323import Control.Monad.Reader ( MonadFix )
2424import Control.Monad.Ref ( MonadRef (newRef )
2525 , MonadAtomicRef
@@ -47,7 +47,7 @@ import Nix.Value.Monad
4747
4848newtype StdCited m a =
4949 StdCited
50- { _stdCited :: Cited (StdThunk m ) (StdCited m ) m a }
50+ ( Cited (StdThunk m ) (StdCited m ) m a )
5151 deriving
5252 ( Generic
5353 , Typeable
@@ -59,13 +59,18 @@ newtype StdCited m a =
5959 , ComonadEnv [Provenance m (StdValue m )]
6060 )
6161
62- newtype StdThunk ( m :: Type -> Type ) =
62+ newtype StdThunk m =
6363 StdThunk
64- { _stdThunk :: StdCited m (NThunkF m (StdValue m )) }
64+ ( StdCited m (NThunkF m (StdValue m )))
6565
6666type StdValue' m = NValue' (StdThunk m ) (StdCited m ) m (StdValue m )
6767type StdValue m = NValue (StdThunk m ) (StdCited m ) m
6868
69+ -- | Type alias:
70+ --
71+ -- > Cited (StdThunk m) (StdCited m) m (NThunkF m (StdValue m))
72+ type CitedStdThunk m = Cited (StdThunk m ) (StdCited m ) m (NThunkF m (StdValue m ))
73+
6974instance Show (StdThunk m ) where
7075 show _ = toString thunkStubText
7176
@@ -126,34 +131,34 @@ instance
126131 thunkId
127132 :: StdThunk m
128133 -> ThunkId m
129- thunkId = thunkId . _stdCited . _stdThunk
134+ thunkId = thunkId @ ( CitedStdThunk m ) . coerce
130135 {-# inline thunkId #-}
131136
132137 thunk
133138 :: m (StdValue m )
134139 -> m (StdThunk m )
135- thunk = fmap ( StdThunk . StdCited ) . thunk
140+ thunk = fmap coerce . thunk @ ( CitedStdThunk m )
136141
137142 query
138143 :: m (StdValue m )
139144 -> StdThunk m
140145 -> m (StdValue m )
141- query b = query b . _stdCited . _stdThunk
146+ query b = query @ ( CitedStdThunk m ) b . coerce
142147
143148 force
144149 :: StdThunk m
145150 -> m (StdValue m )
146- force = force . _stdCited . _stdThunk
151+ force = force @ ( CitedStdThunk m ) . coerce
147152
148153 forceEff
149154 :: StdThunk m
150155 -> m (StdValue m )
151- forceEff = forceEff . _stdCited . _stdThunk
156+ forceEff = forceEff @ ( CitedStdThunk m ) . coerce
152157
153158 further
154159 :: StdThunk m
155160 -> m (StdThunk m )
156- further = fmap ( StdThunk . StdCited ) . further . _stdCited . _stdThunk
161+ further = fmap coerce . further @ ( CitedStdThunk m ) . coerce
157162
158163
159164-- * @instance MonadThunkF@ (Kleisli functor HOFs)
@@ -175,31 +180,31 @@ instance
175180 -> m r
176181 -> StdThunk m
177182 -> m r
178- queryF k b = queryF k b . _stdCited . _stdThunk
183+ queryF k b = queryF @ ( CitedStdThunk m ) k b . coerce
179184
180185 forceF
181186 :: ( StdValue m
182187 -> m r
183188 )
184189 -> StdThunk m
185190 -> m r
186- forceF k = forceF k . _stdCited . _stdThunk
191+ forceF k = forceF @ ( CitedStdThunk m ) k . coerce
187192
188193 forceEffF
189194 :: ( StdValue m
190195 -> m r
191196 )
192197 -> StdThunk m
193198 -> m r
194- forceEffF k = forceEffF k . _stdCited . _stdThunk
199+ forceEffF k = forceEffF @ ( CitedStdThunk m ) k . coerce
195200
196201 furtherF
197202 :: ( m (StdValue m )
198203 -> m (StdValue m )
199204 )
200205 -> StdThunk m
201206 -> m (StdThunk m )
202- furtherF k = fmap ( StdThunk . StdCited ) . furtherF k . _stdCited . _stdThunk
207+ furtherF k = fmap coerce . furtherF @ ( CitedStdThunk m ) k . coerce
203208
204209
205210-- * @instance MonadValue (StdValue m) m@
0 commit comments