@@ -90,7 +90,7 @@ import Control.Monad.IO.Unlift
90
90
import Control.Monad.Reader (MonadReader , ReaderT , ask , asks , runReaderT )
91
91
import Control.Monad.Trans (MonadTrans , lift )
92
92
import Data.Foldable (for_ , traverse_ )
93
- import Data.IORef (IORef , modifyIORef' , newIORef , readIORef , writeIORef )
93
+ import Data.IORef (IORef , modifyIORef' , newIORef , readIORef )
94
94
import Data.Kind (Constraint , Type )
95
95
import Data.Proxy (Proxy (.. ))
96
96
import Data.Semigroup.Generic (gmappend , gmempty )
@@ -115,15 +115,15 @@ import Database.Persist
115
115
import Database.Persist.Sql (SqlBackend )
116
116
import Generics.Eot (Eot , HasEot , fromEot , toEot )
117
117
import GHC.Generics (Generic )
118
+ import Graphula.Arbitrary (generate )
118
119
import Graphula.Internal
119
120
import System.Directory (createDirectoryIfMissing , getTemporaryDirectory )
120
121
import System.IO (Handle , IOMode (.. ), hClose , openFile )
121
122
import System.IO.Temp (openTempFile )
122
- import System.Random (randomIO , split )
123
+ import System.Random (randomIO )
123
124
import Test.HUnit.Lang
124
125
(FailureReason (.. ), HUnitFailure (.. ), formatFailureReason )
125
- import Test.QuickCheck (Arbitrary (.. ), Gen )
126
- import Test.QuickCheck.Gen (unGen )
126
+ import Test.QuickCheck (Arbitrary (.. ))
127
127
import Test.QuickCheck.Random (QCGen , mkQCGen )
128
128
import UnliftIO.Exception
129
129
(Exception , SomeException , bracket , catch , mask , throwIO )
@@ -148,14 +148,6 @@ type family GraphulaContext (m :: Type -> Type) (ts :: [Type]) :: Constraint whe
148
148
GraphulaContext m '[] = MonadGraphula m
149
149
GraphulaContext m (t ': ts ) = (GraphulaNode m t , GraphulaContext m ts )
150
150
151
- class MonadGraphulaBackend m where
152
- type Logging m :: Type -> Constraint
153
- -- ^ A constraint provided to log details of the graph to some form of
154
- -- persistence. This is used by 'runGraphulaLogged' to store graph nodes as
155
- -- 'Show'n 'Text' values
156
- askGen :: m (IORef QCGen )
157
- logNode :: Logging m a => a -> m ()
158
-
159
151
class MonadGraphulaFrontend m where
160
152
insert
161
153
:: (PersistEntityBackend a ~ SqlBackend , PersistEntity a , Monad m )
@@ -561,13 +553,3 @@ newtype Only a = Only { fromOnly :: a }
561
553
562
554
only :: a -> Only a
563
555
only = Only
564
-
565
- generate :: (MonadIO m , MonadGraphulaBackend m ) => Gen a -> m a
566
- generate gen = do
567
- genRef <- askGen
568
- g <- liftIO $ readIORef genRef
569
- let
570
- (g1, g2) = split g
571
- x = unGen gen g1 30
572
- liftIO $ writeIORef genRef g2
573
- pure x
0 commit comments