h$&@!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None  #$2;> A' groundhog-thIt is used only to set polymorphic part of name of its container( groundhog-thName of a pair of functions converting the value to and from a type that is an instance of PrimitivePersistField, groundhog-thIt is used only to set polymorphic part of name of its container; groundhog-thIt is used only to set polymorphic part of name of its container | It should repeat fields from THUniqueDef but it may give different settings for them. It is done to allow foreign key fields to be different from parent fields of the entity. These fields are used for creating a the key constructor and instances for it. For example, it can have a default value, or even a different type (INT8 may reference INT4).= groundhog-th(If True, make it an instance of EmbeddedC groundhog-th5Either name of field, i.e, thFieldName, or expressionF groundhog-thname in the record, barG groundhog-thcolumn name, SQLbarH groundhog-th3column type, inet, NUMERIC(5, 2), VARCHAR(50), etc.I groundhog-th/name of constructor in the Field GADT, BarFieldL groundhog-thdefault value in the databaseN groundhog-thname of a pair of functionsZ groundhog-thIt is used only to set polymorphic part of name of its container[ groundhog-thName of a pair of functions converting the value to and from a type that is an instance of PrimitivePersistField` groundhog-thIt is used only to set polymorphic part of name of its container   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstpqrstghijklmno\]^_`abWXYZ[OPQRSTUVDEFGHIJKLMN?@ABC6789:;<=>cdef./012345)*+,-$%&'( !"#  None#$2 RNone#$ _ groundhog-thDefines how the names are created. The mk* functions correspond to the set* functions. Functions mkNormal* define names of non-record constructor Field groundhog-thCreate name of the table for the datatype. Parameters: data name. groundhog-thCreate name of the backend-specific key constructor for the datatype. Parameters: data name. groundhog-th8Create name for phantom constructor used to parametrise Field. Parameters: data name, constructor name, constructor position. groundhog-th7Create name for phantom unique key used to parametrise Key. Parameters: data name, constructor name, unique constraint name. groundhog-thCreate name of constructor for the unique key. Parameters: data name, constructor name, unique constraint name. groundhog-thCreate name used by  persistName for the unique key. Parameters: data name, constructor name, unique constraint name. groundhog-thCreate name of the constructor specific table. Parameters: data name, constructor name, constructor position. groundhog-thCreate name of the db field for autokey. Parameters: data name, constructor name, constructor position. groundhog-thCreate name of the field column in a database. Parameters: data name, constructor name, constructor position, field record name, field position. groundhog-thCreate name of field constructor used in expressions. Parameters: data name, constructor name, constructor position, field record name, field position. groundhog-thCreate name of selector (see Embedded) constructor used in expressions. Parameters: data name, constructor name, field record name, field position. groundhog-thCreate field name used to refer to the it in settings for non-record constructors. Parameters: data name, constructor name, constructor position, field position. groundhog-thCreate name of the field column in a database. Parameters: data name, constructor name, constructor position, field position. groundhog-thCreate name of field constructor used in expressions. Parameters: data name, constructor name, constructor position, field position. groundhog-thCreate name of selector (see Embedded) constructor used in expressions. Parameters: data name, constructor name, field position. groundhog-th0Naming style that is applied for all definitions groundhog-thCodegenerator will create a function with this name that will run migrate. for each non-polymorphic entity in definition groundhog-thFunctions that produce Haskell code for the entities. In most cases when overriding, the default functions that produce mappings are not replaced but kept along with custom code. Example: [ , mkMyDecs]. groundhog-th6Default style. Adds "Field" to each record field name.Example: data SomeData a = Normal Int | Record { bar :: Maybe String, asc :: a} -- Generated code data NormalConstructor data RecordConstructor instance PersistEntity where data Field (SomeData a) where Normal0Field :: Field NormalConstructor Int BarField :: Field RecordConstructor (Maybe String) AscField :: Field RecordConstructor a ... groundhog-thCreates field names in Persistent fashion prepending constructor names to the fields.Example: data SomeData a = Normal Int | Record { bar :: Maybe String, asc :: a} -- Generated code data NormalConstructor data RecordConstructor instance PersistEntity where data Field (SomeData a) where Normal0 :: Field NormalConstructor Int RecordBar :: Field RecordConstructor (Maybe String) RecordAsc :: Field RecordConstructor a ... groundhog-thCreates the shortest field names. It is more likely to lead in name conflicts than other naming styles.Example: data SomeData a = Normal Int | Record { bar :: Maybe String, asc :: a} -- Generated code data NormalConstructor data RecordConstructor instance PersistEntity where data Field (SomeData a) where Normal0 :: Field NormalConstructor Int Bar :: Field RecordConstructor (Maybe String) Asc :: Field RecordConstructor a ... groundhog-thThe generated Haskell names of phantom types (constructors, fields, etc.) are the same as with suffixNamingStyle. But the table names and columns are converted from camelCase to underscore_lower_case with . groundhog-thCreates the auxiliary structures. Particularly, it creates GADT Field data instance for referring to the fields in expressions and phantom types for data constructors. The default names of auxiliary datatypes and names used in database are generated using the naming style and can be changed via configuration. The datatypes and their generation options are defined via YAML configuration parsed by quasiquoter . groundhog-thTransforms string from camelCase to lower_case_underscore naming convention. ColumnName -> column_name, parseURL -> parse_url, FieldIEEE754Floating -> field_ieee754_floating groundhog-thConverts quasiquoted settings into the datatype used by mkPersist. groundhog-th'Parses configuration stored in the file mkPersist defaultCodegenConfig [groundhogFile|../groundhog.yaml|]--      !"#$%%&'())*+,--./01234456789:;<<=>?@@ABCDEFGHIJJKLMNOPQQRSTUUVWXYZ[[\]^^_`abcdeffghijklmnopqrstuvwxyz{|}~(groundhog-th-0.12-7urM6vJS3dWBb2VuIXpWaADatabase.Groundhog.TH.SettingsDatabase.Groundhog.TH.CodeGenDatabase.Groundhog.TH'groundhog-0.12.0-IdZsDkCd5ns2hmE0tcurVkDatabase.Groundhog.GenericpsFieldConverterpsReferenceParentpsDefaultValue psEmbeddedDef psExprName psDbTypeName psDbFieldName psFieldName PSFieldDef PSAutoKeyDefpsAutoKeyConstrNamepsAutoKeyIsDefPSUniqueKeyDefpsUniqueKeyNamepsUniqueKeyPhantomNamepsUniqueKeyConstrNamepsUniqueKeyDbNamepsUniqueKeyFieldspsUniqueKeyMakeEmbeddedpsUniqueKeyIsDef PSUniqueDef psUniqueName psUniqueTypepsUniqueFieldsPSConstructorDef psConstrNamepsPhantomConstrNamepsDbConstrNamepsDbAutoKeyNamepsConstrFieldspsConstrUniquesPSPrimitiveDefpsPrimitiveNamepsPrimitiveDbNamepsPrimitiveConverter PSEmbeddedDefpsEmbeddedNamepsDbEmbeddedNamepsEmbeddedFields PSEntityDef psDataNamepsDbEntityNamepsEntitySchema psAutoKey psUniqueKeyspsConstructorsTHUniqueKeyDefthUniqueKeyNamethUniqueKeyPhantomNamethUniqueKeyConstrNamethUniqueKeyDbNamethUniqueKeyFieldsthUniqueKeyMakeEmbeddedthUniqueKeyIsDef THUniqueDef thUniqueName thUniqueTypethUniqueFields THFieldDef thFieldName thDbFieldName thDbTypeName thExprName thFieldType thEmbeddedDefthDefaultValuethReferenceParentthFieldConverterTHConstructorDef thConstrNamethPhantomConstrNamethDbConstrNamethDbAutoKeyNamethConstrFieldsthConstrUniquesTHPrimitiveDefthPrimitiveNamethPrimitiveDbNamethPrimitiveConverter THEmbeddedDefthEmbeddedNamethEmbeddedConstructorNamethDbEmbeddedNamethEmbeddedTypeParamsthEmbeddedFields THAutoKeyDefthAutoKeyConstrNamethAutoKeyIsDef THEntityDef thDataNamethDbEntityNamethEntitySchema thAutoKey thUniqueKeys thTypeParamsthConstructorsPersistDefinitions psEntities psEmbeddeds psPrimitives$fToJSONPSFieldDef$fToJSONReferenceActionType$fToJSONUniqueType$fFromJSONPSFieldDef$fFromJSONReferenceActionType$fFromJSONUniqueType$fFromJSONPSEmbeddedDef$fFromJSONPSPrimitiveDef$fToJSONPSUniqueDef$fFromJSONPSUniqueDef$fToJSONPSConstructorDef$fFromJSONPSConstructorDef$fToJSONPSUniqueKeyDef$fFromJSONPSUniqueKeyDef$fToJSONPSAutoKeyDef$fFromJSONPSAutoKeyDef$fToJSONPSEntityDef$fFromJSONPSEntityDef$fFromJSONPersistDefinitions$fShowPersistDefinitions!$fLiftLiftedRepPersistDefinitions$fEqPSEntityDef$fShowPSEntityDef$fLiftLiftedRepPSEntityDef$fEqPSAutoKeyDef$fShowPSAutoKeyDef$fLiftLiftedRepPSAutoKeyDef$fEqPSUniqueKeyDef$fShowPSUniqueKeyDef$fLiftLiftedRepPSUniqueKeyDef$fEqPSConstructorDef$fShowPSConstructorDef$fLiftLiftedRepPSConstructorDef$fEqPSUniqueDef$fShowPSUniqueDef$fLiftLiftedRepPSUniqueDef$fEqPSPrimitiveDef$fShowPSPrimitiveDef$fLiftLiftedRepPSPrimitiveDef$fEqPSEmbeddedDef$fShowPSEmbeddedDef$fLiftLiftedRepPSEmbeddedDef$fEqTHEntityDef$fShowTHEntityDef$fEqTHUniqueKeyDef$fShowTHUniqueKeyDef$fEqTHConstructorDef$fShowTHConstructorDef$fEqTHUniqueDef$fShowTHUniqueDef$fEqTHEmbeddedDef$fShowTHEmbeddedDef$fEqTHFieldDef$fShowTHFieldDef$fEqTHPrimitiveDef$fShowTHPrimitiveDef$fEqTHAutoKeyDef$fShowTHAutoKeyDef"$fLiftLiftedRepReferenceActionType$fLiftLiftedRepUniqueType$fLiftLiftedRepPSFieldDefmkEmbeddedPersistFieldInstance"mkEmbeddedPurePersistFieldInstancemkAutoKeyPersistFieldInstance&mkAutoKeyPrimitivePersistFieldInstancemkUniqueKeysIsUniqueInstancesmkUniqueKeysEmbeddedInstances!mkUniqueKeysPersistFieldInstances0mkUniqueKeysPrimitiveOrPurePersistFieldInstancesmkKeyEqShowInstancesmkEmbeddedInstancemkEntityPhantomConstructors#mkEntityPhantomConstructorInstancesmkEntityUniqueKeysPhantomsmkPersistEntityInstancemkEntityPersistFieldInstance"mkEntitySinglePersistFieldInstancemkEntityNeverNullInstancemkPrimitivePersistFieldInstance(mkPrimitivePrimitivePersistFieldInstancemkMigrateFunction NamingStylemkDbEntityNamemkEntityKeyName mkPhantomNamemkUniqueKeyPhantomNamemkUniqueKeyConstrNamemkUniqueKeyDbNamemkDbConstrNamemkDbConstrAutoKeyName mkDbFieldNamemkExprFieldNamemkExprSelectorNamemkNormalFieldNamemkNormalDbFieldNamemkNormalExprFieldNamemkNormalExprSelectorName CodegenConfig namingStylemigrationFunction mkEntityDecsmkEmbeddedDecsmkPrimitiveDecsdefaultCodegenConfigsuffixNamingStylepersistentNamingStyleconciseNamingStylelowerCaseSuffixNamingStyle mkPersistapplyEntitySettingsapplyEmbeddedSettingsapplyPrimitiveSettings mkTHEntityDefmkTHEmbeddedDefmkTHPrimitiveDefshowReadConverter enumConverter firstChar toUnderscore groundhog groundhogFiledefaultMkEntityDecsdefaultMkEmbeddedDecsdefaultMkPrimitiveDecs