h$L      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW X Y Z [ \ ] ^ _ ` a b c d e f g h i j k None-/>?NonegraphulaRun 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<>?kNone '(-./<>?X 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>++None'(-./56789<>? .graphulaAbstract constraint that some a can generate a key/This is part of ensuring better error messages.0graphula#Generate keys using the database's DEFAULT strategy1graphulaGenerate keys using the l instance for the m2graphula&Always explicitly pass an external keySee  nodeKeyed.3graphula%For entities that only have singular 77graphula.A data type declaring the model's dependencies:Models with no dependencies can declare an empty instance,  instance 6 School (Models with one dependency must use the 3 1-tuple constructor,  instance 6; Teacher where type Dependencies Teacher = Only SchoolId 3Models with multiple dependencies use tuple syntax,  instance 6 Course where type Dependencies Course = (SchoolId, TeacherId) 8graphula-Specify the method for resolving a node's key This can be 'SourceDefault -- automatically generate keys from the database 'SourceArbitrary -- automatically generate keys using l1 'SourceExternal -- explicitly pass a key using  nodeKeyed Most types will use 0 or 1 . Only use 25 if the key for a value is always defined externally.9graphulaAssign values from the 7 collection to a value*This must be an idempotent operation. Law:3(\x d -> x `dependsOn` d `dependsOn` d) = dependsOn The default, n-based implementation will assign values by the order of the fields in the model's type.-./0123456789:6789345:/012.-None#$'(-./08<>?Ggraphula,Could not satisfy constraints defined using KHgraphula*Could not satisfy database constraints on Igraphula)Options for generating an individual nodeI: can be created and combined with the Monoidal operations o and p. a1 <- node @A () mempty a2 <- node @A () $ edit $ \a -> a { someField = True } a3 <- node @A () $ ensure $ (== True) . someFieldJgraphula)Modify the node after it's been generated 5a <- node @A () $ edit $ \a -> a { someField = True }Kgraphula1Require a node to satisfy the specified predicate 0a <- node @A () $ ensure $ (== True) . someFieldN.B. ensuring a condition that is infrequently met can be innefficient.Lgraphula6Generate a node with a default (Database-provided) key a <- node @A () memptyMgraphula+Generate a node with an explictly-given key let someKey = UUID.fromString "..." a <- nodeKeyed @A someKey () memptyFGHIJKLMLMIJKFGH None '(-./0<>?Ygraphula%A constraint over lists of nodes for , and W.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" } Zgraphula Optional seedgraphulaDatabase runner' !+./0123456789:FGHIJKLMWXYZ'6789345:LJKXZFGH/012M !YWI.+ None />dgraphula"Type-class for turning a tuple of q into a tuple of mFor 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 (e (school, teacher)) mempty 4The type class instances currently scale up 4-tuple  Dependencies.fgraphulaEquivalent to 3 . redffed Safe-Inferred?stuvwxyz  !"#$%&'()*+,-./0123456789:;<=>?@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc d e f g h i j k l m n o p q r s t u v w xyz{|}~|}|}'graphula-2.0.1.0-1bcslTrN0Du5XbplEVgBP2Graphula.ClassGraphula.ArbitraryGraphula.Dependencies.GenericGraphula.IdempotentGraphula.LoggedGraphula.NoConstraintGraphula.Dependencies Graphula.NodeGraphula Graphula.KeyTest.QuickCheckgenerateresizePaths_graphulaMonadGraphulaBackendLoggingaskGenlogNodeMonadGraphulaFrontendinsertremove MonadGraphulaGHasDependenciesgenericDependsOn$$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'QuickCheck-2.14.2-6vGnep5JveBx6Bsl9Nf1tTest.QuickCheck.Arbitrary Arbitrary*persistent-2.13.2.1-1x67wHnG68D2RZ47iWuUOZ$Database.Persist.Class.PersistEntityKeybase GHC.GenericsGenericGHC.Base<>memptyEntity entityKeyversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName