h$$      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY Z [ \ ] ^ _ ` a b c d e f g h i j k l m None-/>?graphula3A class that provides backwards compatibility with persistent-2.14If you are using that version or above, then this is a class alias for n%. Otherwise, it is an identity alias.  None graphulaRun a generatorThis is akin to  , but utilizing graphula's generation. The size passed to the generator is always 30; if you want another size then you should explicitly use  .  None-/>?  None'(-./0<>?CNone '(-./<>?0"graphula/Run the graph while logging to a temporary file#graphula", but to the specified file$graphula"+, but using the custom action to accumulate!"#$!"#$ Safe-Inferred>a--None'(-./56789<>? 0graphulaAbstract constraint that some a can generate a key/This is part of ensuring better error messages.2graphula#Generate keys using the database's DEFAULT strategy3graphulaGenerate keys using the o instance for the p4graphula&Always explicitly pass an external keySee  nodeKeyed.5graphula%For entities that only have singular 99graphula.A data type declaring the model's dependencies:Models with no dependencies can declare an empty instance,  instance 8 School (Models with one dependency must use the 5 1-tuple constructor,  instance 8; Teacher where type Dependencies Teacher = Only SchoolId 3Models with multiple dependencies use tuple syntax,  instance 8 Course where type Dependencies Course = (SchoolId, TeacherId) :graphula-Specify the method for resolving a node's key This can be 'SourceDefault -- automatically generate keys from the database 'SourceArbitrary -- automatically generate keys using o1 'SourceExternal -- explicitly pass a key using  nodeKeyed Most types will use 2 or 3 . Only use 45 if the key for a value is always defined externally.;graphulaAssign values from the 9 collection to a value*This must be an idempotent operation. Law:3(\x d -> x `dependsOn` d `dependsOn` d) = dependsOn The default, q-based implementation will assign values by the order of the fields in the model's type./0123456789:;<89:;567<12340/None#$'(-./08<>?Igraphula,Could not satisfy constraints defined using MJgraphula*Could not satisfy database constraints on Kgraphula)Options for generating an individual nodeK: can be created and combined with the Monoidal operations r and s. a1 <- node @A () mempty a2 <- node @A () $ edit $ \a -> a { someField = True } a3 <- node @A () $ ensure $ (== True) . someFieldLgraphula)Modify the node after it's been generated 5a <- node @A () $ edit $ \a -> a { someField = True }Mgraphula1Require a node to satisfy the specified predicate 0a <- node @A () $ ensure $ (== True) . someFieldN.B. ensuring a condition that is infrequently met can be innefficient.Ngraphula6Generate a node with a default (Database-provided) key a <- node @A () memptyOgraphula+Generate a node with an explictly-given key let someKey = UUID.fromString "..." a <- nodeKeyed @A someKey () memptyHIJKLMNONOKLMHIJ None '(-./0<>?_[graphula%A constraint over lists of nodes for , and Y.7Helpful for defining utility functions over many nodes. mkABC :: (GraphulaContext m '[A, B, C]) => m (Node m C) mkABC = do a <- node A () mempty b <- node B (only a) mempty node @C (a, b) $ edit $ n -> n { cc = "spanish" } \graphula Optional seedgraphulaDatabase runner'!"#-0123456789:;fgraphula"Type-class for turning a tuple of t into a tuple of pFor example, given:  instance HasDependencies Course where type Dependencies Course = (SchoolId, TeacherId) You would have to do,  course <- node6 @Course (entityKey school, entityKey teacher) mempty !This type-class allows you to do:  course <- node @Course (g (school, teacher)) mempty 4The type class instances currently scale up 4-tuple  Dependencies.hgraphulaEquivalent to 5 . ugfhhgf Safe-Inferredvwxyz{|}  !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde f g h i j k l m n o p q r s t u v w x y z{|}~{|{|{|'graphula-2.0.2.1-LNSo93wNkSgCXN7uldAqzSGraphula.ClassGraphula.ArbitraryGraphula.Dependencies.GenericGraphula.IdempotentGraphula.LoggedGraphula.NoConstraintGraphula.Dependencies Graphula.NodeGraphula Graphula.KeyTest.QuickCheckgenerateresizePaths_graphulaMonadGraphulaBackendLoggingaskGenlogNodeMonadGraphulaFrontendinsertremove MonadGraphulaGraphulaSafeToInsert$fGraphulaSafeToInsertaGHasDependenciesgenericDependsOn$$fGHasDependenciesProxyProxynodeVoid($fGHasDependenciesProxyProxyEitherEither)$fGHasDependenciesProxyProxyEitherEither0)$fGHasDependenciesProxyProxyEitherEither1&$fGHasDependenciesProxyProxyVoidEither'$fGHasDependenciesProxyProxyVoidEither0$$fGHasDependenciesRecursiveProxy()()'$fGHasDependenciesRecursiveProxy(,)deps&$fGHasDependenciesRecursiveProxy(,)(,))$fGHasDependenciesProxyProxyEitherEither2GraphulaIdempotentTrunGraphulaIdempotentT*$fMonadGraphulaFrontendGraphulaIdempotentT$fMonadTransGraphulaIdempotentT"$fMonadUnliftIOGraphulaIdempotentT$fFunctorGraphulaIdempotentT $fApplicativeGraphulaIdempotentT$fMonadGraphulaIdempotentT$fMonadIOGraphulaIdempotentT%$fMonadReaderIORefGraphulaIdempotentTGraphulaLoggedTrunGraphulaLoggedTrunGraphulaLoggedWithFileTrunGraphulaLoggedUsingT&$fMonadGraphulaFrontendGraphulaLoggedT%$fMonadGraphulaBackendGraphulaLoggedT$fMonadTransGraphulaLoggedT$fFunctorGraphulaLoggedT$fApplicativeGraphulaLoggedT$fMonadGraphulaLoggedT$fMonadIOGraphulaLoggedT!$fMonadReaderIORefGraphulaLoggedT NoConstraint$fNoConstrainta generateKey GenerateKey KeySourceType SourceDefaultSourceArbitrarySourceExternalOnlyfromOnlyHasDependencies Dependencies KeySource dependsOnonly%$fGenerateKeyInternalSourceArbitrarya#$fGenerateKeyInternalSourceDefaulta$fGenerateKeya$$fGenerateKeyInternalSourceExternala$fEqOnly $fShowOnly $fOrdOnly $fGenericOnly $fFunctorOnly$fFoldableOnly$fTraversableOnlyGenerationFailure'GenerationFailureMaxAttemptsToConstrain$GenerationFailureMaxAttemptsToInsert NodeOptionseditensurenode nodeKeyed $fMonoidKendo$fSemigroupKendo$fMonoidNodeOptions$fSemigroupNodeOptions$fExceptionGenerationFailure$fShowGenerationFailure$fEqGenerationFailure$fGenericNodeOptions$fGenericKendo GraphulaNode GraphulaTGraphulaContext runGraphulaT $fMonadGraphulaFrontendGraphulaT$fMonadGraphulaBackendGraphulaT$fMonadUnliftIOGraphulaT$fMonadTransGraphulaT$fFunctorGraphulaT$fApplicativeGraphulaT$fMonadGraphulaT$fMonadIOGraphulaT$fMonadReaderArgsGraphulaTKeyskeysonlyKey$fEntityKeys(,,,)$fEntityKeys(,,)$fEntityKeys(,)$fEntityKeysOnly$fEntityKeysEntity*persistent-2.14.1.0-DKWqDRtl7ZcDoPwa1SjQDY$Database.Persist.Class.PersistEntity SafeToInsert(QuickCheck-2.14.2-6xAinBYgndE7qB1JvE1ApfTest.QuickCheck.Arbitrary ArbitraryKeybase GHC.GenericsGenericGHC.Base<>memptyEntity entityKeyversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName