@@ -305,8 +305,8 @@ instance InLockstep Model where
305305
306306 modelNextState = runModel
307307
308- arbitraryWithVars findVars _model =
309- case findVars (Proxy :: Proxy (LSM RealWorld )) of
308+ arbitraryWithVars ctx _model =
309+ case findVars ctx (Proxy :: Proxy (LSM RealWorld )) of
310310 [] -> return (Some ANew )
311311 vars ->
312312 frequency $
@@ -321,7 +321,7 @@ instance InLockstep Model where
321321 AInsert <$> elements vars
322322 <*> fmap Left (elements kvars) -- key var
323323 <*> arbitrarySizedNatural) -- value
324- | let kvars = findVars (Proxy :: Proxy Key )
324+ | let kvars = findVars ctx (Proxy :: Proxy Key )
325325 , not (null kvars)
326326 ]
327327 -- deletes of arbitrary keys:
@@ -333,7 +333,7 @@ instance InLockstep Model where
333333 ++ [ (1 , fmap Some $
334334 ADelete <$> elements vars
335335 <*> fmap Left (elements kvars)) -- key var
336- | let kvars = findVars (Proxy :: Proxy Key )
336+ | let kvars = findVars ctx (Proxy :: Proxy Key )
337337 , not (null kvars)
338338 ]
339339 -- lookup of arbitrary keys:
@@ -345,7 +345,7 @@ instance InLockstep Model where
345345 ++ [ (3 , fmap Some $
346346 ALookup <$> elements vars
347347 <*> fmap Left (elements kvars)) -- key var
348- | let kvars = findVars (Proxy :: Proxy Key )
348+ | let kvars = findVars ctx (Proxy :: Proxy Key )
349349 , not (null kvars)
350350 ]
351351 ++ [ (1 , fmap Some $
@@ -355,19 +355,19 @@ instance InLockstep Model where
355355 ADuplicate <$> elements vars)
356356 ]
357357
358- shrinkWithVars _findVars _model (AInsert var (Right k) v) =
358+ shrinkWithVars _ctx _model (AInsert var (Right k) v) =
359359 [ Some $ AInsert var (Right k') v' | (k', v') <- shrink (k, v) ]
360360
361- shrinkWithVars _findVars _model (AInsert var (Left _kv) v) =
361+ shrinkWithVars _ctx _model (AInsert var (Left _kv) v) =
362362 [ Some $ AInsert var (Right k) v | k <- shrink 100 ]
363363
364- shrinkWithVars _findVars _model (ADelete var (Right k)) =
364+ shrinkWithVars _ctx _model (ADelete var (Right k)) =
365365 [ Some $ ADelete var (Right k') | k' <- shrink k ]
366366
367- shrinkWithVars _findVars _model (ADelete var (Left _kv)) =
367+ shrinkWithVars _ctx _model (ADelete var (Left _kv)) =
368368 [ Some $ ADelete var (Right k) | k <- shrink 100 ]
369369
370- shrinkWithVars _findVars _model _action = []
370+ shrinkWithVars _ctx _model _action = []
371371
372372
373373instance RunLockstep Model IO where
@@ -423,9 +423,10 @@ runActionIO action lookUp =
423423 tr = nullTracer
424424
425425runModel :: Action (Lockstep Model ) a
426- -> ModelLookUp Model
427- -> Model -> (ModelValue Model a , Model )
428- runModel action lookUp m =
426+ -> ModelVarContext Model
427+ -> Model
428+ -> (ModelValue Model a , Model )
429+ runModel action ctx m =
429430 case action of
430431 ANew -> (MLSM mlsm, m')
431432 where (mlsm, m') = modelNew m
@@ -449,8 +450,8 @@ runModel action lookUp m =
449450 where (mapping, _) = modelDump (lookUpLsMVar var) m
450451 where
451452 lookUpLsMVar :: ModelVar Model (LSM RealWorld ) -> ModelLSM
452- lookUpLsMVar var = case lookUp var of MLSM r -> r
453+ lookUpLsMVar var = case lookupVar ctx var of MLSM r -> r
453454
454455 lookUpKeyVar :: ModelVar Model Key -> Key
455- lookUpKeyVar var = case lookUp var of MInsert k -> k
456+ lookUpKeyVar var = case lookupVar ctx var of MInsert k -> k
456457
0 commit comments