h$N       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                                  None+ #$'(-/12356789>? postgresql-syntaxCompose a monad, which attempts to extend a value, based on the following input. It does that recursively until the suffix alternative fails.  None+ #$'(-/12356789>?' postgresql-syntaxAs per the following comment from the original scanner definition:/* * Likewise, if what we have left is two chars, and * those match the tokens ">=", " =","=", "<>" or * "!=", then we must return the appropriate token * rather than the generic Op. */   None+ #$'(-/12356789>?(None+ #$'(-/12356789>?)postgresql-syntax+intersperseFoldMap ", " id (fromList ["a"])"a"5intersperseFoldMap ", " id (fromList ["a", "b", "c"]) "a, b, c" None+ #$'(-/12356789>?+S postgresql-syntaxLifted megaparsec's .postgresql-syntaxLifted megaparsec's  .postgresql-syntaxLifted megaparsec's  .postgresql-syntaxLifted megaparsec's  .postgresql-syntaxLifted megaparsec's  `.postgresql-syntaxLifted megaparsec's  .postgresql-syntaxLifted megaparsec's  `.postgresql-syntaxLifted megaparsec's .postgresql-syntaxLifted megaparsec's .None+ #$'(-/12356789>?+None+ #$'(-/12356789>?,postgresql-syntax)test = oneOf [(==3), (==7), (==3), (==5)]test 1Falsetest 3Truetest 5TrueNone+ #$'(-/12356789>?6e apostgresql-syntaxTypename definition extended with custom question-marks for nullability specification.To match the standard Postgres syntax simply interpret their presence as a parsing error.postgresql-syntaxAexprConst: | Iconst | FCONST | Sconst | BCONST | XCONST | func_name Sconst | func_name '(' func_arg_list opt_sort_clause ')' Sconst | ConstTypename Sconst | ConstInterval Sconst opt_interval | ConstInterval '(' Iconst ')' Sconst | TRUE_P | FALSE_P | NULL_Ppostgresql-syntax&sort_clause: | ORDER BY sortby_list4sortby_list: | sortby | sortby_list ',' sortbypostgresql-syntax window_specification: | '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' opt_existing_window_name: | ColId | EMPTY opt_partition_clause: | PARTITION BY expr_list | EMPTY postgresql-syntax 6window_definition: | ColId AS window_specification postgresql-syntax window_clause: | WINDOW window_definition_list | EMPTY window_definition_list: | window_definition | window_definition_list ',' window_definition postgresql-syntax -having_clause: | HAVING a_expr | EMPTY postgresql-syntaxCovers these parts of spec: simple_select: | SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause | SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause distinct_clause: | DISTINCT | DISTINCT ON '(' expr_list ')' postgresql-syntax :select_clause: | simple_select | select_with_parens postgresql-syntaxCovers the following cases: select_no_parens: | simple_select | select_clause sort_clause | select_clause opt_sort_clause for_locking_clause opt_select_limit | select_clause opt_sort_clause select_limit opt_for_locking_clause | with_clause select_clause | with_clause select_clause sort_clause | with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit | with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause bpostgresql-syntaxSETOF postgresql-syntaxQuestion mark postgresql-syntax6Array dimensions possibly followed by a question mark  "! #-,+*)('&%$.10/2435BA@?>=<;:9876CEDFHGIJLKMONPQRSTUV\[ZYXW]^`_abcgfedhikjlmonpqrstuvwxy{z|}~}~|y{zxwvutrspqmonlikjhcgfedab^`_]V\[ZYXWTUSRQPMONJLKIFHGCED5BA@?>=<;:9876243.10/#-,+*)('&%$"!  None+ #$'(-/12356789>?>  None+ #$'(-/12356789>?AQ  None+ #$'(-/12356789>?K postgresql-syntax)testParser (quotedString '\'') "'abc''d'""abc'd" postgresql-syntaxtest = testParser selectStmttest "select id from as"... |1 | select id from as | ^Reserved keyword "as" used as an identifier. If that's what you intend, you have to wrap it in double quotes. postgresql-syntax'The one that doesn't start with "WITH". postgresql-syntaxtestParser targetEl "a.b as c"AliasedExprTargetEl (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "a") (Just (AttrNameIndirectionEl (UnquotedIdent "b") :| []))))) (UnquotedIdent "c") postgresql-syntax2testParser tableRef "a left join b on (a.i = b.i)".JoinTableRef (MethJoinedTable (QualJoinMeth... postgresql-syntaxNotice that the tree constructed by this parser does not reflect the precedence order of Postgres. For the purposes of this library it simply doesn't matter, so we're not bothering with that.Composite on the right: >>> testParser aExpr "a = b :: int4" SymbolicBinOpAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "a") Nothing))) (MathSymbolicExprBinOp EqualsMathOp) (TypecastAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "b") Nothing))) (Typename False (GenericTypeSimpleTypename (GenericType (UnquotedIdent "int4") Nothing Nothing)) False Nothing))Composite on the left: >>> testParser aExpr "a = b :: int4 and c" SymbolicBinOpAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "a") Nothing))) (MathSymbolicExprBinOp EqualsMathOp) (AndAExpr (TypecastAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "b") Nothing))) (Typename False (GenericTypeSimpleTypename (GenericType (UnquotedIdent "int4") Nothing Nothing)) False Nothing)) (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "c") Nothing)))) postgresql-syntax&testParser aexprConst "32948023849023"IAexprConst 32948023849023!testParser aexprConst "'abc''de'"SAexprConst "abc'de" testParser aexprConst "23.43234"FAexprConst 23.43234*testParser aexprConst "32423423.324324872" FAexprConst 3.2423423324324872e7testParser aexprConst "NULL"NullAexprConst postgresql-syntaxtestParser qualifiedName "a.b"IndirectedQualifiedName (UnquotedIdent "a") (AttrNameIndirectionEl (UnquotedIdent "b") :| [])testParser qualifiedName "a.-"...+expecting '*', column label, or white space postgresql-syntaxExpected keyword postgresql-syntaxConsume a keyphrase, ignoring case and types of spaces between words.   !"#$%&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghijklmnoppqrstuvwxyz{|}~~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ,postgresql-syntax-0.4-CiMYM6DYJitBaqBKGUHRZpPostgresqlSyntax.KeywordSetPostgresqlSyntax.AstPostgresqlSyntax.RenderingPostgresqlSyntax.ValidationPostgresqlSyntax.ParsingPostgresqlSyntax.Prelude#PostgresqlSyntax.Extras.TextBuilder PostgresqlSyntax.Extras.NonEmpty(PostgresqlSyntax.Extras.HeadedMegaparsec Megaparsecspacespace1charstringPostgresqlSyntax.CharSetPostgresqlSyntax.PredicatekeywordunreservedKeywordcolNameKeywordtypeFuncNameKeywordreservedKeyword symbolicBinOp lexicalBinOpcolIdtypeFunctionNamenonOpmathOp NullsOrderFirstNullsOrderLastNullsOrderAscDesc AscAscDesc DescAscDescClassCollate IndexElemDefIdIndexElemDefFuncIndexElemDefExprIndexElemDef IndexElem IndexParams SubqueryOp AllSubqueryOp AnySubqueryOpLikeSubqueryOpIlikeSubqueryOp BExprIsOpDistinctFromBExprIsOp OfBExprIsOpDocumentBExprIsOpAExprReversableOpNullAExprReversableOpTrueAExprReversableOpFalseAExprReversableOpUnknownAExprReversableOpDistinctFromAExprReversableOpOfAExprReversableOpBetweenAExprReversableOp!BetweenSymmetricAExprReversableOpInAExprReversableOpDocumentAExprReversableOpVerbalExprBinOpLikeVerbalExprBinOpIlikeVerbalExprBinOpSimilarToVerbalExprBinOpSymbolicExprBinOpMathSymbolicExprBinOpQualSymbolicExprBinOpMathOp PlusMathOp MinusMathOpAsteriskMathOp SlashMathOp PercentMathOp ArrowUpMathOpArrowLeftMathOpArrowRightMathOp EqualsMathOpLessEqualsMathOpGreaterEqualsMathOpArrowLeftArrowRightMathOpExclamationEqualsMathOpAllOpOpAllOp MathAllOp AnyOperatorAllOpAnyOperatorQualifiedAnyOperatorOp QualAllOp AllQualAllOp AnyQualAllOpQualOpOpQualOpOperatorQualOpTypeList TypeModifiersAttrNameAttrs GenericTypeSimpleTypenameGenericTypeSimpleTypenameNumericSimpleTypenameBitSimpleTypenameCharacterSimpleTypenameConstDatetimeSimpleTypenameConstIntervalSimpleTypename ArrayBoundsTypenameArrayDimensionsBoundsTypenameArrayDimensionsExplicitTypenameArrayDimensionsTypename IndirectionElAttrNameIndirectionElAllIndirectionElExprIndirectionElSliceIndirectionEl Indirection QualifiedNameSimpleQualifiedNameIndirectedQualifiedNameTypeFunctionNameFuncName TypeFuncNameIndirectedFuncNameAnyName Columnref CursorNameNameListNameColLabelColIdIdent QuotedIdent UnquotedIdentIntervalSecondInterval YearInterval MonthInterval DayInterval HourIntervalMinuteIntervalSecondIntervalYearToMonthIntervalDayToHourIntervalDayToMinuteIntervalDayToSecondIntervalHourToMinuteIntervalHourToSecondIntervalMinuteToSecondIntervalTimezone ConstDatetimeTimestampConstDatetimeTimeConstDatetime CharacterCharacterCharacter CharCharacterVarcharCharacterNationalCharacterCharacterNationalCharCharacterNcharCharacterConstCharacter OptVaryingConstBitBitNumeric IntNumericIntegerNumericSmallintNumeric BigintNumeric RealNumeric FloatNumericDoublePrecisionNumericDecimalNumeric DecNumericNumericNumericBooleanNumeric ConstTypenameNumericConstTypenameConstBitConstTypenameConstCharacterConstTypenameConstDatetimeConstTypename FuncConstArgs AexprConst IAexprConst FAexprConst SAexprConst BAexprConst XAexprConstFuncAexprConstConstTypenameAexprConstStringIntervalAexprConstIntIntervalAexprConstBoolAexprConstNullAexprConstXconstBconstFconstIconstSconst FuncArgExprExprFuncArgExprColonEqualsFuncArgExprEqualsGreaterFuncArgExprFuncApplicationParamsNormalFuncApplicationParamsVariadicFuncApplicationParamsStarFuncApplicationParamsFuncApplication WhenClause CaseDefaultWhenClauseListCaseArgCaseExprTrimListExprFromExprListTrimListFromExprListTrimListExprListTrimList TrimModifierBothTrimModifierLeadingTrimModifierTrailingTrimModifier SubstrFor SubstrFromSubstrListFromForFromForSubstrListFromForForFromSubstrListFromForFromSubstrListFromForForSubstrListFromFor SubstrListExprSubstrListExprListSubstrList PositionListOverlayPlacing OverlayList ExtractArgIdentExtractArgYearExtractArgMonthExtractArg DayExtractArgHourExtractArgMinuteExtractArgSecondExtractArgSconstExtractArg ExtractListFuncExprCommonSubexpr!CollationForFuncExprCommonSubexpr CurrentDateFuncExprCommonSubexpr CurrentTimeFuncExprCommonSubexpr%CurrentTimestampFuncExprCommonSubexprLocalTimeFuncExprCommonSubexpr#LocalTimestampFuncExprCommonSubexpr CurrentRoleFuncExprCommonSubexpr CurrentUserFuncExprCommonSubexpr SessionUserFuncExprCommonSubexprUserFuncExprCommonSubexpr#CurrentCatalogFuncExprCommonSubexpr"CurrentSchemaFuncExprCommonSubexprCastFuncExprCommonSubexprExtractFuncExprCommonSubexprOverlayFuncExprCommonSubexprPositionFuncExprCommonSubexprSubstringFuncExprCommonSubexprTreatFuncExprCommonSubexprTrimFuncExprCommonSubexprNullIfFuncExprCommonSubexprCoalesceFuncExprCommonSubexprGreatestFuncExprCommonSubexprLeastFuncExprCommonSubexpr OverClauseWindowOverClauseColIdOverClause FilterClauseWithinGroupClauseFuncExprWindowlessApplicationFuncExprWindowlessCommonSubexprFuncExprWindowlessFuncExprApplicationFuncExprSubexprFuncExpr ImplicitRow ExplicitRowRowExplicitRowRowImplicitRowRow ArrayExprList ArrayExprExprListArrayExprArrayExprListArrayExprEmptyArrayExprSubType AnySubType SomeSubType AllSubTypeInExpr SelectInExprExprListInExprCExprColumnrefCExprAexprConstCExpr ParamCExpr InParensCExpr CaseCExpr FuncCExprSelectWithParensCExpr ExistsCExpr ArrayCExprExplicitRowCExprImplicitRowCExpr GroupingCExprBExpr CExprBExpr TypecastBExpr PlusBExpr MinusBExprSymbolicBinOpBExpr QualOpBExpr IsOpBExprAExpr CExprAExpr TypecastAExpr CollateAExprAtTimeZoneAExpr PlusAExpr MinusAExprSymbolicBinOpAExprPrefixQualOpAExprSuffixQualOpAExprAndAExprOrAExprNotAExprVerbalExprBinOpAExprReversableOpAExpr IsnullAExpr NotnullAExpr OverlapsAExpr SubqueryAExpr UniqueAExpr DefaultAExprExprListWhereOrCurrentClauseExprWhereOrCurrentClauseCursorWhereOrCurrentClause WhereClauseJoinQual UsingJoinQual OnJoinQualJoinType FullJoinType LeftJoinType RightJoinType InnerJoinTypeJoinMeth CrossJoinMeth QualJoinMethNaturalJoinMeth JoinedTableInParensJoinedTableMethJoinedTableFuncAliasClauseAliasFuncAliasClauseAsFuncAliasClauseAsColIdFuncAliasClauseColIdFuncAliasClause AliasClause CollateClauseTableFuncElementTableFuncElementList OptOrdinality ColDefList RowsfromList RowsfromItem FuncTableFuncExprFuncTableRowsFromFuncTableRepeatableClauseTablesampleClauseRelationExprOptAlias RelationExprSimpleRelationExprOnlyRelationExprTableRefRelationExprTableRef FuncTableRefSelectTableRef JoinTableRefFromListForLockingStrengthUpdateForLockingStrengthNoKeyUpdateForLockingStrengthShareForLockingStrengthKeyForLockingStrengthForLockingItemForLockingClauseItemsForLockingClauseReadOnlyForLockingClause OffsetClauseExprOffsetClauseFetchFirstOffsetClauseSelectLimitValueExprSelectLimitValueAllSelectLimitValueSelectFetchFirstValueExprSelectFetchFirstValueNumSelectFetchFirstValue LimitClauseLimitLimitClauseFetchOnlyLimitClause SelectLimitLimitOffsetSelectLimitOffsetLimitSelectLimitLimitSelectLimitOffsetSelectLimitSortBy UsingSortBy AscDescSortBy SortClause ValuesClauseWindowExclusionClauseCurrentRowWindowExclusionClauseGroupWindowExclusionClauseTiesWindowExclusionClauseNoOthersWindowExclusionClause FrameBoundUnboundedPrecedingFrameBoundUnboundedFollowingFrameBoundCurrentRowFrameBoundPrecedingFrameBoundFollowingFrameBound FrameExtentSingularFrameExtentBetweenFrameExtentFrameClauseModeRangeFrameClauseModeRowsFrameClauseModeGroupsFrameClauseMode FrameClausePartitionClauseExistingWindowNameWindowSpecificationWindowDefinition WindowClause HavingClause GroupByItemExprGroupByItemEmptyGroupingSetGroupByItemRollupGroupByItemCubeGroupByItemGroupingSetsGroupByItem GroupClause FromClauseOptTempTableNameTemporaryOptTempTableNameTempOptTempTableNameLocalTemporaryOptTempTableNameLocalTempOptTempTableNameGlobalTemporaryOptTempTableNameGlobalTempOptTempTableNameUnloggedOptTempTableNameTableOptTempTableNameQualifedOptTempTableName IntoClauseCommonTableExpr WithClause SelectBinOpUnionSelectBinOpIntersectSelectBinOpExceptSelectBinOpTargetElAliasedExprTargetElImplicitlyAliasedExprTargetEl ExprTargetElAsteriskTargetEl TargetList TargetingNormalTargeting AllTargetingDistinctTargeting SimpleSelectNormalSimpleSelectValuesSimpleSelectTableSimpleSelectBinSimpleSelect SelectClauseSelectNoParensSelectWithParensNoParensSelectWithParensWithParensSelectWithParens SelectStmt UsingClause DeleteStmt SetTargetList SetTarget SetClauseTargetSetClauseTargetListSetClause SetClauseList UpdateStmtReturningClauseConfExpr WhereConfExprConstraintConfExpr OnConflictDoUpdateOnConflictDoNothingOnConflictDo OnConflictInsertColumnItemInsertColumnList OverrideKindUserOverrideKindSystemOverrideKind InsertRestSelectInsertRestDefaultValuesInsertRest InsertTarget InsertStmtPreparableStmtSelectPreparableStmtInsertPreparableStmtUpdatePreparableStmtDeletePreparableStmt $fShowSortBy$fGenericSortBy $fEqSortBy $fOrdSortBy $fShowAExpr$fGenericAExpr $fEqAExpr $fOrdAExpr$fShowAExprReversableOp$fGenericAExprReversableOp$fEqAExprReversableOp$fOrdAExprReversableOp$fShowTypename$fGenericTypename $fEqTypename $fOrdTypename$fShowSimpleTypename$fGenericSimpleTypename$fEqSimpleTypename$fOrdSimpleTypename$fShowGenericType$fGenericGenericType$fEqGenericType$fOrdGenericType $fShowBit $fGenericBit$fEqBit$fOrdBit $fShowNumeric$fGenericNumeric $fEqNumeric $fOrdNumeric $fShowInExpr$fGenericInExpr $fEqInExpr $fOrdInExpr$fShowSelectWithParens$fGenericSelectWithParens$fEqSelectWithParens$fOrdSelectWithParens$fShowSelectNoParens$fGenericSelectNoParens$fEqSelectNoParens$fOrdSelectNoParens$fShowForLockingClause$fGenericForLockingClause$fEqForLockingClause$fOrdForLockingClause$fShowForLockingItem$fGenericForLockingItem$fEqForLockingItem$fOrdForLockingItem$fShowQualifiedName$fGenericQualifiedName$fEqQualifiedName$fOrdQualifiedName$fShowIndirectionEl$fGenericIndirectionEl$fEqIndirectionEl$fOrdIndirectionEl$fShowSelectLimit$fGenericSelectLimit$fEqSelectLimit$fOrdSelectLimit$fShowOffsetClause$fGenericOffsetClause$fEqOffsetClause$fOrdOffsetClause$fShowSelectFetchFirstValue$fGenericSelectFetchFirstValue$fEqSelectFetchFirstValue$fOrdSelectFetchFirstValue $fShowCExpr$fGenericCExpr $fEqCExpr $fOrdCExpr$fShowColumnref$fGenericColumnref $fEqColumnref$fOrdColumnref$fShowAexprConst$fGenericAexprConst$fEqAexprConst$fOrdAexprConst$fShowFuncName$fGenericFuncName $fEqFuncName $fOrdFuncName$fShowConstTypename$fGenericConstTypename$fEqConstTypename$fOrdConstTypename$fShowFuncConstArgs$fGenericFuncConstArgs$fEqFuncConstArgs$fOrdFuncConstArgs$fShowFuncArgExpr$fGenericFuncArgExpr$fEqFuncArgExpr$fOrdFuncArgExpr$fShowCaseExpr$fGenericCaseExpr $fEqCaseExpr $fOrdCaseExpr$fShowWhenClause$fGenericWhenClause$fEqWhenClause$fOrdWhenClause$fShowFuncExpr$fGenericFuncExpr $fEqFuncExpr $fOrdFuncExpr$fShowFuncApplication$fGenericFuncApplication$fEqFuncApplication$fOrdFuncApplication$fShowFuncApplicationParams$fGenericFuncApplicationParams$fEqFuncApplicationParams$fOrdFuncApplicationParams$fShowFuncExprCommonSubexpr$fGenericFuncExprCommonSubexpr$fEqFuncExprCommonSubexpr$fOrdFuncExprCommonSubexpr$fShowTrimList$fGenericTrimList $fEqTrimList $fOrdTrimList$fShowSubstrList$fGenericSubstrList$fEqSubstrList$fOrdSubstrList$fShowSubstrListFromFor$fGenericSubstrListFromFor$fEqSubstrListFromFor$fOrdSubstrListFromFor$fShowPositionList$fGenericPositionList$fEqPositionList$fOrdPositionList $fShowBExpr$fGenericBExpr $fEqBExpr $fOrdBExpr$fShowBExprIsOp$fGenericBExprIsOp $fEqBExprIsOp$fOrdBExprIsOp$fShowOverlayList$fGenericOverlayList$fEqOverlayList$fOrdOverlayList$fShowExtractList$fGenericExtractList$fEqExtractList$fOrdExtractList$fShowOverClause$fGenericOverClause$fEqOverClause$fOrdOverClause$fShowWindowSpecification$fGenericWindowSpecification$fEqWindowSpecification$fOrdWindowSpecification$fShowFrameClause$fGenericFrameClause$fEqFrameClause$fOrdFrameClause$fShowFrameExtent$fGenericFrameExtent$fEqFrameExtent$fOrdFrameExtent$fShowFrameBound$fGenericFrameBound$fEqFrameBound$fOrdFrameBound$fShowImplicitRow$fGenericImplicitRow$fEqImplicitRow$fOrdImplicitRow$fShowArrayExpr$fGenericArrayExpr $fEqArrayExpr$fOrdArrayExpr$fShowLimitClause$fGenericLimitClause$fEqLimitClause$fOrdLimitClause$fShowSelectLimitValue$fGenericSelectLimitValue$fEqSelectLimitValue$fOrdSelectLimitValue$fShowWithClause$fGenericWithClause$fEqWithClause$fOrdWithClause$fShowCommonTableExpr$fGenericCommonTableExpr$fEqCommonTableExpr$fOrdCommonTableExpr$fShowPreparableStmt$fGenericPreparableStmt$fEqPreparableStmt$fOrdPreparableStmt$fShowDeleteStmt$fGenericDeleteStmt$fEqDeleteStmt$fOrdDeleteStmt$fShowWhereOrCurrentClause$fGenericWhereOrCurrentClause$fEqWhereOrCurrentClause$fOrdWhereOrCurrentClause$fShowRelationExprOptAlias$fGenericRelationExprOptAlias$fEqRelationExprOptAlias$fOrdRelationExprOptAlias$fShowRelationExpr$fGenericRelationExpr$fEqRelationExpr$fOrdRelationExpr$fShowTableRef$fGenericTableRef $fEqTableRef $fOrdTableRef$fShowJoinedTable$fGenericJoinedTable$fEqJoinedTable$fOrdJoinedTable$fShowJoinMeth$fGenericJoinMeth $fEqJoinMeth $fOrdJoinMeth$fShowJoinQual$fGenericJoinQual $fEqJoinQual $fOrdJoinQual$fShowFuncAliasClause$fGenericFuncAliasClause$fEqFuncAliasClause$fOrdFuncAliasClause$fShowTableFuncElement$fGenericTableFuncElement$fEqTableFuncElement$fOrdTableFuncElement$fShowFuncTable$fGenericFuncTable $fEqFuncTable$fOrdFuncTable$fShowFuncExprWindowless$fGenericFuncExprWindowless$fEqFuncExprWindowless$fOrdFuncExprWindowless$fShowRowsfromItem$fGenericRowsfromItem$fEqRowsfromItem$fOrdRowsfromItem$fShowTablesampleClause$fGenericTablesampleClause$fEqTablesampleClause$fOrdTablesampleClause$fShowTargetEl$fGenericTargetEl $fEqTargetEl $fOrdTargetEl$fShowUpdateStmt$fGenericUpdateStmt$fEqUpdateStmt$fOrdUpdateStmt$fShowSetClause$fGenericSetClause $fEqSetClause$fOrdSetClause$fShowSetTarget$fGenericSetTarget $fEqSetTarget$fOrdSetTarget$fShowInsertStmt$fGenericInsertStmt$fEqInsertStmt$fOrdInsertStmt$fShowOnConflict$fGenericOnConflict$fEqOnConflict$fOrdOnConflict$fShowConfExpr$fGenericConfExpr $fEqConfExpr $fOrdConfExpr$fShowIndexElem$fGenericIndexElem $fEqIndexElem$fOrdIndexElem$fShowIndexElemDef$fGenericIndexElemDef$fEqIndexElemDef$fOrdIndexElemDef$fShowOnConflictDo$fGenericOnConflictDo$fEqOnConflictDo$fOrdOnConflictDo$fShowInsertRest$fGenericInsertRest$fEqInsertRest$fOrdInsertRest$fShowInsertColumnItem$fGenericInsertColumnItem$fEqInsertColumnItem$fOrdInsertColumnItem$fShowInsertTarget$fGenericInsertTarget$fEqInsertTarget$fOrdInsertTarget$fShowSimpleSelect$fGenericSimpleSelect$fEqSimpleSelect$fOrdSimpleSelect$fShowWindowDefinition$fGenericWindowDefinition$fEqWindowDefinition$fOrdWindowDefinition$fShowGroupByItem$fGenericGroupByItem$fEqGroupByItem$fOrdGroupByItem$fShowOptTempTableName$fGenericOptTempTableName$fEqOptTempTableName$fOrdOptTempTableName$fShowTargeting$fGenericTargeting $fEqTargeting$fOrdTargeting $fShowRow $fGenericRow$fEqRow$fOrdRow$fShowNullsOrder$fGenericNullsOrder$fEqNullsOrder$fOrdNullsOrder$fEnumNullsOrder$fBoundedNullsOrder $fShowAscDesc$fGenericAscDesc $fEqAscDesc $fOrdAscDesc $fEnumAscDesc$fBoundedAscDesc$fShowSubqueryOp$fGenericSubqueryOp$fEqSubqueryOp$fOrdSubqueryOp$fShowVerbalExprBinOp$fGenericVerbalExprBinOp$fEqVerbalExprBinOp$fOrdVerbalExprBinOp$fEnumVerbalExprBinOp$fBoundedVerbalExprBinOp$fShowSymbolicExprBinOp$fGenericSymbolicExprBinOp$fEqSymbolicExprBinOp$fOrdSymbolicExprBinOp$fShowQualAllOp$fGenericQualAllOp $fEqQualAllOp$fOrdQualAllOp $fShowQualOp$fGenericQualOp $fEqQualOp $fOrdQualOp$fShowAnyOperator$fGenericAnyOperator$fEqAnyOperator$fOrdAnyOperator $fShowAllOp$fGenericAllOp $fEqAllOp $fOrdAllOp $fShowMathOp$fGenericMathOp $fEqMathOp $fOrdMathOp $fEnumMathOp$fBoundedMathOp $fShowAnyName$fGenericAnyName $fEqAnyName $fOrdAnyName$fShowTypenameArrayDimensions $fGenericTypenameArrayDimensions$fEqTypenameArrayDimensions$fOrdTypenameArrayDimensions$fShowAliasClause$fGenericAliasClause$fEqAliasClause$fOrdAliasClause$fShowExtractArg$fGenericExtractArg$fEqExtractArg$fOrdExtractArg $fShowIdent$fGenericIdent $fEqIdent $fOrdIdent$fShowInterval$fGenericInterval $fEqInterval $fOrdInterval$fShowConstDatetime$fGenericConstDatetime$fEqConstDatetime$fOrdConstDatetime$fShowConstCharacter$fGenericConstCharacter$fEqConstCharacter$fOrdConstCharacter$fShowCharacter$fGenericCharacter $fEqCharacter$fOrdCharacter$fShowTrimModifier$fGenericTrimModifier$fEqTrimModifier$fOrdTrimModifier$fEnumTrimModifier$fBoundedTrimModifier $fShowSubType$fGenericSubType $fEqSubType $fOrdSubType $fEnumSubType$fBoundedSubType$fShowJoinType$fGenericJoinType $fEqJoinType $fOrdJoinType$fShowForLockingStrength$fGenericForLockingStrength$fEqForLockingStrength$fOrdForLockingStrength$fShowWindowExclusionClause$fGenericWindowExclusionClause$fEqWindowExclusionClause$fOrdWindowExclusionClause$fShowFrameClauseMode$fGenericFrameClauseMode$fEqFrameClauseMode$fOrdFrameClauseMode$fShowSelectBinOp$fGenericSelectBinOp$fEqSelectBinOp$fOrdSelectBinOp$fShowOverrideKind$fGenericOverrideKind$fEqOverrideKind$fOrdOverrideKind$fEnumOverrideKind$fBoundedOverrideKind toByteStringtoText commaNonEmpty spaceNonEmptylexemes optLexemesinParens inBrackets prefixMaybe suffixMaybepreparableStmt insertStmt insertTarget insertRestinsertRestOverriding overrideKindinsertColumnListinsertColumnItem onConflict onConflictDoconfExprreturningClause updateStmt setClauseList setClause setTarget setTargetList deleteStmt usingClause selectStmtselectNoParensselectWithParens withClausecommonTableExprmaterialization selectLimit limitClause firstOrNext rowOrRowsselectFetchFirstValue intOrFloatselectLimitValue offsetClauseforLockingClauseforLockingItemforLockingStrengthlockedRelsList nowaitOrSkip selectClause simpleSelect selectBinOp targeting targetListonExpressionsClausetargetEl intoClauseoptTempTableName fromClausefromListtableRef relationExprrelationExprOptAliasoptAliastablesampleClauserepeatableClause funcTable rowsfromItem rowsfromList colDefListtableFuncElementListtableFuncElement collateClause aliasClausefuncAliasClause joinedTablejoinTypejoinQual whereClausewhereOrCurrentClause groupClause groupByItem havingClause windowClausewindowDefinitionwindowSpecificationpartitionClause frameClauseframeClauseMode frameExtent frameBoundwindowExclusionCause sortClausesortBy valuesClauseexprListaExprbExprcExpraExprReversableOpverbalExprBinOp subqueryOp bExprIsOpsymbolicExprBinOpqualOp qualAllOpop anyOperatorallOpinExprcaseExpr whenClause caseDefault arrayExpr arrayExprListrow explicitRow implicitRowfuncApplicationfuncApplicationParams allOrDistinct funcArgExprfuncExprfuncExprWindownlesswithinGroupClause filterClause overClausefuncExprCommonSubexpr extractList extractArg overlayListoverlayPlacing positionList substrListsubstrListFromFor substrFrom substrFor trimModifiertrimList aexprConsticonstfconstsconstfuncAexprConstArgList constTypenamenumericbitconstBitconstCharacter character constDatetimetimezoneintervalintervalSecond columnrefident qualifiedName indirection indirectionElname cursorNamecolLabelattrNamefuncNameanyNametypename'typenameArrayDimensionsWithQuestionMarktypenameArrayDimensions arrayBoundssimpleTypename genericTypeattrs typeModifierstypeListsubType indexParams indexElem indexElemDefcollateclass_ascDesc nullsOrderParserruncommaSeparator dotSeparatorinBracketsCont inParensContinParensWithLabelinParensWithClause trueIfPresent quotedStringatEndsharedSelectNoParenssimpleSelectNoParenswithSelectNoParensbaseSimpleSelectextensionSimpleSelect materializedpartitionByClausewindowExclusionClausenonTrailingTableReftrailingTableRef optOrdinalityinParensJoinedTabletrailingJoinedTableexprListInParens filteredAExprcustomizedAExprcustomizedBExprcustomizedCExprsymbolicBinOpExpr typecastExpr plusedExpr minusedExpr qualOpExpr arrayExprCont elseClausefuncExprWindowlessnormalFuncApplicationParams#singleVariadicFuncApplicationParams!listVariadicFuncApplicationParamsstarFuncApplicationParamslexicalExprBinOpiconstOrFconstoffsetClauseParams plusOrMinus quotedName filteredColIdfilteredColumnrefcustomizedColumnreffilteredAnyNamecustomizedAnyNamenameListkeywordNameFromSetkeywordNameByPredicate anyKeyword keyphrase suffixRecbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertError Debug.TracetraceinlinemapGHC.Exts groupWith$coerceGHC.Real fromIntegral realToFrac Control.MonadguardIsListItem Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumpredsucctoEnumfromEnum enumFromToenumFromThenToenumFrom enumFromThen GHC.ClassesEq==/= GHC.FloatFloatinglog1mexplog1pexpexpm1log1patanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogpiexp Fractionalrecip fromRational/IntegraldivModquotRemmoddivrem toIntegerquotMonadreturn>>=>> Data.DataDatagmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgfoldlgunfoldFunctorfmap<$GHC.NumNumsignumabs fromIntegernegate-+*Ord<<=>maxmin>=compareGHC.ReadRead readListPrecreadPrec readsPrecreadListReal toRational RealFloatatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatRadix floatDigitsRealFracfloorceilingroundproperFractiontruncateGHC.ShowShowshowListshow showsPrecGHC.IxIxindexrange rangeSizeinRangeData.Typeable.InternalTypeableControl.Monad.FixMonadFixmfixControl.Monad.Fail MonadFailfail Data.StringIsString fromString Applicative<*liftA2*>pure<*> Data.FoldableFoldablefoldr'foldMap'foldelemminimummaximumfoldr1productsumfoldl1foldl'nullfoldMaplengthfoldrfoldltoListData.Traversable Traversablesequence sequenceAtraversemapM GHC.GenericsGenericGeneric1 Semigroupstimes<>sconcatMonoidmconcatmemptymappend GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64integer-wired-inGHC.Integer.TypeInteger GHC.MaybeMaybeNothingJustOrderingGTLTEQRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRight CoercibleTyConGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STST Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.VoidvacuousabsurdVoidData.Semigroupoption mtimesDefaultdiffcycle1MingetMinMaxgetMaxArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoidOption getOptionsortWith tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrDataTypeConstrDataRepNoRepCharRepAlgRepIntRepFloatRep ConstrRep CharConstr FloatConstr AlgConstr IntConstrConIndexFixityPrefixInfixSystem.TimeouttimeoutTimeoutControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNData.Bifunctor BifunctorsecondfirstbimapControl.Monad.IO.ClassMonadIOliftIO Data.RatioapproxRational Data.STRef modifySTRef' modifySTRef Data.Unique hashUnique newUniqueUniqueGHC.StableName eqStableNamehashStableNamemakeStableName StableNameSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath System.Exitdie exitSuccess exitFailureexitWith System.Mem performGCperformMajorGCperformMinorGC Text.PrintfhPrintfprintfmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM Data.Version makeVersion parseVersion showVersionVersion versionBranch versionTags traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceId putTraceMsgtraceIOfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrow&&&arr***Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoicerightleft|||+++ ArrowApplyapp ArrowMonad ArrowLooploopData.Functor.IdentityIdentity runIdentity(openBinaryTempFileWithDefaultPermissions"openTempFileWithDefaultPermissionsopenBinaryTempFile openTempFilefixIOwithBinaryFilewithFilehPrinthReadylocaleEncodingreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehShowhSetNewlineModehSetBinaryModehIsTerminalDevicehGetEchohSetEcho hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhTellhSeekhSetPosnhGetPosn hGetEncoding hSetEncoding hSetBuffering hLookAheadisEOFhIsEOF hSetFileSize hFileSizehClose HandlePosnGHC.IO.Handle.FDopenBinaryFileopenFilestderrstdinGHC.IO.Handle.TexthGetBufNonBlocking hGetBufSomehGetBufhPutBufNonBlockinghPutBuf hPutStrLnhPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInput GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarGHC.IO.EncodingmkTextEncodingchar8utf32beutf32leutf32utf16beutf16leutf16utf8_bomutf8latin1System.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerControl.Monad.ST.ImpfixSTSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisResourceVanishedErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorTyperesourceVanishedErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorTypeisResourceVanishedError isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVarcatchSTMthrowSTMretry atomically unsafeIOToSTMnewStablePtrPrimMVarmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterreportHeapOverflowThreadId BlockReasonBlockedOnOtherBlockedOnForeignCall BlockedOnSTMBlockedOnException BlockedOnMVarBlockedOnBlackHole ThreadStatus ThreadDied ThreadBlocked ThreadRunningThreadFinishedPrimMVarSTMTVar dynTypeRepdynAppdynApply fromDynamicfromDynDynamicuntangleioError ioException heapOverflow stackOverflowasyncExceptionFromExceptionasyncExceptionToExceptioncannotCompactMutablecannotCompactPinnedcannotCompactFunctionallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncExceptionAsyncException UserInterrupt ThreadKilled StackOverflow HeapOverflowArrayExceptionIndexOutOfBoundsUndefinedElementFixIOExceptionExitCode ExitSuccess ExitFailure IOErrorType InterruptedResourceVanished TimeExpiredUnsupportedOperation HardwareFaultInappropriateTypeInvalidArgument OtherError ProtocolError SystemErrorUnsatisfiedConstraints UserErrorPermissionDeniedIllegalOperationResourceExhausted ResourceBusy NoSuchThingEOF AlreadyExistshFlushstdoutnoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline BufferModeBlockBuffering NoBuffering LineBufferingNewlineLFCRLF NewlineModeinputNLoutputNL GHC.IO.DeviceSeekMode SeekFromEnd AbsoluteSeek RelativeSeek Data.IORefatomicWriteIORefatomicModifyIORef modifyIORef' modifyIORef mkWeakIORefGHC.IO.Encoding.Types TextEncodingForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrplusForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr GHC.IORefatomicModifyIORef' writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOcatchstToIOFilePath MaskingStateMaskedUninterruptibleUnmaskedMaskedInterruptible userErrorunsupportedOperation IOExceptionIOError ioe_filename ioe_errnoioe_description ioe_location ioe_handleioe_type GHC.Exceptionthrow ErrorCallErrorCallWithLocationGHC.Exception.Type ExceptiondisplayException toException fromExceptionArithExceptionRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflow Data.TypeabletypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1 rnfTypeReptypeRepFingerprint typeRepTyCon typeRepArgs splitTyConAppmkFunTy funResultTygcast2gcast1gcasteqTcast showsTypeReptypeReptypeOfTypeReprnfTyContyConFingerprint tyConName tyConModule tyConPackageData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidApgetApData.Semigroup.Internal stimesMonoidstimesIdempotentDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAlt Unsafe.Coerce unsafeCoerce Data.OldListunwordswordsunlineslinesunfoldrsort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisNumberisMarkisLetter digitToInt Text.Readread readMaybe readEitherreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDowngetDown Data.Proxy asProxyTypeOfProxyKProxyControl.Category>>><<<Categoryid.Data.Type.Equality:~:Refl:~~:HRefl Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtr GHC.IO.IOModeIOMode ReadWriteMode AppendModeReadMode WriteModeForeign.StorableStorablepokepeek pokeByteOff peekByteOff peekElemOff pokeElemOffcastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtrshowOctshowHex showIntAtBase showHFloat showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt lexDigits readLitChar lexLitCharlex readParenText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadPfromRat floatToDigits showFloat bitReverse64 bitReverse32 bitReverse16 bitReverse8 byteSwap64 byteSwap32 byteSwap16 GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlphaisSymbol isPunctuation isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategory NotAssigned PrivateUse SurrogateParagraphSeparator LineSeparatorSpace OtherSymbolModifierSymbolCurrencySymbol MathSymbolOtherPunctuation FinalQuote InitialQuoteClosePunctuationOpenPunctuationDashPunctuationConnectorPunctuation OtherNumber LetterNumber DecimalNumber EnclosingMarkSpacingCombiningMarkNonSpacingMark OtherLetterModifierLetterTitlecaseLetterLowercaseLetterUppercaseLetterFormatControl Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitspopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitzeroBitsrotateshift complementxor.&..|. FiniteBitscountTrailingZeros finiteBitSizecountLeadingZeroslcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunST intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiterate'iteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybe Data.Boolbool Data.Function&onfix Data.Functorvoid$><&><$>swapuncurrycurry GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsubtractasTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**> Alternativemanysomeempty<|> MonadPlusmzeromplusNonEmpty:|StringGHC.Err undefinederrorWithoutStackTraceerrorstimesIdempotentMonoid SomeException&&||notbytestring-0.10.10.0Data.ByteString.Internal ByteString text-1.2.3.2Data.Text.InternalText/case-insensitive-1.2.1.0-4xEBl8iMGMs8QKiskWVBH4Data.CaseInsensitive.InternalCIFoldCase'hashable-1.3.2.0-2PumsNVCSKx8UR2JlEXlunData.Hashable.ClassHashable4unordered-containers-0.2.14.0-7xegloYXKrQFs2wz1wk2kBData.HashMap.InternalHashMapData.HashSet.InternalHashSet showAsTextchar7intDecint64Dec doubleDecintersperseFoldMapunsnoc consAndUnsnoceof'megaparsec-9.0.1-ECQjpo8z3IkKnVkAOHTRDYText.Megaparsec.Classchar'string' takeWhileP takeWhile1Psatisfydecimalfloatsep1sepEnd1 notFollowedByhexDigitprohibitionLiftingOponeOfinSetfirstIdentifierCharnotFirstIdentifierCharsymbolicBinOpCharopCharprohibitedOpCharprohibitionLiftingOpChar