tilia 0.0.2.0 → 0.1.0.0
raw patch · 427 files changed
+37274/−12613 lines, 427 filesdep +deepseqdep +timedep −Diffdep ~processPVP ok
version bump matches the API change (PVP)
Dependencies added: deepseq, time
Dependencies removed: Diff
Dependency ranges changed: process
API changes (from Hackage documentation)
This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.
Files
- CHANGELOG.md +234/−0
- README.md +52/−51
- app/Main.hs +138/−38
- bench/Main.hs +521/−0
- bench/Tilia/Bench/Cases.hs +247/−0
- bench/Tilia/Bench/Fixity.hs +211/−0
- bench/Tilia/Bench/Measure.hs +124/−0
- bench/Tilia/Bench/Record.hs +120/−0
- bench/bench.record +121/−0
- bench/cbits/counter.c +46/−0
- corpora/hackage/hackage.manifest +5226/−5188
- corpora/hackage/hackage.report +52/−410
- corpora/vendored/declaration/class/comment-above-a-member-out.hs +24/−0
- corpora/vendored/declaration/class/comment-above-a-member.hs +23/−0
- corpora/vendored/declaration/class/comment-under-the-last-member-out.hs +24/−0
- corpora/vendored/declaration/class/comment-under-the-last-member.hs +20/−0
- corpora/vendored/declaration/data/comment-between-a-haddock-and-its-constructor-out.hs +21/−0
- corpora/vendored/declaration/data/comment-between-a-haddock-and-its-constructor.hs +21/−0
- corpora/vendored/declaration/data/comment-between-constructors-out.hs +28/−0
- corpora/vendored/declaration/data/comment-between-constructors.hs +33/−0
- corpora/vendored/declaration/data/comment-in-empty-deriving-brackets-out.hs +15/−0
- corpora/vendored/declaration/data/comment-in-empty-deriving-brackets.hs +13/−0
- corpora/vendored/declaration/data/comment-in-record-braces-out.hs +1/−2
- corpora/vendored/declaration/type/comment-between-a-haddock-and-its-argument-out.hs +19/−0
- corpora/vendored/declaration/type/comment-between-a-haddock-and-its-argument.hs +19/−0
- corpora/vendored/declaration/type/comment-in-operator-chain-out.hs +8/−0
- corpora/vendored/declaration/type/comment-in-operator-chain.hs +7/−0
- corpora/vendored/declaration/value/comment-after-a-guard-bar-out.hs +8/−0
- corpora/vendored/declaration/value/comment-after-a-guard-bar.hs +8/−0
- corpora/vendored/declaration/value/comment-carried-on-out.hs +12/−1
- corpora/vendored/declaration/value/comment-carried-on.hs +11/−0
- corpora/vendored/declaration/value/comment-in-operator-chain-out.hs +33/−0
- corpora/vendored/declaration/value/comment-in-operator-chain.hs +26/−0
- corpora/vendored/declaration/value/comment-under-the-last-guard-out.hs +20/−0
- corpora/vendored/declaration/value/comment-under-the-last-guard.hs +20/−0
- corpora/vendored/declaration/value/comments-before-the-equals-sign-out.hs +12/−0
- corpora/vendored/declaration/value/comments-before-the-equals-sign.hs +12/−0
- corpora/vendored/declaration/value/do-block-after-a-guard-out.hs +46/−0
- corpora/vendored/declaration/value/do-block-after-a-guard.hs +46/−0
- corpora/vendored/declaration/value/do-block-after-a-leading-dollar-out.hs +19/−0
- corpora/vendored/declaration/value/do-block-after-a-leading-dollar.hs +21/−0
- corpora/vendored/declaration/value/function/arrow/comment-in-a-command-chain-out.hs +9/−0
- corpora/vendored/declaration/value/function/arrow/comment-in-a-command-chain.hs +8/−0
- corpora/vendored/declaration/value/function/do-block-before-an-operator-out.hs +19/−0
- corpora/vendored/declaration/value/function/do-block-before-an-operator.hs +19/−0
- corpora/vendored/declaration/value/function/let-chain-out.hs +16/−0
- corpora/vendored/declaration/value/function/let-chain.hs +16/−0
- corpora/vendored/declaration/value/signature-for-several-names-out.hs +25/−0
- corpora/vendored/declaration/value/signature-for-several-names.hs +25/−0
- corpora/vendored/import/block-comment-in-a-one-line-list-out.hs +6/−0
- corpora/vendored/import/block-comment-in-a-one-line-list.hs +6/−0
- corpora/vendored/import/comment-above-the-first-import-out.hs +9/−0
- corpora/vendored/import/comment-above-the-first-import-with-no-module-line-out.hs +9/−0
- corpora/vendored/import/comment-above-the-first-import-with-no-module-line.hs +9/−0
- corpora/vendored/import/comment-above-the-first-import.hs +9/−0
- corpora/vendored/import/comment-in-import-list-out.hs +1/−2
- corpora/vendored/import/comment-set-apart-from-the-first-import-out.hs +11/−0
- corpora/vendored/import/comment-set-apart-from-the-first-import-with-no-module-line-out.hs +10/−0
- corpora/vendored/import/comment-set-apart-from-the-first-import-with-no-module-line.hs +10/−0
- corpora/vendored/import/comment-set-apart-from-the-first-import.hs +11/−0
- corpora/vendored/import/comments-over-and-on-top-of-the-first-import-out.hs +11/−0
- corpora/vendored/import/comments-over-and-on-top-of-the-first-import.hs +11/−0
- corpora/vendored/import/hiding-a-name-beside-its-constructors-out.hs +10/−0
- corpora/vendored/import/hiding-a-name-beside-its-constructors.hs +11/−0
- corpora/vendored/import/hiding-written-on-a-line-of-its-own-out.hs +11/−0
- corpora/vendored/import/hiding-written-on-a-line-of-its-own.hs +13/−0
- corpora/vendored/import/line-comment-between-hiding-and-its-list-out.hs +9/−0
- corpora/vendored/import/line-comment-between-hiding-and-its-list.hs +7/−0
- corpora/vendored/import/list-written-across-lines-out.hs +22/−0
- corpora/vendored/import/list-written-across-lines.hs +16/−0
- corpora/vendored/import/list-written-on-one-line-out.hs +9/−0
- corpora/vendored/import/list-written-on-one-line.hs +12/−0
- corpora/vendored/import/merging-a-list-written-across-lines-out.hs +21/−0
- corpora/vendored/import/merging-a-list-written-across-lines.hs +21/−0
- corpora/vendored/import/merging-an-import-with-an-empty-list-out.hs +9/−0
- corpora/vendored/import/merging-an-import-with-an-empty-list.hs +11/−0
- corpora/vendored/import/merging-entries-naming-one-type-out.hs +7/−0
- corpora/vendored/import/merging-entries-naming-one-type.hs +10/−0
- corpora/vendored/import/merging-imports-hiding-a-name-and-its-constructors-out.hs +10/−0
- corpora/vendored/import/merging-imports-hiding-a-name-and-its-constructors.hs +11/−0
- corpora/vendored/import/merging-imports-that-hide-names-out.hs +15/−0
- corpora/vendored/import/merging-imports-that-hide-names.hs +20/−0
- corpora/vendored/import/merging-keeps-a-comment-above-the-block-out.hs +1/−4
- corpora/vendored/import/merging-lists-written-on-one-line-out.hs +8/−0
- corpora/vendored/import/merging-lists-written-on-one-line.hs +10/−0
- corpora/vendored/import/merging-names-of-a-type-written-across-lines-out.hs +13/−0
- corpora/vendored/import/merging-names-of-a-type-written-across-lines.hs +10/−0
- corpora/vendored/import/merging-only-imports-that-agree-out.hs +15/−0
- corpora/vendored/import/merging-only-imports-that-agree.hs +18/−0
- corpora/vendored/import/names-of-a-type-on-the-next-line-out.hs +14/−0
- corpora/vendored/import/names-of-a-type-on-the-next-line.hs +14/−0
- corpora/vendored/import/names-of-a-type-written-across-lines-out.hs +16/−0
- corpora/vendored/import/names-of-a-type-written-across-lines.hs +14/−0
- corpora/vendored/import/sorting-imports-at-different-levels-out.hs +10/−0
- corpora/vendored/import/sorting-imports-at-different-levels.hs +12/−0
- corpora/vendored/import/sorting-imports-out.hs +17/−0
- corpora/vendored/import/sorting-imports.hs +17/−0
- corpora/vendored/import/sorting-names-by-namespace-out.hs +9/−0
- corpora/vendored/import/sorting-names-by-namespace.hs +9/−0
- corpora/vendored/import/sorting-names-in-a-list-out.hs +20/−0
- corpora/vendored/import/sorting-names-in-a-list.hs +20/−0
- corpora/vendored/import/sorting-the-prelude-without-implicit-prelude-out.hs +11/−0
- corpora/vendored/import/sorting-the-prelude-without-implicit-prelude.hs +11/−0
- corpora/vendored/other/block-comment-after-a-trailing-comma-out.hs +4/−0
- corpora/vendored/other/block-comment-after-a-trailing-comma.hs +4/−0
- corpora/vendored/other/block-comment-before-a-closing-bracket-out.hs +15/−0
- corpora/vendored/other/block-comment-before-a-closing-bracket.hs +15/−0
- corpora/vendored/other/comment-above-the-in-keyword-out.hs +1/−2
- corpora/vendored/other/comment-after-opening-bracket-out.hs +6/−12
- corpora/vendored/other/comment-at-the-column-after-a-closing-bracket-out.hs +19/−0
- corpora/vendored/other/comment-at-the-column-after-a-closing-bracket.hs +19/−0
- corpora/vendored/other/comment-at-the-let-column-above-the-in-keyword-out.hs +7/−0
- corpora/vendored/other/comment-at-the-let-column-above-the-in-keyword.hs +7/−0
- corpora/vendored/other/comment-before-closing-bracket-out.hs +18/−0
- corpora/vendored/other/comment-before-closing-bracket.hs +12/−0
- corpora/vendored/other/comment-before-closing-quote-out.hs +21/−0
- corpora/vendored/other/comment-before-closing-quote.hs +14/−0
- corpora/vendored/other/comment-carried-on-under-a-displaced-remark-out.hs +10/−0
- corpora/vendored/other/comment-carried-on-under-a-displaced-remark.hs +8/−0
- corpora/vendored/other/comment-carried-on-under-a-remark-out.hs +18/−0
- corpora/vendored/other/comment-carried-on-under-a-remark.hs +17/−0
- corpora/vendored/other/comment-under-a-declaration-before-a-directive-out.hs +15/−0
- corpora/vendored/other/comment-under-a-declaration-before-a-directive.hs +15/−0
- corpora/vendored/other/comment-under-a-declaration-out.hs +55/−0
- corpora/vendored/other/comment-under-a-declaration.hs +53/−0
- corpora/vendored/other/comment-under-a-hoisted-pragma-after-another-out.hs +9/−0
- corpora/vendored/other/comment-under-a-hoisted-pragma-after-another.hs +7/−0
- corpora/vendored/other/comment-under-a-right-hand-side-above-the-in-keyword-out.hs +7/−0
- corpora/vendored/other/comment-under-a-right-hand-side-above-the-in-keyword.hs +7/−0
- corpora/vendored/other/comment-under-a-right-hand-side-out.hs +41/−0
- corpora/vendored/other/comment-under-a-right-hand-side.hs +40/−0
- corpora/vendored/other/comment-under-the-last-part-of-a-construct-out.hs +52/−0
- corpora/vendored/other/comment-under-the-last-part-of-a-construct.hs +47/−0
- corpora/vendored/other/cpp/argument-at-the-end-behind-a-conditional-out.hs +14/−0
- corpora/vendored/other/cpp/argument-at-the-end-behind-a-conditional.hs +12/−0
- corpora/vendored/other/cpp/argument-behind-a-conditional-out.hs +13/−0
- corpora/vendored/other/cpp/argument-behind-a-conditional.hs +13/−0
- corpora/vendored/other/cpp/arguments-at-the-end-behind-alternatives-out.hs +17/−0
- corpora/vendored/other/cpp/arguments-at-the-end-behind-alternatives.hs +14/−0
- corpora/vendored/other/cpp/arguments-behind-alternatives-out.hs +15/−0
- corpora/vendored/other/cpp/arguments-behind-alternatives.hs +14/−0
- corpora/vendored/other/cpp/bind-statement-begun-in-each-branch-out.hs +20/−0
- corpora/vendored/other/cpp/bind-statement-begun-in-each-branch.hs +12/−0
- corpora/vendored/other/cpp/bind-statement-finished-after-a-conditional-out.hs +13/−0
- corpora/vendored/other/cpp/bind-statement-finished-after-a-conditional.hs +12/−0
- corpora/vendored/other/cpp/branch-holding-only-a-comment-out.hs +13/−0
- corpora/vendored/other/cpp/branch-holding-only-a-comment.hs +13/−0
- corpora/vendored/other/cpp/branch-holding-only-an-error-out.hs +17/−0
- corpora/vendored/other/cpp/branch-holding-only-an-error.hs +17/−0
- corpora/vendored/other/cpp/branch-opening-a-bracket-it-does-not-close.hs +8/−0
- corpora/vendored/other/cpp/branches-ending-a-body-differently-out.hs +14/−0
- corpora/vendored/other/cpp/branches-ending-a-body-differently.hs +14/−0
- corpora/vendored/other/cpp/branches-of-different-lengths-out.hs +15/−0
- corpora/vendored/other/cpp/branches-of-different-lengths.hs +15/−0
- corpora/vendored/other/cpp/branches-saying-the-same-thing-out.hs +9/−0
- corpora/vendored/other/cpp/branches-saying-the-same-thing.hs +9/−0
- corpora/vendored/other/cpp/comma-after-a-conditional-inside-an-item-out.hs +14/−0
- corpora/vendored/other/cpp/comma-after-a-conditional-inside-an-item.hs +13/−0
- corpora/vendored/other/cpp/comma-after-a-varying-item-out.hs +16/−0
- corpora/vendored/other/cpp/comma-after-a-varying-item.hs +16/−0
- corpora/vendored/other/cpp/comma-after-nested-conditionals-out.hs +18/−0
- corpora/vendored/other/cpp/comma-after-nested-conditionals.hs +18/−0
- corpora/vendored/other/cpp/comma-after-several-varying-items-out.hs +18/−0
- corpora/vendored/other/cpp/comma-after-several-varying-items.hs +17/−0
- corpora/vendored/other/cpp/comma-before-varying-last-items-in-a-row-out.hs +21/−0
- corpora/vendored/other/cpp/comma-before-varying-last-items-in-a-row.hs +19/−0
- corpora/vendored/other/cpp/comma-before-varying-last-items-out.hs +27/−0
- corpora/vendored/other/cpp/comma-before-varying-last-items.hs +22/−0
- corpora/vendored/other/cpp/comment-above-a-conditional-at-the-end-of-a-branch-out.hs +19/−0
- corpora/vendored/other/cpp/comment-above-a-conditional-at-the-end-of-a-branch.hs +13/−0
- corpora/vendored/other/cpp/comment-above-a-conditional-in-a-where-clause-out.hs +20/−0
- corpora/vendored/other/cpp/comment-above-a-conditional-in-a-where-clause.hs +20/−0
- corpora/vendored/other/cpp/comment-above-a-conditional-out.hs +25/−0
- corpora/vendored/other/cpp/comment-above-a-conditional.hs +26/−0
- corpora/vendored/other/cpp/comment-above-a-directive-at-a-distance-out.hs +13/−0
- corpora/vendored/other/cpp/comment-above-a-directive-at-a-distance.hs +13/−0
- corpora/vendored/other/cpp/comment-above-a-heading-in-one-branch-of-many-out.hs +20/−0
- corpora/vendored/other/cpp/comment-above-a-heading-in-one-branch-of-many.hs +19/−0
- corpora/vendored/other/cpp/comment-above-a-heading-in-one-branch-out.hs +18/−0
- corpora/vendored/other/cpp/comment-above-a-heading-in-one-branch.hs +17/−0
- corpora/vendored/other/cpp/comment-above-the-haddock-of-a-constructor-behind-a-conditional-out.hs +20/−0
- corpora/vendored/other/cpp/comment-above-the-haddock-of-a-constructor-behind-a-conditional.hs +13/−0
- corpora/vendored/other/cpp/comment-above-the-in-keyword-before-a-directive-out.hs +14/−0
- corpora/vendored/other/cpp/comment-above-the-in-keyword-before-a-directive.hs +14/−0
- corpora/vendored/other/cpp/comment-at-the-end-of-a-branch-out.hs +14/−0
- corpora/vendored/other/cpp/comment-at-the-end-of-a-branch.hs +14/−0
- corpora/vendored/other/cpp/comment-before-a-constructor-behind-a-conditional-out.hs +18/−0
- corpora/vendored/other/cpp/comment-before-a-constructor-behind-a-conditional.hs +12/−0
- corpora/vendored/other/cpp/comments-either-side-of-a-conditional-out.hs +15/−0
- corpora/vendored/other/cpp/comments-either-side-of-a-conditional.hs +15/−0
- corpora/vendored/other/cpp/compiler-version-settled-by-another-out.hs +21/−0
- corpora/vendored/other/cpp/compiler-version-settled-by-another.hs +20/−0
- corpora/vendored/other/cpp/conditional-extending-an-operand-out.hs +14/−0
- corpora/vendored/other/cpp/conditional-extending-an-operand.hs +14/−0
- corpora/vendored/other/cpp/conditional-from-a-where-clause-into-declarations-out.hs +50/−0
- corpora/vendored/other/cpp/conditional-from-a-where-clause-into-declarations.hs +49/−0
- corpora/vendored/other/cpp/conditional-going-on-past-a-declaration-out.hs +22/−0
- corpora/vendored/other/cpp/conditional-going-on-past-a-declaration.hs +21/−0
- corpora/vendored/other/cpp/conditional-with-no-empty-lines-around-it-out.hs +13/−0
- corpora/vendored/other/cpp/conditional-with-no-empty-lines-around-it.hs +10/−0
- corpora/vendored/other/cpp/data-or-newtype-out.hs +20/−0
- corpora/vendored/other/cpp/data-or-newtype.hs +18/−0
- corpora/vendored/other/cpp/define-between-conditionals-out.hs +13/−0
- corpora/vendored/other/cpp/define-between-conditionals.hs +13/−0
- corpora/vendored/other/cpp/define-ended-by-a-blank-line-out.hs +2/−2
- corpora/vendored/other/cpp/directive-after-a-define-ending-in-an-empty-line-out.hs +11/−0
- corpora/vendored/other/cpp/directive-after-a-define-ending-in-an-empty-line.hs +11/−0
- corpora/vendored/other/cpp/directive-at-the-end-of-a-branch-out.hs +16/−0
- corpora/vendored/other/cpp/directive-at-the-end-of-a-branch.hs +16/−0
- corpora/vendored/other/cpp/directive-over-several-lines-out.hs +12/−0
- corpora/vendored/other/cpp/directive-over-several-lines.hs +12/−0
- corpora/vendored/other/cpp/directives-inside-a-block-comment-out.hs +19/−0
- corpora/vendored/other/cpp/directives-inside-a-block-comment.hs +19/−0
- corpora/vendored/other/cpp/elif-chain-without-else-out.hs +11/−0
- corpora/vendored/other/cpp/elif-chain-without-else.hs +11/−0
- corpora/vendored/other/cpp/empty-conditional-out.hs +12/−0
- corpora/vendored/other/cpp/empty-conditional.hs +13/−0
- corpora/vendored/other/cpp/empty-line-under-a-directive-at-the-end-of-a-branch-out.hs +9/−0
- corpora/vendored/other/cpp/empty-line-under-a-directive-at-the-end-of-a-branch.hs +10/−0
- corpora/vendored/other/cpp/export-list-varying-after-the-name-out.hs +18/−0
- corpora/vendored/other/cpp/export-list-varying-after-the-name.hs +16/−0
- corpora/vendored/other/cpp/haddock-behind-alternatives-out.hs +47/−0
- corpora/vendored/other/cpp/haddock-behind-alternatives.hs +45/−0
- corpora/vendored/other/cpp/hiding-behind-a-conditional-out.hs +11/−0
- corpora/vendored/other/cpp/hiding-behind-a-conditional.hs +11/−0
- corpora/vendored/other/cpp/if-settled-by-an-ifdef-out.hs +14/−0
- corpora/vendored/other/cpp/if-settled-by-an-ifdef.hs +13/−0
- corpora/vendored/other/cpp/if-settled-inside-another-conditional-out.hs +19/−0
- corpora/vendored/other/cpp/if-settled-inside-another-conditional.hs +18/−0
- corpora/vendored/other/cpp/import-clause-in-a-branch-with-declarations-out.hs +11/−0
- corpora/vendored/other/cpp/import-clause-in-a-branch-with-declarations.hs +10/−0
- corpora/vendored/other/cpp/import-in-one-branch-declarations-in-the-other-out.hs +18/−0
- corpora/vendored/other/cpp/import-in-one-branch-declarations-in-the-other.hs +17/−0
- corpora/vendored/other/cpp/import-list-behind-a-conditional-out.hs +23/−0
- corpora/vendored/other/cpp/import-list-behind-a-conditional.hs +23/−0
- corpora/vendored/other/cpp/import-with-a-conditional-in-its-head-out.hs +14/−0
- corpora/vendored/other/cpp/import-with-a-conditional-in-its-head.hs +14/−0
- corpora/vendored/other/cpp/imports-around-a-conditional-holding-a-comment-out.hs +12/−0
- corpora/vendored/other/cpp/imports-around-a-conditional-holding-a-comment.hs +12/−0
- corpora/vendored/other/cpp/imports-around-a-conditional-holding-a-directive-out.hs +12/−0
- corpora/vendored/other/cpp/imports-around-a-conditional-holding-a-directive.hs +12/−0
- corpora/vendored/other/cpp/imports-at-an-indented-top-level-out.hs +15/−0
- corpora/vendored/other/cpp/imports-at-an-indented-top-level.hs +14/−0
- corpora/vendored/other/cpp/imports-continued-after-a-conditional-out.hs +17/−0
- corpora/vendored/other/cpp/imports-continued-after-a-conditional.hs +17/−0
- corpora/vendored/other/cpp/imports-ending-in-a-conditional-before-declarations-out.hs +11/−0
- corpora/vendored/other/cpp/imports-ending-in-a-conditional-before-declarations.hs +10/−0
- corpora/vendored/other/cpp/imports-in-explicit-braces-out.hs +12/−0
- corpora/vendored/other/cpp/imports-in-explicit-braces.hs +12/−0
- corpora/vendored/other/cpp/imports-merged-across-a-define-out.hs +14/−0
- corpora/vendored/other/cpp/imports-merged-across-a-define.hs +14/−0
- corpora/vendored/other/cpp/imports-only-in-one-branch-out.hs +13/−0
- corpora/vendored/other/cpp/imports-only-in-one-branch.hs +12/−0
- corpora/vendored/other/cpp/imports-written-in-different-branches-out.hs +15/−0
- corpora/vendored/other/cpp/imports-written-in-different-branches.hs +15/−0
- corpora/vendored/other/cpp/macro-above-a-case-out.hs +16/−0
- corpora/vendored/other/cpp/macro-above-a-case.hs +16/−0
- corpora/vendored/other/cpp/macro-continuing-the-line-above-out.hs +13/−0
- corpora/vendored/other/cpp/macro-continuing-the-line-above.hs +9/−0
- corpora/vendored/other/cpp/macro-inside-a-conditional-out.hs +11/−0
- corpora/vendored/other/cpp/macro-inside-a-conditional.hs +11/−0
- corpora/vendored/other/cpp/macro-inside-a-declaration-out.hs +24/−0
- corpora/vendored/other/cpp/macro-inside-a-declaration.hs +24/−0
- corpora/vendored/other/cpp/macro-on-a-line-of-its-own-out.hs +23/−0
- corpora/vendored/other/cpp/macro-on-a-line-of-its-own.hs +22/−0
- corpora/vendored/other/cpp/macro-standing-for-a-bracket.hs +6/−0
- corpora/vendored/other/cpp/macro-uses-at-the-top-level-out.hs +18/−0
- corpora/vendored/other/cpp/macro-uses-at-the-top-level.hs +18/−0
- corpora/vendored/other/cpp/method-moving-to-an-instance-of-its-own-out.hs +20/−0
- corpora/vendored/other/cpp/method-moving-to-an-instance-of-its-own.hs +17/−0
- corpora/vendored/other/cpp/names-of-a-list-behind-a-conditional-out.hs +28/−0
- corpora/vendored/other/cpp/names-of-a-list-behind-a-conditional.hs +22/−0
- corpora/vendored/other/cpp/nested-conditional-in-an-import-sorted-down-out.hs +16/−0
- corpora/vendored/other/cpp/nested-conditional-in-an-import-sorted-down.hs +15/−0
- corpora/vendored/other/cpp/one-guard-asked-in-imports-and-in-a-declaration-out.hs +25/−0
- corpora/vendored/other/cpp/one-guard-asked-in-imports-and-in-a-declaration.hs +24/−0
- corpora/vendored/other/cpp/one-guard-asked-of-a-pragma-an-import-and-an-equation-out.hs +20/−0
- corpora/vendored/other/cpp/one-guard-asked-of-a-pragma-an-import-and-an-equation.hs +16/−0
- corpora/vendored/other/cpp/one-guard-asked-twice-out.hs +1/−7
- corpora/vendored/other/cpp/one-question-asked-twice-with-a-comment-between-out.hs +14/−0
- corpora/vendored/other/cpp/one-question-asked-twice-with-a-comment-between.hs +14/−0
- corpora/vendored/other/cpp/operand-differing-across-branches-out.hs +24/−0
- corpora/vendored/other/cpp/operand-differing-across-branches.hs +19/−0
- corpora/vendored/other/cpp/operator-continuing-a-statement-after-a-conditional-out.hs +14/−0
- corpora/vendored/other/cpp/operator-continuing-a-statement-after-a-conditional.hs +14/−0
- corpora/vendored/other/cpp/overlap-pragma-behind-a-conditional-out.hs +23/−0
- corpora/vendored/other/cpp/overlap-pragma-behind-a-conditional.hs +23/−0
- corpora/vendored/other/cpp/pragma-and-import-in-a-conditional-with-no-header-out.hs +10/−0
- corpora/vendored/other/cpp/pragma-and-import-in-a-conditional-with-no-header.hs +11/−0
- corpora/vendored/other/cpp/pragma-behind-a-question-asked-again-inside-out.hs +15/−0
- corpora/vendored/other/cpp/pragma-behind-a-question-asked-again-inside.hs +15/−0
- corpora/vendored/other/cpp/qualified-imports-written-in-different-branches-out.hs +15/−0
- corpora/vendored/other/cpp/qualified-imports-written-in-different-branches.hs +15/−0
- corpora/vendored/other/cpp/record-closed-in-each-branch-out.hs +15/−0
- corpora/vendored/other/cpp/record-closed-in-each-branch.hs +12/−0
- corpora/vendored/other/cpp/ruled-out-branch-holding-nothing-out.hs +12/−0
- corpora/vendored/other/cpp/ruled-out-branch-holding-nothing.hs +12/−0
- corpora/vendored/other/cpp/section-headings-among-comments-out.hs +23/−0
- corpora/vendored/other/cpp/section-headings-among-comments.hs +22/−0
- corpora/vendored/other/cpp/settled-in-imports-and-in-declarations-out.hs +37/−0
- corpora/vendored/other/cpp/settled-in-imports-and-in-declarations.hs +38/−0
- corpora/vendored/other/cpp/text-after-else-and-endif-out.hs +27/−0
- corpora/vendored/other/cpp/text-after-else-and-endif.hs +27/−0
- corpora/vendored/other/cpp/trailing-comment-above-a-directive-out.hs +18/−0
- corpora/vendored/other/cpp/trailing-comment-above-a-directive.hs +18/−0
- corpora/vendored/other/cpp/triple-dash-under-a-haddock-out.hs +24/−0
- corpora/vendored/other/cpp/triple-dash-under-a-haddock.hs +24/−0
- corpora/vendored/other/cpp/two-conditionals-changing-one-run-of-space-out.hs +23/−0
- corpora/vendored/other/cpp/two-conditionals-changing-one-run-of-space.hs +23/−0
- corpora/vendored/other/cpp/two-conditionals-in-one-expression-out.hs +12/−0
- corpora/vendored/other/cpp/two-conditionals-in-one-expression.hs +12/−0
- corpora/vendored/other/cpp/version-range-settled-by-its-bound-out.hs +21/−0
- corpora/vendored/other/cpp/version-range-settled-by-its-bound.hs +20/−0
- corpora/vendored/other/cpp/version-settled-by-an-older-version-out.hs +18/−0
- corpora/vendored/other/cpp/version-settled-by-an-older-version.hs +17/−0
- corpora/vendored/other/cpp/version-settled-holding-every-declaration-out.hs +14/−0
- corpora/vendored/other/cpp/version-settled-holding-every-declaration.hs +13/−0
- corpora/vendored/other/cpp/version-settled-where-answers-read-alike-out.hs +22/−0
- corpora/vendored/other/cpp/version-settled-where-answers-read-alike.hs +21/−0
- corpora/vendored/other/cpp/where-clause-after-the-branches-out.hs +50/−0
- corpora/vendored/other/cpp/where-clause-after-the-branches.hs +50/−0
- corpora/vendored/other/haddock-holding-only-a-space-out.hs +26/−0
- corpora/vendored/other/haddock-holding-only-a-space.hs +28/−0
- corpora/vendored/other/haddock-that-documents-nothing-out.hs +42/−0
- corpora/vendored/other/haddock-that-documents-nothing.hs +41/−0
- corpora/vendored/other/haddock-without-a-space-after-its-trigger-out.hs +18/−0
- corpora/vendored/other/haddock-without-a-space-after-its-trigger.hs +18/−0
- corpora/vendored/other/module-pragma-on-a-line-of-its-own-out.hs +5/−0
- corpora/vendored/other/module-pragma-on-a-line-of-its-own.hs +5/−0
- corpora/vendored/other/module-pragma-on-the-line-of-the-name-out.hs +3/−0
- corpora/vendored/other/module-pragma-on-the-line-of-the-name.hs +4/−0
- corpora/vendored/other/names-of-a-type-in-an-export-list-out.hs +17/−0
- corpora/vendored/other/names-of-a-type-in-an-export-list.hs +17/−0
- corpora/vendored/other/options-in-written-order-out.hs +15/−0
- corpora/vendored/other/options-in-written-order.hs +16/−0
- corpora/vendored/other/section-headings-among-comments-out.hs +30/−0
- corpora/vendored/other/section-headings-among-comments.hs +30/−0
- corpora/vendored/other/trailing-comment-above-comments-under-a-right-hand-side-out.hs +15/−0
- corpora/vendored/other/trailing-comment-above-comments-under-a-right-hand-side.hs +15/−0
- corpora/vendored/other/triple-dash-under-a-haddock-out.hs +18/−0
- corpora/vendored/other/triple-dash-under-a-haddock.hs +18/−0
- corpora/vendored/other/unrecognised-pragma-under-a-hoisted-pragma-out.hs +13/−0
- corpora/vendored/other/unrecognised-pragma-under-a-hoisted-pragma.hs +11/−0
- corpora/vendored/other/warning-pragmas-that-name-nothing-out.hs +10/−0
- corpora/vendored/other/warning-pragmas-that-name-nothing.hs +9/−0
- src/Tilia/Cabal/Package.hs +88/−19
- src/Tilia/Cabal/Target.hs +11/−23
- src/Tilia/Comments.hs +165/−53
- src/Tilia/Comments/Attach.hs +169/−48
- src/Tilia/Comments/Place.hs +170/−62
- src/Tilia/Cpp.hs +719/−1197
- src/Tilia/Cpp/Directives.hs +451/−303
- src/Tilia/Cpp/Fragment.hs +252/−0
- src/Tilia/Cpp/Macros.hs +190/−76
- src/Tilia/Cpp/Merge.hs +819/−0
- src/Tilia/Cpp/Place.hs +590/−0
- src/Tilia/Diff.hs +149/−21
- src/Tilia/Doc/Combinators.hs +32/−20
- src/Tilia/Doc/Internal.hs +447/−85
- src/Tilia/Editor.hs +89/−0
- src/Tilia/Equivalence.hs +22/−28
- src/Tilia/Fixity.hs +507/−253
- src/Tilia/Fixity/Builtin.hs +0/−1182
- src/Tilia/Fixity/ByHand.hs +4/−60
- src/Tilia/Fixity/Cabal.hs +2/−2
- src/Tilia/Fixity/Cache.hs +368/−202
- src/Tilia/Fixity/Debug.hs +50/−49
- src/Tilia/Fixity/HiFile.hs +51/−6
- src/Tilia/Fixity/Interface.hs +49/−28
- src/Tilia/Fixity/KnownKeys/Ghc910.hs +3891/−0
- src/Tilia/Fixity/KnownKeys/Ghc912.hs +4134/−0
- src/Tilia/Fixity/KnownKeys/Ghc914.hs +4120/−0
- src/Tilia/Fixity/PackageDb.hs +25/−5
- src/Tilia/Fixity/Plan.hs +1824/−1842
- src/Tilia/Format.hs +41/−47
- src/Tilia/Gathered.hs +51/−0
- src/Tilia/Ignore.hs +290/−0
- src/Tilia/Imports.hs +92/−50
- src/Tilia/Parser.hs +98/−10
- src/Tilia/Render.hs +85/−20
- src/Tilia/Render/Body.hs +2/−1
- src/Tilia/Render/Class.hs +12/−11
- src/Tilia/Render/Context.hs +93/−18
- src/Tilia/Render/Data.hs +3/−2
- src/Tilia/Render/Declaration.hs +23/−11
- src/Tilia/Render/Expression.hs +147/−94
- src/Tilia/Render/Haddock.hs +23/−12
- src/Tilia/Render/Header.hs +92/−53
- src/Tilia/Render/Pattern.hs +1/−2
- src/Tilia/Render/Pragma.hs +18/−11
- src/Tilia/Render/Signature.hs +24/−9
- src/Tilia/Render/Type.hs +10/−3
- src/Tilia/Run.hs +52/−15
- src/Tilia/Source.hs +3/−9
- src/Tilia/Source/Lines.hs +0/−34
- src/Tilia/Span/Ghc.hs +28/−1
- src/Tilia/Utils.hs +28/−0
- tests/Tilia/BootFixities.hs +1183/−0
- tests/Tilia/Cabal/PackageSpec.hs +89/−0
- tests/Tilia/Cabal/TargetSpec.hs +29/−6
- tests/Tilia/Comments/PlaceSpec.hs too large to diff
- tests/Tilia/Corpus.hs too large to diff
- tests/Tilia/Corpus/Manifest.hs too large to diff
- tests/Tilia/CorpusSpec.hs too large to diff
- tests/Tilia/Cpp/MacrosSpec.hs too large to diff
- tests/Tilia/Cpp/PropertiesSpec.hs too large to diff
- tests/Tilia/CppSpec.hs too large to diff
- tests/Tilia/DiffSpec.hs too large to diff
- tests/Tilia/Doc/InternalSpec.hs too large to diff
- tests/Tilia/EditorSpec.hs too large to diff
- tests/Tilia/EquivalenceSpec.hs too large to diff
- tests/Tilia/Fixity/CabalSpec.hs too large to diff
- tests/Tilia/Fixity/CacheSpec.hs too large to diff
- tests/Tilia/Fixity/DebugSpec.hs too large to diff
- tests/Tilia/Fixity/DependenciesSpec.hs too large to diff
- tests/Tilia/Fixity/HiFileSpec.hs too large to diff
- tests/Tilia/Fixity/InterfaceSpec.hs too large to diff
- tests/Tilia/Fixity/PackageDbSpec.hs too large to diff
- tests/Tilia/Fixity/PlanSpec.hs too large to diff
- tests/Tilia/FixitySpec.hs too large to diff
- tests/Tilia/Gen.hs too large to diff
- tests/Tilia/IgnoreSpec.hs too large to diff
- tests/Tilia/RenderSpec.hs too large to diff
- tests/Tilia/RunSpec.hs too large to diff
- tests/Tilia/TestConfig.hs too large to diff
- tests/Tilia/WithProjectPlan.hs too large to diff
- tilia.cabal too large to diff
@@ -1,3 +1,237 @@+## Tilia 0.1.0.0++### Conditional compilation++Modules that use the C preprocessor are formatted in one pass, with their+comments where they were written, in all the cases found so far. Where the+configurations of a module differ in only a part of something, such as an+argument, an item of a list, the start of a statement, the Haddock of a+constructor or an overlap pragma in an instance head, the conditional stays+around that part in many more cases, rather than the code around it being+copied into each branch, and conditionals stay nested and whole as they were+written. A comment that comes out right above a directive goes to the+margin, and the empty lines around a conditional and at the ends of its+branches follow what the configurations print.++Directives come out as written: one continued with a backslash, a `#define`+continued over several lines and the directive under it, the text after+`#else` and `#endif`, and an alternative that holds nothing but `#error`. A+line that holds nothing but a use of a function-like macro the module+defines is put back as written rather than read as code. Configurations that+no definition of the macros gives are no longer tried, so a module is no+longer declined over one of them, and what only other compilers see, behind+`__MHS__` or `__HUGS__`, is not taken to be in scope. A module with many+conditionals is formatted a fragment at a time, so few run out of+configurations, and the fixities in a module whose branches do not parse+together are worked out from each configuration.++Issues and pull requests: [Issue 6], [Issue 7], [PR 34], [PR 39], [PR 44],+[PR 54], [PR 56], [PR 57], [Issue 60], [Issue 61], [Issue 64], [Issue 65],+[Issue 66], [Issue 68], [Issue 69], [Issue 70], [Issue 82], [PR 111],+[Issue 113], [Issue 117], [Issue 118], [Issue 133], [Issue 134],+[Issue 153], [Issue 154], [Issue 155], [Issue 167], [Issue 172],+[Issue 178], [Issue 179], [Issue 197].++### Operators and fixities++Tilia finds the fixity of an operator more often and more precisely. It+settles each name a module re-exports on its own, takes the names an import+hides into account in a whole-module re-export, and no longer blames an+operator on a module it cannot read where the operator cannot have come from+there: a name the module defines, one a local binding captures, which takes+the fixity its binding group declares, or one an import that can be read+brings in, among them the constructors, fields and methods of `T(..)` and+every name an interface file refers to by key. The fixities of the packages+that come with the compiler are read from its interface files rather than+from a table written for one version of it, and `:` has its fixity wherever+it is written. Where Tilia declines a file over an operator its imports+bring in with different fixities, it names each fixity and the imports that+bring it.++Issues and pull requests: [PR 52], [Issue 67], [Issue 84], [Issue 86],+[PR 98], [PR 101].++### Comments++Comments stay with the code they were written beside in many more places:+under the last line of a construct and lined up with it, after an operator+that ends a line or between that operator and its operand, between a name+and its `=`, above the `in` of a `let`, around the guards of a `case`,+between a Haddock and what it documents, inside empty brackets and before+closing ones, at the end of a line with comments lined up under it, under a+remark they carry on, and after the last declaration of a Backpack+signature, where they used to be dropped.++A section heading keeps the comments written right against it. An empty line+written under a comment is kept, none is put around a comment where the+author wrote none, and a comment is held off a Haddock only where it would+otherwise run into it. Block comments are spaced against brackets and commas+as written. A Haddock written with no space after its trigger, or holding+nothing but a space, is formatted.++Issues and pull requests: [Issue 62], [Issue 63], [PR 79], [Issue 94],+[Issue 119], [Issue 120], [Issue 121], [Issue 122], [Issue 132],+[Issue 137], [Issue 147], [Issue 148], [Issue 151], [Issue 152],+[Issue 158], [Issue 159], [Issue 180], [Issue 182], [Issue 183],+[Issue 184], [Issue 185], [PR 201], [Issue 205], [Issue 206], [Issue 217].++### Layout++More of the layout an author chose is kept where it reads well. A `do`+block, a `case` or a lambda stays on the line of the `$`, `=` or `->` it was+written after; a chain of `let … in`, each on a line of its own, comes out+as a column; the names of a signature for several names stay on one line+where they were written on one; and a module header with a `DEPRECATED` or+`WARNING` pragma on a line of its own keeps its lines. `OPTIONS_GHC` pragmas+keep the order they were written in, which is the order GHC reads their+flags in, and a `DEPRECATED` or `WARNING` pragma that names nothing is no+longer dropped.++Issues and pull requests: [Issue 96], [Issue 136], [Issue 181], [Issue 198],+[Issue 209], [Issue 211], [Issue 215], [Issue 218].++### Imports++An import list written on one line stays on one line. Imports of one module+are merged only where together they cannot bring in more than they did+apart: imports hiding different names stay apart, and so does a name in a+`hiding` list from the same name with its own parentheses. Sorting the+imports leaves the empty line under the module header and a heading comment+above the imports where they are, and it respects conditionals: an import+whose clause is behind one sorts among the others, the names on either side+of one in an import list sort apart, and `#define` lines no longer keep+apart what is written either side of them.++Issues and pull requests: [PR 55], [PR 73], [PR 76], [Issue 92],+[Issue 135], [Issue 150].++### Projects and tools++Tilia reads a Cabal package the way `cabal` builds it: a component that+names no `default-language` is Haskell98, the older `extensions` field+counts, and so do extensions behind a condition the build meets. A package+with a component named `all` gets a build plan. `.tiliaignore` files are+read the way Git reads `.gitignore` files, with globs, negation, and a file+in any directory. `tilia for-editor FILE`, and `Tilia.Editor` for programs+that use Tilia as a library, are there for editor integrations.++Issues and pull requests: [PR 41], [PR 51], [Issue 131], [Issue 156],+[Issue 186], [PR 200].++### Performance++Tilia is faster throughout. A run works out what a module offers once,+however many threads ask for it, parses each module that operators are+looked up in and reads each source tarball once, keeps summaries of the+project's own modules between runs, and reads what interface files refer to+by key rather than run `ghc --show-iface`. A run that starts with nothing+cached is up to three times as fast and needs half the memory.++Formatting walks a module's syntax tree once, reads its comments off the+tokens, places comments in time that does not grow with the square of the+size of a module, and works out the configurations of conditionals that do+not depend on one another on several cores. A module with thousands of+comments formats twice as fast, one whose conditionals reach from above the+declarations into them in less than half the time, and one with many+conditionals up to twice as fast where cores are free. `tilia check` diffs+faster.++Issues and pull requests: [PR 37], [PR 46], [PR 47], [PR 48], [PR 49],+[PR 50], [PR 130], [PR 201], [PR 202], [PR 203], [PR 228].++[Issue 6]: https://github.com/mrkkrp/tilia/issues/6+[Issue 7]: https://github.com/mrkkrp/tilia/issues/7+[PR 34]: https://github.com/mrkkrp/tilia/pull/34+[PR 37]: https://github.com/mrkkrp/tilia/pull/37+[PR 39]: https://github.com/mrkkrp/tilia/pull/39+[PR 41]: https://github.com/mrkkrp/tilia/pull/41+[PR 44]: https://github.com/mrkkrp/tilia/pull/44+[PR 46]: https://github.com/mrkkrp/tilia/pull/46+[PR 47]: https://github.com/mrkkrp/tilia/pull/47+[PR 48]: https://github.com/mrkkrp/tilia/pull/48+[PR 49]: https://github.com/mrkkrp/tilia/pull/49+[PR 50]: https://github.com/mrkkrp/tilia/pull/50+[PR 51]: https://github.com/mrkkrp/tilia/pull/51+[PR 52]: https://github.com/mrkkrp/tilia/pull/52+[PR 54]: https://github.com/mrkkrp/tilia/pull/54+[PR 55]: https://github.com/mrkkrp/tilia/pull/55+[PR 56]: https://github.com/mrkkrp/tilia/pull/56+[PR 57]: https://github.com/mrkkrp/tilia/pull/57+[Issue 60]: https://github.com/mrkkrp/tilia/issues/60+[Issue 61]: https://github.com/mrkkrp/tilia/issues/61+[Issue 62]: https://github.com/mrkkrp/tilia/issues/62+[Issue 63]: https://github.com/mrkkrp/tilia/issues/63+[Issue 64]: https://github.com/mrkkrp/tilia/issues/64+[Issue 65]: https://github.com/mrkkrp/tilia/issues/65+[Issue 66]: https://github.com/mrkkrp/tilia/issues/66+[Issue 67]: https://github.com/mrkkrp/tilia/issues/67+[Issue 68]: https://github.com/mrkkrp/tilia/issues/68+[Issue 69]: https://github.com/mrkkrp/tilia/issues/69+[Issue 70]: https://github.com/mrkkrp/tilia/issues/70+[PR 73]: https://github.com/mrkkrp/tilia/pull/73+[PR 76]: https://github.com/mrkkrp/tilia/pull/76+[PR 79]: https://github.com/mrkkrp/tilia/pull/79+[Issue 82]: https://github.com/mrkkrp/tilia/issues/82+[Issue 84]: https://github.com/mrkkrp/tilia/issues/84+[Issue 86]: https://github.com/mrkkrp/tilia/issues/86+[Issue 92]: https://github.com/mrkkrp/tilia/issues/92+[Issue 94]: https://github.com/mrkkrp/tilia/issues/94+[Issue 96]: https://github.com/mrkkrp/tilia/issues/96+[PR 98]: https://github.com/mrkkrp/tilia/pull/98+[PR 101]: https://github.com/mrkkrp/tilia/pull/101+[PR 111]: https://github.com/mrkkrp/tilia/pull/111+[Issue 113]: https://github.com/mrkkrp/tilia/issues/113+[Issue 117]: https://github.com/mrkkrp/tilia/issues/117+[Issue 118]: https://github.com/mrkkrp/tilia/issues/118+[Issue 119]: https://github.com/mrkkrp/tilia/issues/119+[Issue 120]: https://github.com/mrkkrp/tilia/issues/120+[Issue 121]: https://github.com/mrkkrp/tilia/issues/121+[Issue 122]: https://github.com/mrkkrp/tilia/issues/122+[PR 130]: https://github.com/mrkkrp/tilia/pull/130+[Issue 131]: https://github.com/mrkkrp/tilia/issues/131+[Issue 132]: https://github.com/mrkkrp/tilia/issues/132+[Issue 133]: https://github.com/mrkkrp/tilia/issues/133+[Issue 134]: https://github.com/mrkkrp/tilia/issues/134+[Issue 135]: https://github.com/mrkkrp/tilia/issues/135+[Issue 136]: https://github.com/mrkkrp/tilia/issues/136+[Issue 137]: https://github.com/mrkkrp/tilia/issues/137+[Issue 147]: https://github.com/mrkkrp/tilia/issues/147+[Issue 148]: https://github.com/mrkkrp/tilia/issues/148+[Issue 150]: https://github.com/mrkkrp/tilia/issues/150+[Issue 151]: https://github.com/mrkkrp/tilia/issues/151+[Issue 152]: https://github.com/mrkkrp/tilia/issues/152+[Issue 153]: https://github.com/mrkkrp/tilia/issues/153+[Issue 154]: https://github.com/mrkkrp/tilia/issues/154+[Issue 155]: https://github.com/mrkkrp/tilia/issues/155+[Issue 156]: https://github.com/mrkkrp/tilia/issues/156+[Issue 158]: https://github.com/mrkkrp/tilia/issues/158+[Issue 159]: https://github.com/mrkkrp/tilia/issues/159+[Issue 167]: https://github.com/mrkkrp/tilia/issues/167+[Issue 172]: https://github.com/mrkkrp/tilia/issues/172+[Issue 178]: https://github.com/mrkkrp/tilia/issues/178+[Issue 179]: https://github.com/mrkkrp/tilia/issues/179+[Issue 180]: https://github.com/mrkkrp/tilia/issues/180+[Issue 181]: https://github.com/mrkkrp/tilia/issues/181+[Issue 182]: https://github.com/mrkkrp/tilia/issues/182+[Issue 183]: https://github.com/mrkkrp/tilia/issues/183+[Issue 184]: https://github.com/mrkkrp/tilia/issues/184+[Issue 185]: https://github.com/mrkkrp/tilia/issues/185+[Issue 186]: https://github.com/mrkkrp/tilia/issues/186+[Issue 197]: https://github.com/mrkkrp/tilia/issues/197+[Issue 198]: https://github.com/mrkkrp/tilia/issues/198+[PR 200]: https://github.com/mrkkrp/tilia/pull/200+[PR 201]: https://github.com/mrkkrp/tilia/pull/201+[PR 202]: https://github.com/mrkkrp/tilia/pull/202+[PR 203]: https://github.com/mrkkrp/tilia/pull/203+[Issue 205]: https://github.com/mrkkrp/tilia/issues/205+[Issue 206]: https://github.com/mrkkrp/tilia/issues/206+[Issue 209]: https://github.com/mrkkrp/tilia/issues/209+[Issue 211]: https://github.com/mrkkrp/tilia/issues/211+[Issue 215]: https://github.com/mrkkrp/tilia/issues/215+[Issue 217]: https://github.com/mrkkrp/tilia/issues/217+[Issue 218]: https://github.com/mrkkrp/tilia/issues/218+[PR 228]: https://github.com/mrkkrp/tilia/pull/228+ ## Tilia 0.0.2.0 * Keep explicit braces on empty cases in both single-line and multiline
@@ -1,12 +1,12 @@ # Tilia * [Getting started](#getting-started)+* [Editor integration](#editor-integration) * [Excluding files](#excluding-files) * [Formatting operator chains](#formatting-operator-chains) * [Formatting CPP](#formatting-cpp) * [Comparison with other formatters](#comparison-with-other-formatters) * [Suggested setup per use-case](#suggested-setup-per-use-case)-* [Development](#development) * [Contribution](#contribution) * [License](#license) @@ -28,7 +28,7 @@ ## Getting started -The two most useful (and only!) commands are `inplace` and `check`:+The two most useful commands are `inplace` and `check`: ```console $ tilia inplace [COMPONENT] # format all files of COMPONENT in place@@ -69,9 +69,9 @@ If there is no build plan yet, or it is older than the `.cabal` and `cabal.project` files, or it says nothing about a component you asked for,-Tilia has Cabal solve it with `cabal build all --dry-run`. If the plan is+Tilia has Cabal solve it with `cabal build :all --dry-run`. If the plan is fine but some dependencies have been neither downloaded nor built, it-fetches them with `cabal build all --only-download`. These commands do not+fetches them with `cabal build :all --only-download`. These commands do not build anything, and both are one-time costs, since Cabal's package cache is shared between projects. So do not worry if the first run in a project prints a few lines from Cabal before Tilia starts formatting. Later runs@@ -97,21 +97,62 @@ declined. * `--must-not-decline` turns declined files into failures. +## Editor integration++Tilia offers a dedicated command for editor integrations:++```console+$ tilia for-editor FILE < buffer.hs+```++It reads a module from standard input and formats it as if it were the+contents of `FILE` (a path): the project, the extensions in force, and the+dependencies are found by walking upwards from `FILE` rather than from the+working directory. `FILE` need not exist, but it has to be under the+`hs-source-dirs` of a component. The formatted module goes to standard+output. A module that is declined or excluded (see below), is returned+unchanged, and a failure exits with a non-zero status and prints nothing to+standard output, so an editor keeps its buffer as it is. The module is+always formatted as a whole; there is no formatting of a selected range.++For example, with [conform.nvim](https://github.com/stevearc/conform.nvim):++```lua+require("conform").setup({+ formatters = {+ tilia = { command = "tilia", args = { "for-editor", "$FILENAME" }, stdin = true },+ },+ formatters_by_ft = { haskell = { "tilia" } },+})+```++A program that would rather call Tilia as a library, such as a language+server plugin, can use `editorSession` and `formatBuffer` from+`Tilia.Editor`, which is what `for-editor` runs.+ ## Excluding files -You can tell Tilia to skip certain files and/or directories. To do so, list-their paths in a `.tiliaignore` file at the project root:+You can tell Tilia to skip certain files and/or directories by listing them+in a `.tiliaignore` file, which Tilia reads the way Git reads `.gitignore`: ```gitignore # Fixtures compiled by a separate driver tests/shouldwork/ tests/shouldfail/++# Generated modules wherever they are, except one+*Generated.hs+!/src/Keep/Generated.hs ``` -Entries are literal file or directory paths relative to the project root,-and a directory excludes everything below it. Blank lines, surrounding-whitespace, and lines beginning with `#` are ignored. Wildcards and-re-inclusion patterns are not supported.+A `.tiliaignore` can be in the project root or in any directory below it,+and its patterns are relative to that directory. Everything `.gitignore`+offers works the same: the globs `*`, `?`, `[…]`, and `**`, a `/` at the+start or in the middle to anchor a pattern to its directory, a `/` at the+end to match directories only, `!` to re-include what an earlier pattern+excluded, `#` for comments, and `\` to escape any of these. As with Git, a+pattern in a deeper file wins over one above it, and a file whose directory+is excluded cannot be re-included. ## Formatting operator chains @@ -241,52 +282,12 @@ fast as a cached run outside of Nix (a fraction of a second on a project the size of Tilia). -## Development--Enter the development shell by either running `direnv allow` or `nix-develop`. Once in the shell, the development is ordinary Cabal:--```console-$ cabal build-$ cabal test-```--All tests are in one test suite and there are a fair number of them. On my-machine the full test suite passes in 140 seconds, but it may be different-for you, so isolating a subset of the test suite may be helpful:--```console-$ cabal test --test-options='--match "Tilia.Fixity"'-```--The test suite will perform downloads the first time you run it and so it-will be a bit slower on that run. It needs various corpora, such as Hackage-packages and GHC's own test suite, which are not checked into this-repository.--The Hackage corpus is exercised in order to ensure that every module-formats, that its AST is preserved, and that formatting it is idempotent.-The results are recorded in `corpora/hackage/hackage.manifest`. Next to it,-`hackage.report` explains the failing cases. The manifest and the report can-be updated like this:--```console-$ TILIA_CORPUS_ACCEPT=1 cabal test-```--Finally, Tilia formats itself, so make sure to run this command before you-open a PR:--```console-$ nix run .#format-```- ## Contribution Issues, bugs, and questions may be reported in [the GitHub issue tracker for this project][issue-tracker]. -Pull requests are also welcome.+Pull requests are also welcome, see [HACKING.md](./HACKING.md). [issue-tracker]: https://github.com/mrkkrp/tilia/issues
@@ -6,10 +6,12 @@ module Main (main) where import Control.Monad (when)+import Data.ByteString qualified as BS import Data.Choice (Choice, fromBool, isTrue) import Data.Foldable (traverse_) import Data.Maybe (mapMaybe) import Data.Text (Text)+import Data.Text.Encoding qualified as T import Data.Text.IO qualified as T import Data.Version (showVersion) import GHC.IO.Encoding (TextEncoding (textEncodingName))@@ -25,6 +27,7 @@ hSetEncoding, mkTextEncoding, stderr,+ stdin, stdout, ) import Tilia.Cabal.Project (ProjectRoot, findProjectRoot)@@ -37,10 +40,12 @@ filesOfComponents, parseTarget, )+import Tilia.Editor (editorSession, formatBuffer) import Tilia.Fixity.Debug (renderFixityNotes) import Tilia.Format- ( FormatError,+ ( FormatError (Unreadable), PlanSource (..),+ Session, describeFormatError, fixityNotesOf, formatErrorExitCode,@@ -49,7 +54,7 @@ import Tilia.Palette (Color (Bad), Palette, paletteFor) import Tilia.Parser (ghcLibParserVersion) import Tilia.Run- ( Outcome,+ ( Outcome (..), Report (..), checkReport, differs,@@ -58,22 +63,44 @@ inplaceReport, noted, runOver,+ stdinReport, writeBack, )-import Tilia.Utils (lineWidth, quietly)+import Tilia.Utils (asUtf8, lineWidth, quietly) -- | The program's entry point. main :: IO () main = do traverse_ transliterateUnprintable [stdout, stderr]- Opts{..} <- customExecParser (prefs (columns lineWidth)) optsParserInfo+ opts <- customExecParser (prefs (columns lineWidth)) optsParserInfo palette <- paletteFor- target <-- either- (die usageExitCode palette)- pure- (maybe (parseTarget "all") parseTarget optTarget)- (root, components) <- componentsFor palette target+ let cmd = optCommand opts+ outcomes <- case cmd of+ Inplace target -> do+ outcomes <- formatComponents palette opts target+ traverse_ writeBack outcomes+ outcomes <$ printReport (inplaceReport palette outcomes)+ Check target -> do+ outcomes <- formatComponents palette opts target+ outcomes <$ printReport (checkReport palette outcomes)+ ForEditor file -> do+ (input, outcomes) <- formatStdin palette opts file+ outcomes <$ printReport (stdinReport palette input outcomes)+ exitWith cmd outcomes++-- | Format the files of the components a target asks for.+formatComponents ::+ Palette ->+ Opts ->+ Maybe String ->+ IO [(FilePath, Outcome)]+formatComponents palette opts@Opts{..} target = do+ (root, components) <-+ componentsFor palette+ =<< either+ (die usageExitCode palette)+ pure+ (maybe (parseTarget "all") parseTarget target) files <- traverse makeRelativeToCurrentDirectory =<< filesOfComponents root components@@ -90,17 +117,67 @@ optCheckIdempotence optDebugFixity >>= either (dieFormatting palette) pure- outcomes <-- (if isTrue optMustNotDecline then fmap (fmap failIfDeclined) else id)- <$> runOver session files+ formatWith palette opts session (`runOver` files)++-- | Format the module read from standard input as the given file, and say+-- what became of it, together with the module as it was read.+formatStdin ::+ Palette ->+ Opts ->+ FilePath ->+ IO (Text, [(FilePath, Outcome)])+formatStdin palette opts@Opts{..} file = do+ input <- readStandardInput+ case asUtf8 input of+ Left why -> pure ("", [(file, Failed (Unreadable file why))])+ Right before -> do+ outcomes <-+ editorSession+ file+ optBuildPlan+ optUseCache+ optDownload+ optCheckAst+ optCheckIdempotence+ optDebugFixity+ >>= \case+ Left e -> pure [(file, Failed e)]+ Right session ->+ formatWith palette opts session $ \s ->+ pure . (file,) <$> formatBuffer s file before+ pure (before, outcomes)++-- | Format with a session and print how it settled fixities, counting a+-- declined file as failed where the options say so.+formatWith ::+ Palette ->+ Opts ->+ Session ->+ (Session -> IO [(FilePath, Outcome)]) ->+ IO [(FilePath, Outcome)]+formatWith palette Opts{..} session formatting = do+ outcomes <- formatting session+ printFixityNotes palette session+ pure $+ if isTrue optMustNotDecline+ then fmap (fmap failIfDeclined) outcomes+ else outcomes++-- | Read standard input to its end without closing it, which would hand its+-- descriptor to whatever is opened next.+readStandardInput :: IO BS.ByteString+readStandardInput = BS.concat <$> chunks+ where+ chunks = do+ chunk <- BS.hGetSome stdin 32768+ if BS.null chunk then pure [] else (chunk :) <$> chunks++-- | Print how the session settled every file's fixities, if it was asked to+-- keep an account of that.+printFixityNotes :: Palette -> Session -> IO ()+printFixityNotes palette session = fixityNotesOf session >>= traverse_ (T.hPutStrLn stderr) . renderFixityNotes palette- case optMode of- Inplace -> do- traverse_ writeBack outcomes- printReport (inplaceReport palette outcomes)- Check -> printReport (checkReport palette outcomes)- exitWith optMode outcomes -- | Transliterate unprintable characters if the output stream cannot handle -- them.@@ -114,22 +191,23 @@ hSetEncoding h =<< mkTextEncoding (name <> "//TRANSLIT") _ -> pure () --- | Exit with a status code determined by 'Mode' of operation and the--- formatting 'Outcome's.-exitWith :: Mode -> [(FilePath, Outcome)] -> IO ()-exitWith mode outcomes = case exitCodeOf outcomes of+-- | Exit with a status code determined by the 'Command' and the formatting+-- 'Outcome's.+exitWith :: Command -> [(FilePath, Outcome)] -> IO ()+exitWith cmd outcomes = case exitCodeOf outcomes of Just code -> System.Exit.exitWith (ExitFailure code)- Nothing -> case mode of- Inplace -> pure ()- Check ->+ Nothing -> case cmd of+ Inplace _ -> pure ()+ Check _ -> when (any (differs . snd) outcomes) (System.Exit.exitWith (ExitFailure 1))+ ForEditor _ -> pure () -- | Print a 'Report'. printReport :: Report -> IO () printReport report = do- traverse_ T.putStrLn (reportOut report)+ BS.putStr (T.encodeUtf8 (reportOut report)) hFlush stdout traverse_ (T.hPutStrLn stderr) (reportErr report) hFlush stderr@@ -167,15 +245,20 @@ ---------------------------------------------------------------------------- -- Command line options --- | The mode of operation.-data Mode = Inplace | Check+-- | Command.+data Command+ = -- | Format the files of a component, or of all of them, in place.+ Inplace (Maybe String)+ | -- | Report what formatting the files of a component, or of all of them,+ -- would change.+ Check (Maybe String)+ | -- | Format the module read from standard input as the given file.+ ForEditor FilePath -- | The command line options. data Opts = Opts- { -- | The mode of operation.- optMode :: Mode,- -- | Which component to work on, if not all of them.- optTarget :: Maybe String,+ { -- | What to do.+ optCommand :: Command, -- | Whether to check AST equivalence. optCheckAst :: Choice "checkAst", -- | Whether to check idempotence.@@ -214,15 +297,27 @@ hsubparser . mconcat $ [ command "inplace"- (info (parser Inplace) (progDesc "Format files, in place")),+ ( info+ (parser (Inplace <$> optional targetArgument))+ (progDesc "Format files, in place")+ ), command "check"- (info (parser Check) (progDesc "Report what formatting would change, and fail if anything would"))+ ( info+ (parser (Check <$> optional targetArgument))+ (progDesc "Report what formatting would change, and fail if anything would")+ ),+ command+ "for-editor"+ ( info+ (parser (ForEditor <$> fileArgument))+ (progDesc "Format a module read from standard input as FILE, and print it")+ ) ] where- parser mode =- Opts mode- <$> optional targetArgument+ parser cmd =+ Opts+ <$> cmd <*> checkAstSwitch <*> checkIdempotenceSwitch <*> debugFixitySwitch@@ -276,4 +371,9 @@ (strArgument . mconcat) [ metavar "COMPONENT", help "Component to format: all (the default) or a package/component name"+ ]+ fileArgument =+ (strArgument . mconcat)+ [ metavar "FILE",+ help "File whose contents are read from standard input" ]
@@ -0,0 +1,521 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}++-- | Measure what formatting a fixed sample of modules costs, and compare+-- what it allocates and the instructions it retires with the record kept+-- in the repository.+module Main (main) where++import Control.Applicative ((<|>))+import Control.Exception (SomeException, try)+import Control.Monad (join, mfilter, unless)+import Data.Containers.ListUtils (nubOrd)+import Data.Foldable (for_)+import Data.Int (Int64)+import Data.List (sortOn)+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map+import Data.Maybe (fromMaybe, isJust, listToMaybe)+import Data.Ord (Down (..))+import Data.Text (Text)+import Data.Text qualified as T+import Data.Text.IO qualified as T+import Data.Traversable (for)+import Data.Version (showVersion)+import Data.Word (Word64)+import Options.Applicative+ ( Parser,+ ParserInfo,+ execParser,+ fullDesc,+ help,+ helper,+ info,+ long,+ maybeReader,+ metavar,+ option,+ optional,+ progDesc,+ showDefault,+ strOption,+ value,+ )+import System.Environment (lookupEnv)+import System.Exit (die, exitFailure)+import System.IO (BufferMode (..), hSetBuffering, stdout)+import System.Info (fullCompilerVersion)+import Text.Printf (printf)+import Text.Read (readMaybe)+import Tilia.Bench.Cases+import Tilia.Bench.Fixity+import Tilia.Bench.Measure+import Tilia.Bench.Record+import Tilia.Corpus (hackagePackages, obtain)++-- | How the benchmarks were asked to run.+data Options = Options+ { -- | How many runs to measure after the one that warms up.+ optRuns :: Int,+ -- | Run only the benchmarks whose module names hold this.+ optMatch :: Maybe Text,+ -- | How far one benchmark's allocations or instructions may move from+ -- the record before it is out of date, as a fraction.+ optTolerance :: Double,+ -- | How far the allocations or instructions of all the benchmarks of a+ -- stage may move, as a fraction.+ optTotalTolerance :: Double,+ -- | Where to save what was measured.+ optSave :: Maybe FilePath,+ -- | What an earlier run saved, to compare this one with.+ optBaseline :: Maybe FilePath+ }++-- | A benchmark, by stage and module.+type Key = (Text, Text)++main :: IO ()+main = do+ hSetBuffering stdout LineBuffering+ options <- execParser optionsInfo+ accepting <- (== Just "1") <$> lookupEnv "TILIA_BENCH_ACCEPT"+ examples <- obtain hackagePackages >>= either (die . T.unpack) pure+ sampled <- corpusSubjects examples >>= either (die . T.unpack) pure+ let matching name = maybe True (`T.isInfixOf` name) (optMatch options)+ subjects =+ [s | s <- sampled <> syntheticSubjects, matching (subjectName s)]+ partial = isJust (optMatch options)+ counter <- openCounter+ processor <- (<* counter) <$> processorName+ written <- readRecord recordPath+ baseline <- traverse readBaseline (optBaseline options)+ let measuring stage s work input = do+ (result, m) <-+ measure counter (optRuns options) work (maybe 0 T.length) input+ let k = (stageName stage, subjectName s)+ shown = comparable processor (recordInterfaces written) written+ T.putStrLn (lineFor (Just shown) baseline k m)+ pure (result, (k, m))+ formatted <- fmap concat . for subjects $ \s -> do+ (out, formatting) <-+ measuring Format s (subjectFormat s) (subjectSource s)+ checking <- case (subjectCheck s, out) of+ (Just check, Just printed) ->+ pure . snd <$> measuring Check s check printed+ _ -> pure []+ pure (formatting : checking)+ ended <- withFixityBenchmarks $ \(resolving, interfaces) -> do+ let record = comparable processor interfaces written+ decoding = recordInterfaces written == interfaces+ checked (stage, _) = decoding || stage /= stageName Decode+ others <- for [b | b <- resolving, matching (benchmarkName b)] $ \b -> do+ (_, m) <- measureIO counter (optRuns options) (benchmarkRun b) id+ let k = (stageName (benchmarkStage b), benchmarkName b)+ shown = if checked k then Just record else Nothing+ T.putStrLn (lineFor shown baseline k m)+ pure (k, m)+ let measured = formatted <> others+ for_ (optSave options) (`writeBaseline` measured)+ totalled record measured+ for_ baseline (summarize measured)+ if accepting+ then do+ let entryOf k m =+ steadied (Map.lookup k (recordEntries record)) $+ Entry+ (measuredAllocated m)+ (measuredInstructions m <* processor)+ writeRecord+ recordPath+ Record+ { recordCompiler = compiler,+ recordProcessor = fromMaybe "none" processor,+ recordInterfaces = interfaces,+ recordEntries =+ Map.union+ (Map.fromList [(k, entryOf k m) | (k, m) <- measured])+ (if partial then recordEntries record else Map.empty)+ }+ putStrLn ("Wrote " <> recordPath <> ".")+ else do+ for_ (unchecked processor record) $ \reason ->+ T.putStrLn ("\nInstructions are not checked: " <> reason <> ".")+ unless decoding $+ putStrLn+ "\nDecoding is not checked: the record decoded other interfaces."+ let problems =+ verdict+ options+ record+ partial+ [x | x@(k, _) <- measured, checked k]+ unless (null problems) $ do+ putStrLn ""+ for_ problems T.putStrLn+ putStrLn ""+ putStrLn "If that is the intended change, regenerate the record:"+ putStrLn " TILIA_BENCH_ACCEPT=1 cabal bench"+ exitFailure+ either (die . T.unpack) pure ended++-- | Where the record is kept, relative to the package.+recordPath :: FilePath+recordPath = "bench/bench.record"++-- | The compiler running the benchmarks.+compiler :: Text+compiler = T.pack ("ghc " <> showVersion fullCompilerVersion)++-- | The processor running the benchmarks, as Linux names it.+processorName :: IO (Maybe Text)+processorName =+ try (T.readFile "/proc/cpuinfo") >>= \case+ Left (_ :: SomeException) -> pure Nothing+ Right cpus ->+ pure $+ listToMaybe+ [ T.strip (T.drop 1 said)+ | (key, said) <- T.breakOn ":" <$> T.lines cpus,+ T.strip key == "model name"+ ]++-- | Forget what a record says that does not hold here: the instructions it+-- counted on another processor than this one, and what decoding other+-- interfaces than these cost.+comparable :: Maybe Text -> Text -> Record -> Record+comparable processor interfaces record =+ record{recordEntries = Map.mapMaybeWithKey kept (recordEntries record)}+ where+ kept (stage, _) e+ | stage == stageName Decode,+ recordInterfaces record /= interfaces =+ Nothing+ | processor == Just (recordProcessor record) = Just e+ | otherwise = Just e{entryInstructions = Nothing}++-- | Why the instructions are not checked against the record, where they+-- are not.+unchecked :: Maybe Text -> Record -> Maybe Text+unchecked processor record+ | Nothing <- processor = Just "they cannot be counted here"+ | recordProcessor record == "none" = Just "the record has none"+ | processor /= Just (recordProcessor record) =+ Just ("the record counted them on " <> recordProcessor record)+ | otherwise = Nothing++-- | What the benchmarks can be asked to do.+optionsInfo :: ParserInfo Options+optionsInfo =+ info (helper <*> optionsParser) . mconcat $+ [ fullDesc,+ progDesc "Measure what Tilia costs and check it against the record"+ ]++-- | The options of the benchmarks.+optionsParser :: Parser Options+optionsParser =+ Options+ <$> (option positive . mconcat)+ [ long "runs",+ metavar "N",+ value 1,+ showDefault,+ help "How many runs to measure after the one that warms up"+ ]+ <*> (optional . strOption . mconcat)+ [ long "match",+ metavar "TEXT",+ help "Run only the benchmarks whose names hold TEXT"+ ]+ <*> (option percent . mconcat)+ [ long "tolerance",+ metavar "PERCENT",+ value 0.005,+ help "How far one benchmark may move from the record (default: 0.5)"+ ]+ <*> (option percent . mconcat)+ [ long "total-tolerance",+ metavar "PERCENT",+ value 0.0005,+ help "How far the benchmarks of a stage may move (default: 0.05)"+ ]+ <*> (optional . strOption . mconcat)+ [ long "save",+ metavar "FILE",+ help "Save the time and instructions of every benchmark to FILE"+ ]+ <*> (optional . strOption . mconcat)+ [ long "baseline",+ metavar "FILE",+ help "Compare with what an earlier run saved to FILE"+ ]+ where+ positive = maybeReader (mfilter (> 0) . readMaybe)+ percent = maybeReader (fmap (/ 100) . mfilter (>= 0) . readMaybe)++-- | One benchmark's line of the report: its time, against the baseline+-- where there is one, and what it allocated and the instructions it+-- retired, against the record where it is checked against one.+lineFor :: Maybe Record -> Maybe Baseline -> Key -> Measurement -> Text+lineFor record baseline k@(stage, name) m =+ T.pack $+ printf+ "%-7s %8.3f s %-9s %10.1f MB %-11s %s %-9s %s%s"+ stage+ (seconds (measuredTime m))+ (maybe "" ((`against` measuredTime m) . fst) (Map.lookup k =<< baseline))+ (megabytes (measuredAllocated m))+ (maybe "(unchecked)" (maybe "(new)" (changeOf allocations)) entry)+ (instructionsColumn (measuredInstructions m))+ (maybe "" (changeOf instructions) (join entry))+ name+ differing+ where+ entry = Map.lookup k . recordEntries <$> record+ changeOf cost e = maybe "" (uncurry against) (summed cost [(e, m)])+ differing :: String+ differing+ | measuredSpread m > 0.001 =+ printf " (runs differ by %.2f%%)" (100 * measuredSpread m)+ | otherwise = ""++-- | A cost the record keeps for every benchmark.+data Cost = Cost+ { -- | The verb that says how it moved.+ costVerb :: Text,+ -- | The noun that follows how far it moved.+ costNoun :: Text,+ -- | What the record says it is.+ costRecorded :: Entry -> Maybe Word64,+ -- | What was measured.+ costMeasured :: Measurement -> Maybe Word64+ }++-- | The bytes allocated.+allocations :: Cost+allocations =+ Cost "allocates" "" (Just . entryAllocated) (Just . measuredAllocated)++-- | The instructions retired, where they were counted.+instructions :: Cost+instructions =+ Cost "retires" " instructions" entryInstructions measuredInstructions++-- | What the record says and what was measured of a cost, summed over the+-- benchmarks that have it on both sides.+summed :: Cost -> [(Entry, Measurement)] -> Maybe (Word64, Word64)+summed cost pairs =+ case [ (old, new)+ | (e, m) <- pairs,+ Just old <- [costRecorded cost e],+ Just new <- [costMeasured cost m]+ ] of+ [] -> Nothing+ both -> Just (sum (fmap fst both), sum (fmap snd both))++-- | What is wrong with the record, given what was measured: one line for+-- every benchmark it is out of date for, and for every stage whose+-- benchmarks together cost more or less than it says.+verdict :: Options -> Record -> Bool -> [(Key, Measurement)] -> [Text]+verdict options record partial measured+ | recordCompiler record /= compiler =+ [ "The record was made with "+ <> (if T.null made then "no compiler" else made)+ <> " and these benchmarks were built with "+ <> compiler+ <> ", which allocates differently."+ ]+ | otherwise =+ concatMap judged measured+ <> [ "In the record but not measured: " <> stage <> " " <> name+ | not partial,+ k@(stage, name) <- Map.keys (recordEntries record),+ k `notElem` fmap fst measured+ ]+ <> [ moving cost ("all of " <> stage) old new+ | stage <- stages measured,+ cost <- [allocations, instructions],+ Just (old, new) <- [summed cost (known record stage measured)],+ moved (optTotalTolerance options) old new+ ]+ where+ made = recordCompiler record+ judged (k@(stage, name), m) = case Map.lookup k (recordEntries record) of+ Nothing -> ["Not in the record: " <> stage <> " " <> name]+ Just e ->+ [ moving cost (stage <> " " <> name) old new+ | cost <- [allocations, instructions],+ Just (old, new) <- [summed cost [(e, m)]],+ moved (optTolerance options) old new+ ]+ moving :: Cost -> Text -> Word64 -> Word64 -> Text+ moving cost subject old new =+ T.pack $+ printf+ "%s %s %.2f%% %s%s than the record says"+ subject+ (costVerb cost)+ (abs (change (fromIntegral old) (fromIntegral new)))+ (if new > old then "more" else "less" :: String)+ (costNoun cost)++-- | Has a cost moved further than a fraction of what it was?+moved :: Double -> Word64 -> Word64 -> Bool+moved tolerance old new =+ abs (fromIntegral new - fromIntegral old)+ > tolerance * (fromIntegral old :: Double)++-- | What to record for a benchmark: each cost as the record has it where it+-- moved no further than two runs of one build differ, so that writing the+-- record again changes only what moved.+steadied :: Maybe Entry -> Entry -> Entry+steadied recorded new = case recorded of+ Nothing -> new+ Just old ->+ Entry+ { entryAllocated = held (entryAllocated old) (entryAllocated new),+ entryInstructions =+ (held <$> entryInstructions old <*> entryInstructions new)+ <|> entryInstructions new+ }+ where+ held o n = if moved jitter o n then n else o++-- | How far a cost moves between two runs of one build, as a fraction.+jitter :: Double+jitter = 0.0001++-- | Say what the benchmarks of each stage took, allocated and retired+-- together, and how that compares with the record.+totalled :: Record -> [(Key, Measurement)] -> IO ()+totalled record measured = do+ putStrLn ""+ for_ (stages measured) $ \stage -> do+ let ms = [m | ((s, _), m) <- measured, s == stage]+ sumOf f = sum (fmap f ms)+ changeOf cost =+ maybe "" (uncurry against) (summed cost (known record stage measured))+ printf+ "%-7s %8.3f s %9s %10.1f MB %-11s %s %-9s %d benchmarks\n"+ stage+ (seconds (sumOf measuredTime))+ ("" :: String)+ (megabytes (sumOf measuredAllocated))+ (changeOf allocations)+ (instructionsColumn (sum <$> traverse measuredInstructions ms))+ (changeOf instructions)+ (length ms)++-- | The stages measured, in the order they were.+stages :: [(Key, Measurement)] -> [Text]+stages = nubOrd . fmap (fst . fst)++-- | What the record and the measurements say about each benchmark of a+-- stage that both have.+known :: Record -> Text -> [(Key, Measurement)] -> [(Entry, Measurement)]+known record stage measured =+ [ (e, m)+ | (k@(s, _), m) <- measured,+ s == stage,+ Just e <- [Map.lookup k (recordEntries record)]+ ]++-- | What an earlier run measured: the time of every benchmark and the+-- instructions it retired, where they were counted.+type Baseline = Map Key (Int64, Maybe Word64)++-- | Save what was measured.+writeBaseline :: FilePath -> [(Key, Measurement)] -> IO ()+writeBaseline path measured =+ T.writeFile path . T.unlines $+ [ T.unwords+ [ stage,+ T.pack (show (measuredTime m)),+ maybe "-" (T.pack . show) (measuredInstructions m),+ name+ ]+ | ((stage, name), m) <- measured+ ]++-- | Read what 'writeBaseline' saved.+readBaseline :: FilePath -> IO Baseline+readBaseline path = do+ text <- T.readFile path+ pure $+ Map.fromList+ [ ((stage, T.unwords rest), (t, readMaybe (T.unpack retired)))+ | stage : time : retired : rest <- fmap T.words (T.lines text),+ Just t <- [readMaybe (T.unpack time)]+ ]++-- | Say how the benchmarks measured on both sides moved against the+-- baseline, all together and where they moved most: by the instructions+-- they retired where both sides counted them, by time otherwise.+summarize :: [(Key, Measurement)] -> Baseline -> IO ()+summarize measured baseline =+ unless (null both) $ do+ putStrLn ""+ printf "Against the baseline, over %d benchmarks:\n" (length both)+ printf+ " time %.3f s -> %.3f s %s\n"+ (seconds oldTime)+ (seconds newTime)+ (oldTime `against` newTime)+ for_ counted $ \retired ->+ let old = sum (fmap fst retired)+ new = sum (fmap snd retired)+ in printf+ " instructions %.3f G -> %.3f G %s\n"+ (billions old)+ (billions new)+ (old `against` new)+ for_ (take 5 (sortOn (Down . abs . snd) movers)) $ \((stage, name), c) ->+ printf " (%+.2f%%) %-7s %s\n" c stage name+ where+ both =+ [ (k, ((t, i), (measuredTime m, measuredInstructions m)))+ | (k, m) <- measured,+ Just (t, i) <- [Map.lookup k baseline]+ ]+ oldTime = sum [t | (_, ((t, _), _)) <- both]+ newTime = sum [t | (_, (_, (t, _))) <- both]+ counted =+ traverse (\(_, ((_, old), (_, new))) -> (,) <$> old <*> new) both+ movers = case counted of+ Just retired ->+ zip (fmap fst both) [change' old new | (old, new) <- retired]+ Nothing ->+ [(k, change' old new) | (k, ((old, _), (new, _))) <- both]+ change' :: (Integral a) => a -> a -> Double+ change' old new = change (fromIntegral old) (fromIntegral new)++-- | How much a quantity moved from the first value to the second, as the+-- report writes it.+against :: (Integral a) => a -> a -> String+against old new =+ printf "(%+.2f%%)" (change (fromIntegral old) (fromIntegral new))++-- | How much a quantity moved, in percent.+change :: Double -> Double -> Double+change old new+ | old == 0 = 0+ | otherwise = 100 * (new - old) / old++-- | Instructions, in billions, or as much space where they were not+-- counted.+instructionsColumn :: Maybe Word64 -> String+instructionsColumn =+ maybe (replicate 15 ' ') (printf "%7.3f G instr" . billions)++-- | Nanoseconds, in seconds.+seconds :: Int64 -> Double+seconds ns = fromIntegral ns / 1e9++-- | Bytes, in megabytes.+megabytes :: Word64 -> Double+megabytes b = fromIntegral b / 1e6++-- | A count, in billions.+billions :: Word64 -> Double+billions n = fromIntegral n / 1e9
@@ -0,0 +1,247 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++-- | What the benchmarks of formatting measure: formatting a fixed sample of+-- the Hackage corpus and checking what that printed, and formatting modules+-- made to stress one part of the formatter each.+module Tilia.Bench.Cases+ ( Stage (..),+ stageName,+ Benchmark (..),+ Subject (..),+ corpusSubjects,+ syntheticSubjects,+ )+where++import Data.ByteString qualified as BS+import Data.Map.Strict qualified as Map+import Data.Text (Text)+import Data.Text qualified as T+import Data.Text.Encoding (decodeUtf8')+import Data.Traversable (for)+import GHC.LanguageExtensions.Type (Extension)+import Tilia.Corpus (Example (..))+import Tilia.Cpp (everyBranch, formatWithCpp, usesCpp)+import Tilia.Doc (defaultRenderOptions, printDoc)+import Tilia.Format (rewritten)+import Tilia.Parser (parseModule, parserConfigFor)+import Tilia.Pragma (effectiveExtensions)+import Tilia.Render (defaultRenderConfig, renderModule)+import Tilia.TestConfig (exampleRenderConfig)++-- | What part of a run a benchmark measures.+data Stage+ = -- | Formatting a module.+ Format+ | -- | Checking that what formatting printed is the program it was given,+ -- as @--check-ast@ does.+ Check+ | -- | Reading what the modules of a package establish out of its tarball.+ Resolve+ | -- | The same, out of a cache that an earlier reading filled.+ Recall+ | -- | Decoding the interfaces of a package.+ Decode++-- | A stage, as the record and the report spell it.+stageName :: Stage -> Text+stageName = \case+ Format -> "format"+ Check -> "check"+ Resolve -> "resolve"+ Recall -> "recall"+ Decode -> "decode"++-- | A benchmark of something other than formatting a module.+data Benchmark = Benchmark+ { -- | What it measures.+ benchmarkStage :: Stage,+ -- | What it measures that on.+ benchmarkName :: Text,+ -- | Set one run up, giving the work, which says how much it computed.+ benchmarkRun :: IO (IO Int)+ }++-- | A module the benchmarks format, and check where they check it.+data Subject = Subject+ { -- | Its name in the corpus, or the stress it makes.+ subjectName :: Text,+ -- | The module.+ subjectSource :: Text,+ -- | Format it, or 'Nothing' where it is declined.+ subjectFormat :: Text -> Maybe Text,+ -- | Check what formatting it printed, giving what changed, where it is+ -- checked.+ subjectCheck :: Maybe (Text -> Maybe Text)+ }++-- | The corpus modules formatted and checked, by the name the corpus gives+-- them: middling ones from many packages, a few with conditionals among+-- them.+checked :: [FilePath]+checked =+ [ "haxl-2.5.1.1/Haxl/Core/Monad.hs",+ "vector-0.13.2.0/src/Data/Vector/Generic.hs",+ "aeson-2.3.1.0/src/Data/Aeson/KeyMap.hs",+ "pandoc-3.10.2/src/Text/Pandoc/Class/PandocPure.hs",+ "lifted-base-0.2.3.12/Control/Exception/Lifted.hs",+ "text-2.1.4/tests/Tests/Properties/Folds.hs",+ "ShellCheck-0.11.0/src/ShellCheck/Analytics.hs",+ "Agda-2.8.0/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs",+ "idris-1.3.4/src/Idris/Elab/Term.hs",+ "pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint/Output.hs",+ "purescript-0.15.15/src/Language/PureScript/Errors.hs",+ "pandoc-3.10.2/src/Text/Pandoc/Readers/Markdown.hs",+ "esqueleto-3.6.0.3/test/PostgreSQL/Test.hs",+ "unpacked-containers-0/src/Map/Internal.hs",+ "purescript-0.15.15/src/Language/PureScript/TypeChecker/Types.hs",+ "distributed-process-0.7.8/src/Control/Distributed/Process/Node.hs",+ "servant-server-0.20.3.0/src/Servant/Server/Internal.hs",+ "brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal\+ \/Transformations/Alt.hs",+ "xmonad-0.18.1/src/XMonad/Operations.hs",+ "swagger2-2.9.1/src/Data/Swagger/Internal.hs",+ "time-1.16.0.1/test/main/Test/Format/ParseTime.hs",+ "optparse-applicative-0.19.0.0/tests/test.hs",+ "blaze-html-0.9.2.0/src/Text/Blaze/Html5/Attributes.hs",+ "tls-2.4.3/Network/TLS/Extension.hs",+ "recursion-schemes-5.2.3/src/Data/Functor/Foldable.hs",+ "megaparsec-9.8.1/Text/Megaparsec/Internal.hs"+ ]++-- | The corpus modules only formatted: the largest ones, whose checks would+-- take most of the time.+formattedOnly :: [FilePath]+formattedOnly =+ [ "QuickCheck-2.18.0.0/src/Test/QuickCheck/Arbitrary.hs",+ "unordered-containers-0.2.21/Data/HashMap/Internal.hs",+ "lens-5.3.6/src/Control/Lens/Wrapped.hs",+ "text-2.1.4/src/Data/Text/Internal/Fusion/CaseMapping.hs"+ ]++-- | The modules of the corpus measured, or which one the corpus does not+-- have.+corpusSubjects :: [Example] -> IO (Either Text [Subject])+corpusSubjects examples =+ sequence+ <$> for+ (fmap (,True) checked <> fmap (,False) formattedOnly)+ (uncurry load)+ where+ byName = Map.fromList [(exampleName e, e) | e <- examples]+ load name isChecked = case Map.lookup name byName of+ Nothing -> pure (Left ("the corpus has no " <> T.pack name))+ Just example -> do+ bytes <- BS.readFile (exampleInput example)+ pure $ case decodeUtf8' bytes of+ Left _ -> Left (T.pack name <> " is not valid UTF-8")+ Right source ->+ Right $+ subjectOf+ (exampleExtensions example)+ isChecked+ (T.pack name)+ source++-- | Modules made to stress one part of the formatter each.+syntheticSubjects :: [Subject]+syntheticSubjects =+ [ subjectOf [] False "synthetic/comments" commented,+ subjectOf [] False "synthetic/imports" imported,+ subjectOf [] False "synthetic/conditionals" conditional,+ subjectOf [] False "synthetic/nesting" nested+ ]+ where+ commented =+ T.unlines $+ ["module Commented where", ""]+ <> concat+ [ [ "-- | The function number " <> n <> ", which is documented.",+ "f" <> n <> " :: Int -> Int -- the type",+ "f" <> n <> " x =",+ " {- a block comment -} x + " <> n <> " -- an end-of-line one",+ ""+ ]+ | n <- numbers 1500+ ]+ imported =+ T.unlines $+ ["module Imported where", ""]+ <> [ "import M" <> m <> " (f" <> n <> ", T" <> n <> " (..))"+ | n <- numbers 4,+ m <- numbers 250+ ]+ <> ["", "x :: Int", "x = 1"]+ conditional =+ T.unlines $+ ["{-# LANGUAGE CPP #-}", "module Conditional where", ""]+ <> concat+ [ [ "#ifdef FLAG" <> n,+ "g" <> n <> " :: Int",+ "g" <> n <> " = " <> n,+ "#else",+ "g" <> n <> " :: Integer",+ "g" <> n <> " = " <> n <> " + 1",+ "#endif",+ ""+ ]+ | n <- numbers 24+ ]+ nested =+ T.unlines+ [ "module Nested where",+ "",+ "deep :: Int -> Int",+ "deep x =",+ " " <> foldr deeper "x" (numbers 40),+ "",+ "wide :: [Int]",+ "wide = [" <> T.intercalate ", " (numbers 5000) <> "]"+ ]+ deeper n e =+ "case x of { " <> n <> " -> (" <> e <> "); _ -> x + " <> n <> " }"+ numbers k = fmap (T.pack . show) [1 :: Int .. k]++-- | A module to format, and to check what that printed where it is+-- checked.+subjectOf :: [Extension] -> Bool -> Text -> Text -> Subject+subjectOf package isChecked name source =+ Subject+ { subjectName = name,+ subjectSource = source,+ subjectFormat = formatted package path,+ subjectCheck =+ if isChecked+ then Just (fst . rewritten parser cpp path (source, tree))+ else Nothing+ }+ where+ path = T.unpack name+ parser = parserConfigFor package+ cpp = usesCpp (effectiveExtensions package source) source+ tree+ | cpp = Nothing+ | otherwise = either (const Nothing) Just (parseModule parser path source)++-- | What formatting a module prints, as the corpus does it, or 'Nothing'+-- where it is declined.+formatted :: [Extension] -> FilePath -> Text -> Maybe Text+formatted package path source+ | usesCpp (effectiveExtensions package source) source =+ either (const Nothing) Just (formatWithCpp parser configured path source)+ | otherwise = case parseModule parser path source of+ Left _ -> Nothing+ Right p ->+ Just+ ( printDoc+ defaultRenderOptions+ (renderModule (exampleRenderConfig package source (pure p)) p)+ )+ where+ parser = parserConfigFor package+ configured =+ maybe+ defaultRenderConfig+ (exampleRenderConfig package source)+ (everyBranch parser path source)
@@ -0,0 +1,211 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE OverloadedLabels #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}++-- | What the benchmarks of fixity resolution measure: reading every module+-- of a few packages of the Hackage corpus out of their tarballs, the same+-- out of a cache that an earlier reading filled, and decoding every+-- interface of a few packages the compiler ships with.+module Tilia.Bench.Fixity (withFixityBenchmarks) where++import Control.DeepSeq (force)+import Control.Exception (bracket_, evaluate)+import Control.Monad (filterM, join, unless)+import Crypto.Hash.SHA256 qualified as SHA256+import Data.ByteString qualified as BS+import Data.ByteString.Base16 qualified as B16+import Data.Choice (pattern Do, pattern Don't)+import Data.Either (rights)+import Data.Foldable (for_)+import Data.IORef (newIORef, readIORef, writeIORef)+import Data.Maybe (catMaybes, fromMaybe, listToMaybe)+import Data.Text (Text)+import Data.Text qualified as T+import Data.Text.Encoding qualified as T+import Data.Traversable (for)+import System.Directory+ ( createDirectoryIfMissing,+ createFileLink,+ doesFileExist,+ removePathForcibly,+ )+import System.Environment (lookupEnv, setEnv, unsetEnv)+import System.FilePath ((<.>), (</>))+import System.Process (getCurrentPid)+import Text.Printf (printf)+import Tilia.Bench.Cases (Benchmark (..), Stage (..))+import Tilia.Corpus (Corpus (..), Source (..), corpusCache, hackagePackages)+import Tilia.Fixity.Cabal (packageModules)+import Tilia.Fixity.Cache (Cache, PlanToken (..), openCache)+import Tilia.Fixity.HiFile (decodeHiFile)+import Tilia.Fixity.Interface (fromHiFile)+import Tilia.Fixity.PackageDb+ ( Installed (..),+ InstalledPackage (..),+ readInstalledPackages,+ )+import Tilia.Fixity.Plan++-- | The packages of the Hackage corpus whose every module is read.+resolved :: [String]+resolved =+ [ "lens-5.3.6",+ "aeson-2.3.1.0",+ "megaparsec-9.8.1",+ "servant-0.20.3.0",+ "conduit-1.3.6.1",+ "vector-0.13.2.0",+ "text-2.1.4",+ "free-5.2",+ "optics-0.4.2.1",+ "semigroupoids-6.0.2",+ "pandoc-types-1.23.1.2",+ "mtl-2.3.2"+ ]++-- | The packages the compiler ships with whose every interface is decoded.+decoded :: [Text]+decoded =+ [ "base",+ "ghc-internal",+ "containers",+ "template-haskell",+ "bytestring",+ "text"+ ]++-- | The packages the compiler ships with and the corpus does not hold, at+-- the versions it ships, which the plan names so that the macros of their+-- versions are defined.+shipped :: [(Text, Text)]+shipped =+ [ ("array", "0.5.8.0"),+ ("base", "4.20.2.0"),+ ("binary", "0.8.9.3"),+ ("bytestring", "0.12.2.0"),+ ("containers", "0.7"),+ ("deepseq", "1.5.0.0"),+ ("directory", "1.3.8.5"),+ ("filepath", "1.5.4.0"),+ ("ghc-prim", "0.12.0"),+ ("process", "1.6.26.1"),+ ("template-haskell", "2.22.0.0"),+ ("unix", "2.8.7.0")+ ]++-- | Set the benchmarks of fixity resolution up in a directory of their own,+-- run what is given on them and on a digest of the interfaces they decode,+-- which what decoding them allocates depends on, and remove the directory.+--+-- The directory's path is as long on every machine, since what reading the+-- cache and the tarballs allocates depends on the length of their paths.+-- Setting them up leaves pinned data in the heap, which moves where the+-- collections fall in the benchmarks that run after it, so this goes after+-- the benchmarks of formatting.+withFixityBenchmarks :: (([Benchmark], Text) -> IO a) -> IO (Either Text a)+withFixityBenchmarks use = do+ pid <- getCurrentPid+ let dir = printf "/tmp/tilia-bench-%010d" (fromIntegral pid :: Int)+ bracket_+ (createDirectoryIfMissing True (dir </> "tarballs"))+ (removePathForcibly dir)+ (fixityBenchmarks dir >>= traverse use)++-- | The benchmarks of fixity resolution, set up in the directory given, and+-- a digest of the interfaces they decode.+fixityBenchmarks :: FilePath -> IO (Either Text ([Benchmark], Text))+fixityBenchmarks dir = do+ corpus <- (</> corpusName hackagePackages) <$> corpusCache+ let releases = case corpusSource hackagePackages of+ HackageReleases names -> names+ _ -> []+ tarballOf release = dir </> "tarballs" </> release <.> "tar.gz"+ tarballs = [(planned release, tarballOf release) | release <- releases]+ plan =+ BuildPlan+ { bpCompiler = "ghc-9.10.3",+ bpPackages =+ [PlanPackage n v PreExisting [] | (n, v) <- shipped]+ <> fmap fst tarballs+ }+ fetched release = corpus </> release <.> "tar.gz"+ missing <- filterM (fmap not . doesFileExist . fetched) releases+ case missing of+ release : _ ->+ pure (Left ("No tarball at " <> T.pack (fetched release) <> "."))+ [] -> do+ for_ releases $ \release ->+ createFileLink (fetched release) (tarballOf release)+ none <- openCache (Don't #useCache) (PlanToken "")+ cache <- cacheUnder (dir </> "cache")+ interfaces <- interfacesOf decoded+ let reading kept modules = do+ resolver <- newResolverWith [FromSource] kept [] tarballs plan+ pure $ do+ answers <- traverse (askModule resolver) modules+ length <$> evaluate (force answers)+ packages <- for resolved $ \release -> do+ modules <- fromMaybe [] <$> packageModules (tarballOf release)+ filled <- newIORef False+ let recalling = do+ done <- readIORef filled+ unless done $ do+ _ <- join (reading cache modules)+ writeIORef filled True+ reading cache modules+ pure+ [ Benchmark Resolve (T.pack release) (reading none modules),+ Benchmark Recall (T.pack release) recalling+ ]+ pure $+ Right+ ( concat packages+ <> [ Benchmark Decode name (decoding files)+ | (name, files) <- interfaces+ ],+ digestOf interfaces+ )+ where+ planned release =+ let (name, version) = T.breakOnEnd "-" (T.pack release)+ in PlanPackage (T.dropEnd 1 name) version PreExisting []+ decoding files = do+ fresh <- evaluate (force [(m, BS.copy bytes) | (m, bytes) <- files])+ pure $+ length . rights+ <$> evaluate+ (force [fromHiFile m =<< decodeHiFile bytes | (m, bytes) <- fresh])++-- | A cache of fixities in a directory.+cacheUnder :: FilePath -> IO Cache+cacheUnder dir = do+ before <- lookupEnv "XDG_CACHE_HOME"+ setEnv "XDG_CACHE_HOME" dir+ cache <- openCache (Do #useCache) (PlanToken "benchmarks")+ maybe (unsetEnv "XDG_CACHE_HOME") (setEnv "XDG_CACHE_HOME") before+ pure cache++-- | The interfaces of every module of the installed packages named, each+-- package by its name and version.+interfacesOf :: [Text] -> IO [(Text, [(Text, BS.ByteString)])]+interfacesOf names = do+ installed <- installedPackages <$> readInstalledPackages+ for [p | n <- names, p <- installed, ipName p == n] $ \p -> do+ files <- for (ipModules p) $ \m -> do+ let file = T.unpack (T.replace "." "/" m) <.> "hi"+ found <- filterM doesFileExist [dir </> file | dir <- ipImportDirs p]+ for (listToMaybe found) (fmap ((,) m) . BS.readFile)+ pure (ipName p <> "-" <> ipVersion p, catMaybes files)++-- | A digest of the names and sizes of interfaces, which what decoding them+-- costs depends on: two builds of a compiler can differ in a fingerprint+-- written in one, which costs nothing more to decode.+digestOf :: [(Text, [(Text, BS.ByteString)])] -> Text+digestOf interfaces =+ T.take 16 . T.decodeUtf8 . B16.encode . SHA256.hash . T.encodeUtf8 $+ T.unlines+ [ T.unwords [name, m, T.pack (show (BS.length bytes))]+ | (name, files) <- interfaces,+ (m, bytes) <- files+ ]
@@ -0,0 +1,124 @@+{-# OPTIONS_GHC -fno-full-laziness #-}++-- | Measuring what a piece of work costs.+module Tilia.Bench.Measure+ ( Counter,+ openCounter,+ Measurement (..),+ measure,+ measureIO,+ )+where++import Control.Concurrent (yield)+import Control.Exception (evaluate)+import Control.Monad (replicateM)+import Data.Int (Int64)+import Data.Text (Text)+import Data.Text qualified as T+import Data.Word (Word64)+import Foreign.C.Types (CInt (..))+import GHC.Stats (RTSStats (..), getRTSStats)+import System.Mem (performMajorGC)++-- | A counter of the instructions the thread that opened it retires in+-- user space.+newtype Counter = Counter CInt++foreign import ccall unsafe "tilia_bench_counter_open"+ counterOpen :: IO CInt++foreign import ccall unsafe "tilia_bench_counter_read"+ counterRead :: CInt -> IO Word64++-- | Open a counter, where the system lets a process count its own+-- instructions.+openCounter :: IO (Maybe Counter)+openCounter = do+ fd <- counterOpen+ pure (if fd < 0 then Nothing else Just (Counter fd))++-- | What a piece of work cost.+data Measurement = Measurement+ { -- | The bytes it allocated.+ measuredAllocated :: !Word64,+ -- | The instructions it retired, where they were counted.+ measuredInstructions :: !(Maybe Word64),+ -- | The CPU time it took, in nanoseconds, the least of the runs.+ measuredTime :: !Int64,+ -- | How far apart the runs' allocations were, as a fraction.+ measuredSpread :: !Double+ }++-- | Run a piece of work once to warm up and then the given number of times,+-- each time on a fresh copy of its input so that nothing is shared between+-- runs, and give what the run that warmed up computed.+measure ::+ -- | The counter of instructions, if there is one.+ Maybe Counter ->+ -- | How many runs to measure.+ Int ->+ -- | The work.+ (Text -> a) ->+ -- | Force everything the work computed.+ (a -> Int) ->+ -- | Its input.+ Text ->+ IO (a, Measurement)+measure counter runs work forced input =+ measureIO counter runs set forced+ where+ set = do+ fresh <- evaluate (T.copy input)+ pure (evaluate (work fresh))++-- | Run a piece of work once to warm up and then the given number of times,+-- each time as a setup that is not measured gives it, and give what the run+-- that warmed up computed.+measureIO ::+ -- | The counter of instructions, if there is one.+ Maybe Counter ->+ -- | How many runs to measure.+ Int ->+ -- | Set a run up, giving its work.+ IO (IO a) ->+ -- | Force everything the work computed.+ (a -> Int) ->+ IO (a, Measurement)+measureIO counter runs set forced = do+ (warm, _) <- once+ samples <- fmap snd <$> replicateM (max 1 runs) once+ let allocations = [a | (a, _, _) <- samples]+ (allocated, instructions, _) = last samples+ pure+ ( warm,+ Measurement+ { measuredAllocated = allocated,+ measuredInstructions = instructions,+ measuredTime = minimum [t | (_, _, t) <- samples],+ measuredSpread =+ fromIntegral (maximum allocations - minimum allocations)+ / fromIntegral (max 1 (minimum allocations))+ }+ )+ where+ count = traverse (\(Counter fd) -> counterRead fd) counter+ once = do+ work <- set+ performMajorGC+ yield+ performMajorGC+ before <- getRTSStats+ started <- count+ result <- work+ _ <- evaluate (forced result)+ ended <- count+ performMajorGC+ after <- getRTSStats+ pure+ ( result,+ ( allocated_bytes after - allocated_bytes before,+ (-) <$> ended <*> started,+ cpu_ns after - cpu_ns before+ )+ )
@@ -0,0 +1,120 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}++-- | What the benchmarks cost when they were last recorded, kept in the+-- repository so that a change to it shows in review like any other.+module Tilia.Bench.Record+ ( Record (..),+ Entry (..),+ readRecord,+ writeRecord,+ )+where++import Control.Exception (SomeException, try)+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map+import Data.Maybe (mapMaybe)+import Data.Text (Text)+import Data.Text qualified as T+import Data.Text.IO qualified as T+import Data.Word (Word64)+import Text.Read (readMaybe)++-- | The bytes each benchmark allocated and the instructions it retired, by+-- stage and module.+data Record = Record+ { -- | The compiler the record was made with, which what is allocated+ -- depends on.+ recordCompiler :: Text,+ -- | The processor the instructions were counted on, which how many+ -- there are depends on, or @none@.+ recordProcessor :: Text,+ -- | A digest of the names and sizes of the interfaces decoded, which+ -- what decoding them costs depends on.+ recordInterfaces :: Text,+ -- | One entry for every benchmark.+ recordEntries :: Map (Text, Text) Entry+ }++-- | What one benchmark cost.+data Entry = Entry+ { -- | The bytes it allocated.+ entryAllocated :: !Word64,+ -- | The instructions it retired, where they were counted.+ entryInstructions :: !(Maybe Word64)+ }++-- | Read a record. A missing one is an empty one, so that benchmarks added+-- before it is regenerated each say they are not in it.+readRecord :: FilePath -> IO Record+readRecord path =+ try (T.readFile path) >>= \case+ Left (_ :: SomeException) -> pure (Record "" "none" "" Map.empty)+ Right text ->+ pure+ Record+ { recordCompiler = field "compiler " text,+ recordProcessor = field "processor " text,+ recordInterfaces = field "interfaces " text,+ recordEntries = Map.fromList (concatMap entry (T.lines text))+ }+ where+ field key = mconcat . mapMaybe (T.stripPrefix key) . T.lines+ entry line = case T.words line of+ [stage, allocated, instructions, name]+ | Just a <- readMaybe (T.unpack allocated) ->+ [((stage, name), Entry a (readMaybe (T.unpack instructions)))]+ _ -> []++-- | Write a record, sorted by stage and module so that a regeneration diff+-- shows what changed rather than what moved.+writeRecord :: FilePath -> Record -> IO ()+writeRecord path record =+ T.writeFile path . T.unlines $+ [ "# What each benchmark costs, as far as that does not depend on how",+ "# busy the machine is. `cabal bench` checks it, and",+ "# `TILIA_BENCH_ACCEPT=1 cabal bench` writes it again.",+ "#",+ "# compiler The compiler the benchmarks were built with, which what",+ "# they allocate depends on.",+ "# processor The processor the instructions were counted on, which",+ "# how many there are depends on, or none.",+ "# interfaces A digest of the names and sizes of the interfaces the",+ "# decode stage reads, which what decoding them costs",+ "# depends on.",+ "#",+ "# Every other line is a benchmark:",+ "#",+ "# stage What it measures: formatting a module (format),",+ "# checking what that printed as --check-ast does",+ "# (check), reading what every module of a package",+ "# establishes out of its tarball with no cache",+ "# (resolve), the same out of a cache an earlier reading",+ "# filled (recall), or decoding every interface of a",+ "# package the compiler ships with (decode).",+ "# allocated The bytes it allocates.",+ "# instructions The instructions it retires in user space, or - where",+ "# they were not counted.",+ "# benchmark The module or the package it measures that on.",+ "",+ "compiler " <> recordCompiler record,+ "processor " <> recordProcessor record,+ "interfaces " <> recordInterfaces record,+ "",+ row "# stage" ["allocated", "instructions"] "benchmark"+ ]+ <> fmap line (Map.toAscList (recordEntries record))+ where+ line ((stage, name), Entry allocated instructions) =+ row+ stage+ [shown allocated, maybe "-" shown instructions]+ name+ row stage costs name =+ T.justifyLeft 8 ' ' stage+ <> foldMap (T.justifyRight 14 ' ') costs+ <> " "+ <> name+ shown = T.pack . show
@@ -0,0 +1,121 @@+# What each benchmark costs, as far as that does not depend on how+# busy the machine is. `cabal bench` checks it, and+# `TILIA_BENCH_ACCEPT=1 cabal bench` writes it again.+#+# compiler The compiler the benchmarks were built with, which what+# they allocate depends on.+# processor The processor the instructions were counted on, which+# how many there are depends on, or none.+# interfaces A digest of the names and sizes of the interfaces the+# decode stage reads, which what decoding them costs+# depends on.+#+# Every other line is a benchmark:+#+# stage What it measures: formatting a module (format),+# checking what that printed as --check-ast does+# (check), reading what every module of a package+# establishes out of its tarball with no cache+# (resolve), the same out of a cache an earlier reading+# filled (recall), or decoding every interface of a+# package the compiler ships with (decode).+# allocated The bytes it allocates.+# instructions The instructions it retires in user space, or - where+# they were not counted.+# benchmark The module or the package it measures that on.++compiler ghc 9.10.3+processor AMD Ryzen AI 9 HX 370 w/ Radeon 890M+interfaces 1c28e35fa2432d89++# stage allocated instructions benchmark+check 305488704 625342633 Agda-2.8.0/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs+check 414949976 860211242 ShellCheck-0.11.0/src/ShellCheck/Analytics.hs+check 266244704 469758919 aeson-2.3.1.0/src/Data/Aeson/KeyMap.hs+check 200596704 518019905 blaze-html-0.9.2.0/src/Text/Blaze/Html5/Attributes.hs+check 64909672 129343878 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Alt.hs+check 90215968 179673175 distributed-process-0.7.8/src/Control/Distributed/Process/Node.hs+check 128706544 268524094 esqueleto-3.6.0.3/test/PostgreSQL/Test.hs+check 523131744 947995155 haxl-2.5.1.1/Haxl/Core/Monad.hs+check 221699688 460191261 idris-1.3.4/src/Idris/Elab/Term.hs+check 337906104 578770578 lifted-base-0.2.3.12/Control/Exception/Lifted.hs+check 61404488 129978443 megaparsec-9.8.1/Text/Megaparsec/Internal.hs+check 82146616 174226709 optparse-applicative-0.19.0.0/tests/test.hs+check 51737448 90786165 pandoc-3.10.2/src/Text/Pandoc/Class/PandocPure.hs+check 164869144 342530190 pandoc-3.10.2/src/Text/Pandoc/Readers/Markdown.hs+check 222989200 447577790 pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint/Output.hs+check 178219144 361706711 purescript-0.15.15/src/Language/PureScript/Errors.hs+check 88773224 186246171 purescript-0.15.15/src/Language/PureScript/TypeChecker/Types.hs+check 84087680 185592218 recursion-schemes-5.2.3/src/Data/Functor/Foldable.hs+check 98129704 205010076 servant-server-0.20.3.0/src/Servant/Server/Internal.hs+check 103037600 205852438 swagger2-2.9.1/src/Data/Swagger/Internal.hs+check 104700064 193733706 text-2.1.4/tests/Tests/Properties/Folds.hs+check 62559504 129686156 time-1.16.0.1/test/main/Test/Format/ParseTime.hs+check 71026768 139004696 tls-2.4.3/Network/TLS/Extension.hs+check 341584848 787667598 unpacked-containers-0/src/Map/Internal.hs+check 448129968 861308134 vector-0.13.2.0/src/Data/Vector/Generic.hs+check 72654288 151625740 xmonad-0.18.1/src/XMonad/Operations.hs+decode 27001936 44723576 base-4.20.2.0+decode 6037648 7373905 bytestring-0.12.2.0+decode 9504912 12150537 containers-0.7+decode 43420720 56428241 ghc-internal-9.1003.0+decode 11465032 15574443 template-haskell-2.22.0.0+decode 6206680 6722861 text-2.1.3+format 585714216 1132097581 Agda-2.8.0/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs+format 4268801648 8215706409 QuickCheck-2.18.0.0/src/Test/QuickCheck/Arbitrary.hs+format 903988776 1715848497 ShellCheck-0.11.0/src/ShellCheck/Analytics.hs+format 357145072 586914529 aeson-2.3.1.0/src/Data/Aeson/KeyMap.hs+format 174816696 326120695 blaze-html-0.9.2.0/src/Text/Blaze/Html5/Attributes.hs+format 125166848 237762136 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Alt.hs+format 181178648 342948784 distributed-process-0.7.8/src/Control/Distributed/Process/Node.hs+format 313098528 589185783 esqueleto-3.6.0.3/test/PostgreSQL/Test.hs+format 3393194280 6954000450 haxl-2.5.1.1/Haxl/Core/Monad.hs+format 504082456 960666098 idris-1.3.4/src/Idris/Elab/Term.hs+format 1416130080 2802504216 lens-5.3.6/src/Control/Lens/Wrapped.hs+format 463051392 807326375 lifted-base-0.2.3.12/Control/Exception/Lifted.hs+format 114862912 219768412 megaparsec-9.8.1/Text/Megaparsec/Internal.hs+format 152090416 277909846 optparse-applicative-0.19.0.0/tests/test.hs+format 54641464 96646205 pandoc-3.10.2/src/Text/Pandoc/Class/PandocPure.hs+format 376993600 717475372 pandoc-3.10.2/src/Text/Pandoc/Readers/Markdown.hs+format 464955472 876728022 pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint/Output.hs+format 374179808 706887086 purescript-0.15.15/src/Language/PureScript/Errors.hs+format 157522504 292522941 purescript-0.15.15/src/Language/PureScript/TypeChecker/Types.hs+format 129205776 233199212 recursion-schemes-5.2.3/src/Data/Functor/Foldable.hs+format 172818000 323062459 servant-server-0.20.3.0/src/Servant/Server/Internal.hs+format 174783648 327330430 swagger2-2.9.1/src/Data/Swagger/Internal.hs+format 716385648 1505690911 synthetic/comments+format 130290424 266483756 synthetic/conditionals+format 75942320 111837572 synthetic/imports+format 99529016 207055043 synthetic/nesting+format 838934048 1650403409 text-2.1.4/src/Data/Text/Internal/Fusion/CaseMapping.hs+format 251223896 409088661 text-2.1.4/tests/Tests/Properties/Folds.hs+format 138891552 257772182 time-1.16.0.1/test/main/Test/Format/ParseTime.hs+format 139419512 262626146 tls-2.4.3/Network/TLS/Extension.hs+format 1012155416 1980797816 unordered-containers-0.2.21/Data/HashMap/Internal.hs+format 507741568 947272176 unpacked-containers-0/src/Map/Internal.hs+format 551670016 1042468240 vector-0.13.2.0/src/Data/Vector/Generic.hs+format 139272304 260498387 xmonad-0.18.1/src/XMonad/Operations.hs+recall 8851176 20620493 aeson-2.3.1.0+recall 5953760 14216861 conduit-1.3.6.1+recall 5407168 12260501 free-5.2+recall 14502904 42766044 lens-5.3.6+recall 5564520 13033858 megaparsec-9.8.1+recall 5891216 13516032 mtl-2.3.2+recall 5062032 12025312 optics-0.4.2.1+recall 5291120 12823256 pandoc-types-1.23.1.2+recall 6078088 13974670 semigroupoids-6.0.2+recall 6898696 15358696 servant-0.20.3.0+recall 8956408 18332091 text-2.1.4+recall 7805920 17845506 vector-0.13.2.0+resolve 1934880160 3452012967 aeson-2.3.1.0+resolve 542464296 969320825 conduit-1.3.6.1+resolve 561754720 998716408 free-5.2+resolve 3142664696 5507450217 lens-5.3.6+resolve 235724304 461395455 megaparsec-9.8.1+resolve 252811728 486168500 mtl-2.3.2+resolve 84982856 215535259 optics-0.4.2.1+resolve 97405360 228106463 pandoc-types-1.23.1.2+resolve 237916832 461574873 semigroupoids-6.0.2+resolve 248183728 503102068 servant-0.20.3.0+resolve 1224151032 2166708926 text-2.1.4+resolve 2505871344 4300748284 vector-0.13.2.0
@@ -0,0 +1,46 @@+#include <stdint.h>++#ifdef __linux__++#include <linux/perf_event.h>+#include <string.h>+#include <sys/syscall.h>+#include <unistd.h>++/* Open a counter of the instructions the calling thread retires in user+ space, giving -1 where the system does not let a process count them. */+int tilia_bench_counter_open(void)+{+ struct perf_event_attr attr;+ memset(&attr, 0, sizeof attr);+ attr.type = PERF_TYPE_HARDWARE;+ attr.size = sizeof attr;+ attr.config = PERF_COUNT_HW_INSTRUCTIONS;+ attr.exclude_kernel = 1;+ attr.exclude_hv = 1;+ return syscall(SYS_perf_event_open, &attr, 0, -1, -1, 0);+}++/* Read a counter. */+uint64_t tilia_bench_counter_read(int fd)+{+ uint64_t count = 0;+ if (read(fd, &count, sizeof count) != sizeof count)+ return 0;+ return count;+}++#else++int tilia_bench_counter_open(void)+{+ return -1;+}++uint64_t tilia_bench_counter_read(int fd)+{+ (void)fd;+ return 0;+}++#endif
@@ -8,5194 +8,5232 @@ formatted a2e019984c92 Agda-2.8.0/src/data/MAlonzo/src/MAlonzo/RTE.hs formatted 4e3f28ed5e54 Agda-2.8.0/src/data/MAlonzo/src/MAlonzo/RTE/Float.hs formatted 124cef969fcd Agda-2.8.0/src/full/Agda/Benchmarking.hs-formatted 957956be26ea Agda-2.8.0/src/full/Agda/Compiler/Backend.hs-formatted 98789e7a7f39 Agda-2.8.0/src/full/Agda/Compiler/Backend/Base.hs-formatted b8be5cf3b8d8 Agda-2.8.0/src/full/Agda/Compiler/Builtin.hs-formatted ef45f44548b6 Agda-2.8.0/src/full/Agda/Compiler/CallCompiler.hs-formatted f1e15482ea8b Agda-2.8.0/src/full/Agda/Compiler/Common.hs-formatted 199ef6355081 Agda-2.8.0/src/full/Agda/Compiler/JS/Compiler.hs-formatted 778777e97e31 Agda-2.8.0/src/full/Agda/Compiler/JS/Pretty.hs-formatted f3ee347549c0 Agda-2.8.0/src/full/Agda/Compiler/JS/Substitution.hs-formatted 716643be2984 Agda-2.8.0/src/full/Agda/Compiler/JS/Syntax.hs-formatted aa25bd2f6330 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Coerce.hs-formatted ef6f1f45a952 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Compiler.hs-formatted a5e37499e9c4 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Encode.hs-formatted 04fc0d770103 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/HaskellTypes.hs-formatted aa62f795f1b2 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Misc.hs-formatted d8bb7b275f39 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Pragmas.hs-formatted 76490fc3bd40 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Pretty.hs-formatted b28a330a89c3 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Primitives.hs-formatted cd156da2fa25 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Strict.hs-formatted c378a2b833ad Agda-2.8.0/src/full/Agda/Compiler/ToTreeless.hs-formatted 0abe92b8f16f Agda-2.8.0/src/full/Agda/Compiler/Treeless/AsPatterns.hs-formatted 1ef5a4fa98a1 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Builtin.hs-formatted ce128b9cab5e Agda-2.8.0/src/full/Agda/Compiler/Treeless/Compare.hs-formatted 3f7ef773d4c9 Agda-2.8.0/src/full/Agda/Compiler/Treeless/EliminateDefaults.hs-formatted 33e35d69d40c Agda-2.8.0/src/full/Agda/Compiler/Treeless/EliminateLiteralPatterns.hs-formatted 1ef7b3a1de25 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Erase.hs-formatted 4bf71aa72967 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Erase.hs-boot-formatted 6cefe9037318 Agda-2.8.0/src/full/Agda/Compiler/Treeless/GuardsToPrims.hs-formatted 8722e737dadc Agda-2.8.0/src/full/Agda/Compiler/Treeless/Identity.hs-formatted f933510f2058 Agda-2.8.0/src/full/Agda/Compiler/Treeless/NormalizeNames.hs-formatted 43adb2681389 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Pretty.hs-formatted 9e9ffec9fb88 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Pretty.hs-boot-formatted 4795b9a43709 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Simplify.hs-formatted 80fddf5d858f Agda-2.8.0/src/full/Agda/Compiler/Treeless/Subst.hs-formatted 83543a8ec338 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Uncase.hs-formatted 24aeb7ff3365 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Unused.hs-formatted 3985ec175c5f Agda-2.8.0/src/full/Agda/ImpossibleTest.hs-formatted 4bfae407a40f Agda-2.8.0/src/full/Agda/Interaction/AgdaTop.hs-formatted e41de99732fd Agda-2.8.0/src/full/Agda/Interaction/Base.hs-formatted 7dea38f021f1 Agda-2.8.0/src/full/Agda/Interaction/BasicOps.hs-formatted 816c519a07e6 Agda-2.8.0/src/full/Agda/Interaction/BuildLibrary.hs-formatted eb4048782016 Agda-2.8.0/src/full/Agda/Interaction/Command.hs-formatted c894515a3afb Agda-2.8.0/src/full/Agda/Interaction/CommandLine.hs-formatted ab83a5beeab5 Agda-2.8.0/src/full/Agda/Interaction/EmacsCommand.hs-formatted 555155a56d86 Agda-2.8.0/src/full/Agda/Interaction/EmacsTop.hs-formatted 720e5305288c Agda-2.8.0/src/full/Agda/Interaction/ExitCode.hs-formatted 17bdb4bd6cff Agda-2.8.0/src/full/Agda/Interaction/FindFile.hs-formatted 3170eb1921b4 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Common.hs-formatted 1fb0462a1b45 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Dot.hs-formatted 273d20bb2305 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Dot/Backend.hs-formatted fc10621b7e2c Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Dot/Base.hs-formatted 773365a6b3e4 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Emacs.hs-formatted cb992e2c3ef4 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/FromAbstract.hs-formatted b592d71b267b Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Generate.hs-formatted 8bc140b18e62 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Generate.hs-boot-formatted 9a3fde618f2b Agda-2.8.0/src/full/Agda/Interaction/Highlighting/HTML.hs-formatted 3838841067f3 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/HTML/Backend.hs-formatted b17a80a34eff Agda-2.8.0/src/full/Agda/Interaction/Highlighting/HTML/Base.hs-formatted d36037cbeadf Agda-2.8.0/src/full/Agda/Interaction/Highlighting/JSON.hs-formatted b5bb035e43f1 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/LaTeX.hs-formatted 8bd4871fba54 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/LaTeX/Backend.hs-formatted 45edbada6fe2 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/LaTeX/Base.hs-formatted a58ba6711ffc Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Precise.hs-formatted c9f5864c0103 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Range.hs-formatted 0054edf8b9e6 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Vim.hs-formatted d0f1fa308509 Agda-2.8.0/src/full/Agda/Interaction/Imports.hs-formatted 65e8798f3384 Agda-2.8.0/src/full/Agda/Interaction/Imports.hs-boot-formatted e71203866f7c Agda-2.8.0/src/full/Agda/Interaction/InteractionTop.hs-formatted 3424b7b23f57 Agda-2.8.0/src/full/Agda/Interaction/JSON.hs-formatted ee7c581ca624 Agda-2.8.0/src/full/Agda/Interaction/JSONTop.hs-formatted b1854ec69b1d Agda-2.8.0/src/full/Agda/Interaction/Library.hs-formatted 803e9d296a38 Agda-2.8.0/src/full/Agda/Interaction/Library/Base.hs-formatted 485f6f0b6ae7 Agda-2.8.0/src/full/Agda/Interaction/Library/Parse.hs-formatted 8cf6215e1bb9 Agda-2.8.0/src/full/Agda/Interaction/MakeCase.hs-formatted dccaf3f6ab13 Agda-2.8.0/src/full/Agda/Interaction/Monad.hs-formatted c831a742f557 Agda-2.8.0/src/full/Agda/Interaction/Options.hs-formatted ff905a26b6ef Agda-2.8.0/src/full/Agda/Interaction/Options/Base.hs-formatted d1a377c4a707 Agda-2.8.0/src/full/Agda/Interaction/Options/Errors.hs-formatted e44ed789f5f9 Agda-2.8.0/src/full/Agda/Interaction/Options/HasOptions.hs-formatted 434d46226886 Agda-2.8.0/src/full/Agda/Interaction/Options/Help.hs-formatted 8955b5901517 Agda-2.8.0/src/full/Agda/Interaction/Options/Lenses.hs-formatted e04f7f2b15cd Agda-2.8.0/src/full/Agda/Interaction/Options/Types.hs-formatted d4126d498421 Agda-2.8.0/src/full/Agda/Interaction/Options/Warnings.hs-formatted 11f05a0591fc Agda-2.8.0/src/full/Agda/Interaction/Output.hs-formatted 772e302dedad Agda-2.8.0/src/full/Agda/Interaction/Response.hs-formatted 77cf584c94f3 Agda-2.8.0/src/full/Agda/Interaction/Response/Base.hs-formatted 150002ef2df6 Agda-2.8.0/src/full/Agda/Interaction/SearchAbout.hs-declined - Agda-2.8.0/src/full/Agda/Main.hs-formatted 089cf0cbdae7 Agda-2.8.0/src/full/Agda/Mimer/Mimer.hs-formatted 5ee8e2854fd8 Agda-2.8.0/src/full/Agda/Mimer/Options.hs-formatted d31e480d5b64 Agda-2.8.0/src/full/Agda/Syntax/Abstract.hs-formatted c6c710983329 Agda-2.8.0/src/full/Agda/Syntax/Abstract/Name.hs-formatted e3b2246d927b Agda-2.8.0/src/full/Agda/Syntax/Abstract/Pattern.hs-formatted 8f9f098701be Agda-2.8.0/src/full/Agda/Syntax/Abstract/PatternSynonyms.hs-formatted 3f1f9a03363a Agda-2.8.0/src/full/Agda/Syntax/Abstract/Pretty.hs-formatted 965e3c3c1a0e Agda-2.8.0/src/full/Agda/Syntax/Abstract/UsedNames.hs-formatted fe4b31b903f2 Agda-2.8.0/src/full/Agda/Syntax/Abstract/Views.hs-formatted 4860938107fe Agda-2.8.0/src/full/Agda/Syntax/Builtin.hs-formatted a551f361a03b Agda-2.8.0/src/full/Agda/Syntax/Common.hs-formatted e4fbe59bf094 Agda-2.8.0/src/full/Agda/Syntax/Common/Aspect.hs-formatted 24ed1641ef0b Agda-2.8.0/src/full/Agda/Syntax/Common/KeywordRange.hs-formatted bddb87a288f9 Agda-2.8.0/src/full/Agda/Syntax/Common/Pretty.hs-formatted 0b01caf3aafb Agda-2.8.0/src/full/Agda/Syntax/Common/Pretty/ANSI.hs-formatted ab82680e0ed9 Agda-2.8.0/src/full/Agda/Syntax/Concrete.hs-formatted 3ac132adc898 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Attribute.hs-formatted 8a621f4f4558 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions.hs-formatted 426479b8ea34 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions/Errors.hs-formatted 9b402d20ca09 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions/Monad.hs-formatted 7b8c167c0685 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions/Types.hs-formatted 961ee2376643 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Fixity.hs-formatted d906da5f87a7 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Generic.hs-formatted 6a2db093db8c Agda-2.8.0/src/full/Agda/Syntax/Concrete/Glyph.hs-formatted 88279e378aeb Agda-2.8.0/src/full/Agda/Syntax/Concrete/Name.hs-formatted 6a2bac89820e Agda-2.8.0/src/full/Agda/Syntax/Concrete/Operators.hs-formatted ce9f55c318d6 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Operators/Parser.hs-formatted d052bdb98637 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Operators/Parser/Monad.hs-formatted 7e63c760f37f Agda-2.8.0/src/full/Agda/Syntax/Concrete/Pattern.hs-formatted 279d71b7193a Agda-2.8.0/src/full/Agda/Syntax/Concrete/Pretty.hs-formatted db8fd8405ab1 Agda-2.8.0/src/full/Agda/Syntax/DoNotation.hs-formatted 0fa4ef8ac984 Agda-2.8.0/src/full/Agda/Syntax/Fixity.hs-formatted f53d6a38a8a5 Agda-2.8.0/src/full/Agda/Syntax/IdiomBrackets.hs-formatted 30d96511b2ee Agda-2.8.0/src/full/Agda/Syntax/Info.hs-formatted 2c69ecf0c73d Agda-2.8.0/src/full/Agda/Syntax/Internal.hs-formatted 16ce0f4386b9 Agda-2.8.0/src/full/Agda/Syntax/Internal/Blockers.hs-formatted 0c3da8bec4ce Agda-2.8.0/src/full/Agda/Syntax/Internal/Defs.hs-formatted 93a21efc34d2 Agda-2.8.0/src/full/Agda/Syntax/Internal/Elim.hs-formatted 59acbea17d71 Agda-2.8.0/src/full/Agda/Syntax/Internal/Generic.hs-formatted ff9aafebc54f Agda-2.8.0/src/full/Agda/Syntax/Internal/MetaVars.hs-formatted 0da6abb2c898 Agda-2.8.0/src/full/Agda/Syntax/Internal/Names.hs-formatted 70a2a49f93c0 Agda-2.8.0/src/full/Agda/Syntax/Internal/Pattern.hs-formatted 4f0688215ae9 Agda-2.8.0/src/full/Agda/Syntax/Internal/SanityCheck.hs-formatted dc9c871223a7 Agda-2.8.0/src/full/Agda/Syntax/Internal/Univ.hs-formatted 0d45e13b2a31 Agda-2.8.0/src/full/Agda/Syntax/Literal.hs-formatted 1f5db6f08b8e Agda-2.8.0/src/full/Agda/Syntax/Notation.hs-formatted 5441d15e6659 Agda-2.8.0/src/full/Agda/Syntax/Parser.hs-formatted 38e524b350d0 Agda-2.8.0/src/full/Agda/Syntax/Parser/Alex.hs-formatted b58b3e60f482 Agda-2.8.0/src/full/Agda/Syntax/Parser/Comments.hs-formatted 2502cd0a5c24 Agda-2.8.0/src/full/Agda/Syntax/Parser/Helpers.hs-formatted 0131f3ce9187 Agda-2.8.0/src/full/Agda/Syntax/Parser/Layout.hs-formatted 700549be6fd6 Agda-2.8.0/src/full/Agda/Syntax/Parser/Layout.hs-boot-formatted 2e1b70194e94 Agda-2.8.0/src/full/Agda/Syntax/Parser/LexActions.hs-formatted a5d57cb1b6b9 Agda-2.8.0/src/full/Agda/Syntax/Parser/LexActions.hs-boot-formatted eec09f91bea6 Agda-2.8.0/src/full/Agda/Syntax/Parser/Literate.hs-formatted 7eb92ce94825 Agda-2.8.0/src/full/Agda/Syntax/Parser/LookAhead.hs-formatted 0936ca900233 Agda-2.8.0/src/full/Agda/Syntax/Parser/Monad.hs-formatted 6b041886ce39 Agda-2.8.0/src/full/Agda/Syntax/Parser/StringLiterals.hs-formatted 2c4b958b94a9 Agda-2.8.0/src/full/Agda/Syntax/Parser/Tokens.hs-formatted a0ef5d8e9313 Agda-2.8.0/src/full/Agda/Syntax/Position.hs-formatted d16539c2a462 Agda-2.8.0/src/full/Agda/Syntax/Position.hs-boot-formatted b1dd8bfd3111 Agda-2.8.0/src/full/Agda/Syntax/Reflected.hs-formatted e07f0327dc05 Agda-2.8.0/src/full/Agda/Syntax/Scope/Base.hs-formatted 6ff9f287871d Agda-2.8.0/src/full/Agda/Syntax/Scope/Flat.hs-formatted 074a6f85bb7d Agda-2.8.0/src/full/Agda/Syntax/Scope/Monad.hs-formatted d3a3db0834c5 Agda-2.8.0/src/full/Agda/Syntax/TopLevelModuleName.hs-formatted f40939e29708 Agda-2.8.0/src/full/Agda/Syntax/TopLevelModuleName/Boot.hs-formatted 186389ffe3cc Agda-2.8.0/src/full/Agda/Syntax/Translation/AbstractToConcrete.hs-formatted 0ad45d8e0040 Agda-2.8.0/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs-formatted 5a2ce5ab4c13 Agda-2.8.0/src/full/Agda/Syntax/Translation/InternalToAbstract.hs-formatted 8c2de5355091 Agda-2.8.0/src/full/Agda/Syntax/Translation/ReflectedToAbstract.hs-formatted 1833fe43bc3a Agda-2.8.0/src/full/Agda/Syntax/Treeless.hs-formatted 12a4f8c1947c Agda-2.8.0/src/full/Agda/Termination/CallGraph.hs-formatted cfc23b42c681 Agda-2.8.0/src/full/Agda/Termination/CallMatrix.hs-formatted ebc4ce14c917 Agda-2.8.0/src/full/Agda/Termination/CutOff.hs-formatted 4ff8fc0f073c Agda-2.8.0/src/full/Agda/Termination/Monad.hs-formatted 2c8fd045045b Agda-2.8.0/src/full/Agda/Termination/Order.hs-formatted 3d6943fd6805 Agda-2.8.0/src/full/Agda/Termination/RecCheck.hs-formatted 5d2396bcde51 Agda-2.8.0/src/full/Agda/Termination/Semiring.hs-formatted 8231b4fafab9 Agda-2.8.0/src/full/Agda/Termination/SparseMatrix.hs-formatted 5cf49fc9d151 Agda-2.8.0/src/full/Agda/Termination/TermCheck.hs-formatted ed0ea780ef94 Agda-2.8.0/src/full/Agda/Termination/Termination.hs-formatted 9ce4d907acfa Agda-2.8.0/src/full/Agda/TheTypeChecker.hs-formatted 522c2e92c2f2 Agda-2.8.0/src/full/Agda/TypeChecking/Abstract.hs-formatted e757073d2d4e Agda-2.8.0/src/full/Agda/TypeChecking/CheckInternal.hs-formatted 2d6bbce1312f Agda-2.8.0/src/full/Agda/TypeChecking/CheckInternal.hs-boot-formatted 32a35663e792 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause.hs-formatted 93990b804e2f Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Compile.hs-formatted 6b8cf4277b16 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Compile.hs-boot-formatted a141f28ffb17 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Match.hs-formatted 3142e5d8c639 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Match.hs-boot-formatted 8daa667ddddd Agda-2.8.0/src/full/Agda/TypeChecking/Constraints.hs-formatted 47ac61419563 Agda-2.8.0/src/full/Agda/TypeChecking/Constraints.hs-boot-broken 1d46dc5f6f5c Agda-2.8.0/src/full/Agda/TypeChecking/Conversion.hs-formatted cc3a6f5cf005 Agda-2.8.0/src/full/Agda/TypeChecking/Conversion.hs-boot-formatted 8bb452c258d1 Agda-2.8.0/src/full/Agda/TypeChecking/Conversion/Pure.hs-formatted 5078fcc899f4 Agda-2.8.0/src/full/Agda/TypeChecking/Coverage.hs-formatted 494defadf31e Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/Cubical.hs-formatted a5d8271fb8c7 Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/Match.hs-formatted 66752ed436cd Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/SplitClause.hs-formatted 50e4c607d3c4 Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/SplitTree.hs-formatted a628c1c13722 Agda-2.8.0/src/full/Agda/TypeChecking/Datatypes.hs-formatted bf771aa7c583 Agda-2.8.0/src/full/Agda/TypeChecking/Datatypes.hs-boot-formatted 70b7181d282e Agda-2.8.0/src/full/Agda/TypeChecking/DeadCode.hs-formatted 59bd9e3da33e Agda-2.8.0/src/full/Agda/TypeChecking/DiscrimTree.hs-formatted c17cb27af1b5 Agda-2.8.0/src/full/Agda/TypeChecking/DiscrimTree/Types.hs-formatted ee105b08c0e0 Agda-2.8.0/src/full/Agda/TypeChecking/DisplayForm.hs-formatted db46b8c74ecf Agda-2.8.0/src/full/Agda/TypeChecking/DropArgs.hs-formatted c4bcc3ec3efc Agda-2.8.0/src/full/Agda/TypeChecking/Empty.hs-formatted 546e2690c8bd Agda-2.8.0/src/full/Agda/TypeChecking/Empty.hs-boot-formatted be42b289f13f Agda-2.8.0/src/full/Agda/TypeChecking/Errors.hs-formatted 4d637dbd29d8 Agda-2.8.0/src/full/Agda/TypeChecking/Errors.hs-boot-formatted aaf8e5a6f74a Agda-2.8.0/src/full/Agda/TypeChecking/Errors/Names.hs-formatted fa9468d1b394 Agda-2.8.0/src/full/Agda/TypeChecking/EtaContract.hs-formatted cf915294753e Agda-2.8.0/src/full/Agda/TypeChecking/Forcing.hs-formatted bdbb0b01cf6e Agda-2.8.0/src/full/Agda/TypeChecking/Free.hs-formatted 8db094c5d7c6 Agda-2.8.0/src/full/Agda/TypeChecking/Free/Lazy.hs-formatted e10225542a24 Agda-2.8.0/src/full/Agda/TypeChecking/Free/Precompute.hs-formatted ed93d677a9dd Agda-2.8.0/src/full/Agda/TypeChecking/Free/Reduce.hs-formatted dda08728d05b Agda-2.8.0/src/full/Agda/TypeChecking/Functions.hs-formatted 9fc3cf57b64a Agda-2.8.0/src/full/Agda/TypeChecking/Generalize.hs-formatted e7eb98a27abe Agda-2.8.0/src/full/Agda/TypeChecking/IApplyConfluence.hs-formatted 87b0399276b5 Agda-2.8.0/src/full/Agda/TypeChecking/Implicit.hs-formatted d835876f5a10 Agda-2.8.0/src/full/Agda/TypeChecking/Injectivity.hs-formatted 32f96c636db2 Agda-2.8.0/src/full/Agda/TypeChecking/Inlining.hs-formatted 717f70a59997 Agda-2.8.0/src/full/Agda/TypeChecking/InstanceArguments.hs-formatted daede539773d Agda-2.8.0/src/full/Agda/TypeChecking/InstanceArguments.hs-boot-formatted e3ca55cde230 Agda-2.8.0/src/full/Agda/TypeChecking/Irrelevance.hs-formatted f5e2359204d8 Agda-2.8.0/src/full/Agda/TypeChecking/Irrelevance.hs-boot-formatted d1ef164ce157 Agda-2.8.0/src/full/Agda/TypeChecking/Level.hs-formatted 4df75f041db4 Agda-2.8.0/src/full/Agda/TypeChecking/Level.hs-boot-formatted 43902630fee9 Agda-2.8.0/src/full/Agda/TypeChecking/Level/Solve.hs-formatted ae0893a4561e Agda-2.8.0/src/full/Agda/TypeChecking/LevelConstraints.hs-formatted f1d52a2a57f4 Agda-2.8.0/src/full/Agda/TypeChecking/Lock.hs-formatted 00b8f5e75aa7 Agda-2.8.0/src/full/Agda/TypeChecking/Lock.hs-boot-formatted 4d6c3253493c Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars.hs-formatted 52101179c5b2 Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars.hs-boot-formatted d45b97295243 Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars/Mention.hs-formatted 402d1f890cfc Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars/Occurs.hs-formatted d47e8c206217 Agda-2.8.0/src/full/Agda/TypeChecking/Modalities.hs-formatted 1fd16a038ff2 Agda-2.8.0/src/full/Agda/TypeChecking/Monad.hs-formatted 60eaec2ce48f Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Base.hs-formatted 8a87322aad4c Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Base/Types.hs-formatted 7860b2253820 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Base/Warning.hs-formatted 56ab8bfd7ea3 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Benchmark.hs-formatted 28bf26746324 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Builtin.hs-formatted 6b2e93e4eef0 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Builtin.hs-boot-formatted d3627bb3ef79 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Caching.hs-formatted ceeedfc93ba5 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Closure.hs-formatted 9e856998188f Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Constraints.hs-formatted 965403e8d54c Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Context.hs-formatted aa421afb353b Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Context.hs-boot-formatted 93f76be51b99 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Debug.hs-formatted 07c8440dbd10 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Debug.hs-boot-formatted ab2c039addc8 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Env.hs-formatted 46512cb4f780 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Imports.hs-formatted 5fb2e7fde476 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/MetaVars.hs-formatted 894d39f81e58 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/MetaVars.hs-boot-formatted b783b82e5721 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Modality.hs-formatted bbf8f13a117e Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Mutual.hs-formatted 8fe6e5c381d6 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Open.hs-formatted dbde98a0370f Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Options.hs-formatted 2b144a9f6ada Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Options.hs-boot-formatted a266ccade893 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Pure.hs-formatted f549f9160d1c Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Pure.hs-boot-formatted f045762684e1 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Signature.hs-formatted a5b44843ae0b Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Signature.hs-boot-formatted 29bd7bc7527e Agda-2.8.0/src/full/Agda/TypeChecking/Monad/SizedTypes.hs-formatted 9573759abf1d Agda-2.8.0/src/full/Agda/TypeChecking/Monad/State.hs-formatted 63e1167a5c2e Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Statistics.hs-formatted 091a951c4837 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Trace.hs-formatted 38ca9a4b989f Agda-2.8.0/src/full/Agda/TypeChecking/Names.hs-formatted 5519525e6548 Agda-2.8.0/src/full/Agda/TypeChecking/Opacity.hs-formatted d26ddecf1923 Agda-2.8.0/src/full/Agda/TypeChecking/Opacity.hs-boot-formatted ec77f6d2c4ee Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Abstract.hs-formatted 0f6e0c168a7c Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Internal.hs-formatted 3bed5c67293b Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Match.hs-formatted 5ee7033010bf Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Match.hs-boot-formatted 997967b0096b Agda-2.8.0/src/full/Agda/TypeChecking/Polarity.hs-formatted 2f5659c12840 Agda-2.8.0/src/full/Agda/TypeChecking/Polarity.hs-boot-formatted ac80c89f00e2 Agda-2.8.0/src/full/Agda/TypeChecking/Positivity.hs-formatted 5626959a260d Agda-2.8.0/src/full/Agda/TypeChecking/Positivity/Occurrence.hs-formatted 850bea97b290 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty.hs-formatted 8bd6edac6240 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty.hs-boot-formatted 9a154e2294df Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Call.hs-formatted f5434869778b Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Call.hs-boot-formatted 8985c4fc0bc9 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Constraint.hs-formatted 4c2edd49d675 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Constraint.hs-boot-formatted b837e0103e3f Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Warning.hs-formatted bf4e737ce041 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Warning.hs-boot-formatted 0f23e151fb6a Agda-2.8.0/src/full/Agda/TypeChecking/Primitive.hs-formatted 3c8fe98419dd Agda-2.8.0/src/full/Agda/TypeChecking/Primitive.hs-boot-formatted aa1bd02aba20 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Base.hs-formatted 42186252e310 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical.hs-formatted 52687d62262c Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/Base.hs-formatted 34da472277ef Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/Base.hs-boot-formatted 4aec12c8b204 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/Glue.hs-formatted 4056250b5173 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/HCompU.hs-formatted 78197ae078a9 Agda-2.8.0/src/full/Agda/TypeChecking/ProjectionLike.hs-formatted 21d019305ce5 Agda-2.8.0/src/full/Agda/TypeChecking/ProjectionLike.hs-boot-formatted 2505bf50d757 Agda-2.8.0/src/full/Agda/TypeChecking/Quote.hs-formatted 134651a3168e Agda-2.8.0/src/full/Agda/TypeChecking/ReconstructParameters.hs-formatted 684e26974384 Agda-2.8.0/src/full/Agda/TypeChecking/RecordPatterns.hs-formatted 8affdcc8111a Agda-2.8.0/src/full/Agda/TypeChecking/Records.hs-formatted 65b1d93597cd Agda-2.8.0/src/full/Agda/TypeChecking/Records.hs-boot-formatted d4aed64e6ee4 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce.hs-formatted 82cb10489996 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce.hs-boot-formatted 63e3382d2f1d Agda-2.8.0/src/full/Agda/TypeChecking/Reduce/Fast.hs-formatted 2158647025d5 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce/Fast.hs-boot-formatted 52ceaeb66838 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce/Monad.hs-formatted 4138b13a5df5 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting.hs-formatted 0158a552c77f Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting.hs-boot-formatted 682e7693d697 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/Clause.hs-formatted 814593fa1f25 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/Confluence.hs-formatted ffa8c612942d Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/NonLinMatch.hs-formatted cf2803dfe738 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/NonLinPattern.hs-formatted 205e34acf2dd Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Application.hs-formatted 8094c6b9ca8d Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Application.hs-boot-formatted fe23087ac386 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Builtin.hs-formatted bb96b8d55347 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs-formatted 48f627566132 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs-boot-formatted 1f8fe493c19f Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Data.hs-formatted 89ea7a6db701 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Data.hs-boot-formatted 8ca53478922f Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Decl.hs-formatted c3dda6e649e5 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Decl.hs-boot-formatted 65e84b8c3d9a Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Def.hs-formatted aa2e722e924d Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Def.hs-boot-formatted fed954351c6b Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Display.hs-formatted 01bddfcb50ba Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS.hs-formatted 6773a3880c72 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Implicit.hs-formatted da382d16a0bc Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Problem.hs-formatted faf2b455193b Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/ProblemRest.hs-formatted e85e560d8ceb Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Unify.hs-formatted 302ff532dcd1 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Unify/LeftInverse.hs-formatted d015b6099a7b Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Unify/Types.hs-formatted 4491692a08c5 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Record.hs-formatted 067a1492920c Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Term.hs-formatted ccd5b1bd7f62 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Term.hs-boot-formatted 49e329be866f Agda-2.8.0/src/full/Agda/TypeChecking/Serialise.hs-formatted b9cec9d0620c Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Base.hs-formatted 0b03fe8ecc8f Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances.hs-formatted 50a087db59cf Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Abstract.hs-formatted 36d52dce312e Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Common.hs-formatted d11e2e781bb4 Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Compilers.hs-formatted 1f1b6ebe3573 Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Errors.hs-formatted abbb853d7207 Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Highlighting.hs-formatted 63778a1a49ac Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Internal.hs-formatted b5090c8315a6 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes.hs-formatted b681d54f057a Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Pretty.hs-formatted 1d5f439ca188 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Solve.hs-formatted 758f61663e05 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Syntax.hs-formatted 904a4e241e74 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Utils.hs-formatted d63891bced83 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/WarshallSolver.hs-formatted 5e29033dec27 Agda-2.8.0/src/full/Agda/TypeChecking/Sort.hs-formatted a6f77cb4339d Agda-2.8.0/src/full/Agda/TypeChecking/Substitute.hs-formatted 0710e932d5c1 Agda-2.8.0/src/full/Agda/TypeChecking/Substitute/Class.hs-formatted 2656f0d28fba Agda-2.8.0/src/full/Agda/TypeChecking/Substitute/DeBruijn.hs-formatted bdddf47208eb Agda-2.8.0/src/full/Agda/TypeChecking/SyntacticEquality.hs-formatted 9403f483b826 Agda-2.8.0/src/full/Agda/TypeChecking/Telescope.hs-formatted d94c0d202dfc Agda-2.8.0/src/full/Agda/TypeChecking/Telescope.hs-boot-formatted 687ac4667b88 Agda-2.8.0/src/full/Agda/TypeChecking/Telescope/Path.hs-formatted d927a41c56d4 Agda-2.8.0/src/full/Agda/TypeChecking/Unquote.hs-formatted 80d32d18ead5 Agda-2.8.0/src/full/Agda/TypeChecking/Warnings.hs-formatted 1e8984d31ba8 Agda-2.8.0/src/full/Agda/TypeChecking/With.hs-formatted b02f16e6d20a Agda-2.8.0/src/full/Agda/Utils/AffineHole.hs-formatted ae5ced9ae20f Agda-2.8.0/src/full/Agda/Utils/Applicative.hs-formatted 7fe48d6127fe Agda-2.8.0/src/full/Agda/Utils/AssocList.hs-formatted 72df986a37f7 Agda-2.8.0/src/full/Agda/Utils/Bag.hs-formatted 3856d320f4f2 Agda-2.8.0/src/full/Agda/Utils/Benchmark.hs-formatted 19e137bd74e4 Agda-2.8.0/src/full/Agda/Utils/BiMap.hs-formatted 09925de009a1 Agda-2.8.0/src/full/Agda/Utils/BoolSet.hs-formatted 7f37f70bbf2b Agda-2.8.0/src/full/Agda/Utils/Boolean.hs-formatted 880aa8847616 Agda-2.8.0/src/full/Agda/Utils/CallStack.hs-formatted 1f39698a4f6d Agda-2.8.0/src/full/Agda/Utils/CallStack/Base.hs-formatted dfecf0fc01d4 Agda-2.8.0/src/full/Agda/Utils/CallStack/Pretty.hs-formatted eeedf1a4e3da Agda-2.8.0/src/full/Agda/Utils/Char.hs-formatted 2b8eb290abc6 Agda-2.8.0/src/full/Agda/Utils/Cluster.hs-formatted b2757fa5ae2f Agda-2.8.0/src/full/Agda/Utils/Either.hs-formatted 5c0f9924f59f Agda-2.8.0/src/full/Agda/Utils/Empty.hs-formatted 284145f1db7f Agda-2.8.0/src/full/Agda/Utils/Environment.hs-formatted e2b0e8db2604 Agda-2.8.0/src/full/Agda/Utils/Fail.hs-formatted 7ba92e89857d Agda-2.8.0/src/full/Agda/Utils/Favorites.hs-formatted 73363066a6a3 Agda-2.8.0/src/full/Agda/Utils/FileId.hs-formatted 99723aa601c1 Agda-2.8.0/src/full/Agda/Utils/FileName.hs-formatted e5f5fbd21c99 Agda-2.8.0/src/full/Agda/Utils/Float.hs-formatted bb823613272f Agda-2.8.0/src/full/Agda/Utils/Function.hs-formatted 75a5028a6b1a Agda-2.8.0/src/full/Agda/Utils/Functor.hs-formatted 026b04b8661e Agda-2.8.0/src/full/Agda/Utils/GetOpt.hs-formatted f69e6f903328 Agda-2.8.0/src/full/Agda/Utils/Graph/AdjacencyMap/Unidirectional.hs-formatted 989ea83c378b Agda-2.8.0/src/full/Agda/Utils/Graph/TopSort.hs-formatted db38367e7a17 Agda-2.8.0/src/full/Agda/Utils/Hash.hs-formatted 43284ef7124c Agda-2.8.0/src/full/Agda/Utils/HashTable.hs-formatted 019e9637b9b0 Agda-2.8.0/src/full/Agda/Utils/Haskell/Syntax.hs-formatted 7802531cbbc5 Agda-2.8.0/src/full/Agda/Utils/IArray.hs-formatted 8d53e1639c43 Agda-2.8.0/src/full/Agda/Utils/IO.hs-formatted ddd200e851ab Agda-2.8.0/src/full/Agda/Utils/IO/Binary.hs-formatted c62ffb044eae Agda-2.8.0/src/full/Agda/Utils/IO/Directory.hs-formatted 44ca6943bebd Agda-2.8.0/src/full/Agda/Utils/IO/TempFile.hs-formatted 51a9c4ed68e8 Agda-2.8.0/src/full/Agda/Utils/IO/UTF8.hs-formatted d938f94198a6 Agda-2.8.0/src/full/Agda/Utils/IORef.hs-formatted 695329a3bad9 Agda-2.8.0/src/full/Agda/Utils/Impossible.hs-formatted e5520ad27268 Agda-2.8.0/src/full/Agda/Utils/IndexedList.hs-formatted 89c592a4472e Agda-2.8.0/src/full/Agda/Utils/IntSet/Infinite.hs-formatted 37f9f2b34f7d Agda-2.8.0/src/full/Agda/Utils/Lens.hs-formatted 89e41b43691d Agda-2.8.0/src/full/Agda/Utils/Lens/Examples.hs-formatted ef65f125c3b1 Agda-2.8.0/src/full/Agda/Utils/List.hs-formatted 8392227e3997 Agda-2.8.0/src/full/Agda/Utils/List1.hs-formatted 3bd635eb52aa Agda-2.8.0/src/full/Agda/Utils/List1.hs-boot-formatted 3514de48df05 Agda-2.8.0/src/full/Agda/Utils/List2.hs-formatted 652d388d38ab Agda-2.8.0/src/full/Agda/Utils/ListT.hs-formatted 960b2b6f10d7 Agda-2.8.0/src/full/Agda/Utils/Map.hs-formatted 8c9045bc776a Agda-2.8.0/src/full/Agda/Utils/Map1.hs-formatted 6e06ef12a477 Agda-2.8.0/src/full/Agda/Utils/Maybe.hs-formatted f52b8f698d5f Agda-2.8.0/src/full/Agda/Utils/Maybe/Strict.hs-formatted fde8defcff6d Agda-2.8.0/src/full/Agda/Utils/Memo.hs-formatted df3a8985dc8e Agda-2.8.0/src/full/Agda/Utils/Monad.hs-formatted 4f8109a5fa85 Agda-2.8.0/src/full/Agda/Utils/Monoid.hs-formatted 92bb2192c3b2 Agda-2.8.0/src/full/Agda/Utils/Null.hs-formatted 4fd8ca5748d3 Agda-2.8.0/src/full/Agda/Utils/POMonoid.hs-formatted bb186d0604db Agda-2.8.0/src/full/Agda/Utils/Parser/MemoisedCPS.hs-formatted c2d2ccfc3558 Agda-2.8.0/src/full/Agda/Utils/PartialOrd.hs-formatted 687575c7f482 Agda-2.8.0/src/full/Agda/Utils/Permutation.hs-formatted fda572184491 Agda-2.8.0/src/full/Agda/Utils/ProfileOptions.hs-formatted 49a18a2c6aec Agda-2.8.0/src/full/Agda/Utils/RangeMap.hs-formatted 5039e6e9abfe Agda-2.8.0/src/full/Agda/Utils/SemiRing.hs-formatted 9aa281a4615c Agda-2.8.0/src/full/Agda/Utils/Semigroup.hs-formatted fdb04073ce98 Agda-2.8.0/src/full/Agda/Utils/Set1.hs-formatted f45ad8f08443 Agda-2.8.0/src/full/Agda/Utils/Singleton.hs-formatted 18c4a0bbe326 Agda-2.8.0/src/full/Agda/Utils/Size.hs-formatted f8b306deacdf Agda-2.8.0/src/full/Agda/Utils/SmallSet.hs-formatted 21babb4b50a9 Agda-2.8.0/src/full/Agda/Utils/String.hs-formatted 57a8a5b9fa29 Agda-2.8.0/src/full/Agda/Utils/Suffix.hs-formatted 736b26cda8bc Agda-2.8.0/src/full/Agda/Utils/Three.hs-formatted ebc104ac11d6 Agda-2.8.0/src/full/Agda/Utils/Time.hs-formatted 50c5753d1ca4 Agda-2.8.0/src/full/Agda/Utils/Trie.hs-formatted 1711e06969b5 Agda-2.8.0/src/full/Agda/Utils/Tuple.hs-formatted db9dcb1b8f66 Agda-2.8.0/src/full/Agda/Utils/TypeLevel.hs-formatted c8c672126225 Agda-2.8.0/src/full/Agda/Utils/TypeLits.hs-formatted 8d8d3b50eebc Agda-2.8.0/src/full/Agda/Utils/Unsafe.hs-formatted 7d2c7a588009 Agda-2.8.0/src/full/Agda/Utils/Update.hs-formatted 383866b27bb0 Agda-2.8.0/src/full/Agda/Utils/VarSet.hs-formatted 9f0839da86cb Agda-2.8.0/src/full/Agda/Utils/WithDefault.hs-formatted fe0ca6de293d Agda-2.8.0/src/full/Agda/Utils/Zipper.hs-formatted 86e923a357db Agda-2.8.0/src/main/Main.hs-formatted d3512172a4bc Agda-2.8.0/src/setup/Agda/Setup.hs-formatted 114aa5ab1508 Agda-2.8.0/src/setup/Agda/Setup/DataFiles.hs-formatted 42af21c8ecf8 Agda-2.8.0/src/setup/Agda/Setup/EmacsMode.hs-formatted acb74e0db7a5 Agda-2.8.0/src/setup/Agda/Version.hs-formatted 5164a4006c26 Agda-2.8.0/src/setup/Agda/VersionCommit.hs-formatted 90cd663d9426 HUnit-1.6.2.0/examples/Example.hs-formatted 9b1cac4b6c09 HUnit-1.6.2.0/src/Test/HUnit.hs-formatted a931a3d6bf9f HUnit-1.6.2.0/src/Test/HUnit/Base.hs-formatted ab91586830e9 HUnit-1.6.2.0/src/Test/HUnit/Lang.hs-formatted f9959d10adae HUnit-1.6.2.0/src/Test/HUnit/Terminal.hs-formatted c1c1d4fdc273 HUnit-1.6.2.0/src/Test/HUnit/Text.hs-formatted 358e8e211fe4 HUnit-1.6.2.0/tests/HUnitTestExtended.hs-formatted 2277de61adab HUnit-1.6.2.0/tests/HUnitTests.hs-formatted 6f374a392385 HUnit-1.6.2.0/tests/TerminalTest.hs-formatted 3c8a199a8a36 QuickCheck-2.18.0.0/examples/Heap.hs-formatted 0bd3a87ca5b5 QuickCheck-2.18.0.0/examples/Heap_Program.hs-formatted 85df59b82228 QuickCheck-2.18.0.0/examples/Heap_ProgramAlgebraic.hs-formatted cc37d9bcd159 QuickCheck-2.18.0.0/examples/Lambda.hs-formatted 56c98d50971f QuickCheck-2.18.0.0/examples/Merge.hs-formatted 6506a17a91ff QuickCheck-2.18.0.0/examples/Set.hs-formatted 598740b3d57c QuickCheck-2.18.0.0/examples/Simple.hs-partly-checked 5234e8085ba9 QuickCheck-2.18.0.0/src/Test/QuickCheck.hs-formatted 02ad02d885d3 QuickCheck-2.18.0.0/src/Test/QuickCheck/All.hs-declined - QuickCheck-2.18.0.0/src/Test/QuickCheck/Arbitrary.hs-formatted b394fbd4debb QuickCheck-2.18.0.0/src/Test/QuickCheck/Compat.hs-partly-checked 06fafd04e06a QuickCheck-2.18.0.0/src/Test/QuickCheck/Exception.hs-formatted 24dc2fbcd085 QuickCheck-2.18.0.0/src/Test/QuickCheck/Features.hs-declined - QuickCheck-2.18.0.0/src/Test/QuickCheck/Function.hs-formatted 061130c71dd5 QuickCheck-2.18.0.0/src/Test/QuickCheck/Gen.hs-formatted 0488daa21096 QuickCheck-2.18.0.0/src/Test/QuickCheck/Gen/Unsafe.hs-declined - QuickCheck-2.18.0.0/src/Test/QuickCheck/Modifiers.hs-declined - QuickCheck-2.18.0.0/src/Test/QuickCheck/Monadic.hs-formatted a94b9d13da2f QuickCheck-2.18.0.0/src/Test/QuickCheck/Monoids.hs-formatted 0c4f8c706edf QuickCheck-2.18.0.0/src/Test/QuickCheck/Poly.hs-declined - QuickCheck-2.18.0.0/src/Test/QuickCheck/Property.hs-formatted d248979763fb QuickCheck-2.18.0.0/src/Test/QuickCheck/Random.hs-formatted 67a6c49f2d76 QuickCheck-2.18.0.0/src/Test/QuickCheck/State.hs-formatted 3bad70f5b189 QuickCheck-2.18.0.0/src/Test/QuickCheck/Test.hs-formatted fc335cb1eb17 QuickCheck-2.18.0.0/src/Test/QuickCheck/Text.hs-formatted 9ca8d4e83360 QuickCheck-2.18.0.0/tests/CollectDataTypes.hs-formatted da3fb75adccf QuickCheck-2.18.0.0/tests/DiscardRatio.hs-formatted 5408e5e13bd3 QuickCheck-2.18.0.0/tests/GCoArbitraryExample.hs-formatted 8dd012261272 QuickCheck-2.18.0.0/tests/GShrinkExample.hs-formatted 4c75e82798d4 QuickCheck-2.18.0.0/tests/Generators.hs-formatted 057887c409bc QuickCheck-2.18.0.0/tests/Misc.hs-formatted 414efdc48918 QuickCheck-2.18.0.0/tests/MonadFix.hs-formatted 85ad2d1decbe QuickCheck-2.18.0.0/tests/Monoids.hs-formatted eae30fa51b1b QuickCheck-2.18.0.0/tests/RunCollectDataTypes.hs-formatted d798509570fa QuickCheck-2.18.0.0/tests/Split.hs-formatted da1fe583377c QuickCheck-2.18.0.0/tests/Strictness.hs-formatted 5b211214c287 QuickCheck-2.18.0.0/tests/Terminal.hs-formatted 398a0f17171d QuickCheck-2.18.0.0/tests/WithProgress.hs-formatted 5bd7a41e0fb6 ShellCheck-0.11.0/shellcheck.hs-formatted e96f582d0994 ShellCheck-0.11.0/src/ShellCheck/AST.hs-formatted c37d63683cf0 ShellCheck-0.11.0/src/ShellCheck/ASTLib.hs-formatted 84d65963cef4 ShellCheck-0.11.0/src/ShellCheck/Analytics.hs-formatted a37e7d6ad771 ShellCheck-0.11.0/src/ShellCheck/Analyzer.hs-formatted dc01891211e6 ShellCheck-0.11.0/src/ShellCheck/AnalyzerLib.hs-formatted d2cb76d4885e ShellCheck-0.11.0/src/ShellCheck/CFG.hs-formatted 612615cdeb63 ShellCheck-0.11.0/src/ShellCheck/CFGAnalysis.hs-formatted 64df5efa4dca ShellCheck-0.11.0/src/ShellCheck/Checker.hs-formatted 7ef4c3e0a33f ShellCheck-0.11.0/src/ShellCheck/Checks/Commands.hs-formatted 4499e00fdc51 ShellCheck-0.11.0/src/ShellCheck/Checks/ControlFlow.hs-formatted 0cbfece4e54b ShellCheck-0.11.0/src/ShellCheck/Checks/Custom.hs-formatted e1006f2d757d ShellCheck-0.11.0/src/ShellCheck/Checks/ShellSupport.hs-formatted d39eda0efa56 ShellCheck-0.11.0/src/ShellCheck/Data.hs-formatted 0b8c4331f2cb ShellCheck-0.11.0/src/ShellCheck/Debug.hs-formatted 801ef2ddf76d ShellCheck-0.11.0/src/ShellCheck/Fixer.hs-formatted 1c5c142bbc8c ShellCheck-0.11.0/src/ShellCheck/Formatter/CheckStyle.hs-formatted 13b3c15a19bc ShellCheck-0.11.0/src/ShellCheck/Formatter/Diff.hs-formatted 78112453fad7 ShellCheck-0.11.0/src/ShellCheck/Formatter/Format.hs-formatted d90b451f113e ShellCheck-0.11.0/src/ShellCheck/Formatter/GCC.hs-formatted b5dba8eeaa1e ShellCheck-0.11.0/src/ShellCheck/Formatter/JSON.hs-formatted fb9c03a6a335 ShellCheck-0.11.0/src/ShellCheck/Formatter/JSON1.hs-formatted a381122da904 ShellCheck-0.11.0/src/ShellCheck/Formatter/Quiet.hs-formatted ede5712d5ab7 ShellCheck-0.11.0/src/ShellCheck/Formatter/TTY.hs-formatted a601aea10041 ShellCheck-0.11.0/src/ShellCheck/Interface.hs-formatted 1f9ece3950b4 ShellCheck-0.11.0/src/ShellCheck/Parser.hs-formatted 41e45f4ec82e ShellCheck-0.11.0/src/ShellCheck/Prelude.hs-formatted 0b6a2ca650ea ShellCheck-0.11.0/src/ShellCheck/Regex.hs-formatted d7f66e7f3a00 ShellCheck-0.11.0/test/shellcheck.hs-formatted f11704872a0d adjunctions-4.4.4/HLint.hs-formatted b76eebd88dde adjunctions-4.4.4/src/Control/Comonad/Representable/Store.hs-formatted de45dcce87b3 adjunctions-4.4.4/src/Control/Comonad/Trans/Adjoint.hs-formatted b2d151be53ba adjunctions-4.4.4/src/Control/Monad/Representable/Reader.hs-formatted a638921f9e27 adjunctions-4.4.4/src/Control/Monad/Representable/State.hs-formatted 090896034199 adjunctions-4.4.4/src/Control/Monad/Trans/Adjoint.hs-formatted e1817af58b0a adjunctions-4.4.4/src/Control/Monad/Trans/Contravariant/Adjoint.hs-formatted e1065b4a8220 adjunctions-4.4.4/src/Control/Monad/Trans/Conts.hs-formatted a9be4a7e726b adjunctions-4.4.4/src/Data/Functor/Adjunction.hs-formatted 191e78a8f894 adjunctions-4.4.4/src/Data/Functor/Contravariant/Adjunction.hs-formatted 573a1fcd59fd adjunctions-4.4.4/src/Data/Functor/Contravariant/Rep.hs-formatted 28caf428004b adjunctions-4.4.4/src/Data/Functor/Rep.hs-formatted 885922fbbfe0 adjunctions-4.4.4/tests/GenericsSpec.hs-formatted 2fbd14b119a4 adjunctions-4.4.4/tests/Spec.hs-formatted 7bbf4758e5ad aeson-2.3.1.0/src/Data/Aeson.hs-formatted e884d6813fc6 aeson-2.3.1.0/src/Data/Aeson/Decoding.hs-formatted 93bdee10e02a aeson-2.3.1.0/src/Data/Aeson/Decoding/ByteString.hs-formatted 635321399aa4 aeson-2.3.1.0/src/Data/Aeson/Decoding/ByteString/Lazy.hs-formatted 1d3a54288c25 aeson-2.3.1.0/src/Data/Aeson/Decoding/Conversion.hs-formatted f1f142fef403 aeson-2.3.1.0/src/Data/Aeson/Decoding/Internal.hs-formatted e972ebea468c aeson-2.3.1.0/src/Data/Aeson/Decoding/Text.hs-formatted 709b71ada144 aeson-2.3.1.0/src/Data/Aeson/Decoding/Tokens.hs-formatted c6cf8dff7aea aeson-2.3.1.0/src/Data/Aeson/Encoding.hs-formatted 96d4e6121b81 aeson-2.3.1.0/src/Data/Aeson/Encoding/Builder.hs-formatted 32e6990c1aad aeson-2.3.1.0/src/Data/Aeson/Encoding/Internal.hs-formatted d7002010fdc9 aeson-2.3.1.0/src/Data/Aeson/Internal/ByteString.hs-formatted 7ff60392d6c3 aeson-2.3.1.0/src/Data/Aeson/Internal/Functions.hs-formatted e048ffa25767 aeson-2.3.1.0/src/Data/Aeson/Internal/Prelude.hs-formatted 57e28222c296 aeson-2.3.1.0/src/Data/Aeson/Internal/Scientific.hs-formatted 6bb6b5229c29 aeson-2.3.1.0/src/Data/Aeson/Internal/TH.hs-formatted b61b87ef28b1 aeson-2.3.1.0/src/Data/Aeson/Internal/Text.hs-formatted e83337edc6e6 aeson-2.3.1.0/src/Data/Aeson/Internal/Unescape.hs-formatted 20257ed727b2 aeson-2.3.1.0/src/Data/Aeson/Internal/UnescapeFromText.hs-formatted 1052e9d7d311 aeson-2.3.1.0/src/Data/Aeson/Key.hs-formatted cae25a09a08c aeson-2.3.1.0/src/Data/Aeson/KeyMap.hs-formatted a8f98f92bb33 aeson-2.3.1.0/src/Data/Aeson/Parser/Time.hs-formatted 34673c7e3119 aeson-2.3.1.0/src/Data/Aeson/QQ/Simple.hs-formatted 8c47510bfe90 aeson-2.3.1.0/src/Data/Aeson/RFC8785.hs-formatted f60561be7302 aeson-2.3.1.0/src/Data/Aeson/TH.hs-formatted 12a0132d4a2c aeson-2.3.1.0/src/Data/Aeson/Text.hs-formatted d929af4e0687 aeson-2.3.1.0/src/Data/Aeson/Types.hs-formatted e11d9a90b593 aeson-2.3.1.0/src/Data/Aeson/Types/Class.hs-formatted 36f39e5a3dd4 aeson-2.3.1.0/src/Data/Aeson/Types/FromJSON.hs-formatted af543197c845 aeson-2.3.1.0/src/Data/Aeson/Types/Generic.hs-formatted 9fc1ad97795b aeson-2.3.1.0/src/Data/Aeson/Types/Internal.hs-formatted 36a7e779b4fc aeson-2.3.1.0/src/Data/Aeson/Types/ToJSON.hs-formatted 4a92c519c2c4 aeson-2.3.1.0/tests/CastFloat.hs-formatted bad3a5065737 aeson-2.3.1.0/tests/DataFamilies/Encoders.hs-formatted 0d864147e795 aeson-2.3.1.0/tests/DataFamilies/Instances.hs-formatted 91fe7aa4d3dc aeson-2.3.1.0/tests/DataFamilies/Properties.hs-formatted 4d002c77704c aeson-2.3.1.0/tests/DataFamilies/Types.hs-formatted 18d45630b0f4 aeson-2.3.1.0/tests/DoubleToScientific.hs-formatted 659a9357b588 aeson-2.3.1.0/tests/Encoders.hs-formatted 30150da5a855 aeson-2.3.1.0/tests/ErrorMessages.hs-formatted 72fb423455c1 aeson-2.3.1.0/tests/Functions.hs-formatted 45b065b98a94 aeson-2.3.1.0/tests/Instances.hs-formatted 38b7096d53c4 aeson-2.3.1.0/tests/JSONTestSuite.hs-formatted 82f27586e194 aeson-2.3.1.0/tests/Options.hs-formatted 269fd896fd74 aeson-2.3.1.0/tests/PropUtils.hs-formatted 5c7e1bcf3dd6 aeson-2.3.1.0/tests/Properties.hs-formatted 47a934388051 aeson-2.3.1.0/tests/PropertyGeneric.hs-formatted 109d7fb52b5b aeson-2.3.1.0/tests/PropertyKeys.hs-formatted 0d9df9d04cba aeson-2.3.1.0/tests/PropertyQC.hs-formatted a2e378d49eb8 aeson-2.3.1.0/tests/PropertyRTFunctors.hs-formatted d54279308532 aeson-2.3.1.0/tests/PropertyRoundTrip.hs-formatted 1c47871a8c20 aeson-2.3.1.0/tests/PropertyTH.hs-formatted 816e57772780 aeson-2.3.1.0/tests/RFC8785.hs-formatted 378b97660503 aeson-2.3.1.0/tests/Regression/Issue1138.hs-formatted 1cfcacdcaf11 aeson-2.3.1.0/tests/Regression/Issue351.hs-formatted f000e9c51f1a aeson-2.3.1.0/tests/Regression/Issue571.hs-formatted 650ac09bee0a aeson-2.3.1.0/tests/Regression/Issue687.hs-formatted e5c541d1465a aeson-2.3.1.0/tests/Regression/Issue967.hs-formatted f9a4bb5a21f0 aeson-2.3.1.0/tests/SerializationFormatSpec.hs-formatted 8eaa36c16021 aeson-2.3.1.0/tests/Tests.hs-formatted c88e88732cfd aeson-2.3.1.0/tests/Types.hs-formatted ac8b6651c5ec aeson-2.3.1.0/tests/UnitTests.hs-formatted f18689008d86 aeson-2.3.1.0/tests/UnitTests/FromJSONKey.hs-formatted 8fa12a214cda aeson-2.3.1.0/tests/UnitTests/Hashable.hs-formatted 2e6e13a2b307 aeson-2.3.1.0/tests/UnitTests/KeyMapInsertWith.hs-formatted fc462ed61e50 aeson-2.3.1.0/tests/UnitTests/MonadFix.hs-formatted 657449faeb93 aeson-2.3.1.0/tests/UnitTests/NoThunks.hs-formatted 31a111ec64d8 aeson-2.3.1.0/tests/UnitTests/NullaryConstructors.hs-formatted 21ebc1b4f9c4 aeson-2.3.1.0/tests/UnitTests/OmitNothingFieldsNote.hs-formatted 11d14533f820 aeson-2.3.1.0/tests/UnitTests/OptionalFields.hs-formatted 699f022c0cb2 aeson-2.3.1.0/tests/UnitTests/OptionalFields/Common.hs-formatted d8f208687b90 aeson-2.3.1.0/tests/UnitTests/OptionalFields/Generics.hs-formatted 0bea65848d96 aeson-2.3.1.0/tests/UnitTests/OptionalFields/Manual.hs-formatted 4a6ecc95787f aeson-2.3.1.0/tests/UnitTests/OptionalFields/TH.hs-formatted e93203961852 aeson-2.3.1.0/tests/UnitTests/UTCTime.hs-formatted e865ae48f11b ansi-terminal-1.1.5/Setup.hs-formatted 444d34793bf4 ansi-terminal-1.1.5/app/Example.hs-formatted 64edb10877a8 ansi-terminal-1.1.5/src/System/Console/ANSI.hs-formatted 0cc59e71668d ansi-terminal-1.1.5/unix/System/Console/ANSI/Internal.hs-formatted 2ee987b3a95a ansi-terminal-1.1.5/win/System/Console/ANSI/Internal.hs-broken 5c7d30c5b6fe ansi-terminal-1.1.5/win/System/Console/ANSI/Windows/Foreign.hs-formatted 70161e33d5f6 ansi-terminal-1.1.5/win/System/Console/ANSI/Windows/Win32/Types.hs-formatted 9e25d9947df5 async-2.2.6/Control/Concurrent/Async.hs-partly-checked 3a3b893cb914 async-2.2.6/Control/Concurrent/Async/Internal.hs-formatted 68777666410b async-2.2.6/Control/Concurrent/Async/Warden.hs-formatted a0f5a7bd29cb async-2.2.6/Control/Concurrent/Stream.hs-formatted e865ae48f11b async-2.2.6/Setup.hs-formatted 7f1489b412a3 async-2.2.6/bench/concasync.hs-formatted 947eb9e17a7c async-2.2.6/bench/conccancel.hs-formatted 6fd907018c80 async-2.2.6/bench/race.hs-formatted 4db35c37a9a6 async-2.2.6/test/test-async.hs-formatted 9f3238148609 attoparsec-0.14.4/Data/Attoparsec.hs-formatted 7d88b33f4399 attoparsec-0.14.4/Data/Attoparsec/ByteString.hs-formatted 4ba03080e749 attoparsec-0.14.4/Data/Attoparsec/ByteString/Char8.hs-formatted 0e47afce0362 attoparsec-0.14.4/Data/Attoparsec/ByteString/Internal.hs-formatted fcc23ffbbc3d attoparsec-0.14.4/Data/Attoparsec/ByteString/Lazy.hs-formatted 220f76f3ce4e attoparsec-0.14.4/Data/Attoparsec/Char8.hs-formatted 90be588fbc3a attoparsec-0.14.4/Data/Attoparsec/Combinator.hs-formatted 4b9154d41c2a attoparsec-0.14.4/Data/Attoparsec/Internal.hs-formatted dbeb97f732d5 attoparsec-0.14.4/Data/Attoparsec/Internal/Types.hs-formatted ea3b710a875e attoparsec-0.14.4/Data/Attoparsec/Lazy.hs-formatted 3d8057d5d688 attoparsec-0.14.4/Data/Attoparsec/Number.hs-formatted 45050bdb0a87 attoparsec-0.14.4/Data/Attoparsec/Text.hs-formatted 8419b057d5a4 attoparsec-0.14.4/Data/Attoparsec/Text/Internal.hs-formatted b1c4021729a8 attoparsec-0.14.4/Data/Attoparsec/Text/Lazy.hs-formatted 63d322215a87 attoparsec-0.14.4/Data/Attoparsec/Types.hs-formatted 8ab300fd67b0 attoparsec-0.14.4/Data/Attoparsec/Zepto.hs-formatted 53b0400e60aa attoparsec-0.14.4/benchmarks/Aeson.hs-formatted b151a3ed3e1a attoparsec-0.14.4/benchmarks/Benchmarks.hs-formatted bd0309211105 attoparsec-0.14.4/benchmarks/Common.hs-formatted baa4df75c7d8 attoparsec-0.14.4/benchmarks/Genome.hs-formatted 3f8483fc03da attoparsec-0.14.4/benchmarks/HeadersByteString.hs-formatted bb42606c4a8a attoparsec-0.14.4/benchmarks/HeadersByteString/Atto.hs-formatted 5a57c6aaa740 attoparsec-0.14.4/benchmarks/HeadersText.hs-formatted 8fa6e462f95f attoparsec-0.14.4/benchmarks/Links.hs-formatted f582abe3e244 attoparsec-0.14.4/benchmarks/Numbers.hs-formatted 696be472825c attoparsec-0.14.4/benchmarks/Sets.hs-formatted 0d64d700acb4 attoparsec-0.14.4/benchmarks/TextFastSet.hs-formatted 2b16e18cd8c0 attoparsec-0.14.4/benchmarks/Warp.hs-formatted 5aab92534568 attoparsec-0.14.4/benchmarks/warp-3.0.1.1/Network/Wai/Handler/Warp/ReadInt.hs-formatted 1f7d3a417fb5 attoparsec-0.14.4/benchmarks/warp-3.0.1.1/Network/Wai/Handler/Warp/RequestHeader.hs-formatted 0d3565bef090 attoparsec-0.14.4/examples/Atto_RFC2616.hs-formatted b6861e7aadf8 attoparsec-0.14.4/examples/Parsec_RFC2616.hs-formatted af7fdd1013cc attoparsec-0.14.4/examples/RFC2616.hs-formatted ef93830525fb attoparsec-0.14.4/internal/Data/Attoparsec/ByteString/Buffer.hs-formatted f351843a1420 attoparsec-0.14.4/internal/Data/Attoparsec/ByteString/FastSet.hs-formatted f21e47830b1f attoparsec-0.14.4/internal/Data/Attoparsec/Internal/Compat.hs-formatted 4498fcbfa61f attoparsec-0.14.4/internal/Data/Attoparsec/Internal/Fhthagn.hs-formatted bc12b2ada3b5 attoparsec-0.14.4/internal/Data/Attoparsec/Text/Buffer.hs-formatted b2e14e3c02d3 attoparsec-0.14.4/internal/Data/Attoparsec/Text/FastSet.hs-formatted ccaeb87485db attoparsec-0.14.4/tests/QC.hs-formatted c4481214d6c0 attoparsec-0.14.4/tests/QC/Buffer.hs-formatted ae7fa7b38a4b attoparsec-0.14.4/tests/QC/ByteString.hs-formatted 455e4866502a attoparsec-0.14.4/tests/QC/Combinator.hs-formatted 2bd326ae7162 attoparsec-0.14.4/tests/QC/Common.hs-formatted 7558d60104bb attoparsec-0.14.4/tests/QC/IPv6/Internal.hs-formatted 0692feda416d attoparsec-0.14.4/tests/QC/IPv6/Types.hs-formatted 08452f3d9508 attoparsec-0.14.4/tests/QC/Rechunked.hs-formatted 0bab40e54197 attoparsec-0.14.4/tests/QC/Simple.hs-formatted f610227583f7 attoparsec-0.14.4/tests/QC/Text.hs-formatted 930b366b3b68 attoparsec-0.14.4/tests/QC/Text/FastSet.hs-formatted ed6a9f21b67c attoparsec-0.14.4/tests/QC/Text/Regressions.hs-formatted 7710b806795e aws-0.25.3/Aws.hs-formatted a0ce75039c94 aws-0.25.3/Aws/Aws.hs-formatted 905ef20b8b35 aws-0.25.3/Aws/Core.hs-formatted 526f7494fea1 aws-0.25.3/Aws/DynamoDb.hs-formatted 11c5a36e6111 aws-0.25.3/Aws/DynamoDb/Commands.hs-formatted 233aad0bb1ed aws-0.25.3/Aws/DynamoDb/Commands/BatchGetItem.hs-formatted d1bdb0d1df58 aws-0.25.3/Aws/DynamoDb/Commands/BatchWriteItem.hs-formatted 80eee4eebfe0 aws-0.25.3/Aws/DynamoDb/Commands/DeleteItem.hs-formatted 3feb28aee701 aws-0.25.3/Aws/DynamoDb/Commands/GetItem.hs-formatted 7c5a72d0256b aws-0.25.3/Aws/DynamoDb/Commands/PutItem.hs-formatted 0e5d2def9d4d aws-0.25.3/Aws/DynamoDb/Commands/Query.hs-formatted 826249cb5bbc aws-0.25.3/Aws/DynamoDb/Commands/Scan.hs-formatted 9bea9ff7b1ae aws-0.25.3/Aws/DynamoDb/Commands/Table.hs-formatted 3081d5cd4a3b aws-0.25.3/Aws/DynamoDb/Commands/UpdateItem.hs-formatted b92828b82a58 aws-0.25.3/Aws/DynamoDb/Core.hs-formatted 7da30757579d aws-0.25.3/Aws/Ec2/InstanceMetadata.hs-formatted 64524ea72e53 aws-0.25.3/Aws/Iam.hs-formatted 749eee8b56a6 aws-0.25.3/Aws/Iam/Commands.hs-formatted ad79f5d57197 aws-0.25.3/Aws/Iam/Commands/AddUserToGroup.hs-formatted 915fd6e3db63 aws-0.25.3/Aws/Iam/Commands/CreateAccessKey.hs-formatted bde533108084 aws-0.25.3/Aws/Iam/Commands/CreateGroup.hs-formatted 71878d688298 aws-0.25.3/Aws/Iam/Commands/CreateUser.hs-formatted 9e5113cbceb2 aws-0.25.3/Aws/Iam/Commands/DeleteAccessKey.hs-formatted 69f808dacd5c aws-0.25.3/Aws/Iam/Commands/DeleteGroup.hs-formatted 8e3043dbd167 aws-0.25.3/Aws/Iam/Commands/DeleteGroupPolicy.hs-formatted 7214274b0a75 aws-0.25.3/Aws/Iam/Commands/DeleteUser.hs-formatted f49416222f95 aws-0.25.3/Aws/Iam/Commands/DeleteUserPolicy.hs-formatted 1b4517924917 aws-0.25.3/Aws/Iam/Commands/GetGroupPolicy.hs-formatted 512be8c8f03d aws-0.25.3/Aws/Iam/Commands/GetUser.hs-formatted 52a399c24ce2 aws-0.25.3/Aws/Iam/Commands/GetUserPolicy.hs-formatted 76b52f1c10e6 aws-0.25.3/Aws/Iam/Commands/ListAccessKeys.hs-formatted f147cb58a827 aws-0.25.3/Aws/Iam/Commands/ListGroupPolicies.hs-formatted 9055a8593cb5 aws-0.25.3/Aws/Iam/Commands/ListGroups.hs-formatted d4d566b0d162 aws-0.25.3/Aws/Iam/Commands/ListMfaDevices.hs-formatted c2765a268c08 aws-0.25.3/Aws/Iam/Commands/ListUserPolicies.hs-formatted 81792beec6f5 aws-0.25.3/Aws/Iam/Commands/ListUsers.hs-formatted 12e4d06eee79 aws-0.25.3/Aws/Iam/Commands/PutGroupPolicy.hs-formatted f35205957f88 aws-0.25.3/Aws/Iam/Commands/PutUserPolicy.hs-formatted 73390f7341bb aws-0.25.3/Aws/Iam/Commands/RemoveUserFromGroup.hs-formatted 6471d441fd65 aws-0.25.3/Aws/Iam/Commands/UpdateAccessKey.hs-formatted 1df52130a26f aws-0.25.3/Aws/Iam/Commands/UpdateGroup.hs-formatted 9d554d7c5663 aws-0.25.3/Aws/Iam/Commands/UpdateUser.hs-formatted 7f6159798a1d aws-0.25.3/Aws/Iam/Core.hs-formatted feab396b426b aws-0.25.3/Aws/Iam/Internal.hs-formatted 48b677d290e9 aws-0.25.3/Aws/Network.hs-formatted ce77812a32a4 aws-0.25.3/Aws/S3.hs-formatted 468614525265 aws-0.25.3/Aws/S3/Commands.hs-formatted 2646f70fe9fa aws-0.25.3/Aws/S3/Commands/CopyObject.hs-formatted 679fbc8ba590 aws-0.25.3/Aws/S3/Commands/DeleteBucket.hs-formatted dc00b880ff44 aws-0.25.3/Aws/S3/Commands/DeleteObject.hs-formatted 15d5415d448a aws-0.25.3/Aws/S3/Commands/DeleteObjectVersion.hs-formatted a7835a797996 aws-0.25.3/Aws/S3/Commands/DeleteObjects.hs-formatted 9a5f4d5ab8cb aws-0.25.3/Aws/S3/Commands/GetBucket.hs-formatted fd9ef9806007 aws-0.25.3/Aws/S3/Commands/GetBucketLocation.hs-formatted 8892058ce5a8 aws-0.25.3/Aws/S3/Commands/GetBucketObjectVersions.hs-formatted 77560acf62f4 aws-0.25.3/Aws/S3/Commands/GetBucketVersioning.hs-formatted 89fc0e4e1542 aws-0.25.3/Aws/S3/Commands/GetObject.hs-formatted b2f36afa32e0 aws-0.25.3/Aws/S3/Commands/GetService.hs-formatted a771521a31ae aws-0.25.3/Aws/S3/Commands/HeadObject.hs-formatted be81d8b96bcb aws-0.25.3/Aws/S3/Commands/Multipart.hs-formatted 311a84a6ddb3 aws-0.25.3/Aws/S3/Commands/PutBucket.hs-formatted 2428bf962e66 aws-0.25.3/Aws/S3/Commands/PutBucketVersioning.hs-formatted ed3a2453d1ee aws-0.25.3/Aws/S3/Commands/PutObject.hs-formatted bc50203fa9d6 aws-0.25.3/Aws/S3/Commands/RestoreObject.hs-formatted 691e7d45ad83 aws-0.25.3/Aws/S3/Core.hs-formatted e59133632c71 aws-0.25.3/Aws/Ses.hs-formatted 98906d812790 aws-0.25.3/Aws/Ses/Commands.hs-formatted d82f6af0c772 aws-0.25.3/Aws/Ses/Commands/DeleteIdentity.hs-formatted 81e7c8056065 aws-0.25.3/Aws/Ses/Commands/GetIdentityDkimAttributes.hs-formatted ea5078ceaf94 aws-0.25.3/Aws/Ses/Commands/GetIdentityNotificationAttributes.hs-formatted d96fd6a7f13d aws-0.25.3/Aws/Ses/Commands/GetIdentityVerificationAttributes.hs-formatted 3b484cb8347e aws-0.25.3/Aws/Ses/Commands/ListIdentities.hs-formatted 147fb92b671d aws-0.25.3/Aws/Ses/Commands/SendRawEmail.hs-formatted c04b0e5d6ba3 aws-0.25.3/Aws/Ses/Commands/SetIdentityDkimEnabled.hs-formatted a32e25c2dc37 aws-0.25.3/Aws/Ses/Commands/SetIdentityFeedbackForwardingEnabled.hs-formatted b262146aced4 aws-0.25.3/Aws/Ses/Commands/SetIdentityNotificationTopic.hs-formatted 2ef608635aeb aws-0.25.3/Aws/Ses/Commands/VerifyDomainDkim.hs-formatted ffb19c08b235 aws-0.25.3/Aws/Ses/Commands/VerifyDomainIdentity.hs-formatted de43062d4755 aws-0.25.3/Aws/Ses/Commands/VerifyEmailIdentity.hs-formatted 93d2568d042f aws-0.25.3/Aws/Ses/Core.hs-formatted 4115c76b6f3d aws-0.25.3/Aws/SimpleDb.hs-formatted 0b6040677d6d aws-0.25.3/Aws/SimpleDb/Commands.hs-formatted 30e4762ca046 aws-0.25.3/Aws/SimpleDb/Commands/Attributes.hs-formatted 66e68309ec36 aws-0.25.3/Aws/SimpleDb/Commands/Domain.hs-formatted d6accda5efc3 aws-0.25.3/Aws/SimpleDb/Commands/Select.hs-formatted 75d5726cf334 aws-0.25.3/Aws/SimpleDb/Core.hs-formatted 412e7ea774c8 aws-0.25.3/Aws/Sqs.hs-formatted 346f822a2760 aws-0.25.3/Aws/Sqs/Commands.hs-formatted a5744e9dccb8 aws-0.25.3/Aws/Sqs/Commands/Message.hs-formatted cf945609c0a3 aws-0.25.3/Aws/Sqs/Commands/Permission.hs-formatted a63871aa35df aws-0.25.3/Aws/Sqs/Commands/Queue.hs-formatted 6fbdfbc403cf aws-0.25.3/Aws/Sqs/Commands/QueueAttributes.hs-formatted ffc8850066c4 aws-0.25.3/Aws/Sqs/Core.hs-formatted edf61ab9d90d aws-0.25.3/Examples/DynamoDb.hs-formatted aa1fdefebee6 aws-0.25.3/Examples/GetObject.hs-formatted 6a4e3eea6653 aws-0.25.3/Examples/GetObjectGoogle.hs-formatted 94c0a4242cce aws-0.25.3/Examples/GetObjectV4.hs-formatted 5762e0f1fddf aws-0.25.3/Examples/MultipartTransfer.hs-formatted c09c03a39390 aws-0.25.3/Examples/MultipartUpload.hs-formatted f8163e1e4473 aws-0.25.3/Examples/NukeBucket.hs-formatted 34698069cedb aws-0.25.3/Examples/PutBucketNearLine.hs-formatted 9ad36fcdaae7 aws-0.25.3/Examples/SimpleDb.hs-formatted c31e8b7adbf5 aws-0.25.3/Examples/Sqs.hs-formatted e865ae48f11b aws-0.25.3/Setup.hs-formatted 354bb309a68c aws-0.25.3/tests/DynamoDb/Main.hs-formatted 75daea597c6a aws-0.25.3/tests/DynamoDb/Utils.hs-formatted 5886bbdd46c9 aws-0.25.3/tests/S3/Main.hs-formatted 44336eea1e26 aws-0.25.3/tests/Sqs/Main.hs-formatted 001f1d1eb163 aws-0.25.3/tests/Utils.hs-formatted c4588035d2e2 base64-bytestring-1.2.1.0/Data/ByteString/Base64.hs-formatted 2897fc80ce31 base64-bytestring-1.2.1.0/Data/ByteString/Base64/Internal.hs-formatted dae9abac8bd0 base64-bytestring-1.2.1.0/Data/ByteString/Base64/Lazy.hs-formatted f0e7d8a34f4b base64-bytestring-1.2.1.0/Data/ByteString/Base64/URL.hs-formatted 0d8bf6b77f56 base64-bytestring-1.2.1.0/Data/ByteString/Base64/URL/Lazy.hs-formatted e865ae48f11b base64-bytestring-1.2.1.0/Setup.hs-formatted 0328dc0c3c7c base64-bytestring-1.2.1.0/benchmarks/BM.hs-formatted e856b328c01f base64-bytestring-1.2.1.0/tests/Tests.hs-formatted d41a83550f57 base64-bytestring-1.2.1.0/utils/Transcode.hs-formatted a696585f6bb3 bifunctors-5.6.3/src/Data/Biapplicative.hs-formatted 463448893cde bifunctors-5.6.3/src/Data/Bifunctor/Biap.hs-formatted 9705f6a45db6 bifunctors-5.6.3/src/Data/Bifunctor/Biff.hs-formatted 738f47d063bd bifunctors-5.6.3/src/Data/Bifunctor/Clown.hs-formatted 6d43dacbcc13 bifunctors-5.6.3/src/Data/Bifunctor/Fix.hs-formatted a1ca106ac715 bifunctors-5.6.3/src/Data/Bifunctor/Flip.hs-formatted 3ac44f1c96ed bifunctors-5.6.3/src/Data/Bifunctor/Functor.hs-formatted 33b8fe550adc bifunctors-5.6.3/src/Data/Bifunctor/Join.hs-formatted bc37198ad9bd bifunctors-5.6.3/src/Data/Bifunctor/Joker.hs-formatted d60de274f1df bifunctors-5.6.3/src/Data/Bifunctor/Product.hs-formatted a4989781f0a5 bifunctors-5.6.3/src/Data/Bifunctor/Sum.hs-formatted 288f57b835fa bifunctors-5.6.3/src/Data/Bifunctor/TH.hs-formatted 73cfe6b7a060 bifunctors-5.6.3/src/Data/Bifunctor/TH/Internal.hs-formatted 4a12830ba36a bifunctors-5.6.3/src/Data/Bifunctor/Tannen.hs-formatted 34520394097f bifunctors-5.6.3/src/Data/Bifunctor/Wrapped.hs-formatted 04a6a496b2b6 bifunctors-5.6.3/tests/BifunctorSpec.hs-formatted 2fbd14b119a4 bifunctors-5.6.3/tests/Spec.hs-formatted 6fd640c12d5f bifunctors-5.6.3/tests/T89Spec.hs-formatted e865ae48f11b blaze-html-0.9.2.0/Setup.hs-formatted 59b1e28dc18c blaze-html-0.9.2.0/src/Text/Blaze/Html.hs-formatted 1ceaed7998ed blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/Pretty.hs-formatted a5a8080ce8a3 blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/String.hs-formatted 850270b61be0 blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/Text.hs-formatted 4dbd824fb533 blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/Utf8.hs-formatted 193787aa6e82 blaze-html-0.9.2.0/src/Text/Blaze/Html4/FrameSet.hs-formatted 311d6a242cd1 blaze-html-0.9.2.0/src/Text/Blaze/Html4/FrameSet/Attributes.hs-formatted 980072ab3333 blaze-html-0.9.2.0/src/Text/Blaze/Html4/Strict.hs-formatted 6d96fbabc526 blaze-html-0.9.2.0/src/Text/Blaze/Html4/Strict/Attributes.hs-formatted 4c6ce53fa6c0 blaze-html-0.9.2.0/src/Text/Blaze/Html4/Transitional.hs-formatted d39d423c9274 blaze-html-0.9.2.0/src/Text/Blaze/Html4/Transitional/Attributes.hs-formatted 6593178d8914 blaze-html-0.9.2.0/src/Text/Blaze/Html5.hs-formatted a51b4ec4c88c blaze-html-0.9.2.0/src/Text/Blaze/Html5/Attributes.hs-formatted a3131475444c blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/FrameSet.hs-formatted b11110851d4d blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/FrameSet/Attributes.hs-formatted 326a6b8007f4 blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Strict.hs-formatted 614d1d8b8758 blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Strict/Attributes.hs-formatted f18debc4b04a blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Transitional.hs-formatted b02420bd150d blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Transitional/Attributes.hs-formatted 19fcd3fe0b2a blaze-html-0.9.2.0/src/Text/Blaze/XHtml5.hs-formatted e7349ea7b26e blaze-html-0.9.2.0/src/Text/Blaze/XHtml5/Attributes.hs-formatted 6a3eeb3e9d8b blaze-html-0.9.2.0/src/Util/GenerateHtmlCombinators.hs-formatted c350d72adcf6 blaze-html-0.9.2.0/src/Util/Sanitize.hs-formatted 3b0e5b5fbcb0 blaze-html-0.9.2.0/tests/TestSuite.hs-formatted e2943235e42d blaze-html-0.9.2.0/tests/Text/Blaze/Html/Tests.hs-formatted 9dae0554f33d blaze-html-0.9.2.0/tests/Text/Blaze/Html/Tests/Util.hs-formatted c858d7e158e9 blaze-html-0.9.2.0/tests/Util/Tests.hs-formatted e865ae48f11b blaze-markup-0.8.3.0/Setup.hs-formatted a414efd123bb blaze-markup-0.8.3.0/src/Text/Blaze.hs-formatted 88904daa5374 blaze-markup-0.8.3.0/src/Text/Blaze/Internal.hs-formatted 4846f41adc9e blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/Pretty.hs-formatted 2e54745ce84a blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/String.hs-formatted 8bb5a6b40341 blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/Text.hs-formatted c0f54cd6a8ef blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/Utf8.hs-formatted c7292f26d075 blaze-markup-0.8.3.0/tests/TestSuite.hs-formatted efa997a477e9 blaze-markup-0.8.3.0/tests/Text/Blaze/Tests.hs-formatted e6ac9555645c blaze-markup-0.8.3.0/tests/Text/Blaze/Tests/Util.hs-formatted e865ae48f11b brick-2.13/Setup.hs-formatted 2eb9ed1b5eff brick-2.13/programs/AnimationDemo.hs-formatted 5d807c6bfef9 brick-2.13/programs/AttrDemo.hs-formatted efff9829e309 brick-2.13/programs/BorderDemo.hs-formatted aef958fe74cd brick-2.13/programs/CacheDemo.hs-formatted 095e55ce36f6 brick-2.13/programs/CroppingDemo.hs-formatted 2bd41626b7f1 brick-2.13/programs/CustomEventDemo.hs-formatted 74968af52af2 brick-2.13/programs/CustomKeybindingDemo.hs-formatted 8438ad4ac269 brick-2.13/programs/DialogDemo.hs-formatted 70a751a6fa70 brick-2.13/programs/DynamicBorderDemo.hs-formatted 464ea19b0d91 brick-2.13/programs/EditDemo.hs-formatted 4cce67dc7675 brick-2.13/programs/EditorLineNumbersDemo.hs-formatted cb441c25368f brick-2.13/programs/FileBrowserDemo.hs-formatted f42c468e824d brick-2.13/programs/FillDemo.hs-formatted c4c35fd7ec81 brick-2.13/programs/FormDemo.hs-formatted ccec85b0d210 brick-2.13/programs/HelloWorldDemo.hs-formatted df3c26970095 brick-2.13/programs/LayerDemo.hs-formatted f010e64931de brick-2.13/programs/ListDemo.hs-formatted 72b3c637e7a9 brick-2.13/programs/ListViDemo.hs-formatted 79a27a0bcb66 brick-2.13/programs/MouseDemo.hs-formatted 07bae652c697 brick-2.13/programs/PaddingDemo.hs-formatted 004a2e91363a brick-2.13/programs/ProgressBarDemo.hs-formatted 663c2424c9c5 brick-2.13/programs/ReadmeDemo.hs-formatted ae2bca4be4b6 brick-2.13/programs/SuspendAndResumeDemo.hs-formatted da922e788566 brick-2.13/programs/TableDemo.hs-formatted 4475181f29de brick-2.13/programs/TabularListDemo.hs-formatted b7e39f0a8d19 brick-2.13/programs/TailDemo.hs-formatted 3b76b7057152 brick-2.13/programs/TextWrapDemo.hs-formatted 4539be6276d5 brick-2.13/programs/ThemeDemo.hs-formatted 2c64cf0649ba brick-2.13/programs/ViewportScrollDemo.hs-formatted c72281d04a63 brick-2.13/programs/ViewportScrollbarsDemo.hs-formatted e2bd645f4c8a brick-2.13/programs/VisibilityDemo.hs-formatted 0abc07286e47 brick-2.13/src/Brick.hs-formatted 0b61e5fb53be brick-2.13/src/Brick/Animation.hs-formatted deb1866c9333 brick-2.13/src/Brick/Animation/Clock.hs-formatted 91b158ee4b8a brick-2.13/src/Brick/AttrMap.hs-formatted 13c109f25eb8 brick-2.13/src/Brick/BChan.hs-formatted 571007a8c984 brick-2.13/src/Brick/BorderMap.hs-formatted 7aa4818185b3 brick-2.13/src/Brick/Focus.hs-formatted 625bef2068d0 brick-2.13/src/Brick/Forms.hs-formatted d6c2a2e1b0a0 brick-2.13/src/Brick/Keybindings.hs-formatted f2e06c7c9f62 brick-2.13/src/Brick/Keybindings/KeyConfig.hs-formatted 0d7739277f36 brick-2.13/src/Brick/Keybindings/KeyDispatcher.hs-formatted 10682f468a33 brick-2.13/src/Brick/Keybindings/KeyEvents.hs-formatted 20d38a2fef1c brick-2.13/src/Brick/Keybindings/Normalize.hs-formatted 422ce68b006b brick-2.13/src/Brick/Keybindings/Parse.hs-formatted 500582ecf6a0 brick-2.13/src/Brick/Keybindings/Pretty.hs-formatted 03d2579eec1e brick-2.13/src/Brick/Main.hs-formatted 74d114b85be0 brick-2.13/src/Brick/Themes.hs-formatted af2489bd5835 brick-2.13/src/Brick/Types.hs-formatted e45b8d9f62c9 brick-2.13/src/Brick/Types/Common.hs-formatted 1053ffe4d321 brick-2.13/src/Brick/Types/EventM.hs-formatted 680c7fc4c12b brick-2.13/src/Brick/Types/Internal.hs-formatted 81c674829568 brick-2.13/src/Brick/Types/TH.hs-formatted 02b0e53f451c brick-2.13/src/Brick/Util.hs-formatted cba7b18b8f68 brick-2.13/src/Brick/Widgets/Border.hs-formatted 89894b08f498 brick-2.13/src/Brick/Widgets/Border/Style.hs-formatted e3b47970aba1 brick-2.13/src/Brick/Widgets/Center.hs-formatted d864d6f5529c brick-2.13/src/Brick/Widgets/Core.hs-formatted 2da08c79b932 brick-2.13/src/Brick/Widgets/Dialog.hs-formatted c71ef0bf6ec5 brick-2.13/src/Brick/Widgets/Edit.hs-formatted b718a3a76032 brick-2.13/src/Brick/Widgets/FileBrowser.hs-formatted d879be7d89bd brick-2.13/src/Brick/Widgets/Internal.hs-formatted f35028306876 brick-2.13/src/Brick/Widgets/List.hs-formatted 45273510047b brick-2.13/src/Brick/Widgets/ProgressBar.hs-formatted 891b88a55449 brick-2.13/src/Brick/Widgets/Table.hs-formatted 4c3f2bfed619 brick-2.13/src/Data/IMap.hs-formatted 15733bb95234 brick-2.13/tests/List.hs-formatted 2e6ed8d0e976 brick-2.13/tests/Main.hs-formatted 073f01c2462e brick-2.13/tests/Render.hs-formatted e0fa5e2b222c brittany-0.14.0.2/data/Test1.hs-formatted a7fed1125f29 brittany-0.14.0.2/data/Test10.hs-formatted dd2db552d155 brittany-0.14.0.2/data/Test100.hs-formatted 3ebccae4d2bf brittany-0.14.0.2/data/Test101.hs-formatted 000b618097d0 brittany-0.14.0.2/data/Test102.hs-formatted 26845ab84f6a brittany-0.14.0.2/data/Test103.hs-formatted 25cf4c76ed6b brittany-0.14.0.2/data/Test104.hs-formatted bac120fe0092 brittany-0.14.0.2/data/Test105.hs-formatted e29d7ffca93f brittany-0.14.0.2/data/Test106.hs-formatted 0b6e06bf2c23 brittany-0.14.0.2/data/Test107.hs-formatted eda42fe4d65b brittany-0.14.0.2/data/Test108.hs-formatted 9ce1b7bc7832 brittany-0.14.0.2/data/Test109.hs-formatted c7d09069af77 brittany-0.14.0.2/data/Test11.hs-formatted 61661f795457 brittany-0.14.0.2/data/Test110.hs-formatted 37d78f5961ec brittany-0.14.0.2/data/Test111.hs-formatted 1e4bb8275bfb brittany-0.14.0.2/data/Test112.hs-formatted 8cda89e87702 brittany-0.14.0.2/data/Test113.hs-formatted 751bfd56bc69 brittany-0.14.0.2/data/Test114.hs-formatted 5078888fc5d2 brittany-0.14.0.2/data/Test115.hs-formatted 3fdf3b074d25 brittany-0.14.0.2/data/Test116.hs-formatted 15ad0c63e705 brittany-0.14.0.2/data/Test117.hs-formatted 77f7ec9848cd brittany-0.14.0.2/data/Test118.hs-formatted 2a994aca8970 brittany-0.14.0.2/data/Test119.hs-formatted 624becd3f674 brittany-0.14.0.2/data/Test12.hs-formatted 5bbfe94a03d4 brittany-0.14.0.2/data/Test120.hs-formatted 01ac88bcab1a brittany-0.14.0.2/data/Test121.hs-formatted 057f0ce3ffb0 brittany-0.14.0.2/data/Test122.hs-formatted 661f6da49632 brittany-0.14.0.2/data/Test123.hs-formatted 86c1caf3eee5 brittany-0.14.0.2/data/Test124.hs-formatted c6ffbf389d8d brittany-0.14.0.2/data/Test125.hs-formatted 1b2ef1cfadaa brittany-0.14.0.2/data/Test126.hs-formatted 058f31d7f6cc brittany-0.14.0.2/data/Test127.hs-formatted bec0f8aa554d brittany-0.14.0.2/data/Test128.hs-formatted f712d9c961eb brittany-0.14.0.2/data/Test129.hs-formatted 79735ec00a3d brittany-0.14.0.2/data/Test13.hs-formatted f808d5477ba7 brittany-0.14.0.2/data/Test130.hs-formatted 2372bf2e1670 brittany-0.14.0.2/data/Test131.hs-formatted c6526aabb3c3 brittany-0.14.0.2/data/Test132.hs-formatted 5287afc100b5 brittany-0.14.0.2/data/Test133.hs-formatted cbf28cc3de46 brittany-0.14.0.2/data/Test134.hs-formatted e9f15a2df4fd brittany-0.14.0.2/data/Test135.hs-formatted d40ccadec39d brittany-0.14.0.2/data/Test136.hs-formatted e8b4564e3bfa brittany-0.14.0.2/data/Test137.hs-formatted ddbd7b880898 brittany-0.14.0.2/data/Test138.hs-formatted 4ce9b0b36ac2 brittany-0.14.0.2/data/Test139.hs-formatted bb31ea72e15c brittany-0.14.0.2/data/Test14.hs-formatted f04daeaa79e9 brittany-0.14.0.2/data/Test140.hs-formatted 3f2c0367c6f9 brittany-0.14.0.2/data/Test141.hs-formatted edb875329172 brittany-0.14.0.2/data/Test142.hs-formatted fa53ce7f455d brittany-0.14.0.2/data/Test143.hs-formatted 1c5e166b5b3c brittany-0.14.0.2/data/Test144.hs-formatted 412dc562e63e brittany-0.14.0.2/data/Test145.hs-formatted 6594ac0ac89d brittany-0.14.0.2/data/Test146.hs-formatted 0132945dc887 brittany-0.14.0.2/data/Test147.hs-formatted 0277bb5ca795 brittany-0.14.0.2/data/Test148.hs-formatted cbbb9e8ddafa brittany-0.14.0.2/data/Test149.hs-formatted 9db344b52a25 brittany-0.14.0.2/data/Test15.hs-formatted d29a46b01b30 brittany-0.14.0.2/data/Test150.hs-formatted d4d803460298 brittany-0.14.0.2/data/Test151.hs-formatted a36d7b2912f5 brittany-0.14.0.2/data/Test152.hs-formatted ea0b611491be brittany-0.14.0.2/data/Test153.hs-formatted 6607ab7d8924 brittany-0.14.0.2/data/Test154.hs-formatted 66cbd556135d brittany-0.14.0.2/data/Test155.hs-formatted 2913f4f1ea6b brittany-0.14.0.2/data/Test156.hs-formatted 57f3fe7514c4 brittany-0.14.0.2/data/Test157.hs-formatted 7cff7b0ac651 brittany-0.14.0.2/data/Test158.hs-formatted d8fde995e15b brittany-0.14.0.2/data/Test159.hs-formatted b65a3702395c brittany-0.14.0.2/data/Test16.hs-formatted 8f083a4a74fc brittany-0.14.0.2/data/Test160.hs-formatted 756b8d709d75 brittany-0.14.0.2/data/Test161.hs-formatted fb931ccfd1e4 brittany-0.14.0.2/data/Test162.hs-formatted 30ebe5ac65f1 brittany-0.14.0.2/data/Test163.hs-formatted 729a285d4963 brittany-0.14.0.2/data/Test164.hs-formatted 1d7b340799de brittany-0.14.0.2/data/Test165.hs-formatted 660e2a8d17c4 brittany-0.14.0.2/data/Test166.hs-formatted 9034e094d375 brittany-0.14.0.2/data/Test167.hs-formatted d8056c8b2928 brittany-0.14.0.2/data/Test168.hs-formatted cd8fce2bda23 brittany-0.14.0.2/data/Test169.hs-formatted bce8e4d3c9ba brittany-0.14.0.2/data/Test17.hs-formatted b9c1ba677274 brittany-0.14.0.2/data/Test170.hs-formatted 81fa7c381707 brittany-0.14.0.2/data/Test171.hs-formatted ac4339e3794f brittany-0.14.0.2/data/Test172.hs-formatted c651a0d78d61 brittany-0.14.0.2/data/Test173.hs-formatted 893e9047ccc9 brittany-0.14.0.2/data/Test174.hs-formatted 44a807f3c420 brittany-0.14.0.2/data/Test175.hs-formatted feac3083c99d brittany-0.14.0.2/data/Test176.hs-formatted 2cc15cb26130 brittany-0.14.0.2/data/Test177.hs-formatted 47771349ee44 brittany-0.14.0.2/data/Test178.hs-formatted fe3c3245408d brittany-0.14.0.2/data/Test179.hs-formatted 674dab4fdbcb brittany-0.14.0.2/data/Test18.hs-formatted c68cfb31f575 brittany-0.14.0.2/data/Test180.hs-formatted e6325e11af38 brittany-0.14.0.2/data/Test181.hs-formatted 42d9bc7fc2ce brittany-0.14.0.2/data/Test182.hs-formatted a1e86d78ee32 brittany-0.14.0.2/data/Test183.hs-formatted 88ddfc17a44e brittany-0.14.0.2/data/Test184.hs-formatted f6c7f8ad0585 brittany-0.14.0.2/data/Test185.hs-formatted 5016aa65eeae brittany-0.14.0.2/data/Test186.hs-formatted 1f6812c3d99f brittany-0.14.0.2/data/Test187.hs-formatted a063a95ec0b5 brittany-0.14.0.2/data/Test188.hs-formatted 67c40f7b42e6 brittany-0.14.0.2/data/Test189.hs-formatted 1b68494e9013 brittany-0.14.0.2/data/Test19.hs-formatted 96f1ef06a2f4 brittany-0.14.0.2/data/Test190.hs-formatted a063a95ec0b5 brittany-0.14.0.2/data/Test191.hs-formatted dc32174d8f9d brittany-0.14.0.2/data/Test192.hs-formatted b35395abfd05 brittany-0.14.0.2/data/Test193.hs-formatted 4d5ddfd8aaab brittany-0.14.0.2/data/Test194.hs-formatted 8bb98e83f59e brittany-0.14.0.2/data/Test195.hs-formatted 45232601b2c3 brittany-0.14.0.2/data/Test196.hs-formatted bdc233fea9ba brittany-0.14.0.2/data/Test197.hs-formatted 9ce65738e093 brittany-0.14.0.2/data/Test198.hs-formatted eec0cab9f980 brittany-0.14.0.2/data/Test199.hs-formatted 31b2046f8a67 brittany-0.14.0.2/data/Test2.hs-formatted a7a0e1c03060 brittany-0.14.0.2/data/Test20.hs-formatted d2a7653b9ba4 brittany-0.14.0.2/data/Test200.hs-formatted 585cd696f310 brittany-0.14.0.2/data/Test201.hs-formatted 8bba3630cd88 brittany-0.14.0.2/data/Test202.hs-formatted 3e4e79b5a82a brittany-0.14.0.2/data/Test203.hs-formatted 4ce40055a31c brittany-0.14.0.2/data/Test204.hs-formatted be6b7a8883f5 brittany-0.14.0.2/data/Test205.hs-formatted 8e7d7929e338 brittany-0.14.0.2/data/Test206.hs-formatted 3e6a91618060 brittany-0.14.0.2/data/Test207.hs-formatted 59f9efb3349d brittany-0.14.0.2/data/Test208.hs-formatted 79081f0fe37d brittany-0.14.0.2/data/Test209.hs-formatted b383b15d82f0 brittany-0.14.0.2/data/Test21.hs-formatted 4f8c82f9b51b brittany-0.14.0.2/data/Test210.hs-formatted 210d2b918c18 brittany-0.14.0.2/data/Test211.hs-formatted d8fb0486ae8c brittany-0.14.0.2/data/Test212.hs-formatted e75e1dd08970 brittany-0.14.0.2/data/Test213.hs-formatted 43a86c48e3e0 brittany-0.14.0.2/data/Test214.hs-formatted ccd8170ddd1c brittany-0.14.0.2/data/Test215.hs-formatted d9d08f97d6ce brittany-0.14.0.2/data/Test216.hs-formatted ee242f311cec brittany-0.14.0.2/data/Test217.hs-formatted 2c1a4f8388c7 brittany-0.14.0.2/data/Test218.hs-formatted 77521cf0255b brittany-0.14.0.2/data/Test219.hs-formatted df6920225c3e brittany-0.14.0.2/data/Test22.hs-formatted 6912b515f3d4 brittany-0.14.0.2/data/Test220.hs-formatted 7e87f164cb90 brittany-0.14.0.2/data/Test221.hs-formatted d7e0783e5c83 brittany-0.14.0.2/data/Test222.hs-formatted ac59786a0059 brittany-0.14.0.2/data/Test223.hs-formatted f4b2c131b776 brittany-0.14.0.2/data/Test224.hs-formatted fc2a39383602 brittany-0.14.0.2/data/Test225.hs-formatted 0a2523228f93 brittany-0.14.0.2/data/Test226.hs-formatted 228fee2942c2 brittany-0.14.0.2/data/Test227.hs-formatted 911d30954d07 brittany-0.14.0.2/data/Test228.hs-formatted 2f660f4ac662 brittany-0.14.0.2/data/Test229.hs-formatted fbc349a18ac2 brittany-0.14.0.2/data/Test23.hs-formatted a7a3d4cdb042 brittany-0.14.0.2/data/Test230.hs-formatted 8213e25c0010 brittany-0.14.0.2/data/Test231.hs-formatted cf2c7ac7b851 brittany-0.14.0.2/data/Test232.hs-formatted 60e66feea926 brittany-0.14.0.2/data/Test233.hs-formatted b6113299b5da brittany-0.14.0.2/data/Test234.hs-formatted 661c1fe894fb brittany-0.14.0.2/data/Test235.hs-formatted 57f09569ac82 brittany-0.14.0.2/data/Test236.hs-formatted 0dfd55915ad3 brittany-0.14.0.2/data/Test237.hs-formatted 4bc18bfc8664 brittany-0.14.0.2/data/Test238.hs-formatted f1066c5f9396 brittany-0.14.0.2/data/Test239.hs-formatted d0c0b62e11ea brittany-0.14.0.2/data/Test24.hs-formatted a51ff778ca0c brittany-0.14.0.2/data/Test240.hs-formatted 6f66ff6e7884 brittany-0.14.0.2/data/Test241.hs-formatted 7526d4749124 brittany-0.14.0.2/data/Test242.hs-formatted d600bfded86f brittany-0.14.0.2/data/Test243.hs-formatted 19618fd51fab brittany-0.14.0.2/data/Test244.hs-formatted 03cd50abedcb brittany-0.14.0.2/data/Test245.hs-formatted 676a58886eb0 brittany-0.14.0.2/data/Test246.hs-formatted 86d72bb559bc brittany-0.14.0.2/data/Test247.hs-formatted 15d8e562989b brittany-0.14.0.2/data/Test248.hs-formatted 95a821921e97 brittany-0.14.0.2/data/Test249.hs-formatted 372e384be5d9 brittany-0.14.0.2/data/Test25.hs-formatted c8b79c319e1b brittany-0.14.0.2/data/Test250.hs-formatted 9e983a1c88d0 brittany-0.14.0.2/data/Test251.hs-formatted e25fa77a311d brittany-0.14.0.2/data/Test252.hs-formatted 2abc462210d7 brittany-0.14.0.2/data/Test253.hs-formatted 3dab93bb6c11 brittany-0.14.0.2/data/Test254.hs-formatted ded4f913ac25 brittany-0.14.0.2/data/Test255.hs-formatted 7072c13a95c7 brittany-0.14.0.2/data/Test256.hs-formatted f79f249e0890 brittany-0.14.0.2/data/Test257.hs-formatted a9cbb8a905a0 brittany-0.14.0.2/data/Test258.hs-formatted 7c0c18756066 brittany-0.14.0.2/data/Test259.hs-formatted a9993e322f84 brittany-0.14.0.2/data/Test26.hs-formatted bd4ad74e5ad1 brittany-0.14.0.2/data/Test260.hs-formatted 40147eb0ec0f brittany-0.14.0.2/data/Test261.hs-formatted 3821b5d35161 brittany-0.14.0.2/data/Test262.hs-formatted fd9a1453387e brittany-0.14.0.2/data/Test263.hs-formatted b7281c5fb795 brittany-0.14.0.2/data/Test264.hs-formatted d815db72d171 brittany-0.14.0.2/data/Test265.hs-formatted e1e74708d396 brittany-0.14.0.2/data/Test266.hs-formatted 7a35a02bb934 brittany-0.14.0.2/data/Test267.hs-formatted 0ca543b36b5d brittany-0.14.0.2/data/Test268.hs-formatted 93850bc1adc9 brittany-0.14.0.2/data/Test269.hs-formatted b82004f9b520 brittany-0.14.0.2/data/Test27.hs-formatted 0465690dd788 brittany-0.14.0.2/data/Test270.hs-formatted 8da0ed8508b1 brittany-0.14.0.2/data/Test271.hs-formatted 059cb60e3ffb brittany-0.14.0.2/data/Test272.hs-formatted ce7c5a9f7346 brittany-0.14.0.2/data/Test273.hs-formatted cf3d3b9f17a4 brittany-0.14.0.2/data/Test274.hs-formatted 5687e1c0c469 brittany-0.14.0.2/data/Test275.hs-formatted f54d68eb932d brittany-0.14.0.2/data/Test276.hs-formatted 5280a70aa08d brittany-0.14.0.2/data/Test277.hs-formatted 42b39ee183e6 brittany-0.14.0.2/data/Test278.hs-formatted 9a6ca39add52 brittany-0.14.0.2/data/Test279.hs-formatted 35c64cf444f0 brittany-0.14.0.2/data/Test28.hs-formatted 2c62cf845c15 brittany-0.14.0.2/data/Test280.hs-formatted 6582acde6803 brittany-0.14.0.2/data/Test281.hs-formatted d69c5a291173 brittany-0.14.0.2/data/Test282.hs-formatted dad1fa89cc7b brittany-0.14.0.2/data/Test283.hs-formatted 61ba8c0a1014 brittany-0.14.0.2/data/Test284.hs-formatted dc5e12a45407 brittany-0.14.0.2/data/Test285.hs-formatted dc5e12a45407 brittany-0.14.0.2/data/Test286.hs-formatted e73001f7bfd5 brittany-0.14.0.2/data/Test287.hs-formatted 3fdaf4d18a7c brittany-0.14.0.2/data/Test288.hs-formatted 8472b4d5d119 brittany-0.14.0.2/data/Test289.hs-formatted 4b4297a0f4c5 brittany-0.14.0.2/data/Test29.hs-formatted af881940fba6 brittany-0.14.0.2/data/Test290.hs-formatted 6b8b53cb8029 brittany-0.14.0.2/data/Test291.hs-formatted afd400f5f5ca brittany-0.14.0.2/data/Test292.hs-formatted dbd53f969525 brittany-0.14.0.2/data/Test293.hs-formatted 8e4e40c43066 brittany-0.14.0.2/data/Test294.hs-formatted 5378d8225be8 brittany-0.14.0.2/data/Test295.hs-formatted efa089fba7ce brittany-0.14.0.2/data/Test296.hs-formatted f2528253489c brittany-0.14.0.2/data/Test297.hs-formatted a71313de7a74 brittany-0.14.0.2/data/Test298.hs-formatted 9c7a3513d329 brittany-0.14.0.2/data/Test299.hs-formatted e430aa9e3dac brittany-0.14.0.2/data/Test3.hs-formatted b786e0a045c4 brittany-0.14.0.2/data/Test30.hs-formatted 82411c11ab17 brittany-0.14.0.2/data/Test300.hs-formatted 6578a96b238b brittany-0.14.0.2/data/Test301.hs-formatted 8cee95f91f47 brittany-0.14.0.2/data/Test302.hs-formatted 01d16f13bc99 brittany-0.14.0.2/data/Test303.hs-formatted 2f37bef49ce1 brittany-0.14.0.2/data/Test304.hs-formatted 9d3e8b7bf639 brittany-0.14.0.2/data/Test305.hs-formatted 20c63b9ecba6 brittany-0.14.0.2/data/Test306.hs-formatted 348106878578 brittany-0.14.0.2/data/Test307.hs-formatted 017f020a856d brittany-0.14.0.2/data/Test308.hs-formatted 980708cbb4c4 brittany-0.14.0.2/data/Test309.hs-formatted b7f73c7d2a34 brittany-0.14.0.2/data/Test31.hs-formatted 3c2cc10d169b brittany-0.14.0.2/data/Test310.hs-formatted 66fcc75686ea brittany-0.14.0.2/data/Test311.hs-formatted 611a32da9261 brittany-0.14.0.2/data/Test312.hs-formatted e63f0b07266f brittany-0.14.0.2/data/Test313.hs-formatted 1801f39045ac brittany-0.14.0.2/data/Test314.hs-formatted 3e5aa0cbbf8d brittany-0.14.0.2/data/Test315.hs-formatted 77220193f4fd brittany-0.14.0.2/data/Test316.hs-formatted 681c70c26bdd brittany-0.14.0.2/data/Test317.hs-formatted c9b19f55338f brittany-0.14.0.2/data/Test318.hs-formatted fa83330d01a6 brittany-0.14.0.2/data/Test319.hs-formatted 310b7bac3014 brittany-0.14.0.2/data/Test32.hs-formatted d911bbdfeb7f brittany-0.14.0.2/data/Test320.hs-formatted 1275e28eeb82 brittany-0.14.0.2/data/Test321.hs-formatted d51414b5c108 brittany-0.14.0.2/data/Test322.hs-formatted e318ac8aa564 brittany-0.14.0.2/data/Test323.hs-formatted f018e148e8d5 brittany-0.14.0.2/data/Test324.hs-formatted 1d0af944da7b brittany-0.14.0.2/data/Test325.hs-formatted 5798a680c21f brittany-0.14.0.2/data/Test326.hs-formatted 023057e5ea2c brittany-0.14.0.2/data/Test327.hs-formatted 2341d88441d5 brittany-0.14.0.2/data/Test328.hs-formatted 947d63282515 brittany-0.14.0.2/data/Test329.hs-formatted 786cf111bdad brittany-0.14.0.2/data/Test33.hs-formatted 9dd64349f3ea brittany-0.14.0.2/data/Test330.hs-formatted 15292e5353c7 brittany-0.14.0.2/data/Test331.hs-formatted 909ea0b219f8 brittany-0.14.0.2/data/Test332.hs-formatted 2ad0ebe6ebb0 brittany-0.14.0.2/data/Test333.hs-formatted 9b7204f946d7 brittany-0.14.0.2/data/Test334.hs-formatted 10c6d64e6811 brittany-0.14.0.2/data/Test335.hs-formatted b2addef5d712 brittany-0.14.0.2/data/Test336.hs-formatted 571c3cac2376 brittany-0.14.0.2/data/Test337.hs-formatted 7ab714dc2fd3 brittany-0.14.0.2/data/Test338.hs-formatted 0b6993151fe2 brittany-0.14.0.2/data/Test339.hs-formatted 7056ebf6bcea brittany-0.14.0.2/data/Test34.hs-formatted aed8c9d9f03b brittany-0.14.0.2/data/Test340.hs-formatted c93ad9724528 brittany-0.14.0.2/data/Test341.hs-formatted 1a162378043c brittany-0.14.0.2/data/Test342.hs-formatted 237c79a35514 brittany-0.14.0.2/data/Test343.hs-formatted 5af677fa0a9b brittany-0.14.0.2/data/Test344.hs-formatted abe1b659b346 brittany-0.14.0.2/data/Test345.hs-formatted 3c1f80fba7f5 brittany-0.14.0.2/data/Test346.hs-formatted 7f12720f2600 brittany-0.14.0.2/data/Test347.hs-formatted 264cc0e7cf96 brittany-0.14.0.2/data/Test348.hs-formatted 03a3efa0a75e brittany-0.14.0.2/data/Test349.hs-formatted b7f73c7d2a34 brittany-0.14.0.2/data/Test35.hs-formatted 726069a13358 brittany-0.14.0.2/data/Test350.hs-formatted a50f8646bfb1 brittany-0.14.0.2/data/Test351.hs-formatted 849dab5ec39d brittany-0.14.0.2/data/Test352.hs-formatted baedf91b8ccd brittany-0.14.0.2/data/Test353.hs-formatted fcae903dc453 brittany-0.14.0.2/data/Test354.hs-formatted 2637fe2659d5 brittany-0.14.0.2/data/Test355.hs-formatted 65798192c40d brittany-0.14.0.2/data/Test356.hs-formatted 2cdb94cbf551 brittany-0.14.0.2/data/Test357.hs-formatted 501e5f69073e brittany-0.14.0.2/data/Test358.hs-formatted 86bec0344083 brittany-0.14.0.2/data/Test359.hs-formatted 987603d032ac brittany-0.14.0.2/data/Test36.hs-formatted 15308dc2dd01 brittany-0.14.0.2/data/Test360.hs-formatted 0b2ad491920b brittany-0.14.0.2/data/Test361.hs-formatted d9da88c7cdef brittany-0.14.0.2/data/Test362.hs-formatted d9831cd6816b brittany-0.14.0.2/data/Test363.hs-formatted 1ae4a98bcc4a brittany-0.14.0.2/data/Test364.hs-formatted ce4109a16e55 brittany-0.14.0.2/data/Test365.hs-formatted d16eae4aad20 brittany-0.14.0.2/data/Test366.hs-formatted b07954dfc9bf brittany-0.14.0.2/data/Test367.hs-formatted 45eeef287ee4 brittany-0.14.0.2/data/Test368.hs-formatted e61e587a6843 brittany-0.14.0.2/data/Test369.hs-formatted f500b3d5f559 brittany-0.14.0.2/data/Test37.hs-formatted 08718fefbaf6 brittany-0.14.0.2/data/Test370.hs-formatted 2fc71603e098 brittany-0.14.0.2/data/Test371.hs-formatted 34177b9d84e3 brittany-0.14.0.2/data/Test372.hs-formatted 5fa71c232724 brittany-0.14.0.2/data/Test373.hs-formatted f5fca966196b brittany-0.14.0.2/data/Test374.hs-formatted a4d64bf7587b brittany-0.14.0.2/data/Test375.hs-formatted 14e2ed1f0f63 brittany-0.14.0.2/data/Test376.hs-formatted f5a4e0c1e34f brittany-0.14.0.2/data/Test377.hs-formatted bddefc49765b brittany-0.14.0.2/data/Test378.hs-formatted ea19c516bcbf brittany-0.14.0.2/data/Test379.hs-formatted 7335e7ca5bd3 brittany-0.14.0.2/data/Test38.hs-formatted d2ee555751f5 brittany-0.14.0.2/data/Test380.hs-formatted 3823e3c2d919 brittany-0.14.0.2/data/Test381.hs-formatted 80271da1e835 brittany-0.14.0.2/data/Test382.hs-formatted ed5f4e8c4709 brittany-0.14.0.2/data/Test383.hs-formatted d4963535df46 brittany-0.14.0.2/data/Test384.hs-formatted 6ced47de66db brittany-0.14.0.2/data/Test385.hs-formatted 1570d72029b7 brittany-0.14.0.2/data/Test386.hs-formatted 1416aa178cdb brittany-0.14.0.2/data/Test387.hs-formatted edfafa8fb3e5 brittany-0.14.0.2/data/Test388.hs-formatted 4e122b4b2697 brittany-0.14.0.2/data/Test389.hs-formatted 6c58063d3fab brittany-0.14.0.2/data/Test39.hs-formatted fac1b1c7f0c1 brittany-0.14.0.2/data/Test390.hs-formatted edfafa8fb3e5 brittany-0.14.0.2/data/Test391.hs-formatted b0d3ee7240ad brittany-0.14.0.2/data/Test392.hs-formatted 3742d5df31d3 brittany-0.14.0.2/data/Test393.hs-formatted 28dd7a32aa13 brittany-0.14.0.2/data/Test394.hs-formatted 91de5c22d799 brittany-0.14.0.2/data/Test395.hs-formatted 15521d568177 brittany-0.14.0.2/data/Test396.hs-formatted bc632756e066 brittany-0.14.0.2/data/Test397.hs-formatted fc2de0dfca48 brittany-0.14.0.2/data/Test398.hs-formatted 8294327ebf8b brittany-0.14.0.2/data/Test399.hs-formatted c3cdd2cbcecc brittany-0.14.0.2/data/Test4.hs-formatted c8a00284c5f4 brittany-0.14.0.2/data/Test40.hs-formatted e55074dcd689 brittany-0.14.0.2/data/Test400.hs-formatted 4da9e5870180 brittany-0.14.0.2/data/Test401.hs-formatted 74396290a673 brittany-0.14.0.2/data/Test402.hs-formatted d2fafd899e89 brittany-0.14.0.2/data/Test403.hs-formatted dede30d772d6 brittany-0.14.0.2/data/Test404.hs-formatted 899e8af490d3 brittany-0.14.0.2/data/Test405.hs-formatted 6a318c357310 brittany-0.14.0.2/data/Test406.hs-formatted 183f062112e1 brittany-0.14.0.2/data/Test407.hs-formatted 55c58dc8cf59 brittany-0.14.0.2/data/Test408.hs-formatted a04dc9525882 brittany-0.14.0.2/data/Test409.hs-formatted cdc2db1c8449 brittany-0.14.0.2/data/Test41.hs-formatted a59bda637fa1 brittany-0.14.0.2/data/Test410.hs-formatted c65e5f1f3ba5 brittany-0.14.0.2/data/Test411.hs-formatted 462efbd02872 brittany-0.14.0.2/data/Test412.hs-formatted 4fc4ab30dcc3 brittany-0.14.0.2/data/Test413.hs-formatted d9eab58246aa brittany-0.14.0.2/data/Test414.hs-formatted 3d11263d426e brittany-0.14.0.2/data/Test415.hs-formatted dbbe7b5f2b24 brittany-0.14.0.2/data/Test416.hs-formatted 099959230be5 brittany-0.14.0.2/data/Test417.hs-formatted 056c3c85e1ce brittany-0.14.0.2/data/Test418.hs-formatted bd3660de0717 brittany-0.14.0.2/data/Test419.hs-formatted e3f087db5440 brittany-0.14.0.2/data/Test42.hs-formatted 821fd8910ac5 brittany-0.14.0.2/data/Test420.hs-formatted d9b47c23fec6 brittany-0.14.0.2/data/Test421.hs-formatted 15fe8b3f5a9e brittany-0.14.0.2/data/Test422.hs-formatted cafda87f90a6 brittany-0.14.0.2/data/Test423.hs-formatted 7fa298da41f9 brittany-0.14.0.2/data/Test424.hs-formatted acddf7b49624 brittany-0.14.0.2/data/Test425.hs-formatted 84cfb756f2f4 brittany-0.14.0.2/data/Test426.hs-formatted 33c641a7a072 brittany-0.14.0.2/data/Test427.hs-formatted 19772ef1090c brittany-0.14.0.2/data/Test428.hs-formatted 07a30e1c142f brittany-0.14.0.2/data/Test429.hs-formatted 6aa1c5a0086b brittany-0.14.0.2/data/Test43.hs-formatted f5d76f5634f5 brittany-0.14.0.2/data/Test430.hs-formatted 9aae587a1706 brittany-0.14.0.2/data/Test431.hs-formatted cab5eb48ea87 brittany-0.14.0.2/data/Test432.hs-formatted 035c19e15e23 brittany-0.14.0.2/data/Test433.hs-formatted 54c8c833912d brittany-0.14.0.2/data/Test434.hs-formatted 4b85517ecc64 brittany-0.14.0.2/data/Test435.hs-formatted ab4c449d67c6 brittany-0.14.0.2/data/Test436.hs-formatted 9e0a9c4de4a7 brittany-0.14.0.2/data/Test437.hs-formatted 22f3bbfaab9e brittany-0.14.0.2/data/Test438.hs-formatted 27ee3c3a9f1d brittany-0.14.0.2/data/Test439.hs-formatted 2369814e00a3 brittany-0.14.0.2/data/Test44.hs-formatted f114f80afa88 brittany-0.14.0.2/data/Test440.hs-formatted 91959f72bf42 brittany-0.14.0.2/data/Test441.hs-formatted e100c133e0a6 brittany-0.14.0.2/data/Test442.hs-formatted a447fa310286 brittany-0.14.0.2/data/Test443.hs-formatted afb74691ba25 brittany-0.14.0.2/data/Test444.hs-formatted b04dcb13770d brittany-0.14.0.2/data/Test445.hs-formatted 005984004c81 brittany-0.14.0.2/data/Test446.hs-formatted 519cfd48a90e brittany-0.14.0.2/data/Test447.hs-formatted 245fb4545054 brittany-0.14.0.2/data/Test448.hs-formatted 036f126597a1 brittany-0.14.0.2/data/Test449.hs-formatted 914e8892ce9f brittany-0.14.0.2/data/Test45.hs-formatted dfae62440755 brittany-0.14.0.2/data/Test450.hs-formatted 3d8e022d4ea8 brittany-0.14.0.2/data/Test451.hs-formatted 204a8f956d01 brittany-0.14.0.2/data/Test452.hs-formatted 3ae152eef9f8 brittany-0.14.0.2/data/Test453.hs-formatted dd5c2ba000d9 brittany-0.14.0.2/data/Test454.hs-formatted 255bf40fcf81 brittany-0.14.0.2/data/Test455.hs-formatted 186aedf45b55 brittany-0.14.0.2/data/Test456.hs-formatted 00342a85f4ce brittany-0.14.0.2/data/Test457.hs-formatted 4d9ccb4d6155 brittany-0.14.0.2/data/Test458.hs-formatted 33f453ac627f brittany-0.14.0.2/data/Test459.hs-formatted 65a9efd49258 brittany-0.14.0.2/data/Test46.hs-formatted dbfa4f771264 brittany-0.14.0.2/data/Test460.hs-formatted 75bf53838e5c brittany-0.14.0.2/data/Test461.hs-formatted 5fde28db6063 brittany-0.14.0.2/data/Test462.hs-formatted ff5bcd3737f2 brittany-0.14.0.2/data/Test463.hs-formatted e30c0ff394dd brittany-0.14.0.2/data/Test464.hs-formatted 82f7c7fb716e brittany-0.14.0.2/data/Test465.hs-formatted f59579bd97ca brittany-0.14.0.2/data/Test466.hs-formatted 5909971846f9 brittany-0.14.0.2/data/Test467.hs-formatted fe8bf0d3f053 brittany-0.14.0.2/data/Test468.hs-formatted 79dd70b7320f brittany-0.14.0.2/data/Test469.hs-formatted 1983a10a25f3 brittany-0.14.0.2/data/Test47.hs-formatted 271132ce279b brittany-0.14.0.2/data/Test470.hs-formatted 14a056182567 brittany-0.14.0.2/data/Test471.hs-formatted cbe652ef0cbb brittany-0.14.0.2/data/Test472.hs-formatted 3bf39beb5bf7 brittany-0.14.0.2/data/Test473.hs-formatted ac6e5e3c9b28 brittany-0.14.0.2/data/Test474.hs-formatted 7752938de9c6 brittany-0.14.0.2/data/Test475.hs-formatted 756e0e0edd8b brittany-0.14.0.2/data/Test476.hs-formatted a87acb3bdeb3 brittany-0.14.0.2/data/Test477.hs-formatted d489d082ed14 brittany-0.14.0.2/data/Test478.hs-formatted dca2bbac2e81 brittany-0.14.0.2/data/Test479.hs-formatted 00909af2b184 brittany-0.14.0.2/data/Test48.hs-formatted 0150b83ded52 brittany-0.14.0.2/data/Test480.hs-formatted 9fd1038ae87c brittany-0.14.0.2/data/Test481.hs-formatted 99e73c09fd8f brittany-0.14.0.2/data/Test482.hs-formatted b6e0c157ec82 brittany-0.14.0.2/data/Test483.hs-formatted 5308cabef2dd brittany-0.14.0.2/data/Test484.hs-formatted 3b0850dd8d8d brittany-0.14.0.2/data/Test485.hs-formatted 3a14007e64e3 brittany-0.14.0.2/data/Test486.hs-formatted e28b3f6dc92a brittany-0.14.0.2/data/Test487.hs-formatted d7ac2e728ca4 brittany-0.14.0.2/data/Test488.hs-formatted 3455b362a4d8 brittany-0.14.0.2/data/Test489.hs-formatted 379cdfc91569 brittany-0.14.0.2/data/Test49.hs-formatted d2c2b5b45546 brittany-0.14.0.2/data/Test490.hs-formatted 964f39f9fdd1 brittany-0.14.0.2/data/Test491.hs-formatted d469e1b3965b brittany-0.14.0.2/data/Test492.hs-formatted d469e1b3965b brittany-0.14.0.2/data/Test493.hs-formatted 1eddc3503b32 brittany-0.14.0.2/data/Test494.hs-formatted 196d9b015a57 brittany-0.14.0.2/data/Test495.hs-formatted 00e8a8e9cc86 brittany-0.14.0.2/data/Test496.hs-formatted cbeb80fac007 brittany-0.14.0.2/data/Test497.hs-formatted 326e5653c262 brittany-0.14.0.2/data/Test498.hs-formatted 46d0f48bc543 brittany-0.14.0.2/data/Test499.hs-formatted 3bb5ad04d6c9 brittany-0.14.0.2/data/Test5.hs-formatted 30d139cbecdf brittany-0.14.0.2/data/Test50.hs-formatted bb1de50ba61a brittany-0.14.0.2/data/Test500.hs-formatted 46987cddeeb1 brittany-0.14.0.2/data/Test501.hs-formatted a26bb5e5e289 brittany-0.14.0.2/data/Test502.hs-formatted 608441a45ea2 brittany-0.14.0.2/data/Test503.hs-formatted 088a029a2027 brittany-0.14.0.2/data/Test504.hs-formatted b8d19bd75331 brittany-0.14.0.2/data/Test505.hs-formatted 7aafe7248e10 brittany-0.14.0.2/data/Test506.hs-formatted 283db15defde brittany-0.14.0.2/data/Test507.hs-formatted a017d7235dda brittany-0.14.0.2/data/Test508.hs-formatted 525ac73a7645 brittany-0.14.0.2/data/Test509.hs-formatted bdb9309b69ef brittany-0.14.0.2/data/Test51.hs-formatted be3e1e21b3e7 brittany-0.14.0.2/data/Test510.hs-formatted 386680696e97 brittany-0.14.0.2/data/Test511.hs-formatted c74bbb4b17cf brittany-0.14.0.2/data/Test512.hs-formatted bb9ffbc270ba brittany-0.14.0.2/data/Test513.hs-formatted 4babc1db968e brittany-0.14.0.2/data/Test514.hs-formatted 4babc1db968e brittany-0.14.0.2/data/Test515.hs-formatted 4ded8e9531d5 brittany-0.14.0.2/data/Test516.hs-formatted 9cdba405b7be brittany-0.14.0.2/data/Test517.hs-formatted 6192bf9c4318 brittany-0.14.0.2/data/Test518.hs-formatted 438975b07785 brittany-0.14.0.2/data/Test519.hs-formatted 3e9fb57fe53f brittany-0.14.0.2/data/Test52.hs-formatted e0922f030820 brittany-0.14.0.2/data/Test520.hs-formatted 7a6eceaa78bc brittany-0.14.0.2/data/Test521.hs-formatted cd889668f531 brittany-0.14.0.2/data/Test522.hs-formatted 5eae819cfab2 brittany-0.14.0.2/data/Test523.hs-formatted cdd55a113657 brittany-0.14.0.2/data/Test524.hs-formatted 948aab2f7cf9 brittany-0.14.0.2/data/Test525.hs-formatted 74dd57f3e6b2 brittany-0.14.0.2/data/Test526.hs-formatted ebc6624271d5 brittany-0.14.0.2/data/Test527.hs-formatted 6d566659bc06 brittany-0.14.0.2/data/Test528.hs-formatted 86bb82b0ae12 brittany-0.14.0.2/data/Test529.hs-formatted 113cb843c235 brittany-0.14.0.2/data/Test53.hs-formatted c77ad7418bdb brittany-0.14.0.2/data/Test530.hs-formatted e82e4a69ecaf brittany-0.14.0.2/data/Test531.hs-formatted 98d38ba919b8 brittany-0.14.0.2/data/Test532.hs-formatted 93f0725e6f33 brittany-0.14.0.2/data/Test533.hs-formatted 2f3eea919721 brittany-0.14.0.2/data/Test534.hs-formatted 4dfe442efa9f brittany-0.14.0.2/data/Test535.hs-formatted 083e49e545b1 brittany-0.14.0.2/data/Test536.hs-formatted a93167132f4b brittany-0.14.0.2/data/Test537.hs-formatted 76a9d8390ac0 brittany-0.14.0.2/data/Test538.hs-formatted cb52a4163a3d brittany-0.14.0.2/data/Test539.hs-formatted 3206388ca862 brittany-0.14.0.2/data/Test54.hs-formatted 32bac85b1c99 brittany-0.14.0.2/data/Test540.hs-formatted c1076b4718f2 brittany-0.14.0.2/data/Test55.hs-formatted 5b5da4a27041 brittany-0.14.0.2/data/Test56.hs-formatted 7d48cd742ee9 brittany-0.14.0.2/data/Test57.hs-formatted 09a9442047e7 brittany-0.14.0.2/data/Test58.hs-formatted 007b3f5499fb brittany-0.14.0.2/data/Test59.hs-formatted d9ed4ebe21ed brittany-0.14.0.2/data/Test6.hs-formatted 87e8860858b2 brittany-0.14.0.2/data/Test60.hs-formatted 7bba808f3304 brittany-0.14.0.2/data/Test61.hs-formatted 7e7c53e8f5f9 brittany-0.14.0.2/data/Test62.hs-formatted 38957227fb18 brittany-0.14.0.2/data/Test63.hs-formatted d1d477cbcd19 brittany-0.14.0.2/data/Test64.hs-formatted abec5eceeaf7 brittany-0.14.0.2/data/Test65.hs-formatted 7e83cb328466 brittany-0.14.0.2/data/Test66.hs-formatted 08c924dc75db brittany-0.14.0.2/data/Test67.hs-formatted 534f9f24c4c4 brittany-0.14.0.2/data/Test68.hs-formatted 0edc4bf88879 brittany-0.14.0.2/data/Test69.hs-formatted 6e4a80a16587 brittany-0.14.0.2/data/Test7.hs-formatted c26c8d4af0d4 brittany-0.14.0.2/data/Test70.hs-formatted 7f9b2bb1df69 brittany-0.14.0.2/data/Test71.hs-formatted 9d549df4742d brittany-0.14.0.2/data/Test72.hs-formatted 05ed72d9e760 brittany-0.14.0.2/data/Test73.hs-formatted a54128f146c1 brittany-0.14.0.2/data/Test74.hs-formatted 29302a244e5c brittany-0.14.0.2/data/Test75.hs-formatted 89a2a63deffe brittany-0.14.0.2/data/Test76.hs-formatted 7a3ad7569e3d brittany-0.14.0.2/data/Test77.hs-formatted 286a50a0eb22 brittany-0.14.0.2/data/Test78.hs-formatted bc99bdbbbb1e brittany-0.14.0.2/data/Test79.hs-formatted 0a8cec799b2a brittany-0.14.0.2/data/Test8.hs-formatted 2f2e96416d6d brittany-0.14.0.2/data/Test80.hs-formatted d1d172867e08 brittany-0.14.0.2/data/Test81.hs-formatted f66f9b2381e3 brittany-0.14.0.2/data/Test82.hs-formatted 4fe035cf193a brittany-0.14.0.2/data/Test83.hs-formatted 43e925441c75 brittany-0.14.0.2/data/Test84.hs-formatted dddcd81d8e89 brittany-0.14.0.2/data/Test85.hs-formatted b34676f3162a brittany-0.14.0.2/data/Test86.hs-formatted 847e26a48a11 brittany-0.14.0.2/data/Test87.hs-formatted d37afb2bca9c brittany-0.14.0.2/data/Test88.hs-formatted 870cc6003dc1 brittany-0.14.0.2/data/Test89.hs-formatted cd000b5a236a brittany-0.14.0.2/data/Test9.hs-formatted 14a1a4f54ceb brittany-0.14.0.2/data/Test90.hs-formatted 583f169ace4c brittany-0.14.0.2/data/Test91.hs-formatted 1d30d5458df2 brittany-0.14.0.2/data/Test92.hs-formatted 21ca73bf65e9 brittany-0.14.0.2/data/Test93.hs-formatted 2640ff7299cc brittany-0.14.0.2/data/Test94.hs-formatted 139f17bd37c8 brittany-0.14.0.2/data/Test95.hs-formatted 3f35ed17b5d4 brittany-0.14.0.2/data/Test96.hs-formatted 54dbf9915298 brittany-0.14.0.2/data/Test97.hs-formatted 25178db879d4 brittany-0.14.0.2/data/Test98.hs-formatted 52caf5793d73 brittany-0.14.0.2/data/Test99.hs-formatted 7a5d0ee67b99 brittany-0.14.0.2/source/executable/Main.hs-formatted f006bb65ddb6 brittany-0.14.0.2/source/library/Language/Haskell/Brittany.hs-formatted 1cf8df647dcd brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal.hs-formatted 1b40549c94dc brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Backend.hs-formatted 45a3ccbf1f6b brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/BackendUtils.hs-formatted 4db6008c162f brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Config.hs-formatted 4387eb5344c3 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Config/Types.hs-formatted e13b5e1cf845 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs-formatted 3a7e4e0507b6 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs-formatted 5d4339023e83 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/LayouterBasics.hs-formatted 5d4ba42810fc brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs-formatted ee47e6ccde82 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Decl.hs-formatted 09c403355abb brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-formatted 63ac93aa854f brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot-formatted f730e71a6728 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/IE.hs-formatted ba5e2c3aa9ff brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Import.hs-formatted 2724197a64a5 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Module.hs-formatted 7acd5afe90f4 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs-formatted d46ed5a9675b brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-formatted 08c3e5d27dd4 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot-formatted f89ce9912b0a brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Type.hs-formatted 8d7327e29615 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Obfuscation.hs-formatted 0dc2352f4480 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/ParseModule.hs-formatted 79e767ee3e91 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Prelude.hs-formatted 1a8db66fd521 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/PreludeUtils.hs-formatted 8a5b5275ee15 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Alt.hs-formatted c6217dd1471b brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Columns.hs-formatted f558625f25b7 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Floating.hs-formatted 7d95cc82a77f brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Indent.hs-formatted c84030401f3e brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Par.hs-formatted db1436f9e84c brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Types.hs-formatted 203fcf60dae6 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Utils.hs-formatted 359d70ea598f brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Main.hs-formatted e425ebfb8e97 brittany-0.14.0.2/source/test-suite/Main.hs-formatted e865ae48f11b capability-0.5.0.1/Setup.hs-formatted 6772160dec0c capability-0.5.0.1/examples/CountLog.hs-formatted 2eb939764385 capability-0.5.0.1/examples/Error.hs-formatted c878dfd98c1c capability-0.5.0.1/examples/Reader.hs-formatted cf7788db327f capability-0.5.0.1/examples/Reflection.hs-formatted 4ca78b40a428 capability-0.5.0.1/examples/Sink.hs-formatted 4bd9f1f5ce20 capability-0.5.0.1/examples/State.hs-formatted de729285889f capability-0.5.0.1/examples/Test.hs-formatted bc483d61ffa2 capability-0.5.0.1/examples/Test/Common.hs-formatted 7e4f90ed485c capability-0.5.0.1/examples/WordCount.hs-formatted 9a2c6692cf10 capability-0.5.0.1/examples/Writer.hs-formatted c7634b7f4e60 capability-0.5.0.1/src/Capability.hs-formatted 83447b7b7ea5 capability-0.5.0.1/src/Capability/Accessors.hs-formatted 8d8d36f3f008 capability-0.5.0.1/src/Capability/Constraints.hs-formatted f8fc4a2aaee2 capability-0.5.0.1/src/Capability/Derive.hs-formatted 3c4efc286c22 capability-0.5.0.1/src/Capability/Error.hs-formatted 97515747424b capability-0.5.0.1/src/Capability/Reader.hs-formatted 89877e765220 capability-0.5.0.1/src/Capability/Reader/Internal/Class.hs-formatted 007089e89b2a capability-0.5.0.1/src/Capability/Reader/Internal/Strategies.hs-formatted cdf1d99e626f capability-0.5.0.1/src/Capability/Reflection.hs-formatted 42f2a624abd3 capability-0.5.0.1/src/Capability/Sink.hs-formatted 8e57397c62e4 capability-0.5.0.1/src/Capability/Sink/Internal/Class.hs-formatted 074cd292b8a7 capability-0.5.0.1/src/Capability/Sink/Internal/Strategies.hs-formatted d6a811b81394 capability-0.5.0.1/src/Capability/Source.hs-formatted b2d52c4c15ca capability-0.5.0.1/src/Capability/Source/Internal/Class.hs-formatted b718392f90a6 capability-0.5.0.1/src/Capability/Source/Internal/Strategies.hs-formatted e288db1d616d capability-0.5.0.1/src/Capability/State.hs-formatted 9d0280d2e19e capability-0.5.0.1/src/Capability/State/Internal/Class.hs-formatted 77e19ee12ef0 capability-0.5.0.1/src/Capability/State/Internal/Strategies.hs-formatted e0fc7f2c44f9 capability-0.5.0.1/src/Capability/State/Internal/Strategies/Common.hs-formatted dca34ed58cfd capability-0.5.0.1/src/Capability/Stream.hs-formatted 6cd51b2d63f1 capability-0.5.0.1/src/Capability/TypeOf.hs-formatted 9a266b123a93 capability-0.5.0.1/src/Capability/Writer.hs-formatted e865ae48f11b cassava-0.5.5.0/Setup.hs-formatted f8de97e1c58a cassava-0.5.5.0/examples/IncrementalIndexedBasedDecode.hs-formatted b9e7e3d9a0fb cassava-0.5.5.0/examples/IncrementalNamedBasedEncode.hs-formatted a004028b7dc3 cassava-0.5.5.0/examples/IndexBasedDecode.hs-formatted 03830830ed9e cassava-0.5.5.0/examples/IndexBasedGeneric.hs-formatted f4fb7ce7564b cassava-0.5.5.0/examples/NamedBasedDecode.hs-formatted ecf9a4c54a67 cassava-0.5.5.0/examples/NamedBasedExplicitDecode.hs-formatted d51604b7e89f cassava-0.5.5.0/examples/NamedBasedGeneric.hs-formatted 9612391bd37b cassava-0.5.5.0/examples/StreamingIndexBasedDecode.hs-formatted efc1fe9896ec cassava-0.5.5.0/src/Data/Csv.hs-formatted 817b8cca8d06 cassava-0.5.5.0/src/Data/Csv/Builder.hs-formatted 38c7c4badf0a cassava-0.5.5.0/src/Data/Csv/Conversion.hs-formatted a4c56813cba7 cassava-0.5.5.0/src/Data/Csv/Conversion/Internal.hs-formatted 5906452b290a cassava-0.5.5.0/src/Data/Csv/Encoding.hs-formatted 32c60ff1a4fd cassava-0.5.5.0/src/Data/Csv/Incremental.hs-formatted be1c60df3b34 cassava-0.5.5.0/src/Data/Csv/Parser.hs-formatted 014bb9b262b9 cassava-0.5.5.0/src/Data/Csv/Streaming.hs-formatted 20f42a736b97 cassava-0.5.5.0/src/Data/Csv/Types.hs-formatted 4a5a0e1a51c9 cassava-0.5.5.0/src/Data/Csv/Util.hs-formatted 61c26773c418 cassava-0.5.5.0/tests/UnitTests.hs-formatted b77256b69093 comonad-5.0.10/examples/History.hs-formatted 9e72148ec524 comonad-5.0.10/src/Control/Comonad.hs-formatted d084cf5c7fa7 comonad-5.0.10/src/Control/Comonad/Env.hs-formatted 3b8ec012a04c comonad-5.0.10/src/Control/Comonad/Env/Class.hs-formatted 0dcf633542eb comonad-5.0.10/src/Control/Comonad/Hoist/Class.hs-formatted 4bfafba3ce3b comonad-5.0.10/src/Control/Comonad/Identity.hs-formatted 49b438747b63 comonad-5.0.10/src/Control/Comonad/Store.hs-formatted cf408da422ba comonad-5.0.10/src/Control/Comonad/Store/Class.hs-formatted 2c72a397c339 comonad-5.0.10/src/Control/Comonad/Traced.hs-formatted da617308f9a3 comonad-5.0.10/src/Control/Comonad/Traced/Class.hs-formatted adbd6d7e0f72 comonad-5.0.10/src/Control/Comonad/Trans/Class.hs-formatted 871b9e0bc5cd comonad-5.0.10/src/Control/Comonad/Trans/Env.hs-formatted c405a550608b comonad-5.0.10/src/Control/Comonad/Trans/Identity.hs-formatted 6b990e80a8eb comonad-5.0.10/src/Control/Comonad/Trans/Store.hs-formatted 314d93d6a1d8 comonad-5.0.10/src/Control/Comonad/Trans/Traced.hs-formatted 34f425eff98b comonad-5.0.10/src/Data/Functor/Composition.hs-formatted be111de01001 conduit-1.3.6.1/benchmarks/optimize-201408.hs-formatted f70f6155e62a conduit-1.3.6.1/benchmarks/unfused.hs-formatted 20fad0c5aecd conduit-1.3.6.1/src/Conduit.hs-formatted bf88ceabad43 conduit-1.3.6.1/src/Data/Conduit.hs-formatted 6fba99ab1b1b conduit-1.3.6.1/src/Data/Conduit/Combinators.hs-formatted 9e46f7ab29ac conduit-1.3.6.1/src/Data/Conduit/Combinators/Stream.hs-formatted 1290e9b983f1 conduit-1.3.6.1/src/Data/Conduit/Combinators/Unqualified.hs-formatted 8e861a915c2f conduit-1.3.6.1/src/Data/Conduit/Internal.hs-formatted 27c68c4604b4 conduit-1.3.6.1/src/Data/Conduit/Internal/Conduit.hs-formatted bbfd28e5b98b conduit-1.3.6.1/src/Data/Conduit/Internal/Fusion.hs-formatted 54120af8edce conduit-1.3.6.1/src/Data/Conduit/Internal/List/Stream.hs-formatted 2fe8b1b7e798 conduit-1.3.6.1/src/Data/Conduit/Internal/Pipe.hs-formatted 4a4c14b72249 conduit-1.3.6.1/src/Data/Conduit/Lift.hs-formatted 15e5ac8a2cb1 conduit-1.3.6.1/src/Data/Conduit/List.hs-formatted 55a50272f6a7 conduit-1.3.6.1/src/Data/Streaming/FileRead.hs-formatted 71e1c3bf7039 conduit-1.3.6.1/src/Data/Streaming/Filesystem.hs-formatted d9e8dbaa2534 conduit-1.3.6.1/test/Data/Conduit/Extra/ZipConduitSpec.hs-formatted 3df81ded6599 conduit-1.3.6.1/test/Data/Conduit/StreamSpec.hs-formatted cf41359a6248 conduit-1.3.6.1/test/Spec.hs-formatted 18f42fad75a6 conduit-1.3.6.1/test/StreamSpec.hs-formatted db2295b8113a conduit-1.3.6.1/test/doctests.hs-formatted a21201eaf0ea conduit-1.3.6.1/test/main.hs-formatted cf30290b0c41 contravariant-1.5.6/old-src/Data/Functor/Contravariant.hs-formatted 4ddb460640d4 contravariant-1.5.6/src/Data/Functor/Contravariant/Compose.hs-formatted ca6ed6c2a277 contravariant-1.5.6/src/Data/Functor/Contravariant/Divisible.hs-formatted c83d2c04f4ed contravariant-1.5.6/src/Data/Functor/Contravariant/Generic.hs-formatted 2841bd16822b criterion-1.6.5.0/Criterion.hs-formatted 417b9eafad2d criterion-1.6.5.0/Criterion/Analysis.hs-formatted c039ba5918a9 criterion-1.6.5.0/Criterion/EmbeddedData.hs-formatted f07714df2d3d criterion-1.6.5.0/Criterion/IO.hs-formatted 9cbbe0381e04 criterion-1.6.5.0/Criterion/IO/Printf.hs-formatted 7f06470ac8f8 criterion-1.6.5.0/Criterion/Internal.hs-formatted 61563e5b80e1 criterion-1.6.5.0/Criterion/Main.hs-formatted a7ae79817c1c criterion-1.6.5.0/Criterion/Main/Options.hs-formatted aab23b74a86d criterion-1.6.5.0/Criterion/Monad.hs-formatted 344969265c26 criterion-1.6.5.0/Criterion/Monad/Internal.hs-formatted 68661ef87043 criterion-1.6.5.0/Criterion/Report.hs-formatted ef0e89d5813d criterion-1.6.5.0/Criterion/Types.hs-formatted fb8e29343d89 criterion-1.6.5.0/app/Options.hs-formatted 1c316429bc18 criterion-1.6.5.0/app/Report.hs-formatted a437ea93f53e criterion-1.6.5.0/examples/BadReadFile.hs-formatted bfb4844251ca criterion-1.6.5.0/examples/Comparison.hs-formatted f54fba36e069 criterion-1.6.5.0/examples/ConduitVsPipes.hs-formatted a4f8cda29d3c criterion-1.6.5.0/examples/ExtensibleCLI.hs-formatted 8f4df570ff4e criterion-1.6.5.0/examples/Fibber.hs-formatted 9196e3f4c3d7 criterion-1.6.5.0/examples/GoodReadFile.hs-formatted e85b2e0c3354 criterion-1.6.5.0/examples/Judy.hs-formatted 7d1ede331f1f criterion-1.6.5.0/examples/Maps.hs-formatted f396bcf9c829 criterion-1.6.5.0/examples/Overhead.hs-formatted 3a50edf5477c criterion-1.6.5.0/examples/Quotes.hs-formatted e88811d40513 criterion-1.6.5.0/tests/Cleanup.hs-formatted 78253dc00e1a criterion-1.6.5.0/tests/Properties.hs-formatted a99e4edb542c criterion-1.6.5.0/tests/Sanity.hs-formatted f8a8d8f2c4ae criterion-1.6.5.0/tests/Tests.hs-formatted 44af498375d5 cryptonite-0.30/Crypto/Cipher/AES.hs-formatted 2240267dad51 cryptonite-0.30/Crypto/Cipher/AES/Primitive.hs-formatted 5694da9617bf cryptonite-0.30/Crypto/Cipher/AESGCMSIV.hs-formatted ab05e6ed96e9 cryptonite-0.30/Crypto/Cipher/Blowfish.hs-formatted 98e1845904ad cryptonite-0.30/Crypto/Cipher/Blowfish/Box.hs-formatted 23c195272bfd cryptonite-0.30/Crypto/Cipher/Blowfish/Primitive.hs-formatted 7ece5bd42232 cryptonite-0.30/Crypto/Cipher/CAST5.hs-formatted d0210ba9a96f cryptonite-0.30/Crypto/Cipher/CAST5/Primitive.hs-formatted c818f5ccfd4a cryptonite-0.30/Crypto/Cipher/Camellia.hs-formatted f429b69d6156 cryptonite-0.30/Crypto/Cipher/Camellia/Primitive.hs-formatted dbd216d2f0aa cryptonite-0.30/Crypto/Cipher/ChaCha.hs-formatted bcadafa03089 cryptonite-0.30/Crypto/Cipher/ChaChaPoly1305.hs-formatted 092e6bcae818 cryptonite-0.30/Crypto/Cipher/DES.hs-formatted b66fa5163d3f cryptonite-0.30/Crypto/Cipher/DES/Primitive.hs-formatted bc58b513348e cryptonite-0.30/Crypto/Cipher/RC4.hs-formatted d59fa1e97895 cryptonite-0.30/Crypto/Cipher/Salsa.hs-formatted 58b5729d32db cryptonite-0.30/Crypto/Cipher/TripleDES.hs-formatted 8aafca6b830e cryptonite-0.30/Crypto/Cipher/Twofish.hs-formatted 6b6428c6bd37 cryptonite-0.30/Crypto/Cipher/Twofish/Primitive.hs-formatted 54afbb146e5c cryptonite-0.30/Crypto/Cipher/Types.hs-formatted 9872fb82a680 cryptonite-0.30/Crypto/Cipher/Types/AEAD.hs-formatted ea04a762895f cryptonite-0.30/Crypto/Cipher/Types/Base.hs-formatted e02385d86f90 cryptonite-0.30/Crypto/Cipher/Types/Block.hs-formatted 7c2782316618 cryptonite-0.30/Crypto/Cipher/Types/GF.hs-formatted 17ceaf6e3360 cryptonite-0.30/Crypto/Cipher/Types/Stream.hs-formatted 6cdb1c7bd28d cryptonite-0.30/Crypto/Cipher/Types/Utils.hs-formatted f1893d3edfa7 cryptonite-0.30/Crypto/Cipher/Utils.hs-formatted 20107f92349f cryptonite-0.30/Crypto/Cipher/XSalsa.hs-formatted 117e7ce7c967 cryptonite-0.30/Crypto/ConstructHash/MiyaguchiPreneel.hs-formatted 4f15b3874982 cryptonite-0.30/Crypto/Data/AFIS.hs-formatted 37c60fc95ef2 cryptonite-0.30/Crypto/Data/Padding.hs-formatted 2ba3cd2f51b9 cryptonite-0.30/Crypto/ECC.hs-formatted 951ccc172449 cryptonite-0.30/Crypto/ECC/Edwards25519.hs-formatted 26c0fcc08733 cryptonite-0.30/Crypto/ECC/Simple/Prim.hs-formatted 64fc04cd74ae cryptonite-0.30/Crypto/ECC/Simple/Types.hs-formatted 3560b9821c3b cryptonite-0.30/Crypto/Error.hs-formatted 0caeb40058f2 cryptonite-0.30/Crypto/Error/Types.hs-formatted bcc2e2a5ecac cryptonite-0.30/Crypto/Hash.hs-formatted 514502d73233 cryptonite-0.30/Crypto/Hash/Algorithms.hs-formatted a83eee5ae7b0 cryptonite-0.30/Crypto/Hash/Blake2.hs-formatted f99040e35232 cryptonite-0.30/Crypto/Hash/Blake2b.hs-formatted 9fc6dd4195c9 cryptonite-0.30/Crypto/Hash/Blake2bp.hs-formatted aa6fb8816478 cryptonite-0.30/Crypto/Hash/Blake2s.hs-formatted 5987b76d2285 cryptonite-0.30/Crypto/Hash/Blake2sp.hs-formatted 36d330a27ffe cryptonite-0.30/Crypto/Hash/IO.hs-formatted 527ac917164f cryptonite-0.30/Crypto/Hash/Keccak.hs-formatted 988960beff03 cryptonite-0.30/Crypto/Hash/MD2.hs-formatted 643fd2f5f7f2 cryptonite-0.30/Crypto/Hash/MD4.hs-formatted 0176320f82f4 cryptonite-0.30/Crypto/Hash/MD5.hs-formatted 54c369b13f00 cryptonite-0.30/Crypto/Hash/RIPEMD160.hs-formatted 0cf990ecd2cd cryptonite-0.30/Crypto/Hash/SHA1.hs-formatted 6b15758ab087 cryptonite-0.30/Crypto/Hash/SHA224.hs-formatted a5a52f418404 cryptonite-0.30/Crypto/Hash/SHA256.hs-formatted 05629720d732 cryptonite-0.30/Crypto/Hash/SHA3.hs-formatted 076c9d704bf2 cryptonite-0.30/Crypto/Hash/SHA384.hs-formatted d65edf0aeac8 cryptonite-0.30/Crypto/Hash/SHA512.hs-formatted 94400683916e cryptonite-0.30/Crypto/Hash/SHA512t.hs-formatted 9b214034fb00 cryptonite-0.30/Crypto/Hash/SHAKE.hs-formatted 506e64c190a2 cryptonite-0.30/Crypto/Hash/Skein256.hs-formatted da70bee9980a cryptonite-0.30/Crypto/Hash/Skein512.hs-formatted 2f8832cc95bb cryptonite-0.30/Crypto/Hash/Tiger.hs-formatted f7994b599588 cryptonite-0.30/Crypto/Hash/Types.hs-formatted 4ea25e04f5c1 cryptonite-0.30/Crypto/Hash/Whirlpool.hs-formatted f70544b8e5f8 cryptonite-0.30/Crypto/Internal/Builder.hs-formatted 98a5de0267ed cryptonite-0.30/Crypto/Internal/ByteArray.hs-formatted f801f423094d cryptonite-0.30/Crypto/Internal/Compat.hs-formatted 54db2fce0fcc cryptonite-0.30/Crypto/Internal/CompatPrim.hs-formatted d4435b068486 cryptonite-0.30/Crypto/Internal/DeepSeq.hs-formatted 4646f54cc944 cryptonite-0.30/Crypto/Internal/Imports.hs-formatted 4878b8fb8411 cryptonite-0.30/Crypto/Internal/Nat.hs-formatted 483861a9b72d cryptonite-0.30/Crypto/Internal/WordArray.hs-formatted 5786998be3b3 cryptonite-0.30/Crypto/Internal/Words.hs-formatted 0434f24b7a9f cryptonite-0.30/Crypto/KDF/Argon2.hs-formatted 9725e47b1b66 cryptonite-0.30/Crypto/KDF/BCrypt.hs-formatted 28be07832b83 cryptonite-0.30/Crypto/KDF/BCryptPBKDF.hs-formatted 7c78160cd13d cryptonite-0.30/Crypto/KDF/HKDF.hs-formatted f25d68c357c2 cryptonite-0.30/Crypto/KDF/PBKDF2.hs-formatted 3307468c4b5d cryptonite-0.30/Crypto/KDF/Scrypt.hs-formatted 8f3891401559 cryptonite-0.30/Crypto/MAC/CMAC.hs-formatted 9dff2956cdea cryptonite-0.30/Crypto/MAC/HMAC.hs-formatted 859812024323 cryptonite-0.30/Crypto/MAC/KMAC.hs-formatted a54d3189768c cryptonite-0.30/Crypto/MAC/Poly1305.hs-formatted c065c0ae8804 cryptonite-0.30/Crypto/Number/Basic.hs-partly-checked 27ebb2f56bcc cryptonite-0.30/Crypto/Number/Compat.hs-formatted d8e4da3cf8c5 cryptonite-0.30/Crypto/Number/F2m.hs-formatted 7b62d9f0185b cryptonite-0.30/Crypto/Number/Generate.hs-formatted 53fbd1bf4d6c cryptonite-0.30/Crypto/Number/ModArithmetic.hs-formatted 3887ba3c7c43 cryptonite-0.30/Crypto/Number/Nat.hs-formatted 930fa05c486f cryptonite-0.30/Crypto/Number/Prime.hs-formatted 3be1d9c43e52 cryptonite-0.30/Crypto/Number/Serialize.hs-formatted cfe6a456efe7 cryptonite-0.30/Crypto/Number/Serialize/Internal.hs-formatted 8f181f9bc069 cryptonite-0.30/Crypto/Number/Serialize/Internal/LE.hs-formatted c21267dc7970 cryptonite-0.30/Crypto/Number/Serialize/LE.hs-formatted 306914497f38 cryptonite-0.30/Crypto/OTP.hs-formatted 47ac3109be1c cryptonite-0.30/Crypto/PubKey/Curve25519.hs-formatted ff1bad4fe0ae cryptonite-0.30/Crypto/PubKey/Curve448.hs-formatted 7279b7fc32ee cryptonite-0.30/Crypto/PubKey/DH.hs-formatted 61fc8cd02023 cryptonite-0.30/Crypto/PubKey/DSA.hs-formatted 9671d669d9fb cryptonite-0.30/Crypto/PubKey/ECC/DH.hs-formatted face3da85363 cryptonite-0.30/Crypto/PubKey/ECC/ECDSA.hs-formatted 97c5eb3f0754 cryptonite-0.30/Crypto/PubKey/ECC/Generate.hs-formatted d4527eb98a84 cryptonite-0.30/Crypto/PubKey/ECC/P256.hs-formatted 421cbae47c83 cryptonite-0.30/Crypto/PubKey/ECC/Prim.hs-formatted 65081a388743 cryptonite-0.30/Crypto/PubKey/ECC/Types.hs-formatted dae44ef68546 cryptonite-0.30/Crypto/PubKey/ECDSA.hs-formatted 04ef544fcbc1 cryptonite-0.30/Crypto/PubKey/ECIES.hs-formatted ca8ec46db323 cryptonite-0.30/Crypto/PubKey/Ed25519.hs-formatted dba822ca565e cryptonite-0.30/Crypto/PubKey/Ed448.hs-formatted 365814eb2b58 cryptonite-0.30/Crypto/PubKey/EdDSA.hs-formatted e083f4a748a3 cryptonite-0.30/Crypto/PubKey/ElGamal.hs-formatted 5a0517dd2399 cryptonite-0.30/Crypto/PubKey/Internal.hs-formatted 83e024783092 cryptonite-0.30/Crypto/PubKey/MaskGenFunction.hs-formatted aaafa0f20f26 cryptonite-0.30/Crypto/PubKey/RSA.hs-formatted c12317773f47 cryptonite-0.30/Crypto/PubKey/RSA/OAEP.hs-formatted b777939c6984 cryptonite-0.30/Crypto/PubKey/RSA/PKCS15.hs-formatted 9255a1c6fd3d cryptonite-0.30/Crypto/PubKey/RSA/PSS.hs-formatted 8643b6ddea84 cryptonite-0.30/Crypto/PubKey/RSA/Prim.hs-formatted 7ab3ae862f55 cryptonite-0.30/Crypto/PubKey/RSA/Types.hs-formatted a97d7fbec7cf cryptonite-0.30/Crypto/PubKey/Rabin/Basic.hs-formatted 3e0ac8c999c0 cryptonite-0.30/Crypto/PubKey/Rabin/Modified.hs-formatted a53ee7c1c1a5 cryptonite-0.30/Crypto/PubKey/Rabin/OAEP.hs-formatted b578b97afc3e cryptonite-0.30/Crypto/PubKey/Rabin/RW.hs-formatted c0eae64dcf68 cryptonite-0.30/Crypto/PubKey/Rabin/Types.hs-formatted 1854f69b3828 cryptonite-0.30/Crypto/Random.hs-formatted f3902d2c9c96 cryptonite-0.30/Crypto/Random/ChaChaDRG.hs-formatted 8b31b5a87af9 cryptonite-0.30/Crypto/Random/Entropy.hs-formatted f8afb2ba19cc cryptonite-0.30/Crypto/Random/Entropy/Backend.hs-formatted 9b0c8653e10a cryptonite-0.30/Crypto/Random/Entropy/RDRand.hs-formatted 0c206170779c cryptonite-0.30/Crypto/Random/Entropy/Source.hs-formatted 75121bc8d581 cryptonite-0.30/Crypto/Random/Entropy/Unix.hs-formatted 2b02d2fc4203 cryptonite-0.30/Crypto/Random/Entropy/Unsafe.hs-declined - cryptonite-0.30/Crypto/Random/Entropy/Windows.hs-formatted 4f4ac464c6e9 cryptonite-0.30/Crypto/Random/EntropyPool.hs-formatted 762f30275eb4 cryptonite-0.30/Crypto/Random/Probabilistic.hs-formatted dd360e4a76e6 cryptonite-0.30/Crypto/Random/SystemDRG.hs-formatted 3613df3a0846 cryptonite-0.30/Crypto/Random/Types.hs-formatted b12c43b64866 cryptonite-0.30/Crypto/System/CPU.hs-formatted 3f10131f3add cryptonite-0.30/Crypto/Tutorial.hs-formatted e865ae48f11b cryptonite-0.30/Setup.hs-formatted ac276403f523 cryptonite-0.30/benchs/Bench.hs-formatted 772fcb717c67 cryptonite-0.30/benchs/Number/F2m.hs-formatted 57d09cf26ff7 cryptonite-0.30/tests/BCrypt.hs-formatted e0a9d879663a cryptonite-0.30/tests/BCryptPBKDF.hs-formatted 1fb7875ac9b3 cryptonite-0.30/tests/BlockCipher.hs-formatted ae1da1712bf7 cryptonite-0.30/tests/ChaCha.hs-formatted 2ff39a30e968 cryptonite-0.30/tests/ChaChaPoly1305.hs-formatted c628564c97aa cryptonite-0.30/tests/ECC.hs-formatted 5d886e661761 cryptonite-0.30/tests/ECC/Edwards25519.hs-formatted e8de6edaf6ac cryptonite-0.30/tests/ECDSA.hs-formatted 27ce811073c1 cryptonite-0.30/tests/Hash.hs-formatted e00752436aeb cryptonite-0.30/tests/Imports.hs-formatted beecfeaa8fb1 cryptonite-0.30/tests/KAT_AES.hs-formatted 810d48314931 cryptonite-0.30/tests/KAT_AES/KATCBC.hs-formatted 18eaacc22a0b cryptonite-0.30/tests/KAT_AES/KATCCM.hs-formatted 44fe15b7084a cryptonite-0.30/tests/KAT_AES/KATECB.hs-formatted 82fa19f7ce7a cryptonite-0.30/tests/KAT_AES/KATGCM.hs-formatted 615d3d0c3896 cryptonite-0.30/tests/KAT_AES/KATOCB3.hs-formatted 7ab1f2d998b8 cryptonite-0.30/tests/KAT_AES/KATXTS.hs-formatted 1e2edc23eab4 cryptonite-0.30/tests/KAT_AESGCMSIV.hs-formatted 5f71c9d0489d cryptonite-0.30/tests/KAT_AFIS.hs-formatted a29f1f177a83 cryptonite-0.30/tests/KAT_Argon2.hs-formatted 8415bc362f2c cryptonite-0.30/tests/KAT_Blowfish.hs-formatted 05a7dbeb9005 cryptonite-0.30/tests/KAT_CAST5.hs-formatted a3584b1b317f cryptonite-0.30/tests/KAT_CMAC.hs-formatted c4f1dbee51d6 cryptonite-0.30/tests/KAT_Camellia.hs-formatted 6afe12fcf4eb cryptonite-0.30/tests/KAT_Curve25519.hs-formatted 6093259a5aa9 cryptonite-0.30/tests/KAT_Curve448.hs-formatted 8e0eac40b9d6 cryptonite-0.30/tests/KAT_DES.hs-formatted 3a7902b73bd8 cryptonite-0.30/tests/KAT_Ed25519.hs-formatted bbf6a21d5f18 cryptonite-0.30/tests/KAT_Ed448.hs-formatted b59a87e7f1e5 cryptonite-0.30/tests/KAT_EdDSA.hs-formatted 0fa0afdb302b cryptonite-0.30/tests/KAT_HKDF.hs-formatted f0b45b263f2a cryptonite-0.30/tests/KAT_HMAC.hs-formatted ee17a2d47a67 cryptonite-0.30/tests/KAT_KMAC.hs-formatted 66cf41c37e13 cryptonite-0.30/tests/KAT_MiyaguchiPreneel.hs-formatted 5161823955d7 cryptonite-0.30/tests/KAT_OTP.hs-formatted e23a8a363aff cryptonite-0.30/tests/KAT_PBKDF2.hs-formatted 1f0d2812b0a5 cryptonite-0.30/tests/KAT_PubKey.hs-formatted c92369374dbb cryptonite-0.30/tests/KAT_PubKey/DSA.hs-formatted 743790d1c893 cryptonite-0.30/tests/KAT_PubKey/ECC.hs-formatted 72827abb8090 cryptonite-0.30/tests/KAT_PubKey/ECDSA.hs-formatted 0a8edec8bb84 cryptonite-0.30/tests/KAT_PubKey/OAEP.hs-formatted 6ba37e5828ed cryptonite-0.30/tests/KAT_PubKey/P256.hs-formatted 93c9f8d40494 cryptonite-0.30/tests/KAT_PubKey/PSS.hs-formatted bba8cd12072c cryptonite-0.30/tests/KAT_PubKey/RSA.hs-formatted cd527ad025c4 cryptonite-0.30/tests/KAT_PubKey/Rabin.hs-formatted fa1389bb8af8 cryptonite-0.30/tests/KAT_RC4.hs-formatted 6c174475decc cryptonite-0.30/tests/KAT_Scrypt.hs-formatted 36380d994c1c cryptonite-0.30/tests/KAT_TripleDES.hs-formatted 88dd0eef74a1 cryptonite-0.30/tests/KAT_Twofish.hs-formatted d3ffb4dd724c cryptonite-0.30/tests/Number.hs-formatted 7da4a28c8580 cryptonite-0.30/tests/Number/F2m.hs-formatted 153769199399 cryptonite-0.30/tests/Padding.hs-formatted e4b87212dc1f cryptonite-0.30/tests/Poly1305.hs-formatted 38c09837971d cryptonite-0.30/tests/Salsa.hs-formatted 54065ea7b3f2 cryptonite-0.30/tests/Tests.hs-formatted be766d438585 cryptonite-0.30/tests/Utils.hs-formatted f7ee48c90ce9 cryptonite-0.30/tests/XSalsa.hs-formatted e865ae48f11b diagrams-core-1.5.1.2/Setup.hs-formatted 390dfdff3fbc diagrams-core-1.5.1.2/src/Diagrams/Core.hs-formatted 5b9f4064740f diagrams-core-1.5.1.2/src/Diagrams/Core/Compile.hs-formatted dcc0b6e7d82d diagrams-core-1.5.1.2/src/Diagrams/Core/Envelope.hs-formatted c945af86b66d diagrams-core-1.5.1.2/src/Diagrams/Core/HasOrigin.hs-formatted 5e6397a73cbf diagrams-core-1.5.1.2/src/Diagrams/Core/Juxtapose.hs-formatted 0de67b81d340 diagrams-core-1.5.1.2/src/Diagrams/Core/Measure.hs-formatted 3f232ced8cd3 diagrams-core-1.5.1.2/src/Diagrams/Core/Names.hs-formatted 169fec80496d diagrams-core-1.5.1.2/src/Diagrams/Core/Points.hs-formatted f005c45a7335 diagrams-core-1.5.1.2/src/Diagrams/Core/Query.hs-formatted c1f6572049e6 diagrams-core-1.5.1.2/src/Diagrams/Core/Style.hs-formatted 0d93bb9387d4 diagrams-core-1.5.1.2/src/Diagrams/Core/Trace.hs-formatted ceb1829b99d5 diagrams-core-1.5.1.2/src/Diagrams/Core/Transform.hs-formatted 053c9acdc8a3 diagrams-core-1.5.1.2/src/Diagrams/Core/Types.hs-formatted a9f71c9c75d0 diagrams-core-1.5.1.2/src/Diagrams/Core/V.hs-formatted 5cabe7655bac distributed-process-0.7.8/benchmarks/Channels.hs-formatted 504953bb1387 distributed-process-0.7.8/benchmarks/Latency.hs-formatted e43130036e36 distributed-process-0.7.8/benchmarks/ProcessRing.hs-formatted c83a31f749c7 distributed-process-0.7.8/benchmarks/Spawns.hs-formatted 54738fd746e9 distributed-process-0.7.8/benchmarks/Throughput.hs-formatted e7bfb48f27d1 distributed-process-0.7.8/src/Control/Distributed/Process.hs-formatted 3f710068b83b distributed-process-0.7.8/src/Control/Distributed/Process/Closure.hs-formatted 9abdf121594b distributed-process-0.7.8/src/Control/Distributed/Process/Debug.hs-formatted c98976ba0493 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/BiMultiMap.hs-formatted fe72c6f43347 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/CQueue.hs-formatted 2946b3a11a2f distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Closure/BuiltIn.hs-formatted a950bf8d3ff9 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Closure/Explicit.hs-formatted 8ab242465a6d distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Closure/TH.hs-formatted 4f632ae95bca distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Messaging.hs-formatted cdbd1062f92e distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Primitives.hs-formatted e45882712088 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Spawn.hs-formatted cd3afabcd890 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/StrictContainerAccessors.hs-formatted 8a9d9c67b86f distributed-process-0.7.8/src/Control/Distributed/Process/Internal/StrictList.hs-formatted b21182e8f9f2 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/StrictMVar.hs-formatted 872f36ee90c9 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Types.hs-formatted d8a70ea27555 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/WeakTQueue.hs-formatted b54c3b7901fc distributed-process-0.7.8/src/Control/Distributed/Process/Management.hs-formatted 0fc21b015e4c distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Agent.hs-formatted 39b50d32c5a6 distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Bus.hs-formatted 5e7aa53931dc distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Primitives.hs-formatted 818907f11c3f distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Remote.hs-formatted b20da2c91302 distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Tracer.hs-formatted 2b21046051cd distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Types.hs-formatted 07108d12c1fe distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Types.hs-formatted b797d0b46d2e distributed-process-0.7.8/src/Control/Distributed/Process/Node.hs-formatted 6b86ee01b32a distributed-process-0.7.8/src/Control/Distributed/Process/Serializable.hs-formatted daf3cd1d8b53 distributed-process-0.7.8/src/Control/Distributed/Process/UnsafePrimitives.hs-broken c7f3522faa0a dlist-1.0/Data/DList.hs-formatted 20c1dbe536f4 dlist-1.0/Data/DList/DNonEmpty.hs-formatted 3d51b496abb0 dlist-1.0/Data/DList/DNonEmpty/Internal.hs-declined - dlist-1.0/Data/DList/Internal.hs-formatted 669ee89127ed dlist-1.0/Data/DList/Unsafe.hs-formatted c7f9b52c6db5 dlist-1.0/tests/DListProperties.hs-formatted 54f0c52fc06b dlist-1.0/tests/DNonEmptyProperties.hs-formatted 9471e1a867e9 dlist-1.0/tests/ImportUnsafe.hs-formatted 977d78f79456 dlist-1.0/tests/Main.hs-formatted ff0ea90a2896 dlist-1.0/tests/OverloadedStrings.hs-formatted eda938831fc8 dlist-1.0/tests/QuickCheckUtil.hs-formatted e865ae48f11b esqueleto-3.6.0.3/Setup.hs-formatted fb274a829f01 esqueleto-3.6.0.3/src/Database/Esqueleto.hs-formatted 99a3554c79c4 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental.hs-formatted f39aad505f10 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From.hs-formatted 3dc85ea0c84f esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From/CommonTableExpression.hs-formatted 1c658ac7468e esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From/Join.hs-formatted beecd102c083 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From/SqlSetOperation.hs-formatted 6bfe86eb6141 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/ToAlias.hs-formatted ed8893f41cd7 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/ToAliasReference.hs-formatted 9f36875401e2 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/ToMaybe.hs-formatted a736ace7f7d4 esqueleto-3.6.0.3/src/Database/Esqueleto/Internal/ExprParser.hs-formatted 00efc44de803 esqueleto-3.6.0.3/src/Database/Esqueleto/Internal/Internal.hs-formatted 8e8a8c378f2b esqueleto-3.6.0.3/src/Database/Esqueleto/Internal/PersistentImport.hs-formatted 23c62f207b2d esqueleto-3.6.0.3/src/Database/Esqueleto/Legacy.hs-formatted 9cd66d1b3ed2 esqueleto-3.6.0.3/src/Database/Esqueleto/MySQL.hs-formatted 03e7cbed2cf8 esqueleto-3.6.0.3/src/Database/Esqueleto/PostgreSQL.hs-formatted c9c85bd4863e esqueleto-3.6.0.3/src/Database/Esqueleto/PostgreSQL/JSON.hs-formatted df35c8f3b6bf esqueleto-3.6.0.3/src/Database/Esqueleto/PostgreSQL/JSON/Instances.hs-formatted 573ddd92ef4a esqueleto-3.6.0.3/src/Database/Esqueleto/Record.hs-formatted 167fa1cef38a esqueleto-3.6.0.3/src/Database/Esqueleto/SQLite.hs-formatted 791ffee464be esqueleto-3.6.0.3/test/Common/Record.hs-formatted 3d260d3951bd esqueleto-3.6.0.3/test/Common/Test.hs-formatted 07d3054c5606 esqueleto-3.6.0.3/test/Common/Test/CTE.hs-formatted 1f83d04692e3 esqueleto-3.6.0.3/test/Common/Test/Import.hs-formatted 2e16567983e5 esqueleto-3.6.0.3/test/Common/Test/Models.hs-formatted 1e1af0ff65e2 esqueleto-3.6.0.3/test/Common/Test/Select.hs-formatted 6c403a7dbfd3 esqueleto-3.6.0.3/test/MySQL/Test.hs-formatted 649022fe6ecf esqueleto-3.6.0.3/test/PostgreSQL/MigrateJSON.hs-formatted cbb4df3506fe esqueleto-3.6.0.3/test/PostgreSQL/Test.hs-formatted 0e0ef1763885 esqueleto-3.6.0.3/test/SQLite/Test.hs-formatted 9c274d8e66c1 esqueleto-3.6.0.3/test/Spec.hs-formatted 27965836c84d exceptions-0.10.12/src/Control/Monad/Catch.hs-formatted 2982a44f9995 exceptions-0.10.12/src/Control/Monad/Catch/Pure.hs-formatted da6b7265725b exceptions-0.10.12/tests/Control/Monad/Catch/Tests.hs-formatted bba664ba2b8b exceptions-0.10.12/tests/Tests.hs-formatted 421394df9111 fay-0.24.2.0/Setup.hs-formatted ec9eeba0c6a1 fay-0.24.2.0/examples/CodeWorld.hs-formatted 7cf91d63601f fay-0.24.2.0/examples/CodeWorldMain.hs-formatted d34203032896 fay-0.24.2.0/examples/Cont.hs-formatted b5088332842e fay-0.24.2.0/examples/D3TreeSample.hs-formatted 45fa087c720a fay-0.24.2.0/examples/FayFromJs.hs-formatted d4be2511948d fay-0.24.2.0/examples/Separated.hs-formatted 73cbc6340843 fay-0.24.2.0/examples/X.hs-formatted 89a1e9058dc3 fay-0.24.2.0/examples/Y.hs-formatted 55d7b8cf115f fay-0.24.2.0/examples/alert.hs-formatted 3563971c6bdb fay-0.24.2.0/examples/calc.hs-formatted 2d60fb67f2de fay-0.24.2.0/examples/canvaswater.hs-formatted 97df12f5dfa2 fay-0.24.2.0/examples/console.hs-formatted 7608e18ca01c fay-0.24.2.0/examples/data.hs-formatted 57124dd1aa0e fay-0.24.2.0/examples/dom.hs-formatted a017f7092550 fay-0.24.2.0/examples/jquery.hs-formatted 19887dc6f70a fay-0.24.2.0/examples/json.hs-formatted db1cb782ccc3 fay-0.24.2.0/examples/node.hs-formatted f3df3b020033 fay-0.24.2.0/examples/nqueens.hs-formatted 615082642614 fay-0.24.2.0/examples/obj.hs-formatted a197f077306c fay-0.24.2.0/examples/oscillator.hs-formatted c79a44579d85 fay-0.24.2.0/examples/pat.hs-formatted fa732b1a5e66 fay-0.24.2.0/examples/properties.hs-formatted 7085b02d6471 fay-0.24.2.0/examples/ref.hs-formatted 55fe2b9f624f fay-0.24.2.0/examples/showExamples.hs-formatted 884b6fbdaadc fay-0.24.2.0/examples/tailrecursive.hs-formatted c2d5e370d7e2 fay-0.24.2.0/src/Fay.hs-formatted 9a042d6a7ba9 fay-0.24.2.0/src/Fay/Compiler.hs-formatted 727b9da5eeda fay-0.24.2.0/src/Fay/Compiler/Decl.hs-formatted d4575500ee48 fay-0.24.2.0/src/Fay/Compiler/Defaults.hs-formatted 891834d5aec2 fay-0.24.2.0/src/Fay/Compiler/Desugar.hs-formatted 570ca805808c fay-0.24.2.0/src/Fay/Compiler/Desugar/Name.hs-formatted fe53147a7e33 fay-0.24.2.0/src/Fay/Compiler/Desugar/Types.hs-formatted cd957c0884e8 fay-0.24.2.0/src/Fay/Compiler/Exp.hs-formatted cfc0f0f46b43 fay-0.24.2.0/src/Fay/Compiler/FFI.hs-formatted 69fd6dd80a66 fay-0.24.2.0/src/Fay/Compiler/GADT.hs-formatted bcb9d437929e fay-0.24.2.0/src/Fay/Compiler/Import.hs-formatted 766c34ce53b0 fay-0.24.2.0/src/Fay/Compiler/InitialPass.hs-formatted c3937a070cdf fay-0.24.2.0/src/Fay/Compiler/Misc.hs-formatted bce0992d570d fay-0.24.2.0/src/Fay/Compiler/ModuleT.hs-formatted 2fdd19da261b fay-0.24.2.0/src/Fay/Compiler/Optimizer.hs-formatted ac32749d90ec fay-0.24.2.0/src/Fay/Compiler/Packages.hs-formatted 1798f425b036 fay-0.24.2.0/src/Fay/Compiler/Parse.hs-formatted 46f343ccba7b fay-0.24.2.0/src/Fay/Compiler/Pattern.hs-formatted 7cca783f3fcd fay-0.24.2.0/src/Fay/Compiler/Prelude.hs-formatted 0fe3943a05fb fay-0.24.2.0/src/Fay/Compiler/PrimOp.hs-formatted a55524f4b7fa fay-0.24.2.0/src/Fay/Compiler/Print.hs-formatted da23ccb55970 fay-0.24.2.0/src/Fay/Compiler/QName.hs-formatted 9fe2fbd3e360 fay-0.24.2.0/src/Fay/Compiler/State.hs-formatted fb1831a445cc fay-0.24.2.0/src/Fay/Compiler/Typecheck.hs-formatted 631cbd5cb454 fay-0.24.2.0/src/Fay/Config.hs-formatted 15cd1e849d0e fay-0.24.2.0/src/Fay/Convert.hs-formatted 80d46083d774 fay-0.24.2.0/src/Fay/Exts.hs-formatted 7ec6f093e0ca fay-0.24.2.0/src/Fay/Exts/NoAnnotation.hs-formatted bd1f234d96c0 fay-0.24.2.0/src/Fay/Exts/Scoped.hs-formatted f7856f337bee fay-0.24.2.0/src/Fay/FFI.hs-formatted 7dd89da8a466 fay-0.24.2.0/src/Fay/Runtime.hs-formatted 0ac5069cbf76 fay-0.24.2.0/src/Fay/Types.hs-formatted 6654772d79a6 fay-0.24.2.0/src/Fay/Types/CompileError.hs-formatted 4f7fdfee2a8f fay-0.24.2.0/src/Fay/Types/CompileResult.hs-formatted f21a75633d68 fay-0.24.2.0/src/Fay/Types/FFI.hs-formatted 16c62b3f8086 fay-0.24.2.0/src/Fay/Types/Js.hs-formatted 1165cbb859cc fay-0.24.2.0/src/Fay/Types/ModulePath.hs-formatted ed80698a7cd1 fay-0.24.2.0/src/Fay/Types/Printer.hs-formatted 6593766b1d2e fay-0.24.2.0/src/haskell-names/Language/Haskell/Names.hs-formatted bfea4a051d5e fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Annotated.hs-formatted effa30f29551 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Exports.hs-formatted 2c705aaf3085 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/GetBound.hs-formatted 74e293075d13 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs-formatted 13662130820d fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs-boot-formatted 3346bfa56c31 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Imports.hs-formatted bda66c725ce4 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/LocalSymbolTable.hs-formatted c6c4acea37c3 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/ModuleSymbols.hs-formatted 76ce45f69410 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Open/Base.hs-formatted b12db8ba5ce9 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Open/Derived.hs-formatted 325536c28de7 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Open/Instances.hs-formatted deb2b656a1ad fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/RecordWildcards.hs-formatted 80dec7fda3fb fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Recursive.hs-formatted 006f3c334ab0 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/ScopeUtils.hs-formatted 3dd4a51f2cc5 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/SyntaxUtils.hs-formatted 2b1329bafe82 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Types.hs-formatted a185a50b6e6a fay-0.24.2.0/src/main/Main.hs-formatted b9c869a29067 fay-0.24.2.0/src/tests/Test/CommandLine.hs-formatted 68c640b352e9 fay-0.24.2.0/src/tests/Test/Compile.hs-formatted 6fdbf9951c76 fay-0.24.2.0/src/tests/Test/Convert.hs-formatted 89d594b07db0 fay-0.24.2.0/src/tests/Test/Desugar.hs-formatted a3937c4d8bef fay-0.24.2.0/src/tests/Test/Util.hs-formatted 63cce78f9492 fay-0.24.2.0/src/tests/Tests.hs-formatted 8114602da4c3 fay-0.24.2.0/tests/AllBaseModules.hs-formatted e78d25c5a73d fay-0.24.2.0/tests/AutomaticList.hs-formatted 779c72fbdb74 fay-0.24.2.0/tests/Bool.hs-formatted 85b587f06e29 fay-0.24.2.0/tests/CPP.hs-formatted 61e542a01350 fay-0.24.2.0/tests/Char.hs-formatted 7badee2f20a7 fay-0.24.2.0/tests/Compile/CPPMultiLineStrings.hs-formatted a5ace073f2a3 fay-0.24.2.0/tests/Compile/CPPTypecheck.hs-formatted 66d008a435ce fay-0.24.2.0/tests/Compile/EnumChar.hs-formatted 79a705007362 fay-0.24.2.0/tests/Compile/ImportRecords.hs-formatted ad7ecf9ee4fe fay-0.24.2.0/tests/Compile/Records.hs-formatted 9817e9c801a0 fay-0.24.2.0/tests/Compile/StrictWrapper.hs-formatted 3f10c446d77e fay-0.24.2.0/tests/Compile/pretty.hs-formatted 3f10c446d77e fay-0.24.2.0/tests/Compile/prettyOperators.hs-formatted 3f10c446d77e fay-0.24.2.0/tests/Compile/prettyThunks.hs-formatted 7e5ba819c89a fay-0.24.2.0/tests/Defined.hs-formatted 933b5c75c95d fay-0.24.2.0/tests/DesugarFFI.hs-formatted 247bf5cdbba0 fay-0.24.2.0/tests/DoLet2.hs-formatted 8e59e23cdef2 fay-0.24.2.0/tests/DoLet3.hs-formatted 8506e48ae167 fay-0.24.2.0/tests/Double.hs-formatted 555ed6125da8 fay-0.24.2.0/tests/Double2.hs-formatted 940c2db0f038 fay-0.24.2.0/tests/Double3.hs-formatted ce51517b312e fay-0.24.2.0/tests/Double4.hs-formatted e7d8f2571cb1 fay-0.24.2.0/tests/Either.hs-formatted f00c11dbed60 fay-0.24.2.0/tests/EmptyDataDeclArray.hs-formatted 7c2bc66a86e6 fay-0.24.2.0/tests/Eq.hs-formatted 25d8fd9d5d5a fay-0.24.2.0/tests/ExportEThingAll.hs-formatted bea5851db3b4 fay-0.24.2.0/tests/ExportEThingAll_Export.hs-formatted b86ba0189dff fay-0.24.2.0/tests/ExportEThingWith.hs-formatted 6c639783702a fay-0.24.2.0/tests/ExportList.hs-formatted c70d5951fda8 fay-0.24.2.0/tests/ExportList_A.hs-formatted eb351b1cfd3e fay-0.24.2.0/tests/ExportList_B.hs-formatted 4736c70718a7 fay-0.24.2.0/tests/ExportList_C.hs-formatted 41c7f9eb857a fay-0.24.2.0/tests/ExportList_D.hs-formatted b42dad751766 fay-0.24.2.0/tests/ExportQualified_Export.hs-formatted e08dc6f4e84b fay-0.24.2.0/tests/ExportQualified_Import.hs-formatted e9617631d536 fay-0.24.2.0/tests/ExportType.hs-formatted ba54245a67ef fay-0.24.2.0/tests/Floating.hs-formatted 02165869295d fay-0.24.2.0/tests/FromString.hs-formatted fc43945a5277 fay-0.24.2.0/tests/FromString/Dep.hs-formatted 09e516e107ad fay-0.24.2.0/tests/FromString/DepDep.hs-formatted a8e31b7f9068 fay-0.24.2.0/tests/FromString/FayText.hs-formatted 3da43a919ebc fay-0.24.2.0/tests/GADTs_without_records.hs-formatted 102949714efb fay-0.24.2.0/tests/GuardWhere.hs-formatted 4c6803c7f169 fay-0.24.2.0/tests/HidePreludeImport.hs-formatted a1408d450caf fay-0.24.2.0/tests/HidePreludeImport_Import.hs-formatted fa5b4cc76a44 fay-0.24.2.0/tests/Hierarchical/Export.hs-formatted 102307416bcd fay-0.24.2.0/tests/Hierarchical/RecordDefined.hs-formatted 920c9acca3b5 fay-0.24.2.0/tests/HierarchicalImport.hs-formatted def230ba708f fay-0.24.2.0/tests/ImplicitPrelude.hs-formatted c71809dd7876 fay-0.24.2.0/tests/ImportHiding.hs-formatted 75f8ddda7df8 fay-0.24.2.0/tests/ImportIThingAll.hs-formatted b4c50a46461c fay-0.24.2.0/tests/ImportList.hs-formatted 87c5a69d1b76 fay-0.24.2.0/tests/ImportList1/A.hs-formatted a25b5782f91c fay-0.24.2.0/tests/ImportList1/B.hs-formatted a9003116e1c9 fay-0.24.2.0/tests/ImportList1/C.hs-formatted b5cb6de55974 fay-0.24.2.0/tests/ImportListType.hs-formatted 69bb47d76aef fay-0.24.2.0/tests/ImportType.hs-formatted 440bc41f78be fay-0.24.2.0/tests/ImportType2.hs-formatted 5ff8e931a567 fay-0.24.2.0/tests/ImportType2I/A.hs-formatted e15dbb9a2720 fay-0.24.2.0/tests/ImportType2I/B.hs-formatted 9d4bcec16bd7 fay-0.24.2.0/tests/Integer.hs-formatted ed2b3650244f fay-0.24.2.0/tests/Integral.hs-formatted dadef2b7cb03 fay-0.24.2.0/tests/Issue215/B.hs-formatted eeedb44973d0 fay-0.24.2.0/tests/Issue215A.hs-formatted b0a19078b259 fay-0.24.2.0/tests/Js2FayFunc.hs-formatted 8592007d3db3 fay-0.24.2.0/tests/JsFunctionPassing.hs-formatted 009642e56a6b fay-0.24.2.0/tests/LambdaCase.hs-formatted 47266926fa39 fay-0.24.2.0/tests/LazyOperators.hs-formatted ee291ee7e00e fay-0.24.2.0/tests/List.hs-formatted c8021ca9ec3f fay-0.24.2.0/tests/List2.hs-formatted a93b0ff4bcc5 fay-0.24.2.0/tests/ListEq.hs-formatted c3daafcf2461 fay-0.24.2.0/tests/MainThunk.hs-formatted 350d9831d6f8 fay-0.24.2.0/tests/ModuleReExport/ExportsIdentifier.hs-formatted 25cef8780cae fay-0.24.2.0/tests/ModuleReExport/ExportsModule.hs-formatted 9dfef0f7c129 fay-0.24.2.0/tests/ModuleReExports.hs-formatted c082d387d888 fay-0.24.2.0/tests/ModuleRecordClash.hs-formatted 997782df97ba fay-0.24.2.0/tests/ModuleRecordClash/R.hs-formatted 53ea9782c8a3 fay-0.24.2.0/tests/ModuleRecordClash2.hs-formatted 3f2cf09e81b7 fay-0.24.2.0/tests/ModuleRecordClash2_Hello.hs-formatted 1a83fbebaaf8 fay-0.24.2.0/tests/Monad.hs-formatted b3f89d2ed36e fay-0.24.2.0/tests/Monad2.hs-formatted 0c9780229637 fay-0.24.2.0/tests/MultiWayIf.hs-formatted 0e3845c048a2 fay-0.24.2.0/tests/NestedImporting.hs-formatted 4b3a670722e0 fay-0.24.2.0/tests/NestedImporting/A.hs-formatted 2a092a0c1f4c fay-0.24.2.0/tests/NestedImporting2.hs-formatted 19cbbffb80bc fay-0.24.2.0/tests/NestedImporting2/A.hs-formatted 17f211243d54 fay-0.24.2.0/tests/NewtypeImport_Export.hs-formatted 34ed28dbd073 fay-0.24.2.0/tests/NewtypeImport_Import.hs-formatted ad07b3a0d755 fay-0.24.2.0/tests/Nullable.hs-formatted f01c35cc494d fay-0.24.2.0/tests/Num.hs-formatted 75ea0e91fb04 fay-0.24.2.0/tests/Ord.hs-formatted 66e4369c7bda fay-0.24.2.0/tests/PrefixOpPat.hs-formatted 129023442df5 fay-0.24.2.0/tests/QualifiedImport.hs-formatted 3298b9301836 fay-0.24.2.0/tests/QualifiedImport/X.hs-formatted 391559feaa6f fay-0.24.2.0/tests/QualifiedImport/Y.hs-formatted 5a73215af899 fay-0.24.2.0/tests/Ratio.hs-formatted 577c81fcbe39 fay-0.24.2.0/tests/ReExport1.hs-formatted 97f273a7040d fay-0.24.2.0/tests/ReExport2.hs-formatted 9fb50fe15789 fay-0.24.2.0/tests/ReExport3.hs-formatted 8b077416b2a2 fay-0.24.2.0/tests/ReExportGlobally.hs-formatted 4b9cbdde2416 fay-0.24.2.0/tests/ReExportGlobally/A.hs-formatted b21d1616e152 fay-0.24.2.0/tests/ReExportGloballyExplicit.hs-formatted 9315bbd88930 fay-0.24.2.0/tests/RealFrac.hs-formatted 1a6a33c6ac9d fay-0.24.2.0/tests/RecCon.hs-formatted 986c34c1b565 fay-0.24.2.0/tests/RecDecl.hs-formatted bb55ab6798d0 fay-0.24.2.0/tests/RecordImport2_Export1.hs-formatted 938433aeb8c8 fay-0.24.2.0/tests/RecordImport2_Export2.hs-formatted c044e70c8101 fay-0.24.2.0/tests/RecordImport2_Import.hs-formatted 9ed1c0f11b4a fay-0.24.2.0/tests/RecordImport_Export.hs-formatted 7436f43b45cc fay-0.24.2.0/tests/RecordImport_Import.hs-formatted 227a87a9ae8b fay-0.24.2.0/tests/Sink.hs-formatted 0d52d0cd7e4b fay-0.24.2.0/tests/SkipLetTypes.hs-formatted 79a7eb241171 fay-0.24.2.0/tests/SkipWhereTypes.hs-formatted b2f90faa6d96 fay-0.24.2.0/tests/StringForcing.hs-formatted 78f704c770c1 fay-0.24.2.0/tests/Strings.hs-formatted b23a6f00c551 fay-0.24.2.0/tests/T190.hs-formatted 692f0dae5fb8 fay-0.24.2.0/tests/T190_A.hs-formatted 8e73afc88ae8 fay-0.24.2.0/tests/T190_B.hs-formatted e68acdaf2dfe fay-0.24.2.0/tests/T190_C.hs-formatted 7bd1c4fd8478 fay-0.24.2.0/tests/TextOrd.hs-formatted f47544b81667 fay-0.24.2.0/tests/Trace.hs-formatted c578ce2acbf6 fay-0.24.2.0/tests/TupleCalls.hs-formatted d35a3f3c7245 fay-0.24.2.0/tests/TyVarSerialization.hs-formatted 7d85fb13bd93 fay-0.24.2.0/tests/Var.hs-formatted 7a2ffc1587f5 fay-0.24.2.0/tests/VarPtr.hs-formatted 5bcb67338113 fay-0.24.2.0/tests/WhenUnlessRecursion.hs-formatted c767b8778a1d fay-0.24.2.0/tests/asPatternMatch.hs-formatted aa05f8bd2bf0 fay-0.24.2.0/tests/automatic.hs-formatted 83d1d385ae83 fay-0.24.2.0/tests/baseFixities.hs-formatted ce58f47bac04 fay-0.24.2.0/tests/basicFunctions.hs-formatted 33b5a5453ff8 fay-0.24.2.0/tests/case.hs-formatted a51f036ac082 fay-0.24.2.0/tests/case2.hs-formatted 4a4542652251 fay-0.24.2.0/tests/case3.hs-formatted e563419849e3 fay-0.24.2.0/tests/caseList.hs-formatted 6f41ab7df8c9 fay-0.24.2.0/tests/caseWildcard.hs-formatted 9437474fc565 fay-0.24.2.0/tests/circular.hs-formatted 3ac360393116 fay-0.24.2.0/tests/curry.hs-formatted 9bbe8cd8c749 fay-0.24.2.0/tests/cycle.hs-formatted d07827315b77 fay-0.24.2.0/tests/do.hs-formatted 262e4e61e6b8 fay-0.24.2.0/tests/doAssingPatternMatch.hs-formatted ad5b707f664a fay-0.24.2.0/tests/doBindAssign.hs-formatted e41cbdd7656a fay-0.24.2.0/tests/doLet.hs-formatted 9f8a8d10c1d3 fay-0.24.2.0/tests/emptyMain.hs-formatted 380eff7dedb9 fay-0.24.2.0/tests/enumFrom.hs-formatted 05834fe58432 fay-0.24.2.0/tests/error.hs-formatted f563902672cb fay-0.24.2.0/tests/ffiExpr.hs-formatted 73697f0c099c fay-0.24.2.0/tests/ffimunging.hs-formatted dc67c504a097 fay-0.24.2.0/tests/fix.hs-formatted 9267690ec8d2 fay-0.24.2.0/tests/fromInteger.hs-formatted 73a7dce83bdd fay-0.24.2.0/tests/fromIntegral.hs-formatted 860a7aed8af3 fay-0.24.2.0/tests/guards.hs-formatted 8ff7b7e5d80d fay-0.24.2.0/tests/infixDataConst.hs-formatted 99c963974ca0 fay-0.24.2.0/tests/ints.hs-formatted 9ec2af24577b fay-0.24.2.0/tests/linesAndWords.hs-formatted 36a10a974013 fay-0.24.2.0/tests/listComprehensions.hs-formatted 392b79e97d1d fay-0.24.2.0/tests/listlen.hs-formatted 9d98dc262b39 fay-0.24.2.0/tests/mutableReference.hs-formatted f983711e6f6b fay-0.24.2.0/tests/nameGen.hs-formatted 00499901b441 fay-0.24.2.0/tests/namedFieldPuns.hs-formatted 68fcd666b331 fay-0.24.2.0/tests/negation.hs-formatted 4c9cf35b4aee fay-0.24.2.0/tests/newtype.hs-formatted 36cf37d7cd68 fay-0.24.2.0/tests/newtypeIndirectApp.hs-formatted a587812e6602 fay-0.24.2.0/tests/numTheory.hs-formatted 40bd883716b3 fay-0.24.2.0/tests/nums.hs-formatted c27df9670630 fay-0.24.2.0/tests/pats.hs-formatted b317cbb85f97 fay-0.24.2.0/tests/patternGuards.hs-formatted 353e37b5a857 fay-0.24.2.0/tests/patternMatchFail.hs-formatted 0e69935e45c9 fay-0.24.2.0/tests/patternMatchLet.hs-formatted f963663ae2cf fay-0.24.2.0/tests/patternMatchingTuples.hs-formatted 41871bce5735 fay-0.24.2.0/tests/recordFunctionPatternMatch.hs-formatted 6010444abc75 fay-0.24.2.0/tests/recordPatternMatch.hs-formatted 0dda5fc8df9d fay-0.24.2.0/tests/recordPatternMatch2.hs-formatted 63b9091a92a2 fay-0.24.2.0/tests/recordUseBeforeDefine.hs-formatted 6000e445e696 fay-0.24.2.0/tests/recordWildCards.hs-formatted 63a19682d7d9 fay-0.24.2.0/tests/records.hs-formatted a371f7d8d704 fay-0.24.2.0/tests/recursive.hs-formatted 9797f8836f3b fay-0.24.2.0/tests/reservedWords.hs-formatted 3bdaf5d65328 fay-0.24.2.0/tests/sections.hs-formatted 19e9c7c69db9 fay-0.24.2.0/tests/seq-fake.hs-formatted 2ac1dc3c2516 fay-0.24.2.0/tests/seq.hs-formatted add7affcb8d6 fay-0.24.2.0/tests/serialization.hs-formatted e76961e79030 fay-0.24.2.0/tests/succPred.hs-formatted 461d16ef4da1 fay-0.24.2.0/tests/tailRecursion.hs-formatted b29bc268b713 fay-0.24.2.0/tests/then.hs-formatted 7b2a525c6d17 fay-0.24.2.0/tests/tupleCon.hs-formatted 71a59816933e fay-0.24.2.0/tests/tupleSec.hs-formatted c864de89b243 fay-0.24.2.0/tests/unit.hs-formatted cfb7dd15a745 fay-0.24.2.0/tests/utf8.hs-formatted 68905bc32429 fay-0.24.2.0/tests/where.hs-formatted 6ea0b301c8c4 fay-0.24.2.0/tests/whereBind.hs-formatted 62b7dd25b5c9 fay-0.24.2.0/tests/whereBind2.hs-formatted dd52de0acf94 fay-0.24.2.0/tests/whereBind3.hs-formatted b3d258de0403 free-5.2/examples/PerfTH.hs-formatted 24418bc38fac free-5.2/examples/RetryTH.hs-formatted 7641743d0c1f free-5.2/examples/ValidationForm.hs-formatted 9fcd1a6b4714 free-5.2/src/Control/Alternative/Free.hs-formatted 6cdf81c21164 free-5.2/src/Control/Alternative/Free/Final.hs-formatted 8b307bae43e5 free-5.2/src/Control/Applicative/Free.hs-formatted 1593e637f12f free-5.2/src/Control/Applicative/Free/Fast.hs-formatted f23f3f214be8 free-5.2/src/Control/Applicative/Free/Final.hs-formatted 51e39ca09f78 free-5.2/src/Control/Applicative/Trans/Free.hs-formatted dd9069083e98 free-5.2/src/Control/Comonad/Cofree.hs-formatted 9b0f6d5a4082 free-5.2/src/Control/Comonad/Cofree/Class.hs-formatted 866a464a9f8d free-5.2/src/Control/Comonad/Trans/Cofree.hs-formatted 19144d43e9b1 free-5.2/src/Control/Comonad/Trans/Coiter.hs-formatted f6734128b306 free-5.2/src/Control/Monad/Free.hs-formatted 92f9ffbc940f free-5.2/src/Control/Monad/Free/Ap.hs-formatted 93c96d44b956 free-5.2/src/Control/Monad/Free/Church.hs-formatted 39bf4e33f6e2 free-5.2/src/Control/Monad/Free/Class.hs-formatted d6318fb07edb free-5.2/src/Control/Monad/Free/TH.hs-formatted a51821c826a6 free-5.2/src/Control/Monad/Trans/Free.hs-formatted b9554e2bf6b2 free-5.2/src/Control/Monad/Trans/Free/Ap.hs-formatted 91e1c571caac free-5.2/src/Control/Monad/Trans/Free/Church.hs-formatted d881a98c4458 free-5.2/src/Control/Monad/Trans/Iter.hs-formatted e865ae48f11b hakyll-4.17.0.0/Setup.hs-formatted 0a3f98709f72 hakyll-4.17.0.0/data/example/site.hs-formatted 116aaa72d476 hakyll-4.17.0.0/lib/Data/List/Extended.hs-formatted f638cd45236f hakyll-4.17.0.0/lib/Data/Yaml/Extended.hs-formatted 0fcae45b2ba9 hakyll-4.17.0.0/lib/Hakyll.hs-formatted 26eb24c40060 hakyll-4.17.0.0/lib/Hakyll/Check.hs-formatted d16c4d72c9d4 hakyll-4.17.0.0/lib/Hakyll/Commands.hs-formatted dd7499d469a5 hakyll-4.17.0.0/lib/Hakyll/Core/Compiler.hs-formatted e9f89f339007 hakyll-4.17.0.0/lib/Hakyll/Core/Compiler/Internal.hs-formatted c7cfc530bd2a hakyll-4.17.0.0/lib/Hakyll/Core/Compiler/Require.hs-formatted 10bda89cbe6d hakyll-4.17.0.0/lib/Hakyll/Core/Configuration.hs-formatted 9ea9908950b2 hakyll-4.17.0.0/lib/Hakyll/Core/Dependencies.hs-formatted 558f0d294954 hakyll-4.17.0.0/lib/Hakyll/Core/File.hs-formatted c3cd48ba4d35 hakyll-4.17.0.0/lib/Hakyll/Core/Identifier.hs-formatted 02b568af6a14 hakyll-4.17.0.0/lib/Hakyll/Core/Identifier/Pattern.hs-formatted 4da1703227de hakyll-4.17.0.0/lib/Hakyll/Core/Identifier/Pattern/Internal.hs-formatted 25bce39252d0 hakyll-4.17.0.0/lib/Hakyll/Core/Item.hs-formatted ea66b0f47f92 hakyll-4.17.0.0/lib/Hakyll/Core/Item/SomeItem.hs-formatted 8d06795590b2 hakyll-4.17.0.0/lib/Hakyll/Core/Logger.hs-formatted 06876ce9052c hakyll-4.17.0.0/lib/Hakyll/Core/Metadata.hs-formatted 6e39852547dc hakyll-4.17.0.0/lib/Hakyll/Core/Provider.hs-formatted 1de546a3cffb hakyll-4.17.0.0/lib/Hakyll/Core/Provider/Internal.hs-formatted 4380c86a9504 hakyll-4.17.0.0/lib/Hakyll/Core/Provider/Metadata.hs-formatted 0cfbeb9b73ba hakyll-4.17.0.0/lib/Hakyll/Core/Provider/MetadataCache.hs-formatted b66bbdf4a200 hakyll-4.17.0.0/lib/Hakyll/Core/Routes.hs-formatted 1be73b780ecd hakyll-4.17.0.0/lib/Hakyll/Core/Rules.hs-formatted a3472736a528 hakyll-4.17.0.0/lib/Hakyll/Core/Rules/Internal.hs-formatted f97472fe3373 hakyll-4.17.0.0/lib/Hakyll/Core/Runtime.hs-formatted df1c2bd7e8fb hakyll-4.17.0.0/lib/Hakyll/Core/Store.hs-formatted 69e4cf2a975a hakyll-4.17.0.0/lib/Hakyll/Core/UnixFilter.hs-formatted acbb971a63bc hakyll-4.17.0.0/lib/Hakyll/Core/Util/File.hs-formatted 5cef0dfbc5f6 hakyll-4.17.0.0/lib/Hakyll/Core/Util/Parser.hs-formatted 3f21bbf445b2 hakyll-4.17.0.0/lib/Hakyll/Core/Util/String.hs-formatted a3abc0522132 hakyll-4.17.0.0/lib/Hakyll/Core/Writable.hs-formatted 3c8ce7fbc317 hakyll-4.17.0.0/lib/Hakyll/Main.hs-formatted 6ed09594e890 hakyll-4.17.0.0/lib/Hakyll/Preview/Poll.hs-formatted d363dc04f1a7 hakyll-4.17.0.0/lib/Hakyll/Preview/Server.hs-formatted 90f95798e3c7 hakyll-4.17.0.0/lib/Hakyll/Web/CompressCss.hs-formatted 2fc0d8fdc6f4 hakyll-4.17.0.0/lib/Hakyll/Web/Feed.hs-formatted e50bf6641fdd hakyll-4.17.0.0/lib/Hakyll/Web/Html.hs-formatted 2c80bbb22db0 hakyll-4.17.0.0/lib/Hakyll/Web/Html/RelativizeUrls.hs-formatted 0923e680c5d2 hakyll-4.17.0.0/lib/Hakyll/Web/Meta/JSONLD.hs-formatted a3dbe80d0b45 hakyll-4.17.0.0/lib/Hakyll/Web/Meta/OpenGraph.hs-formatted a3b6503b2c4a hakyll-4.17.0.0/lib/Hakyll/Web/Meta/TwitterCard.hs-formatted 47b99b2ffc3a hakyll-4.17.0.0/lib/Hakyll/Web/Paginate.hs-formatted 54df60c90d30 hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc.hs-formatted c168dc9fdb41 hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc/Biblio.hs-formatted 63c711e3ed6f hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc/Binary.hs-formatted 413e30365505 hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc/FileType.hs-formatted d77258d3d120 hakyll-4.17.0.0/lib/Hakyll/Web/Redirect.hs-formatted 89e848715da3 hakyll-4.17.0.0/lib/Hakyll/Web/Tags.hs-formatted 0e9947c1a4f2 hakyll-4.17.0.0/lib/Hakyll/Web/Template.hs-formatted 61c4714e9090 hakyll-4.17.0.0/lib/Hakyll/Web/Template/Context.hs-formatted 46295fe0766a hakyll-4.17.0.0/lib/Hakyll/Web/Template/Internal.hs-formatted 1ba12838107a hakyll-4.17.0.0/lib/Hakyll/Web/Template/Internal/Element.hs-formatted 7741b1b5c63c hakyll-4.17.0.0/lib/Hakyll/Web/Template/Internal/Trim.hs-formatted 270fe0160883 hakyll-4.17.0.0/lib/Hakyll/Web/Template/List.hs-formatted 73b58eb8d063 hakyll-4.17.0.0/src/Init.hs-formatted a98f565dc3bd hakyll-4.17.0.0/tests/Hakyll/Core/Dependencies/Tests.hs-formatted 178a4cbe186e hakyll-4.17.0.0/tests/Hakyll/Core/Identifier/Tests.hs-formatted f8af7a73d467 hakyll-4.17.0.0/tests/Hakyll/Core/Provider/Metadata/Tests.hs-formatted 7741f8e19a21 hakyll-4.17.0.0/tests/Hakyll/Core/Provider/Tests.hs-formatted 0a6fac8a3fe5 hakyll-4.17.0.0/tests/Hakyll/Core/Routes/Tests.hs-formatted db910a6e5dc7 hakyll-4.17.0.0/tests/Hakyll/Core/Rules/Tests.hs-formatted 82ed53ac9567 hakyll-4.17.0.0/tests/Hakyll/Core/Runtime/Tests.hs-formatted 3a05a7e0bc33 hakyll-4.17.0.0/tests/Hakyll/Core/Store/Tests.hs-formatted 7d940c89cef0 hakyll-4.17.0.0/tests/Hakyll/Core/UnixFilter/Tests.hs-formatted e736c3a104ec hakyll-4.17.0.0/tests/Hakyll/Core/Util/String/Tests.hs-formatted 0bb0c4e70b5a hakyll-4.17.0.0/tests/Hakyll/Web/CompressCss/Tests.hs-formatted a15554f5d248 hakyll-4.17.0.0/tests/Hakyll/Web/Feed/Tests.hs-formatted e35e1039078b hakyll-4.17.0.0/tests/Hakyll/Web/Html/RelativizeUrls/Tests.hs-formatted 4744c78df9c5 hakyll-4.17.0.0/tests/Hakyll/Web/Html/Tests.hs-formatted c4bc526fff1a hakyll-4.17.0.0/tests/Hakyll/Web/Pandoc/Biblio/Tests.hs-formatted 6ca61c42770e hakyll-4.17.0.0/tests/Hakyll/Web/Pandoc/FileType/Tests.hs-formatted 84bc8e02e810 hakyll-4.17.0.0/tests/Hakyll/Web/Tags/Tests.hs-formatted 22cdf7a972b8 hakyll-4.17.0.0/tests/Hakyll/Web/Template/Context/Tests.hs-formatted 713b01148048 hakyll-4.17.0.0/tests/Hakyll/Web/Template/Tests.hs-formatted 7638b562c2be hakyll-4.17.0.0/tests/TestSuite.hs-formatted d0e8ca390798 hakyll-4.17.0.0/tests/TestSuite/Util.hs-formatted 66153c16e099 hakyll-4.17.0.0/web/site.hs-formatted 9226007b6541 hashable-1.5.1.0/Setup.hs-formatted ca97ac3a2690 hashable-1.5.1.0/examples/Main.hs-formatted eeae7da4f236 hashable-1.5.1.0/src/Data/Hashable.hs-declined - hashable-1.5.1.0/src/Data/Hashable/Class.hs-formatted 63527ee9cd6b hashable-1.5.1.0/src/Data/Hashable/FFI.hs-formatted d2be5b809f2a hashable-1.5.1.0/src/Data/Hashable/Generic.hs-formatted d0ab998f02db hashable-1.5.1.0/src/Data/Hashable/Generic/Instances.hs-formatted c9c87bb00bc0 hashable-1.5.1.0/src/Data/Hashable/Imports.hs-formatted e6b4c010a36d hashable-1.5.1.0/src/Data/Hashable/Lifted.hs-formatted 710bda251742 hashable-1.5.1.0/src/Data/Hashable/LowLevel.hs-formatted 228c88ef0843 hashable-1.5.1.0/src/Data/Hashable/Mix.hs-formatted bd7108c77ca4 hashable-1.5.1.0/src/Data/Hashable/XXH3.hs-formatted f74f5b618f9a hashable-1.5.1.0/tests/Main.hs-formatted 4b0bb45c43ac hashable-1.5.1.0/tests/Properties.hs-broken 42af08530ac7 hashable-1.5.1.0/tests/Regress.hs-formatted 468c72120829 hashable-1.5.1.0/tests/xxhash-tests.hs-formatted 867a035875ee haxl-2.5.1.1/Haxl/Core.hs-formatted d1219c0fe211 haxl-2.5.1.1/Haxl/Core/CallGraph.hs-formatted 0ae77138c17c haxl-2.5.1.1/Haxl/Core/DataCache.hs-formatted 87d5268c5c21 haxl-2.5.1.1/Haxl/Core/DataSource.hs-formatted 5b1c04eff76f haxl-2.5.1.1/Haxl/Core/Exception.hs-formatted d831d20c5b60 haxl-2.5.1.1/Haxl/Core/Fetch.hs-formatted b4afaa8d717d haxl-2.5.1.1/Haxl/Core/Flags.hs-formatted 05bc0ffa5edc haxl-2.5.1.1/Haxl/Core/Memo.hs-formatted 8dde76ebd719 haxl-2.5.1.1/Haxl/Core/Monad.hs-formatted 59de6a1f9ba8 haxl-2.5.1.1/Haxl/Core/Parallel.hs-formatted 0c9d4b9d05db haxl-2.5.1.1/Haxl/Core/Profile.hs-formatted 72749066756e haxl-2.5.1.1/Haxl/Core/RequestStore.hs-formatted 5a7f12165a3c haxl-2.5.1.1/Haxl/Core/Run.hs-formatted a8e73c380c33 haxl-2.5.1.1/Haxl/Core/ShowP.hs-formatted f2cb25c4ae73 haxl-2.5.1.1/Haxl/Core/StateStore.hs-formatted fa6eb029c52a haxl-2.5.1.1/Haxl/Core/Stats.hs-formatted bd368a5862fd haxl-2.5.1.1/Haxl/Core/Util.hs-formatted 4d201ce15d28 haxl-2.5.1.1/Haxl/DataSource/ConcurrentIO.hs-formatted cf38b55569d1 haxl-2.5.1.1/Haxl/Prelude.hs-formatted 0bf115c25c25 haxl-2.5.1.1/Setup.hs-formatted 5897e1a72e86 haxl-2.5.1.1/tests/AdoTests.hs-formatted 7392cb2bf8df haxl-2.5.1.1/tests/AllTests.hs-formatted 29963bfcd43e haxl-2.5.1.1/tests/BadDataSource.hs-formatted 9869a85f8734 haxl-2.5.1.1/tests/BatchTests.hs-formatted a75656cc58b4 haxl-2.5.1.1/tests/Bench.hs-formatted 6b4d75212e14 haxl-2.5.1.1/tests/CoreTests.hs-formatted 46378c08a2d4 haxl-2.5.1.1/tests/DataCacheTest.hs-formatted 8120f9ee1106 haxl-2.5.1.1/tests/DataSourceDispatchTests.hs-formatted 33020c9fb8aa haxl-2.5.1.1/tests/ExampleDataSource.hs-formatted fd091691f6be haxl-2.5.1.1/tests/ExceptionStackTests.hs-formatted 329e1c7e0fd4 haxl-2.5.1.1/tests/FullyAsyncTest.hs-formatted 5b348a1f5fab haxl-2.5.1.1/tests/LoadCache.hs-formatted 4c9a496637db haxl-2.5.1.1/tests/MemoizationTests.hs-formatted cd2dd7052af8 haxl-2.5.1.1/tests/MockTAO.hs-formatted 679224c9d5e5 haxl-2.5.1.1/tests/MonadAsyncTest.hs-formatted 08f288ec8741 haxl-2.5.1.1/tests/MonadBench.hs-formatted 44fb28b20457 haxl-2.5.1.1/tests/OutgoneFetchesTests.hs-formatted f760bff6e190 haxl-2.5.1.1/tests/ParallelTests.hs-formatted 643586a70ba2 haxl-2.5.1.1/tests/ProfileTests.hs-formatted 478999c2d1bd haxl-2.5.1.1/tests/SleepDataSource.hs-formatted 23f293b1253d haxl-2.5.1.1/tests/StatsTests.hs-formatted 0deec7d41cb2 haxl-2.5.1.1/tests/TestBadDataSource.hs-formatted 6270eac19e14 haxl-2.5.1.1/tests/TestExampleDataSource.hs-formatted 33f33c2b6767 haxl-2.5.1.1/tests/TestMain.hs-formatted c0a01d1bb863 haxl-2.5.1.1/tests/TestTypes.hs-formatted 0cdf14515138 haxl-2.5.1.1/tests/TestUtils.hs-formatted 19781f6f8677 haxl-2.5.1.1/tests/WorkDataSource.hs-formatted b8be7bcaa06e haxl-2.5.1.1/tests/WriteTests.hs-formatted 39ae68a1e26c hedgehog-1.7/src/Hedgehog.hs-formatted 1c094fda6263 hedgehog-1.7/src/Hedgehog/Gen.hs-formatted c03c7c6e1080 hedgehog-1.7/src/Hedgehog/Internal/Barbie.hs-formatted d9db2ccb4bc7 hedgehog-1.7/src/Hedgehog/Internal/Config.hs-formatted 7855a4bfe6fc hedgehog-1.7/src/Hedgehog/Internal/Discovery.hs-formatted 968088a89cf8 hedgehog-1.7/src/Hedgehog/Internal/Distributive.hs-formatted db3d79ebed8e hedgehog-1.7/src/Hedgehog/Internal/Exception.hs-formatted 9815c1a50552 hedgehog-1.7/src/Hedgehog/Internal/Gen.hs-formatted 82bd44e46c74 hedgehog-1.7/src/Hedgehog/Internal/HTraversable.hs-formatted 0b6e930c617c hedgehog-1.7/src/Hedgehog/Internal/Opaque.hs-formatted 0c41d0d4f087 hedgehog-1.7/src/Hedgehog/Internal/Prelude.hs-formatted b86df2643b9e hedgehog-1.7/src/Hedgehog/Internal/Property.hs-formatted 144a39866885 hedgehog-1.7/src/Hedgehog/Internal/Queue.hs-formatted 9d14d12ad0b0 hedgehog-1.7/src/Hedgehog/Internal/Range.hs-formatted e83fa4c27743 hedgehog-1.7/src/Hedgehog/Internal/Region.hs-formatted b3790e6d22f8 hedgehog-1.7/src/Hedgehog/Internal/Report.hs-formatted f9b00a2731b7 hedgehog-1.7/src/Hedgehog/Internal/Runner.hs-formatted 5c17cc008e95 hedgehog-1.7/src/Hedgehog/Internal/Seed.hs-formatted 8b91f20c13a8 hedgehog-1.7/src/Hedgehog/Internal/Show.hs-formatted c446e4f9c366 hedgehog-1.7/src/Hedgehog/Internal/Shrink.hs-formatted c9e8e47ba6c5 hedgehog-1.7/src/Hedgehog/Internal/Source.hs-formatted 274f471767dd hedgehog-1.7/src/Hedgehog/Internal/State.hs-formatted 6c94f06be1cf hedgehog-1.7/src/Hedgehog/Internal/TH.hs-formatted 8a627c0fefb1 hedgehog-1.7/src/Hedgehog/Internal/Tree.hs-formatted 42e8fad71904 hedgehog-1.7/src/Hedgehog/Internal/Tripping.hs-formatted 33c9141eeffd hedgehog-1.7/src/Hedgehog/Main.hs-formatted d71772dad16c hedgehog-1.7/src/Hedgehog/Range.hs-formatted e23ab85e9c05 hedgehog-1.7/test/Test/Hedgehog/Applicative.hs-formatted 37e6a1383406 hedgehog-1.7/test/Test/Hedgehog/Confidence.hs-formatted 937e5890d2b0 hedgehog-1.7/test/Test/Hedgehog/Filter.hs-formatted 6e253dd6a871 hedgehog-1.7/test/Test/Hedgehog/Maybe.hs-formatted b90e9af1e67d hedgehog-1.7/test/Test/Hedgehog/Seed.hs-formatted 4edd92333a33 hedgehog-1.7/test/Test/Hedgehog/Skip.hs-formatted d20ec251ab72 hedgehog-1.7/test/Test/Hedgehog/Text.hs-formatted 2d3b2e9d7168 hedgehog-1.7/test/Test/Hedgehog/Zip.hs-formatted df799f9ffb57 hedgehog-1.7/test/test.hs-formatted c7d7c0d944a8 hledger-1.52.1/Hledger/Cli.hs-formatted 367c43f7a331 hledger-1.52.1/Hledger/Cli/Anchor.hs-formatted 8da9d899b517 hledger-1.52.1/Hledger/Cli/Anon.hs-formatted 4ff2914ca588 hledger-1.52.1/Hledger/Cli/CliOptions.hs-formatted 9a8576f9b568 hledger-1.52.1/Hledger/Cli/Commands.hs-formatted 2b1dfb85dfe1 hledger-1.52.1/Hledger/Cli/Commands/Accounts.hs-formatted 17bf0339577c hledger-1.52.1/Hledger/Cli/Commands/Activity.hs-formatted c68caf7ae7ab hledger-1.52.1/Hledger/Cli/Commands/Add.hs-formatted 8bc565ccfdc9 hledger-1.52.1/Hledger/Cli/Commands/Aregister.hs-formatted 23d3572ab1c4 hledger-1.52.1/Hledger/Cli/Commands/Balance.hs-formatted df62b41123dc hledger-1.52.1/Hledger/Cli/Commands/Balancesheet.hs-formatted 2a8714e55f40 hledger-1.52.1/Hledger/Cli/Commands/Balancesheetequity.hs-formatted a74be8a824e5 hledger-1.52.1/Hledger/Cli/Commands/Cashflow.hs-formatted 3d46f3fa2141 hledger-1.52.1/Hledger/Cli/Commands/Check.hs-formatted d72408ffa321 hledger-1.52.1/Hledger/Cli/Commands/Close.hs-formatted e9c489e0f01e hledger-1.52.1/Hledger/Cli/Commands/Codes.hs-formatted 075784a0845d hledger-1.52.1/Hledger/Cli/Commands/Commodities.hs-formatted 4441dcd70f80 hledger-1.52.1/Hledger/Cli/Commands/Demo.hs-formatted 82dfab8a9677 hledger-1.52.1/Hledger/Cli/Commands/Descriptions.hs-formatted 3999deea0979 hledger-1.52.1/Hledger/Cli/Commands/Diff.hs-formatted b51410797a83 hledger-1.52.1/Hledger/Cli/Commands/Files.hs-formatted 15d50a6cb01a hledger-1.52.1/Hledger/Cli/Commands/Help.hs-formatted 6f60ce8d90d0 hledger-1.52.1/Hledger/Cli/Commands/Import.hs-formatted 3fc4bde8aaae hledger-1.52.1/Hledger/Cli/Commands/Incomestatement.hs-formatted e795242e76e2 hledger-1.52.1/Hledger/Cli/Commands/Notes.hs-formatted 7868c26f6945 hledger-1.52.1/Hledger/Cli/Commands/Payees.hs-formatted 74c42e16a7cb hledger-1.52.1/Hledger/Cli/Commands/Prices.hs-formatted c1d1665ea336 hledger-1.52.1/Hledger/Cli/Commands/Print.hs-formatted b3664f32c410 hledger-1.52.1/Hledger/Cli/Commands/Register.hs-formatted fe57269eee06 hledger-1.52.1/Hledger/Cli/Commands/Rewrite.hs-formatted 47c5a107dffd hledger-1.52.1/Hledger/Cli/Commands/Roi.hs-formatted 446ba4a560aa hledger-1.52.1/Hledger/Cli/Commands/Run.hs-formatted 518388ac79ba hledger-1.52.1/Hledger/Cli/Commands/Setup.hs-formatted 72882e775cf1 hledger-1.52.1/Hledger/Cli/Commands/Stats.hs-formatted c0d493d6d059 hledger-1.52.1/Hledger/Cli/Commands/Tags.hs-formatted 8ca30544dcfc hledger-1.52.1/Hledger/Cli/CompoundBalanceCommand.hs-formatted b20a3db0f839 hledger-1.52.1/Hledger/Cli/Conf.hs-formatted d2d28f0566d1 hledger-1.52.1/Hledger/Cli/DocFiles.hs-formatted 060eef1f372e hledger-1.52.1/Hledger/Cli/Script.hs-formatted 3977570cbdad hledger-1.52.1/Hledger/Cli/Utils.hs-formatted 54a7475ed07e hledger-1.52.1/Hledger/Cli/Version.hs-formatted e865ae48f11b hledger-1.52.1/Setup.hs-formatted 5f05220c744b hledger-1.52.1/app/hledger-cli.hs-formatted f7397f99b8f6 hledger-1.52.1/bench/bench.hs-formatted 770ce114d693 hledger-1.52.1/test/unittest.hs-formatted e865ae48f11b hlint-3.10/Setup.hs-formatted 0b9c394414b3 hlint-3.10/data/HLint_QuickCheck.hs-declined - hlint-3.10/data/HLint_TypeCheck.hs-formatted 7f62e2698706 hlint-3.10/data/Test.hs-formatted a3cf0d266650 hlint-3.10/src/Apply.hs-formatted 8114bd9792d9 hlint-3.10/src/CC.hs-formatted 0b9726856d3e hlint-3.10/src/CmdLine.hs-formatted 5ecebf30e886 hlint-3.10/src/Config/Compute.hs-formatted 76a1b906c927 hlint-3.10/src/Config/Haskell.hs-formatted 747182f5f5c1 hlint-3.10/src/Config/Read.hs-formatted 36ef2b52eee9 hlint-3.10/src/Config/Type.hs-declined - hlint-3.10/src/Config/Yaml.hs-formatted 871e24292ba2 hlint-3.10/src/EmbedData.hs-formatted a0cce8b000d7 hlint-3.10/src/Extension.hs-formatted 232c5ddbbb9b hlint-3.10/src/Fixity.hs-formatted 1c82631c3859 hlint-3.10/src/GHC/All.hs-formatted 63d81c2c405a hlint-3.10/src/GHC/Util.hs-formatted f8ab552f2009 hlint-3.10/src/GHC/Util/ApiAnnotation.hs-formatted c2680a511d29 hlint-3.10/src/GHC/Util/Brackets.hs-formatted 8cff3984ef92 hlint-3.10/src/GHC/Util/DynFlags.hs-formatted 7c1f93703a5a hlint-3.10/src/GHC/Util/FreeVars.hs-formatted 3d386a403912 hlint-3.10/src/GHC/Util/HsDecl.hs-formatted 86e7bc3b5850 hlint-3.10/src/GHC/Util/HsExpr.hs-formatted e4c7dc5d6be8 hlint-3.10/src/GHC/Util/Scope.hs-formatted d8a06089d209 hlint-3.10/src/GHC/Util/SrcLoc.hs-formatted 57a53e29344b hlint-3.10/src/GHC/Util/Unify.hs-formatted b405492ce03f hlint-3.10/src/GHC/Util/View.hs-formatted 6a92057478ff hlint-3.10/src/HLint.hs-formatted 9c128d41e9da hlint-3.10/src/Hint/All.hs-formatted 92b62ac403c1 hlint-3.10/src/Hint/Bracket.hs-formatted e0953eb3c567 hlint-3.10/src/Hint/Comment.hs-formatted 4a34094f4e91 hlint-3.10/src/Hint/Duplicate.hs-formatted 63510e8bd4a6 hlint-3.10/src/Hint/Export.hs-formatted c3f23d24fb11 hlint-3.10/src/Hint/Extensions.hs-formatted 8499a9dafb7a hlint-3.10/src/Hint/Fixities.hs-formatted 8fffda41f5e4 hlint-3.10/src/Hint/Import.hs-formatted e2ae13afdd01 hlint-3.10/src/Hint/Lambda.hs-formatted 272b8222175a hlint-3.10/src/Hint/List.hs-formatted bd27e035ec08 hlint-3.10/src/Hint/ListRec.hs-formatted 3027b7686bbd hlint-3.10/src/Hint/Match.hs-formatted 7215f269ef89 hlint-3.10/src/Hint/Monad.hs-formatted 4d078aac9ede hlint-3.10/src/Hint/Naming.hs-formatted a1a5d9519cee hlint-3.10/src/Hint/Negation.hs-formatted 9bd70a7dc4ae hlint-3.10/src/Hint/NewType.hs-formatted f6fa0661942d hlint-3.10/src/Hint/NumLiteral.hs-formatted b961726611b0 hlint-3.10/src/Hint/Pattern.hs-formatted 0076ccb5bd1c hlint-3.10/src/Hint/Pragma.hs-formatted d6403b65887f hlint-3.10/src/Hint/Restrict.hs-formatted b85945417175 hlint-3.10/src/Hint/Smell.hs-formatted 3308ee100b88 hlint-3.10/src/Hint/Type.hs-formatted a7c7f90eb40c hlint-3.10/src/Hint/Unsafe.hs-formatted 48cd04ad2e02 hlint-3.10/src/HsColour.hs-formatted dd9801a47942 hlint-3.10/src/Idea.hs-formatted 576b754ba5d4 hlint-3.10/src/Language/Haskell/HLint.hs-formatted 7b8846cb4591 hlint-3.10/src/Main.hs-formatted fcdf50a5835c hlint-3.10/src/Parallel.hs-formatted cddb107b52b7 hlint-3.10/src/Refact.hs-formatted 97865215d682 hlint-3.10/src/Report.hs-formatted 5752f0cb1c82 hlint-3.10/src/SARIF.hs-formatted 3a554bc4caa1 hlint-3.10/src/Summary.hs-formatted 3b64750323e1 hlint-3.10/src/Test/All.hs-formatted 2dbc7a87e003 hlint-3.10/src/Test/Annotations.hs-formatted d9f760fed213 hlint-3.10/src/Test/InputOutput.hs-formatted 265163b13605 hlint-3.10/src/Test/Util.hs-formatted 0f5eb69b44dd hlint-3.10/src/Timing.hs-formatted 40bafe709540 hlint-3.10/src/Util.hs-formatted 14f5f9f6c72a hspec-core-2.11.17/src/GetOpt/Declarative.hs-formatted 13b54fc56d9e hspec-core-2.11.17/src/GetOpt/Declarative/Environment.hs-formatted ac874aa7540a hspec-core-2.11.17/src/GetOpt/Declarative/Interpret.hs-formatted aed8c8d69571 hspec-core-2.11.17/src/GetOpt/Declarative/Types.hs-formatted 7963314c7b2d hspec-core-2.11.17/src/GetOpt/Declarative/Util.hs-formatted c59700aebda7 hspec-core-2.11.17/src/Test/Hspec/Core/Annotations.hs-formatted aaed3a708e2b hspec-core-2.11.17/src/Test/Hspec/Core/Clock.hs-broken 043159a88536 hspec-core-2.11.17/src/Test/Hspec/Core/Compat.hs-formatted f5ded9eab569 hspec-core-2.11.17/src/Test/Hspec/Core/Config.hs-formatted b9ed2689f1a4 hspec-core-2.11.17/src/Test/Hspec/Core/Config/Definition.hs-formatted 2c2affbefb39 hspec-core-2.11.17/src/Test/Hspec/Core/Config/Options.hs-formatted d65135838a37 hspec-core-2.11.17/src/Test/Hspec/Core/Example.hs-formatted e124d4a06c47 hspec-core-2.11.17/src/Test/Hspec/Core/Example/Location.hs-formatted 19c90134f072 hspec-core-2.11.17/src/Test/Hspec/Core/Extension.hs-formatted b5766e2580e3 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Config.hs-formatted b0c9672ff2ee hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Config/Type.hs-formatted dfaf22b9e266 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Item.hs-formatted 61fffea8ad44 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Option.hs-formatted 2c1d2b4038d2 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Spec.hs-formatted 090871045b95 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Tree.hs-formatted 9a4c4c61d167 hspec-core-2.11.17/src/Test/Hspec/Core/FailureReport.hs-formatted a49d2bd24295 hspec-core-2.11.17/src/Test/Hspec/Core/Format.hs-formatted b8b03afd38ee hspec-core-2.11.17/src/Test/Hspec/Core/Formatters.hs-formatted 0f6c87760ec2 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Diff.hs-formatted 3cff8cbca823 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Internal.hs-formatted 7b21864b9eed hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Pretty.hs-formatted 71e26cb11ffa hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Pretty/Parser.hs-formatted 07264fb33ca8 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Pretty/Unicode.hs-formatted 32564aeda195 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1.hs-formatted f7f280a9eab8 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1/Free.hs-formatted be38872426b7 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1/Internal.hs-formatted 94d88619a62f hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1/Monad.hs-formatted b83d7732b214 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V2.hs-formatted f3ed1fa624ba hspec-core-2.11.17/src/Test/Hspec/Core/Hooks.hs-formatted d7e33bec18c0 hspec-core-2.11.17/src/Test/Hspec/Core/QuickCheck.hs-formatted 6285779479c8 hspec-core-2.11.17/src/Test/Hspec/Core/QuickCheck/Util.hs-formatted 1be2d9c4a008 hspec-core-2.11.17/src/Test/Hspec/Core/Runner.hs-formatted 559e8587e33c hspec-core-2.11.17/src/Test/Hspec/Core/Runner/Eval.hs-formatted 45d877a0b59c hspec-core-2.11.17/src/Test/Hspec/Core/Runner/JobQueue.hs-formatted 486c3e882e3e hspec-core-2.11.17/src/Test/Hspec/Core/Runner/PrintSlowSpecItems.hs-formatted 36777b3d173e hspec-core-2.11.17/src/Test/Hspec/Core/Runner/Result.hs-formatted d699e2b567f5 hspec-core-2.11.17/src/Test/Hspec/Core/Shuffle.hs-formatted 929d1248e847 hspec-core-2.11.17/src/Test/Hspec/Core/Spec.hs-formatted 36dcfb961aa9 hspec-core-2.11.17/src/Test/Hspec/Core/Spec/Monad.hs-formatted 1b327d112974 hspec-core-2.11.17/src/Test/Hspec/Core/Timer.hs-formatted 32318dd91cf8 hspec-core-2.11.17/src/Test/Hspec/Core/Tree.hs-formatted 80d2d2b8d380 hspec-core-2.11.17/src/Test/Hspec/Core/Util.hs-formatted e06b7cc46fd9 hspec-core-2.11.17/test/GetOpt/Declarative/EnvironmentSpec.hs-formatted 6655e2e71bb3 hspec-core-2.11.17/test/GetOpt/Declarative/UtilSpec.hs-formatted aaa94a74898c hspec-core-2.11.17/test/Helper.hs-formatted 10aa2070ffb6 hspec-core-2.11.17/test/Mock.hs-formatted 42263bafabb2 hspec-core-2.11.17/test/Spec.hs-formatted 409fb8a0b5e3 hspec-core-2.11.17/test/SpecHook.hs-formatted ae9de2079048 hspec-core-2.11.17/test/Test/Hspec/Core/AnnotationsSpec.hs-formatted 1157d1650ac3 hspec-core-2.11.17/test/Test/Hspec/Core/ClockSpec.hs-formatted 819d29d3431f hspec-core-2.11.17/test/Test/Hspec/Core/CompatSpec.hs-formatted e5db68e3c868 hspec-core-2.11.17/test/Test/Hspec/Core/Config/DefinitionSpec.hs-formatted 105756fabf5e hspec-core-2.11.17/test/Test/Hspec/Core/Config/OptionsSpec.hs-formatted edfe82f15e2d hspec-core-2.11.17/test/Test/Hspec/Core/ConfigSpec.hs-formatted beef08e20fe4 hspec-core-2.11.17/test/Test/Hspec/Core/Example/LocationSpec.hs-formatted d51ddf803043 hspec-core-2.11.17/test/Test/Hspec/Core/ExampleSpec.hs-formatted 1a45c62099d0 hspec-core-2.11.17/test/Test/Hspec/Core/FailureReportSpec.hs-formatted 8992979a0121 hspec-core-2.11.17/test/Test/Hspec/Core/FormatSpec.hs-formatted c2d7791f1000 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/DiffSpec.hs-formatted cb3d38eb1461 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/InternalSpec.hs-formatted 2ffb49f5a742 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/Pretty/ParserSpec.hs-formatted afa9ffaa3bf1 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/Pretty/UnicodeSpec.hs-formatted ac2da1dd4d6b hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/PrettySpec.hs-formatted 2665482bea3b hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/V1Spec.hs-formatted fdce61371e6b hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/V2Spec.hs-formatted b43a06946394 hspec-core-2.11.17/test/Test/Hspec/Core/HooksSpec.hs-formatted 788492850ef9 hspec-core-2.11.17/test/Test/Hspec/Core/QuickCheck/UtilSpec.hs-formatted 775321ce08bf hspec-core-2.11.17/test/Test/Hspec/Core/Runner/EvalSpec.hs-formatted 1a7b81d688ce hspec-core-2.11.17/test/Test/Hspec/Core/Runner/JobQueueSpec.hs-formatted a0e5092545a6 hspec-core-2.11.17/test/Test/Hspec/Core/Runner/PrintSlowSpecItemsSpec.hs-formatted 2781ae88628b hspec-core-2.11.17/test/Test/Hspec/Core/Runner/ResultSpec.hs-formatted f416fc0ebea5 hspec-core-2.11.17/test/Test/Hspec/Core/RunnerSpec.hs-formatted be08f1178641 hspec-core-2.11.17/test/Test/Hspec/Core/ShuffleSpec.hs-formatted 6c250c13b42b hspec-core-2.11.17/test/Test/Hspec/Core/SpecSpec.hs-formatted ccd964421c9d hspec-core-2.11.17/test/Test/Hspec/Core/TimerSpec.hs-formatted ad44f3bb30b2 hspec-core-2.11.17/test/Test/Hspec/Core/TreeSpec.hs-formatted a46fa24d2bd0 hspec-core-2.11.17/test/Test/Hspec/Core/UtilSpec.hs-formatted e13927dd80dc hspec-core-2.11.17/vendor/Data/Algorithm/Diff.hs-partly-checked f983214ae642 hspec-core-2.11.17/vendor/async-2.2.5/Control/Concurrent/Async.hs-formatted bea44982097a hspec-core-2.11.17/vendor/stm-2.5.0.1/Control/Concurrent/STM/TMVar.hs-formatted b3d4964504e7 http-client-0.7.19/Data/KeyedPool.hs-formatted 3e436f1b2afb http-client-0.7.19/Network/HTTP/Client.hs-formatted 547642efe2cc http-client-0.7.19/Network/HTTP/Client/Body.hs-formatted d5454cf22a87 http-client-0.7.19/Network/HTTP/Client/Connection.hs-formatted b7a129091d84 http-client-0.7.19/Network/HTTP/Client/Cookies.hs-formatted d532447f828a http-client-0.7.19/Network/HTTP/Client/Core.hs-formatted 7a5aad8e01a5 http-client-0.7.19/Network/HTTP/Client/Headers.hs-formatted 44b1ad27a89e http-client-0.7.19/Network/HTTP/Client/Internal.hs-formatted e04e09593516 http-client-0.7.19/Network/HTTP/Client/Manager.hs-formatted 91acc2df5de6 http-client-0.7.19/Network/HTTP/Client/MultipartFormData.hs-formatted c91e32be7257 http-client-0.7.19/Network/HTTP/Client/Request.hs-formatted cf2358330a5c http-client-0.7.19/Network/HTTP/Client/Response.hs-formatted d48abdb1339e http-client-0.7.19/Network/HTTP/Client/Types.hs-formatted ca6a48d5e983 http-client-0.7.19/Network/HTTP/Client/Util.hs-formatted 824fcf5320e3 http-client-0.7.19/Network/HTTP/Proxy.hs-formatted e865ae48f11b http-client-0.7.19/Setup.hs-formatted b1d3bc1d8679 http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/DataStructure.hs-formatted 245d124b8415 http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/Lookup.hs-formatted 765e07adf78d http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/Serialize.hs-formatted a7f41d1b5ab1 http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/Types.hs-formatted 5a31984d56fd http-client-0.7.19/test-nonet/Network/HTTP/Client/BodySpec.hs-formatted 329d7775ecfb http-client-0.7.19/test-nonet/Network/HTTP/Client/ConnectionSpec.hs-formatted c152236f3c88 http-client-0.7.19/test-nonet/Network/HTTP/Client/CookieSpec.hs-formatted 11f71ff1af3c http-client-0.7.19/test-nonet/Network/HTTP/Client/HeadersSpec.hs-formatted 37bbc630210e http-client-0.7.19/test-nonet/Network/HTTP/Client/RequestBodySpec.hs-formatted 9d193cb0c288 http-client-0.7.19/test-nonet/Network/HTTP/Client/RequestSpec.hs-formatted 5109990dfcb0 http-client-0.7.19/test-nonet/Network/HTTP/Client/ResponseSpec.hs-formatted 78f0fd41871c http-client-0.7.19/test-nonet/Network/HTTP/ClientSpec.hs-formatted 2fbd14b119a4 http-client-0.7.19/test-nonet/Spec.hs-formatted 5a4d43a61ed2 http-client-0.7.19/test/Network/HTTP/ClientSpec.hs-formatted 2fbd14b119a4 http-client-0.7.19/test/Spec.hs-formatted 13d151556922 http-types-0.12.6/Network/HTTP/Types.hs-formatted e7eff6d3c526 http-types-0.12.6/Network/HTTP/Types/Header.hs-formatted 26f2850b0a92 http-types-0.12.6/Network/HTTP/Types/Method.hs-formatted 937169187cf1 http-types-0.12.6/Network/HTTP/Types/QueryLike.hs-formatted 973c6368ae63 http-types-0.12.6/Network/HTTP/Types/Status.hs-formatted 8393cb3031e8 http-types-0.12.6/Network/HTTP/Types/URI.hs-formatted f437cc36b9fa http-types-0.12.6/Network/HTTP/Types/Version.hs-formatted e865ae48f11b http-types-0.12.6/Setup.hs-formatted 7d11c2eb808e http-types-0.12.6/test/Network/HTTP/Types/HeaderSpec.hs-formatted 1816a6090b5e http-types-0.12.6/test/Network/HTTP/Types/MethodSpec.hs-formatted 848ef1c45ded http-types-0.12.6/test/Network/HTTP/Types/StatusSpec.hs-formatted 9a3fe7ad6e47 http-types-0.12.6/test/Network/HTTP/Types/URISpec.hs-formatted 5ac67585c5a1 http-types-0.12.6/test/Network/HTTP/Types/VersionSpec.hs-formatted 2fbd14b119a4 http-types-0.12.6/test/Spec.hs-formatted 6d7c004ed36a http-types-0.12.6/test/doctests.hs-declined - idris-1.3.4/Setup.hs-formatted 6c39a6764f61 idris-1.3.4/codegen/idris-codegen-c/Main.hs-formatted 66ce632c5bcb idris-1.3.4/codegen/idris-codegen-javascript/Main.hs-formatted 06a7843d0cd6 idris-1.3.4/codegen/idris-codegen-node/Main.hs-formatted eaa6467947db idris-1.3.4/main/Main.hs-formatted 3fd541795c69 idris-1.3.4/src/IRTS/Bytecode.hs-formatted 9c31d32e255a idris-1.3.4/src/IRTS/CodegenC.hs-formatted 9e5812762ec8 idris-1.3.4/src/IRTS/CodegenCommon.hs-formatted 563f242aebaf idris-1.3.4/src/IRTS/CodegenJavaScript.hs-formatted c9cee36f8fdf idris-1.3.4/src/IRTS/Compiler.hs-formatted 649c4334c449 idris-1.3.4/src/IRTS/Defunctionalise.hs-formatted 521a60c0c99b idris-1.3.4/src/IRTS/DumpBC.hs-formatted 67e26a69bf18 idris-1.3.4/src/IRTS/Exports.hs-formatted 9e44d172890b idris-1.3.4/src/IRTS/Inliner.hs-formatted ca2a16bd8e2f idris-1.3.4/src/IRTS/JavaScript/AST.hs-formatted 783e391156ee idris-1.3.4/src/IRTS/JavaScript/Codegen.hs-formatted b171baf09627 idris-1.3.4/src/IRTS/JavaScript/LangTransforms.hs-formatted 837e1fafadd6 idris-1.3.4/src/IRTS/JavaScript/Name.hs-formatted cd5cebdbb649 idris-1.3.4/src/IRTS/JavaScript/PrimOp.hs-formatted 5eff81bf418b idris-1.3.4/src/IRTS/JavaScript/Specialize.hs-formatted be460f171d5f idris-1.3.4/src/IRTS/Lang.hs-formatted 877532317321 idris-1.3.4/src/IRTS/LangOpts.hs-formatted 54ee13488588 idris-1.3.4/src/IRTS/Portable.hs-formatted c092168371c9 idris-1.3.4/src/IRTS/Simplified.hs-formatted 8a93ea593409 idris-1.3.4/src/IRTS/System.hs-formatted 0b84ce237bb8 idris-1.3.4/src/Idris/ASTUtils.hs-broken 4ab968445573 idris-1.3.4/src/Idris/AbsSyntax.hs-formatted 5d7408d71382 idris-1.3.4/src/Idris/AbsSyntaxTree.hs-formatted 9f032fa98b74 idris-1.3.4/src/Idris/Apropos.hs-formatted d0256ad5e06e idris-1.3.4/src/Idris/CaseSplit.hs-formatted 887228791bf4 idris-1.3.4/src/Idris/Chaser.hs-formatted a47646c618f2 idris-1.3.4/src/Idris/CmdOptions.hs-formatted 4da7f931a59f idris-1.3.4/src/Idris/Colours.hs-formatted f4a75f24bcf9 idris-1.3.4/src/Idris/Completion.hs-formatted 499686be90c6 idris-1.3.4/src/Idris/Core/Binary.hs-formatted 306094253161 idris-1.3.4/src/Idris/Core/CaseTree.hs-formatted fa5732ba0860 idris-1.3.4/src/Idris/Core/Constraints.hs-formatted 32e1f1dc7a41 idris-1.3.4/src/Idris/Core/DeepSeq.hs-formatted de3d97104fff idris-1.3.4/src/Idris/Core/Elaborate.hs-formatted 0a4a3162394e idris-1.3.4/src/Idris/Core/Evaluate.hs-formatted 248e1a132506 idris-1.3.4/src/Idris/Core/Execute.hs-formatted 71595a0d7382 idris-1.3.4/src/Idris/Core/ProofState.hs-formatted 54380e55c12e idris-1.3.4/src/Idris/Core/ProofTerm.hs-formatted 335b146f54a6 idris-1.3.4/src/Idris/Core/TT.hs-formatted 418dc775272d idris-1.3.4/src/Idris/Core/Typecheck.hs-formatted 1125cc1a59f1 idris-1.3.4/src/Idris/Core/Unify.hs-formatted 71eb35dcc836 idris-1.3.4/src/Idris/Core/WHNF.hs-formatted e884d58256bb idris-1.3.4/src/Idris/Coverage.hs-formatted 61677e52356c idris-1.3.4/src/Idris/DSL.hs-formatted 04b448aefa16 idris-1.3.4/src/Idris/DataOpts.hs-formatted 591136fc0c25 idris-1.3.4/src/Idris/DeepSeq.hs-formatted 5f5aff7f4f6d idris-1.3.4/src/Idris/Delaborate.hs-formatted c0a210b99952 idris-1.3.4/src/Idris/Directives.hs-formatted 3d3d5a0afe4c idris-1.3.4/src/Idris/Docs.hs-formatted a485f5642886 idris-1.3.4/src/Idris/Docstrings.hs-formatted a1c474156864 idris-1.3.4/src/Idris/Elab/AsPat.hs-formatted b2f9d95c85c2 idris-1.3.4/src/Idris/Elab/Clause.hs-formatted 9e5c2909e062 idris-1.3.4/src/Idris/Elab/Data.hs-formatted ed958562399c idris-1.3.4/src/Idris/Elab/Implementation.hs-formatted 9349c5236898 idris-1.3.4/src/Idris/Elab/Interface.hs-formatted 7c5f6b45e740 idris-1.3.4/src/Idris/Elab/Provider.hs-formatted 432315b423c7 idris-1.3.4/src/Idris/Elab/Quasiquote.hs-formatted 229f49cf1c9d idris-1.3.4/src/Idris/Elab/Record.hs-formatted 38c4274131ac idris-1.3.4/src/Idris/Elab/Rewrite.hs-formatted 77ebc33633f8 idris-1.3.4/src/Idris/Elab/RunElab.hs-formatted 63bebea5b00c idris-1.3.4/src/Idris/Elab/Term.hs-formatted 43565a6d9bac idris-1.3.4/src/Idris/Elab/Transform.hs-formatted cf8cbbec4fe7 idris-1.3.4/src/Idris/Elab/Type.hs-formatted 6546f8cfdb65 idris-1.3.4/src/Idris/Elab/Utils.hs-formatted ac9c50ffdaf7 idris-1.3.4/src/Idris/Elab/Value.hs-formatted de7dafd8bd53 idris-1.3.4/src/Idris/ElabDecls.hs-formatted 68025bd6dc21 idris-1.3.4/src/Idris/Erasure.hs-formatted 7c4b0ef95bf4 idris-1.3.4/src/Idris/ErrReverse.hs-formatted 28314a1db8cc idris-1.3.4/src/Idris/Error.hs-formatted 21bcb871fca8 idris-1.3.4/src/Idris/Help.hs-formatted e70cd4eb645a idris-1.3.4/src/Idris/IBC.hs-formatted cce75249d4d5 idris-1.3.4/src/Idris/IdeMode.hs-formatted e909e2fe452b idris-1.3.4/src/Idris/IdrisDoc.hs-formatted 8b7f62814233 idris-1.3.4/src/Idris/Imports.hs-formatted 3e21520569d8 idris-1.3.4/src/Idris/Info.hs-formatted 90f54928d9ca idris-1.3.4/src/Idris/Info/Show.hs-formatted eb72f451c8f1 idris-1.3.4/src/Idris/Inliner.hs-formatted 5ef6f905cab7 idris-1.3.4/src/Idris/Interactive.hs-formatted 5071375a4820 idris-1.3.4/src/Idris/Main.hs-formatted b65944ecc220 idris-1.3.4/src/Idris/ModeCommon.hs-formatted 28bd80263c16 idris-1.3.4/src/Idris/Options.hs-formatted 02fa432a9240 idris-1.3.4/src/Idris/Output.hs-formatted 8f1650d3c095 idris-1.3.4/src/Idris/Package.hs-formatted 2a5fae85b8c9 idris-1.3.4/src/Idris/Package/Common.hs-formatted 90885df148d3 idris-1.3.4/src/Idris/Package/Parser.hs-formatted 5fc13e822179 idris-1.3.4/src/Idris/Parser.hs-formatted d367b2f46d9f idris-1.3.4/src/Idris/Parser/Data.hs-formatted 9475514d3152 idris-1.3.4/src/Idris/Parser/Expr.hs-formatted 1c16d75635f7 idris-1.3.4/src/Idris/Parser/Helpers.hs-formatted 00297a830b2d idris-1.3.4/src/Idris/Parser/Ops.hs-formatted 4c95439ef192 idris-1.3.4/src/Idris/Parser/Stack.hs-formatted f0e3821f6651 idris-1.3.4/src/Idris/PartialEval.hs-formatted 58ad84ded5d8 idris-1.3.4/src/Idris/Primitives.hs-formatted 55a7e58fbd43 idris-1.3.4/src/Idris/ProofSearch.hs-formatted 4e3b3f931f23 idris-1.3.4/src/Idris/Prover.hs-formatted b2ed059dd3da idris-1.3.4/src/Idris/Providers.hs-formatted f1e4c14b910c idris-1.3.4/src/Idris/REPL.hs-formatted d43671c3f627 idris-1.3.4/src/Idris/REPL/Browse.hs-formatted adeb73659e58 idris-1.3.4/src/Idris/REPL/Commands.hs-formatted 34b1bf56383b idris-1.3.4/src/Idris/REPL/Parser.hs-formatted a35f4ee64226 idris-1.3.4/src/Idris/Reflection.hs-formatted bb390b89c850 idris-1.3.4/src/Idris/Termination.hs-formatted 6837e439e7d6 idris-1.3.4/src/Idris/Transforms.hs-formatted 06befdb6fc0c idris-1.3.4/src/Idris/TypeSearch.hs-formatted efed23bf7411 idris-1.3.4/src/Idris/Unlit.hs-formatted b613b7be20de idris-1.3.4/src/Idris/WhoCalls.hs-declined - idris-1.3.4/src/Util/DynamicLinker.hs-formatted 298e72ccbb61 idris-1.3.4/src/Util/Net.hs-formatted f47f361e150a idris-1.3.4/src/Util/Pretty.hs-formatted 13363649406c idris-1.3.4/src/Util/ScreenSize.hs-formatted 7d39399c082d idris-1.3.4/src/Util/System.hs-formatted ff2fc4a7a778 idris-1.3.4/test/TestData.hs-formatted 720af8681b46 idris-1.3.4/test/TestRun.hs-formatted e865ae48f11b intero-0.1.40/Setup.hs-formatted 2179d52567a7 intero-0.1.40/src/Completion.hs-formatted 3cb1551c3e6d intero-0.1.40/src/GhciFind.hs-partly-checked 337930d69360 intero-0.1.40/src/GhciInfo.hs-formatted ca4cd509270a intero-0.1.40/src/GhciMonad.hs-formatted 43c5576cb10f intero-0.1.40/src/GhciTags.hs-formatted 72999d5c814e intero-0.1.40/src/GhciTypes.hs-declined - intero-0.1.40/src/InteractiveUI.hs-formatted d3b894941b5e intero-0.1.40/src/Intero/Compat.hs-declined - intero-0.1.40/src/Main.hs-formatted 13b22f1a2f96 intero-0.1.40/src/test/Main.hs-formatted 4fe73bbfe233 leksah-0.16.2.2/data/leksah-welcome/src/Main.hs-formatted 1cefb44a49bc leksah-0.16.2.2/data/leksah-welcome/test/Main.hs-formatted 9b1bc79c9ca2 leksah-0.16.2.2/main/Main.hs-formatted f85b57b39a49 leksah-0.16.2.2/src/IDE/BufferMode.hs-formatted 04ce4038bfa5 leksah-0.16.2.2/src/IDE/Build.hs-formatted c91b409f9724 leksah-0.16.2.2/src/IDE/Command.hs-formatted 311f46674981 leksah-0.16.2.2/src/IDE/Command/Print.hs-formatted 3587f60b8002 leksah-0.16.2.2/src/IDE/Command/VCS.hs-formatted 4c605686bc49 leksah-0.16.2.2/src/IDE/Command/VCS/Common.hs-formatted 800101f9a2a4 leksah-0.16.2.2/src/IDE/Command/VCS/Common/GUI.hs-formatted 06c097b39c19 leksah-0.16.2.2/src/IDE/Command/VCS/Common/Helper.hs-formatted 8615cfe9c636 leksah-0.16.2.2/src/IDE/Command/VCS/Common/Workspaces.hs-formatted 703e291d1e3f leksah-0.16.2.2/src/IDE/Command/VCS/GIT.hs-formatted 5bebaffe9dd2 leksah-0.16.2.2/src/IDE/Command/VCS/Mercurial.hs-formatted 5af0b2acf931 leksah-0.16.2.2/src/IDE/Command/VCS/SVN.hs-formatted 092138f05183 leksah-0.16.2.2/src/IDE/Command/VCS/Types.hs-formatted bd0b4fcf92e3 leksah-0.16.2.2/src/IDE/Completion.hs-formatted ee31e800e58b leksah-0.16.2.2/src/IDE/Core/State.hs-formatted 9083c43cc5be leksah-0.16.2.2/src/IDE/Core/Types.hs-formatted 375889d7ec16 leksah-0.16.2.2/src/IDE/Debug.hs-does-not-parse - leksah-0.16.2.2/src/IDE/Find.hs-formatted ca0b06346e9b leksah-0.16.2.2/src/IDE/GUIHistory.hs-formatted b9c2b4c52ba2 leksah-0.16.2.2/src/IDE/HLint.hs-formatted c88bafa6fd21 leksah-0.16.2.2/src/IDE/ImportTool.hs-formatted e95cc4a80230 leksah-0.16.2.2/src/IDE/Keymap.hs-formatted 3f0638c605cd leksah-0.16.2.2/src/IDE/LPaste.hs-formatted 9fa364538e13 leksah-0.16.2.2/src/IDE/Leksah.hs-formatted 229f425b195b leksah-0.16.2.2/src/IDE/LogRef.hs-formatted fd6764bf4d1f leksah-0.16.2.2/src/IDE/Metainfo/Provider.hs-formatted 32e0957c2aa5 leksah-0.16.2.2/src/IDE/NotebookFlipper.hs-formatted d441d0417158 leksah-0.16.2.2/src/IDE/OSX.hs-formatted 9773aa44e1f7 leksah-0.16.2.2/src/IDE/Package.hs-formatted 59c82086f3fb leksah-0.16.2.2/src/IDE/Pane/Breakpoints.hs-formatted 1590e7831013 leksah-0.16.2.2/src/IDE/Pane/Errors.hs-formatted 65a5181355a0 leksah-0.16.2.2/src/IDE/Pane/Files.hs-formatted fae74ac3b1ee leksah-0.16.2.2/src/IDE/Pane/Grep.hs-formatted 8322865655a5 leksah-0.16.2.2/src/IDE/Pane/HLint.hs-formatted 2cc74d884f25 leksah-0.16.2.2/src/IDE/Pane/Info.hs-formatted 84026b055134 leksah-0.16.2.2/src/IDE/Pane/Log.hs-formatted 88d223364b06 leksah-0.16.2.2/src/IDE/Pane/Modules.hs-broken a567b56cc5f6 leksah-0.16.2.2/src/IDE/Pane/PackageEditor.hs-formatted e551f5f880ef leksah-0.16.2.2/src/IDE/Pane/PackageFlags.hs-formatted 021c30d05e66 leksah-0.16.2.2/src/IDE/Pane/Search.hs-formatted 0896ee40207a leksah-0.16.2.2/src/IDE/Pane/SourceBuffer.hs-formatted 52733de58564 leksah-0.16.2.2/src/IDE/Pane/Trace.hs-formatted 70de0231fabd leksah-0.16.2.2/src/IDE/Pane/Variables.hs-formatted 080c993f98fe leksah-0.16.2.2/src/IDE/Pane/WebKit/Documentation.hs-formatted c47f6ec9f808 leksah-0.16.2.2/src/IDE/Pane/WebKit/Inspect.hs-formatted b526c4eb3dc8 leksah-0.16.2.2/src/IDE/Pane/WebKit/Output.hs-formatted ffd0f6653485 leksah-0.16.2.2/src/IDE/Pane/Workspace.hs-formatted 33a766cc1c7d leksah-0.16.2.2/src/IDE/PaneGroups.hs-formatted 83b95acfea83 leksah-0.16.2.2/src/IDE/Preferences.hs-formatted d73d66c34b8c leksah-0.16.2.2/src/IDE/Session.hs-formatted 277f211ae71b leksah-0.16.2.2/src/IDE/SourceCandy.hs-formatted 95169d9d3f63 leksah-0.16.2.2/src/IDE/Statusbar.hs-formatted 70eb7c99746e leksah-0.16.2.2/src/IDE/SymbolNavigation.hs-formatted 265b135c829e leksah-0.16.2.2/src/IDE/TextEditor.hs-formatted b345661c1e07 leksah-0.16.2.2/src/IDE/TextEditor/Class.hs-formatted be8c9023310e leksah-0.16.2.2/src/IDE/TextEditor/CodeMirror.hs-formatted bd04bccef282 leksah-0.16.2.2/src/IDE/TextEditor/GtkSourceView.hs-formatted 6af4d4de87f6 leksah-0.16.2.2/src/IDE/TextEditor/Yi.hs-formatted c73baf7194c2 leksah-0.16.2.2/src/IDE/TextEditor/Yi/Config.hs-formatted 007fe37642f2 leksah-0.16.2.2/src/IDE/Utils/CabalUtils.hs-formatted a1e35678dab5 leksah-0.16.2.2/src/IDE/Utils/DirectoryUtils.hs-formatted 8c14e6468260 leksah-0.16.2.2/src/IDE/Utils/ExternalTool.hs-formatted f82cd3575fb1 leksah-0.16.2.2/src/IDE/Utils/GUIUtils.hs-formatted 681c8db74a16 leksah-0.16.2.2/src/IDE/Utils/ServerConnection.hs-formatted 57b163af09de leksah-0.16.2.2/src/IDE/Workspaces.hs-formatted bb3e875ba328 leksah-0.16.2.2/src/IDE/Workspaces/Writer.hs-formatted 50c9e4996c17 lens-5.3.6/benchmarks/alongside.hs-formatted 9fb7d388f89d lens-5.3.6/benchmarks/folds.hs-formatted a5e826be2e18 lens-5.3.6/benchmarks/plated.hs-formatted 474a59bad6c3 lens-5.3.6/benchmarks/traversals.hs-formatted ed5e8ac0099f lens-5.3.6/benchmarks/unsafe.hs-formatted 6b5d9407288a lens-5.3.6/examples/Aeson.hs-formatted fcea15eace15 lens-5.3.6/examples/Plates.hs-formatted 42c84063ca40 lens-5.3.6/examples/Pong.hs-formatted 1e7ca6c2bac4 lens-5.3.6/examples/Turtle.hs-formatted e865ae48f11b lens-5.3.6/lens-properties/Setup.hs-formatted 03d5b652be06 lens-5.3.6/lens-properties/src/Control/Lens/Properties.hs-broken 6f66b6321d8b lens-5.3.6/src/Control/Exception/Lens.hs-formatted 4fb8b462c692 lens-5.3.6/src/Control/Lens.hs-formatted dab5fde53fc2 lens-5.3.6/src/Control/Lens/At.hs-formatted 1a555e9740b2 lens-5.3.6/src/Control/Lens/Combinators.hs-formatted 45285718981c lens-5.3.6/src/Control/Lens/Cons.hs-formatted 087aa6536345 lens-5.3.6/src/Control/Lens/Each.hs-formatted db06507f8eb3 lens-5.3.6/src/Control/Lens/Empty.hs-formatted afba13ca40b2 lens-5.3.6/src/Control/Lens/Equality.hs-formatted e63ce52c62a6 lens-5.3.6/src/Control/Lens/Extras.hs-formatted bc07f01d16f1 lens-5.3.6/src/Control/Lens/Fold.hs-formatted 1d6b4529afae lens-5.3.6/src/Control/Lens/Getter.hs-formatted be96a32da04a lens-5.3.6/src/Control/Lens/Indexed.hs-formatted f2b77c23d24e lens-5.3.6/src/Control/Lens/Internal.hs-formatted 08075ad39685 lens-5.3.6/src/Control/Lens/Internal/Bazaar.hs-formatted 77d72de128e9 lens-5.3.6/src/Control/Lens/Internal/ByteString.hs-formatted d8ca8cef6fef lens-5.3.6/src/Control/Lens/Internal/CTypes.hs-formatted d27aa876059e lens-5.3.6/src/Control/Lens/Internal/Context.hs-formatted a6d8f75d39fc lens-5.3.6/src/Control/Lens/Internal/Deque.hs-formatted 4c63a54a8aeb lens-5.3.6/src/Control/Lens/Internal/Doctest.hs-formatted 36dfae32602b lens-5.3.6/src/Control/Lens/Internal/Exception.hs-formatted 94e9c2ef7d99 lens-5.3.6/src/Control/Lens/Internal/FieldTH.hs-formatted 8751bf3b6318 lens-5.3.6/src/Control/Lens/Internal/Fold.hs-formatted fe2ce335a9fd lens-5.3.6/src/Control/Lens/Internal/Getter.hs-formatted febc67fc7f79 lens-5.3.6/src/Control/Lens/Internal/Indexed.hs-formatted 74a115066cae lens-5.3.6/src/Control/Lens/Internal/Instances.hs-formatted a9257a233659 lens-5.3.6/src/Control/Lens/Internal/Iso.hs-formatted 62616dcfe279 lens-5.3.6/src/Control/Lens/Internal/Level.hs-formatted 929b3db19b16 lens-5.3.6/src/Control/Lens/Internal/List.hs-formatted b107d5717343 lens-5.3.6/src/Control/Lens/Internal/Magma.hs-formatted e8fad9977f5a lens-5.3.6/src/Control/Lens/Internal/Prelude.hs-formatted d033545bb0fa lens-5.3.6/src/Control/Lens/Internal/Prism.hs-formatted c5b138918bc8 lens-5.3.6/src/Control/Lens/Internal/PrismTH.hs-formatted d1e3368088fd lens-5.3.6/src/Control/Lens/Internal/Profunctor.hs-formatted a0cfb7f64915 lens-5.3.6/src/Control/Lens/Internal/Review.hs-formatted bd611b570342 lens-5.3.6/src/Control/Lens/Internal/Setter.hs-formatted cb94f36001d0 lens-5.3.6/src/Control/Lens/Internal/TH.hs-formatted f38703e41b26 lens-5.3.6/src/Control/Lens/Internal/Zoom.hs-formatted 4d4a8b86f259 lens-5.3.6/src/Control/Lens/Iso.hs-formatted 90c89d25de5a lens-5.3.6/src/Control/Lens/Lens.hs-formatted bde563e05b67 lens-5.3.6/src/Control/Lens/Level.hs-formatted b84cf710176f lens-5.3.6/src/Control/Lens/Operators.hs-formatted 61aef519b850 lens-5.3.6/src/Control/Lens/Plated.hs-formatted cd556da34caa lens-5.3.6/src/Control/Lens/Prism.hs-formatted b465099e5056 lens-5.3.6/src/Control/Lens/Profunctor.hs-formatted 4fa75f887167 lens-5.3.6/src/Control/Lens/Reified.hs-formatted 6e871d8e4385 lens-5.3.6/src/Control/Lens/Review.hs-formatted 5f1a95d65c20 lens-5.3.6/src/Control/Lens/Setter.hs-formatted bd765a03081a lens-5.3.6/src/Control/Lens/TH.hs-formatted 9164ff122ee8 lens-5.3.6/src/Control/Lens/Traversal.hs-formatted 3a5cbb2c959c lens-5.3.6/src/Control/Lens/Tuple.hs-formatted 181a647a9c7b lens-5.3.6/src/Control/Lens/Type.hs-formatted ff8881502434 lens-5.3.6/src/Control/Lens/Unsound.hs-declined - lens-5.3.6/src/Control/Lens/Wrapped.hs-formatted 2c3a223dec39 lens-5.3.6/src/Control/Lens/Zoom.hs-formatted d04fd074c74d lens-5.3.6/src/Control/Monad/Error/Lens.hs-formatted b9bfa6cc2ae6 lens-5.3.6/src/Control/Parallel/Strategies/Lens.hs-formatted 3580c9fdbe74 lens-5.3.6/src/Control/Seq/Lens.hs-formatted ae1408607f92 lens-5.3.6/src/Data/Array/Lens.hs-formatted 4f2a2066b52a lens-5.3.6/src/Data/Bits/Lens.hs-formatted e1c3ede72b89 lens-5.3.6/src/Data/ByteString/Lazy/Lens.hs-formatted fd83b8412797 lens-5.3.6/src/Data/ByteString/Lens.hs-formatted a0beda949826 lens-5.3.6/src/Data/ByteString/Strict/Lens.hs-formatted e7fc0d3b8334 lens-5.3.6/src/Data/Complex/Lens.hs-formatted 626272b6276a lens-5.3.6/src/Data/Data/Lens.hs-formatted ae776c45408a lens-5.3.6/src/Data/Dynamic/Lens.hs-formatted 9817c7fd06d9 lens-5.3.6/src/Data/HashSet/Lens.hs-formatted 9b6a7ea1de9a lens-5.3.6/src/Data/IntSet/Lens.hs-formatted afd0c52fb1bb lens-5.3.6/src/Data/List/Lens.hs-formatted c78898aaa504 lens-5.3.6/src/Data/Map/Lens.hs-formatted bf33871e79d3 lens-5.3.6/src/Data/Sequence/Lens.hs-formatted 3b630e1120f0 lens-5.3.6/src/Data/Set/Lens.hs-formatted 6abbc5ff2a97 lens-5.3.6/src/Data/Text/Lazy/Lens.hs-formatted c144e0a2b4d7 lens-5.3.6/src/Data/Text/Lens.hs-formatted 5ce20871a8d2 lens-5.3.6/src/Data/Text/Strict/Lens.hs-formatted a4a006800f1d lens-5.3.6/src/Data/Tree/Lens.hs-formatted bfb9f14912e5 lens-5.3.6/src/Data/Typeable/Lens.hs-formatted fa5b2f903156 lens-5.3.6/src/Data/Vector/Generic/Lens.hs-formatted 4348b84e4ed7 lens-5.3.6/src/Data/Vector/Lens.hs-formatted 7e80fcd30b07 lens-5.3.6/src/GHC/Generics/Lens.hs-declined - lens-5.3.6/src/Language/Haskell/TH/Lens.hs-formatted 6142187a095c lens-5.3.6/src/Numeric/Lens.hs-formatted 11d5331927be lens-5.3.6/src/Numeric/Natural/Lens.hs-formatted 353cf4551a49 lens-5.3.6/src/System/Exit/Lens.hs-formatted 5a4f7cf6359b lens-5.3.6/src/System/FilePath/Lens.hs-formatted 221e65299a9b lens-5.3.6/src/System/IO/Error/Lens.hs-formatted aa93fbb09ce5 lens-5.3.6/tests/BigRecord.hs-formatted 4bb6e1258874 lens-5.3.6/tests/T1024.hs-formatted 783da428b966 lens-5.3.6/tests/T799.hs-formatted 735c78d5ee02 lens-5.3.6/tests/T917.hs-formatted 1d3a1a7a064d lens-5.3.6/tests/T972.hs-formatted 1e9429a79aca lens-5.3.6/tests/doctests.hs-formatted a554fa5629d9 lens-5.3.6/tests/hunit.hs-declined - lens-5.3.6/tests/properties.hs-formatted 4f53ed8ff572 lens-5.3.6/tests/templates.hs-formatted 0331614d7776 megaparsec-9.8.1/Text/Megaparsec.hs-formatted aaf0968c72cf megaparsec-9.8.1/Text/Megaparsec/Byte.hs-formatted af93162c0732 megaparsec-9.8.1/Text/Megaparsec/Byte/Binary.hs-formatted 6daebd54878b megaparsec-9.8.1/Text/Megaparsec/Byte/Lexer.hs-formatted a8f12808d592 megaparsec-9.8.1/Text/Megaparsec/Char.hs-formatted fb0aa0491a35 megaparsec-9.8.1/Text/Megaparsec/Char/Lexer.hs-formatted 9ada7619d986 megaparsec-9.8.1/Text/Megaparsec/Class.hs-formatted 04c41e5e9d68 megaparsec-9.8.1/Text/Megaparsec/Common.hs-formatted 516df951af5f megaparsec-9.8.1/Text/Megaparsec/Debug.hs-formatted 063bb778990a megaparsec-9.8.1/Text/Megaparsec/Error.hs-formatted 6dc9b6ce5897 megaparsec-9.8.1/Text/Megaparsec/Error.hs-boot-formatted 92e848d5b88d megaparsec-9.8.1/Text/Megaparsec/Error/Builder.hs-formatted ef8c030d6d02 megaparsec-9.8.1/Text/Megaparsec/Internal.hs-formatted 2d845f6be8a2 megaparsec-9.8.1/Text/Megaparsec/Internal.hs-boot-formatted fb54b4f4cab3 megaparsec-9.8.1/Text/Megaparsec/Lexer.hs-formatted 0db88dbc985e megaparsec-9.8.1/Text/Megaparsec/Pos.hs-formatted 4f1b6ce7ca12 megaparsec-9.8.1/Text/Megaparsec/State.hs-formatted e5a839627bb9 megaparsec-9.8.1/Text/Megaparsec/Stream.hs-formatted 5e21ab523a4c megaparsec-9.8.1/Text/Megaparsec/Unicode.hs-formatted 882124e5ceb6 megaparsec-9.8.1/bench/memory/Main.hs-formatted d8a32e7340de megaparsec-9.8.1/bench/speed/Main.hs-formatted e865ae48f11b microlens-0.5.0.0/Setup.hs-declined - microlens-0.5.0.0/src/Lens/Micro.hs-formatted a33fe5ffd3d9 microlens-0.5.0.0/src/Lens/Micro/Extras.hs-formatted 3608b82ef46d microlens-0.5.0.0/src/Lens/Micro/FieldN.hs-declined - microlens-0.5.0.0/src/Lens/Micro/Internal.hs-formatted de09492cc927 microlens-0.5.0.0/src/Lens/Micro/Type.hs-formatted 9fd4d8759261 mtl-2.3.2/Control/Monad/Accum.hs-formatted 1c966453ae10 mtl-2.3.2/Control/Monad/Cont.hs-formatted 6543a3adf1ee mtl-2.3.2/Control/Monad/Cont/Class.hs-formatted a1002896353b mtl-2.3.2/Control/Monad/Error/Class.hs-formatted 241b9ab5b29e mtl-2.3.2/Control/Monad/Except.hs-formatted fae093b03648 mtl-2.3.2/Control/Monad/Identity.hs-formatted 8bb64ac32001 mtl-2.3.2/Control/Monad/RWS.hs-formatted f59a78122b11 mtl-2.3.2/Control/Monad/RWS/CPS.hs-formatted 853a42d0a7d0 mtl-2.3.2/Control/Monad/RWS/Class.hs-formatted 6fedd348f84f mtl-2.3.2/Control/Monad/RWS/Lazy.hs-formatted ddc740ed2ba9 mtl-2.3.2/Control/Monad/RWS/Strict.hs-formatted 70448da6c08e mtl-2.3.2/Control/Monad/Reader.hs-formatted 048f1d41ceeb mtl-2.3.2/Control/Monad/Reader/Class.hs-formatted fda85a3d8a5b mtl-2.3.2/Control/Monad/Select.hs-formatted dbf53d8970a0 mtl-2.3.2/Control/Monad/State.hs-formatted a11cb9d9968b mtl-2.3.2/Control/Monad/State/Class.hs-formatted 297011983d2c mtl-2.3.2/Control/Monad/State/Lazy.hs-formatted 77f07f071154 mtl-2.3.2/Control/Monad/State/Strict.hs-formatted 4442f9cb2755 mtl-2.3.2/Control/Monad/Trans.hs-formatted c315c681e4a7 mtl-2.3.2/Control/Monad/Writer.hs-formatted bd34c32bca35 mtl-2.3.2/Control/Monad/Writer/CPS.hs-formatted 220119ac3010 mtl-2.3.2/Control/Monad/Writer/Class.hs-formatted 26c1b816de3a mtl-2.3.2/Control/Monad/Writer/Lazy.hs-formatted e5a4e79a643b mtl-2.3.2/Control/Monad/Writer/Strict.hs-formatted e865ae48f11b mtl-2.3.2/Setup.hs-formatted 9007a7528d49 optics-0.4.2.1/benchmarks/folds.hs-formatted 6819e713d7fd optics-0.4.2.1/benchmarks/traversals.hs-formatted 39c6a1f9e980 optics-0.4.2.1/src/Optics.hs-formatted fbb3a44aca1a optics-0.4.2.1/tests/Optics/Tests.hs-formatted c6d811f3b338 optics-0.4.2.1/tests/Optics/Tests/Computation.hs-formatted 26a0cf8a6c0d optics-0.4.2.1/tests/Optics/Tests/Core.hs-formatted 714f321c1085 optics-0.4.2.1/tests/Optics/Tests/Eta.hs-formatted fa94f2166eef optics-0.4.2.1/tests/Optics/Tests/Labels/Generic.hs-formatted be66017a6045 optics-0.4.2.1/tests/Optics/Tests/Labels/TH.hs-formatted 1ec08bb9f22e optics-0.4.2.1/tests/Optics/Tests/Misc.hs-formatted 9a4b74c6e2a0 optics-0.4.2.1/tests/Optics/Tests/Properties.hs-declined - optics-0.4.2.1/tests/Optics/Tests/Utils.hs-formatted e865ae48f11b optparse-applicative-0.19.0.0/Setup.hs-formatted 64905439cdc6 optparse-applicative-0.19.0.0/src/Options/Applicative.hs-formatted c906682e4329 optparse-applicative-0.19.0.0/src/Options/Applicative/Arrows.hs-formatted fa5bdd86f120 optparse-applicative-0.19.0.0/src/Options/Applicative/BashCompletion.hs-formatted 792f6352d0d9 optparse-applicative-0.19.0.0/src/Options/Applicative/Builder.hs-formatted b35877965cca optparse-applicative-0.19.0.0/src/Options/Applicative/Builder/Completer.hs-formatted 24b9dc042174 optparse-applicative-0.19.0.0/src/Options/Applicative/Builder/Internal.hs-formatted 2677a4207b59 optparse-applicative-0.19.0.0/src/Options/Applicative/Common.hs-formatted c1063409f73c optparse-applicative-0.19.0.0/src/Options/Applicative/Extra.hs-formatted 02404b06b751 optparse-applicative-0.19.0.0/src/Options/Applicative/Help.hs-formatted 309f18523f28 optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Chunk.hs-formatted 45fed0cf69dd optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Core.hs-formatted c6289fc77a0b optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Levenshtein.hs-formatted dbad440603b5 optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Pretty.hs-formatted ea64d277c8d8 optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Types.hs-formatted 5f19dd3bfbfc optparse-applicative-0.19.0.0/src/Options/Applicative/Internal.hs-formatted cfaae94bf094 optparse-applicative-0.19.0.0/src/Options/Applicative/NonEmpty.hs-formatted 1b1444725881 optparse-applicative-0.19.0.0/src/Options/Applicative/Types.hs-formatted 88e47dac52ad optparse-applicative-0.19.0.0/tests/Examples/Alternatives.hs-formatted 9cdd4cffe98a optparse-applicative-0.19.0.0/tests/Examples/Cabal.hs-formatted 6eb87c31763d optparse-applicative-0.19.0.0/tests/Examples/Commands.hs-formatted 3e7e8c6885db optparse-applicative-0.19.0.0/tests/Examples/Formatting.hs-formatted 63619af33822 optparse-applicative-0.19.0.0/tests/Examples/Hello.hs-formatted 515fef001627 optparse-applicative-0.19.0.0/tests/Examples/LongSub.hs-formatted c2e700c8f642 optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/AllGrouped.hs-formatted f5ab674c163c optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/Basic.hs-formatted dbff3ca47a7d optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/CommandGroups.hs-formatted 87c22c856d69 optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/DuplicateCommandGroups.hs-formatted ded6a73332cc optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/Duplicates.hs-formatted 8ea0fc79c8f6 optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/Nested.hs-formatted 25bcbf4b701f optparse-applicative-0.19.0.0/tests/test.hs-formatted 40d0309b0851 pandoc-3.10.2/benchmark/benchmark-pandoc.hs-formatted e9cc6bbe8397 pandoc-3.10.2/src/Text/Pandoc.hs-formatted 8c46f3c9674c pandoc-3.10.2/src/Text/Pandoc/App.hs-formatted c058b2ade26f pandoc-3.10.2/src/Text/Pandoc/App/CommandLineOptions.hs-formatted 0d1b64ebcf3b pandoc-3.10.2/src/Text/Pandoc/App/Input.hs-formatted 6ed96a696002 pandoc-3.10.2/src/Text/Pandoc/App/Opt.hs-formatted 3a8ec3e92f62 pandoc-3.10.2/src/Text/Pandoc/App/OutputSettings.hs-formatted 30536e2da049 pandoc-3.10.2/src/Text/Pandoc/Asciify.hs-formatted 0798d787f37f pandoc-3.10.2/src/Text/Pandoc/CSS.hs-formatted eb9916b55f28 pandoc-3.10.2/src/Text/Pandoc/CSV.hs-formatted 425285a86e63 pandoc-3.10.2/src/Text/Pandoc/Char.hs-formatted 829d97307b71 pandoc-3.10.2/src/Text/Pandoc/Chunks.hs-formatted 78112fbbaa4f pandoc-3.10.2/src/Text/Pandoc/Citeproc.hs-formatted 73b49670ac75 pandoc-3.10.2/src/Text/Pandoc/Citeproc/BibTeX.hs-formatted f4a7c604316e pandoc-3.10.2/src/Text/Pandoc/Citeproc/CslJson.hs-formatted a47804651b9d pandoc-3.10.2/src/Text/Pandoc/Citeproc/Data.hs-formatted b5fa30d4eebe pandoc-3.10.2/src/Text/Pandoc/Citeproc/Locator.hs-formatted f41105d87bc7 pandoc-3.10.2/src/Text/Pandoc/Citeproc/MetaValue.hs-formatted ba128290e789 pandoc-3.10.2/src/Text/Pandoc/Citeproc/Name.hs-formatted 76559347a97c pandoc-3.10.2/src/Text/Pandoc/Citeproc/Util.hs-formatted 1b13d0dc5e1b pandoc-3.10.2/src/Text/Pandoc/Class.hs-formatted 121629e38e36 pandoc-3.10.2/src/Text/Pandoc/Class/CommonState.hs-formatted e2b41d9d63a2 pandoc-3.10.2/src/Text/Pandoc/Class/IO.hs-formatted 554e3fd3f722 pandoc-3.10.2/src/Text/Pandoc/Class/PandocIO.hs-formatted c65acaaeb3de pandoc-3.10.2/src/Text/Pandoc/Class/PandocMonad.hs-formatted f896da08c30f pandoc-3.10.2/src/Text/Pandoc/Class/PandocPure.hs-formatted 0b8f40903d65 pandoc-3.10.2/src/Text/Pandoc/Class/Sandbox.hs-formatted 407b6ea8dcf3 pandoc-3.10.2/src/Text/Pandoc/Data.hs-formatted a40ce7ee511d pandoc-3.10.2/src/Text/Pandoc/Data/BakedIn.hs-formatted 58434b0c4602 pandoc-3.10.2/src/Text/Pandoc/Emoji.hs-formatted 232d7de23b73 pandoc-3.10.2/src/Text/Pandoc/Error.hs-formatted 72ff19ca80f5 pandoc-3.10.2/src/Text/Pandoc/Extensions.hs-formatted 3bdc8aed022b pandoc-3.10.2/src/Text/Pandoc/Filter.hs-formatted 1be979d2afbf pandoc-3.10.2/src/Text/Pandoc/Filter/Environment.hs-formatted 3921a2426b07 pandoc-3.10.2/src/Text/Pandoc/Filter/JSON.hs-formatted 9bf058c6704f pandoc-3.10.2/src/Text/Pandoc/Format.hs-formatted 3df0ace70613 pandoc-3.10.2/src/Text/Pandoc/Highlighting.hs-formatted 834edab63758 pandoc-3.10.2/src/Text/Pandoc/Image.hs-formatted f331e86b53d6 pandoc-3.10.2/src/Text/Pandoc/ImageSize.hs-formatted f519615c70eb pandoc-3.10.2/src/Text/Pandoc/Logging.hs-formatted 198eaaad0ea2 pandoc-3.10.2/src/Text/Pandoc/MIME.hs-formatted fc58bac11b5e pandoc-3.10.2/src/Text/Pandoc/MediaBag.hs-formatted e52f385e0fff pandoc-3.10.2/src/Text/Pandoc/Options.hs-formatted d4caa78b9b84 pandoc-3.10.2/src/Text/Pandoc/PDF.hs-formatted 1378d4b80344 pandoc-3.10.2/src/Text/Pandoc/Parsing.hs-formatted d0bfe0ebb5ca pandoc-3.10.2/src/Text/Pandoc/Parsing/Capabilities.hs-formatted 78249fa68c58 pandoc-3.10.2/src/Text/Pandoc/Parsing/Citations.hs-formatted 3947601983af pandoc-3.10.2/src/Text/Pandoc/Parsing/Future.hs-formatted 854dc9763274 pandoc-3.10.2/src/Text/Pandoc/Parsing/General.hs-formatted ebf243a003b2 pandoc-3.10.2/src/Text/Pandoc/Parsing/GridTable.hs-formatted 6ae9fc28f92d pandoc-3.10.2/src/Text/Pandoc/Parsing/Lists.hs-formatted 957cafdf0f36 pandoc-3.10.2/src/Text/Pandoc/Parsing/Math.hs-formatted fad3834b08e5 pandoc-3.10.2/src/Text/Pandoc/Parsing/Smart.hs-formatted 96971d0301f6 pandoc-3.10.2/src/Text/Pandoc/Parsing/State.hs-formatted a83effd57b53 pandoc-3.10.2/src/Text/Pandoc/Process.hs-formatted 5798ce9f1d3b pandoc-3.10.2/src/Text/Pandoc/Readers.hs-formatted cf02c585d42e pandoc-3.10.2/src/Text/Pandoc/Readers/AsciiDoc.hs-formatted fb9989e02f4c pandoc-3.10.2/src/Text/Pandoc/Readers/BibTeX.hs-formatted 6df32968e0c9 pandoc-3.10.2/src/Text/Pandoc/Readers/CSV.hs-formatted 9daab54008b1 pandoc-3.10.2/src/Text/Pandoc/Readers/CommonMark.hs-formatted 663d47f4276b pandoc-3.10.2/src/Text/Pandoc/Readers/Creole.hs-formatted 9a91a657b202 pandoc-3.10.2/src/Text/Pandoc/Readers/CslJson.hs-formatted 8f06acca3961 pandoc-3.10.2/src/Text/Pandoc/Readers/Djot.hs-formatted 5c67409b0a54 pandoc-3.10.2/src/Text/Pandoc/Readers/DocBook.hs-formatted fbd149ee0503 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx.hs-formatted fc9009e1ca7b pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Combine.hs-formatted 2d1f14f169d4 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Fields.hs-formatted 1182acf4b772 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Lists.hs-formatted 33062d5907a1 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Parse.hs-formatted cdafbece822b pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Parse/Styles.hs-formatted 59a529967b45 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Symbols.hs-formatted 5ca3b138e6d7 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Util.hs-formatted 646ac8cb5cfc pandoc-3.10.2/src/Text/Pandoc/Readers/DokuWiki.hs-formatted 84bb8bb4469c pandoc-3.10.2/src/Text/Pandoc/Readers/EPUB.hs-formatted f3a6089222df pandoc-3.10.2/src/Text/Pandoc/Readers/EndNote.hs-formatted 14038d82e889 pandoc-3.10.2/src/Text/Pandoc/Readers/FB2.hs-formatted aaf76caf87c9 pandoc-3.10.2/src/Text/Pandoc/Readers/HTML.hs-formatted dffd88697abd pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/Parsing.hs-formatted 7906dc4b5ee7 pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/Table.hs-formatted d02eee6a5e0a pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/TagCategories.hs-formatted 4fb367cd5dd3 pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/Types.hs-formatted eff46e987f16 pandoc-3.10.2/src/Text/Pandoc/Readers/Haddock.hs-formatted 0f6ff76a8634 pandoc-3.10.2/src/Text/Pandoc/Readers/Ipynb.hs-formatted cc07dc20c65e pandoc-3.10.2/src/Text/Pandoc/Readers/JATS.hs-formatted f20ff0b6f36b pandoc-3.10.2/src/Text/Pandoc/Readers/Jira.hs-formatted a5e8a79ffa46 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX.hs-formatted 9555c9856dcb pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Citation.hs-formatted 69ebcdbb13ca pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Inline.hs-formatted c4741ac43b79 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Lang.hs-formatted 7551c37a91a0 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Macro.hs-formatted 70d5e382dd09 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Math.hs-formatted 0ff31df07620 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Parsing.hs-formatted c5052708c057 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs-formatted 464b8d34afbe pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Table.hs-formatted 9c0b878a8cae pandoc-3.10.2/src/Text/Pandoc/Readers/Man.hs-formatted 6961ea97f0d3 pandoc-3.10.2/src/Text/Pandoc/Readers/Markdown.hs-formatted b7b9f1155f1b pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc.hs-formatted f6551b5d7655 pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc/Lex.hs-formatted 728f79b431ec pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc/Macros.hs-formatted 1a3b54c227b9 pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc/Standards.hs-formatted d18bc1b58890 pandoc-3.10.2/src/Text/Pandoc/Readers/MediaWiki.hs-formatted ff97e43c99ad pandoc-3.10.2/src/Text/Pandoc/Readers/Metadata.hs-formatted 9f0f39d21fdd pandoc-3.10.2/src/Text/Pandoc/Readers/Muse.hs-formatted b5fdcc7976c0 pandoc-3.10.2/src/Text/Pandoc/Readers/Native.hs-formatted 00dc84441dee pandoc-3.10.2/src/Text/Pandoc/Readers/ODT.hs-formatted 4b763e5899cb pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Arrows/State.hs-formatted 978b213b2283 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Arrows/Utils.hs-formatted bf610e3c1650 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Base.hs-formatted 09ce4137cc6f pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/ContentReader.hs-formatted 9f7e17b79fd2 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/Fallible.hs-formatted 3cb13f8a11b2 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/Namespaces.hs-formatted 6d9540eaec43 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/SetMap.hs-formatted e530287347dc pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/Utils.hs-formatted cea88b9dd60d pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/XMLConverter.hs-formatted 32a05a5e6b5d pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Namespaces.hs-formatted 1a2225a211e5 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/StyleReader.hs-formatted fc024f0c1f5f pandoc-3.10.2/src/Text/Pandoc/Readers/OOXML/Shared.hs-formatted af1d77effb19 pandoc-3.10.2/src/Text/Pandoc/Readers/OPML.hs-formatted f0c2a727f84e pandoc-3.10.2/src/Text/Pandoc/Readers/Org.hs-formatted b11790cf298d pandoc-3.10.2/src/Text/Pandoc/Readers/Org/BlockStarts.hs-formatted 87d98588269f pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Blocks.hs-formatted 3ff195adb2ff pandoc-3.10.2/src/Text/Pandoc/Readers/Org/DocumentTree.hs-formatted 0e89e887eae3 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/ExportSettings.hs-formatted 2cc65319731e pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Inlines.hs-formatted e34a610bde26 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Meta.hs-formatted ddd05cefe687 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/ParserState.hs-formatted cddaebd35c79 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Parsing.hs-formatted 56b3882f7c5f pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Shared.hs-formatted b88c97613fb0 pandoc-3.10.2/src/Text/Pandoc/Readers/Pod.hs-formatted 53643fbdc8d6 pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx.hs-formatted 9f0a1be15c9c pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/Parse.hs-formatted 06b32e0a02bb pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/Shapes.hs-formatted 68136f2cd896 pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/Slides.hs-formatted 2a1143e52057 pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/SmartArt.hs-formatted 57c12a897562 pandoc-3.10.2/src/Text/Pandoc/Readers/RIS.hs-formatted c533a0d22bb6 pandoc-3.10.2/src/Text/Pandoc/Readers/RST.hs-formatted e222e84bebc7 pandoc-3.10.2/src/Text/Pandoc/Readers/RTF.hs-formatted a56e5e804b58 pandoc-3.10.2/src/Text/Pandoc/Readers/Roff.hs-formatted a8d91c97594d pandoc-3.10.2/src/Text/Pandoc/Readers/Roff/Escape.hs-formatted 75e54639331c pandoc-3.10.2/src/Text/Pandoc/Readers/TWiki.hs-formatted 25cccdcbef5d pandoc-3.10.2/src/Text/Pandoc/Readers/Textile.hs-formatted fcd546021514 pandoc-3.10.2/src/Text/Pandoc/Readers/TikiWiki.hs-formatted 92e7cf81f874 pandoc-3.10.2/src/Text/Pandoc/Readers/Txt2Tags.hs-formatted 4af418633a39 pandoc-3.10.2/src/Text/Pandoc/Readers/Typst.hs-formatted 2f111f50b7d1 pandoc-3.10.2/src/Text/Pandoc/Readers/Typst/Math.hs-formatted 084c50c01141 pandoc-3.10.2/src/Text/Pandoc/Readers/Typst/Parsing.hs-formatted d9474be2d4dd pandoc-3.10.2/src/Text/Pandoc/Readers/Vimwiki.hs-formatted a6c0f74dc4bf pandoc-3.10.2/src/Text/Pandoc/Readers/XML.hs-formatted 6da1519e9667 pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx.hs-formatted 835a84d727ab pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx/Cells.hs-formatted da7c96257b3c pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx/Parse.hs-formatted cec0a64a8f3d pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx/Sheets.hs-formatted a3abe5c4303a pandoc-3.10.2/src/Text/Pandoc/RoffChar.hs-formatted 3b2c2c8b4a58 pandoc-3.10.2/src/Text/Pandoc/Scripting.hs-formatted 3131b6626379 pandoc-3.10.2/src/Text/Pandoc/SelfContained.hs-formatted 9b4ca9cf24ae pandoc-3.10.2/src/Text/Pandoc/Shared.hs-formatted d4b69c2106f2 pandoc-3.10.2/src/Text/Pandoc/Slides.hs-formatted f972700afdb1 pandoc-3.10.2/src/Text/Pandoc/Sources.hs-formatted 4723b914e051 pandoc-3.10.2/src/Text/Pandoc/TeX.hs-formatted 1af167eb5091 pandoc-3.10.2/src/Text/Pandoc/Templates.hs-formatted 762abd63d880 pandoc-3.10.2/src/Text/Pandoc/Transforms.hs-formatted 353cd881b0ba pandoc-3.10.2/src/Text/Pandoc/Translations.hs-formatted 062da3b78ef5 pandoc-3.10.2/src/Text/Pandoc/Translations/Types.hs-formatted e8b9d88b67b0 pandoc-3.10.2/src/Text/Pandoc/URI.hs-formatted 4aa82cbc83c8 pandoc-3.10.2/src/Text/Pandoc/UTF8.hs-formatted e958a4d78635 pandoc-3.10.2/src/Text/Pandoc/UUID.hs-formatted c4b212f4e18f pandoc-3.10.2/src/Text/Pandoc/Version.hs-formatted 64127df72dfc pandoc-3.10.2/src/Text/Pandoc/Writers.hs-formatted 740042f14295 pandoc-3.10.2/src/Text/Pandoc/Writers/ANSI.hs-formatted a5a598c6ebd6 pandoc-3.10.2/src/Text/Pandoc/Writers/AnnotatedTable.hs-formatted 5e0b72f01d26 pandoc-3.10.2/src/Text/Pandoc/Writers/AsciiDoc.hs-formatted 737b11e36b7a pandoc-3.10.2/src/Text/Pandoc/Writers/BBCode.hs-formatted 74bebaa57c03 pandoc-3.10.2/src/Text/Pandoc/Writers/BibTeX.hs-formatted c3a3e99a6a7b pandoc-3.10.2/src/Text/Pandoc/Writers/Blaze.hs-formatted fd730c859a35 pandoc-3.10.2/src/Text/Pandoc/Writers/ChunkedHTML.hs-formatted 936b3d7e333a pandoc-3.10.2/src/Text/Pandoc/Writers/CommonMark.hs-formatted 41db06e725da pandoc-3.10.2/src/Text/Pandoc/Writers/ConTeXt.hs-formatted d9b0707d098c pandoc-3.10.2/src/Text/Pandoc/Writers/CslJson.hs-formatted 225f5fe7008c pandoc-3.10.2/src/Text/Pandoc/Writers/Djot.hs-formatted f33c2046ecde pandoc-3.10.2/src/Text/Pandoc/Writers/DocBook.hs-formatted 7bf8f7c3beff pandoc-3.10.2/src/Text/Pandoc/Writers/Docx.hs-formatted 08e3ddf08ad6 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/OpenXML.hs-formatted 47c7fc1f3217 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/StyleMap.hs-formatted b7f5506567c9 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/Table.hs-formatted a7b1f18b1b94 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/Types.hs-formatted fc05af348123 pandoc-3.10.2/src/Text/Pandoc/Writers/DokuWiki.hs-formatted 9912d53d0231 pandoc-3.10.2/src/Text/Pandoc/Writers/EPUB.hs-formatted 18a7003d6454 pandoc-3.10.2/src/Text/Pandoc/Writers/FB2.hs-formatted c4b4f9d5a6e4 pandoc-3.10.2/src/Text/Pandoc/Writers/GridTable.hs-formatted f9963e822f59 pandoc-3.10.2/src/Text/Pandoc/Writers/HTML.hs-formatted dca952fca265 pandoc-3.10.2/src/Text/Pandoc/Writers/Haddock.hs-formatted f94230c4f153 pandoc-3.10.2/src/Text/Pandoc/Writers/ICML.hs-formatted dd0566d62914 pandoc-3.10.2/src/Text/Pandoc/Writers/Ipynb.hs-formatted 316916f894bd pandoc-3.10.2/src/Text/Pandoc/Writers/JATS.hs-formatted 4a683f5d9700 pandoc-3.10.2/src/Text/Pandoc/Writers/JATS/References.hs-formatted e7a9cf0c0644 pandoc-3.10.2/src/Text/Pandoc/Writers/JATS/Table.hs-formatted 3aae3967440a pandoc-3.10.2/src/Text/Pandoc/Writers/JATS/Types.hs-formatted 9cd811748938 pandoc-3.10.2/src/Text/Pandoc/Writers/Jira.hs-formatted 2736c4a68c2a pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX.hs-formatted cafc5a3796df pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Caption.hs-formatted e809a90650c6 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Citation.hs-formatted e89e979a29e1 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Lang.hs-formatted 8c164dd5cc9c pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Notes.hs-formatted 549c44bdd262 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Table.hs-formatted a4eb629d0029 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Types.hs-formatted 62321b6f0ef0 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Util.hs-formatted 85fcfddb12db pandoc-3.10.2/src/Text/Pandoc/Writers/Man.hs-formatted e7926f029264 pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown.hs-formatted c19b6a394787 pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown/Inline.hs-formatted c57101b9ec66 pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown/Table.hs-formatted 02c7eb593d88 pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown/Types.hs-formatted 3d9d722a4e7e pandoc-3.10.2/src/Text/Pandoc/Writers/Math.hs-formatted aa965fb1df0e pandoc-3.10.2/src/Text/Pandoc/Writers/MediaWiki.hs-formatted 377073fe2e6d pandoc-3.10.2/src/Text/Pandoc/Writers/Ms.hs-formatted 6403175b00b9 pandoc-3.10.2/src/Text/Pandoc/Writers/Muse.hs-formatted 4acde5355993 pandoc-3.10.2/src/Text/Pandoc/Writers/Native.hs-formatted 1364fe58b369 pandoc-3.10.2/src/Text/Pandoc/Writers/ODT.hs-formatted 780b39e3c620 pandoc-3.10.2/src/Text/Pandoc/Writers/OOXML.hs-formatted 4c4123778a13 pandoc-3.10.2/src/Text/Pandoc/Writers/OPML.hs-formatted 11f3bed781a4 pandoc-3.10.2/src/Text/Pandoc/Writers/OpenDocument.hs-formatted 1ceb9cecad0c pandoc-3.10.2/src/Text/Pandoc/Writers/Org.hs-formatted 74e7486aeef1 pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint.hs-formatted 0abff9869e1b pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint/Output.hs-formatted ba52b96a9642 pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs-formatted e5e637fb6da9 pandoc-3.10.2/src/Text/Pandoc/Writers/RST.hs-formatted 4864c0915868 pandoc-3.10.2/src/Text/Pandoc/Writers/RTF.hs-formatted 526459d5f74f pandoc-3.10.2/src/Text/Pandoc/Writers/Roff.hs-formatted 64258df1d09e pandoc-3.10.2/src/Text/Pandoc/Writers/Shared.hs-formatted 6ff714d9bc8d pandoc-3.10.2/src/Text/Pandoc/Writers/TEI.hs-formatted c11f0dc1873d pandoc-3.10.2/src/Text/Pandoc/Writers/Texinfo.hs-formatted 3a596ddb6e0a pandoc-3.10.2/src/Text/Pandoc/Writers/Textile.hs-formatted e65d7bf1c614 pandoc-3.10.2/src/Text/Pandoc/Writers/Txt2Tags.hs-formatted e7008c6412af pandoc-3.10.2/src/Text/Pandoc/Writers/Typst.hs-formatted 94845d56aeb1 pandoc-3.10.2/src/Text/Pandoc/Writers/Vimdoc.hs-formatted 030057adfda6 pandoc-3.10.2/src/Text/Pandoc/Writers/XML.hs-formatted 159b08d5178c pandoc-3.10.2/src/Text/Pandoc/Writers/XWiki.hs-formatted d353c0adc4a4 pandoc-3.10.2/src/Text/Pandoc/Writers/ZimWiki.hs-formatted c0bf42044a17 pandoc-3.10.2/src/Text/Pandoc/XML.hs-formatted 29da3381e068 pandoc-3.10.2/src/Text/Pandoc/XMLFormat.hs-formatted 57155b5f1fa9 pandoc-3.10.2/test/Tests/Command.hs-formatted cc2af1e38ce1 pandoc-3.10.2/test/Tests/Helpers.hs-formatted 08a6d3f3d84f pandoc-3.10.2/test/Tests/MediaBag.hs-formatted 58f15e3f067a pandoc-3.10.2/test/Tests/Old.hs-formatted 333649c94dd9 pandoc-3.10.2/test/Tests/Readers/Creole.hs-formatted c5655e1aeeef pandoc-3.10.2/test/Tests/Readers/Docx.hs-formatted bee6f3e148cf pandoc-3.10.2/test/Tests/Readers/DokuWiki.hs-formatted 150d1390d716 pandoc-3.10.2/test/Tests/Readers/EPUB.hs-formatted 0d2db3fa6504 pandoc-3.10.2/test/Tests/Readers/FB2.hs-formatted 155489214643 pandoc-3.10.2/test/Tests/Readers/HTML.hs-formatted a047fe6e2033 pandoc-3.10.2/test/Tests/Readers/JATS.hs-formatted 3ee2ef6dea11 pandoc-3.10.2/test/Tests/Readers/Jira.hs-formatted a0bebbb719e9 pandoc-3.10.2/test/Tests/Readers/LaTeX.hs-formatted 54c9a9360dac pandoc-3.10.2/test/Tests/Readers/Man.hs-formatted 67e0bd9ae4b8 pandoc-3.10.2/test/Tests/Readers/Markdown.hs-formatted 7aec4f85c064 pandoc-3.10.2/test/Tests/Readers/Mdoc.hs-formatted 725337c69fd0 pandoc-3.10.2/test/Tests/Readers/Muse.hs-formatted d850617edb68 pandoc-3.10.2/test/Tests/Readers/ODT.hs-formatted 4cec297f4fab pandoc-3.10.2/test/Tests/Readers/Org.hs-formatted e5c1db2d073f pandoc-3.10.2/test/Tests/Readers/Org/Block.hs-formatted b4b9cddd5711 pandoc-3.10.2/test/Tests/Readers/Org/Block/CodeBlock.hs-formatted 8bfbfbb823bf pandoc-3.10.2/test/Tests/Readers/Org/Block/Figure.hs-formatted 1db2ce6020c8 pandoc-3.10.2/test/Tests/Readers/Org/Block/Header.hs-formatted 6040ddbe898e pandoc-3.10.2/test/Tests/Readers/Org/Block/List.hs-formatted 3e9d7a83d060 pandoc-3.10.2/test/Tests/Readers/Org/Block/Table.hs-formatted 2059c719f367 pandoc-3.10.2/test/Tests/Readers/Org/Directive.hs-formatted bfd915a68797 pandoc-3.10.2/test/Tests/Readers/Org/Inline.hs-formatted c762e1d74166 pandoc-3.10.2/test/Tests/Readers/Org/Inline/Citation.hs-formatted b2fb48f770ee pandoc-3.10.2/test/Tests/Readers/Org/Inline/Note.hs-formatted c86aabaf01bb pandoc-3.10.2/test/Tests/Readers/Org/Inline/Smart.hs-formatted 06c0169c3199 pandoc-3.10.2/test/Tests/Readers/Org/Meta.hs-formatted 9f0320fe3803 pandoc-3.10.2/test/Tests/Readers/Org/Shared.hs-formatted 1eb1a05f4635 pandoc-3.10.2/test/Tests/Readers/Pod.hs-formatted ff6bbea7ddc9 pandoc-3.10.2/test/Tests/Readers/Pptx.hs-formatted 1320e3e7aa2d pandoc-3.10.2/test/Tests/Readers/RST.hs-formatted 63d3f17d29f9 pandoc-3.10.2/test/Tests/Readers/RTF.hs-formatted aca713b17e29 pandoc-3.10.2/test/Tests/Readers/Txt2Tags.hs-formatted d805d2ea3361 pandoc-3.10.2/test/Tests/Readers/Xlsx.hs-formatted 2692dc26ee41 pandoc-3.10.2/test/Tests/Shared.hs-formatted ad523df96992 pandoc-3.10.2/test/Tests/Writers/AnnotatedTable.hs-formatted b21e7e06def4 pandoc-3.10.2/test/Tests/Writers/AsciiDoc.hs-formatted 70088c61a9f3 pandoc-3.10.2/test/Tests/Writers/BBCode.hs-formatted 6dcb350b3086 pandoc-3.10.2/test/Tests/Writers/ConTeXt.hs-formatted 5881a7a78ecb pandoc-3.10.2/test/Tests/Writers/DocBook.hs-formatted 3734475521c2 pandoc-3.10.2/test/Tests/Writers/Docx.hs-formatted c93a204195d1 pandoc-3.10.2/test/Tests/Writers/FB2.hs-formatted 328c6dec4e08 pandoc-3.10.2/test/Tests/Writers/HTML.hs-formatted e20190db8973 pandoc-3.10.2/test/Tests/Writers/JATS.hs-formatted f691886863f7 pandoc-3.10.2/test/Tests/Writers/Jira.hs-formatted 9b6e923fe756 pandoc-3.10.2/test/Tests/Writers/LaTeX.hs-formatted c301d7bef6ff pandoc-3.10.2/test/Tests/Writers/Markdown.hs-formatted c8345b0f787e pandoc-3.10.2/test/Tests/Writers/Markua.hs-formatted fb4d32e30070 pandoc-3.10.2/test/Tests/Writers/Ms.hs-formatted ef0e40bc038b pandoc-3.10.2/test/Tests/Writers/Muse.hs-formatted 9309764377bd pandoc-3.10.2/test/Tests/Writers/Native.hs-formatted 123f7ce6880c pandoc-3.10.2/test/Tests/Writers/OOXML.hs-formatted 3033600cbe42 pandoc-3.10.2/test/Tests/Writers/Org.hs-formatted 0e4b414e2dea pandoc-3.10.2/test/Tests/Writers/Plain.hs-formatted 1b5be67cf1c4 pandoc-3.10.2/test/Tests/Writers/Powerpoint.hs-formatted 05aa845f56f2 pandoc-3.10.2/test/Tests/Writers/RST.hs-formatted 7f7f9e6de407 pandoc-3.10.2/test/Tests/Writers/TEI.hs-formatted 9286c785c97e pandoc-3.10.2/test/Tests/Writers/Txt2Tags.hs-formatted 14edd0465124 pandoc-3.10.2/test/Tests/XML.hs-formatted 16057c777a9d pandoc-3.10.2/test/command/3510-src.hs-formatted 3f023b0abbe3 pandoc-3.10.2/test/command/6466-beg.hs-formatted 06289f98fcac pandoc-3.10.2/test/command/6466-end.hs-formatted 546301610b9b pandoc-3.10.2/test/command/6466-mid.hs-formatted b6f515e00962 pandoc-3.10.2/test/command/6466-whole.hs-formatted 53aaf2e2c6e0 pandoc-3.10.2/test/test-pandoc.hs-formatted 2556d5cb9f72 pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light.hs-formatted 3cd6a981ab05 pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light/Output.hs-formatted 3f7a60f285f2 pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light/Proc.hs-formatted 79460d761fcd pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light/Types.hs-formatted e865ae48f11b pandoc-types-1.23.1.2/Setup.hs-formatted 8376040e03f4 pandoc-types-1.23.1.2/benchmark/bench.hs-formatted 779df2fa2e63 pandoc-types-1.23.1.2/src/Text/Pandoc/Arbitrary.hs-formatted 2b99499bebfa pandoc-types-1.23.1.2/src/Text/Pandoc/Builder.hs-formatted 7400bafe0ab3 pandoc-types-1.23.1.2/src/Text/Pandoc/Definition.hs-formatted 42a13347f367 pandoc-types-1.23.1.2/src/Text/Pandoc/Generic.hs-formatted 8fad29f2adc4 pandoc-types-1.23.1.2/src/Text/Pandoc/JSON.hs-formatted 521e0dcaf505 pandoc-types-1.23.1.2/src/Text/Pandoc/Walk.hs-formatted dcf10d45e788 pandoc-types-1.23.1.2/test/Data/String/QQ.hs-formatted aa803b05c956 pandoc-types-1.23.1.2/test/test-pandoc-types.hs-formatted 7474b7e1d4f5 parsec3-1.0.1.8/Setup.hs-formatted 48d72ad7fc59 parsec3-1.0.1.8/Text/Parsec.hs-formatted afc3d5a902fe parsec3-1.0.1.8/Text/Parsec/ByteString.hs-formatted a9c7a6dd5b30 parsec3-1.0.1.8/Text/Parsec/ByteString/Lazy.hs-formatted 5e6bdea20cf6 parsec3-1.0.1.8/Text/Parsec/Char.hs-formatted 4abab8f9ceb8 parsec3-1.0.1.8/Text/Parsec/Combinator.hs-formatted 94a0c2798c5a parsec3-1.0.1.8/Text/Parsec/Error.hs-formatted 048c32e5a768 parsec3-1.0.1.8/Text/Parsec/Expr.hs-formatted 156014d6ed26 parsec3-1.0.1.8/Text/Parsec/Language.hs-formatted 40bf4d018d51 parsec3-1.0.1.8/Text/Parsec/Perm.hs-formatted c50efff79fe5 parsec3-1.0.1.8/Text/Parsec/Pos.hs-formatted 7c2c5a4c585c parsec3-1.0.1.8/Text/Parsec/Prim.hs-formatted c911dc63e8d5 parsec3-1.0.1.8/Text/Parsec/String.hs-formatted 72422924874a parsec3-1.0.1.8/Text/Parsec/Text.hs-formatted 6fd69590f1d3 parsec3-1.0.1.8/Text/Parsec/Text/Lazy.hs-formatted b6e8b0e16d14 parsec3-1.0.1.8/Text/Parsec/Token.hs-formatted 22b02f116512 parser-combinators-1.3.1/Control/Applicative/Combinators.hs-formatted 2b483a550d21 parser-combinators-1.3.1/Control/Applicative/Combinators/NonEmpty.hs-formatted 7d01c0dddfcd parser-combinators-1.3.1/Control/Applicative/Permutations.hs-formatted 80eb76464ce8 parser-combinators-1.3.1/Control/Monad/Combinators.hs-formatted 203c01d41bb8 parser-combinators-1.3.1/Control/Monad/Combinators/Expr.hs-formatted f63c3b21684d parser-combinators-1.3.1/Control/Monad/Combinators/NonEmpty.hs-formatted 2ce12720b575 parser-combinators-1.3.1/Control/Monad/Permutations.hs-formatted 4c7a2ed66fb7 persistent-2.18.1.0/Database/Persist.hs-formatted af7417196697 persistent-2.18.1.0/Database/Persist/Class.hs-formatted a62cb576f4b1 persistent-2.18.1.0/Database/Persist/Class/PersistConfig.hs-formatted 56f625ad1ea2 persistent-2.18.1.0/Database/Persist/Class/PersistEntity.hs-formatted 59a8f044a3b1 persistent-2.18.1.0/Database/Persist/Class/PersistField.hs-formatted 4229d83e727f persistent-2.18.1.0/Database/Persist/Class/PersistQuery.hs-formatted 194836df1fd0 persistent-2.18.1.0/Database/Persist/Class/PersistStore.hs-formatted c7df1c76c273 persistent-2.18.1.0/Database/Persist/Class/PersistUnique.hs-formatted 8411f5f4d556 persistent-2.18.1.0/Database/Persist/Compatible.hs-formatted 40afca283a80 persistent-2.18.1.0/Database/Persist/Compatible/TH.hs-formatted 88f7099ef25d persistent-2.18.1.0/Database/Persist/Compatible/Types.hs-formatted afd0e0f5df2e persistent-2.18.1.0/Database/Persist/EntityDef.hs-formatted 849d0a429195 persistent-2.18.1.0/Database/Persist/EntityDef/Internal.hs-formatted e1f19a8d7ad8 persistent-2.18.1.0/Database/Persist/FieldDef.hs-formatted ab8743cef9ef persistent-2.18.1.0/Database/Persist/FieldDef/Internal.hs-formatted 62ee350971e4 persistent-2.18.1.0/Database/Persist/ImplicitIdDef.hs-formatted 23219cfb95d9 persistent-2.18.1.0/Database/Persist/ImplicitIdDef/Internal.hs-formatted 03da4b4e1d1b persistent-2.18.1.0/Database/Persist/Names.hs-formatted 67c816fd5b28 persistent-2.18.1.0/Database/Persist/PersistValue.hs-formatted 3b8981721873 persistent-2.18.1.0/Database/Persist/Quasi.hs-formatted 8181443f0a2e persistent-2.18.1.0/Database/Persist/Quasi/Internal.hs-formatted 46a99c7ced31 persistent-2.18.1.0/Database/Persist/Quasi/Internal/ModelParser.hs-formatted 7c334061474c persistent-2.18.1.0/Database/Persist/Quasi/Internal/TypeParser.hs-formatted 21110acf54fd persistent-2.18.1.0/Database/Persist/Quasi/PersistSettings.hs-formatted bd8ed569b227 persistent-2.18.1.0/Database/Persist/Quasi/PersistSettings/Internal.hs-formatted a2208d509db2 persistent-2.18.1.0/Database/Persist/Sql.hs-formatted 246fc7fd8a33 persistent-2.18.1.0/Database/Persist/Sql/Class.hs-formatted 7df96aa6ca37 persistent-2.18.1.0/Database/Persist/Sql/Internal.hs-formatted 8961bf4b32ff persistent-2.18.1.0/Database/Persist/Sql/Migration.hs-formatted 6bb586234ba3 persistent-2.18.1.0/Database/Persist/Sql/Orphan/PersistQuery.hs-formatted f92ba225547b persistent-2.18.1.0/Database/Persist/Sql/Orphan/PersistStore.hs-formatted 423a6f1ddcbf persistent-2.18.1.0/Database/Persist/Sql/Orphan/PersistUnique.hs-formatted 4da2e4b129cc persistent-2.18.1.0/Database/Persist/Sql/Raw.hs-formatted 0e7b2ba6e228 persistent-2.18.1.0/Database/Persist/Sql/Run.hs-formatted 87c15b78e7c4 persistent-2.18.1.0/Database/Persist/Sql/Types.hs-formatted 9e7bc02b72db persistent-2.18.1.0/Database/Persist/Sql/Types/Internal.hs-formatted 4501af7f2e24 persistent-2.18.1.0/Database/Persist/Sql/Util.hs-formatted 20882da7c4ce persistent-2.18.1.0/Database/Persist/SqlBackend.hs-formatted 748cbc69c920 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal.hs-formatted 47acc3733907 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/InsertSqlResult.hs-formatted 4bd5d30fe421 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/IsolationLevel.hs-formatted c8a378801422 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/MkSqlBackend.hs-formatted 945521fad6a2 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/SqlPoolHooks.hs-formatted 4e0a2509487b persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/Statement.hs-formatted e5985feb4a17 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/StatementCache.hs-formatted 8c6a9aceba09 persistent-2.18.1.0/Database/Persist/SqlBackend/SqlPoolHooks.hs-formatted 22acd1321720 persistent-2.18.1.0/Database/Persist/SqlBackend/StatementCache.hs-formatted c43972a3241b persistent-2.18.1.0/Database/Persist/TH.hs-formatted 041ebd0c7bdf persistent-2.18.1.0/Database/Persist/TH/Internal.hs-formatted 3eb1ab75fbdf persistent-2.18.1.0/Database/Persist/Types.hs-formatted 602702e0f86e persistent-2.18.1.0/Database/Persist/Types/Base.hs-formatted b8189bc0e07d persistent-2.18.1.0/Database/Persist/Types/SourceSpan.hs-formatted 1aec50d3544f persistent-2.18.1.0/bench/Main.hs-formatted d4e78e3f895b persistent-2.18.1.0/bench/Models.hs-formatted 1e8c8c93c976 persistent-2.18.1.0/test/Database/Persist/ClassSpec.hs-formatted 6082a8164f41 persistent-2.18.1.0/test/Database/Persist/PersistValueSpec.hs-formatted 6b7b4611f96f persistent-2.18.1.0/test/Database/Persist/QuasiSpec.hs-formatted 519e8fe84f6b persistent-2.18.1.0/test/Database/Persist/TH/CommentSpec.hs-formatted e39700ee9e91 persistent-2.18.1.0/test/Database/Persist/TH/CompositeKeyStyleSpec.hs-formatted f9f4014951e3 persistent-2.18.1.0/test/Database/Persist/TH/DiscoverEntitiesSpec.hs-formatted c444c6731179 persistent-2.18.1.0/test/Database/Persist/TH/EmbedSpec.hs-formatted bf23d25d4982 persistent-2.18.1.0/test/Database/Persist/TH/EntityHaddockSpec.hs-formatted 6809c758a81d persistent-2.18.1.0/test/Database/Persist/TH/ForeignRefSpec.hs-formatted 0c3421ff2893 persistent-2.18.1.0/test/Database/Persist/TH/ImplicitIdColSpec.hs-formatted 8570d4321968 persistent-2.18.1.0/test/Database/Persist/TH/JsonEncodingSpec.hs-formatted 8adfe4a4228d persistent-2.18.1.0/test/Database/Persist/TH/KindEntitiesSpec.hs-formatted 5aacd109f219 persistent-2.18.1.0/test/Database/Persist/TH/KindEntitiesSpecImports.hs-formatted 95ba90d362da persistent-2.18.1.0/test/Database/Persist/TH/MaybeFieldDefsSpec.hs-formatted c4b2085e7249 persistent-2.18.1.0/test/Database/Persist/TH/MigrationOnlySpec.hs-formatted dbad9d8d922f persistent-2.18.1.0/test/Database/Persist/TH/MultiBlockSpec.hs-formatted b776165f7ac3 persistent-2.18.1.0/test/Database/Persist/TH/MultiBlockSpec/Model.hs-formatted baa7f67273ec persistent-2.18.1.0/test/Database/Persist/TH/NestedSymbolsInTypeSpec.hs-formatted f0e370f995e7 persistent-2.18.1.0/test/Database/Persist/TH/NestedSymbolsInTypeSpecImports.hs-formatted 148f97b27fd9 persistent-2.18.1.0/test/Database/Persist/TH/NoFieldSelectorsSpec.hs-formatted e227905a242e persistent-2.18.1.0/test/Database/Persist/TH/OverloadedLabelSpec.hs-formatted ad712bcac46e persistent-2.18.1.0/test/Database/Persist/TH/PersistWith/Model.hs-formatted 8d58beb8b33c persistent-2.18.1.0/test/Database/Persist/TH/PersistWith/Model2.hs-formatted a7b8dff135f1 persistent-2.18.1.0/test/Database/Persist/TH/PersistWithSpec.hs-formatted 7b6cf72d5ecc persistent-2.18.1.0/test/Database/Persist/TH/RequireOnlyPersistImportSpec.hs-formatted 9a0756832b2d persistent-2.18.1.0/test/Database/Persist/TH/SharedPrimaryKeyImportedSpec.hs-formatted 885e1164f19c persistent-2.18.1.0/test/Database/Persist/TH/SharedPrimaryKeySpec.hs-formatted 145463b36f4d persistent-2.18.1.0/test/Database/Persist/TH/SumSpec.hs-formatted e6bfe40fd881 persistent-2.18.1.0/test/Database/Persist/TH/ToFromPersistValuesSpec.hs-formatted a18bfc6474db persistent-2.18.1.0/test/Database/Persist/TH/TypeLitFieldDefsSpec.hs-formatted 4b5eb99e6097 persistent-2.18.1.0/test/Database/Persist/THSpec.hs-formatted f9304e426550 persistent-2.18.1.0/test/TemplateTestImports.hs-formatted 7f05465b25d5 persistent-2.18.1.0/test/main.hs-formatted e865ae48f11b pipes-4.3.16/Setup.hs-formatted bc3b140ba83c pipes-4.3.16/benchmarks/Common.hs-formatted e459e4d124d4 pipes-4.3.16/benchmarks/LiftBench.hs-formatted d100cca123ea pipes-4.3.16/benchmarks/PreludeBench.hs-formatted 651557525061 pipes-4.3.16/src/Pipes.hs-formatted 332e8aaad352 pipes-4.3.16/src/Pipes/Core.hs-formatted e021398dbff3 pipes-4.3.16/src/Pipes/Internal.hs-formatted e3b36f0685b2 pipes-4.3.16/src/Pipes/Lift.hs-formatted 82bba5f85292 pipes-4.3.16/src/Pipes/Prelude.hs-formatted 436224de8a77 pipes-4.3.16/src/Pipes/Tutorial.hs-formatted 2d58a81d02c8 pipes-4.3.16/tests/Main.hs-formatted 56dca68e0a87 postgrest-9.0.1/Setup.hs-formatted 772d4f353686 postgrest-9.0.1/main/Main.hs-formatted e24d5ee8932f postgrest-9.0.1/src/PostgREST/App.hs-formatted f658b8d95628 postgrest-9.0.1/src/PostgREST/AppState.hs-formatted 04688f64c4e1 postgrest-9.0.1/src/PostgREST/Auth.hs-formatted 0abbe3feaa05 postgrest-9.0.1/src/PostgREST/CLI.hs-formatted 1b3df3371712 postgrest-9.0.1/src/PostgREST/Config.hs-formatted 26e0ccfa04f8 postgrest-9.0.1/src/PostgREST/Config/Database.hs-formatted 9632241317fd postgrest-9.0.1/src/PostgREST/Config/JSPath.hs-formatted b719e278251b postgrest-9.0.1/src/PostgREST/Config/PgVersion.hs-formatted 6c2ca99e2760 postgrest-9.0.1/src/PostgREST/Config/Proxy.hs-formatted 65c66f863629 postgrest-9.0.1/src/PostgREST/ContentType.hs-formatted 9200d4931d04 postgrest-9.0.1/src/PostgREST/Cors.hs-formatted 738b5e18a7a6 postgrest-9.0.1/src/PostgREST/DbStructure.hs-formatted a0f5c884d319 postgrest-9.0.1/src/PostgREST/DbStructure/Identifiers.hs-formatted 29d8af69557a postgrest-9.0.1/src/PostgREST/DbStructure/Proc.hs-formatted 8670bffe5d4a postgrest-9.0.1/src/PostgREST/DbStructure/Relationship.hs-formatted 66c6fb5fc0f5 postgrest-9.0.1/src/PostgREST/DbStructure/Table.hs-formatted c35d5cc3a41e postgrest-9.0.1/src/PostgREST/Error.hs-formatted f1b82d17eed8 postgrest-9.0.1/src/PostgREST/GucHeader.hs-formatted 2c6a7ae61af9 postgrest-9.0.1/src/PostgREST/Logger.hs-formatted 1dacd910468e postgrest-9.0.1/src/PostgREST/Middleware.hs-formatted 17654b363841 postgrest-9.0.1/src/PostgREST/OpenAPI.hs-formatted e057b4b771ea postgrest-9.0.1/src/PostgREST/Query/QueryBuilder.hs-formatted 9ac8d5c64df2 postgrest-9.0.1/src/PostgREST/Query/SqlFragment.hs-formatted 5f4cbf20b7f3 postgrest-9.0.1/src/PostgREST/Query/Statements.hs-formatted 7d83276a4311 postgrest-9.0.1/src/PostgREST/RangeQuery.hs-formatted 4cecd3055b78 postgrest-9.0.1/src/PostgREST/Request/ApiRequest.hs-formatted de23350d6744 postgrest-9.0.1/src/PostgREST/Request/DbRequestBuilder.hs-formatted fc3632173741 postgrest-9.0.1/src/PostgREST/Request/Parsers.hs-formatted 8e710c5836da postgrest-9.0.1/src/PostgREST/Request/Preferences.hs-formatted 1353ba00b6c3 postgrest-9.0.1/src/PostgREST/Request/Types.hs-formatted 0c839dec485e postgrest-9.0.1/src/PostgREST/Unix.hs-formatted 793800bb054f postgrest-9.0.1/src/PostgREST/Version.hs-formatted 900b9c705574 postgrest-9.0.1/src/PostgREST/Workers.hs-formatted c719f882d27c postgrest-9.0.1/test/doc/Main.hs-formatted 0aa4fe971d52 postgrest-9.0.1/test/spec/Feature/AndOrParamsSpec.hs-formatted 000191b3349e postgrest-9.0.1/test/spec/Feature/AsymmetricJwtSpec.hs-formatted 5a86c6233052 postgrest-9.0.1/test/spec/Feature/AudienceJwtSecretSpec.hs-formatted acbe9362314e postgrest-9.0.1/test/spec/Feature/AuthSpec.hs-formatted 7cb71699f728 postgrest-9.0.1/test/spec/Feature/BinaryJwtSecretSpec.hs-formatted 2fb433681c01 postgrest-9.0.1/test/spec/Feature/ConcurrentSpec.hs-formatted db553e991f45 postgrest-9.0.1/test/spec/Feature/CorsSpec.hs-formatted 343d3e3a465e postgrest-9.0.1/test/spec/Feature/DeleteSpec.hs-formatted 112082d3da25 postgrest-9.0.1/test/spec/Feature/DisabledOpenApiSpec.hs-formatted ad7384965a9e postgrest-9.0.1/test/spec/Feature/EmbedDisambiguationSpec.hs-formatted f7a7ea3d2a87 postgrest-9.0.1/test/spec/Feature/EmbedInnerJoinSpec.hs-formatted a3dddabdb704 postgrest-9.0.1/test/spec/Feature/ExtraSearchPathSpec.hs-formatted ff20687cb475 postgrest-9.0.1/test/spec/Feature/HtmlRawOutputSpec.hs-formatted 2e6a9474e718 postgrest-9.0.1/test/spec/Feature/IgnorePrivOpenApiSpec.hs-formatted ea599ebfe99c postgrest-9.0.1/test/spec/Feature/InsertSpec.hs-formatted 6f6ff9c35189 postgrest-9.0.1/test/spec/Feature/JsonOperatorSpec.hs-formatted 12271bc52ad6 postgrest-9.0.1/test/spec/Feature/LegacyGucsSpec.hs-formatted 5228aaf9349c postgrest-9.0.1/test/spec/Feature/MultipleSchemaSpec.hs-formatted 3e8b6471e229 postgrest-9.0.1/test/spec/Feature/NoJwtSpec.hs-formatted a7144a84ab24 postgrest-9.0.1/test/spec/Feature/NonexistentSchemaSpec.hs-formatted d10bde3ba967 postgrest-9.0.1/test/spec/Feature/OpenApiSpec.hs-formatted 1b9c2f6f5c75 postgrest-9.0.1/test/spec/Feature/OptionsSpec.hs-formatted 89a1589ff0fe postgrest-9.0.1/test/spec/Feature/ProxySpec.hs-formatted 4e889783f9ba postgrest-9.0.1/test/spec/Feature/QueryLimitedSpec.hs-formatted 343a60a46b7c postgrest-9.0.1/test/spec/Feature/QuerySpec.hs-formatted 06632a6a8e0a postgrest-9.0.1/test/spec/Feature/RangeSpec.hs-formatted 7cb746560127 postgrest-9.0.1/test/spec/Feature/RawOutputTypesSpec.hs-formatted b4a3ab5a81a9 postgrest-9.0.1/test/spec/Feature/RollbackSpec.hs-formatted dc5321d79fb3 postgrest-9.0.1/test/spec/Feature/RootSpec.hs-formatted 77a649eeb2e6 postgrest-9.0.1/test/spec/Feature/RpcPreRequestGucsSpec.hs-formatted 79c99d7ebcf6 postgrest-9.0.1/test/spec/Feature/RpcSpec.hs-formatted 73c0ab518a3d postgrest-9.0.1/test/spec/Feature/SingularSpec.hs-formatted be03de84804f postgrest-9.0.1/test/spec/Feature/UnicodeSpec.hs-formatted 162dade8a566 postgrest-9.0.1/test/spec/Feature/UpdateSpec.hs-formatted eb3b5ebce8b4 postgrest-9.0.1/test/spec/Feature/UpsertSpec.hs-formatted 7a9dd3383794 postgrest-9.0.1/test/spec/Main.hs-formatted f32b163f57d7 postgrest-9.0.1/test/spec/QueryCost.hs-formatted c8a3a9772eba postgrest-9.0.1/test/spec/SpecHelper.hs-formatted c136e6235ce2 postgrest-9.0.1/test/spec/TestTypes.hs-formatted 13abd8b59335 profunctors-5.6.3/src/Data/Profunctor.hs-formatted cd53a440a7f3 profunctors-5.6.3/src/Data/Profunctor/Adjunction.hs-formatted 44ffb6d1bea1 profunctors-5.6.3/src/Data/Profunctor/Cayley.hs-formatted 44e226489961 profunctors-5.6.3/src/Data/Profunctor/Choice.hs-formatted c367f5dff16e profunctors-5.6.3/src/Data/Profunctor/Closed.hs-formatted 160d1a664492 profunctors-5.6.3/src/Data/Profunctor/Composition.hs-formatted 637e91df9ad9 profunctors-5.6.3/src/Data/Profunctor/Mapping.hs-formatted 59b30aaa8b06 profunctors-5.6.3/src/Data/Profunctor/Monad.hs-formatted d783247e0329 profunctors-5.6.3/src/Data/Profunctor/Ran.hs-formatted 1a03f7457399 profunctors-5.6.3/src/Data/Profunctor/Rep.hs-formatted a405de2f08b4 profunctors-5.6.3/src/Data/Profunctor/Sieve.hs-formatted 40a5163c4f1d profunctors-5.6.3/src/Data/Profunctor/Strong.hs-formatted c581748aad4e profunctors-5.6.3/src/Data/Profunctor/Traversing.hs-formatted 66e633834891 profunctors-5.6.3/src/Data/Profunctor/Types.hs-formatted 6d4d49816f3c profunctors-5.6.3/src/Data/Profunctor/Unsafe.hs-formatted d859bac5f783 profunctors-5.6.3/src/Data/Profunctor/Yoneda.hs-formatted f97b976f5a71 purescript-0.15.15/Setup.hs-formatted fc25cc9ab507 purescript-0.15.15/app/Command/Bundle.hs-formatted d0c2fd344d2b purescript-0.15.15/app/Command/Compile.hs-formatted 7219813f0a5c purescript-0.15.15/app/Command/Docs.hs-formatted c06c3f05260e purescript-0.15.15/app/Command/Docs/Html.hs-formatted 037036ef66e1 purescript-0.15.15/app/Command/Docs/Markdown.hs-formatted 60636f418bc5 purescript-0.15.15/app/Command/Graph.hs-formatted 60131f690f8b purescript-0.15.15/app/Command/Hierarchy.hs-formatted be7dd3becfad purescript-0.15.15/app/Command/Ide.hs-formatted 2c3998824b51 purescript-0.15.15/app/Command/Publish.hs-formatted a930f15c3b4e purescript-0.15.15/app/Command/REPL.hs-formatted aa128423c4fb purescript-0.15.15/app/Main.hs-formatted 8c8cfed900b8 purescript-0.15.15/app/SharedCLI.hs-formatted 18a85337fa6b purescript-0.15.15/app/Version.hs-formatted e69aed05fabc purescript-0.15.15/src/Control/Monad/Logger.hs-formatted f396208e56b6 purescript-0.15.15/src/Control/Monad/Supply.hs-formatted 4199e8087c69 purescript-0.15.15/src/Control/Monad/Supply/Class.hs-formatted 7a4d7979e1c9 purescript-0.15.15/src/Data/Text/PureScript.hs-formatted eef5dd037abf purescript-0.15.15/src/Language/PureScript.hs-formatted 64c0d4442190 purescript-0.15.15/src/Language/PureScript/AST.hs-formatted 6857432ccb89 purescript-0.15.15/src/Language/PureScript/AST/Binders.hs-formatted 31b3dc106302 purescript-0.15.15/src/Language/PureScript/AST/Declarations.hs-formatted 0368132e2a7c purescript-0.15.15/src/Language/PureScript/AST/Declarations/ChainId.hs-formatted fbdaa45efd39 purescript-0.15.15/src/Language/PureScript/AST/Exported.hs-formatted 16c598490b8b purescript-0.15.15/src/Language/PureScript/AST/Literals.hs-formatted 6dde4019084f purescript-0.15.15/src/Language/PureScript/AST/Operators.hs-formatted 7cb50594d1de purescript-0.15.15/src/Language/PureScript/AST/SourcePos.hs-formatted fd740ce393cd purescript-0.15.15/src/Language/PureScript/AST/Traversals.hs-formatted b141c8c10db8 purescript-0.15.15/src/Language/PureScript/AST/Utils.hs-formatted 174742a25d11 purescript-0.15.15/src/Language/PureScript/Bundle.hs-formatted 665ede6abf17 purescript-0.15.15/src/Language/PureScript/CST.hs-formatted a5963c5438f8 purescript-0.15.15/src/Language/PureScript/CST/Convert.hs-formatted 2143990c6781 purescript-0.15.15/src/Language/PureScript/CST/Errors.hs-formatted c81c2ecf7ebe purescript-0.15.15/src/Language/PureScript/CST/Flatten.hs-formatted 36fe1c70493a purescript-0.15.15/src/Language/PureScript/CST/Layout.hs-formatted 7ac157858a86 purescript-0.15.15/src/Language/PureScript/CST/Lexer.hs-formatted a08c36743aa3 purescript-0.15.15/src/Language/PureScript/CST/Monad.hs-formatted a696e86ab554 purescript-0.15.15/src/Language/PureScript/CST/Positions.hs-formatted 2df3a82dec66 purescript-0.15.15/src/Language/PureScript/CST/Print.hs-formatted c741805ffed3 purescript-0.15.15/src/Language/PureScript/CST/Traversals.hs-formatted 81c5d151f932 purescript-0.15.15/src/Language/PureScript/CST/Traversals/Type.hs-formatted 46dd73253c21 purescript-0.15.15/src/Language/PureScript/CST/Types.hs-formatted 36359ab27c15 purescript-0.15.15/src/Language/PureScript/CST/Utils.hs-formatted ebd74707d2df purescript-0.15.15/src/Language/PureScript/CodeGen.hs-formatted 9cf1b3de6d73 purescript-0.15.15/src/Language/PureScript/CodeGen/JS.hs-formatted f10bc54be3c8 purescript-0.15.15/src/Language/PureScript/CodeGen/JS/Common.hs-formatted f81f2f0671e9 purescript-0.15.15/src/Language/PureScript/CodeGen/JS/Printer.hs-formatted a69b28f801ea purescript-0.15.15/src/Language/PureScript/Comments.hs-formatted 7e1454fed47d purescript-0.15.15/src/Language/PureScript/Constants/Libs.hs-formatted 4e84deb1970c purescript-0.15.15/src/Language/PureScript/Constants/Prim.hs-formatted 08cf8657b87b purescript-0.15.15/src/Language/PureScript/Constants/TH.hs-formatted 0e372eb9e534 purescript-0.15.15/src/Language/PureScript/CoreFn.hs-formatted c133879c858f purescript-0.15.15/src/Language/PureScript/CoreFn/Ann.hs-formatted 2556afbb3bea purescript-0.15.15/src/Language/PureScript/CoreFn/Binders.hs-formatted 08f7f269d88a purescript-0.15.15/src/Language/PureScript/CoreFn/CSE.hs-formatted 3a083ba8ee7c purescript-0.15.15/src/Language/PureScript/CoreFn/Desugar.hs-formatted 2f90c3840d55 purescript-0.15.15/src/Language/PureScript/CoreFn/Expr.hs-formatted 17eec7fac664 purescript-0.15.15/src/Language/PureScript/CoreFn/FromJSON.hs-formatted 3a475fc18f00 purescript-0.15.15/src/Language/PureScript/CoreFn/Laziness.hs-formatted 083a81cbf5bf purescript-0.15.15/src/Language/PureScript/CoreFn/Meta.hs-formatted 2b2d42f479f2 purescript-0.15.15/src/Language/PureScript/CoreFn/Module.hs-formatted 26edb255fed7 purescript-0.15.15/src/Language/PureScript/CoreFn/Optimizer.hs-formatted a01b08124299 purescript-0.15.15/src/Language/PureScript/CoreFn/ToJSON.hs-formatted 74e775f771b9 purescript-0.15.15/src/Language/PureScript/CoreFn/Traversals.hs-formatted 63122a31d5b9 purescript-0.15.15/src/Language/PureScript/CoreImp.hs-formatted 5545c5e53cd1 purescript-0.15.15/src/Language/PureScript/CoreImp/AST.hs-formatted 07f8248f1a4c purescript-0.15.15/src/Language/PureScript/CoreImp/Module.hs-formatted 76a5683510a3 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer.hs-formatted 900e45f47ef2 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Blocks.hs-formatted 635c6dcfbee9 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Common.hs-formatted 1d936757f795 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Inliner.hs-formatted cd70e24b2f0a purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/MagicDo.hs-formatted 4a46787c4f53 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/TCO.hs-formatted c3bcb1230471 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Unused.hs-formatted 54228acabdeb purescript-0.15.15/src/Language/PureScript/Crash.hs-formatted d38f4a6a3f33 purescript-0.15.15/src/Language/PureScript/Docs.hs-formatted bec4951fe3e0 purescript-0.15.15/src/Language/PureScript/Docs/AsHtml.hs-formatted b2652f6691cc purescript-0.15.15/src/Language/PureScript/Docs/AsMarkdown.hs-formatted a02b1656aca1 purescript-0.15.15/src/Language/PureScript/Docs/Collect.hs-formatted 4b0e409bc207 purescript-0.15.15/src/Language/PureScript/Docs/Convert.hs-formatted d0cd55c3280e purescript-0.15.15/src/Language/PureScript/Docs/Convert/ReExports.hs-formatted 9037caf6f0fd purescript-0.15.15/src/Language/PureScript/Docs/Convert/Single.hs-formatted d97124c1ab6a purescript-0.15.15/src/Language/PureScript/Docs/Css.hs-formatted f90d0d26dd2b purescript-0.15.15/src/Language/PureScript/Docs/Prim.hs-formatted edaa27498ded purescript-0.15.15/src/Language/PureScript/Docs/Render.hs-formatted 4c98064ffe67 purescript-0.15.15/src/Language/PureScript/Docs/RenderedCode.hs-formatted 2f9857670eb2 purescript-0.15.15/src/Language/PureScript/Docs/RenderedCode/RenderType.hs-formatted c20dd6b6a9df purescript-0.15.15/src/Language/PureScript/Docs/RenderedCode/Types.hs-formatted 876b5438b748 purescript-0.15.15/src/Language/PureScript/Docs/Tags.hs-formatted 5872469a59f7 purescript-0.15.15/src/Language/PureScript/Docs/Types.hs-formatted bc381d509404 purescript-0.15.15/src/Language/PureScript/Docs/Utils/MonoidExtras.hs-formatted bb6ed1581fd8 purescript-0.15.15/src/Language/PureScript/Environment.hs-formatted 833858141e1a purescript-0.15.15/src/Language/PureScript/Errors.hs-formatted 805b37c2988c purescript-0.15.15/src/Language/PureScript/Errors/JSON.hs-formatted 30d65d281400 purescript-0.15.15/src/Language/PureScript/Externs.hs-formatted 20df6c4b2580 purescript-0.15.15/src/Language/PureScript/Glob.hs-formatted a91b6028a053 purescript-0.15.15/src/Language/PureScript/Graph.hs-formatted 0af324e42f5f purescript-0.15.15/src/Language/PureScript/Hierarchy.hs-formatted 281c5e956097 purescript-0.15.15/src/Language/PureScript/Ide.hs-formatted 4d15e4184a91 purescript-0.15.15/src/Language/PureScript/Ide/CaseSplit.hs-formatted 206e9d6ee362 purescript-0.15.15/src/Language/PureScript/Ide/Command.hs-formatted 9df2facac4b2 purescript-0.15.15/src/Language/PureScript/Ide/Completion.hs-formatted beb74c449b74 purescript-0.15.15/src/Language/PureScript/Ide/Error.hs-formatted ead51a8cf8b2 purescript-0.15.15/src/Language/PureScript/Ide/Externs.hs-formatted 846996d62981 purescript-0.15.15/src/Language/PureScript/Ide/Filter.hs-formatted 3576f2d7de05 purescript-0.15.15/src/Language/PureScript/Ide/Filter/Declaration.hs-formatted 19c2f9d82289 purescript-0.15.15/src/Language/PureScript/Ide/Filter/Imports.hs-formatted d3bf1ba9ac6a purescript-0.15.15/src/Language/PureScript/Ide/Imports.hs-formatted 03a7f932c16a purescript-0.15.15/src/Language/PureScript/Ide/Imports/Actions.hs-formatted dae869e09d51 purescript-0.15.15/src/Language/PureScript/Ide/Logging.hs-formatted 6495efed1636 purescript-0.15.15/src/Language/PureScript/Ide/Matcher.hs-formatted fe69a6b2ed2c purescript-0.15.15/src/Language/PureScript/Ide/Prim.hs-formatted ac973f1b2f5a purescript-0.15.15/src/Language/PureScript/Ide/Rebuild.hs-formatted 9390668ca723 purescript-0.15.15/src/Language/PureScript/Ide/Reexports.hs-formatted 40ae0185eda5 purescript-0.15.15/src/Language/PureScript/Ide/SourceFile.hs-formatted 4badb68aba43 purescript-0.15.15/src/Language/PureScript/Ide/State.hs-formatted 97156b72015a purescript-0.15.15/src/Language/PureScript/Ide/Types.hs-formatted a2547b22a5bd purescript-0.15.15/src/Language/PureScript/Ide/Usage.hs-formatted c5c7f0134f7c purescript-0.15.15/src/Language/PureScript/Ide/Util.hs-formatted a54bd99f9377 purescript-0.15.15/src/Language/PureScript/Interactive.hs-formatted ea47006e2013 purescript-0.15.15/src/Language/PureScript/Interactive/Completion.hs-formatted 17488dfda517 purescript-0.15.15/src/Language/PureScript/Interactive/Directive.hs-formatted 2ab1349ff2ec purescript-0.15.15/src/Language/PureScript/Interactive/IO.hs-formatted f41f6e5826db purescript-0.15.15/src/Language/PureScript/Interactive/Message.hs-formatted 595ebf5e2141 purescript-0.15.15/src/Language/PureScript/Interactive/Module.hs-formatted 4b81e9100134 purescript-0.15.15/src/Language/PureScript/Interactive/Parser.hs-formatted 1addaeaf36e0 purescript-0.15.15/src/Language/PureScript/Interactive/Printer.hs-formatted 2a5d0038271f purescript-0.15.15/src/Language/PureScript/Interactive/Types.hs-formatted 1c78dfc40930 purescript-0.15.15/src/Language/PureScript/Label.hs-formatted 2d0f22fb5805 purescript-0.15.15/src/Language/PureScript/Linter.hs-formatted a4813ff2c614 purescript-0.15.15/src/Language/PureScript/Linter/Exhaustive.hs-formatted 299f2c75ebc4 purescript-0.15.15/src/Language/PureScript/Linter/Imports.hs-formatted 463c2330ffe1 purescript-0.15.15/src/Language/PureScript/Linter/Wildcards.hs-formatted 1511cd74f131 purescript-0.15.15/src/Language/PureScript/Make.hs-formatted 316ef33e238d purescript-0.15.15/src/Language/PureScript/Make/Actions.hs-formatted 103c1376e453 purescript-0.15.15/src/Language/PureScript/Make/BuildPlan.hs-formatted 2ff6ea3e0439 purescript-0.15.15/src/Language/PureScript/Make/Cache.hs-formatted 5a62260bbc36 purescript-0.15.15/src/Language/PureScript/Make/Monad.hs-formatted d32972a1d126 purescript-0.15.15/src/Language/PureScript/ModuleDependencies.hs-formatted 55c6638b2d15 purescript-0.15.15/src/Language/PureScript/Names.hs-formatted 0f9b1ea22f14 purescript-0.15.15/src/Language/PureScript/Options.hs-formatted 2a2b99ef8171 purescript-0.15.15/src/Language/PureScript/PSString.hs-formatted 2b26a96d8bcc purescript-0.15.15/src/Language/PureScript/Pretty.hs-formatted c590bb7fdae4 purescript-0.15.15/src/Language/PureScript/Pretty/Common.hs-formatted c8ae94e56cbc purescript-0.15.15/src/Language/PureScript/Pretty/Types.hs-formatted e154c175f83f purescript-0.15.15/src/Language/PureScript/Pretty/Values.hs-formatted 7afc9764bee9 purescript-0.15.15/src/Language/PureScript/Publish.hs-formatted 79e26f16154a purescript-0.15.15/src/Language/PureScript/Publish/BoxesHelpers.hs-formatted fd7373c25f32 purescript-0.15.15/src/Language/PureScript/Publish/ErrorsWarnings.hs-formatted a7eeb8da714c purescript-0.15.15/src/Language/PureScript/Publish/Registry/Compat.hs-formatted fba7a9e201e6 purescript-0.15.15/src/Language/PureScript/Publish/Utils.hs-formatted c4b949fe0d09 purescript-0.15.15/src/Language/PureScript/Renamer.hs-formatted 9e88be14067d purescript-0.15.15/src/Language/PureScript/Roles.hs-formatted 2530d5774295 purescript-0.15.15/src/Language/PureScript/Sugar.hs-formatted 834b0e83e969 purescript-0.15.15/src/Language/PureScript/Sugar/AdoNotation.hs-formatted 69ace5e25259 purescript-0.15.15/src/Language/PureScript/Sugar/BindingGroups.hs-formatted 502cd635c402 purescript-0.15.15/src/Language/PureScript/Sugar/CaseDeclarations.hs-formatted 7efb24168510 purescript-0.15.15/src/Language/PureScript/Sugar/DoNotation.hs-formatted b232946c3700 purescript-0.15.15/src/Language/PureScript/Sugar/LetPattern.hs-formatted ae52bb36f9ee purescript-0.15.15/src/Language/PureScript/Sugar/Names.hs-formatted b2eab3efd8fe purescript-0.15.15/src/Language/PureScript/Sugar/Names/Common.hs-formatted e317ca567acf purescript-0.15.15/src/Language/PureScript/Sugar/Names/Env.hs-formatted f2e2506cd465 purescript-0.15.15/src/Language/PureScript/Sugar/Names/Exports.hs-formatted 6955df9dd4c2 purescript-0.15.15/src/Language/PureScript/Sugar/Names/Imports.hs-formatted 54d278b2a1af purescript-0.15.15/src/Language/PureScript/Sugar/ObjectWildcards.hs-formatted 1f8d111ee043 purescript-0.15.15/src/Language/PureScript/Sugar/Operators.hs-formatted 9db73f9a40a9 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Binders.hs-formatted 13722182a0e7 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Common.hs-formatted a5ab8188f154 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Expr.hs-formatted 81c3efe7c9f9 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Types.hs-formatted fb9c5b98a9e5 purescript-0.15.15/src/Language/PureScript/Sugar/TypeClasses.hs-formatted 7d9f317829e0 purescript-0.15.15/src/Language/PureScript/Sugar/TypeClasses/Deriving.hs-formatted ecea49da50c6 purescript-0.15.15/src/Language/PureScript/Sugar/TypeDeclarations.hs-formatted 24e5df024499 purescript-0.15.15/src/Language/PureScript/Traversals.hs-formatted ca48c70748fe purescript-0.15.15/src/Language/PureScript/TypeChecker.hs-formatted 9b0b916deed1 purescript-0.15.15/src/Language/PureScript/TypeChecker/Deriving.hs-formatted 6f3315a67e07 purescript-0.15.15/src/Language/PureScript/TypeChecker/Entailment.hs-formatted 475dea9a3c17 purescript-0.15.15/src/Language/PureScript/TypeChecker/Entailment/Coercible.hs-formatted b504bbdc02b8 purescript-0.15.15/src/Language/PureScript/TypeChecker/Entailment/IntCompare.hs-formatted 3fc4c00e183c purescript-0.15.15/src/Language/PureScript/TypeChecker/Kinds.hs-formatted 47e4f5ec9f12 purescript-0.15.15/src/Language/PureScript/TypeChecker/Monad.hs-formatted 4c2777ae908a purescript-0.15.15/src/Language/PureScript/TypeChecker/Roles.hs-formatted 3d9eb14e5345 purescript-0.15.15/src/Language/PureScript/TypeChecker/Skolems.hs-formatted c8964442e6c6 purescript-0.15.15/src/Language/PureScript/TypeChecker/Subsumption.hs-formatted c5b309590b3d purescript-0.15.15/src/Language/PureScript/TypeChecker/Synonyms.hs-formatted a0db4db50108 purescript-0.15.15/src/Language/PureScript/TypeChecker/TypeSearch.hs-formatted 57b17dd90b2b purescript-0.15.15/src/Language/PureScript/TypeChecker/Types.hs-formatted e88ff7e32a40 purescript-0.15.15/src/Language/PureScript/TypeChecker/Unify.hs-formatted 2d148264f334 purescript-0.15.15/src/Language/PureScript/TypeClassDictionaries.hs-formatted ed3ce891a8d0 purescript-0.15.15/src/Language/PureScript/Types.hs-formatted 50a45fbad08d purescript-0.15.15/src/System/IO/UTF8.hs-formatted c599f7d8bf58 purescript-0.15.15/tests/Language/PureScript/Ide/CompletionSpec.hs-formatted 099ba0badfd6 purescript-0.15.15/tests/Language/PureScript/Ide/FilterSpec.hs-formatted 1033245eef97 purescript-0.15.15/tests/Language/PureScript/Ide/ImportsSpec.hs-formatted 028f5c10dae7 purescript-0.15.15/tests/Language/PureScript/Ide/MatcherSpec.hs-formatted e7c92690fcf3 purescript-0.15.15/tests/Language/PureScript/Ide/RebuildSpec.hs-formatted 7890facc486a purescript-0.15.15/tests/Language/PureScript/Ide/ReexportsSpec.hs-formatted 59d2a1d292e1 purescript-0.15.15/tests/Language/PureScript/Ide/SourceFileSpec.hs-formatted 904535829fba purescript-0.15.15/tests/Language/PureScript/Ide/StateSpec.hs-formatted 9864a15e1927 purescript-0.15.15/tests/Language/PureScript/Ide/Test.hs-formatted 67fe4d589cdb purescript-0.15.15/tests/Language/PureScript/Ide/UsageSpec.hs-formatted 0406ed28e812 purescript-0.15.15/tests/Main.hs-formatted ed333c67c3b1 purescript-0.15.15/tests/PscIdeSpec.hs-formatted a2b0f5e823b9 purescript-0.15.15/tests/TestAst.hs-formatted 17d9c16f4ee1 purescript-0.15.15/tests/TestCompiler.hs-formatted c454ba7cc3dd purescript-0.15.15/tests/TestCoreFn.hs-formatted 5b562e2e0010 purescript-0.15.15/tests/TestCst.hs-formatted d9a9eb37749c purescript-0.15.15/tests/TestDocs.hs-formatted e29c16f400a0 purescript-0.15.15/tests/TestGraph.hs-formatted 7314022489fa purescript-0.15.15/tests/TestHierarchy.hs-formatted 0874e238b9c0 purescript-0.15.15/tests/TestIde.hs-formatted 4e905fa525a9 purescript-0.15.15/tests/TestMake.hs-formatted e782a733be50 purescript-0.15.15/tests/TestPrimDocs.hs-formatted d2998d562480 purescript-0.15.15/tests/TestPscPublish.hs-formatted e47fc0f000ee purescript-0.15.15/tests/TestPsci.hs-formatted 557206f834dc purescript-0.15.15/tests/TestPsci/CommandTest.hs-formatted a139fd3aa0c9 purescript-0.15.15/tests/TestPsci/CompletionTest.hs-formatted 5fa6ca09e4c4 purescript-0.15.15/tests/TestPsci/EvalTest.hs-formatted 52ef143912e6 purescript-0.15.15/tests/TestPsci/TestEnv.hs-formatted 3aaf84c12b48 purescript-0.15.15/tests/TestSourceMaps.hs-formatted 32a8b25e8a6d purescript-0.15.15/tests/TestUtils.hs-formatted 002d52c424b7 raaz-0.3.11/api/aead/Auth/Implementation.hsig-formatted 4a86cd34c9e7 raaz-0.3.11/api/aead/Cipher/Implementation.hsig-formatted faee44cdbcec raaz-0.3.11/api/aead/Interface.hs-formatted a346882029b3 raaz-0.3.11/api/auth/Implementation.hsig-formatted 64f75c0371bc raaz-0.3.11/api/auth/Interface.hs-formatted 29b7f7e93ae5 raaz-0.3.11/api/digest/Implementation.hsig-formatted 558beb703aff raaz-0.3.11/api/digest/Interface.hs-formatted 711ebf2e3620 raaz-0.3.11/api/encrypt/Implementation.hsig-formatted abdae110e56a raaz-0.3.11/api/encrypt/Interface.hs-formatted 10d5d9d622cd raaz-0.3.11/api/random/Entropy.hsig-formatted 83b376fec166 raaz-0.3.11/api/random/Implementation.hsig-formatted ffc859b186af raaz-0.3.11/api/random/Internal.hs-formatted b649659b6718 raaz-0.3.11/api/random/PRGenerator.hs-formatted a9538ed599c8 raaz-0.3.11/benchmarks/Main.hs-formatted 876b405577a3 raaz-0.3.11/benchmarks/internal/Benchmark/CSPRG.hs-formatted 20cee45b7828 raaz-0.3.11/benchmarks/internal/Benchmark/Primitive.hs-formatted 1e4c846b4064 raaz-0.3.11/benchmarks/internal/Benchmark/Types.hs-formatted 9ec4c716a238 raaz-0.3.11/core/Raaz/Core.hs-formatted 52634a64c590 raaz-0.3.11/core/Raaz/Core/ByteSource.hs-formatted a05146df1142 raaz-0.3.11/core/Raaz/Core/Constants.hs-formatted 97564cea364d raaz-0.3.11/core/Raaz/Core/CpuSupports.hs-formatted b89a1297556b raaz-0.3.11/core/Raaz/Core/Encode.hs-formatted 7d4d89c52f5c raaz-0.3.11/core/Raaz/Core/Encode/Base16.hs-formatted 1897172e3c60 raaz-0.3.11/core/Raaz/Core/Encode/Base64.hs-formatted f8721f54231f raaz-0.3.11/core/Raaz/Core/Encode/Internal.hs-formatted 47fe9c28f358 raaz-0.3.11/core/Raaz/Core/Memory.hs-formatted be5bdc9fc1ae raaz-0.3.11/core/Raaz/Core/MonoidalAction.hs-formatted a44dbacd364d raaz-0.3.11/core/Raaz/Core/Parse.hs-formatted 514d08e6f301 raaz-0.3.11/core/Raaz/Core/Parse/Unsafe.hs-formatted 3d4dcaf4509d raaz-0.3.11/core/Raaz/Core/Prelude.hs-formatted 642d73a32500 raaz-0.3.11/core/Raaz/Core/Primitive.hs-formatted f026c14b5cef raaz-0.3.11/core/Raaz/Core/Transfer.hs-formatted 437bb6bc524e raaz-0.3.11/core/Raaz/Core/Transfer/Unsafe.hs-formatted 03cf11da4658 raaz-0.3.11/core/Raaz/Core/Types.hs-formatted 14f5c5822c66 raaz-0.3.11/core/Raaz/Core/Types/Copying.hs-formatted 7a6d55f211a6 raaz-0.3.11/core/Raaz/Core/Types/Endian.hs-formatted 91bdd7e8c019 raaz-0.3.11/core/Raaz/Core/Types/Equality.hs-formatted 72aa730843b9 raaz-0.3.11/core/Raaz/Core/Types/Internal.hs-formatted 096187c85663 raaz-0.3.11/core/Raaz/Core/Types/Pointer.hs-formatted f9be8525b0e9 raaz-0.3.11/core/Raaz/Core/Types/Tuple.hs-formatted d98d94a62e17 raaz-0.3.11/core/Raaz/Core/Util/ByteString.hs-formatted aadc37085673 raaz-0.3.11/core/Raaz/Primitive/AEAD/Internal.hs-formatted bdf59fdf9536 raaz-0.3.11/core/Raaz/Primitive/Blake2/Internal.hs-formatted 26f42c9a3385 raaz-0.3.11/core/Raaz/Primitive/ChaCha20/Internal.hs-formatted 933091143258 raaz-0.3.11/core/Raaz/Primitive/HashMemory.hs-formatted 2e41cccfd947 raaz-0.3.11/core/Raaz/Primitive/Keyed/Internal.hs-formatted 11f319d28f77 raaz-0.3.11/core/Raaz/Primitive/Poly1305/Internal.hs-formatted 662036acbd84 raaz-0.3.11/core/Raaz/Primitive/Sha2/Internal.hs-formatted d321e6f120cc raaz-0.3.11/implementation/Blake2b/CHandWritten.hs-formatted c7f7e16ff427 raaz-0.3.11/implementation/Blake2b/CPortable.hs-formatted 380071ee384a raaz-0.3.11/implementation/Blake2s/CHandWritten.hs-formatted d4911e2aba2f raaz-0.3.11/implementation/ChaCha20/CHandWritten.hs-formatted fd7ed676bf40 raaz-0.3.11/implementation/ChaCha20/CPortable.hs-formatted 2f7657c239d7 raaz-0.3.11/implementation/ChaCha20/Random/CPortable.hs-formatted e3deac8e5358 raaz-0.3.11/implementation/Poly1305/CPortable.hs-formatted 340ec557db99 raaz-0.3.11/implementation/Poly1305/Memory.hs-formatted 720f42375ee4 raaz-0.3.11/implementation/Sha256/CHandWritten.hs-formatted c064cc7a8421 raaz-0.3.11/implementation/Sha256/CPortable.hs-formatted a59c773526b4 raaz-0.3.11/implementation/Sha512/CHandWritten.hs-formatted 53529d47a59f raaz-0.3.11/implementation/Sha512/CPortable.hs-formatted e5d101450ea0 raaz-0.3.11/implementation/entropy/arc4random/Entropy.hs-formatted fe1af598e9b2 raaz-0.3.11/implementation/entropy/urandom/Entropy.hs-formatted 0a7a863b87f6 raaz-0.3.11/indef/Implementation.hsig-formatted 5b5f82999259 raaz-0.3.11/indef/Utils.hs-formatted 524895081243 raaz-0.3.11/indef/buffer/Buffer.hs-formatted cd4684e81d95 raaz-0.3.11/indef/buffer/Context.hs-formatted d34b17eeb2fb raaz-0.3.11/indef/buffer/Implementation.hsig-formatted a79a9dc1ec44 raaz-0.3.11/indef/chacha20/Implementation.hsig-formatted 496eb8d3a6e9 raaz-0.3.11/indef/chacha20/XChaCha20/Implementation.hs-formatted a2c11b61575b raaz-0.3.11/indef/keyed/hash/Implementation.hsig-formatted 2d1ed3b79bf6 raaz-0.3.11/indef/keyed/hash/Mac/Implementation.hs-formatted fd3b4278ccc5 raaz-0.3.11/libverse/Raaz/Verse/Blake2b/C/Portable.hs-formatted 44b600e76f74 raaz-0.3.11/libverse/Raaz/Verse/ChaCha20/C/Portable.hs-formatted 221da1a1ba37 raaz-0.3.11/libverse/Raaz/Verse/Poly1305/C/Portable.hs-formatted 7ccb752d8b1d raaz-0.3.11/libverse/Raaz/Verse/Sha256/C/Portable.hs-formatted 695112ac1280 raaz-0.3.11/libverse/Raaz/Verse/Sha512/C/Portable.hs-formatted 2fbd14b119a4 raaz-0.3.11/monocypher/tests/Monocypher.hs-formatted 1d0ec4de7195 raaz-0.3.11/monocypher/tests/Monocypher/Blake2bSpec.hs-formatted 0c1244f02a18 raaz-0.3.11/monocypher/tests/Monocypher/ChaCha20Spec.hs-formatted e81070c8d0f4 raaz-0.3.11/monocypher/tests/Monocypher/Sha512Spec.hs-formatted 309f4011c1b9 raaz-0.3.11/raaz/Raaz.hs-formatted d7e15e03f1d7 raaz-0.3.11/raaz/Raaz/Auth.hs-formatted 44194680e191 raaz-0.3.11/raaz/Raaz/AuthEncrypt.hs-formatted 6c7dee472711 raaz-0.3.11/raaz/Raaz/AuthEncrypt/Unsafe.hs-formatted 1f2758b948a2 raaz-0.3.11/raaz/Raaz/Digest.hs-formatted b154ef8c060a raaz-0.3.11/raaz/Raaz/Random.hs-formatted 14ec81125123 raaz-0.3.11/raaz/Raaz/V1/Auth.hs-formatted 54d933b4519f raaz-0.3.11/raaz/Raaz/V1/AuthEncrypt.hs-formatted 9c227de3e844 raaz-0.3.11/raaz/Raaz/V1/AuthEncrypt/Unsafe.hs-formatted b221e97b02a1 raaz-0.3.11/raaz/Raaz/V1/Digest.hs-formatted dfc72506b4ee raaz-0.3.11/raaz/bin/Command/Checksum.hs-formatted 6af965bca577 raaz-0.3.11/raaz/bin/Command/Info.hs-formatted 8b84f490d89a raaz-0.3.11/raaz/bin/Command/Rand.hs-formatted 2bbae784706a raaz-0.3.11/raaz/bin/Main.hs-formatted bb0aca2148f4 raaz-0.3.11/raaz/bin/Usage.hs-formatted 8955f3f595d6 raaz-0.3.11/tests/Raaz/Cipher/ChaCha20Spec.hs-formatted 66c20297d941 raaz-0.3.11/tests/Raaz/Cipher/XChaCha20Spec.hs-formatted f70ba0951ea5 raaz-0.3.11/tests/Raaz/Core/ByteSourceSpec.hs-formatted f50f5814ce13 raaz-0.3.11/tests/Raaz/Core/EncodeSpec.hs-formatted a5cc6d99aed2 raaz-0.3.11/tests/Raaz/Core/MemorySpec.hs-formatted 11c7d4db7839 raaz-0.3.11/tests/Raaz/Core/Types/WordSpec.hs-formatted e27cf91514a1 raaz-0.3.11/tests/Raaz/Core/Util/ByteStringSpec.hs-formatted 9d02caada1d9 raaz-0.3.11/tests/Raaz/Digest/Blake2Spec.hs-formatted 4f62e035aa97 raaz-0.3.11/tests/Raaz/Digest/Sha256Spec.hs-formatted ab3342a1c1c3 raaz-0.3.11/tests/Raaz/Digest/Sha512Spec.hs-formatted 57a10ec0221b raaz-0.3.11/tests/Raaz/Mac/Poly1305Spec.hs-formatted 6cdc5c00b3a8 raaz-0.3.11/tests/Raaz/RandomSpec.hs-formatted 2fbd14b119a4 raaz-0.3.11/tests/Spec.hs-formatted b1a4cba13110 raaz-0.3.11/tests/auth/Implementation.hsig-formatted ae7499e9f1a2 raaz-0.3.11/tests/auth/Tests/Auth.hs-formatted 146a3742af4d raaz-0.3.11/tests/auth/implementation/Auth/Mac/Blake2b.hs-formatted 1400f8497a4b raaz-0.3.11/tests/auth/implementation/Auth/Mac/Blake2s.hs-formatted f25bf91a517e raaz-0.3.11/tests/auth/implementation/Auth/Poly1305.hs-formatted 7123559f7c81 raaz-0.3.11/tests/cipher/Tests/Cipher.hs-formatted 0c05cee23c2f raaz-0.3.11/tests/comparative/AuthEncrypt.hs-formatted 97ef04d16217 raaz-0.3.11/tests/comparative/AuthEncrypt/ChaCha20Poly1305Spec.hs-formatted 741dc859a7b4 raaz-0.3.11/tests/comparative/Compare.hs-formatted 5a902c132987 raaz-0.3.11/tests/comparative/Digest.hs-formatted 9b0b9e470964 raaz-0.3.11/tests/comparative/Digest/Blake2bSpec.hs-formatted 5e40537778de raaz-0.3.11/tests/comparative/Digest/Sha256Spec.hs-formatted 1d23a17f155b raaz-0.3.11/tests/comparative/Digest/Sha512Spec.hs-formatted a5fa5869f401 raaz-0.3.11/tests/comparative/Encrypt.hs-formatted 43a4a9f511ea raaz-0.3.11/tests/comparative/Encrypt/ChaCha20Spec.hs-formatted 2fbd14b119a4 raaz-0.3.11/tests/comparative/Main.hs-formatted 9a4da070ca55 raaz-0.3.11/tests/core/Tests/Core.hs-formatted 2249765a4b51 raaz-0.3.11/tests/core/Tests/Core/Imports.hs-formatted c746b6855fd8 raaz-0.3.11/tests/core/Tests/Core/Instances.hs-formatted 62f66214a824 raaz-0.3.11/tests/core/Tests/Core/Utils.hs-formatted bcc780e22f03 raaz-0.3.11/tests/message-digest/Implementation.hsig-formatted 2bb252395b85 raaz-0.3.11/tests/message-digest/Tests/Digest.hs-formatted 4a8ac51676df random-1.3.1/Setup.hs-formatted f81df0c89774 random-1.3.1/bench-legacy/BinSearch.hs-formatted ec53458f4d57 random-1.3.1/bench-legacy/SimpleRNGBench.hs-formatted 0584292cc54f random-1.3.1/bench/Main.hs-formatted 3d4520480456 random-1.3.1/src/System/Random.hs-formatted 0719577a75c1 random-1.3.1/src/System/Random/Array.hs-formatted 0648347f5df7 random-1.3.1/src/System/Random/GFinite.hs-formatted 6f29e302367d random-1.3.1/src/System/Random/Internal.hs-formatted 43cf9948fc9c random-1.3.1/src/System/Random/Seed.hs-formatted 2b2590d1c67b random-1.3.1/src/System/Random/Stateful.hs-formatted 0d72e1db2b6d random-1.3.1/test-inspection/Spec.hs-formatted c6f769b56ab6 random-1.3.1/test-inspection/Spec/Inspection.hs-formatted ed91342d3f30 random-1.3.1/test-legacy/Legacy.hs-formatted 0160098f7cc5 random-1.3.1/test-legacy/Random1283.hs-formatted ad6c39289552 random-1.3.1/test-legacy/RangeTest.hs-formatted 4c1669996d8d random-1.3.1/test-legacy/T7936.hs-formatted 398febcc8a6f random-1.3.1/test-legacy/TestRandomIOs.hs-formatted 3ef25c06bdfc random-1.3.1/test-legacy/TestRandomRs.hs-formatted 170817d6d661 random-1.3.1/test/Spec.hs-formatted a65d68fad80b random-1.3.1/test/Spec/Range.hs-formatted e0e7306312ea random-1.3.1/test/Spec/Run.hs-formatted b3fd15d83ccf random-1.3.1/test/Spec/Seed.hs-formatted 53b268e9c80a random-1.3.1/test/Spec/Stateful.hs-formatted 4ac47a361dee recursion-schemes-5.2.3/examples/Expr.hs-formatted 37b2a0b086b3 recursion-schemes-5.2.3/src/Data/Functor/Base.hs-formatted 3ca7a5ae5fb0 recursion-schemes-5.2.3/src/Data/Functor/Foldable.hs-formatted 169a5fcd71cf recursion-schemes-5.2.3/src/Data/Functor/Foldable/TH.hs-formatted 1581398eb1b5 resourcet-1.3.0/Control/Monad/Trans/Resource.hs-formatted 5aec92d93345 resourcet-1.3.0/Control/Monad/Trans/Resource/Internal.hs-formatted 22ba33396e6e resourcet-1.3.0/Data/Acquire.hs-formatted 4a9defd159ee resourcet-1.3.0/Data/Acquire/Internal.hs-formatted 27565132aa25 resourcet-1.3.0/UnliftIO/Resource.hs-formatted 1434a2ae8bde resourcet-1.3.0/test/main.hs-formatted e865ae48f11b retry-0.9.3.1/Setup.hs-formatted f3e4dea1008c retry-0.9.3.1/src/Control/Retry.hs-formatted cce7cb264472 retry-0.9.3.1/src/UnliftIO/Retry.hs-formatted 94b4a78445b3 retry-0.9.3.1/test/Main.hs-formatted 08af947c789a retry-0.9.3.1/test/Tests/Control/Retry.hs-formatted 0b770fc83ef2 retry-0.9.3.1/test/Tests/UnliftIO/Retry.hs-formatted e865ae48f11b safe-exceptions-0.1.7.4/Setup.hs-formatted 9dd8a8e1a75f safe-exceptions-0.1.7.4/src/Control/Exception/Safe.hs-formatted d65c0e991a57 safe-exceptions-0.1.7.4/test/Control/Exception/SafeSpec.hs-formatted 2fbd14b119a4 safe-exceptions-0.1.7.4/test/Spec.hs-formatted e865ae48f11b scientific-0.3.8.1/Setup.hs-formatted 6a2de24bbe1d scientific-0.3.8.1/bench/bench.hs-formatted b51f688e4f66 scientific-0.3.8.1/src/Data/ByteString/Builder/Scientific.hs-formatted a00104fdca94 scientific-0.3.8.1/src/Data/Scientific.hs-formatted 5837fdbf8485 scientific-0.3.8.1/src/Data/Text/Lazy/Builder/Scientific.hs-formatted 8e2c4142aa7f scientific-0.3.8.1/src/GHC/Integer/Compat.hs-formatted 70da6923c6d5 scientific-0.3.8.1/src/Utils.hs-formatted 511632de8f71 scientific-0.3.8.1/test/test.hs-formatted e865ae48f11b scotty-0.30/Setup.hs-formatted b4007b5fca90 scotty-0.30/Web/Scotty.hs-formatted cc7d56854e51 scotty-0.30/Web/Scotty/Action.hs-formatted 61431d95ef5b scotty-0.30/Web/Scotty/Body.hs-formatted 210215898ba8 scotty-0.30/Web/Scotty/Cookie.hs-formatted 7fbb2c4c4db1 scotty-0.30/Web/Scotty/Internal/Types.hs-formatted ccdc72ea4dc8 scotty-0.30/Web/Scotty/Route.hs-formatted 220c453f0fd9 scotty-0.30/Web/Scotty/Session.hs-formatted a91e432e5783 scotty-0.30/Web/Scotty/Trans.hs-formatted e2036cbfa7c2 scotty-0.30/Web/Scotty/Trans/Lazy.hs-formatted 2645fdc50126 scotty-0.30/Web/Scotty/Trans/Strict.hs-formatted 6bad8484016a scotty-0.30/Web/Scotty/Util.hs-formatted 19a63b08e8cc scotty-0.30/bench/Main.hs-formatted ff18ebd00d97 scotty-0.30/doctest/Main.hs-formatted bfcc28288099 scotty-0.30/examples/basic.hs-formatted 128fcbdca77d scotty-0.30/examples/bodyecho.hs-formatted 0bfdeec9e9d5 scotty-0.30/examples/cookies.hs-formatted e68dfe58dd88 scotty-0.30/examples/exceptions.hs-formatted 3417d0bd8a35 scotty-0.30/examples/globalstate.hs-formatted 5d812024dc2a scotty-0.30/examples/gzip.hs-formatted 14f88a75023e scotty-0.30/examples/json_mode.hs-formatted d96b13ea35d6 scotty-0.30/examples/middleware.hs-formatted dd5796ac98ac scotty-0.30/examples/nested.hs-formatted f424d2128b4a scotty-0.30/examples/options.hs-formatted 8b1e46c9aeb7 scotty-0.30/examples/reader.hs-formatted 6750528250e9 scotty-0.30/examples/session.hs-formatted d40e0a8e64ea scotty-0.30/examples/upload.hs-formatted 94f10fda97e5 scotty-0.30/examples/urlshortener.hs-formatted 2fbd14b119a4 scotty-0.30/test/Spec.hs-formatted dd9baecda733 scotty-0.30/test/Test/Hspec/Wai/Extra.hs-formatted 3c4b654d7ca6 scotty-0.30/test/Web/ScottySpec.hs-formatted 091ccbfea22a semigroupoids-6.0.2/src/Data/Bifunctor/Apply.hs-formatted b1a286f75dd3 semigroupoids-6.0.2/src/Data/Functor/Alt.hs-formatted b091ae1639ae semigroupoids-6.0.2/src/Data/Functor/Apply.hs-formatted 4322a16f4eaf semigroupoids-6.0.2/src/Data/Functor/Bind.hs-declined - semigroupoids-6.0.2/src/Data/Functor/Bind/Class.hs-formatted 82dabf65525e semigroupoids-6.0.2/src/Data/Functor/Bind/Trans.hs-formatted dbcbf10c5fed semigroupoids-6.0.2/src/Data/Functor/Contravariant/Conclude.hs-formatted 8142965bbfe5 semigroupoids-6.0.2/src/Data/Functor/Contravariant/Decide.hs-formatted 5477d9d67b6c semigroupoids-6.0.2/src/Data/Functor/Contravariant/Divise.hs-formatted 5daccdc424d0 semigroupoids-6.0.2/src/Data/Functor/Extend.hs-formatted da9d284cb9bb semigroupoids-6.0.2/src/Data/Functor/Plus.hs-formatted 2c9e2b95e1c6 semigroupoids-6.0.2/src/Data/Groupoid.hs-formatted ada45a392805 semigroupoids-6.0.2/src/Data/Isomorphism.hs-formatted 045d35e85b6e semigroupoids-6.0.2/src/Data/Semigroup/Bifoldable.hs-formatted 3b69bf2b2c98 semigroupoids-6.0.2/src/Data/Semigroup/Bitraversable.hs-formatted bc14896823af semigroupoids-6.0.2/src/Data/Semigroup/Foldable.hs-formatted 15d51636f77f semigroupoids-6.0.2/src/Data/Semigroup/Foldable/Class.hs-formatted e46135ea634e semigroupoids-6.0.2/src/Data/Semigroup/Traversable.hs-formatted 5db895bd9aed semigroupoids-6.0.2/src/Data/Semigroup/Traversable/Class.hs-formatted 217e2cc62925 semigroupoids-6.0.2/src/Data/Semigroupoid.hs-formatted b3380ca605a0 semigroupoids-6.0.2/src/Data/Semigroupoid/Categorical.hs-formatted dd586be40bf0 semigroupoids-6.0.2/src/Data/Semigroupoid/Dual.hs-formatted f1c21cb8613d semigroupoids-6.0.2/src/Data/Semigroupoid/Ob.hs-formatted 6c569b65cb14 semigroupoids-6.0.2/src/Data/Semigroupoid/Static.hs-formatted 9945f77c9069 semigroupoids-6.0.2/src/Data/Traversable/Instances.hs-formatted 4f91affffbe0 semigroupoids-6.0.2/src/Semigroupoids/Do.hs-formatted 689e1e042e62 semigroupoids-6.0.2/src/Semigroupoids/Internal.hs-formatted e865ae48f11b servant-0.20.3.0/Setup.hs-formatted 9153c9da89d5 servant-0.20.3.0/src/Servant/API.hs-formatted 6ca32413e226 servant-0.20.3.0/src/Servant/API/Alternative.hs-formatted c265b91e3c97 servant-0.20.3.0/src/Servant/API/BasicAuth.hs-formatted a2c409071755 servant-0.20.3.0/src/Servant/API/Capture.hs-formatted a15886878620 servant-0.20.3.0/src/Servant/API/ContentTypes.hs-formatted ae6eeb995066 servant-0.20.3.0/src/Servant/API/Description.hs-formatted 3529480c44cb servant-0.20.3.0/src/Servant/API/Empty.hs-formatted ca9f880fe9c3 servant-0.20.3.0/src/Servant/API/Experimental/Auth.hs-formatted 1cb7b7979a37 servant-0.20.3.0/src/Servant/API/Fragment.hs-formatted 0b0271e38424 servant-0.20.3.0/src/Servant/API/Generic.hs-formatted 6ace49e9ee6c servant-0.20.3.0/src/Servant/API/Header.hs-formatted a4120f74a189 servant-0.20.3.0/src/Servant/API/Host.hs-formatted 9add62e890f1 servant-0.20.3.0/src/Servant/API/HttpVersion.hs-formatted efd092f09057 servant-0.20.3.0/src/Servant/API/IsSecure.hs-formatted 714c99b4ea0e servant-0.20.3.0/src/Servant/API/Modifiers.hs-formatted 684bc7886ecb servant-0.20.3.0/src/Servant/API/MultiVerb.hs-formatted 56acb7471063 servant-0.20.3.0/src/Servant/API/NamedRoutes.hs-formatted 2a67c6814cd7 servant-0.20.3.0/src/Servant/API/QueryParam.hs-formatted c9e33c06dd4d servant-0.20.3.0/src/Servant/API/QueryString.hs-formatted a2969f7ec694 servant-0.20.3.0/src/Servant/API/Range.hs-formatted 54177faefb7f servant-0.20.3.0/src/Servant/API/Raw.hs-formatted 0d8ceb92e030 servant-0.20.3.0/src/Servant/API/RemoteHost.hs-formatted fa0f8d364af9 servant-0.20.3.0/src/Servant/API/ReqBody.hs-formatted 8acf042b8234 servant-0.20.3.0/src/Servant/API/ResponseHeaders.hs-formatted c67668bb6c05 servant-0.20.3.0/src/Servant/API/ServerSentEvents.hs-formatted d944ce6b72bb servant-0.20.3.0/src/Servant/API/Status.hs-formatted 80b82bca3c39 servant-0.20.3.0/src/Servant/API/Stream.hs-formatted edf5b4aed88d servant-0.20.3.0/src/Servant/API/Sub.hs-formatted ff144efc7edd servant-0.20.3.0/src/Servant/API/TypeErrors.hs-formatted 29ad4adf0dc7 servant-0.20.3.0/src/Servant/API/TypeLevel.hs-formatted c0878f59a227 servant-0.20.3.0/src/Servant/API/TypeLevel/List.hs-formatted 9be4a4b0a678 servant-0.20.3.0/src/Servant/API/UVerb.hs-formatted 46da2eb7f65a servant-0.20.3.0/src/Servant/API/UVerb/Union.hs-formatted 635eed50f570 servant-0.20.3.0/src/Servant/API/Vault.hs-formatted 2dc0c94ac83c servant-0.20.3.0/src/Servant/API/Verbs.hs-formatted 5dcaa0e3d262 servant-0.20.3.0/src/Servant/API/WithNamedContext.hs-formatted c8d1802909fc servant-0.20.3.0/src/Servant/API/WithResource.hs-formatted 2602ed01f24b servant-0.20.3.0/src/Servant/Links.hs-formatted 4a79910df177 servant-0.20.3.0/src/Servant/Test/ComprehensiveAPI.hs-formatted 72397d3bb59f servant-0.20.3.0/src/Servant/Types/Internal/Response.hs-formatted e57b2e66d9d5 servant-0.20.3.0/src/Servant/Types/SourceT.hs-formatted 3860893630fe servant-0.20.3.0/test/Servant/API/ContentTypesSpec.hs-formatted 8d914b5e174f servant-0.20.3.0/test/Servant/API/ResponseHeadersSpec.hs-formatted 19481f24edd2 servant-0.20.3.0/test/Servant/API/StreamSpec.hs-formatted df544597bb5e servant-0.20.3.0/test/Servant/LinksSpec.hs-formatted 2fbd14b119a4 servant-0.20.3.0/test/Spec.hs-formatted e865ae48f11b servant-server-0.20.3.0/Setup.hs-formatted 39ab7e0143c5 servant-server-0.20.3.0/example/greet.hs-formatted a401126eeff8 servant-server-0.20.3.0/src/Servant.hs-formatted 9ef459de1886 servant-server-0.20.3.0/src/Servant/Server.hs-formatted 1f26409f3f2c servant-server-0.20.3.0/src/Servant/Server/Experimental/Auth.hs-formatted 6fc6eff93d47 servant-server-0.20.3.0/src/Servant/Server/Generic.hs-formatted 9112ce5387cd servant-server-0.20.3.0/src/Servant/Server/Internal.hs-formatted 66fc41e0b8e8 servant-server-0.20.3.0/src/Servant/Server/Internal/BasicAuth.hs-formatted 840da824ddc2 servant-server-0.20.3.0/src/Servant/Server/Internal/Context.hs-formatted a67e949e616a servant-server-0.20.3.0/src/Servant/Server/Internal/Delayed.hs-formatted 4dc42f38bf12 servant-server-0.20.3.0/src/Servant/Server/Internal/DelayedIO.hs-formatted fc8d0ef307e4 servant-server-0.20.3.0/src/Servant/Server/Internal/ErrorFormatter.hs-formatted 23333f0006a5 servant-server-0.20.3.0/src/Servant/Server/Internal/Handler.hs-formatted e759d749c842 servant-server-0.20.3.0/src/Servant/Server/Internal/ResponseRender.hs-formatted 7ae1b546f492 servant-server-0.20.3.0/src/Servant/Server/Internal/RouteResult.hs-formatted d53e83414912 servant-server-0.20.3.0/src/Servant/Server/Internal/Router.hs-formatted 09cdf39e03b6 servant-server-0.20.3.0/src/Servant/Server/Internal/RoutingApplication.hs-formatted 271cc35e3822 servant-server-0.20.3.0/src/Servant/Server/Internal/ServerError.hs-formatted 4be302b8cfbe servant-server-0.20.3.0/src/Servant/Server/StaticFiles.hs-formatted 7a929eb5f6c6 servant-server-0.20.3.0/src/Servant/Server/UVerb.hs-formatted d43150f68994 servant-server-0.20.3.0/src/Servant/Utils/StaticFiles.hs-formatted d08527a9decc servant-server-0.20.3.0/test/Servant/ArbitraryMonadServerSpec.hs-formatted a92186c8737e servant-server-0.20.3.0/test/Servant/HoistSpec.hs-formatted fa49a610ed55 servant-server-0.20.3.0/test/Servant/Server/ErrorSpec.hs-formatted 6f993e850de5 servant-server-0.20.3.0/test/Servant/Server/Internal/ContextSpec.hs-formatted 6979f09da111 servant-server-0.20.3.0/test/Servant/Server/Internal/RoutingApplicationSpec.hs-formatted ebf15aace7c8 servant-server-0.20.3.0/test/Servant/Server/RouterSpec.hs-formatted ca1d8b69c2d4 servant-server-0.20.3.0/test/Servant/Server/StaticFilesSpec.hs-formatted e9a7ef4fbb57 servant-server-0.20.3.0/test/Servant/Server/StreamingSpec.hs-formatted 6bd03c4fd0e6 servant-server-0.20.3.0/test/Servant/Server/UsingContextSpec.hs-formatted c68eea536d8f servant-server-0.20.3.0/test/Servant/Server/UsingContextSpec/TestCombinators.hs-formatted 55524e1b35a6 servant-server-0.20.3.0/test/Servant/ServerSpec.hs-formatted 2fbd14b119a4 servant-server-0.20.3.0/test/Spec.hs-formatted e865ae48f11b shake-0.19.9/Setup.hs-formatted 1115d98036fa shake-0.19.9/docs/manual/Shakefile.hs-formatted eb4bec818511 shake-0.19.9/src/Development/Ninja/All.hs-formatted 3104f3ca6fe0 shake-0.19.9/src/Development/Ninja/Env.hs-formatted 7cb2becdc041 shake-0.19.9/src/Development/Ninja/Lexer.hs-formatted 11197fb7bfd8 shake-0.19.9/src/Development/Ninja/Parse.hs-formatted c0a33fcdb116 shake-0.19.9/src/Development/Ninja/Type.hs-formatted 1e091717f0e4 shake-0.19.9/src/Development/Shake.hs-formatted 5a0ba406abd6 shake-0.19.9/src/Development/Shake/Classes.hs-formatted 1b85b46443d1 shake-0.19.9/src/Development/Shake/Command.hs-formatted 5959e8996e24 shake-0.19.9/src/Development/Shake/Config.hs-formatted 2ffbbbe7ea76 shake-0.19.9/src/Development/Shake/Database.hs-formatted 6a9f5286dbbd shake-0.19.9/src/Development/Shake/FilePath.hs-formatted 1f7279048342 shake-0.19.9/src/Development/Shake/Forward.hs-formatted 0f161b15d908 shake-0.19.9/src/Development/Shake/Internal/Args.hs-formatted 176c017dbbd9 shake-0.19.9/src/Development/Shake/Internal/CmdOption.hs-formatted 89cf4b51fe66 shake-0.19.9/src/Development/Shake/Internal/CompactUI.hs-formatted 741e862bf58e shake-0.19.9/src/Development/Shake/Internal/Core/Action.hs-formatted a94401153b61 shake-0.19.9/src/Development/Shake/Internal/Core/Build.hs-formatted c03d9bf624a4 shake-0.19.9/src/Development/Shake/Internal/Core/Database.hs-formatted 3e4afc55b835 shake-0.19.9/src/Development/Shake/Internal/Core/Monad.hs-formatted 15dda4610803 shake-0.19.9/src/Development/Shake/Internal/Core/Pool.hs-formatted 72387b89230e shake-0.19.9/src/Development/Shake/Internal/Core/Rules.hs-formatted 2a67f8266b95 shake-0.19.9/src/Development/Shake/Internal/Core/Run.hs-formatted 83f034dbe974 shake-0.19.9/src/Development/Shake/Internal/Core/Storage.hs-formatted d26cd540a39c shake-0.19.9/src/Development/Shake/Internal/Core/Types.hs-formatted 46848a2a03e2 shake-0.19.9/src/Development/Shake/Internal/Demo.hs-formatted 1afe6f5f82c8 shake-0.19.9/src/Development/Shake/Internal/Derived.hs-formatted 419e421f13a6 shake-0.19.9/src/Development/Shake/Internal/Errors.hs-declined - shake-0.19.9/src/Development/Shake/Internal/FileInfo.hs-formatted 759fa2b54278 shake-0.19.9/src/Development/Shake/Internal/FileName.hs-formatted fe798a191c19 shake-0.19.9/src/Development/Shake/Internal/FilePattern.hs-formatted 1e054a94085b shake-0.19.9/src/Development/Shake/Internal/History/Bloom.hs-formatted 01551ed3cbf4 shake-0.19.9/src/Development/Shake/Internal/History/Cloud.hs-formatted 249ed8efaa13 shake-0.19.9/src/Development/Shake/Internal/History/Network.hs-formatted 628e137c3362 shake-0.19.9/src/Development/Shake/Internal/History/Serialise.hs-formatted 14a6f9c117dc shake-0.19.9/src/Development/Shake/Internal/History/Server.hs-formatted d90d4f71cadd shake-0.19.9/src/Development/Shake/Internal/History/Shared.hs-declined - shake-0.19.9/src/Development/Shake/Internal/History/Symlink.hs-formatted 765062af5b1e shake-0.19.9/src/Development/Shake/Internal/History/Types.hs-formatted 1667cc1258cb shake-0.19.9/src/Development/Shake/Internal/Options.hs-formatted c8651e83c45c shake-0.19.9/src/Development/Shake/Internal/Paths.hs-formatted cd695d3ce28f shake-0.19.9/src/Development/Shake/Internal/Profile.hs-declined - shake-0.19.9/src/Development/Shake/Internal/Progress.hs-formatted 342442931569 shake-0.19.9/src/Development/Shake/Internal/Resource.hs-formatted 5733144919c3 shake-0.19.9/src/Development/Shake/Internal/Rules/Default.hs-formatted 49bcf9520df0 shake-0.19.9/src/Development/Shake/Internal/Rules/Directory.hs-formatted 8355467730f0 shake-0.19.9/src/Development/Shake/Internal/Rules/File.hs-formatted e7921ae8b2dd shake-0.19.9/src/Development/Shake/Internal/Rules/Files.hs-formatted 18637b215cdb shake-0.19.9/src/Development/Shake/Internal/Rules/Oracle.hs-formatted b0d13ac0a3a9 shake-0.19.9/src/Development/Shake/Internal/Rules/OrderOnly.hs-formatted c9bb8c405fe0 shake-0.19.9/src/Development/Shake/Internal/Rules/Rerun.hs-formatted b6e1d27ae046 shake-0.19.9/src/Development/Shake/Internal/Value.hs-formatted 4f57cc655ba3 shake-0.19.9/src/Development/Shake/Rule.hs-formatted 72f09acd1481 shake-0.19.9/src/Development/Shake/Util.hs-formatted 796b5a76fb8c shake-0.19.9/src/General/Bilist.hs-formatted a2e9bfc4e206 shake-0.19.9/src/General/Binary.hs-formatted bbd9c27b5570 shake-0.19.9/src/General/Chunks.hs-formatted 432dccc3b19c shake-0.19.9/src/General/Cleanup.hs-declined - shake-0.19.9/src/General/EscCodes.hs-formatted 7652f69a9c07 shake-0.19.9/src/General/Extra.hs-formatted 6ac31a44af53 shake-0.19.9/src/General/Fence.hs-declined - shake-0.19.9/src/General/FileLock.hs-formatted 55352d28b4a5 shake-0.19.9/src/General/GetOpt.hs-formatted c704d012d9ae shake-0.19.9/src/General/Ids.hs-formatted 9126ed0fbd34 shake-0.19.9/src/General/Intern.hs-formatted fdae30466e09 shake-0.19.9/src/General/ListBuilder.hs-formatted 54fa4898327b shake-0.19.9/src/General/Makefile.hs-formatted 863c987dd9d2 shake-0.19.9/src/General/Pool.hs-formatted 300d27247ce2 shake-0.19.9/src/General/Process.hs-formatted 0d39543216b1 shake-0.19.9/src/General/Template.hs-formatted 20e74944695a shake-0.19.9/src/General/Thread.hs-formatted b9b9368bdf92 shake-0.19.9/src/General/Timing.hs-formatted f1cfb5928cdc shake-0.19.9/src/General/TypeMap.hs-formatted 8d69ed0989cc shake-0.19.9/src/General/Wait.hs-formatted 4743f12ee1b5 shake-0.19.9/src/Paths.hs-formatted 6ee887146e25 shake-0.19.9/src/Run.hs-formatted e59791013e00 shake-0.19.9/src/Test.hs-formatted 8559d6daa99e shake-0.19.9/src/Test/Basic.hs-formatted 93ef4d632053 shake-0.19.9/src/Test/Batch.hs-formatted 9817e09728fc shake-0.19.9/src/Test/Benchmark.hs-formatted 72e8b4ab4dea shake-0.19.9/src/Test/Builtin.hs-formatted 48ec6eca2417 shake-0.19.9/src/Test/BuiltinOverride.hs-formatted 10efc06e6c7b shake-0.19.9/src/Test/C.hs-formatted 53e433c2fd6d shake-0.19.9/src/Test/Cache.hs-formatted 2d7ccbb45ced shake-0.19.9/src/Test/Cleanup.hs-formatted 448b76c4e03f shake-0.19.9/src/Test/CloseFileHandles.hs-formatted 52e8e06b790c shake-0.19.9/src/Test/Command.hs-formatted 5ea96ce5a74d shake-0.19.9/src/Test/Config.hs-formatted 1f3180d02ce5 shake-0.19.9/src/Test/Database.hs-formatted e8ca948ce33e shake-0.19.9/src/Test/Digest.hs-formatted 9b70158e614d shake-0.19.9/src/Test/Directory.hs-formatted 6bbe2ff03da5 shake-0.19.9/src/Test/Docs.hs-formatted 7425a9004035 shake-0.19.9/src/Test/Errors.hs-formatted b698eeb22c5b shake-0.19.9/src/Test/Existence.hs-formatted 33dfd1039065 shake-0.19.9/src/Test/FileLock.hs-formatted 62fa7f2a0865 shake-0.19.9/src/Test/FilePath.hs-formatted d53dce7544e1 shake-0.19.9/src/Test/FilePattern.hs-formatted 7f088d1e23e6 shake-0.19.9/src/Test/Files.hs-formatted f46b5feb3e77 shake-0.19.9/src/Test/Forward.hs-formatted 07a41b0c82df shake-0.19.9/src/Test/History.hs-formatted a6278c0f744f shake-0.19.9/src/Test/Journal.hs-formatted 441f831d7e39 shake-0.19.9/src/Test/Lint.hs-formatted abb6b38a5148 shake-0.19.9/src/Test/Live.hs-formatted b1f4f9102098 shake-0.19.9/src/Test/Manual.hs-formatted 0ea86eab061d shake-0.19.9/src/Test/Match.hs-formatted 3358afb343e9 shake-0.19.9/src/Test/Monad.hs-formatted 30eaa5d85dba shake-0.19.9/src/Test/Ninja.hs-formatted 78f51e13afdb shake-0.19.9/src/Test/Oracle.hs-formatted 3a29cbe0f415 shake-0.19.9/src/Test/OrderOnly.hs-formatted 11c7d4112a98 shake-0.19.9/src/Test/Parallel.hs-formatted af1e17f9eab1 shake-0.19.9/src/Test/Pool.hs-formatted d7b6e41656b0 shake-0.19.9/src/Test/Progress.hs-formatted 8f84d993fd5b shake-0.19.9/src/Test/Random.hs-formatted 2cbfb37c7d59 shake-0.19.9/src/Test/Rebuild.hs-formatted 685ecba8ab37 shake-0.19.9/src/Test/Reschedule.hs-formatted a4beab4d5e04 shake-0.19.9/src/Test/Resources.hs-formatted 721fa3aeb323 shake-0.19.9/src/Test/Self.hs-formatted f64db4b85e97 shake-0.19.9/src/Test/SelfMake.hs-formatted ce7a14c40a6c shake-0.19.9/src/Test/Tar.hs-formatted 010efc5cef7a shake-0.19.9/src/Test/Targets.hs-formatted 2ada3fd9cfe5 shake-0.19.9/src/Test/Thread.hs-formatted 54ac2eb76326 shake-0.19.9/src/Test/Tup.hs-formatted d61d4ca26661 shake-0.19.9/src/Test/Type.hs-formatted 068337f03a57 shake-0.19.9/src/Test/Unicode.hs-formatted 312e45ba1b16 shake-0.19.9/src/Test/Util.hs-formatted 6649fd7b7e4a shake-0.19.9/src/Test/Verbosity.hs-formatted f32aa5af75ac shake-0.19.9/src/Test/Version.hs-formatted a7151db2ed5c split-0.2.5/src/Data/List/Split.hs-formatted 81873df3b2c6 split-0.2.5/src/Data/List/Split/Internals.hs-formatted 0476e48b031e split-0.2.5/test/Properties.hs-formatted e865ae48f11b stack-9.9.9/Setup.hs-formatted e865ae48f11b stack-9.9.9/new-template/Setup.hs-formatted 76b6ff5a6856 stack-9.9.9/new-template/app/Main.hs-formatted b206a21d3b3c stack-9.9.9/new-template/src/Lib.hs-formatted ef8d1c0c14bd stack-9.9.9/new-template/test/Spec.hs-formatted b50eee5c8227 stack-9.9.9/src/Control/Concurrent/Execute.hs-formatted de0bbff44bba stack-9.9.9/src/Data/Aeson/Extended.hs-formatted 45b24cbb6885 stack-9.9.9/src/Data/Attoparsec/Args.hs-formatted 6be772a6002d stack-9.9.9/src/Data/Attoparsec/Combinators.hs-formatted e4f1165dc10b stack-9.9.9/src/Data/Binary/VersionTagged.hs-formatted b0799314dce2 stack-9.9.9/src/Data/Maybe/Extra.hs-formatted 8740a5fcb2ef stack-9.9.9/src/Data/Set/Monad.hs-formatted c08aaa172c8a stack-9.9.9/src/Network/HTTP/Download.hs-formatted f77d8fc87761 stack-9.9.9/src/Network/HTTP/Download/Verified.hs-formatted d7a0d294e3c7 stack-9.9.9/src/Options/Applicative/Args.hs-formatted 0116483c0e39 stack-9.9.9/src/Options/Applicative/Builder/Extra.hs-formatted 35d5981b158d stack-9.9.9/src/Path/Find.hs-formatted eafb883091d5 stack-9.9.9/src/Path/IO.hs-formatted 2df07688f5ed stack-9.9.9/src/Stack/Build.hs-formatted bdc4f36f2c62 stack-9.9.9/src/Stack/Build/Cache.hs-formatted 3efe83cb7bab stack-9.9.9/src/Stack/Build/ConstructPlan.hs-formatted eba7881519c6 stack-9.9.9/src/Stack/Build/Execute.hs-formatted 696682f442ac stack-9.9.9/src/Stack/Build/Haddock.hs-formatted e0977d49109c stack-9.9.9/src/Stack/Build/Installed.hs-formatted 8f851999c795 stack-9.9.9/src/Stack/Build/Source.hs-formatted 4d0e41188711 stack-9.9.9/src/Stack/Build/Types.hs-formatted eafdaba2b6f6 stack-9.9.9/src/Stack/BuildPlan.hs-formatted 8a25795f0c0a stack-9.9.9/src/Stack/Config.hs-formatted db186c830bf3 stack-9.9.9/src/Stack/Constants.hs-formatted 7683bf498978 stack-9.9.9/src/Stack/Docker.hs-formatted 107229bac31d stack-9.9.9/src/Stack/Docker/GlobalDB.hs-formatted 7d15eaae39ff stack-9.9.9/src/Stack/Dot.hs-formatted e3fe02818737 stack-9.9.9/src/Stack/Exec.hs-formatted 49a25d808c68 stack-9.9.9/src/Stack/Fetch.hs-formatted 967c0ee2eef6 stack-9.9.9/src/Stack/GhcPkg.hs-formatted cea7894d840c stack-9.9.9/src/Stack/Init.hs-formatted 9f228f8da7ce stack-9.9.9/src/Stack/New.hs-formatted a4120f7039a7 stack-9.9.9/src/Stack/Package.hs-formatted 439e5a338ecf stack-9.9.9/src/Stack/PackageDump.hs-formatted 131f4c58d4cc stack-9.9.9/src/Stack/PackageIndex.hs-formatted 2814387b2b76 stack-9.9.9/src/Stack/Repl.hs-formatted 766a71919c27 stack-9.9.9/src/Stack/Setup.hs-formatted 68c48310e4ce stack-9.9.9/src/Stack/Solver.hs-formatted ebbf896669e4 stack-9.9.9/src/Stack/Types.hs-formatted 6a77fad930d5 stack-9.9.9/src/Stack/Types/BuildPlan.hs-formatted a6b384b7378c stack-9.9.9/src/Stack/Types/Config.hs-formatted 69401069957e stack-9.9.9/src/Stack/Types/Docker.hs-formatted cd2bb0d685de stack-9.9.9/src/Stack/Types/FlagName.hs-formatted d8f8b074a086 stack-9.9.9/src/Stack/Types/GhcPkgId.hs-formatted bd4be7dcc823 stack-9.9.9/src/Stack/Types/Internal.hs-formatted 6f80f79fae7e stack-9.9.9/src/Stack/Types/PackageIdentifier.hs-formatted 88a4f8bd73e5 stack-9.9.9/src/Stack/Types/PackageName.hs-formatted cf90354db024 stack-9.9.9/src/Stack/Types/StackT.hs-formatted c698b30fdbaf stack-9.9.9/src/Stack/Types/Version.hs-formatted 2f4855580908 stack-9.9.9/src/Stack/Upgrade.hs-formatted 3d5a37bb3efe stack-9.9.9/src/Stack/Upload.hs-formatted 85d5e680f53b stack-9.9.9/src/System/Process/Log.hs-formatted 015e3efd2d86 stack-9.9.9/src/System/Process/PagerEditor.hs-formatted bc60fdf030d4 stack-9.9.9/src/System/Process/Read.hs-formatted c40dad9ce8ee stack-9.9.9/src/System/Process/Run.hs-formatted 91427a9b532d stack-9.9.9/src/main/Main.hs-formatted 4eec70869c80 stack-9.9.9/src/main/Plugins.hs-formatted 50b246d28182 stack-9.9.9/src/main/Plugins/Commands.hs-formatted 65c8c298f7aa stack-9.9.9/src/test/Spec.hs-formatted bbf9464a53ee stack-9.9.9/src/test/Stack/ArgsSpec.hs-formatted 41ea23b8880f stack-9.9.9/src/test/Stack/Build/ExecuteSpec.hs-formatted 6c14531834d3 stack-9.9.9/src/test/Stack/BuildPlanSpec.hs-formatted 24a9e21c3c15 stack-9.9.9/src/test/Stack/ConfigSpec.hs-formatted 2d4cbcc98b0c stack-9.9.9/src/test/Stack/PackageDumpSpec.hs-formatted fd075df62297 stack-9.9.9/src/test/Test.hs-formatted 53953d153dfa stack-9.9.9/test/integration/Spec.hs-formatted 56e4e5258116 statistics-0.16.5.0/Statistics/Autocorrelation.hs-formatted bda03074d5aa statistics-0.16.5.0/Statistics/ConfidenceInt.hs-formatted 069d7156f594 statistics-0.16.5.0/Statistics/Correlation.hs-formatted 9ba74f547b39 statistics-0.16.5.0/Statistics/Correlation/Kendall.hs-formatted bbd4e3259f36 statistics-0.16.5.0/Statistics/Distribution.hs-formatted ae8ad80251ff statistics-0.16.5.0/Statistics/Distribution/Beta.hs-formatted 7b32fc5b6cfc statistics-0.16.5.0/Statistics/Distribution/Binomial.hs-formatted 23f140cdf9bc statistics-0.16.5.0/Statistics/Distribution/CauchyLorentz.hs-formatted dc30bfda499d statistics-0.16.5.0/Statistics/Distribution/ChiSquared.hs-formatted f4734696df71 statistics-0.16.5.0/Statistics/Distribution/DiscreteUniform.hs-formatted cc3d61a22aa0 statistics-0.16.5.0/Statistics/Distribution/Exponential.hs-formatted 5d35b356cb29 statistics-0.16.5.0/Statistics/Distribution/FDistribution.hs-formatted 1258f180d7c0 statistics-0.16.5.0/Statistics/Distribution/Gamma.hs-formatted 97a9584986c7 statistics-0.16.5.0/Statistics/Distribution/Geometric.hs-formatted e05ef1359929 statistics-0.16.5.0/Statistics/Distribution/Hypergeometric.hs-formatted ca93eabbbf15 statistics-0.16.5.0/Statistics/Distribution/Laplace.hs-formatted 1e363f04365e statistics-0.16.5.0/Statistics/Distribution/Lognormal.hs-formatted f5cce916fd78 statistics-0.16.5.0/Statistics/Distribution/NegativeBinomial.hs-formatted fb17da6ed19d statistics-0.16.5.0/Statistics/Distribution/Normal.hs-formatted 1bbb63345a51 statistics-0.16.5.0/Statistics/Distribution/Poisson.hs-formatted fb54f6de83df statistics-0.16.5.0/Statistics/Distribution/Poisson/Internal.hs-formatted 7c5e046a9045 statistics-0.16.5.0/Statistics/Distribution/StudentT.hs-formatted 06505b01e90a statistics-0.16.5.0/Statistics/Distribution/Transform.hs-formatted ead3df94c4d5 statistics-0.16.5.0/Statistics/Distribution/Uniform.hs-formatted bd8bb4f92c76 statistics-0.16.5.0/Statistics/Distribution/Weibull.hs-formatted 1a6eda2dc778 statistics-0.16.5.0/Statistics/Function.hs-formatted 4ce5ca3ee348 statistics-0.16.5.0/Statistics/Internal.hs-formatted 86e8d1a0a535 statistics-0.16.5.0/Statistics/Quantile.hs-formatted 4eb8961889ae statistics-0.16.5.0/Statistics/Regression.hs-formatted 535c5c96b342 statistics-0.16.5.0/Statistics/Resampling.hs-formatted 76d271403a9e statistics-0.16.5.0/Statistics/Resampling/Bootstrap.hs-formatted cc05168e10be statistics-0.16.5.0/Statistics/Sample.hs-formatted 24ce2ba6d88a statistics-0.16.5.0/Statistics/Sample/Histogram.hs-formatted cab9e68a7e21 statistics-0.16.5.0/Statistics/Sample/Internal.hs-formatted 7333b62fa746 statistics-0.16.5.0/Statistics/Sample/KernelDensity.hs-formatted 57cb926959b9 statistics-0.16.5.0/Statistics/Sample/KernelDensity/Simple.hs-formatted e7d037eb7906 statistics-0.16.5.0/Statistics/Sample/Normalize.hs-formatted 1242733971ab statistics-0.16.5.0/Statistics/Sample/Powers.hs-formatted 5530b1f597e3 statistics-0.16.5.0/Statistics/Test/Bartlett.hs-formatted da8b73ff5c88 statistics-0.16.5.0/Statistics/Test/ChiSquared.hs-formatted 4990518d53f6 statistics-0.16.5.0/Statistics/Test/Internal.hs-formatted e5d5a7822558 statistics-0.16.5.0/Statistics/Test/KolmogorovSmirnov.hs-formatted 68068b68b9a0 statistics-0.16.5.0/Statistics/Test/KruskalWallis.hs-formatted 6e9db487a147 statistics-0.16.5.0/Statistics/Test/Levene.hs-formatted a4c13293539e statistics-0.16.5.0/Statistics/Test/MannWhitneyU.hs-formatted 63ad198bde51 statistics-0.16.5.0/Statistics/Test/StudentT.hs-formatted 8222073f1e45 statistics-0.16.5.0/Statistics/Test/Types.hs-formatted f3c789b5cb44 statistics-0.16.5.0/Statistics/Test/WilcoxonT.hs-formatted 4dc98e7c6347 statistics-0.16.5.0/Statistics/Transform.hs-formatted f4cfb5a2aebb statistics-0.16.5.0/Statistics/Types.hs-formatted f071cb4c4814 statistics-0.16.5.0/Statistics/Types/Internal.hs-formatted b5402a2dc355 statistics-0.16.5.0/bench-papi/Bench.hs-formatted 3963835f0889 statistics-0.16.5.0/bench-time/Bench.hs-formatted 61d4105d3456 statistics-0.16.5.0/benchmark/Main.hs-formatted d80f7bf6f96d statistics-0.16.5.0/examples/kde/KDE.hs-formatted dcea40eeb511 statistics-0.16.5.0/tests/Tests/ApproxEq.hs-formatted 2ae25961f71d statistics-0.16.5.0/tests/Tests/Correlation.hs-formatted b0317e3f9b24 statistics-0.16.5.0/tests/Tests/Distribution.hs-formatted 3d4db70bc7ca statistics-0.16.5.0/tests/Tests/ExactDistribution.hs-formatted 299f43f28485 statistics-0.16.5.0/tests/Tests/Function.hs-formatted 9c5a618f3bf1 statistics-0.16.5.0/tests/Tests/Helpers.hs-formatted fec77bb7c2ff statistics-0.16.5.0/tests/Tests/KDE.hs-formatted cf822ef362eb statistics-0.16.5.0/tests/Tests/Matrix.hs-formatted 27d419347379 statistics-0.16.5.0/tests/Tests/Matrix/Types.hs-formatted ea56dc62a57a statistics-0.16.5.0/tests/Tests/NonParametric.hs-formatted 4d0172724882 statistics-0.16.5.0/tests/Tests/NonParametric/Table.hs-formatted 65adfee8e313 statistics-0.16.5.0/tests/Tests/Orphanage.hs-formatted bc01b981cd07 statistics-0.16.5.0/tests/Tests/Parametric.hs-formatted d94da0d75fed statistics-0.16.5.0/tests/Tests/Quantile.hs-formatted 4e08d3c82170 statistics-0.16.5.0/tests/Tests/Serialization.hs-formatted d60faa0d5f6c statistics-0.16.5.0/tests/Tests/Transform.hs-formatted 55f699624c9d statistics-0.16.5.0/tests/doctest.hs-formatted f0e3d45c9159 statistics-0.16.5.0/tests/tests.hs-formatted 2c4811cee336 stm-2.5.3.1/Control/Concurrent/STM.hs-formatted fd81deb0a4a0 stm-2.5.3.1/Control/Concurrent/STM/TArray.hs-formatted 9e9c5d20cb7c stm-2.5.3.1/Control/Concurrent/STM/TBQueue.hs-formatted 643c4c4304ca stm-2.5.3.1/Control/Concurrent/STM/TChan.hs-formatted 5de1c73d983a stm-2.5.3.1/Control/Concurrent/STM/TMVar.hs-formatted 4fabec7ab606 stm-2.5.3.1/Control/Concurrent/STM/TQueue.hs-formatted 0167cfd0c06a stm-2.5.3.1/Control/Concurrent/STM/TSem.hs-formatted 6a0ece958ded stm-2.5.3.1/Control/Concurrent/STM/TVar.hs-partly-checked 6aa0575474c4 stm-2.5.3.1/Control/Monad/STM.hs-formatted 6aecb29a12ab stm-2.5.3.1/Control/Sequential/STM.hs-formatted 7474b7e1d4f5 stm-2.5.3.1/Setup.hs-formatted e290291970ca stm-2.5.3.1/testsuite/src/Issue17.hs-formatted c3343c4d48cb stm-2.5.3.1/testsuite/src/Issue9.hs-formatted 9159857aaf7c stm-2.5.3.1/testsuite/src/Main.hs-formatted 5a7bdca5eb2f stm-2.5.3.1/testsuite/src/Stm052.hs-formatted 9b30ce222d29 stm-2.5.3.1/testsuite/src/Stm064.hs-formatted 0f86f9b94d82 stm-2.5.3.1/testsuite/src/Stm065.hs-formatted 0872066614e0 swagger2-2.9.1/Setup.hs-formatted e61f805d8652 swagger2-2.9.1/examples/hackage.hs-formatted a3ed3c0b3b85 swagger2-2.9.1/src/Data/HashMap/Strict/InsOrd/Compat.hs-formatted d71d272f220f swagger2-2.9.1/src/Data/Swagger.hs-formatted f496ee0d4d0c swagger2-2.9.1/src/Data/Swagger/Declare.hs-formatted 5302fa19a1a8 swagger2-2.9.1/src/Data/Swagger/Internal.hs-formatted 7dfa5b7b4803 swagger2-2.9.1/src/Data/Swagger/Internal/AesonUtils.hs-formatted be2b0df4ab34 swagger2-2.9.1/src/Data/Swagger/Internal/ParamSchema.hs-formatted e4da8109511e swagger2-2.9.1/src/Data/Swagger/Internal/Schema.hs-formatted 15b94738c187 swagger2-2.9.1/src/Data/Swagger/Internal/Schema/Validation.hs-formatted 185e997df260 swagger2-2.9.1/src/Data/Swagger/Internal/TypeShape.hs-formatted abc8c961e8d8 swagger2-2.9.1/src/Data/Swagger/Internal/Utils.hs-formatted fac02daa06aa swagger2-2.9.1/src/Data/Swagger/Lens.hs-formatted 69c86ada5be4 swagger2-2.9.1/src/Data/Swagger/Operation.hs-formatted 385ee16b2de5 swagger2-2.9.1/src/Data/Swagger/Optics.hs-formatted b74d3f8d9ea4 swagger2-2.9.1/src/Data/Swagger/ParamSchema.hs-formatted 19a9a7c3a0de swagger2-2.9.1/src/Data/Swagger/Schema.hs-formatted 59f835605e15 swagger2-2.9.1/src/Data/Swagger/Schema/Generator.hs-formatted 7770e1fe2353 swagger2-2.9.1/src/Data/Swagger/Schema/Validation.hs-formatted 2fd313eb8746 swagger2-2.9.1/src/Data/Swagger/SchemaOptions.hs-formatted 92d24f16cf77 swagger2-2.9.1/test/Data/Swagger/CommonTestTypes.hs-formatted 88ae3e07f1d6 swagger2-2.9.1/test/Data/Swagger/ParamSchemaSpec.hs-formatted ba8d29dd4929 swagger2-2.9.1/test/Data/Swagger/Schema/GeneratorSpec.hs-formatted 272a0817c6aa swagger2-2.9.1/test/Data/Swagger/Schema/ValidationSpec.hs-formatted bc07fee39679 swagger2-2.9.1/test/Data/Swagger/SchemaSpec.hs-formatted b59e746b8895 swagger2-2.9.1/test/Data/SwaggerSpec.hs-formatted 2fbd14b119a4 swagger2-2.9.1/test/Spec.hs-formatted 1534dc51af48 swagger2-2.9.1/test/SpecCommon.hs-formatted cc17d35cb01d swagger2-2.9.1/test/doctests.hs-formatted 2620b9109dd2 tasty-1.5.4/Control/Concurrent/Async.hs-formatted e865ae48f11b tasty-1.5.4/Setup.hs-formatted 02df8ffe2eb3 tasty-1.5.4/Test/Tasty.hs-formatted da0dd4a5f265 tasty-1.5.4/Test/Tasty/CmdLine.hs-formatted 3a5fcf3042c0 tasty-1.5.4/Test/Tasty/Core.hs-formatted dd00b52edeb7 tasty-1.5.4/Test/Tasty/Ingredients.hs-formatted 9e13d30f1aac tasty-1.5.4/Test/Tasty/Ingredients/Basic.hs-formatted 0e632c2a7445 tasty-1.5.4/Test/Tasty/Ingredients/ConsoleReporter.hs-formatted 8c6cf8ae3d46 tasty-1.5.4/Test/Tasty/Ingredients/IncludingOptions.hs-formatted 095b09b1c146 tasty-1.5.4/Test/Tasty/Ingredients/ListTests.hs-formatted 1d78b5b7b6d6 tasty-1.5.4/Test/Tasty/Options.hs-formatted 3423011ddd29 tasty-1.5.4/Test/Tasty/Options/Core.hs-formatted d9fbf61e13b4 tasty-1.5.4/Test/Tasty/Options/Env.hs-formatted bc3c7e134e5c tasty-1.5.4/Test/Tasty/Parallel.hs-formatted d8b2acdcc674 tasty-1.5.4/Test/Tasty/Patterns.hs-formatted 0d97fca4d8c9 tasty-1.5.4/Test/Tasty/Patterns/Eval.hs-formatted 4d5e43449879 tasty-1.5.4/Test/Tasty/Patterns/Expr.hs-formatted 29b2bd9b3c0c tasty-1.5.4/Test/Tasty/Patterns/Parser.hs-formatted 3b88b836a8da tasty-1.5.4/Test/Tasty/Patterns/Printer.hs-formatted 76352e15e8e6 tasty-1.5.4/Test/Tasty/Patterns/Types.hs-formatted b2ce3b3d2ba6 tasty-1.5.4/Test/Tasty/Providers.hs-formatted 1e9dd494aa0d tasty-1.5.4/Test/Tasty/Providers/ConsoleFormat.hs-formatted b0fac1f874dc tasty-1.5.4/Test/Tasty/Run.hs-formatted cb5862c8ea8c tasty-1.5.4/Test/Tasty/Runners.hs-formatted a02b4c543c75 tasty-1.5.4/Test/Tasty/Runners/Reducers.hs-formatted b1a27c0f0bde tasty-1.5.4/Test/Tasty/Runners/Utils.hs-formatted e865ae48f11b tensorflow-0.2.0.1/Setup.hs-formatted fc583182d149 tensorflow-0.2.0.1/src/TensorFlow/Build.hs-formatted 6a8867b44ef1 tensorflow-0.2.0.1/src/TensorFlow/BuildOp.hs-formatted 77489c8b8f87 tensorflow-0.2.0.1/src/TensorFlow/ControlFlow.hs-formatted 4cc5cc869f78 tensorflow-0.2.0.1/src/TensorFlow/Core.hs-formatted 76a2093eefd8 tensorflow-0.2.0.1/src/TensorFlow/Internal/FFI.hs-formatted 62d7a0995301 tensorflow-0.2.0.1/src/TensorFlow/Internal/VarInt.hs-formatted 33a0218dc730 tensorflow-0.2.0.1/src/TensorFlow/Nodes.hs-formatted 6079d89faf44 tensorflow-0.2.0.1/src/TensorFlow/Output.hs-formatted 43470d2fc559 tensorflow-0.2.0.1/src/TensorFlow/Session.hs-formatted da3a7653404f tensorflow-0.2.0.1/src/TensorFlow/Tensor.hs-formatted 7e1723a7554a tensorflow-0.2.0.1/src/TensorFlow/Types.hs-formatted 7786d8f90a48 tensorflow-0.2.0.1/tests/FFITest.hs-formatted 0f5db84dd77b tensorflow-0.2.0.1/tests/VarIntTest.hs-formatted 8ae0364c5862 text-2.1.4/benchmarks/haskell/Benchmarks.hs-formatted ffe091bc4536 text-2.1.4/benchmarks/haskell/Benchmarks/Builder.hs-formatted 46dcd64eb8e5 text-2.1.4/benchmarks/haskell/Benchmarks/Concat.hs-formatted 1e546a146930 text-2.1.4/benchmarks/haskell/Benchmarks/DecodeUtf8.hs-formatted 41909e2de312 text-2.1.4/benchmarks/haskell/Benchmarks/EncodeUtf8.hs-formatted 919f36b12c57 text-2.1.4/benchmarks/haskell/Benchmarks/Equality.hs-formatted a5d1f5795b29 text-2.1.4/benchmarks/haskell/Benchmarks/FileRead.hs-formatted 09b54ec2d23a text-2.1.4/benchmarks/haskell/Benchmarks/FileWrite.hs-formatted ad27e899bf04 text-2.1.4/benchmarks/haskell/Benchmarks/FoldLines.hs-formatted 983d6f9117cd text-2.1.4/benchmarks/haskell/Benchmarks/Micro.hs-formatted 78b2688949ff text-2.1.4/benchmarks/haskell/Benchmarks/Multilang.hs-formatted 6ee308d7049c text-2.1.4/benchmarks/haskell/Benchmarks/Programs/BigTable.hs-formatted b1d195224e1a text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Cut.hs-formatted 2814a67c6d1b text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Fold.hs-formatted 2cebf4fe82ba text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Sort.hs-formatted d9f35273ed3a text-2.1.4/benchmarks/haskell/Benchmarks/Programs/StripTags.hs-formatted 760d861cf866 text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Throughput.hs-formatted 021d8145a2fe text-2.1.4/benchmarks/haskell/Benchmarks/Pure.hs-formatted e54e95cc30f1 text-2.1.4/benchmarks/haskell/Benchmarks/ReadNumbers.hs-formatted bf7477bd4934 text-2.1.4/benchmarks/haskell/Benchmarks/Replace.hs-formatted 36cf43ee1086 text-2.1.4/benchmarks/haskell/Benchmarks/Search.hs-formatted 6630a0ba2adf text-2.1.4/benchmarks/haskell/Benchmarks/Stream.hs-formatted 582c824b5ff5 text-2.1.4/benchmarks/haskell/Benchmarks/WordFrequencies.hs-formatted 352931675b25 text-2.1.4/scripts/ApiCompare.hs-formatted 227860122661 text-2.1.4/scripts/Arsec.hs-formatted eb1cc9cf331c text-2.1.4/scripts/CaseFolding.hs-formatted a0bdad468ca4 text-2.1.4/scripts/CaseMapping.hs-formatted 57e97be5ba61 text-2.1.4/scripts/SpecialCasing.hs-formatted d775bb623580 text-2.1.4/scripts/UnicodeData.hs-partly-checked 08b3c96288dc text-2.1.4/src/Data/Text.hs-formatted 5b72823ffe98 text-2.1.4/src/Data/Text/Array.hs-formatted 4970b89f4e7e text-2.1.4/src/Data/Text/Encoding.hs-formatted d6231f7ebe99 text-2.1.4/src/Data/Text/Encoding/Error.hs-formatted 7580816061c0 text-2.1.4/src/Data/Text/Foreign.hs-formatted d26ae280631c text-2.1.4/src/Data/Text/IO.hs-formatted 8c24fec0de81 text-2.1.4/src/Data/Text/IO/Utf8.hs-formatted 8c62dc2df371 text-2.1.4/src/Data/Text/Internal.hs-formatted 48c631518261 text-2.1.4/src/Data/Text/Internal/ArrayUtils.hs-formatted e5f93165747b text-2.1.4/src/Data/Text/Internal/Builder.hs-formatted 3a05c951a914 text-2.1.4/src/Data/Text/Internal/Builder/Functions.hs-formatted f5f871c975a4 text-2.1.4/src/Data/Text/Internal/Builder/Int/Digits.hs-formatted ab51e88834e1 text-2.1.4/src/Data/Text/Internal/Builder/RealFloat/Functions.hs-formatted 7fa192160c9b text-2.1.4/src/Data/Text/Internal/ByteStringCompat.hs-formatted 370cd9150da5 text-2.1.4/src/Data/Text/Internal/Encoding.hs-formatted 43a1a670b3db text-2.1.4/src/Data/Text/Internal/Encoding/Fusion.hs-formatted 07ceae987c37 text-2.1.4/src/Data/Text/Internal/Encoding/Fusion/Common.hs-formatted 875961737225 text-2.1.4/src/Data/Text/Internal/Encoding/Utf16.hs-formatted 48ea4745d7e8 text-2.1.4/src/Data/Text/Internal/Encoding/Utf32.hs-formatted 999f28ae046f text-2.1.4/src/Data/Text/Internal/Encoding/Utf8.hs-formatted 9b74d0d7d95a text-2.1.4/src/Data/Text/Internal/Fusion.hs-formatted 9ae139203b50 text-2.1.4/src/Data/Text/Internal/Fusion/CaseMapping.hs-formatted 0858f0992142 text-2.1.4/src/Data/Text/Internal/Fusion/Common.hs-formatted eb26e26b5392 text-2.1.4/src/Data/Text/Internal/Fusion/Size.hs-formatted a8149e253de6 text-2.1.4/src/Data/Text/Internal/Fusion/Types.hs-formatted 32b50634031b text-2.1.4/src/Data/Text/Internal/IO.hs-formatted e2bb47936e11 text-2.1.4/src/Data/Text/Internal/IsAscii.hs-formatted 538632ba614a text-2.1.4/src/Data/Text/Internal/Lazy.hs-formatted 513ae58ba231 text-2.1.4/src/Data/Text/Internal/Lazy/Encoding/Fusion.hs-formatted c627413119e8 text-2.1.4/src/Data/Text/Internal/Lazy/Fusion.hs-formatted a3c76abdf09c text-2.1.4/src/Data/Text/Internal/Lazy/Search.hs-formatted 7eee07692410 text-2.1.4/src/Data/Text/Internal/Measure.hs-formatted 7635d57189ea text-2.1.4/src/Data/Text/Internal/PrimCompat.hs-formatted 634f3b2cbbde text-2.1.4/src/Data/Text/Internal/Private.hs-formatted a41bd3d7edab text-2.1.4/src/Data/Text/Internal/Read.hs-formatted ec56c867ca01 text-2.1.4/src/Data/Text/Internal/Reverse.hs-formatted eff6a5ffb928 text-2.1.4/src/Data/Text/Internal/Search.hs-formatted 67bf06cca611 text-2.1.4/src/Data/Text/Internal/StrictBuilder.hs-formatted a739bca575a2 text-2.1.4/src/Data/Text/Internal/Transformation.hs-formatted 18ae86a38924 text-2.1.4/src/Data/Text/Internal/Unsafe.hs-formatted d3b144e675ef text-2.1.4/src/Data/Text/Internal/Unsafe/Char.hs-formatted 66e47e950ff0 text-2.1.4/src/Data/Text/Internal/Validate.hs-formatted 3597c6a4f1b6 text-2.1.4/src/Data/Text/Internal/Validate/Native.hs-formatted 530d639cfd22 text-2.1.4/src/Data/Text/Internal/Validate/Simd.hs-formatted 6d4a57a9277a text-2.1.4/src/Data/Text/Lazy.hs-formatted 38ff2d7cb674 text-2.1.4/src/Data/Text/Lazy/Builder.hs-formatted 38666af96d86 text-2.1.4/src/Data/Text/Lazy/Builder/Int.hs-formatted 29e65f5a5a13 text-2.1.4/src/Data/Text/Lazy/Builder/RealFloat.hs-formatted a19c3620d230 text-2.1.4/src/Data/Text/Lazy/Encoding.hs-formatted ac210eeb3b0e text-2.1.4/src/Data/Text/Lazy/IO.hs-formatted 737ca3b98c79 text-2.1.4/src/Data/Text/Lazy/Internal.hs-formatted 4053796b9111 text-2.1.4/src/Data/Text/Lazy/Read.hs-formatted 95185ba2e9b4 text-2.1.4/src/Data/Text/Read.hs-formatted 1140737c74af text-2.1.4/src/Data/Text/Show.hs-formatted 5aa1e6b706a4 text-2.1.4/src/Data/Text/Unsafe.hs-formatted 8c35444bb7ce text-2.1.4/tests/LiteralRuleTest.hs-formatted 6c129d5c79c5 text-2.1.4/tests/Tests.hs-formatted 8c9ba4deec7f text-2.1.4/tests/Tests/Lift.hs-formatted eea1f5be128d text-2.1.4/tests/Tests/Properties.hs-formatted a1795fe9db0d text-2.1.4/tests/Tests/Properties/Basics.hs-formatted 4095b24da789 text-2.1.4/tests/Tests/Properties/Builder.hs-formatted 0da554ece794 text-2.1.4/tests/Tests/Properties/CornerCases.hs-formatted 966d6896eccc text-2.1.4/tests/Tests/Properties/Folds.hs-formatted 05ba3e128127 text-2.1.4/tests/Tests/Properties/Instances.hs-formatted 85722c4277cd text-2.1.4/tests/Tests/Properties/LowLevel.hs-formatted 73ce8ac597c8 text-2.1.4/tests/Tests/Properties/Read.hs-formatted 3429b9447ca6 text-2.1.4/tests/Tests/Properties/Substrings.hs-formatted bc4a76ea99f3 text-2.1.4/tests/Tests/Properties/Text.hs-formatted 826bd37a7ee9 text-2.1.4/tests/Tests/Properties/Transcoding.hs-formatted cd2ce6693a46 text-2.1.4/tests/Tests/Properties/Validate.hs-formatted 9ebdcbc8f461 text-2.1.4/tests/Tests/QuickCheckUtils.hs-formatted c6e25a3408e0 text-2.1.4/tests/Tests/RebindableSyntaxTest.hs-formatted 939e997260ba text-2.1.4/tests/Tests/Regressions.hs-formatted b7037d3f07cc text-2.1.4/tests/Tests/ShareEmpty.hs-formatted f4e9f36f6be9 text-2.1.4/tests/Tests/SlowFunctions.hs-formatted 375091fbe743 text-2.1.4/tests/Tests/Utils.hs-formatted e865ae48f11b th-abstraction-0.7.2.0/Setup.hs-formatted 57bdc5001ee0 th-abstraction-0.7.2.0/src/Language/Haskell/TH/Datatype.hs-formatted b67b7b9c968e th-abstraction-0.7.2.0/src/Language/Haskell/TH/Datatype/Internal.hs-formatted 505471744185 th-abstraction-0.7.2.0/src/Language/Haskell/TH/Datatype/TyVarBndr.hs-formatted 5179ef6dc11e th-abstraction-0.7.2.0/test/Harness.hs-partly-checked 69d549cce6e9 th-abstraction-0.7.2.0/test/Main.hs-formatted cc537447a0e2 th-abstraction-0.7.2.0/test/Types.hs-formatted fd2ff7ad97e3 time-1.16.0.1/Setup.hs-formatted 125260959da8 time-1.16.0.1/benchmark/Main.hs-formatted 67b30ed4204b time-1.16.0.1/lib/Data/Format.hs-formatted 138e9cb35e13 time-1.16.0.1/lib/Data/Time.hs-formatted d808f69809c2 time-1.16.0.1/lib/Data/Time/Calendar.hs-formatted 0f617301ba5b time-1.16.0.1/lib/Data/Time/Calendar/CalendarDiffDays.hs-formatted e210a7d3456b time-1.16.0.1/lib/Data/Time/Calendar/Days.hs-formatted 03412f0b8356 time-1.16.0.1/lib/Data/Time/Calendar/Easter.hs-formatted f8d4d6f009e4 time-1.16.0.1/lib/Data/Time/Calendar/Gregorian.hs-formatted be538512fc07 time-1.16.0.1/lib/Data/Time/Calendar/Julian.hs-formatted 625e7b428153 time-1.16.0.1/lib/Data/Time/Calendar/JulianYearDay.hs-formatted 9ba18c758e02 time-1.16.0.1/lib/Data/Time/Calendar/Month.hs-formatted eee4b0761e17 time-1.16.0.1/lib/Data/Time/Calendar/MonthDay.hs-formatted fe021b5bb8e1 time-1.16.0.1/lib/Data/Time/Calendar/OrdinalDate.hs-formatted 025bb4e6307c time-1.16.0.1/lib/Data/Time/Calendar/Private.hs-formatted 7d5d5b51baca time-1.16.0.1/lib/Data/Time/Calendar/Quarter.hs-formatted 61e7261c13da time-1.16.0.1/lib/Data/Time/Calendar/Types.hs-formatted 55892c430b7b time-1.16.0.1/lib/Data/Time/Calendar/Week.hs-formatted 8d6d0ff3c8ec time-1.16.0.1/lib/Data/Time/Calendar/WeekDate.hs-formatted c2de888ee84b time-1.16.0.1/lib/Data/Time/Clock.hs-formatted 0b01b660df99 time-1.16.0.1/lib/Data/Time/Clock/Internal/AbsoluteTime.hs-declined - time-1.16.0.1/lib/Data/Time/Clock/Internal/CTimeval.hs-formatted fde88246f337 time-1.16.0.1/lib/Data/Time/Clock/Internal/DiffTime.hs-formatted 130201256efa time-1.16.0.1/lib/Data/Time/Clock/Internal/NominalDiffTime.hs-formatted 8ef6afa040bc time-1.16.0.1/lib/Data/Time/Clock/Internal/POSIXTime.hs-formatted e9a83d4e7327 time-1.16.0.1/lib/Data/Time/Clock/Internal/SystemTime.hs-formatted 310750655010 time-1.16.0.1/lib/Data/Time/Clock/Internal/UTCDiff.hs-formatted a58732cd7eb8 time-1.16.0.1/lib/Data/Time/Clock/Internal/UTCTime.hs-formatted acaedfdab698 time-1.16.0.1/lib/Data/Time/Clock/Internal/UniversalTime.hs-formatted cf441f809fdf time-1.16.0.1/lib/Data/Time/Clock/POSIX.hs-formatted 6dd6034d73b4 time-1.16.0.1/lib/Data/Time/Clock/System.hs-formatted 7cdd69049dcf time-1.16.0.1/lib/Data/Time/Clock/TAI.hs-formatted b600a5b5c744 time-1.16.0.1/lib/Data/Time/Format.hs-formatted 6c005f66f0be time-1.16.0.1/lib/Data/Time/Format/Format/Class.hs-formatted 47f1688c0787 time-1.16.0.1/lib/Data/Time/Format/Format/Instances.hs-formatted 3764319de19b time-1.16.0.1/lib/Data/Time/Format/ISO8601.hs-formatted 76aa49c9292b time-1.16.0.1/lib/Data/Time/Format/Internal.hs-formatted b7ae7592bcb6 time-1.16.0.1/lib/Data/Time/Format/Locale.hs-formatted 2cd514758801 time-1.16.0.1/lib/Data/Time/Format/Parse.hs-formatted 05a7f0bf5554 time-1.16.0.1/lib/Data/Time/Format/Parse/Class.hs-formatted cb2ccd8c40fd time-1.16.0.1/lib/Data/Time/Format/Parse/Instances.hs-formatted 4489a4cdab49 time-1.16.0.1/lib/Data/Time/LocalTime.hs-formatted 93986a8450d1 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/CalendarDiffTime.hs-formatted 94f381fe1ad1 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/Foreign.hs-formatted ca98c37fb34c time-1.16.0.1/lib/Data/Time/LocalTime/Internal/LocalTime.hs-formatted 9200ebaf067a time-1.16.0.1/lib/Data/Time/LocalTime/Internal/TimeOfDay.hs-formatted 74496e557585 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/TimeZone.hs-formatted 343d16749a70 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/ZonedTime.hs-formatted c365d1aa63cd time-1.16.0.1/test/ForeignCalls.hs-formatted fc8234c946fb time-1.16.0.1/test/ShowDefaultTZAbbreviations.hs-formatted b51274826033 time-1.16.0.1/test/ShowTime.hs-formatted 921506ceef7c time-1.16.0.1/test/main/Main.hs-formatted 4db8ebf798ab time-1.16.0.1/test/main/Test/AddDiff.hs-formatted 0ff201c42388 time-1.16.0.1/test/main/Test/Arbitrary.hs-formatted a31b50175d67 time-1.16.0.1/test/main/Test/Calendar/AddDays.hs-formatted 5b09874748fc time-1.16.0.1/test/main/Test/Calendar/AddDaysRef.hs-formatted 1f2ab37cb077 time-1.16.0.1/test/main/Test/Calendar/CalendarProps.hs-formatted fe6ab3f07aa9 time-1.16.0.1/test/main/Test/Calendar/Calendars.hs-formatted ba59184d394c time-1.16.0.1/test/main/Test/Calendar/CalendarsRef.hs-formatted e4ef550ce506 time-1.16.0.1/test/main/Test/Calendar/ClipDates.hs-formatted f707c1ddaec1 time-1.16.0.1/test/main/Test/Calendar/ClipDatesRef.hs-formatted d031fd80c27f time-1.16.0.1/test/main/Test/Calendar/ConvertBack.hs-formatted 168e9526852a time-1.16.0.1/test/main/Test/Calendar/DayPeriod.hs-formatted 2b4c5c903e40 time-1.16.0.1/test/main/Test/Calendar/Duration.hs-formatted 56b1c2b8beea time-1.16.0.1/test/main/Test/Calendar/Easter.hs-formatted 3f35f96f7337 time-1.16.0.1/test/main/Test/Calendar/LongWeekYears.hs-formatted bdfb9e546ba3 time-1.16.0.1/test/main/Test/Calendar/LongWeekYearsRef.hs-formatted b5181d1d6218 time-1.16.0.1/test/main/Test/Calendar/MonthDay.hs-formatted c01cb667a9a8 time-1.16.0.1/test/main/Test/Calendar/MonthDayRef.hs-formatted fc8caea8866a time-1.16.0.1/test/main/Test/Calendar/MonthOfYear.hs-formatted 70ffc80a9b91 time-1.16.0.1/test/main/Test/Calendar/Valid.hs-formatted 516d424dfa89 time-1.16.0.1/test/main/Test/Calendar/Week.hs-formatted 96f42a259e5f time-1.16.0.1/test/main/Test/Calendar/Year.hs-formatted 868a03b5a657 time-1.16.0.1/test/main/Test/Clock/Conversion.hs-formatted 5c09197a3ec5 time-1.16.0.1/test/main/Test/Clock/Pattern.hs-formatted 449c0cf9b9bd time-1.16.0.1/test/main/Test/Clock/Resolution.hs-formatted e5afef596413 time-1.16.0.1/test/main/Test/Clock/TAI.hs-formatted 56759726b4b9 time-1.16.0.1/test/main/Test/Format/Compile.hs-formatted 9a5ff5f775a0 time-1.16.0.1/test/main/Test/Format/Format.hs-formatted 458676174a43 time-1.16.0.1/test/main/Test/Format/ISO8601.hs-formatted b9a6b11b9e1e time-1.16.0.1/test/main/Test/Format/ParseTime.hs-formatted 87d53b9f2df8 time-1.16.0.1/test/main/Test/LocalTime/CalendarDiffTime.hs-formatted 3c6fcbef621e time-1.16.0.1/test/main/Test/LocalTime/Time.hs-formatted 4c37e59c357b time-1.16.0.1/test/main/Test/LocalTime/TimeOfDay.hs-formatted db61298fae47 time-1.16.0.1/test/main/Test/LocalTime/TimeRef.hs-formatted 274e9173e128 time-1.16.0.1/test/main/Test/TestUtil.hs-formatted 41cfd788db10 time-1.16.0.1/test/main/Test/Types.hs-formatted 2e8ad72db81a time-1.16.0.1/test/template/Main.hs-formatted 29972ed619e0 time-1.16.0.1/test/template/Test/TastyWrapper.hs-formatted ea580c874e6f time-1.16.0.1/test/unix/Main.hs-formatted 9d938426697b time-1.16.0.1/test/unix/Test/Format/Format.hs-formatted 21b333187684 time-1.16.0.1/test/unix/Test/LocalTime/TimeZone.hs-formatted f627f436f233 time-1.16.0.1/test/unix/Test/TestUtil.hs-formatted 7917eb9d1f66 tls-2.4.3/Benchmarks/Benchmarks.hs-formatted 489534a90c4b tls-2.4.3/Network/TLS.hs-formatted 7ce1364dcb4a tls-2.4.3/Network/TLS/Backend.hs-formatted f9d4f25241e6 tls-2.4.3/Network/TLS/Cipher.hs-formatted a0fa75894b05 tls-2.4.3/Network/TLS/Compression.hs-formatted 1228f4f8033d tls-2.4.3/Network/TLS/Context.hs-formatted 04740f1040b6 tls-2.4.3/Network/TLS/Context/Internal.hs-formatted 8a2288d2bc96 tls-2.4.3/Network/TLS/Core.hs-formatted e1443ef58aff tls-2.4.3/Network/TLS/Credentials.hs-formatted b6cc61acbea0 tls-2.4.3/Network/TLS/Crypto.hs-formatted a8fca7835f0d tls-2.4.3/Network/TLS/Crypto/DH.hs-formatted 446c8c8a07ed tls-2.4.3/Network/TLS/Crypto/IES.hs-formatted b7e6a0d5aaac tls-2.4.3/Network/TLS/Crypto/Types.hs-formatted 025f72c75341 tls-2.4.3/Network/TLS/ErrT.hs-formatted 427d32e6cdf8 tls-2.4.3/Network/TLS/Error.hs-formatted 25c2c4064c31 tls-2.4.3/Network/TLS/Extension.hs-formatted 2be304b6f83e tls-2.4.3/Network/TLS/Extension.hs-boot-formatted 49db661a445a tls-2.4.3/Network/TLS/Extra.hs-formatted 62633b825876 tls-2.4.3/Network/TLS/Extra/Cipher.hs-formatted 0ee5bebb0e07 tls-2.4.3/Network/TLS/Extra/CipherCBC.hs-formatted 5d51d07ab286 tls-2.4.3/Network/TLS/Extra/FFDHE.hs-formatted 0003b888622d tls-2.4.3/Network/TLS/Handshake.hs-formatted 34fa3d5f9250 tls-2.4.3/Network/TLS/Handshake/Certificate.hs-formatted e0f2a684c93c tls-2.4.3/Network/TLS/Handshake/Client.hs-formatted 9c57a50d7cfc tls-2.4.3/Network/TLS/Handshake/Client/ClientHello.hs-formatted fd3b33b247f9 tls-2.4.3/Network/TLS/Handshake/Client/Common.hs-formatted 020fe94afa85 tls-2.4.3/Network/TLS/Handshake/Client/ServerHello.hs-formatted 3f13588f75b3 tls-2.4.3/Network/TLS/Handshake/Client/TLS12.hs-formatted 5c1bcf1c14e2 tls-2.4.3/Network/TLS/Handshake/Client/TLS13.hs-formatted a90b777adf6d tls-2.4.3/Network/TLS/Handshake/Common.hs-formatted c5440404a04f tls-2.4.3/Network/TLS/Handshake/Common13.hs-formatted 02f97ef7593d tls-2.4.3/Network/TLS/Handshake/Control.hs-formatted 2c0676398aca tls-2.4.3/Network/TLS/Handshake/Key.hs-formatted 9dc05a147d3b tls-2.4.3/Network/TLS/Handshake/Random.hs-formatted 718a7715d422 tls-2.4.3/Network/TLS/Handshake/Server.hs-formatted b75e8a299fbb tls-2.4.3/Network/TLS/Handshake/Server/ClientHello.hs-formatted 17ae63748aa2 tls-2.4.3/Network/TLS/Handshake/Server/ClientHello12.hs-formatted d664c259f6af tls-2.4.3/Network/TLS/Handshake/Server/ClientHello13.hs-formatted a2f2d3470f0f tls-2.4.3/Network/TLS/Handshake/Server/Common.hs-formatted 5c07986ccbf1 tls-2.4.3/Network/TLS/Handshake/Server/ServerHello12.hs-formatted d3df4765699c tls-2.4.3/Network/TLS/Handshake/Server/ServerHello13.hs-formatted b29b9f3d0ef7 tls-2.4.3/Network/TLS/Handshake/Server/TLS12.hs-formatted dacd920cbf42 tls-2.4.3/Network/TLS/Handshake/Server/TLS13.hs-formatted 6a8388c49af7 tls-2.4.3/Network/TLS/Handshake/Signature.hs-formatted 4d5c61b9dc3d tls-2.4.3/Network/TLS/Handshake/State.hs-formatted f55d027db091 tls-2.4.3/Network/TLS/Handshake/State13.hs-formatted f907190b60ed tls-2.4.3/Network/TLS/Handshake/TranscriptHash.hs-formatted 5e1320c4c161 tls-2.4.3/Network/TLS/HashAndSignature.hs-formatted 7be5df148925 tls-2.4.3/Network/TLS/Hooks.hs-formatted b606b0451a2f tls-2.4.3/Network/TLS/IO.hs-formatted 4288557274dd tls-2.4.3/Network/TLS/IO/Decode.hs-formatted a9013006f398 tls-2.4.3/Network/TLS/IO/Encode.hs-formatted 6c20cf748535 tls-2.4.3/Network/TLS/Imports.hs-formatted 21e9ce7c3507 tls-2.4.3/Network/TLS/Internal.hs-formatted 92999e90c6b3 tls-2.4.3/Network/TLS/KeySchedule.hs-formatted febba7334e9e tls-2.4.3/Network/TLS/MAC.hs-formatted 9955ee0bd505 tls-2.4.3/Network/TLS/Measurement.hs-formatted 426e8a75af01 tls-2.4.3/Network/TLS/Packet.hs-formatted 41cbbbe9b09e tls-2.4.3/Network/TLS/Packet13.hs-formatted a14ea5098afd tls-2.4.3/Network/TLS/Parameters.hs-formatted 29784d509f48 tls-2.4.3/Network/TLS/PostHandshake.hs-formatted 8edf9e30c18b tls-2.4.3/Network/TLS/QUIC.hs-formatted 360a52dcf151 tls-2.4.3/Network/TLS/RNG.hs-formatted 805eb6800681 tls-2.4.3/Network/TLS/Record.hs-formatted e0fdd96fb4fc tls-2.4.3/Network/TLS/Record/Decrypt.hs-formatted 58ae652319fd tls-2.4.3/Network/TLS/Record/Encrypt.hs-formatted 3d9c53507eaa tls-2.4.3/Network/TLS/Record/Layer.hs-formatted a66c641fa8a1 tls-2.4.3/Network/TLS/Record/Recv.hs-formatted 9fa588833e07 tls-2.4.3/Network/TLS/Record/Send.hs-formatted 500b4c31d912 tls-2.4.3/Network/TLS/Record/State.hs-formatted 932e2e5f3887 tls-2.4.3/Network/TLS/Record/Types.hs-formatted 42bed44c3eaa tls-2.4.3/Network/TLS/Session.hs-formatted 04bdb49074e5 tls-2.4.3/Network/TLS/State.hs-formatted aedfbc85cbbc tls-2.4.3/Network/TLS/Struct.hs-formatted 4c783b0d9e9d tls-2.4.3/Network/TLS/Struct13.hs-formatted ea0d39cd9f70 tls-2.4.3/Network/TLS/Types.hs-formatted 253e29d81f4e tls-2.4.3/Network/TLS/Types/Cipher.hs-formatted e6e9255220bb tls-2.4.3/Network/TLS/Types/Secret.hs-formatted 35bf4ee60be8 tls-2.4.3/Network/TLS/Types/Session.hs-formatted 741cb1c84257 tls-2.4.3/Network/TLS/Types/Version.hs-formatted be921f75cb0a tls-2.4.3/Network/TLS/Util.hs-formatted 1d021bd7e9a7 tls-2.4.3/Network/TLS/Util/ASN1.hs-formatted 9d70166f446f tls-2.4.3/Network/TLS/Util/Serialization.hs-formatted 32a205e8e871 tls-2.4.3/Network/TLS/Wire.hs-formatted 5c85b406dea3 tls-2.4.3/Network/TLS/X509.hs-formatted e865ae48f11b tls-2.4.3/Setup.hs-formatted 45a83b6cde24 tls-2.4.3/test/API.hs-formatted 0d25f1866c79 tls-2.4.3/test/Arbitrary.hs-formatted ba1557ab2831 tls-2.4.3/test/Certificate.hs-formatted 37c216e39fd1 tls-2.4.3/test/CiphersSpec.hs-formatted ae18040b3401 tls-2.4.3/test/ECHSpec.hs-formatted a99d04d129f7 tls-2.4.3/test/EncodeSpec.hs-formatted a99713b7b244 tls-2.4.3/test/HandshakeSpec.hs-formatted 23c51f587e8d tls-2.4.3/test/PipeChan.hs-formatted 338dcd8056de tls-2.4.3/test/PubKey.hs-formatted 9621232ed432 tls-2.4.3/test/Run.hs-formatted f2f3550cb17a tls-2.4.3/test/Session.hs-formatted 2fbd14b119a4 tls-2.4.3/test/Spec.hs-formatted 9034972735e8 tls-2.4.3/test/ThreadSpec.hs-formatted 199e7d71bfb6 tls-2.4.3/util/Client.hs-formatted c555911ae465 tls-2.4.3/util/Common.hs-formatted 7dd3b5f2e44a tls-2.4.3/util/Imports.hs-formatted 6e9aa070c533 tls-2.4.3/util/Server.hs-formatted fa42557a0faa tls-2.4.3/util/tls-client.hs-formatted 0b4839d81970 tls-2.4.3/util/tls-server.hs-partly-checked 36a6d2f6abb4 transformers-0.6.3.0/Control/Applicative/Backwards.hs-partly-checked 1e0b5cb5f0b3 transformers-0.6.3.0/Control/Applicative/Lift.hs-formatted 578b0e3c1682 transformers-0.6.3.0/Control/Monad/Signatures.hs-partly-checked 903d26036ddf transformers-0.6.3.0/Control/Monad/Trans/Accum.hs-formatted dc84c86bb82a transformers-0.6.3.0/Control/Monad/Trans/Class.hs-formatted f620249e716e transformers-0.6.3.0/Control/Monad/Trans/Cont.hs-partly-checked 2f38844a0b53 transformers-0.6.3.0/Control/Monad/Trans/Except.hs-partly-checked 6d8a76ff4396 transformers-0.6.3.0/Control/Monad/Trans/Identity.hs-partly-checked 992296f3d968 transformers-0.6.3.0/Control/Monad/Trans/Maybe.hs-formatted 6f7326668607 transformers-0.6.3.0/Control/Monad/Trans/RWS.hs-formatted 74ae178e7877 transformers-0.6.3.0/Control/Monad/Trans/RWS/CPS.hs-partly-checked bbbde7e4b2ce transformers-0.6.3.0/Control/Monad/Trans/RWS/Lazy.hs-partly-checked 99cf9d466187 transformers-0.6.3.0/Control/Monad/Trans/RWS/Strict.hs-partly-checked b0dea6ec7a78 transformers-0.6.3.0/Control/Monad/Trans/Reader.hs-formatted b58555f08340 transformers-0.6.3.0/Control/Monad/Trans/Select.hs-formatted dc729d1936a2 transformers-0.6.3.0/Control/Monad/Trans/State.hs-partly-checked 79758bb0ea7c transformers-0.6.3.0/Control/Monad/Trans/State/Lazy.hs-partly-checked fa45dc7389ec transformers-0.6.3.0/Control/Monad/Trans/State/Strict.hs-formatted 6a9857bbd181 transformers-0.6.3.0/Control/Monad/Trans/Writer.hs-formatted 63f9ddfce19f transformers-0.6.3.0/Control/Monad/Trans/Writer/CPS.hs-partly-checked 4c4d740d0f11 transformers-0.6.3.0/Control/Monad/Trans/Writer/Lazy.hs-partly-checked d70a600a810a transformers-0.6.3.0/Control/Monad/Trans/Writer/Strict.hs-declined - transformers-0.6.3.0/Data/Functor/Constant.hs-partly-checked d6d1f203de5b transformers-0.6.3.0/Data/Functor/Reverse.hs-formatted e865ae48f11b transformers-0.6.3.0/Setup.hs-declined - transformers-0.6.3.0/legacy/pre709/Data/Functor/Identity.hs-formatted ee4ba7098a5c transformers-0.6.3.0/legacy/pre711/Control/Monad/IO/Class.hs-formatted 7d9fab9a0caf transformers-0.6.3.0/legacy/pre711/Data/Functor/Classes.hs-formatted effc0109229f transformers-0.6.3.0/legacy/pre711/Data/Functor/Compose.hs-partly-checked e96184ffa2ec transformers-0.6.3.0/legacy/pre711/Data/Functor/Product.hs-formatted 87f324f0c768 transformers-0.6.3.0/legacy/pre711/Data/Functor/Sum.hs-formatted e865ae48f11b typed-process-0.2.13.0/Setup.hs-formatted 5962b1150c46 typed-process-0.2.13.0/src/System/Process/Typed.hs-formatted 25b5330661d4 typed-process-0.2.13.0/src/System/Process/Typed/Internal.hs-formatted 2fbd14b119a4 typed-process-0.2.13.0/test/Spec.hs-formatted 4eb03857d270 typed-process-0.2.13.0/test/System/Process/TypedSpec.hs-formatted e865ae48f11b unliftio-0.2.25.1/Setup.hs-formatted 86399961b28a unliftio-0.2.25.1/bench/ConcBench.hs-formatted 737706872ccf unliftio-0.2.25.1/src/UnliftIO.hs-formatted 713d1458fd8d unliftio-0.2.25.1/src/UnliftIO/Async.hs-formatted 5463e06f3adf unliftio-0.2.25.1/src/UnliftIO/Chan.hs-formatted 189c6c89bb81 unliftio-0.2.25.1/src/UnliftIO/Concurrent.hs-partly-checked c708a2f3ee0e unliftio-0.2.25.1/src/UnliftIO/Directory.hs-formatted 402fb486b3cf unliftio-0.2.25.1/src/UnliftIO/Environment.hs-formatted c9305d3c9be9 unliftio-0.2.25.1/src/UnliftIO/Exception.hs-formatted e5401695da5a unliftio-0.2.25.1/src/UnliftIO/Exception/Lens.hs-formatted ff1234d6ddbd unliftio-0.2.25.1/src/UnliftIO/Foreign.hs-formatted a64a8ea6c117 unliftio-0.2.25.1/src/UnliftIO/IO.hs-formatted c940b0ac5eb1 unliftio-0.2.25.1/src/UnliftIO/IO/File.hs-formatted dad3d51a66aa unliftio-0.2.25.1/src/UnliftIO/IO/File/Posix.hs-formatted 2688f4b976d8 unliftio-0.2.25.1/src/UnliftIO/IORef.hs-formatted 1738f330bd77 unliftio-0.2.25.1/src/UnliftIO/Internals/Async.hs-formatted 2e37ab380c8b unliftio-0.2.25.1/src/UnliftIO/MVar.hs-formatted 25ab39f4a7d1 unliftio-0.2.25.1/src/UnliftIO/Memoize.hs-formatted 5803964631a0 unliftio-0.2.25.1/src/UnliftIO/Process.hs-formatted f17d64d4c913 unliftio-0.2.25.1/src/UnliftIO/QSem.hs-formatted 6e50df49a6ba unliftio-0.2.25.1/src/UnliftIO/QSemN.hs-formatted ee3bf4d22673 unliftio-0.2.25.1/src/UnliftIO/STM.hs-formatted 809c4f4424bb unliftio-0.2.25.1/src/UnliftIO/Temporary.hs-formatted 0f5f7167bc7b unliftio-0.2.25.1/src/UnliftIO/Timeout.hs-formatted 2fbd14b119a4 unliftio-0.2.25.1/test/Spec.hs-formatted 3118f2133668 unliftio-0.2.25.1/test/UnliftIO/AsyncSpec.hs-formatted dda4d2f1b5ef unliftio-0.2.25.1/test/UnliftIO/DirectorySpec.hs-formatted 500e291fb7a1 unliftio-0.2.25.1/test/UnliftIO/ExceptionSpec.hs-formatted a899c691b2e6 unliftio-0.2.25.1/test/UnliftIO/IO/FileSpec.hs-formatted 258e4c04879b unliftio-0.2.25.1/test/UnliftIO/IOSpec.hs-formatted 68c4411ed8f4 unliftio-0.2.25.1/test/UnliftIO/MemoizeSpec.hs-formatted f878ce9da222 unliftio-0.2.25.1/test/UnliftIO/PooledAsyncSpec.hs-formatted 2651e43d4614 unordered-containers-0.2.21/Data/HashMap/Internal.hs-declined - unordered-containers-0.2.21/Data/HashMap/Internal/Array.hs-formatted 7be08d5816ff unordered-containers-0.2.21/Data/HashMap/Internal/Debug.hs-formatted 25f94316b17e unordered-containers-0.2.21/Data/HashMap/Internal/List.hs-formatted 08e073c2c7dd unordered-containers-0.2.21/Data/HashMap/Internal/Strict.hs-formatted a4d22b20936f unordered-containers-0.2.21/Data/HashMap/Lazy.hs-formatted b51d84ac0257 unordered-containers-0.2.21/Data/HashMap/Strict.hs-formatted d88b52d5dce2 unordered-containers-0.2.21/Data/HashSet.hs-formatted a238b77b05ef unordered-containers-0.2.21/Data/HashSet/Internal.hs-formatted e865ae48f11b unordered-containers-0.2.21/Setup.hs-formatted 3375b823bad1 unordered-containers-0.2.21/benchmarks/Benchmarks.hs-formatted 0ed2a6102dba unordered-containers-0.2.21/benchmarks/FineGrained.hs-formatted b1cc4b50fa0e unordered-containers-0.2.21/benchmarks/Key/Bytes.hs-formatted de9c7b30da36 unordered-containers-0.2.21/benchmarks/Util/ByteString.hs-formatted 284694c5798b unordered-containers-0.2.21/benchmarks/Util/Int.hs-formatted 771e81db1b05 unordered-containers-0.2.21/benchmarks/Util/String.hs-formatted 2b26017dfa9e unordered-containers-0.2.21/tests/Main.hs-formatted 27005a00112e unordered-containers-0.2.21/tests/Properties.hs-formatted feff92267a82 unordered-containers-0.2.21/tests/Properties/HashMapLazy.hs-formatted f2a904c3a89a unordered-containers-0.2.21/tests/Properties/HashMapStrict.hs-formatted a612762e1b58 unordered-containers-0.2.21/tests/Properties/HashSet.hs-formatted 3584a01b2cdd unordered-containers-0.2.21/tests/Properties/List.hs-formatted 0a148c15ca33 unordered-containers-0.2.21/tests/Regressions.hs-formatted d094f07710f5 unordered-containers-0.2.21/tests/Strictness.hs-formatted 00cf0a5ee0ea unordered-containers-0.2.21/tests/Util/Key.hs-formatted e865ae48f11b unpacked-containers-0/Setup.hs-formatted 8523e9d3c669 unpacked-containers-0/example/Int.hs-formatted ba3a254765ca unpacked-containers-0/example/Main.hs-formatted 941a76a7e532 unpacked-containers-0/src/Key.hsig-formatted 0ab7b95772b1 unpacked-containers-0/src/Map.hs-formatted 85c3c57292d8 unpacked-containers-0/src/Map/Internal.hs-formatted 412fdc3e3871 unpacked-containers-0/src/Map/Internal/Debug.hs-formatted 88e3acab50fe unpacked-containers-0/src/Map/Lazy.hs-formatted d160eb88e766 unpacked-containers-0/src/Map/Merge/Lazy.hs-formatted 3401a14fe602 unpacked-containers-0/src/Map/Merge/Strict.hs-formatted 1da0e231433b unpacked-containers-0/src/Map/Strict.hs-formatted 9b01f9961f71 unpacked-containers-0/src/Map/Strict/Internal.hs-formatted bb6c9398369f unpacked-containers-0/src/Set.hs-formatted 7f0b0b9590ea unpacked-containers-0/src/Set/Internal.hs-formatted 867c9afd504a unpacked-containers-0/utils/Internal/BitQueue.hs-formatted 7c96e08090d5 unpacked-containers-0/utils/Internal/BitUtil.hs-formatted a1134be4230d unpacked-containers-0/utils/Internal/PtrEquality.hs-formatted 534c12741bb9 unpacked-containers-0/utils/Internal/State.hs-formatted ed12f1faf0ed unpacked-containers-0/utils/Internal/StrictFold.hs-formatted 621944df674c unpacked-containers-0/utils/Internal/StrictMaybe.hs-formatted b7a091ef4c77 unpacked-containers-0/utils/Internal/StrictPair.hs-formatted 4a8ac51676df uuid-types-1.0.6.1/Setup.hs-formatted e97eca400518 uuid-types-1.0.6.1/src/Data/UUID/Types.hs-formatted 2dc18f83b9c9 uuid-types-1.0.6.1/src/Data/UUID/Types/Internal.hs-formatted d63508f44841 uuid-types-1.0.6.1/src/Data/UUID/Types/Internal/Builder.hs-formatted 14a92dc8286f uuid-types-1.0.6.1/tests/TestUUID.hs-formatted e865ae48f11b vector-0.13.2.0/Setup.hs-formatted cb65eb293bd5 vector-0.13.2.0/benchlib/Bench/Vector/Algo/AwShCC.hs-formatted 8a7c35b680c0 vector-0.13.2.0/benchlib/Bench/Vector/Algo/FindIndexR.hs-formatted 7536358d3c8c vector-0.13.2.0/benchlib/Bench/Vector/Algo/HybCC.hs-formatted 31caf6daa18c vector-0.13.2.0/benchlib/Bench/Vector/Algo/Leaffix.hs-formatted c647f14c61cb vector-0.13.2.0/benchlib/Bench/Vector/Algo/ListRank.hs-formatted bbc9ffdd439f vector-0.13.2.0/benchlib/Bench/Vector/Algo/MutableSet.hs-formatted 49998369707c vector-0.13.2.0/benchlib/Bench/Vector/Algo/NextPermutation.hs-formatted a1d4d3d489b4 vector-0.13.2.0/benchlib/Bench/Vector/Algo/Quickhull.hs-formatted cff7efe83577 vector-0.13.2.0/benchlib/Bench/Vector/Algo/Rootfix.hs-formatted bc96aa2b8cdf vector-0.13.2.0/benchlib/Bench/Vector/Algo/Spectral.hs-formatted 438dab6789ad vector-0.13.2.0/benchlib/Bench/Vector/Algo/Tridiag.hs-formatted ec97bfaffec3 vector-0.13.2.0/benchlib/Bench/Vector/Tasty.hs-formatted 368deb66d310 vector-0.13.2.0/benchlib/Bench/Vector/TestData/Graph.hs-formatted 476c4f42945a vector-0.13.2.0/benchlib/Bench/Vector/TestData/ParenTree.hs-formatted 6b1b4aea2361 vector-0.13.2.0/benchmarks/Main.hs-formatted 77ce7d3b1eda vector-0.13.2.0/internal/GenUnboxTuple.hs-formatted 7e257cfd7468 vector-0.13.2.0/src/Data/Vector.hs-formatted 5524402837b5 vector-0.13.2.0/src/Data/Vector/Fusion/Bundle.hs-formatted 6724b27a5182 vector-0.13.2.0/src/Data/Vector/Fusion/Bundle/Monadic.hs-formatted 281a320dd1fd vector-0.13.2.0/src/Data/Vector/Fusion/Bundle/Size.hs-formatted 8b09b3b8c680 vector-0.13.2.0/src/Data/Vector/Fusion/Stream/Monadic.hs-formatted b52b6135f86c vector-0.13.2.0/src/Data/Vector/Fusion/Util.hs-formatted a981b8dada8f vector-0.13.2.0/src/Data/Vector/Generic.hs-formatted 24e087932bf9 vector-0.13.2.0/src/Data/Vector/Generic/Base.hs-formatted 6c34f319e085 vector-0.13.2.0/src/Data/Vector/Generic/Mutable.hs-formatted 14ab0fea35a5 vector-0.13.2.0/src/Data/Vector/Generic/Mutable/Base.hs-formatted 31ef8684e6a5 vector-0.13.2.0/src/Data/Vector/Generic/New.hs-formatted 1842a6e1d83f vector-0.13.2.0/src/Data/Vector/Internal/Check.hs-formatted 3a331752a108 vector-0.13.2.0/src/Data/Vector/Mutable.hs-formatted c77c6d8b48f1 vector-0.13.2.0/src/Data/Vector/Primitive.hs-formatted 7790a579fd85 vector-0.13.2.0/src/Data/Vector/Primitive/Mutable.hs-formatted d63a299a6982 vector-0.13.2.0/src/Data/Vector/Storable.hs-formatted f3208fa21c31 vector-0.13.2.0/src/Data/Vector/Storable/Internal.hs-formatted a312fe3ca55a vector-0.13.2.0/src/Data/Vector/Storable/Mutable.hs-formatted ca6c3919dbe4 vector-0.13.2.0/src/Data/Vector/Strict.hs-formatted 3bc69095cb4d vector-0.13.2.0/src/Data/Vector/Strict/Mutable.hs-formatted 5a349caedbaf vector-0.13.2.0/src/Data/Vector/Unboxed.hs-formatted fa9e19a0d58d vector-0.13.2.0/src/Data/Vector/Unboxed/Base.hs-formatted 58ff39d532e3 vector-0.13.2.0/src/Data/Vector/Unboxed/Mutable.hs-formatted f4e17f002657 vector-0.13.2.0/tests-inspect/Inspect.hs-formatted 992258e8ec96 vector-0.13.2.0/tests-inspect/Inspect/DerivingVia.hs-formatted 005977089309 vector-0.13.2.0/tests-inspect/Inspect/DerivingVia/OtherFoo.hs-formatted c86daf6b0506 vector-0.13.2.0/tests-inspect/main.hs-formatted b27a545b7df5 vector-0.13.2.0/tests/Boilerplater.hs-formatted 9d758ab214f1 vector-0.13.2.0/tests/Main.hs-formatted 8061fe09f977 vector-0.13.2.0/tests/Tests/Bundle.hs-formatted 1525be7e0a46 vector-0.13.2.0/tests/Tests/Move.hs-formatted 43dd4c8d5a9c vector-0.13.2.0/tests/Tests/Vector/Boxed.hs-formatted 54a741f726e9 vector-0.13.2.0/tests/Tests/Vector/Primitive.hs-formatted 3ef89840b582 vector-0.13.2.0/tests/Tests/Vector/Property.hs-formatted 89d6f5f286c7 vector-0.13.2.0/tests/Tests/Vector/Storable.hs-formatted cc9e0bc6f8e0 vector-0.13.2.0/tests/Tests/Vector/Strict.hs-formatted 891ffe33c45c vector-0.13.2.0/tests/Tests/Vector/Unboxed.hs-formatted 9a90ef543177 vector-0.13.2.0/tests/Tests/Vector/UnitTests.hs-formatted 9c35c5c38daf vector-0.13.2.0/tests/Utilities.hs-formatted 88ed51490944 vector-0.13.2.0/tests/doctests.hs-formatted 5561dc5bc4a0 vector-algorithms-0.9.1.0/bench/simple/Blocks.hs-formatted 8f4b8b5057e3 vector-algorithms-0.9.1.0/bench/simple/Main.hs-formatted 518a902d3c59 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms.hs-formatted 553211019f78 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/AmericanFlag.hs-formatted 5bc324a60b4f vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Common.hs-formatted a7c93d247f1d vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Heap.hs-formatted 385f1aecc6ac vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Insertion.hs-formatted eaaf49335045 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Intro.hs-formatted 4a50f751547a vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Merge.hs-formatted 9a4c2dc71a47 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Optimal.hs-formatted b7b0f718deb2 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Radix.hs-formatted 47f1d28b6145 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Search.hs-formatted 0a376532e9cb vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Tim.hs-formatted a9ac57f13756 vector-algorithms-0.9.1.0/tests/properties/Optimal.hs-formatted b19d49d0db4b vector-algorithms-0.9.1.0/tests/properties/Properties.hs-formatted 9afd19dd61b7 vector-algorithms-0.9.1.0/tests/properties/Tests.hs-formatted 68c72976d14e vector-algorithms-0.9.1.0/tests/properties/Util.hs-formatted a090ecfca870 wai-3.2.5/Network/Wai.hs-formatted eebfbcd85364 wai-3.2.5/Network/Wai/Internal.hs-formatted 76fdb58b6d05 wai-3.2.5/test/Network/WaiSpec.hs-formatted 2fbd14b119a4 wai-3.2.5/test/Spec.hs-formatted c11484118aae warp-3.4.15/Network/Wai/Handler/Warp.hs-formatted 009ccfac9d51 warp-3.4.15/Network/Wai/Handler/Warp/Buffer.hs-formatted f910265f50d3 warp-3.4.15/Network/Wai/Handler/Warp/Conduit.hs-formatted c978e6eb627c warp-3.4.15/Network/Wai/Handler/Warp/Counter.hs-formatted 26b005936471 warp-3.4.15/Network/Wai/Handler/Warp/Date.hs-formatted f0898462d96f warp-3.4.15/Network/Wai/Handler/Warp/FdCache.hs-formatted 5c8ff344b068 warp-3.4.15/Network/Wai/Handler/Warp/File.hs-formatted e56514093065 warp-3.4.15/Network/Wai/Handler/Warp/FileInfoCache.hs-formatted 73ea52fed850 warp-3.4.15/Network/Wai/Handler/Warp/HTTP1.hs-formatted fd0b552aaa71 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2.hs-formatted a7debda99dd6 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/File.hs-formatted cd7ebbac04db warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/PushPromise.hs-formatted 40821f53b1d9 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/Request.hs-formatted 831c4440cde7 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/Response.hs-formatted 40e59aa92ecc warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/Types.hs-formatted 69c55babd99e warp-3.4.15/Network/Wai/Handler/Warp/HashMap.hs-formatted 8abbc71d629a warp-3.4.15/Network/Wai/Handler/Warp/Header.hs-formatted a036771b5a25 warp-3.4.15/Network/Wai/Handler/Warp/IO.hs-formatted d92af26eb2ec warp-3.4.15/Network/Wai/Handler/Warp/Imports.hs-formatted 98f2e1cfdade warp-3.4.15/Network/Wai/Handler/Warp/Internal.hs-formatted e8583e08a2e4 warp-3.4.15/Network/Wai/Handler/Warp/MultiMap.hs-formatted ed16ebc20147 warp-3.4.15/Network/Wai/Handler/Warp/PackInt.hs-formatted 22e5a5d6d3c9 warp-3.4.15/Network/Wai/Handler/Warp/ReadInt.hs-formatted e29d1517c375 warp-3.4.15/Network/Wai/Handler/Warp/Request.hs-formatted c7905b72682b warp-3.4.15/Network/Wai/Handler/Warp/RequestHeader.hs-formatted 9b74f110bcea warp-3.4.15/Network/Wai/Handler/Warp/Response.hs-formatted 27cae25ae83a warp-3.4.15/Network/Wai/Handler/Warp/ResponseHeader.hs-formatted de4ca27b8a08 warp-3.4.15/Network/Wai/Handler/Warp/Run.hs-formatted 47a04a642ad1 warp-3.4.15/Network/Wai/Handler/Warp/SendFile.hs-formatted bad8f2d42358 warp-3.4.15/Network/Wai/Handler/Warp/Settings.hs-formatted bc4925a06045 warp-3.4.15/Network/Wai/Handler/Warp/ShuttingDown.hs-formatted d916df760bae warp-3.4.15/Network/Wai/Handler/Warp/Types.hs-formatted f1ff20ab87da warp-3.4.15/Network/Wai/Handler/Warp/Windows.hs-formatted 2bef9620132e warp-3.4.15/Network/Wai/Handler/Warp/WithApplication.hs-formatted f3a2c7ee7659 warp-3.4.15/bench/Parser.hs-formatted 8f739e595518 warp-3.4.15/test/BufferSpec.hs-formatted 6d25fc643699 warp-3.4.15/test/ConduitSpec.hs-formatted 103842d1ec84 warp-3.4.15/test/ConnectionSpec.hs-formatted 3f7b8c3f5246 warp-3.4.15/test/EarlyHintsSpec.hs-formatted 04c0408bb90a warp-3.4.15/test/ExceptionSpec.hs-formatted 6da076d7c2ae warp-3.4.15/test/FdCacheSpec.hs-formatted f91844cc6a8f warp-3.4.15/test/FileSpec.hs-formatted 0ba618e41ab1 warp-3.4.15/test/GracefulShutdownSpec.hs-formatted 4d81d4cdb7c7 warp-3.4.15/test/HTTP.hs-formatted 70bab0349402 warp-3.4.15/test/PackIntSpec.hs-formatted c0ed531ac6d7 warp-3.4.15/test/ReadIntSpec.hs-formatted 203ea20f13bf warp-3.4.15/test/RequestSpec.hs-formatted 4ef55f7e523c warp-3.4.15/test/ResponseHeaderSpec.hs-formatted ac591a85b19f warp-3.4.15/test/ResponseSpec.hs-formatted 190ad2e064b1 warp-3.4.15/test/RunSpec.hs-formatted 12d7c8bf7283 warp-3.4.15/test/SendFileSpec.hs-formatted 56bf11ebdf68 warp-3.4.15/test/ServerStateSpec.hs-formatted 2fbd14b119a4 warp-3.4.15/test/Spec.hs-formatted 6239c41d8ad7 warp-3.4.15/test/WithApplicationSpec.hs-formatted c61ebeab72e9 warp-3.4.15/test/doctests.hs-formatted c3a0978b358e xmonad-0.18.1/Main.hs-formatted 407f3f6f01b9 xmonad-0.18.1/man/xmonad.hs-formatted 1b9e38e5ffc2 xmonad-0.18.1/src/XMonad.hs-formatted 6205e2286818 xmonad-0.18.1/src/XMonad/Config.hs-formatted 51d04a4033c8 xmonad-0.18.1/src/XMonad/Core.hs-formatted 003622fa6869 xmonad-0.18.1/src/XMonad/Layout.hs-formatted a8d1e71aa531 xmonad-0.18.1/src/XMonad/Main.hs-formatted fececd53a9f5 xmonad-0.18.1/src/XMonad/ManageHook.hs-formatted e11a33d9123d xmonad-0.18.1/src/XMonad/Operations.hs-formatted 92d9b2f9aecb xmonad-0.18.1/src/XMonad/StackSet.hs-formatted 710ec0764541 xmonad-0.18.1/tests/Instances.hs-formatted 150f94b8a646 xmonad-0.18.1/tests/Properties.hs-formatted b9cbebbac632 xmonad-0.18.1/tests/Properties/Delete.hs-formatted 2b2b85b4c7fe xmonad-0.18.1/tests/Properties/Failure.hs-formatted 2825306e83f9 xmonad-0.18.1/tests/Properties/Floating.hs-formatted ae9be34908bc xmonad-0.18.1/tests/Properties/Focus.hs-formatted 1418915d6ac8 xmonad-0.18.1/tests/Properties/GreedyView.hs-formatted ff83b882ad73 xmonad-0.18.1/tests/Properties/Insert.hs-formatted 2d0f361b70f7 xmonad-0.18.1/tests/Properties/Layout/Full.hs-formatted d216f32ba806 xmonad-0.18.1/tests/Properties/Layout/Tall.hs-formatted 65709ceae761 xmonad-0.18.1/tests/Properties/Screen.hs-formatted 13ed9089c892 xmonad-0.18.1/tests/Properties/Shift.hs-formatted 879d6f9db8a2 xmonad-0.18.1/tests/Properties/Stack.hs-formatted 7384642a8941 xmonad-0.18.1/tests/Properties/StackSet.hs-formatted e48be0e8732d xmonad-0.18.1/tests/Properties/Swap.hs-formatted f6f63b59cfb0 xmonad-0.18.1/tests/Properties/View.hs-formatted cd8d73c03759 xmonad-0.18.1/tests/Properties/Workspace.hs-formatted 4e65334f7f2a xmonad-0.18.1/tests/Utils.hs-formatted d8adcc5e8871 yesod-core-1.7.0.0/bench/widget.hs-formatted 810a9b2932db yesod-core-1.7.0.0/src/Yesod/Core.hs-formatted 76a91abab9c7 yesod-core-1.7.0.0/src/Yesod/Core/Class/Breadcrumbs.hs-formatted d94322757109 yesod-core-1.7.0.0/src/Yesod/Core/Class/Dispatch.hs-formatted 4e0e4c27884b yesod-core-1.7.0.0/src/Yesod/Core/Class/Dispatch/ToParentRoute.hs-formatted f5e77d45ac7f yesod-core-1.7.0.0/src/Yesod/Core/Class/Handler.hs-formatted 55ca7aed8601 yesod-core-1.7.0.0/src/Yesod/Core/Class/Yesod.hs-formatted 7b7185683c72 yesod-core-1.7.0.0/src/Yesod/Core/Content.hs-formatted 8f8e6e5fb762 yesod-core-1.7.0.0/src/Yesod/Core/Dispatch.hs-formatted 74c7648af879 yesod-core-1.7.0.0/src/Yesod/Core/Handler.hs-formatted 88d4d8c2323a yesod-core-1.7.0.0/src/Yesod/Core/Internal.hs-formatted 212235b50682 yesod-core-1.7.0.0/src/Yesod/Core/Internal/LiteApp.hs-formatted b02eb40e75c3 yesod-core-1.7.0.0/src/Yesod/Core/Internal/Request.hs-formatted bbb065ca69ff yesod-core-1.7.0.0/src/Yesod/Core/Internal/Response.hs-formatted 356a82e11c3e yesod-core-1.7.0.0/src/Yesod/Core/Internal/Run.hs-formatted da5ec533b3d0 yesod-core-1.7.0.0/src/Yesod/Core/Internal/Session.hs-formatted 7d85bdcde5ef yesod-core-1.7.0.0/src/Yesod/Core/Internal/TH.hs-formatted a4d70c77b953 yesod-core-1.7.0.0/src/Yesod/Core/Internal/Util.hs-formatted 3c6023c01f8d yesod-core-1.7.0.0/src/Yesod/Core/Json.hs-formatted 3d3ea6cd2254 yesod-core-1.7.0.0/src/Yesod/Core/TypeCache.hs-formatted 69979bd29865 yesod-core-1.7.0.0/src/Yesod/Core/Types.hs-formatted 38102a09e32a yesod-core-1.7.0.0/src/Yesod/Core/Types/Content.hs-formatted 49991219fbf5 yesod-core-1.7.0.0/src/Yesod/Core/Types/ErrorResponse.hs-formatted 2f42d728713c yesod-core-1.7.0.0/src/Yesod/Core/Types/HandlerContents.hs-formatted eea90c376092 yesod-core-1.7.0.0/src/Yesod/Core/Types/TypedContent.hs-formatted abfe32d3eadd yesod-core-1.7.0.0/src/Yesod/Core/Unsafe.hs-formatted 1620502b047c yesod-core-1.7.0.0/src/Yesod/Core/Widget.hs-formatted b35c9ac0daff yesod-core-1.7.0.0/src/Yesod/Routes/Class.hs-formatted 230bf54c2b5c yesod-core-1.7.0.0/src/Yesod/Routes/Overlap.hs-formatted ca6f61d82ac7 yesod-core-1.7.0.0/src/Yesod/Routes/Parse.hs-formatted 7bcf63c3b7e5 yesod-core-1.7.0.0/src/Yesod/Routes/TH.hs-formatted d14da8f68696 yesod-core-1.7.0.0/src/Yesod/Routes/TH/Dispatch.hs-formatted ecd2aee91940 yesod-core-1.7.0.0/src/Yesod/Routes/TH/Internal.hs-formatted 28cf4bff1605 yesod-core-1.7.0.0/src/Yesod/Routes/TH/ParseRoute.hs-formatted fd3fd980369e yesod-core-1.7.0.0/src/Yesod/Routes/TH/RenderRoute.hs-formatted f162f96e2b36 yesod-core-1.7.0.0/src/Yesod/Routes/TH/RouteAttrs.hs-formatted d689ca250357 yesod-core-1.7.0.0/src/Yesod/Routes/TH/Types.hs-formatted 4cf83d0b0f07 yesod-core-1.7.0.0/test/Hierarchy.hs-formatted acf61854d2ec yesod-core-1.7.0.0/test/Hierarchy/Admin.hs-formatted 38126f8a1ed6 yesod-core-1.7.0.0/test/Hierarchy/Nest.hs-formatted a739150f03f1 yesod-core-1.7.0.0/test/Hierarchy/Nest2.hs-formatted 1998d7e7b6f0 yesod-core-1.7.0.0/test/Hierarchy/Nest2/NestInner.hs-formatted 6e683051218c yesod-core-1.7.0.0/test/Hierarchy/Nest3.hs-formatted 8f1d12dc181e yesod-core-1.7.0.0/test/Hierarchy/ResourceTree.hs-formatted f70ab72cd608 yesod-core-1.7.0.0/test/Route/DeepAritySpec.hs-formatted 1a22181a9cf2 yesod-core-1.7.0.0/test/Route/DeepArityTypes.hs-formatted 6cf89c893af0 yesod-core-1.7.0.0/test/Route/DiscoveryModeSpec.hs-formatted 8742e593c3d0 yesod-core-1.7.0.0/test/Route/FallthroughSpec.hs-formatted 83547078da44 yesod-core-1.7.0.0/test/Route/FocusLeafConsSpec.hs-formatted b96279c392b7 yesod-core-1.7.0.0/test/Route/InlineParseClausesSpec.hs-formatted d8f6752d05e7 yesod-core-1.7.0.0/test/Route/InstanceProbeSpec.hs-formatted 5f762e160869 yesod-core-1.7.0.0/test/Route/InstanceProbeTypes.hs-formatted 66f474c75dbf yesod-core-1.7.0.0/test/Route/MissingFocusTargetSpec.hs-formatted 4ca53b8c21db yesod-core-1.7.0.0/test/Route/MissingFocusTargetTypes.hs-formatted c4733044c565 yesod-core-1.7.0.0/test/Route/NestedParseClausesSpec.hs-formatted 96c9db79de94 yesod-core-1.7.0.0/test/Route/PureQ.hs-formatted 1084d2ca990f yesod-core-1.7.0.0/test/Route/RenderRouteSpec.hs-formatted 5cf00838dae7 yesod-core-1.7.0.0/test/Route/RouteAttrSpec.hs-formatted 9303c7a203b3 yesod-core-1.7.0.0/test/Route/SubDispatchAritySpec.hs-formatted 141148a01530 yesod-core-1.7.0.0/test/RouteSpec.hs-formatted 456251f78b44 yesod-core-1.7.0.0/test/YesodCoreTest.hs-formatted f0034c742a78 yesod-core-1.7.0.0/test/YesodCoreTest/Auth.hs-formatted 3a700bfeb45e yesod-core-1.7.0.0/test/YesodCoreTest/BangSeparatorRuntime.hs-formatted e22fa3279a0b yesod-core-1.7.0.0/test/YesodCoreTest/Breadcrumb.hs-formatted 3380dd13fc46 yesod-core-1.7.0.0/test/YesodCoreTest/Cache.hs-formatted 5731b7743f4b yesod-core-1.7.0.0/test/YesodCoreTest/CleanPath.hs-formatted 36a004c6a4e3 yesod-core-1.7.0.0/test/YesodCoreTest/Content.hs-formatted 25b4b6405959 yesod-core-1.7.0.0/test/YesodCoreTest/Csrf.hs-formatted b5d6ec2cfe62 yesod-core-1.7.0.0/test/YesodCoreTest/ErrorHandling.hs-formatted d369eb73b47a yesod-core-1.7.0.0/test/YesodCoreTest/ErrorHandling/CustomApp.hs-formatted 59bcbb168336 yesod-core-1.7.0.0/test/YesodCoreTest/Exceptions.hs-formatted 82e178e31f61 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughDispatch/Resources.hs-formatted e4f8f0ea3e72 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughDispatch/Runtime.hs-formatted 4d5c1d9a3551 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughMatrix/FirstFoo.hs-formatted bd497866625d yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughMatrix/Resources.hs-formatted 8c70739a50e7 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughMatrix/Runtime.hs-formatted 69eb694028b1 yesod-core-1.7.0.0/test/YesodCoreTest/Header.hs-formatted 58f029383018 yesod-core-1.7.0.0/test/YesodCoreTest/InternalRequest.hs-formatted f7afe29ae117 yesod-core-1.7.0.0/test/YesodCoreTest/JsAttributes.hs-formatted 84646813873d yesod-core-1.7.0.0/test/YesodCoreTest/JsLoader.hs-formatted f8cdd188f370 yesod-core-1.7.0.0/test/YesodCoreTest/JsLoaderSites/Bottom.hs-formatted bda9b1f5f2d2 yesod-core-1.7.0.0/test/YesodCoreTest/Json.hs-formatted 23181a127cee yesod-core-1.7.0.0/test/YesodCoreTest/Links.hs-formatted ab54e89c96fb yesod-core-1.7.0.0/test/YesodCoreTest/LiteApp.hs-formatted 418e263ba672 yesod-core-1.7.0.0/test/YesodCoreTest/Media.hs-formatted 0078c3a7e79d yesod-core-1.7.0.0/test/YesodCoreTest/MediaData.hs-formatted 46b0e2d1153d yesod-core-1.7.0.0/test/YesodCoreTest/Meta.hs-formatted d8beeb52123f yesod-core-1.7.0.0/test/YesodCoreTest/MultiPieceNestedRuntime.hs-formatted fb29902bb9c5 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/InnerR.hs-formatted 4c9ceb4fb663 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/NestR.hs-formatted 4aed48f429ab yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Parent0R.hs-formatted 0f8ca6cd8fe6 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Parent0R/Child0R.hs-formatted 762195ad3d8f yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/ParentR.hs-formatted 7587ed701299 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Resources.hs-formatted a5347308f9b0 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Runtime.hs-formatted 2c72e04ebbc2 yesod-core-1.7.0.0/test/YesodCoreTest/NoOverloadedStrings.hs-formatted 320b6668f0c5 yesod-core-1.7.0.0/test/YesodCoreTest/NoOverloadedStringsSub.hs-formatted ab80a9a09e84 yesod-core-1.7.0.0/test/YesodCoreTest/ParamDefaultSplit/Data.hs-formatted a8472a7588f7 yesod-core-1.7.0.0/test/YesodCoreTest/ParamDefaultSplit/Runtime.hs-formatted 3b1830a98315 yesod-core-1.7.0.0/test/YesodCoreTest/ParamFallthroughRuntime.hs-formatted 9191317f2178 yesod-core-1.7.0.0/test/YesodCoreTest/ParamFocusSplit/Resources.hs-formatted 0d171db106f1 yesod-core-1.7.0.0/test/YesodCoreTest/ParamFocusSplit/Runtime.hs-formatted 6f7510d0b57c yesod-core-1.7.0.0/test/YesodCoreTest/ParamFocusSplit/SubR.hs-formatted 46dbd15fa23d yesod-core-1.7.0.0/test/YesodCoreTest/ParamNestedNoFallthroughRuntime.hs-formatted 32c5372b9148 yesod-core-1.7.0.0/test/YesodCoreTest/ParamNoExplicitArgs.hs-formatted 30470908614f yesod-core-1.7.0.0/test/YesodCoreTest/ParamNoFallthroughRuntime.hs-formatted cf6ee78ba4ee yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/Data.hs-formatted e0dfb958d109 yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/InstanceRuntime.hs-formatted 020a44aa16b1 yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/SplitNested.hs-formatted f8d1220c3bf2 yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/SplitRuntime.hs-formatted 1981b86c26db yesod-core-1.7.0.0/test/YesodCoreTest/ParamTopLevelRuntime.hs-formatted f991cd7adeb7 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite.hs-formatted 0476a7be2abf yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/Compat.hs-formatted b2b143cf4a47 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/PolyAny.hs-formatted eb56902b1432 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/PolyShow.hs-formatted acaebbfebc7a yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/SubRoute.hs-formatted 48e797fc7ef7 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubData.hs-formatted 18a74bf9331c yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatch.hs-formatted eb2ad79d2f60 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatch/Data.hs-formatted c0c9e30ebea8 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatchRuntime.hs-formatted 09c5b840c977 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatchRuntime/Data.hs-formatted 4555e2245690 yesod-core-1.7.0.0/test/YesodCoreTest/RawResponse.hs-formatted 03a668e5cea8 yesod-core-1.7.0.0/test/YesodCoreTest/Redirect.hs-formatted ddda63d607db yesod-core-1.7.0.0/test/YesodCoreTest/RenderRouteSpec.hs-formatted 139e78486aea yesod-core-1.7.0.0/test/YesodCoreTest/RenderRouteSpec/TH.hs-formatted 1db9d98dbf8c yesod-core-1.7.0.0/test/YesodCoreTest/Reps.hs-formatted e18610f848a2 yesod-core-1.7.0.0/test/YesodCoreTest/RequestBodySize.hs-formatted bf72ad1f5d18 yesod-core-1.7.0.0/test/YesodCoreTest/RuntimeHarness.hs-formatted e78bf62c9259 yesod-core-1.7.0.0/test/YesodCoreTest/SplitSubsite/Data.hs-formatted d553ab39b43f yesod-core-1.7.0.0/test/YesodCoreTest/SplitSubsite/NestedR.hs-formatted a55ad04cebf6 yesod-core-1.7.0.0/test/YesodCoreTest/SplitSubsite/Runtime.hs-formatted a05df238a9e5 yesod-core-1.7.0.0/test/YesodCoreTest/Ssl.hs-formatted 203d5f3df4f0 yesod-core-1.7.0.0/test/YesodCoreTest/Streaming.hs-formatted 4a163efbc574 yesod-core-1.7.0.0/test/YesodCoreTest/StubLaxSameSite.hs-formatted 5831f923349c yesod-core-1.7.0.0/test/YesodCoreTest/StubSslOnly.hs-formatted 6510112ce4b4 yesod-core-1.7.0.0/test/YesodCoreTest/StubStrictSameSite.hs-formatted 9cb2274c1880 yesod-core-1.7.0.0/test/YesodCoreTest/StubUnsecured.hs-formatted 7b7f0025954e yesod-core-1.7.0.0/test/YesodCoreTest/SubSub.hs-formatted b9e29405eb1b yesod-core-1.7.0.0/test/YesodCoreTest/SubSubData.hs-formatted dbed829ecef5 yesod-core-1.7.0.0/test/YesodCoreTest/SubsiteFallthrough/Data.hs-formatted 6ef87c226f01 yesod-core-1.7.0.0/test/YesodCoreTest/SubsiteFallthrough/Nested.hs+formatted 75d05e127240 Agda-2.8.0/src/full/Agda/Compiler/Backend.hs+formatted 98789e7a7f39 Agda-2.8.0/src/full/Agda/Compiler/Backend/Base.hs+formatted b8be5cf3b8d8 Agda-2.8.0/src/full/Agda/Compiler/Builtin.hs+formatted ef45f44548b6 Agda-2.8.0/src/full/Agda/Compiler/CallCompiler.hs+formatted bd5e60f6485f Agda-2.8.0/src/full/Agda/Compiler/Common.hs+formatted 208bfb85e2b8 Agda-2.8.0/src/full/Agda/Compiler/JS/Compiler.hs+formatted 778777e97e31 Agda-2.8.0/src/full/Agda/Compiler/JS/Pretty.hs+formatted f3ee347549c0 Agda-2.8.0/src/full/Agda/Compiler/JS/Substitution.hs+formatted 716643be2984 Agda-2.8.0/src/full/Agda/Compiler/JS/Syntax.hs+formatted aa25bd2f6330 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Coerce.hs+formatted 6fd2cae24e11 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Compiler.hs+formatted a5e37499e9c4 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Encode.hs+formatted be07bfaffa2e Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/HaskellTypes.hs+formatted aa62f795f1b2 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Misc.hs+formatted 70bbea601ddf Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Pragmas.hs+formatted 76490fc3bd40 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Pretty.hs+formatted 92ef6a29a48a Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Primitives.hs+formatted cd156da2fa25 Agda-2.8.0/src/full/Agda/Compiler/MAlonzo/Strict.hs+formatted c378a2b833ad Agda-2.8.0/src/full/Agda/Compiler/ToTreeless.hs+formatted 0abe92b8f16f Agda-2.8.0/src/full/Agda/Compiler/Treeless/AsPatterns.hs+formatted 1ef5a4fa98a1 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Builtin.hs+formatted ce128b9cab5e Agda-2.8.0/src/full/Agda/Compiler/Treeless/Compare.hs+formatted 3f7ef773d4c9 Agda-2.8.0/src/full/Agda/Compiler/Treeless/EliminateDefaults.hs+formatted 33e35d69d40c Agda-2.8.0/src/full/Agda/Compiler/Treeless/EliminateLiteralPatterns.hs+formatted 1ef7b3a1de25 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Erase.hs+formatted 4bf71aa72967 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Erase.hs-boot+formatted 6cefe9037318 Agda-2.8.0/src/full/Agda/Compiler/Treeless/GuardsToPrims.hs+formatted 8722e737dadc Agda-2.8.0/src/full/Agda/Compiler/Treeless/Identity.hs+formatted f933510f2058 Agda-2.8.0/src/full/Agda/Compiler/Treeless/NormalizeNames.hs+formatted 43adb2681389 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Pretty.hs+formatted 9e9ffec9fb88 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Pretty.hs-boot+formatted 4795b9a43709 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Simplify.hs+formatted 80fddf5d858f Agda-2.8.0/src/full/Agda/Compiler/Treeless/Subst.hs+formatted 83543a8ec338 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Uncase.hs+formatted 24aeb7ff3365 Agda-2.8.0/src/full/Agda/Compiler/Treeless/Unused.hs+formatted 3985ec175c5f Agda-2.8.0/src/full/Agda/ImpossibleTest.hs+formatted 4bfae407a40f Agda-2.8.0/src/full/Agda/Interaction/AgdaTop.hs+formatted f35eb355b24e Agda-2.8.0/src/full/Agda/Interaction/Base.hs+formatted aa368d2e3109 Agda-2.8.0/src/full/Agda/Interaction/BasicOps.hs+formatted 816c519a07e6 Agda-2.8.0/src/full/Agda/Interaction/BuildLibrary.hs+formatted eb4048782016 Agda-2.8.0/src/full/Agda/Interaction/Command.hs+formatted e4f2d0d2088e Agda-2.8.0/src/full/Agda/Interaction/CommandLine.hs+formatted f2285f3b69f7 Agda-2.8.0/src/full/Agda/Interaction/EmacsCommand.hs+formatted 555155a56d86 Agda-2.8.0/src/full/Agda/Interaction/EmacsTop.hs+formatted 720e5305288c Agda-2.8.0/src/full/Agda/Interaction/ExitCode.hs+formatted e06156bc2afa Agda-2.8.0/src/full/Agda/Interaction/FindFile.hs+formatted 3170eb1921b4 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Common.hs+formatted 1fb0462a1b45 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Dot.hs+formatted 712b081948e2 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Dot/Backend.hs+formatted c6bb09f6d106 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Dot/Base.hs+formatted 773365a6b3e4 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Emacs.hs+formatted 4f4d736f1b38 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/FromAbstract.hs+formatted 5731f6a6b8ee Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Generate.hs+formatted 8bc140b18e62 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Generate.hs-boot+formatted 9a3fde618f2b Agda-2.8.0/src/full/Agda/Interaction/Highlighting/HTML.hs+formatted 3838841067f3 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/HTML/Backend.hs+formatted b81dd0529773 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/HTML/Base.hs+formatted d36037cbeadf Agda-2.8.0/src/full/Agda/Interaction/Highlighting/JSON.hs+formatted b5bb035e43f1 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/LaTeX.hs+formatted 66192a19e174 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/LaTeX/Backend.hs+formatted 3a2b726078ee Agda-2.8.0/src/full/Agda/Interaction/Highlighting/LaTeX/Base.hs+formatted a58ba6711ffc Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Precise.hs+formatted c9f5864c0103 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Range.hs+formatted 0054edf8b9e6 Agda-2.8.0/src/full/Agda/Interaction/Highlighting/Vim.hs+formatted 8d662a022f04 Agda-2.8.0/src/full/Agda/Interaction/Imports.hs+formatted 65e8798f3384 Agda-2.8.0/src/full/Agda/Interaction/Imports.hs-boot+formatted 5fb45c984979 Agda-2.8.0/src/full/Agda/Interaction/InteractionTop.hs+formatted ab70c667f336 Agda-2.8.0/src/full/Agda/Interaction/JSON.hs+formatted 7b100611f331 Agda-2.8.0/src/full/Agda/Interaction/JSONTop.hs+formatted 3f98c0496647 Agda-2.8.0/src/full/Agda/Interaction/Library.hs+formatted c3133651352b Agda-2.8.0/src/full/Agda/Interaction/Library/Base.hs+formatted 485f6f0b6ae7 Agda-2.8.0/src/full/Agda/Interaction/Library/Parse.hs+formatted 0406dc3c1480 Agda-2.8.0/src/full/Agda/Interaction/MakeCase.hs+formatted dccaf3f6ab13 Agda-2.8.0/src/full/Agda/Interaction/Monad.hs+formatted c831a742f557 Agda-2.8.0/src/full/Agda/Interaction/Options.hs+formatted f6cdf934d690 Agda-2.8.0/src/full/Agda/Interaction/Options/Base.hs+formatted 4b4c5936e1ee Agda-2.8.0/src/full/Agda/Interaction/Options/Errors.hs+formatted e44ed789f5f9 Agda-2.8.0/src/full/Agda/Interaction/Options/HasOptions.hs+formatted 434d46226886 Agda-2.8.0/src/full/Agda/Interaction/Options/Help.hs+formatted 6232bdb1c435 Agda-2.8.0/src/full/Agda/Interaction/Options/Lenses.hs+formatted 707b648ee12c Agda-2.8.0/src/full/Agda/Interaction/Options/Types.hs+formatted d2262440b729 Agda-2.8.0/src/full/Agda/Interaction/Options/Warnings.hs+formatted 60c929f054dc Agda-2.8.0/src/full/Agda/Interaction/Output.hs+formatted c31d0076c1f8 Agda-2.8.0/src/full/Agda/Interaction/Response.hs+formatted cfbad8bc01b8 Agda-2.8.0/src/full/Agda/Interaction/Response/Base.hs+formatted 150002ef2df6 Agda-2.8.0/src/full/Agda/Interaction/SearchAbout.hs+partly-checked d0ed5f54b1c0 Agda-2.8.0/src/full/Agda/Main.hs+formatted af91d1da1775 Agda-2.8.0/src/full/Agda/Mimer/Mimer.hs+formatted 43b9c484bd7b Agda-2.8.0/src/full/Agda/Mimer/Options.hs+formatted f2a33cd8871c Agda-2.8.0/src/full/Agda/Syntax/Abstract.hs+formatted 8d168f823b1f Agda-2.8.0/src/full/Agda/Syntax/Abstract/Name.hs+formatted dd887ede87e8 Agda-2.8.0/src/full/Agda/Syntax/Abstract/Pattern.hs+formatted 8f9f098701be Agda-2.8.0/src/full/Agda/Syntax/Abstract/PatternSynonyms.hs+formatted 3f1f9a03363a Agda-2.8.0/src/full/Agda/Syntax/Abstract/Pretty.hs+formatted 965e3c3c1a0e Agda-2.8.0/src/full/Agda/Syntax/Abstract/UsedNames.hs+formatted 0153c0e39ee1 Agda-2.8.0/src/full/Agda/Syntax/Abstract/Views.hs+formatted 854c09aa8868 Agda-2.8.0/src/full/Agda/Syntax/Builtin.hs+formatted 838765fe3265 Agda-2.8.0/src/full/Agda/Syntax/Common.hs+formatted 067fd4d97790 Agda-2.8.0/src/full/Agda/Syntax/Common/Aspect.hs+formatted 24ed1641ef0b Agda-2.8.0/src/full/Agda/Syntax/Common/KeywordRange.hs+formatted 6d4e6b605a89 Agda-2.8.0/src/full/Agda/Syntax/Common/Pretty.hs+formatted 0b01caf3aafb Agda-2.8.0/src/full/Agda/Syntax/Common/Pretty/ANSI.hs+formatted 2ede9edea241 Agda-2.8.0/src/full/Agda/Syntax/Concrete.hs+formatted cf0c0006689d Agda-2.8.0/src/full/Agda/Syntax/Concrete/Attribute.hs+formatted 8a621f4f4558 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions.hs+formatted e399ad1f7e1d Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions/Errors.hs+formatted c538200bb820 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions/Monad.hs+formatted 7b8c167c0685 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Definitions/Types.hs+formatted 961ee2376643 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Fixity.hs+formatted d906da5f87a7 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Generic.hs+formatted 6a2db093db8c Agda-2.8.0/src/full/Agda/Syntax/Concrete/Glyph.hs+formatted 485e43824ae2 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Name.hs+formatted f59e5588b7f1 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Operators.hs+formatted 82dd5e1542ef Agda-2.8.0/src/full/Agda/Syntax/Concrete/Operators/Parser.hs+formatted d052bdb98637 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Operators/Parser/Monad.hs+formatted a3120d3e7051 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Pattern.hs+formatted 34a7cccaef81 Agda-2.8.0/src/full/Agda/Syntax/Concrete/Pretty.hs+formatted db8fd8405ab1 Agda-2.8.0/src/full/Agda/Syntax/DoNotation.hs+formatted 0fa4ef8ac984 Agda-2.8.0/src/full/Agda/Syntax/Fixity.hs+formatted f53d6a38a8a5 Agda-2.8.0/src/full/Agda/Syntax/IdiomBrackets.hs+formatted da4470987e03 Agda-2.8.0/src/full/Agda/Syntax/Info.hs+formatted 1bb665a03c97 Agda-2.8.0/src/full/Agda/Syntax/Internal.hs+formatted 30fb29552f53 Agda-2.8.0/src/full/Agda/Syntax/Internal/Blockers.hs+formatted 0c3da8bec4ce Agda-2.8.0/src/full/Agda/Syntax/Internal/Defs.hs+formatted 6e15d2b4f3c4 Agda-2.8.0/src/full/Agda/Syntax/Internal/Elim.hs+formatted 59acbea17d71 Agda-2.8.0/src/full/Agda/Syntax/Internal/Generic.hs+formatted ff9aafebc54f Agda-2.8.0/src/full/Agda/Syntax/Internal/MetaVars.hs+formatted 0da6abb2c898 Agda-2.8.0/src/full/Agda/Syntax/Internal/Names.hs+formatted 70a2a49f93c0 Agda-2.8.0/src/full/Agda/Syntax/Internal/Pattern.hs+formatted 4f0688215ae9 Agda-2.8.0/src/full/Agda/Syntax/Internal/SanityCheck.hs+formatted 60dbf2e32cdd Agda-2.8.0/src/full/Agda/Syntax/Internal/Univ.hs+formatted e3342124f921 Agda-2.8.0/src/full/Agda/Syntax/Literal.hs+formatted 1f5db6f08b8e Agda-2.8.0/src/full/Agda/Syntax/Notation.hs+formatted 5441d15e6659 Agda-2.8.0/src/full/Agda/Syntax/Parser.hs+formatted 38e524b350d0 Agda-2.8.0/src/full/Agda/Syntax/Parser/Alex.hs+formatted b58b3e60f482 Agda-2.8.0/src/full/Agda/Syntax/Parser/Comments.hs+formatted 7fe22339886b Agda-2.8.0/src/full/Agda/Syntax/Parser/Helpers.hs+formatted 0131f3ce9187 Agda-2.8.0/src/full/Agda/Syntax/Parser/Layout.hs+formatted 700549be6fd6 Agda-2.8.0/src/full/Agda/Syntax/Parser/Layout.hs-boot+formatted 2e1b70194e94 Agda-2.8.0/src/full/Agda/Syntax/Parser/LexActions.hs+formatted a5d57cb1b6b9 Agda-2.8.0/src/full/Agda/Syntax/Parser/LexActions.hs-boot+formatted cf610e4bbf57 Agda-2.8.0/src/full/Agda/Syntax/Parser/Literate.hs+formatted 7eb92ce94825 Agda-2.8.0/src/full/Agda/Syntax/Parser/LookAhead.hs+formatted dd8c9bc90890 Agda-2.8.0/src/full/Agda/Syntax/Parser/Monad.hs+formatted 6b041886ce39 Agda-2.8.0/src/full/Agda/Syntax/Parser/StringLiterals.hs+formatted d018d2c7e144 Agda-2.8.0/src/full/Agda/Syntax/Parser/Tokens.hs+formatted a0ef5d8e9313 Agda-2.8.0/src/full/Agda/Syntax/Position.hs+formatted d16539c2a462 Agda-2.8.0/src/full/Agda/Syntax/Position.hs-boot+formatted b1dd8bfd3111 Agda-2.8.0/src/full/Agda/Syntax/Reflected.hs+formatted cddc9daac015 Agda-2.8.0/src/full/Agda/Syntax/Scope/Base.hs+formatted 6916a745cef4 Agda-2.8.0/src/full/Agda/Syntax/Scope/Flat.hs+formatted 73b6757a8957 Agda-2.8.0/src/full/Agda/Syntax/Scope/Monad.hs+formatted d3a3db0834c5 Agda-2.8.0/src/full/Agda/Syntax/TopLevelModuleName.hs+formatted f40939e29708 Agda-2.8.0/src/full/Agda/Syntax/TopLevelModuleName/Boot.hs+formatted 5f0097e8b8e9 Agda-2.8.0/src/full/Agda/Syntax/Translation/AbstractToConcrete.hs+formatted 6d2218e4d2e4 Agda-2.8.0/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs+formatted 43297193ba42 Agda-2.8.0/src/full/Agda/Syntax/Translation/InternalToAbstract.hs+formatted 8c2de5355091 Agda-2.8.0/src/full/Agda/Syntax/Translation/ReflectedToAbstract.hs+formatted 9b8f52d7ab07 Agda-2.8.0/src/full/Agda/Syntax/Treeless.hs+formatted 4a91d7b905d8 Agda-2.8.0/src/full/Agda/Termination/CallGraph.hs+formatted 77f2933710d7 Agda-2.8.0/src/full/Agda/Termination/CallMatrix.hs+formatted ebc4ce14c917 Agda-2.8.0/src/full/Agda/Termination/CutOff.hs+formatted acff803c8b23 Agda-2.8.0/src/full/Agda/Termination/Monad.hs+formatted 64b40e96a86a Agda-2.8.0/src/full/Agda/Termination/Order.hs+formatted 3d6943fd6805 Agda-2.8.0/src/full/Agda/Termination/RecCheck.hs+formatted 5d2396bcde51 Agda-2.8.0/src/full/Agda/Termination/Semiring.hs+formatted 3e1e5a066751 Agda-2.8.0/src/full/Agda/Termination/SparseMatrix.hs+formatted 109612b2572f Agda-2.8.0/src/full/Agda/Termination/TermCheck.hs+formatted ed0ea780ef94 Agda-2.8.0/src/full/Agda/Termination/Termination.hs+formatted 9ce4d907acfa Agda-2.8.0/src/full/Agda/TheTypeChecker.hs+formatted 522c2e92c2f2 Agda-2.8.0/src/full/Agda/TypeChecking/Abstract.hs+formatted e757073d2d4e Agda-2.8.0/src/full/Agda/TypeChecking/CheckInternal.hs+formatted 2d6bbce1312f Agda-2.8.0/src/full/Agda/TypeChecking/CheckInternal.hs-boot+formatted 32a35663e792 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause.hs+formatted 06edf6d2d765 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Compile.hs+formatted 6b8cf4277b16 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Compile.hs-boot+formatted a141f28ffb17 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Match.hs+formatted 3142e5d8c639 Agda-2.8.0/src/full/Agda/TypeChecking/CompiledClause/Match.hs-boot+formatted 8daa667ddddd Agda-2.8.0/src/full/Agda/TypeChecking/Constraints.hs+formatted 47ac61419563 Agda-2.8.0/src/full/Agda/TypeChecking/Constraints.hs-boot+formatted f5ba1ae3a7b9 Agda-2.8.0/src/full/Agda/TypeChecking/Conversion.hs+formatted cc3a6f5cf005 Agda-2.8.0/src/full/Agda/TypeChecking/Conversion.hs-boot+formatted 8bb452c258d1 Agda-2.8.0/src/full/Agda/TypeChecking/Conversion/Pure.hs+formatted 867428e9a9a1 Agda-2.8.0/src/full/Agda/TypeChecking/Coverage.hs+formatted 5d7955ebba8b Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/Cubical.hs+formatted c9a4679ec19e Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/Match.hs+formatted 833e9295f84f Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/SplitClause.hs+formatted 50e4c607d3c4 Agda-2.8.0/src/full/Agda/TypeChecking/Coverage/SplitTree.hs+formatted de7edd5dabfe Agda-2.8.0/src/full/Agda/TypeChecking/Datatypes.hs+formatted bf771aa7c583 Agda-2.8.0/src/full/Agda/TypeChecking/Datatypes.hs-boot+formatted 70b7181d282e Agda-2.8.0/src/full/Agda/TypeChecking/DeadCode.hs+formatted 59bd9e3da33e Agda-2.8.0/src/full/Agda/TypeChecking/DiscrimTree.hs+formatted c17cb27af1b5 Agda-2.8.0/src/full/Agda/TypeChecking/DiscrimTree/Types.hs+formatted ee105b08c0e0 Agda-2.8.0/src/full/Agda/TypeChecking/DisplayForm.hs+formatted fa3908c1bf4b Agda-2.8.0/src/full/Agda/TypeChecking/DropArgs.hs+formatted c4bcc3ec3efc Agda-2.8.0/src/full/Agda/TypeChecking/Empty.hs+formatted 546e2690c8bd Agda-2.8.0/src/full/Agda/TypeChecking/Empty.hs-boot+formatted d796fe01f1e9 Agda-2.8.0/src/full/Agda/TypeChecking/Errors.hs+formatted 4d637dbd29d8 Agda-2.8.0/src/full/Agda/TypeChecking/Errors.hs-boot+formatted aaf8e5a6f74a Agda-2.8.0/src/full/Agda/TypeChecking/Errors/Names.hs+formatted fa9468d1b394 Agda-2.8.0/src/full/Agda/TypeChecking/EtaContract.hs+formatted 6d6bab698a5f Agda-2.8.0/src/full/Agda/TypeChecking/Forcing.hs+formatted aeb088bda6b4 Agda-2.8.0/src/full/Agda/TypeChecking/Free.hs+formatted 57cc39115f0c Agda-2.8.0/src/full/Agda/TypeChecking/Free/Lazy.hs+formatted e10225542a24 Agda-2.8.0/src/full/Agda/TypeChecking/Free/Precompute.hs+formatted ed93d677a9dd Agda-2.8.0/src/full/Agda/TypeChecking/Free/Reduce.hs+formatted dda08728d05b Agda-2.8.0/src/full/Agda/TypeChecking/Functions.hs+formatted 9fc3cf57b64a Agda-2.8.0/src/full/Agda/TypeChecking/Generalize.hs+formatted e7eb98a27abe Agda-2.8.0/src/full/Agda/TypeChecking/IApplyConfluence.hs+formatted 87b0399276b5 Agda-2.8.0/src/full/Agda/TypeChecking/Implicit.hs+formatted d835876f5a10 Agda-2.8.0/src/full/Agda/TypeChecking/Injectivity.hs+formatted 32f96c636db2 Agda-2.8.0/src/full/Agda/TypeChecking/Inlining.hs+formatted 38effe4219d6 Agda-2.8.0/src/full/Agda/TypeChecking/InstanceArguments.hs+formatted daede539773d Agda-2.8.0/src/full/Agda/TypeChecking/InstanceArguments.hs-boot+formatted e3ca55cde230 Agda-2.8.0/src/full/Agda/TypeChecking/Irrelevance.hs+formatted f5e2359204d8 Agda-2.8.0/src/full/Agda/TypeChecking/Irrelevance.hs-boot+formatted d83d2056a267 Agda-2.8.0/src/full/Agda/TypeChecking/Level.hs+formatted 4df75f041db4 Agda-2.8.0/src/full/Agda/TypeChecking/Level.hs-boot+formatted 443b56fdd0d7 Agda-2.8.0/src/full/Agda/TypeChecking/Level/Solve.hs+formatted ae0893a4561e Agda-2.8.0/src/full/Agda/TypeChecking/LevelConstraints.hs+formatted 07c423dfa0e3 Agda-2.8.0/src/full/Agda/TypeChecking/Lock.hs+formatted 00b8f5e75aa7 Agda-2.8.0/src/full/Agda/TypeChecking/Lock.hs-boot+formatted 97862a8dea84 Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars.hs+formatted 52101179c5b2 Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars.hs-boot+formatted e1fc76d1f4fb Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars/Mention.hs+formatted 9825c48e7a9c Agda-2.8.0/src/full/Agda/TypeChecking/MetaVars/Occurs.hs+formatted d47e8c206217 Agda-2.8.0/src/full/Agda/TypeChecking/Modalities.hs+formatted 1fd16a038ff2 Agda-2.8.0/src/full/Agda/TypeChecking/Monad.hs+formatted 4d33b706cb4f Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Base.hs+formatted 9ab4cf397957 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Base/Types.hs+formatted 7860b2253820 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Base/Warning.hs+formatted 56ab8bfd7ea3 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Benchmark.hs+formatted a0072b209daf Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Builtin.hs+formatted 6b2e93e4eef0 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Builtin.hs-boot+formatted d3627bb3ef79 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Caching.hs+formatted ceeedfc93ba5 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Closure.hs+formatted c94a9adc6e79 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Constraints.hs+formatted 965403e8d54c Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Context.hs+formatted aa421afb353b Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Context.hs-boot+formatted 93f76be51b99 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Debug.hs+formatted 07c8440dbd10 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Debug.hs-boot+formatted 2b0eabe8c79e Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Env.hs+formatted 46512cb4f780 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Imports.hs+formatted a4bdd532cdc1 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/MetaVars.hs+formatted 894d39f81e58 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/MetaVars.hs-boot+formatted a46ae335e8c2 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Modality.hs+formatted bbf8f13a117e Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Mutual.hs+formatted 75455d5fea54 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Open.hs+formatted dbde98a0370f Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Options.hs+formatted 2b144a9f6ada Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Options.hs-boot+formatted a266ccade893 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Pure.hs+formatted f549f9160d1c Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Pure.hs-boot+formatted 77c9a4fc8fbb Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Signature.hs+formatted 691ffa6dc30c Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Signature.hs-boot+formatted 93624d713c05 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/SizedTypes.hs+formatted ede0f3649b77 Agda-2.8.0/src/full/Agda/TypeChecking/Monad/State.hs+formatted 63e1167a5c2e Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Statistics.hs+formatted 49a778fb5b1f Agda-2.8.0/src/full/Agda/TypeChecking/Monad/Trace.hs+formatted 38ca9a4b989f Agda-2.8.0/src/full/Agda/TypeChecking/Names.hs+formatted 5519525e6548 Agda-2.8.0/src/full/Agda/TypeChecking/Opacity.hs+formatted d26ddecf1923 Agda-2.8.0/src/full/Agda/TypeChecking/Opacity.hs-boot+formatted ec77f6d2c4ee Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Abstract.hs+formatted 0f6e0c168a7c Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Internal.hs+formatted 3bed5c67293b Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Match.hs+formatted 5ee7033010bf Agda-2.8.0/src/full/Agda/TypeChecking/Patterns/Match.hs-boot+formatted 469500f3dcdc Agda-2.8.0/src/full/Agda/TypeChecking/Polarity.hs+formatted 2f5659c12840 Agda-2.8.0/src/full/Agda/TypeChecking/Polarity.hs-boot+formatted 2901072a89fa Agda-2.8.0/src/full/Agda/TypeChecking/Positivity.hs+formatted 5626959a260d Agda-2.8.0/src/full/Agda/TypeChecking/Positivity/Occurrence.hs+formatted 37a92ee30da4 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty.hs+formatted 7c15c0f77e82 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty.hs-boot+formatted 9a154e2294df Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Call.hs+formatted f5434869778b Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Call.hs-boot+formatted 544fac378a4f Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Constraint.hs+formatted 4c2edd49d675 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Constraint.hs-boot+formatted 73740eefae14 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Warning.hs+formatted bf4e737ce041 Agda-2.8.0/src/full/Agda/TypeChecking/Pretty/Warning.hs-boot+formatted 3d893370c964 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive.hs+formatted 3c8fe98419dd Agda-2.8.0/src/full/Agda/TypeChecking/Primitive.hs-boot+formatted 8ed22976b92a Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Base.hs+formatted 449b06119ca8 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical.hs+formatted 2ea530f280a4 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/Base.hs+formatted 34da472277ef Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/Base.hs-boot+formatted caff936ed890 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/Glue.hs+formatted 3a30d149c7d5 Agda-2.8.0/src/full/Agda/TypeChecking/Primitive/Cubical/HCompU.hs+formatted b94623fcbae3 Agda-2.8.0/src/full/Agda/TypeChecking/ProjectionLike.hs+formatted 21d019305ce5 Agda-2.8.0/src/full/Agda/TypeChecking/ProjectionLike.hs-boot+formatted 2505bf50d757 Agda-2.8.0/src/full/Agda/TypeChecking/Quote.hs+formatted 134651a3168e Agda-2.8.0/src/full/Agda/TypeChecking/ReconstructParameters.hs+formatted 2d7e0d93add3 Agda-2.8.0/src/full/Agda/TypeChecking/RecordPatterns.hs+formatted 2ea1183d053a Agda-2.8.0/src/full/Agda/TypeChecking/Records.hs+formatted 65b1d93597cd Agda-2.8.0/src/full/Agda/TypeChecking/Records.hs-boot+formatted d796d469ac77 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce.hs+formatted 82cb10489996 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce.hs-boot+formatted 902d61b8794a Agda-2.8.0/src/full/Agda/TypeChecking/Reduce/Fast.hs+formatted 2158647025d5 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce/Fast.hs-boot+formatted 8290b6f13ee3 Agda-2.8.0/src/full/Agda/TypeChecking/Reduce/Monad.hs+formatted 4138b13a5df5 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting.hs+formatted 0158a552c77f Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting.hs-boot+formatted a5b5675ddb35 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/Clause.hs+formatted e53d93353f66 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/Confluence.hs+formatted ffa8c612942d Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/NonLinMatch.hs+formatted cf2803dfe738 Agda-2.8.0/src/full/Agda/TypeChecking/Rewriting/NonLinPattern.hs+formatted 7683fca856bf Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Application.hs+formatted 8094c6b9ca8d Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Application.hs-boot+formatted 4853a993b081 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Builtin.hs+formatted bb96b8d55347 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs+formatted 48f627566132 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs-boot+formatted 228af35d2d09 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Data.hs+formatted 89ea7a6db701 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Data.hs-boot+formatted ff0e9314023a Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Decl.hs+formatted c3dda6e649e5 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Decl.hs-boot+formatted c8f646cea7d3 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Def.hs+formatted aa2e722e924d Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Def.hs-boot+formatted fed954351c6b Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Display.hs+formatted 5291aa3ee0df Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS.hs+formatted 6773a3880c72 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Implicit.hs+formatted da382d16a0bc Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Problem.hs+formatted faf2b455193b Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/ProblemRest.hs+formatted 6a42cd7f2ae2 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Unify.hs+formatted d3a352c1c4d9 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Unify/LeftInverse.hs+formatted dea533ec809b Agda-2.8.0/src/full/Agda/TypeChecking/Rules/LHS/Unify/Types.hs+formatted 2fe7b7e43894 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Record.hs+formatted 31facbc5e0fe Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Term.hs+formatted ccd5b1bd7f62 Agda-2.8.0/src/full/Agda/TypeChecking/Rules/Term.hs-boot+formatted 49e329be866f Agda-2.8.0/src/full/Agda/TypeChecking/Serialise.hs+formatted 3c2ae59cbddd Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Base.hs+formatted 0b03fe8ecc8f Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances.hs+formatted 6c20bf188f6d Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Abstract.hs+formatted 36d52dce312e Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Common.hs+formatted d11e2e781bb4 Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Compilers.hs+formatted 2eef55954bfb Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Errors.hs+formatted abbb853d7207 Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Highlighting.hs+formatted ca74c3e9270b Agda-2.8.0/src/full/Agda/TypeChecking/Serialise/Instances/Internal.hs+formatted 205f6ec21316 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes.hs+formatted b681d54f057a Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Pretty.hs+formatted ba347b83ea94 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Solve.hs+formatted 322db41fd343 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Syntax.hs+formatted 904a4e241e74 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/Utils.hs+formatted 0be08dcf3e01 Agda-2.8.0/src/full/Agda/TypeChecking/SizedTypes/WarshallSolver.hs+formatted dace03972057 Agda-2.8.0/src/full/Agda/TypeChecking/Sort.hs+formatted 23e9f5a4dd33 Agda-2.8.0/src/full/Agda/TypeChecking/Substitute.hs+formatted 5c1090094604 Agda-2.8.0/src/full/Agda/TypeChecking/Substitute/Class.hs+formatted 2656f0d28fba Agda-2.8.0/src/full/Agda/TypeChecking/Substitute/DeBruijn.hs+formatted bdddf47208eb Agda-2.8.0/src/full/Agda/TypeChecking/SyntacticEquality.hs+formatted 9403f483b826 Agda-2.8.0/src/full/Agda/TypeChecking/Telescope.hs+formatted d94c0d202dfc Agda-2.8.0/src/full/Agda/TypeChecking/Telescope.hs-boot+formatted a311599b882a Agda-2.8.0/src/full/Agda/TypeChecking/Telescope/Path.hs+formatted 065cd440ceef Agda-2.8.0/src/full/Agda/TypeChecking/Unquote.hs+formatted 9b905968b1f4 Agda-2.8.0/src/full/Agda/TypeChecking/Warnings.hs+formatted 49c35730acfc Agda-2.8.0/src/full/Agda/TypeChecking/With.hs+formatted b02f16e6d20a Agda-2.8.0/src/full/Agda/Utils/AffineHole.hs+formatted ae5ced9ae20f Agda-2.8.0/src/full/Agda/Utils/Applicative.hs+formatted 7fe48d6127fe Agda-2.8.0/src/full/Agda/Utils/AssocList.hs+formatted 0f294429e9ba Agda-2.8.0/src/full/Agda/Utils/Bag.hs+formatted 3856d320f4f2 Agda-2.8.0/src/full/Agda/Utils/Benchmark.hs+formatted 19e137bd74e4 Agda-2.8.0/src/full/Agda/Utils/BiMap.hs+formatted 09925de009a1 Agda-2.8.0/src/full/Agda/Utils/BoolSet.hs+formatted 66c20e52ae54 Agda-2.8.0/src/full/Agda/Utils/Boolean.hs+formatted 880aa8847616 Agda-2.8.0/src/full/Agda/Utils/CallStack.hs+formatted c39e106918fe Agda-2.8.0/src/full/Agda/Utils/CallStack/Base.hs+formatted dfecf0fc01d4 Agda-2.8.0/src/full/Agda/Utils/CallStack/Pretty.hs+formatted eeedf1a4e3da Agda-2.8.0/src/full/Agda/Utils/Char.hs+formatted 2b8eb290abc6 Agda-2.8.0/src/full/Agda/Utils/Cluster.hs+formatted b2757fa5ae2f Agda-2.8.0/src/full/Agda/Utils/Either.hs+formatted 5c0f9924f59f Agda-2.8.0/src/full/Agda/Utils/Empty.hs+formatted 284145f1db7f Agda-2.8.0/src/full/Agda/Utils/Environment.hs+formatted e2b0e8db2604 Agda-2.8.0/src/full/Agda/Utils/Fail.hs+formatted 7ba92e89857d Agda-2.8.0/src/full/Agda/Utils/Favorites.hs+formatted 73363066a6a3 Agda-2.8.0/src/full/Agda/Utils/FileId.hs+formatted fe8be2258052 Agda-2.8.0/src/full/Agda/Utils/FileName.hs+formatted e5f5fbd21c99 Agda-2.8.0/src/full/Agda/Utils/Float.hs+formatted 671c1e2678b7 Agda-2.8.0/src/full/Agda/Utils/Function.hs+formatted 6c4961888023 Agda-2.8.0/src/full/Agda/Utils/Functor.hs+formatted 026b04b8661e Agda-2.8.0/src/full/Agda/Utils/GetOpt.hs+formatted 873df66a7304 Agda-2.8.0/src/full/Agda/Utils/Graph/AdjacencyMap/Unidirectional.hs+formatted 989ea83c378b Agda-2.8.0/src/full/Agda/Utils/Graph/TopSort.hs+formatted db38367e7a17 Agda-2.8.0/src/full/Agda/Utils/Hash.hs+formatted 43284ef7124c Agda-2.8.0/src/full/Agda/Utils/HashTable.hs+formatted 019e9637b9b0 Agda-2.8.0/src/full/Agda/Utils/Haskell/Syntax.hs+formatted e861d8cbd7ce Agda-2.8.0/src/full/Agda/Utils/IArray.hs+formatted 8d53e1639c43 Agda-2.8.0/src/full/Agda/Utils/IO.hs+formatted ddd200e851ab Agda-2.8.0/src/full/Agda/Utils/IO/Binary.hs+formatted c62ffb044eae Agda-2.8.0/src/full/Agda/Utils/IO/Directory.hs+formatted 44ca6943bebd Agda-2.8.0/src/full/Agda/Utils/IO/TempFile.hs+formatted 51a9c4ed68e8 Agda-2.8.0/src/full/Agda/Utils/IO/UTF8.hs+formatted d938f94198a6 Agda-2.8.0/src/full/Agda/Utils/IORef.hs+formatted 695329a3bad9 Agda-2.8.0/src/full/Agda/Utils/Impossible.hs+formatted e5520ad27268 Agda-2.8.0/src/full/Agda/Utils/IndexedList.hs+formatted 89c592a4472e Agda-2.8.0/src/full/Agda/Utils/IntSet/Infinite.hs+formatted 37f9f2b34f7d Agda-2.8.0/src/full/Agda/Utils/Lens.hs+formatted 89e41b43691d Agda-2.8.0/src/full/Agda/Utils/Lens/Examples.hs+formatted 1b92693f68b2 Agda-2.8.0/src/full/Agda/Utils/List.hs+formatted 45ca9f9f3bb8 Agda-2.8.0/src/full/Agda/Utils/List1.hs+formatted 3bd635eb52aa Agda-2.8.0/src/full/Agda/Utils/List1.hs-boot+formatted 3514de48df05 Agda-2.8.0/src/full/Agda/Utils/List2.hs+formatted 7c751813fa31 Agda-2.8.0/src/full/Agda/Utils/ListT.hs+formatted 169903934617 Agda-2.8.0/src/full/Agda/Utils/Map.hs+formatted 8c9045bc776a Agda-2.8.0/src/full/Agda/Utils/Map1.hs+formatted 6e06ef12a477 Agda-2.8.0/src/full/Agda/Utils/Maybe.hs+formatted f52b8f698d5f Agda-2.8.0/src/full/Agda/Utils/Maybe/Strict.hs+formatted fde8defcff6d Agda-2.8.0/src/full/Agda/Utils/Memo.hs+formatted ae784faa4e52 Agda-2.8.0/src/full/Agda/Utils/Monad.hs+formatted 4f8109a5fa85 Agda-2.8.0/src/full/Agda/Utils/Monoid.hs+formatted 92bb2192c3b2 Agda-2.8.0/src/full/Agda/Utils/Null.hs+formatted 4fd8ca5748d3 Agda-2.8.0/src/full/Agda/Utils/POMonoid.hs+formatted bb186d0604db Agda-2.8.0/src/full/Agda/Utils/Parser/MemoisedCPS.hs+formatted c2d2ccfc3558 Agda-2.8.0/src/full/Agda/Utils/PartialOrd.hs+formatted e9d2279e6e65 Agda-2.8.0/src/full/Agda/Utils/Permutation.hs+formatted fda572184491 Agda-2.8.0/src/full/Agda/Utils/ProfileOptions.hs+formatted 49a18a2c6aec Agda-2.8.0/src/full/Agda/Utils/RangeMap.hs+formatted 5039e6e9abfe Agda-2.8.0/src/full/Agda/Utils/SemiRing.hs+formatted 9aa281a4615c Agda-2.8.0/src/full/Agda/Utils/Semigroup.hs+formatted fdb04073ce98 Agda-2.8.0/src/full/Agda/Utils/Set1.hs+formatted f45ad8f08443 Agda-2.8.0/src/full/Agda/Utils/Singleton.hs+formatted 18c4a0bbe326 Agda-2.8.0/src/full/Agda/Utils/Size.hs+formatted f8b306deacdf Agda-2.8.0/src/full/Agda/Utils/SmallSet.hs+formatted 21babb4b50a9 Agda-2.8.0/src/full/Agda/Utils/String.hs+formatted 57a8a5b9fa29 Agda-2.8.0/src/full/Agda/Utils/Suffix.hs+formatted 736b26cda8bc Agda-2.8.0/src/full/Agda/Utils/Three.hs+formatted ebc104ac11d6 Agda-2.8.0/src/full/Agda/Utils/Time.hs+formatted 28100c97a54a Agda-2.8.0/src/full/Agda/Utils/Trie.hs+formatted 1711e06969b5 Agda-2.8.0/src/full/Agda/Utils/Tuple.hs+formatted db9dcb1b8f66 Agda-2.8.0/src/full/Agda/Utils/TypeLevel.hs+formatted c8c672126225 Agda-2.8.0/src/full/Agda/Utils/TypeLits.hs+formatted 8d8d3b50eebc Agda-2.8.0/src/full/Agda/Utils/Unsafe.hs+formatted 67386f8634f6 Agda-2.8.0/src/full/Agda/Utils/Update.hs+formatted 383866b27bb0 Agda-2.8.0/src/full/Agda/Utils/VarSet.hs+formatted ef7d967b9bdc Agda-2.8.0/src/full/Agda/Utils/WithDefault.hs+formatted fe0ca6de293d Agda-2.8.0/src/full/Agda/Utils/Zipper.hs+formatted 86e923a357db Agda-2.8.0/src/main/Main.hs+formatted 61f76fd386b5 Agda-2.8.0/src/setup/Agda/Setup.hs+formatted 4fdcc92be0f4 Agda-2.8.0/src/setup/Agda/Setup/DataFiles.hs+formatted 7a631dd4456c Agda-2.8.0/src/setup/Agda/Setup/EmacsMode.hs+formatted acb74e0db7a5 Agda-2.8.0/src/setup/Agda/Version.hs+formatted 5164a4006c26 Agda-2.8.0/src/setup/Agda/VersionCommit.hs+formatted 90cd663d9426 HUnit-1.6.2.0/examples/Example.hs+formatted 9b1cac4b6c09 HUnit-1.6.2.0/src/Test/HUnit.hs+formatted 0971b82d0690 HUnit-1.6.2.0/src/Test/HUnit/Base.hs+formatted 259f46f80849 HUnit-1.6.2.0/src/Test/HUnit/Lang.hs+formatted f9959d10adae HUnit-1.6.2.0/src/Test/HUnit/Terminal.hs+formatted c1c1d4fdc273 HUnit-1.6.2.0/src/Test/HUnit/Text.hs+formatted 358e8e211fe4 HUnit-1.6.2.0/tests/HUnitTestExtended.hs+formatted 2277de61adab HUnit-1.6.2.0/tests/HUnitTests.hs+formatted 6f374a392385 HUnit-1.6.2.0/tests/TerminalTest.hs+formatted 72a2225868af QuickCheck-2.18.0.0/examples/Heap.hs+formatted dc35ff44492c QuickCheck-2.18.0.0/examples/Heap_Program.hs+formatted 0abcf73779e5 QuickCheck-2.18.0.0/examples/Heap_ProgramAlgebraic.hs+formatted 07c41d7ee959 QuickCheck-2.18.0.0/examples/Lambda.hs+formatted ac5fe5532ade QuickCheck-2.18.0.0/examples/Merge.hs+formatted 75a2f3be476e QuickCheck-2.18.0.0/examples/Set.hs+formatted 598740b3d57c QuickCheck-2.18.0.0/examples/Simple.hs+partly-checked 9da7c6c96a36 QuickCheck-2.18.0.0/src/Test/QuickCheck.hs+formatted 02ad02d885d3 QuickCheck-2.18.0.0/src/Test/QuickCheck/All.hs+partly-checked beeaa8cce68d QuickCheck-2.18.0.0/src/Test/QuickCheck/Arbitrary.hs+formatted b394fbd4debb QuickCheck-2.18.0.0/src/Test/QuickCheck/Compat.hs+partly-checked 06fafd04e06a QuickCheck-2.18.0.0/src/Test/QuickCheck/Exception.hs+formatted 24dc2fbcd085 QuickCheck-2.18.0.0/src/Test/QuickCheck/Features.hs+partly-checked a3b6ef716829 QuickCheck-2.18.0.0/src/Test/QuickCheck/Function.hs+formatted 41b71e19969f QuickCheck-2.18.0.0/src/Test/QuickCheck/Gen.hs+formatted 0488daa21096 QuickCheck-2.18.0.0/src/Test/QuickCheck/Gen/Unsafe.hs+formatted 27b454ea364e QuickCheck-2.18.0.0/src/Test/QuickCheck/Modifiers.hs+formatted 09230f4d022f QuickCheck-2.18.0.0/src/Test/QuickCheck/Monadic.hs+formatted a94b9d13da2f QuickCheck-2.18.0.0/src/Test/QuickCheck/Monoids.hs+formatted 0c4f8c706edf QuickCheck-2.18.0.0/src/Test/QuickCheck/Poly.hs+formatted 7ad2b4286dd4 QuickCheck-2.18.0.0/src/Test/QuickCheck/Property.hs+formatted d248979763fb QuickCheck-2.18.0.0/src/Test/QuickCheck/Random.hs+formatted 67a6c49f2d76 QuickCheck-2.18.0.0/src/Test/QuickCheck/State.hs+formatted d6690aaf2529 QuickCheck-2.18.0.0/src/Test/QuickCheck/Test.hs+formatted a4f1f65a7f1e QuickCheck-2.18.0.0/src/Test/QuickCheck/Text.hs+formatted 19879ee226c1 QuickCheck-2.18.0.0/tests/CollectDataTypes.hs+formatted da3fb75adccf QuickCheck-2.18.0.0/tests/DiscardRatio.hs+formatted 5408e5e13bd3 QuickCheck-2.18.0.0/tests/GCoArbitraryExample.hs+formatted 8dd012261272 QuickCheck-2.18.0.0/tests/GShrinkExample.hs+formatted 3f82e6fd307d QuickCheck-2.18.0.0/tests/Generators.hs+formatted 057887c409bc QuickCheck-2.18.0.0/tests/Misc.hs+formatted 414efdc48918 QuickCheck-2.18.0.0/tests/MonadFix.hs+formatted 85ad2d1decbe QuickCheck-2.18.0.0/tests/Monoids.hs+formatted eae30fa51b1b QuickCheck-2.18.0.0/tests/RunCollectDataTypes.hs+formatted 6cff09f61b57 QuickCheck-2.18.0.0/tests/Split.hs+formatted da1fe583377c QuickCheck-2.18.0.0/tests/Strictness.hs+formatted 224bf6e7655c QuickCheck-2.18.0.0/tests/Terminal.hs+formatted 398a0f17171d QuickCheck-2.18.0.0/tests/WithProgress.hs+formatted 5bd7a41e0fb6 ShellCheck-0.11.0/shellcheck.hs+formatted e1956a0e51a1 ShellCheck-0.11.0/src/ShellCheck/AST.hs+formatted c37d63683cf0 ShellCheck-0.11.0/src/ShellCheck/ASTLib.hs+formatted 24b51a720cfe ShellCheck-0.11.0/src/ShellCheck/Analytics.hs+formatted a37e7d6ad771 ShellCheck-0.11.0/src/ShellCheck/Analyzer.hs+formatted 0df96a3d2318 ShellCheck-0.11.0/src/ShellCheck/AnalyzerLib.hs+formatted 3308afd69855 ShellCheck-0.11.0/src/ShellCheck/CFG.hs+formatted 82bc11b18b11 ShellCheck-0.11.0/src/ShellCheck/CFGAnalysis.hs+formatted b5fd9efb82ac ShellCheck-0.11.0/src/ShellCheck/Checker.hs+formatted 8b1eac1d2cfc ShellCheck-0.11.0/src/ShellCheck/Checks/Commands.hs+formatted 4499e00fdc51 ShellCheck-0.11.0/src/ShellCheck/Checks/ControlFlow.hs+formatted 0cbfece4e54b ShellCheck-0.11.0/src/ShellCheck/Checks/Custom.hs+formatted 91595d726c47 ShellCheck-0.11.0/src/ShellCheck/Checks/ShellSupport.hs+formatted 360f25cce88b ShellCheck-0.11.0/src/ShellCheck/Data.hs+formatted 49275e17f1a3 ShellCheck-0.11.0/src/ShellCheck/Debug.hs+formatted 31071ad483d6 ShellCheck-0.11.0/src/ShellCheck/Fixer.hs+formatted 1c5c142bbc8c ShellCheck-0.11.0/src/ShellCheck/Formatter/CheckStyle.hs+formatted 13b3c15a19bc ShellCheck-0.11.0/src/ShellCheck/Formatter/Diff.hs+formatted 78112453fad7 ShellCheck-0.11.0/src/ShellCheck/Formatter/Format.hs+formatted d90b451f113e ShellCheck-0.11.0/src/ShellCheck/Formatter/GCC.hs+formatted b5dba8eeaa1e ShellCheck-0.11.0/src/ShellCheck/Formatter/JSON.hs+formatted fb9c03a6a335 ShellCheck-0.11.0/src/ShellCheck/Formatter/JSON1.hs+formatted a381122da904 ShellCheck-0.11.0/src/ShellCheck/Formatter/Quiet.hs+formatted ede5712d5ab7 ShellCheck-0.11.0/src/ShellCheck/Formatter/TTY.hs+formatted a601aea10041 ShellCheck-0.11.0/src/ShellCheck/Interface.hs+formatted fd032d879733 ShellCheck-0.11.0/src/ShellCheck/Parser.hs+formatted 41e45f4ec82e ShellCheck-0.11.0/src/ShellCheck/Prelude.hs+formatted 0b6a2ca650ea ShellCheck-0.11.0/src/ShellCheck/Regex.hs+formatted d7f66e7f3a00 ShellCheck-0.11.0/test/shellcheck.hs+formatted f11704872a0d adjunctions-4.4.4/HLint.hs+formatted b76eebd88dde adjunctions-4.4.4/src/Control/Comonad/Representable/Store.hs+formatted de45dcce87b3 adjunctions-4.4.4/src/Control/Comonad/Trans/Adjoint.hs+formatted 6acf5c42f6f3 adjunctions-4.4.4/src/Control/Monad/Representable/Reader.hs+formatted a638921f9e27 adjunctions-4.4.4/src/Control/Monad/Representable/State.hs+formatted 090896034199 adjunctions-4.4.4/src/Control/Monad/Trans/Adjoint.hs+formatted e1817af58b0a adjunctions-4.4.4/src/Control/Monad/Trans/Contravariant/Adjoint.hs+formatted e1065b4a8220 adjunctions-4.4.4/src/Control/Monad/Trans/Conts.hs+formatted a9be4a7e726b adjunctions-4.4.4/src/Data/Functor/Adjunction.hs+formatted 191e78a8f894 adjunctions-4.4.4/src/Data/Functor/Contravariant/Adjunction.hs+formatted 573a1fcd59fd adjunctions-4.4.4/src/Data/Functor/Contravariant/Rep.hs+formatted 28caf428004b adjunctions-4.4.4/src/Data/Functor/Rep.hs+formatted 690f4e02bf11 adjunctions-4.4.4/tests/GenericsSpec.hs+formatted 2fbd14b119a4 adjunctions-4.4.4/tests/Spec.hs+formatted 5f27aba9dda7 aeson-2.3.1.0/src/Data/Aeson.hs+formatted e884d6813fc6 aeson-2.3.1.0/src/Data/Aeson/Decoding.hs+formatted 93bdee10e02a aeson-2.3.1.0/src/Data/Aeson/Decoding/ByteString.hs+formatted 635321399aa4 aeson-2.3.1.0/src/Data/Aeson/Decoding/ByteString/Lazy.hs+formatted 1d3a54288c25 aeson-2.3.1.0/src/Data/Aeson/Decoding/Conversion.hs+formatted f1f142fef403 aeson-2.3.1.0/src/Data/Aeson/Decoding/Internal.hs+formatted e972ebea468c aeson-2.3.1.0/src/Data/Aeson/Decoding/Text.hs+formatted 709b71ada144 aeson-2.3.1.0/src/Data/Aeson/Decoding/Tokens.hs+formatted c6cf8dff7aea aeson-2.3.1.0/src/Data/Aeson/Encoding.hs+formatted 96d4e6121b81 aeson-2.3.1.0/src/Data/Aeson/Encoding/Builder.hs+formatted 15f5cf01a7d9 aeson-2.3.1.0/src/Data/Aeson/Encoding/Internal.hs+formatted 750b37e9d1fa aeson-2.3.1.0/src/Data/Aeson/Internal/ByteString.hs+formatted 7ff60392d6c3 aeson-2.3.1.0/src/Data/Aeson/Internal/Functions.hs+formatted e048ffa25767 aeson-2.3.1.0/src/Data/Aeson/Internal/Prelude.hs+formatted 57e28222c296 aeson-2.3.1.0/src/Data/Aeson/Internal/Scientific.hs+formatted 6bb6b5229c29 aeson-2.3.1.0/src/Data/Aeson/Internal/TH.hs+formatted b61b87ef28b1 aeson-2.3.1.0/src/Data/Aeson/Internal/Text.hs+formatted e83337edc6e6 aeson-2.3.1.0/src/Data/Aeson/Internal/Unescape.hs+formatted 20257ed727b2 aeson-2.3.1.0/src/Data/Aeson/Internal/UnescapeFromText.hs+formatted 1052e9d7d311 aeson-2.3.1.0/src/Data/Aeson/Key.hs+formatted 399d3cc81f76 aeson-2.3.1.0/src/Data/Aeson/KeyMap.hs+formatted a8f98f92bb33 aeson-2.3.1.0/src/Data/Aeson/Parser/Time.hs+formatted 34673c7e3119 aeson-2.3.1.0/src/Data/Aeson/QQ/Simple.hs+formatted 8c47510bfe90 aeson-2.3.1.0/src/Data/Aeson/RFC8785.hs+formatted 8e47a331bfb8 aeson-2.3.1.0/src/Data/Aeson/TH.hs+formatted 12a0132d4a2c aeson-2.3.1.0/src/Data/Aeson/Text.hs+formatted d929af4e0687 aeson-2.3.1.0/src/Data/Aeson/Types.hs+formatted e11d9a90b593 aeson-2.3.1.0/src/Data/Aeson/Types/Class.hs+formatted fc043ebfc291 aeson-2.3.1.0/src/Data/Aeson/Types/FromJSON.hs+formatted af543197c845 aeson-2.3.1.0/src/Data/Aeson/Types/Generic.hs+formatted a7b6903cad74 aeson-2.3.1.0/src/Data/Aeson/Types/Internal.hs+formatted e372019c3433 aeson-2.3.1.0/src/Data/Aeson/Types/ToJSON.hs+formatted 1916009e9352 aeson-2.3.1.0/tests/CastFloat.hs+formatted bad3a5065737 aeson-2.3.1.0/tests/DataFamilies/Encoders.hs+formatted 0d864147e795 aeson-2.3.1.0/tests/DataFamilies/Instances.hs+formatted 91fe7aa4d3dc aeson-2.3.1.0/tests/DataFamilies/Properties.hs+formatted 4d002c77704c aeson-2.3.1.0/tests/DataFamilies/Types.hs+formatted 07fde92bf8d1 aeson-2.3.1.0/tests/DoubleToScientific.hs+formatted 659a9357b588 aeson-2.3.1.0/tests/Encoders.hs+formatted 30150da5a855 aeson-2.3.1.0/tests/ErrorMessages.hs+formatted 72fb423455c1 aeson-2.3.1.0/tests/Functions.hs+formatted 45b065b98a94 aeson-2.3.1.0/tests/Instances.hs+formatted 38b7096d53c4 aeson-2.3.1.0/tests/JSONTestSuite.hs+formatted 82f27586e194 aeson-2.3.1.0/tests/Options.hs+formatted 269fd896fd74 aeson-2.3.1.0/tests/PropUtils.hs+formatted 5c7e1bcf3dd6 aeson-2.3.1.0/tests/Properties.hs+formatted 7d368ad15e82 aeson-2.3.1.0/tests/PropertyGeneric.hs+formatted 109d7fb52b5b aeson-2.3.1.0/tests/PropertyKeys.hs+formatted 0d9df9d04cba aeson-2.3.1.0/tests/PropertyQC.hs+formatted a2e378d49eb8 aeson-2.3.1.0/tests/PropertyRTFunctors.hs+formatted d54279308532 aeson-2.3.1.0/tests/PropertyRoundTrip.hs+formatted 5c1372b7a444 aeson-2.3.1.0/tests/PropertyTH.hs+formatted 816e57772780 aeson-2.3.1.0/tests/RFC8785.hs+formatted 378b97660503 aeson-2.3.1.0/tests/Regression/Issue1138.hs+formatted 1cfcacdcaf11 aeson-2.3.1.0/tests/Regression/Issue351.hs+formatted f000e9c51f1a aeson-2.3.1.0/tests/Regression/Issue571.hs+formatted 650ac09bee0a aeson-2.3.1.0/tests/Regression/Issue687.hs+formatted e5c541d1465a aeson-2.3.1.0/tests/Regression/Issue967.hs+formatted f696f5d31388 aeson-2.3.1.0/tests/SerializationFormatSpec.hs+formatted 8eaa36c16021 aeson-2.3.1.0/tests/Tests.hs+formatted c88e88732cfd aeson-2.3.1.0/tests/Types.hs+formatted 7731424b43b3 aeson-2.3.1.0/tests/UnitTests.hs+formatted f18689008d86 aeson-2.3.1.0/tests/UnitTests/FromJSONKey.hs+formatted 8fa12a214cda aeson-2.3.1.0/tests/UnitTests/Hashable.hs+formatted 2e6e13a2b307 aeson-2.3.1.0/tests/UnitTests/KeyMapInsertWith.hs+formatted fc462ed61e50 aeson-2.3.1.0/tests/UnitTests/MonadFix.hs+formatted 657449faeb93 aeson-2.3.1.0/tests/UnitTests/NoThunks.hs+formatted 31a111ec64d8 aeson-2.3.1.0/tests/UnitTests/NullaryConstructors.hs+formatted 91f9a9590048 aeson-2.3.1.0/tests/UnitTests/OmitNothingFieldsNote.hs+formatted 11d14533f820 aeson-2.3.1.0/tests/UnitTests/OptionalFields.hs+formatted 699f022c0cb2 aeson-2.3.1.0/tests/UnitTests/OptionalFields/Common.hs+formatted d8f208687b90 aeson-2.3.1.0/tests/UnitTests/OptionalFields/Generics.hs+formatted 0bea65848d96 aeson-2.3.1.0/tests/UnitTests/OptionalFields/Manual.hs+formatted 4a6ecc95787f aeson-2.3.1.0/tests/UnitTests/OptionalFields/TH.hs+formatted e93203961852 aeson-2.3.1.0/tests/UnitTests/UTCTime.hs+formatted e865ae48f11b ansi-terminal-1.1.5/Setup.hs+formatted 075adef817c3 ansi-terminal-1.1.5/app/Example.hs+formatted 5cffc9cf8231 ansi-terminal-1.1.5/src/System/Console/ANSI.hs+formatted 46d19416edeb ansi-terminal-1.1.5/unix/System/Console/ANSI/Internal.hs+formatted 1cc713a3f254 ansi-terminal-1.1.5/win/System/Console/ANSI/Internal.hs+formatted 1aaa3e2316a9 ansi-terminal-1.1.5/win/System/Console/ANSI/Windows/Foreign.hs+formatted e763680dce5b ansi-terminal-1.1.5/win/System/Console/ANSI/Windows/Win32/Types.hs+formatted 9e25d9947df5 async-2.2.6/Control/Concurrent/Async.hs+partly-checked 652d49b16c08 async-2.2.6/Control/Concurrent/Async/Internal.hs+formatted 68777666410b async-2.2.6/Control/Concurrent/Async/Warden.hs+formatted a0f5a7bd29cb async-2.2.6/Control/Concurrent/Stream.hs+formatted e865ae48f11b async-2.2.6/Setup.hs+formatted 7f1489b412a3 async-2.2.6/bench/concasync.hs+formatted 947eb9e17a7c async-2.2.6/bench/conccancel.hs+formatted 6fd907018c80 async-2.2.6/bench/race.hs+formatted 4db35c37a9a6 async-2.2.6/test/test-async.hs+formatted 9f3238148609 attoparsec-0.14.4/Data/Attoparsec.hs+formatted 7d88b33f4399 attoparsec-0.14.4/Data/Attoparsec/ByteString.hs+formatted 4ba03080e749 attoparsec-0.14.4/Data/Attoparsec/ByteString/Char8.hs+formatted 0e47afce0362 attoparsec-0.14.4/Data/Attoparsec/ByteString/Internal.hs+formatted fcc23ffbbc3d attoparsec-0.14.4/Data/Attoparsec/ByteString/Lazy.hs+formatted 220f76f3ce4e attoparsec-0.14.4/Data/Attoparsec/Char8.hs+formatted 90be588fbc3a attoparsec-0.14.4/Data/Attoparsec/Combinator.hs+formatted 4b9154d41c2a attoparsec-0.14.4/Data/Attoparsec/Internal.hs+formatted dbeb97f732d5 attoparsec-0.14.4/Data/Attoparsec/Internal/Types.hs+formatted ea3b710a875e attoparsec-0.14.4/Data/Attoparsec/Lazy.hs+formatted 3d8057d5d688 attoparsec-0.14.4/Data/Attoparsec/Number.hs+formatted 45050bdb0a87 attoparsec-0.14.4/Data/Attoparsec/Text.hs+formatted 8419b057d5a4 attoparsec-0.14.4/Data/Attoparsec/Text/Internal.hs+formatted b1c4021729a8 attoparsec-0.14.4/Data/Attoparsec/Text/Lazy.hs+formatted 63d322215a87 attoparsec-0.14.4/Data/Attoparsec/Types.hs+formatted 8ab300fd67b0 attoparsec-0.14.4/Data/Attoparsec/Zepto.hs+formatted ce9c3d80e326 attoparsec-0.14.4/benchmarks/Aeson.hs+formatted ea48685480e2 attoparsec-0.14.4/benchmarks/Benchmarks.hs+formatted c1f15fa8aa6e attoparsec-0.14.4/benchmarks/Common.hs+formatted baa4df75c7d8 attoparsec-0.14.4/benchmarks/Genome.hs+formatted 3f8483fc03da attoparsec-0.14.4/benchmarks/HeadersByteString.hs+formatted bb42606c4a8a attoparsec-0.14.4/benchmarks/HeadersByteString/Atto.hs+formatted 5a57c6aaa740 attoparsec-0.14.4/benchmarks/HeadersText.hs+formatted 8fa6e462f95f attoparsec-0.14.4/benchmarks/Links.hs+formatted f582abe3e244 attoparsec-0.14.4/benchmarks/Numbers.hs+formatted 696be472825c attoparsec-0.14.4/benchmarks/Sets.hs+formatted 0d64d700acb4 attoparsec-0.14.4/benchmarks/TextFastSet.hs+formatted 2b16e18cd8c0 attoparsec-0.14.4/benchmarks/Warp.hs+formatted 0328e73e6175 attoparsec-0.14.4/benchmarks/warp-3.0.1.1/Network/Wai/Handler/Warp/ReadInt.hs+formatted 1f7d3a417fb5 attoparsec-0.14.4/benchmarks/warp-3.0.1.1/Network/Wai/Handler/Warp/RequestHeader.hs+formatted 0d3565bef090 attoparsec-0.14.4/examples/Atto_RFC2616.hs+formatted b6861e7aadf8 attoparsec-0.14.4/examples/Parsec_RFC2616.hs+formatted 8cdf131b10ce attoparsec-0.14.4/examples/RFC2616.hs+formatted ef93830525fb attoparsec-0.14.4/internal/Data/Attoparsec/ByteString/Buffer.hs+formatted f351843a1420 attoparsec-0.14.4/internal/Data/Attoparsec/ByteString/FastSet.hs+formatted f21e47830b1f attoparsec-0.14.4/internal/Data/Attoparsec/Internal/Compat.hs+formatted 4498fcbfa61f attoparsec-0.14.4/internal/Data/Attoparsec/Internal/Fhthagn.hs+formatted bc12b2ada3b5 attoparsec-0.14.4/internal/Data/Attoparsec/Text/Buffer.hs+formatted b2e14e3c02d3 attoparsec-0.14.4/internal/Data/Attoparsec/Text/FastSet.hs+formatted ccaeb87485db attoparsec-0.14.4/tests/QC.hs+formatted c4481214d6c0 attoparsec-0.14.4/tests/QC/Buffer.hs+formatted ae7fa7b38a4b attoparsec-0.14.4/tests/QC/ByteString.hs+formatted 455e4866502a attoparsec-0.14.4/tests/QC/Combinator.hs+formatted 2bd326ae7162 attoparsec-0.14.4/tests/QC/Common.hs+formatted 7558d60104bb attoparsec-0.14.4/tests/QC/IPv6/Internal.hs+formatted 0692feda416d attoparsec-0.14.4/tests/QC/IPv6/Types.hs+formatted 08452f3d9508 attoparsec-0.14.4/tests/QC/Rechunked.hs+formatted 0bab40e54197 attoparsec-0.14.4/tests/QC/Simple.hs+formatted f610227583f7 attoparsec-0.14.4/tests/QC/Text.hs+formatted 930b366b3b68 attoparsec-0.14.4/tests/QC/Text/FastSet.hs+formatted ed6a9f21b67c attoparsec-0.14.4/tests/QC/Text/Regressions.hs+formatted e1ef503cd64b aws-0.25.3/Aws.hs+formatted a3a163b31c63 aws-0.25.3/Aws/Aws.hs+formatted 316b8d029dee aws-0.25.3/Aws/Core.hs+formatted 526f7494fea1 aws-0.25.3/Aws/DynamoDb.hs+formatted 11c5a36e6111 aws-0.25.3/Aws/DynamoDb/Commands.hs+formatted fdedda6a01bc aws-0.25.3/Aws/DynamoDb/Commands/BatchGetItem.hs+formatted 284a9d6d25fa aws-0.25.3/Aws/DynamoDb/Commands/BatchWriteItem.hs+formatted 37d0f09919b9 aws-0.25.3/Aws/DynamoDb/Commands/DeleteItem.hs+formatted 6e48f7806e5d aws-0.25.3/Aws/DynamoDb/Commands/GetItem.hs+formatted 413574967b43 aws-0.25.3/Aws/DynamoDb/Commands/PutItem.hs+formatted 706f861f1b54 aws-0.25.3/Aws/DynamoDb/Commands/Query.hs+formatted 76d3cbe6ea1b aws-0.25.3/Aws/DynamoDb/Commands/Scan.hs+formatted c6547f406402 aws-0.25.3/Aws/DynamoDb/Commands/Table.hs+formatted 1159130413aa aws-0.25.3/Aws/DynamoDb/Commands/UpdateItem.hs+formatted 5527efbba0d1 aws-0.25.3/Aws/DynamoDb/Core.hs+formatted 7da30757579d aws-0.25.3/Aws/Ec2/InstanceMetadata.hs+formatted 64524ea72e53 aws-0.25.3/Aws/Iam.hs+formatted 749eee8b56a6 aws-0.25.3/Aws/Iam/Commands.hs+formatted ad79f5d57197 aws-0.25.3/Aws/Iam/Commands/AddUserToGroup.hs+formatted 915fd6e3db63 aws-0.25.3/Aws/Iam/Commands/CreateAccessKey.hs+formatted bde533108084 aws-0.25.3/Aws/Iam/Commands/CreateGroup.hs+formatted 71878d688298 aws-0.25.3/Aws/Iam/Commands/CreateUser.hs+formatted 9e5113cbceb2 aws-0.25.3/Aws/Iam/Commands/DeleteAccessKey.hs+formatted 69f808dacd5c aws-0.25.3/Aws/Iam/Commands/DeleteGroup.hs+formatted 8e3043dbd167 aws-0.25.3/Aws/Iam/Commands/DeleteGroupPolicy.hs+formatted 7214274b0a75 aws-0.25.3/Aws/Iam/Commands/DeleteUser.hs+formatted f49416222f95 aws-0.25.3/Aws/Iam/Commands/DeleteUserPolicy.hs+formatted 1b4517924917 aws-0.25.3/Aws/Iam/Commands/GetGroupPolicy.hs+formatted 512be8c8f03d aws-0.25.3/Aws/Iam/Commands/GetUser.hs+formatted 52a399c24ce2 aws-0.25.3/Aws/Iam/Commands/GetUserPolicy.hs+formatted 76b52f1c10e6 aws-0.25.3/Aws/Iam/Commands/ListAccessKeys.hs+formatted f147cb58a827 aws-0.25.3/Aws/Iam/Commands/ListGroupPolicies.hs+formatted 9055a8593cb5 aws-0.25.3/Aws/Iam/Commands/ListGroups.hs+formatted d4d566b0d162 aws-0.25.3/Aws/Iam/Commands/ListMfaDevices.hs+formatted c2765a268c08 aws-0.25.3/Aws/Iam/Commands/ListUserPolicies.hs+formatted 81792beec6f5 aws-0.25.3/Aws/Iam/Commands/ListUsers.hs+formatted 12e4d06eee79 aws-0.25.3/Aws/Iam/Commands/PutGroupPolicy.hs+formatted f35205957f88 aws-0.25.3/Aws/Iam/Commands/PutUserPolicy.hs+formatted 73390f7341bb aws-0.25.3/Aws/Iam/Commands/RemoveUserFromGroup.hs+formatted 6471d441fd65 aws-0.25.3/Aws/Iam/Commands/UpdateAccessKey.hs+formatted 1df52130a26f aws-0.25.3/Aws/Iam/Commands/UpdateGroup.hs+formatted 9d554d7c5663 aws-0.25.3/Aws/Iam/Commands/UpdateUser.hs+formatted 7f6159798a1d aws-0.25.3/Aws/Iam/Core.hs+formatted feab396b426b aws-0.25.3/Aws/Iam/Internal.hs+formatted 48b677d290e9 aws-0.25.3/Aws/Network.hs+formatted ce77812a32a4 aws-0.25.3/Aws/S3.hs+formatted 468614525265 aws-0.25.3/Aws/S3/Commands.hs+formatted 2646f70fe9fa aws-0.25.3/Aws/S3/Commands/CopyObject.hs+formatted 5a1be9e435de aws-0.25.3/Aws/S3/Commands/DeleteBucket.hs+formatted b0b859edf946 aws-0.25.3/Aws/S3/Commands/DeleteObject.hs+formatted f56508db7ae5 aws-0.25.3/Aws/S3/Commands/DeleteObjectVersion.hs+formatted cac44242e0ef aws-0.25.3/Aws/S3/Commands/DeleteObjects.hs+formatted 10f682f1d630 aws-0.25.3/Aws/S3/Commands/GetBucket.hs+formatted fd9ef9806007 aws-0.25.3/Aws/S3/Commands/GetBucketLocation.hs+formatted de0c93616abe aws-0.25.3/Aws/S3/Commands/GetBucketObjectVersions.hs+formatted 77560acf62f4 aws-0.25.3/Aws/S3/Commands/GetBucketVersioning.hs+formatted 09bf54b50d8a aws-0.25.3/Aws/S3/Commands/GetObject.hs+formatted b2f36afa32e0 aws-0.25.3/Aws/S3/Commands/GetService.hs+formatted d6ff6d8b8056 aws-0.25.3/Aws/S3/Commands/HeadObject.hs+formatted bc19177d1d47 aws-0.25.3/Aws/S3/Commands/Multipart.hs+formatted 311a84a6ddb3 aws-0.25.3/Aws/S3/Commands/PutBucket.hs+formatted 2428bf962e66 aws-0.25.3/Aws/S3/Commands/PutBucketVersioning.hs+formatted 046379db06b2 aws-0.25.3/Aws/S3/Commands/PutObject.hs+formatted bc50203fa9d6 aws-0.25.3/Aws/S3/Commands/RestoreObject.hs+formatted 691e7d45ad83 aws-0.25.3/Aws/S3/Core.hs+formatted e59133632c71 aws-0.25.3/Aws/Ses.hs+formatted 98906d812790 aws-0.25.3/Aws/Ses/Commands.hs+formatted d82f6af0c772 aws-0.25.3/Aws/Ses/Commands/DeleteIdentity.hs+formatted 81e7c8056065 aws-0.25.3/Aws/Ses/Commands/GetIdentityDkimAttributes.hs+formatted ea5078ceaf94 aws-0.25.3/Aws/Ses/Commands/GetIdentityNotificationAttributes.hs+formatted d96fd6a7f13d aws-0.25.3/Aws/Ses/Commands/GetIdentityVerificationAttributes.hs+formatted 3b484cb8347e aws-0.25.3/Aws/Ses/Commands/ListIdentities.hs+formatted 147fb92b671d aws-0.25.3/Aws/Ses/Commands/SendRawEmail.hs+formatted c04b0e5d6ba3 aws-0.25.3/Aws/Ses/Commands/SetIdentityDkimEnabled.hs+formatted a32e25c2dc37 aws-0.25.3/Aws/Ses/Commands/SetIdentityFeedbackForwardingEnabled.hs+formatted b262146aced4 aws-0.25.3/Aws/Ses/Commands/SetIdentityNotificationTopic.hs+formatted 2ef608635aeb aws-0.25.3/Aws/Ses/Commands/VerifyDomainDkim.hs+formatted ffb19c08b235 aws-0.25.3/Aws/Ses/Commands/VerifyDomainIdentity.hs+formatted de43062d4755 aws-0.25.3/Aws/Ses/Commands/VerifyEmailIdentity.hs+formatted a8b78f720f02 aws-0.25.3/Aws/Ses/Core.hs+formatted 4115c76b6f3d aws-0.25.3/Aws/SimpleDb.hs+formatted 0b6040677d6d aws-0.25.3/Aws/SimpleDb/Commands.hs+formatted 30e4762ca046 aws-0.25.3/Aws/SimpleDb/Commands/Attributes.hs+formatted 66e68309ec36 aws-0.25.3/Aws/SimpleDb/Commands/Domain.hs+formatted d6accda5efc3 aws-0.25.3/Aws/SimpleDb/Commands/Select.hs+formatted 75d5726cf334 aws-0.25.3/Aws/SimpleDb/Core.hs+formatted 412e7ea774c8 aws-0.25.3/Aws/Sqs.hs+formatted 346f822a2760 aws-0.25.3/Aws/Sqs/Commands.hs+formatted a5744e9dccb8 aws-0.25.3/Aws/Sqs/Commands/Message.hs+formatted cf945609c0a3 aws-0.25.3/Aws/Sqs/Commands/Permission.hs+formatted a63871aa35df aws-0.25.3/Aws/Sqs/Commands/Queue.hs+formatted 6fbdfbc403cf aws-0.25.3/Aws/Sqs/Commands/QueueAttributes.hs+formatted ffc8850066c4 aws-0.25.3/Aws/Sqs/Core.hs+formatted edf61ab9d90d aws-0.25.3/Examples/DynamoDb.hs+formatted aa1fdefebee6 aws-0.25.3/Examples/GetObject.hs+formatted 6a4e3eea6653 aws-0.25.3/Examples/GetObjectGoogle.hs+formatted 94c0a4242cce aws-0.25.3/Examples/GetObjectV4.hs+formatted 5762e0f1fddf aws-0.25.3/Examples/MultipartTransfer.hs+formatted c09c03a39390 aws-0.25.3/Examples/MultipartUpload.hs+formatted f8163e1e4473 aws-0.25.3/Examples/NukeBucket.hs+formatted 34698069cedb aws-0.25.3/Examples/PutBucketNearLine.hs+formatted 9ad36fcdaae7 aws-0.25.3/Examples/SimpleDb.hs+formatted c31e8b7adbf5 aws-0.25.3/Examples/Sqs.hs+formatted e865ae48f11b aws-0.25.3/Setup.hs+formatted 354bb309a68c aws-0.25.3/tests/DynamoDb/Main.hs+formatted 75daea597c6a aws-0.25.3/tests/DynamoDb/Utils.hs+formatted 5886bbdd46c9 aws-0.25.3/tests/S3/Main.hs+formatted 44336eea1e26 aws-0.25.3/tests/Sqs/Main.hs+formatted 001f1d1eb163 aws-0.25.3/tests/Utils.hs+formatted b1dc0288cc34 base64-bytestring-1.2.1.0/Data/ByteString/Base64.hs+formatted 8d1de483b9c4 base64-bytestring-1.2.1.0/Data/ByteString/Base64/Internal.hs+formatted dae9abac8bd0 base64-bytestring-1.2.1.0/Data/ByteString/Base64/Lazy.hs+formatted 3a5cbd3642e2 base64-bytestring-1.2.1.0/Data/ByteString/Base64/URL.hs+formatted 0d8bf6b77f56 base64-bytestring-1.2.1.0/Data/ByteString/Base64/URL/Lazy.hs+formatted e865ae48f11b base64-bytestring-1.2.1.0/Setup.hs+formatted 0328dc0c3c7c base64-bytestring-1.2.1.0/benchmarks/BM.hs+formatted e856b328c01f base64-bytestring-1.2.1.0/tests/Tests.hs+formatted d41a83550f57 base64-bytestring-1.2.1.0/utils/Transcode.hs+formatted f732441f45ac bifunctors-5.6.3/src/Data/Biapplicative.hs+formatted 463448893cde bifunctors-5.6.3/src/Data/Bifunctor/Biap.hs+formatted 9705f6a45db6 bifunctors-5.6.3/src/Data/Bifunctor/Biff.hs+formatted 738f47d063bd bifunctors-5.6.3/src/Data/Bifunctor/Clown.hs+formatted 6d43dacbcc13 bifunctors-5.6.3/src/Data/Bifunctor/Fix.hs+formatted a1ca106ac715 bifunctors-5.6.3/src/Data/Bifunctor/Flip.hs+formatted 3ac44f1c96ed bifunctors-5.6.3/src/Data/Bifunctor/Functor.hs+formatted 33b8fe550adc bifunctors-5.6.3/src/Data/Bifunctor/Join.hs+formatted bc37198ad9bd bifunctors-5.6.3/src/Data/Bifunctor/Joker.hs+formatted d60de274f1df bifunctors-5.6.3/src/Data/Bifunctor/Product.hs+formatted a4989781f0a5 bifunctors-5.6.3/src/Data/Bifunctor/Sum.hs+formatted 8ecbbdb05494 bifunctors-5.6.3/src/Data/Bifunctor/TH.hs+formatted 8a200a94a208 bifunctors-5.6.3/src/Data/Bifunctor/TH/Internal.hs+formatted 4a12830ba36a bifunctors-5.6.3/src/Data/Bifunctor/Tannen.hs+formatted 34520394097f bifunctors-5.6.3/src/Data/Bifunctor/Wrapped.hs+formatted de9492bff0dd bifunctors-5.6.3/tests/BifunctorSpec.hs+formatted 2fbd14b119a4 bifunctors-5.6.3/tests/Spec.hs+formatted 6fd640c12d5f bifunctors-5.6.3/tests/T89Spec.hs+formatted e865ae48f11b blaze-html-0.9.2.0/Setup.hs+formatted 59b1e28dc18c blaze-html-0.9.2.0/src/Text/Blaze/Html.hs+formatted 1ceaed7998ed blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/Pretty.hs+formatted a5a8080ce8a3 blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/String.hs+formatted 850270b61be0 blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/Text.hs+formatted 4dbd824fb533 blaze-html-0.9.2.0/src/Text/Blaze/Html/Renderer/Utf8.hs+formatted 5e258befef8e blaze-html-0.9.2.0/src/Text/Blaze/Html4/FrameSet.hs+formatted 5ab115425aed blaze-html-0.9.2.0/src/Text/Blaze/Html4/FrameSet/Attributes.hs+formatted 7517c4bbb05f blaze-html-0.9.2.0/src/Text/Blaze/Html4/Strict.hs+formatted 9a73c54deacd blaze-html-0.9.2.0/src/Text/Blaze/Html4/Strict/Attributes.hs+formatted 9721ce554a4c blaze-html-0.9.2.0/src/Text/Blaze/Html4/Transitional.hs+formatted 75be709205b0 blaze-html-0.9.2.0/src/Text/Blaze/Html4/Transitional/Attributes.hs+formatted b2f0979466af blaze-html-0.9.2.0/src/Text/Blaze/Html5.hs+formatted 3420ac527327 blaze-html-0.9.2.0/src/Text/Blaze/Html5/Attributes.hs+formatted d9f56c685af9 blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/FrameSet.hs+formatted 09a6f96a1be3 blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/FrameSet/Attributes.hs+formatted c7c2fa81d430 blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Strict.hs+formatted 086efaea2971 blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Strict/Attributes.hs+formatted 2946441f3f2e blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Transitional.hs+formatted b29187a6e8d9 blaze-html-0.9.2.0/src/Text/Blaze/XHtml1/Transitional/Attributes.hs+formatted 962f60fb6c39 blaze-html-0.9.2.0/src/Text/Blaze/XHtml5.hs+formatted 27afcac28ac7 blaze-html-0.9.2.0/src/Text/Blaze/XHtml5/Attributes.hs+formatted 6a3eeb3e9d8b blaze-html-0.9.2.0/src/Util/GenerateHtmlCombinators.hs+formatted c350d72adcf6 blaze-html-0.9.2.0/src/Util/Sanitize.hs+formatted 3b0e5b5fbcb0 blaze-html-0.9.2.0/tests/TestSuite.hs+formatted e2943235e42d blaze-html-0.9.2.0/tests/Text/Blaze/Html/Tests.hs+formatted 9dae0554f33d blaze-html-0.9.2.0/tests/Text/Blaze/Html/Tests/Util.hs+formatted c858d7e158e9 blaze-html-0.9.2.0/tests/Util/Tests.hs+formatted e865ae48f11b blaze-markup-0.8.3.0/Setup.hs+formatted ed41f6214fd8 blaze-markup-0.8.3.0/src/Text/Blaze.hs+formatted 441c6539f94e blaze-markup-0.8.3.0/src/Text/Blaze/Internal.hs+formatted 4846f41adc9e blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/Pretty.hs+formatted 2e54745ce84a blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/String.hs+formatted 8bb5a6b40341 blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/Text.hs+formatted 0098c6011b82 blaze-markup-0.8.3.0/src/Text/Blaze/Renderer/Utf8.hs+formatted c7292f26d075 blaze-markup-0.8.3.0/tests/TestSuite.hs+formatted efa997a477e9 blaze-markup-0.8.3.0/tests/Text/Blaze/Tests.hs+formatted e6ac9555645c blaze-markup-0.8.3.0/tests/Text/Blaze/Tests/Util.hs+formatted e865ae48f11b brick-2.13/Setup.hs+formatted 2eb9ed1b5eff brick-2.13/programs/AnimationDemo.hs+formatted 5d807c6bfef9 brick-2.13/programs/AttrDemo.hs+formatted efff9829e309 brick-2.13/programs/BorderDemo.hs+formatted aef958fe74cd brick-2.13/programs/CacheDemo.hs+formatted 095e55ce36f6 brick-2.13/programs/CroppingDemo.hs+formatted 2bd41626b7f1 brick-2.13/programs/CustomEventDemo.hs+formatted 74968af52af2 brick-2.13/programs/CustomKeybindingDemo.hs+formatted 8438ad4ac269 brick-2.13/programs/DialogDemo.hs+formatted 70a751a6fa70 brick-2.13/programs/DynamicBorderDemo.hs+formatted 464ea19b0d91 brick-2.13/programs/EditDemo.hs+formatted 4cce67dc7675 brick-2.13/programs/EditorLineNumbersDemo.hs+formatted cb441c25368f brick-2.13/programs/FileBrowserDemo.hs+formatted f42c468e824d brick-2.13/programs/FillDemo.hs+formatted c4c35fd7ec81 brick-2.13/programs/FormDemo.hs+formatted ccec85b0d210 brick-2.13/programs/HelloWorldDemo.hs+formatted df3c26970095 brick-2.13/programs/LayerDemo.hs+formatted f010e64931de brick-2.13/programs/ListDemo.hs+formatted 72b3c637e7a9 brick-2.13/programs/ListViDemo.hs+formatted 79a27a0bcb66 brick-2.13/programs/MouseDemo.hs+formatted 07bae652c697 brick-2.13/programs/PaddingDemo.hs+formatted 004a2e91363a brick-2.13/programs/ProgressBarDemo.hs+formatted 663c2424c9c5 brick-2.13/programs/ReadmeDemo.hs+formatted ae2bca4be4b6 brick-2.13/programs/SuspendAndResumeDemo.hs+formatted da922e788566 brick-2.13/programs/TableDemo.hs+formatted 4475181f29de brick-2.13/programs/TabularListDemo.hs+formatted b7e39f0a8d19 brick-2.13/programs/TailDemo.hs+formatted 3b76b7057152 brick-2.13/programs/TextWrapDemo.hs+formatted 4539be6276d5 brick-2.13/programs/ThemeDemo.hs+formatted 2c64cf0649ba brick-2.13/programs/ViewportScrollDemo.hs+formatted c72281d04a63 brick-2.13/programs/ViewportScrollbarsDemo.hs+formatted e2bd645f4c8a brick-2.13/programs/VisibilityDemo.hs+formatted 0abc07286e47 brick-2.13/src/Brick.hs+formatted 4fa9b0a82833 brick-2.13/src/Brick/Animation.hs+formatted deb1866c9333 brick-2.13/src/Brick/Animation/Clock.hs+formatted 91b158ee4b8a brick-2.13/src/Brick/AttrMap.hs+formatted 13c109f25eb8 brick-2.13/src/Brick/BChan.hs+formatted 571007a8c984 brick-2.13/src/Brick/BorderMap.hs+formatted 7aa4818185b3 brick-2.13/src/Brick/Focus.hs+formatted 625bef2068d0 brick-2.13/src/Brick/Forms.hs+formatted d6c2a2e1b0a0 brick-2.13/src/Brick/Keybindings.hs+formatted f2e06c7c9f62 brick-2.13/src/Brick/Keybindings/KeyConfig.hs+formatted 0d7739277f36 brick-2.13/src/Brick/Keybindings/KeyDispatcher.hs+formatted 10682f468a33 brick-2.13/src/Brick/Keybindings/KeyEvents.hs+formatted 20d38a2fef1c brick-2.13/src/Brick/Keybindings/Normalize.hs+formatted 422ce68b006b brick-2.13/src/Brick/Keybindings/Parse.hs+formatted 500582ecf6a0 brick-2.13/src/Brick/Keybindings/Pretty.hs+formatted 03d2579eec1e brick-2.13/src/Brick/Main.hs+formatted 74d114b85be0 brick-2.13/src/Brick/Themes.hs+formatted af2489bd5835 brick-2.13/src/Brick/Types.hs+formatted e45b8d9f62c9 brick-2.13/src/Brick/Types/Common.hs+formatted 6c4a2a56a02a brick-2.13/src/Brick/Types/EventM.hs+formatted 680c7fc4c12b brick-2.13/src/Brick/Types/Internal.hs+formatted 81c674829568 brick-2.13/src/Brick/Types/TH.hs+formatted 02b0e53f451c brick-2.13/src/Brick/Util.hs+formatted cba7b18b8f68 brick-2.13/src/Brick/Widgets/Border.hs+formatted 89894b08f498 brick-2.13/src/Brick/Widgets/Border/Style.hs+formatted e3b47970aba1 brick-2.13/src/Brick/Widgets/Center.hs+formatted d864d6f5529c brick-2.13/src/Brick/Widgets/Core.hs+formatted 2da08c79b932 brick-2.13/src/Brick/Widgets/Dialog.hs+formatted c71ef0bf6ec5 brick-2.13/src/Brick/Widgets/Edit.hs+formatted b718a3a76032 brick-2.13/src/Brick/Widgets/FileBrowser.hs+formatted d879be7d89bd brick-2.13/src/Brick/Widgets/Internal.hs+formatted f35028306876 brick-2.13/src/Brick/Widgets/List.hs+formatted 45273510047b brick-2.13/src/Brick/Widgets/ProgressBar.hs+formatted 891b88a55449 brick-2.13/src/Brick/Widgets/Table.hs+formatted 4c3f2bfed619 brick-2.13/src/Data/IMap.hs+formatted 15733bb95234 brick-2.13/tests/List.hs+formatted 2e6ed8d0e976 brick-2.13/tests/Main.hs+formatted 073f01c2462e brick-2.13/tests/Render.hs+formatted e0fa5e2b222c brittany-0.14.0.2/data/Test1.hs+formatted a7fed1125f29 brittany-0.14.0.2/data/Test10.hs+formatted dd2db552d155 brittany-0.14.0.2/data/Test100.hs+formatted 3ebccae4d2bf brittany-0.14.0.2/data/Test101.hs+formatted 000b618097d0 brittany-0.14.0.2/data/Test102.hs+formatted 26845ab84f6a brittany-0.14.0.2/data/Test103.hs+formatted 25cf4c76ed6b brittany-0.14.0.2/data/Test104.hs+formatted bac120fe0092 brittany-0.14.0.2/data/Test105.hs+formatted e29d7ffca93f brittany-0.14.0.2/data/Test106.hs+formatted 0b6e06bf2c23 brittany-0.14.0.2/data/Test107.hs+formatted eda42fe4d65b brittany-0.14.0.2/data/Test108.hs+formatted 9ce1b7bc7832 brittany-0.14.0.2/data/Test109.hs+formatted c7d09069af77 brittany-0.14.0.2/data/Test11.hs+formatted 61661f795457 brittany-0.14.0.2/data/Test110.hs+formatted 37d78f5961ec brittany-0.14.0.2/data/Test111.hs+formatted 1e4bb8275bfb brittany-0.14.0.2/data/Test112.hs+formatted 8cda89e87702 brittany-0.14.0.2/data/Test113.hs+formatted 751bfd56bc69 brittany-0.14.0.2/data/Test114.hs+formatted 5078888fc5d2 brittany-0.14.0.2/data/Test115.hs+formatted 3fdf3b074d25 brittany-0.14.0.2/data/Test116.hs+formatted 15ad0c63e705 brittany-0.14.0.2/data/Test117.hs+formatted 77f7ec9848cd brittany-0.14.0.2/data/Test118.hs+formatted 2a994aca8970 brittany-0.14.0.2/data/Test119.hs+formatted 624becd3f674 brittany-0.14.0.2/data/Test12.hs+formatted 5bbfe94a03d4 brittany-0.14.0.2/data/Test120.hs+formatted 01ac88bcab1a brittany-0.14.0.2/data/Test121.hs+formatted 057f0ce3ffb0 brittany-0.14.0.2/data/Test122.hs+formatted 661f6da49632 brittany-0.14.0.2/data/Test123.hs+formatted fb20151cec71 brittany-0.14.0.2/data/Test124.hs+formatted dd6fcdfeb27c brittany-0.14.0.2/data/Test125.hs+formatted 1b2ef1cfadaa brittany-0.14.0.2/data/Test126.hs+formatted ba626fdd4fa3 brittany-0.14.0.2/data/Test127.hs+formatted bec0f8aa554d brittany-0.14.0.2/data/Test128.hs+formatted f712d9c961eb brittany-0.14.0.2/data/Test129.hs+formatted 79735ec00a3d brittany-0.14.0.2/data/Test13.hs+formatted f808d5477ba7 brittany-0.14.0.2/data/Test130.hs+formatted 2372bf2e1670 brittany-0.14.0.2/data/Test131.hs+formatted c6526aabb3c3 brittany-0.14.0.2/data/Test132.hs+formatted 5287afc100b5 brittany-0.14.0.2/data/Test133.hs+formatted cbf28cc3de46 brittany-0.14.0.2/data/Test134.hs+formatted e9f15a2df4fd brittany-0.14.0.2/data/Test135.hs+formatted d40ccadec39d brittany-0.14.0.2/data/Test136.hs+formatted e8b4564e3bfa brittany-0.14.0.2/data/Test137.hs+formatted ddbd7b880898 brittany-0.14.0.2/data/Test138.hs+formatted 4ce9b0b36ac2 brittany-0.14.0.2/data/Test139.hs+formatted bb31ea72e15c brittany-0.14.0.2/data/Test14.hs+formatted f04daeaa79e9 brittany-0.14.0.2/data/Test140.hs+formatted 3f2c0367c6f9 brittany-0.14.0.2/data/Test141.hs+formatted edb875329172 brittany-0.14.0.2/data/Test142.hs+formatted fa53ce7f455d brittany-0.14.0.2/data/Test143.hs+formatted 1c5e166b5b3c brittany-0.14.0.2/data/Test144.hs+formatted 412dc562e63e brittany-0.14.0.2/data/Test145.hs+formatted 6594ac0ac89d brittany-0.14.0.2/data/Test146.hs+formatted 0132945dc887 brittany-0.14.0.2/data/Test147.hs+formatted 0277bb5ca795 brittany-0.14.0.2/data/Test148.hs+formatted cbbb9e8ddafa brittany-0.14.0.2/data/Test149.hs+formatted 9db344b52a25 brittany-0.14.0.2/data/Test15.hs+formatted d29a46b01b30 brittany-0.14.0.2/data/Test150.hs+formatted d4d803460298 brittany-0.14.0.2/data/Test151.hs+formatted a36d7b2912f5 brittany-0.14.0.2/data/Test152.hs+formatted ea0b611491be brittany-0.14.0.2/data/Test153.hs+formatted 6607ab7d8924 brittany-0.14.0.2/data/Test154.hs+formatted 66cbd556135d brittany-0.14.0.2/data/Test155.hs+formatted 129e56afdeb6 brittany-0.14.0.2/data/Test156.hs+formatted 57f3fe7514c4 brittany-0.14.0.2/data/Test157.hs+formatted 46b61e3c8952 brittany-0.14.0.2/data/Test158.hs+formatted d8fde995e15b brittany-0.14.0.2/data/Test159.hs+formatted b65a3702395c brittany-0.14.0.2/data/Test16.hs+formatted 424434aeac60 brittany-0.14.0.2/data/Test160.hs+formatted 756b8d709d75 brittany-0.14.0.2/data/Test161.hs+formatted fb931ccfd1e4 brittany-0.14.0.2/data/Test162.hs+formatted 85db961eab6d brittany-0.14.0.2/data/Test163.hs+formatted 7c1bca51eb76 brittany-0.14.0.2/data/Test164.hs+formatted 1d7b340799de brittany-0.14.0.2/data/Test165.hs+formatted 660e2a8d17c4 brittany-0.14.0.2/data/Test166.hs+formatted 9034e094d375 brittany-0.14.0.2/data/Test167.hs+formatted d8056c8b2928 brittany-0.14.0.2/data/Test168.hs+formatted cd8fce2bda23 brittany-0.14.0.2/data/Test169.hs+formatted bce8e4d3c9ba brittany-0.14.0.2/data/Test17.hs+formatted b9c1ba677274 brittany-0.14.0.2/data/Test170.hs+formatted 0e3393c84d9e brittany-0.14.0.2/data/Test171.hs+formatted afe61a6d3b7e brittany-0.14.0.2/data/Test172.hs+formatted c651a0d78d61 brittany-0.14.0.2/data/Test173.hs+formatted 893e9047ccc9 brittany-0.14.0.2/data/Test174.hs+formatted 44a807f3c420 brittany-0.14.0.2/data/Test175.hs+formatted ceb23c285e78 brittany-0.14.0.2/data/Test176.hs+formatted 2cc15cb26130 brittany-0.14.0.2/data/Test177.hs+formatted 47771349ee44 brittany-0.14.0.2/data/Test178.hs+formatted fe3c3245408d brittany-0.14.0.2/data/Test179.hs+formatted 674dab4fdbcb brittany-0.14.0.2/data/Test18.hs+formatted c68cfb31f575 brittany-0.14.0.2/data/Test180.hs+formatted e6325e11af38 brittany-0.14.0.2/data/Test181.hs+formatted 42d9bc7fc2ce brittany-0.14.0.2/data/Test182.hs+formatted a1e86d78ee32 brittany-0.14.0.2/data/Test183.hs+formatted 88ddfc17a44e brittany-0.14.0.2/data/Test184.hs+formatted f6c7f8ad0585 brittany-0.14.0.2/data/Test185.hs+formatted 5016aa65eeae brittany-0.14.0.2/data/Test186.hs+formatted 1f6812c3d99f brittany-0.14.0.2/data/Test187.hs+formatted a063a95ec0b5 brittany-0.14.0.2/data/Test188.hs+formatted 67c40f7b42e6 brittany-0.14.0.2/data/Test189.hs+formatted 1b68494e9013 brittany-0.14.0.2/data/Test19.hs+formatted 96f1ef06a2f4 brittany-0.14.0.2/data/Test190.hs+formatted a063a95ec0b5 brittany-0.14.0.2/data/Test191.hs+formatted dc32174d8f9d brittany-0.14.0.2/data/Test192.hs+formatted b35395abfd05 brittany-0.14.0.2/data/Test193.hs+formatted 4d5ddfd8aaab brittany-0.14.0.2/data/Test194.hs+formatted 8bb98e83f59e brittany-0.14.0.2/data/Test195.hs+formatted 45232601b2c3 brittany-0.14.0.2/data/Test196.hs+formatted bdc233fea9ba brittany-0.14.0.2/data/Test197.hs+formatted 9ce65738e093 brittany-0.14.0.2/data/Test198.hs+formatted eec0cab9f980 brittany-0.14.0.2/data/Test199.hs+formatted 31b2046f8a67 brittany-0.14.0.2/data/Test2.hs+formatted a7a0e1c03060 brittany-0.14.0.2/data/Test20.hs+formatted d2a7653b9ba4 brittany-0.14.0.2/data/Test200.hs+formatted 585cd696f310 brittany-0.14.0.2/data/Test201.hs+formatted 8bba3630cd88 brittany-0.14.0.2/data/Test202.hs+formatted bad4c6d83d4f brittany-0.14.0.2/data/Test203.hs+formatted 4ce40055a31c brittany-0.14.0.2/data/Test204.hs+formatted be6b7a8883f5 brittany-0.14.0.2/data/Test205.hs+formatted 8e7d7929e338 brittany-0.14.0.2/data/Test206.hs+formatted 3e6a91618060 brittany-0.14.0.2/data/Test207.hs+formatted 59f9efb3349d brittany-0.14.0.2/data/Test208.hs+formatted 79081f0fe37d brittany-0.14.0.2/data/Test209.hs+formatted b383b15d82f0 brittany-0.14.0.2/data/Test21.hs+formatted 4f8c82f9b51b brittany-0.14.0.2/data/Test210.hs+formatted 210d2b918c18 brittany-0.14.0.2/data/Test211.hs+formatted d8fb0486ae8c brittany-0.14.0.2/data/Test212.hs+formatted e75e1dd08970 brittany-0.14.0.2/data/Test213.hs+formatted 43a86c48e3e0 brittany-0.14.0.2/data/Test214.hs+formatted ccd8170ddd1c brittany-0.14.0.2/data/Test215.hs+formatted d9d08f97d6ce brittany-0.14.0.2/data/Test216.hs+formatted ee242f311cec brittany-0.14.0.2/data/Test217.hs+formatted 2c1a4f8388c7 brittany-0.14.0.2/data/Test218.hs+formatted 77521cf0255b brittany-0.14.0.2/data/Test219.hs+formatted df6920225c3e brittany-0.14.0.2/data/Test22.hs+formatted 6912b515f3d4 brittany-0.14.0.2/data/Test220.hs+formatted 7e87f164cb90 brittany-0.14.0.2/data/Test221.hs+formatted d7e0783e5c83 brittany-0.14.0.2/data/Test222.hs+formatted ac59786a0059 brittany-0.14.0.2/data/Test223.hs+formatted f4b2c131b776 brittany-0.14.0.2/data/Test224.hs+formatted fc2a39383602 brittany-0.14.0.2/data/Test225.hs+formatted 0a2523228f93 brittany-0.14.0.2/data/Test226.hs+formatted 228fee2942c2 brittany-0.14.0.2/data/Test227.hs+formatted 911d30954d07 brittany-0.14.0.2/data/Test228.hs+formatted 2f660f4ac662 brittany-0.14.0.2/data/Test229.hs+formatted fbc349a18ac2 brittany-0.14.0.2/data/Test23.hs+formatted a7a3d4cdb042 brittany-0.14.0.2/data/Test230.hs+formatted 8213e25c0010 brittany-0.14.0.2/data/Test231.hs+formatted cf2c7ac7b851 brittany-0.14.0.2/data/Test232.hs+formatted 60e66feea926 brittany-0.14.0.2/data/Test233.hs+formatted b6113299b5da brittany-0.14.0.2/data/Test234.hs+formatted 661c1fe894fb brittany-0.14.0.2/data/Test235.hs+formatted 57f09569ac82 brittany-0.14.0.2/data/Test236.hs+formatted 0dfd55915ad3 brittany-0.14.0.2/data/Test237.hs+formatted 4bc18bfc8664 brittany-0.14.0.2/data/Test238.hs+formatted f1066c5f9396 brittany-0.14.0.2/data/Test239.hs+formatted d0c0b62e11ea brittany-0.14.0.2/data/Test24.hs+formatted a51ff778ca0c brittany-0.14.0.2/data/Test240.hs+formatted 6f66ff6e7884 brittany-0.14.0.2/data/Test241.hs+formatted 7526d4749124 brittany-0.14.0.2/data/Test242.hs+formatted d600bfded86f brittany-0.14.0.2/data/Test243.hs+formatted 19618fd51fab brittany-0.14.0.2/data/Test244.hs+formatted 03cd50abedcb brittany-0.14.0.2/data/Test245.hs+formatted 676a58886eb0 brittany-0.14.0.2/data/Test246.hs+formatted 86d72bb559bc brittany-0.14.0.2/data/Test247.hs+formatted 15d8e562989b brittany-0.14.0.2/data/Test248.hs+formatted 95a821921e97 brittany-0.14.0.2/data/Test249.hs+formatted 372e384be5d9 brittany-0.14.0.2/data/Test25.hs+formatted c8b79c319e1b brittany-0.14.0.2/data/Test250.hs+formatted 9e983a1c88d0 brittany-0.14.0.2/data/Test251.hs+formatted e25fa77a311d brittany-0.14.0.2/data/Test252.hs+formatted 2abc462210d7 brittany-0.14.0.2/data/Test253.hs+formatted 3dab93bb6c11 brittany-0.14.0.2/data/Test254.hs+formatted ded4f913ac25 brittany-0.14.0.2/data/Test255.hs+formatted 7072c13a95c7 brittany-0.14.0.2/data/Test256.hs+formatted f79f249e0890 brittany-0.14.0.2/data/Test257.hs+formatted a9cbb8a905a0 brittany-0.14.0.2/data/Test258.hs+formatted 7c0c18756066 brittany-0.14.0.2/data/Test259.hs+formatted a9993e322f84 brittany-0.14.0.2/data/Test26.hs+formatted bd4ad74e5ad1 brittany-0.14.0.2/data/Test260.hs+formatted 40147eb0ec0f brittany-0.14.0.2/data/Test261.hs+formatted 3821b5d35161 brittany-0.14.0.2/data/Test262.hs+formatted fd9a1453387e brittany-0.14.0.2/data/Test263.hs+formatted b7281c5fb795 brittany-0.14.0.2/data/Test264.hs+formatted d815db72d171 brittany-0.14.0.2/data/Test265.hs+formatted e1e74708d396 brittany-0.14.0.2/data/Test266.hs+formatted 7a35a02bb934 brittany-0.14.0.2/data/Test267.hs+formatted 0ca543b36b5d brittany-0.14.0.2/data/Test268.hs+formatted 93850bc1adc9 brittany-0.14.0.2/data/Test269.hs+formatted b82004f9b520 brittany-0.14.0.2/data/Test27.hs+formatted 0465690dd788 brittany-0.14.0.2/data/Test270.hs+formatted 8da0ed8508b1 brittany-0.14.0.2/data/Test271.hs+formatted 059cb60e3ffb brittany-0.14.0.2/data/Test272.hs+formatted ce7c5a9f7346 brittany-0.14.0.2/data/Test273.hs+formatted cf3d3b9f17a4 brittany-0.14.0.2/data/Test274.hs+formatted af0ca8a4b396 brittany-0.14.0.2/data/Test275.hs+formatted f54d68eb932d brittany-0.14.0.2/data/Test276.hs+formatted 5280a70aa08d brittany-0.14.0.2/data/Test277.hs+formatted 42b39ee183e6 brittany-0.14.0.2/data/Test278.hs+formatted 9a6ca39add52 brittany-0.14.0.2/data/Test279.hs+formatted 35c64cf444f0 brittany-0.14.0.2/data/Test28.hs+formatted 2c62cf845c15 brittany-0.14.0.2/data/Test280.hs+formatted 6582acde6803 brittany-0.14.0.2/data/Test281.hs+formatted d69c5a291173 brittany-0.14.0.2/data/Test282.hs+formatted dad1fa89cc7b brittany-0.14.0.2/data/Test283.hs+formatted 61ba8c0a1014 brittany-0.14.0.2/data/Test284.hs+formatted dc5e12a45407 brittany-0.14.0.2/data/Test285.hs+formatted dc5e12a45407 brittany-0.14.0.2/data/Test286.hs+formatted e73001f7bfd5 brittany-0.14.0.2/data/Test287.hs+formatted 3fdaf4d18a7c brittany-0.14.0.2/data/Test288.hs+formatted 8472b4d5d119 brittany-0.14.0.2/data/Test289.hs+formatted 4b4297a0f4c5 brittany-0.14.0.2/data/Test29.hs+formatted af881940fba6 brittany-0.14.0.2/data/Test290.hs+formatted 6b8b53cb8029 brittany-0.14.0.2/data/Test291.hs+formatted afd400f5f5ca brittany-0.14.0.2/data/Test292.hs+formatted dbd53f969525 brittany-0.14.0.2/data/Test293.hs+formatted 8e4e40c43066 brittany-0.14.0.2/data/Test294.hs+formatted 5378d8225be8 brittany-0.14.0.2/data/Test295.hs+formatted efa089fba7ce brittany-0.14.0.2/data/Test296.hs+formatted f2528253489c brittany-0.14.0.2/data/Test297.hs+formatted a71313de7a74 brittany-0.14.0.2/data/Test298.hs+formatted 9c7a3513d329 brittany-0.14.0.2/data/Test299.hs+formatted e430aa9e3dac brittany-0.14.0.2/data/Test3.hs+formatted b786e0a045c4 brittany-0.14.0.2/data/Test30.hs+formatted 82411c11ab17 brittany-0.14.0.2/data/Test300.hs+formatted 6578a96b238b brittany-0.14.0.2/data/Test301.hs+formatted 8cee95f91f47 brittany-0.14.0.2/data/Test302.hs+formatted 01d16f13bc99 brittany-0.14.0.2/data/Test303.hs+formatted 2f37bef49ce1 brittany-0.14.0.2/data/Test304.hs+formatted 9d3e8b7bf639 brittany-0.14.0.2/data/Test305.hs+formatted 20c63b9ecba6 brittany-0.14.0.2/data/Test306.hs+formatted 348106878578 brittany-0.14.0.2/data/Test307.hs+formatted 017f020a856d brittany-0.14.0.2/data/Test308.hs+formatted 980708cbb4c4 brittany-0.14.0.2/data/Test309.hs+formatted b7f73c7d2a34 brittany-0.14.0.2/data/Test31.hs+formatted 3c2cc10d169b brittany-0.14.0.2/data/Test310.hs+formatted 66fcc75686ea brittany-0.14.0.2/data/Test311.hs+formatted 611a32da9261 brittany-0.14.0.2/data/Test312.hs+formatted e63f0b07266f brittany-0.14.0.2/data/Test313.hs+formatted 1801f39045ac brittany-0.14.0.2/data/Test314.hs+formatted 3e5aa0cbbf8d brittany-0.14.0.2/data/Test315.hs+formatted 77220193f4fd brittany-0.14.0.2/data/Test316.hs+formatted 681c70c26bdd brittany-0.14.0.2/data/Test317.hs+formatted c9b19f55338f brittany-0.14.0.2/data/Test318.hs+formatted fa83330d01a6 brittany-0.14.0.2/data/Test319.hs+formatted 310b7bac3014 brittany-0.14.0.2/data/Test32.hs+formatted d911bbdfeb7f brittany-0.14.0.2/data/Test320.hs+formatted 1275e28eeb82 brittany-0.14.0.2/data/Test321.hs+formatted d51414b5c108 brittany-0.14.0.2/data/Test322.hs+formatted e318ac8aa564 brittany-0.14.0.2/data/Test323.hs+formatted f018e148e8d5 brittany-0.14.0.2/data/Test324.hs+formatted 1d0af944da7b brittany-0.14.0.2/data/Test325.hs+formatted 5798a680c21f brittany-0.14.0.2/data/Test326.hs+formatted 023057e5ea2c brittany-0.14.0.2/data/Test327.hs+formatted 2341d88441d5 brittany-0.14.0.2/data/Test328.hs+formatted 947d63282515 brittany-0.14.0.2/data/Test329.hs+formatted 786cf111bdad brittany-0.14.0.2/data/Test33.hs+formatted 9dd64349f3ea brittany-0.14.0.2/data/Test330.hs+formatted 15292e5353c7 brittany-0.14.0.2/data/Test331.hs+formatted 909ea0b219f8 brittany-0.14.0.2/data/Test332.hs+formatted 2ad0ebe6ebb0 brittany-0.14.0.2/data/Test333.hs+formatted 9b7204f946d7 brittany-0.14.0.2/data/Test334.hs+formatted 10c6d64e6811 brittany-0.14.0.2/data/Test335.hs+formatted b2addef5d712 brittany-0.14.0.2/data/Test336.hs+formatted 571c3cac2376 brittany-0.14.0.2/data/Test337.hs+formatted 7ab714dc2fd3 brittany-0.14.0.2/data/Test338.hs+formatted 0b6993151fe2 brittany-0.14.0.2/data/Test339.hs+formatted 7056ebf6bcea brittany-0.14.0.2/data/Test34.hs+formatted aed8c9d9f03b brittany-0.14.0.2/data/Test340.hs+formatted c93ad9724528 brittany-0.14.0.2/data/Test341.hs+formatted 1a162378043c brittany-0.14.0.2/data/Test342.hs+formatted 237c79a35514 brittany-0.14.0.2/data/Test343.hs+formatted 5af677fa0a9b brittany-0.14.0.2/data/Test344.hs+formatted abe1b659b346 brittany-0.14.0.2/data/Test345.hs+formatted 3c1f80fba7f5 brittany-0.14.0.2/data/Test346.hs+formatted 7f12720f2600 brittany-0.14.0.2/data/Test347.hs+formatted 264cc0e7cf96 brittany-0.14.0.2/data/Test348.hs+formatted 03a3efa0a75e brittany-0.14.0.2/data/Test349.hs+formatted b7f73c7d2a34 brittany-0.14.0.2/data/Test35.hs+formatted 726069a13358 brittany-0.14.0.2/data/Test350.hs+formatted a50f8646bfb1 brittany-0.14.0.2/data/Test351.hs+formatted 849dab5ec39d brittany-0.14.0.2/data/Test352.hs+formatted baedf91b8ccd brittany-0.14.0.2/data/Test353.hs+formatted fcae903dc453 brittany-0.14.0.2/data/Test354.hs+formatted 2637fe2659d5 brittany-0.14.0.2/data/Test355.hs+formatted 65798192c40d brittany-0.14.0.2/data/Test356.hs+formatted 2cdb94cbf551 brittany-0.14.0.2/data/Test357.hs+formatted 501e5f69073e brittany-0.14.0.2/data/Test358.hs+formatted 86bec0344083 brittany-0.14.0.2/data/Test359.hs+formatted 987603d032ac brittany-0.14.0.2/data/Test36.hs+formatted 15308dc2dd01 brittany-0.14.0.2/data/Test360.hs+formatted 0b2ad491920b brittany-0.14.0.2/data/Test361.hs+formatted d9da88c7cdef brittany-0.14.0.2/data/Test362.hs+formatted d9831cd6816b brittany-0.14.0.2/data/Test363.hs+formatted 1ae4a98bcc4a brittany-0.14.0.2/data/Test364.hs+formatted ce4109a16e55 brittany-0.14.0.2/data/Test365.hs+formatted d16eae4aad20 brittany-0.14.0.2/data/Test366.hs+formatted b07954dfc9bf brittany-0.14.0.2/data/Test367.hs+formatted 45eeef287ee4 brittany-0.14.0.2/data/Test368.hs+formatted e61e587a6843 brittany-0.14.0.2/data/Test369.hs+formatted f500b3d5f559 brittany-0.14.0.2/data/Test37.hs+formatted 08718fefbaf6 brittany-0.14.0.2/data/Test370.hs+formatted 2fc71603e098 brittany-0.14.0.2/data/Test371.hs+formatted 34177b9d84e3 brittany-0.14.0.2/data/Test372.hs+formatted 5fa71c232724 brittany-0.14.0.2/data/Test373.hs+formatted f5fca966196b brittany-0.14.0.2/data/Test374.hs+formatted a4d64bf7587b brittany-0.14.0.2/data/Test375.hs+formatted 14e2ed1f0f63 brittany-0.14.0.2/data/Test376.hs+formatted f5a4e0c1e34f brittany-0.14.0.2/data/Test377.hs+formatted bddefc49765b brittany-0.14.0.2/data/Test378.hs+formatted ea19c516bcbf brittany-0.14.0.2/data/Test379.hs+formatted 7335e7ca5bd3 brittany-0.14.0.2/data/Test38.hs+formatted d2ee555751f5 brittany-0.14.0.2/data/Test380.hs+formatted 3823e3c2d919 brittany-0.14.0.2/data/Test381.hs+formatted 80271da1e835 brittany-0.14.0.2/data/Test382.hs+formatted ed5f4e8c4709 brittany-0.14.0.2/data/Test383.hs+formatted d4963535df46 brittany-0.14.0.2/data/Test384.hs+formatted 6ced47de66db brittany-0.14.0.2/data/Test385.hs+formatted 1570d72029b7 brittany-0.14.0.2/data/Test386.hs+formatted 1416aa178cdb brittany-0.14.0.2/data/Test387.hs+formatted edfafa8fb3e5 brittany-0.14.0.2/data/Test388.hs+formatted 4e122b4b2697 brittany-0.14.0.2/data/Test389.hs+formatted 6c58063d3fab brittany-0.14.0.2/data/Test39.hs+formatted fac1b1c7f0c1 brittany-0.14.0.2/data/Test390.hs+formatted edfafa8fb3e5 brittany-0.14.0.2/data/Test391.hs+formatted b0d3ee7240ad brittany-0.14.0.2/data/Test392.hs+formatted 3742d5df31d3 brittany-0.14.0.2/data/Test393.hs+formatted 28dd7a32aa13 brittany-0.14.0.2/data/Test394.hs+formatted 91de5c22d799 brittany-0.14.0.2/data/Test395.hs+formatted 15521d568177 brittany-0.14.0.2/data/Test396.hs+formatted bc632756e066 brittany-0.14.0.2/data/Test397.hs+formatted fc2de0dfca48 brittany-0.14.0.2/data/Test398.hs+formatted 8294327ebf8b brittany-0.14.0.2/data/Test399.hs+formatted c3cdd2cbcecc brittany-0.14.0.2/data/Test4.hs+formatted c8a00284c5f4 brittany-0.14.0.2/data/Test40.hs+formatted e55074dcd689 brittany-0.14.0.2/data/Test400.hs+formatted 4da9e5870180 brittany-0.14.0.2/data/Test401.hs+formatted 74396290a673 brittany-0.14.0.2/data/Test402.hs+formatted d2fafd899e89 brittany-0.14.0.2/data/Test403.hs+formatted dede30d772d6 brittany-0.14.0.2/data/Test404.hs+formatted 899e8af490d3 brittany-0.14.0.2/data/Test405.hs+formatted 6a318c357310 brittany-0.14.0.2/data/Test406.hs+formatted 183f062112e1 brittany-0.14.0.2/data/Test407.hs+formatted 55c58dc8cf59 brittany-0.14.0.2/data/Test408.hs+formatted a04dc9525882 brittany-0.14.0.2/data/Test409.hs+formatted cdc2db1c8449 brittany-0.14.0.2/data/Test41.hs+formatted a59bda637fa1 brittany-0.14.0.2/data/Test410.hs+formatted c65e5f1f3ba5 brittany-0.14.0.2/data/Test411.hs+formatted 462efbd02872 brittany-0.14.0.2/data/Test412.hs+formatted 4fc4ab30dcc3 brittany-0.14.0.2/data/Test413.hs+formatted d9eab58246aa brittany-0.14.0.2/data/Test414.hs+formatted 3d11263d426e brittany-0.14.0.2/data/Test415.hs+formatted dbbe7b5f2b24 brittany-0.14.0.2/data/Test416.hs+formatted 099959230be5 brittany-0.14.0.2/data/Test417.hs+formatted 056c3c85e1ce brittany-0.14.0.2/data/Test418.hs+formatted bd3660de0717 brittany-0.14.0.2/data/Test419.hs+formatted e3f087db5440 brittany-0.14.0.2/data/Test42.hs+formatted 821fd8910ac5 brittany-0.14.0.2/data/Test420.hs+formatted d9b47c23fec6 brittany-0.14.0.2/data/Test421.hs+formatted 15fe8b3f5a9e brittany-0.14.0.2/data/Test422.hs+formatted cafda87f90a6 brittany-0.14.0.2/data/Test423.hs+formatted 7fa298da41f9 brittany-0.14.0.2/data/Test424.hs+formatted acddf7b49624 brittany-0.14.0.2/data/Test425.hs+formatted 84cfb756f2f4 brittany-0.14.0.2/data/Test426.hs+formatted 33c641a7a072 brittany-0.14.0.2/data/Test427.hs+formatted 19772ef1090c brittany-0.14.0.2/data/Test428.hs+formatted 07a30e1c142f brittany-0.14.0.2/data/Test429.hs+formatted 6aa1c5a0086b brittany-0.14.0.2/data/Test43.hs+formatted f5d76f5634f5 brittany-0.14.0.2/data/Test430.hs+formatted 9aae587a1706 brittany-0.14.0.2/data/Test431.hs+formatted cab5eb48ea87 brittany-0.14.0.2/data/Test432.hs+formatted 035c19e15e23 brittany-0.14.0.2/data/Test433.hs+formatted 54c8c833912d brittany-0.14.0.2/data/Test434.hs+formatted 4b85517ecc64 brittany-0.14.0.2/data/Test435.hs+formatted ab4c449d67c6 brittany-0.14.0.2/data/Test436.hs+formatted 9e0a9c4de4a7 brittany-0.14.0.2/data/Test437.hs+formatted 22f3bbfaab9e brittany-0.14.0.2/data/Test438.hs+formatted 27ee3c3a9f1d brittany-0.14.0.2/data/Test439.hs+formatted 2369814e00a3 brittany-0.14.0.2/data/Test44.hs+formatted f114f80afa88 brittany-0.14.0.2/data/Test440.hs+formatted 91959f72bf42 brittany-0.14.0.2/data/Test441.hs+formatted e100c133e0a6 brittany-0.14.0.2/data/Test442.hs+formatted a447fa310286 brittany-0.14.0.2/data/Test443.hs+formatted afb74691ba25 brittany-0.14.0.2/data/Test444.hs+formatted b04dcb13770d brittany-0.14.0.2/data/Test445.hs+formatted 005984004c81 brittany-0.14.0.2/data/Test446.hs+formatted 519cfd48a90e brittany-0.14.0.2/data/Test447.hs+formatted 245fb4545054 brittany-0.14.0.2/data/Test448.hs+formatted 036f126597a1 brittany-0.14.0.2/data/Test449.hs+formatted 914e8892ce9f brittany-0.14.0.2/data/Test45.hs+formatted dfae62440755 brittany-0.14.0.2/data/Test450.hs+formatted 3d8e022d4ea8 brittany-0.14.0.2/data/Test451.hs+formatted 204a8f956d01 brittany-0.14.0.2/data/Test452.hs+formatted 3ae152eef9f8 brittany-0.14.0.2/data/Test453.hs+formatted dd5c2ba000d9 brittany-0.14.0.2/data/Test454.hs+formatted 255bf40fcf81 brittany-0.14.0.2/data/Test455.hs+formatted 186aedf45b55 brittany-0.14.0.2/data/Test456.hs+formatted 00342a85f4ce brittany-0.14.0.2/data/Test457.hs+formatted 4d9ccb4d6155 brittany-0.14.0.2/data/Test458.hs+formatted 33f453ac627f brittany-0.14.0.2/data/Test459.hs+formatted 65a9efd49258 brittany-0.14.0.2/data/Test46.hs+formatted dbfa4f771264 brittany-0.14.0.2/data/Test460.hs+formatted 75bf53838e5c brittany-0.14.0.2/data/Test461.hs+formatted 5fde28db6063 brittany-0.14.0.2/data/Test462.hs+formatted ff5bcd3737f2 brittany-0.14.0.2/data/Test463.hs+formatted e30c0ff394dd brittany-0.14.0.2/data/Test464.hs+formatted 82f7c7fb716e brittany-0.14.0.2/data/Test465.hs+formatted f59579bd97ca brittany-0.14.0.2/data/Test466.hs+formatted 5909971846f9 brittany-0.14.0.2/data/Test467.hs+formatted fe8bf0d3f053 brittany-0.14.0.2/data/Test468.hs+formatted 79dd70b7320f brittany-0.14.0.2/data/Test469.hs+formatted 1983a10a25f3 brittany-0.14.0.2/data/Test47.hs+formatted 271132ce279b brittany-0.14.0.2/data/Test470.hs+formatted 14a056182567 brittany-0.14.0.2/data/Test471.hs+formatted cbe652ef0cbb brittany-0.14.0.2/data/Test472.hs+formatted 3bf39beb5bf7 brittany-0.14.0.2/data/Test473.hs+formatted ac6e5e3c9b28 brittany-0.14.0.2/data/Test474.hs+formatted 7752938de9c6 brittany-0.14.0.2/data/Test475.hs+formatted 31b24587972c brittany-0.14.0.2/data/Test476.hs+formatted a87acb3bdeb3 brittany-0.14.0.2/data/Test477.hs+formatted d489d082ed14 brittany-0.14.0.2/data/Test478.hs+formatted c97e29860d3d brittany-0.14.0.2/data/Test479.hs+formatted 00909af2b184 brittany-0.14.0.2/data/Test48.hs+formatted 0150b83ded52 brittany-0.14.0.2/data/Test480.hs+formatted 9fd1038ae87c brittany-0.14.0.2/data/Test481.hs+formatted 99e73c09fd8f brittany-0.14.0.2/data/Test482.hs+formatted b6e0c157ec82 brittany-0.14.0.2/data/Test483.hs+formatted 5308cabef2dd brittany-0.14.0.2/data/Test484.hs+formatted 3b0850dd8d8d brittany-0.14.0.2/data/Test485.hs+formatted 81a1be9769d4 brittany-0.14.0.2/data/Test486.hs+formatted e28b3f6dc92a brittany-0.14.0.2/data/Test487.hs+formatted 96c5f577a246 brittany-0.14.0.2/data/Test488.hs+formatted 3455b362a4d8 brittany-0.14.0.2/data/Test489.hs+formatted 379cdfc91569 brittany-0.14.0.2/data/Test49.hs+formatted d2c2b5b45546 brittany-0.14.0.2/data/Test490.hs+formatted 964f39f9fdd1 brittany-0.14.0.2/data/Test491.hs+formatted d469e1b3965b brittany-0.14.0.2/data/Test492.hs+formatted d469e1b3965b brittany-0.14.0.2/data/Test493.hs+formatted 1eddc3503b32 brittany-0.14.0.2/data/Test494.hs+formatted 196d9b015a57 brittany-0.14.0.2/data/Test495.hs+formatted 00e8a8e9cc86 brittany-0.14.0.2/data/Test496.hs+formatted cbeb80fac007 brittany-0.14.0.2/data/Test497.hs+formatted 326e5653c262 brittany-0.14.0.2/data/Test498.hs+formatted 46d0f48bc543 brittany-0.14.0.2/data/Test499.hs+formatted 3bb5ad04d6c9 brittany-0.14.0.2/data/Test5.hs+formatted 30d139cbecdf brittany-0.14.0.2/data/Test50.hs+formatted bb1de50ba61a brittany-0.14.0.2/data/Test500.hs+formatted 46987cddeeb1 brittany-0.14.0.2/data/Test501.hs+formatted a26bb5e5e289 brittany-0.14.0.2/data/Test502.hs+formatted 608441a45ea2 brittany-0.14.0.2/data/Test503.hs+formatted 2140e03bd530 brittany-0.14.0.2/data/Test504.hs+formatted b8d19bd75331 brittany-0.14.0.2/data/Test505.hs+formatted 7aafe7248e10 brittany-0.14.0.2/data/Test506.hs+formatted 283db15defde brittany-0.14.0.2/data/Test507.hs+formatted a017d7235dda brittany-0.14.0.2/data/Test508.hs+formatted 525ac73a7645 brittany-0.14.0.2/data/Test509.hs+formatted bdb9309b69ef brittany-0.14.0.2/data/Test51.hs+formatted be3e1e21b3e7 brittany-0.14.0.2/data/Test510.hs+formatted 386680696e97 brittany-0.14.0.2/data/Test511.hs+formatted c74bbb4b17cf brittany-0.14.0.2/data/Test512.hs+formatted bb9ffbc270ba brittany-0.14.0.2/data/Test513.hs+formatted 4babc1db968e brittany-0.14.0.2/data/Test514.hs+formatted 4babc1db968e brittany-0.14.0.2/data/Test515.hs+formatted 4ded8e9531d5 brittany-0.14.0.2/data/Test516.hs+formatted 9cdba405b7be brittany-0.14.0.2/data/Test517.hs+formatted 6192bf9c4318 brittany-0.14.0.2/data/Test518.hs+formatted 438975b07785 brittany-0.14.0.2/data/Test519.hs+formatted 3e9fb57fe53f brittany-0.14.0.2/data/Test52.hs+formatted e0922f030820 brittany-0.14.0.2/data/Test520.hs+formatted 7a6eceaa78bc brittany-0.14.0.2/data/Test521.hs+formatted cd889668f531 brittany-0.14.0.2/data/Test522.hs+formatted 5eae819cfab2 brittany-0.14.0.2/data/Test523.hs+formatted cdd55a113657 brittany-0.14.0.2/data/Test524.hs+formatted 948aab2f7cf9 brittany-0.14.0.2/data/Test525.hs+formatted 74dd57f3e6b2 brittany-0.14.0.2/data/Test526.hs+formatted ebc6624271d5 brittany-0.14.0.2/data/Test527.hs+formatted 6d566659bc06 brittany-0.14.0.2/data/Test528.hs+formatted 86bb82b0ae12 brittany-0.14.0.2/data/Test529.hs+formatted 113cb843c235 brittany-0.14.0.2/data/Test53.hs+formatted c77ad7418bdb brittany-0.14.0.2/data/Test530.hs+formatted e82e4a69ecaf brittany-0.14.0.2/data/Test531.hs+formatted 98d38ba919b8 brittany-0.14.0.2/data/Test532.hs+formatted 93f0725e6f33 brittany-0.14.0.2/data/Test533.hs+formatted 2f3eea919721 brittany-0.14.0.2/data/Test534.hs+formatted 4dfe442efa9f brittany-0.14.0.2/data/Test535.hs+formatted 083e49e545b1 brittany-0.14.0.2/data/Test536.hs+formatted a93167132f4b brittany-0.14.0.2/data/Test537.hs+formatted 76a9d8390ac0 brittany-0.14.0.2/data/Test538.hs+formatted cb52a4163a3d brittany-0.14.0.2/data/Test539.hs+formatted 3206388ca862 brittany-0.14.0.2/data/Test54.hs+formatted 32bac85b1c99 brittany-0.14.0.2/data/Test540.hs+formatted c1076b4718f2 brittany-0.14.0.2/data/Test55.hs+formatted 5b5da4a27041 brittany-0.14.0.2/data/Test56.hs+formatted 7d48cd742ee9 brittany-0.14.0.2/data/Test57.hs+formatted 09a9442047e7 brittany-0.14.0.2/data/Test58.hs+formatted 007b3f5499fb brittany-0.14.0.2/data/Test59.hs+formatted d9ed4ebe21ed brittany-0.14.0.2/data/Test6.hs+formatted 87e8860858b2 brittany-0.14.0.2/data/Test60.hs+formatted 7bba808f3304 brittany-0.14.0.2/data/Test61.hs+formatted 7e7c53e8f5f9 brittany-0.14.0.2/data/Test62.hs+formatted 38957227fb18 brittany-0.14.0.2/data/Test63.hs+formatted d1d477cbcd19 brittany-0.14.0.2/data/Test64.hs+formatted abec5eceeaf7 brittany-0.14.0.2/data/Test65.hs+formatted 7e83cb328466 brittany-0.14.0.2/data/Test66.hs+formatted 08c924dc75db brittany-0.14.0.2/data/Test67.hs+formatted cb0434807247 brittany-0.14.0.2/data/Test68.hs+formatted 0edc4bf88879 brittany-0.14.0.2/data/Test69.hs+formatted 6e4a80a16587 brittany-0.14.0.2/data/Test7.hs+formatted c26c8d4af0d4 brittany-0.14.0.2/data/Test70.hs+formatted 7f9b2bb1df69 brittany-0.14.0.2/data/Test71.hs+formatted 9d549df4742d brittany-0.14.0.2/data/Test72.hs+formatted 05ed72d9e760 brittany-0.14.0.2/data/Test73.hs+formatted a54128f146c1 brittany-0.14.0.2/data/Test74.hs+formatted 29302a244e5c brittany-0.14.0.2/data/Test75.hs+formatted 89a2a63deffe brittany-0.14.0.2/data/Test76.hs+formatted 7a3ad7569e3d brittany-0.14.0.2/data/Test77.hs+formatted 286a50a0eb22 brittany-0.14.0.2/data/Test78.hs+formatted bc99bdbbbb1e brittany-0.14.0.2/data/Test79.hs+formatted 0a8cec799b2a brittany-0.14.0.2/data/Test8.hs+formatted 2f2e96416d6d brittany-0.14.0.2/data/Test80.hs+formatted d1d172867e08 brittany-0.14.0.2/data/Test81.hs+formatted f66f9b2381e3 brittany-0.14.0.2/data/Test82.hs+formatted 4fe035cf193a brittany-0.14.0.2/data/Test83.hs+formatted 43e925441c75 brittany-0.14.0.2/data/Test84.hs+formatted dddcd81d8e89 brittany-0.14.0.2/data/Test85.hs+formatted b34676f3162a brittany-0.14.0.2/data/Test86.hs+formatted 847e26a48a11 brittany-0.14.0.2/data/Test87.hs+formatted d37afb2bca9c brittany-0.14.0.2/data/Test88.hs+formatted 870cc6003dc1 brittany-0.14.0.2/data/Test89.hs+formatted cd000b5a236a brittany-0.14.0.2/data/Test9.hs+formatted 14a1a4f54ceb brittany-0.14.0.2/data/Test90.hs+formatted 583f169ace4c brittany-0.14.0.2/data/Test91.hs+formatted 1d30d5458df2 brittany-0.14.0.2/data/Test92.hs+formatted 21ca73bf65e9 brittany-0.14.0.2/data/Test93.hs+formatted 2640ff7299cc brittany-0.14.0.2/data/Test94.hs+formatted 139f17bd37c8 brittany-0.14.0.2/data/Test95.hs+formatted 3f35ed17b5d4 brittany-0.14.0.2/data/Test96.hs+formatted 54dbf9915298 brittany-0.14.0.2/data/Test97.hs+formatted 25178db879d4 brittany-0.14.0.2/data/Test98.hs+formatted 52caf5793d73 brittany-0.14.0.2/data/Test99.hs+formatted 7a5d0ee67b99 brittany-0.14.0.2/source/executable/Main.hs+formatted f006bb65ddb6 brittany-0.14.0.2/source/library/Language/Haskell/Brittany.hs+formatted effc7ab14a00 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal.hs+formatted 62f91f308c2e brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Backend.hs+formatted b114e1735e96 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/BackendUtils.hs+formatted 4db6008c162f brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Config.hs+formatted b3a115fdcb04 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Config/Types.hs+formatted 3479d640d39c brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs+formatted 3a7e4e0507b6 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs+formatted 5d4339023e83 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/LayouterBasics.hs+formatted e6236562836a brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs+formatted ee47e6ccde82 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Decl.hs+formatted 85310fee66ef brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Expr.hs+formatted 63ac93aa854f brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot+formatted f730e71a6728 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/IE.hs+formatted 4647ea64ed39 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Import.hs+formatted 455e49f342e4 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Module.hs+formatted 1f83e29fdd09 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs+formatted d46ed5a9675b brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs+formatted 08c3e5d27dd4 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot+formatted 757402eae174 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Layouters/Type.hs+formatted 8d7327e29615 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Obfuscation.hs+formatted 0dc2352f4480 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/ParseModule.hs+formatted 069a6d78e89a brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Prelude.hs+formatted 1a8db66fd521 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/PreludeUtils.hs+formatted a12759ae906d brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Alt.hs+formatted c6217dd1471b brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Columns.hs+formatted f558625f25b7 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Floating.hs+formatted 7d95cc82a77f brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Indent.hs+formatted f6a84d0ce013 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Transformations/Par.hs+formatted 9bb018400ea8 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Types.hs+formatted 203fcf60dae6 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Internal/Utils.hs+formatted 20badc0ca0c8 brittany-0.14.0.2/source/library/Language/Haskell/Brittany/Main.hs+formatted e425ebfb8e97 brittany-0.14.0.2/source/test-suite/Main.hs+formatted e865ae48f11b capability-0.5.0.1/Setup.hs+formatted 6772160dec0c capability-0.5.0.1/examples/CountLog.hs+formatted 2eb939764385 capability-0.5.0.1/examples/Error.hs+formatted c878dfd98c1c capability-0.5.0.1/examples/Reader.hs+formatted cf7788db327f capability-0.5.0.1/examples/Reflection.hs+formatted 4ca78b40a428 capability-0.5.0.1/examples/Sink.hs+formatted 4bd9f1f5ce20 capability-0.5.0.1/examples/State.hs+formatted de729285889f capability-0.5.0.1/examples/Test.hs+formatted bc483d61ffa2 capability-0.5.0.1/examples/Test/Common.hs+formatted 7e4f90ed485c capability-0.5.0.1/examples/WordCount.hs+formatted 9a2c6692cf10 capability-0.5.0.1/examples/Writer.hs+formatted c7634b7f4e60 capability-0.5.0.1/src/Capability.hs+formatted 83447b7b7ea5 capability-0.5.0.1/src/Capability/Accessors.hs+formatted 8d8d36f3f008 capability-0.5.0.1/src/Capability/Constraints.hs+formatted f8fc4a2aaee2 capability-0.5.0.1/src/Capability/Derive.hs+formatted c41bd87a6a29 capability-0.5.0.1/src/Capability/Error.hs+formatted 97515747424b capability-0.5.0.1/src/Capability/Reader.hs+formatted 89877e765220 capability-0.5.0.1/src/Capability/Reader/Internal/Class.hs+formatted d887d9bea232 capability-0.5.0.1/src/Capability/Reader/Internal/Strategies.hs+formatted cdf1d99e626f capability-0.5.0.1/src/Capability/Reflection.hs+formatted 42f2a624abd3 capability-0.5.0.1/src/Capability/Sink.hs+formatted 8e57397c62e4 capability-0.5.0.1/src/Capability/Sink/Internal/Class.hs+formatted 410464877d57 capability-0.5.0.1/src/Capability/Sink/Internal/Strategies.hs+formatted d6a811b81394 capability-0.5.0.1/src/Capability/Source.hs+formatted b2d52c4c15ca capability-0.5.0.1/src/Capability/Source/Internal/Class.hs+formatted b718392f90a6 capability-0.5.0.1/src/Capability/Source/Internal/Strategies.hs+formatted e288db1d616d capability-0.5.0.1/src/Capability/State.hs+formatted 9d0280d2e19e capability-0.5.0.1/src/Capability/State/Internal/Class.hs+formatted 33420ab9b880 capability-0.5.0.1/src/Capability/State/Internal/Strategies.hs+formatted e0fc7f2c44f9 capability-0.5.0.1/src/Capability/State/Internal/Strategies/Common.hs+formatted dca34ed58cfd capability-0.5.0.1/src/Capability/Stream.hs+formatted 6cd51b2d63f1 capability-0.5.0.1/src/Capability/TypeOf.hs+formatted 9a266b123a93 capability-0.5.0.1/src/Capability/Writer.hs+formatted e865ae48f11b cassava-0.5.5.0/Setup.hs+formatted f8de97e1c58a cassava-0.5.5.0/examples/IncrementalIndexedBasedDecode.hs+formatted b9e7e3d9a0fb cassava-0.5.5.0/examples/IncrementalNamedBasedEncode.hs+formatted a004028b7dc3 cassava-0.5.5.0/examples/IndexBasedDecode.hs+formatted 03830830ed9e cassava-0.5.5.0/examples/IndexBasedGeneric.hs+formatted f4fb7ce7564b cassava-0.5.5.0/examples/NamedBasedDecode.hs+formatted ecf9a4c54a67 cassava-0.5.5.0/examples/NamedBasedExplicitDecode.hs+formatted d51604b7e89f cassava-0.5.5.0/examples/NamedBasedGeneric.hs+formatted 9612391bd37b cassava-0.5.5.0/examples/StreamingIndexBasedDecode.hs+formatted efc1fe9896ec cassava-0.5.5.0/src/Data/Csv.hs+formatted 817b8cca8d06 cassava-0.5.5.0/src/Data/Csv/Builder.hs+formatted 38c7c4badf0a cassava-0.5.5.0/src/Data/Csv/Conversion.hs+formatted a4c56813cba7 cassava-0.5.5.0/src/Data/Csv/Conversion/Internal.hs+formatted 8ec14fcb620f cassava-0.5.5.0/src/Data/Csv/Encoding.hs+formatted 8318c12528ce cassava-0.5.5.0/src/Data/Csv/Incremental.hs+formatted be1c60df3b34 cassava-0.5.5.0/src/Data/Csv/Parser.hs+formatted 014bb9b262b9 cassava-0.5.5.0/src/Data/Csv/Streaming.hs+formatted 20f42a736b97 cassava-0.5.5.0/src/Data/Csv/Types.hs+formatted 4a5a0e1a51c9 cassava-0.5.5.0/src/Data/Csv/Util.hs+formatted 61c26773c418 cassava-0.5.5.0/tests/UnitTests.hs+formatted b77256b69093 comonad-5.0.10/examples/History.hs+formatted 092ab7243a03 comonad-5.0.10/src/Control/Comonad.hs+formatted d084cf5c7fa7 comonad-5.0.10/src/Control/Comonad/Env.hs+formatted 3b8ec012a04c comonad-5.0.10/src/Control/Comonad/Env/Class.hs+formatted 0dcf633542eb comonad-5.0.10/src/Control/Comonad/Hoist/Class.hs+formatted 4bfafba3ce3b comonad-5.0.10/src/Control/Comonad/Identity.hs+formatted 49b438747b63 comonad-5.0.10/src/Control/Comonad/Store.hs+formatted cf408da422ba comonad-5.0.10/src/Control/Comonad/Store/Class.hs+formatted 2c72a397c339 comonad-5.0.10/src/Control/Comonad/Traced.hs+formatted da617308f9a3 comonad-5.0.10/src/Control/Comonad/Traced/Class.hs+formatted adbd6d7e0f72 comonad-5.0.10/src/Control/Comonad/Trans/Class.hs+formatted 26ee25936027 comonad-5.0.10/src/Control/Comonad/Trans/Env.hs+formatted c405a550608b comonad-5.0.10/src/Control/Comonad/Trans/Identity.hs+formatted 6b990e80a8eb comonad-5.0.10/src/Control/Comonad/Trans/Store.hs+formatted b5fa41e7a2f8 comonad-5.0.10/src/Control/Comonad/Trans/Traced.hs+formatted 34f425eff98b comonad-5.0.10/src/Data/Functor/Composition.hs+formatted bb9810473d80 conduit-1.3.6.1/benchmarks/optimize-201408.hs+formatted f70f6155e62a conduit-1.3.6.1/benchmarks/unfused.hs+formatted 20fad0c5aecd conduit-1.3.6.1/src/Conduit.hs+formatted bf88ceabad43 conduit-1.3.6.1/src/Data/Conduit.hs+formatted 1a953cd53139 conduit-1.3.6.1/src/Data/Conduit/Combinators.hs+formatted f520242138c3 conduit-1.3.6.1/src/Data/Conduit/Combinators/Stream.hs+formatted ba13516336bd conduit-1.3.6.1/src/Data/Conduit/Combinators/Unqualified.hs+formatted 8e861a915c2f conduit-1.3.6.1/src/Data/Conduit/Internal.hs+formatted c35f5a66accc conduit-1.3.6.1/src/Data/Conduit/Internal/Conduit.hs+formatted bbfd28e5b98b conduit-1.3.6.1/src/Data/Conduit/Internal/Fusion.hs+formatted 54120af8edce conduit-1.3.6.1/src/Data/Conduit/Internal/List/Stream.hs+formatted bf0df637e814 conduit-1.3.6.1/src/Data/Conduit/Internal/Pipe.hs+formatted 4a4c14b72249 conduit-1.3.6.1/src/Data/Conduit/Lift.hs+formatted e698a877d8f0 conduit-1.3.6.1/src/Data/Conduit/List.hs+formatted 98630a5362e8 conduit-1.3.6.1/src/Data/Streaming/FileRead.hs+formatted 9860da5f427f conduit-1.3.6.1/src/Data/Streaming/Filesystem.hs+formatted d9e8dbaa2534 conduit-1.3.6.1/test/Data/Conduit/Extra/ZipConduitSpec.hs+formatted 3df81ded6599 conduit-1.3.6.1/test/Data/Conduit/StreamSpec.hs+formatted ba362e46e616 conduit-1.3.6.1/test/Spec.hs+formatted 382af08e83eb conduit-1.3.6.1/test/StreamSpec.hs+formatted db2295b8113a conduit-1.3.6.1/test/doctests.hs+formatted 915aac4ba0bb conduit-1.3.6.1/test/main.hs+formatted a4a0156cbfff contravariant-1.5.6/old-src/Data/Functor/Contravariant.hs+formatted 4ddb460640d4 contravariant-1.5.6/src/Data/Functor/Contravariant/Compose.hs+formatted aceb756fa0e3 contravariant-1.5.6/src/Data/Functor/Contravariant/Divisible.hs+formatted 98e227191284 contravariant-1.5.6/src/Data/Functor/Contravariant/Generic.hs+formatted 2841bd16822b criterion-1.6.5.0/Criterion.hs+formatted 417b9eafad2d criterion-1.6.5.0/Criterion/Analysis.hs+formatted c039ba5918a9 criterion-1.6.5.0/Criterion/EmbeddedData.hs+formatted f07714df2d3d criterion-1.6.5.0/Criterion/IO.hs+formatted 9cbbe0381e04 criterion-1.6.5.0/Criterion/IO/Printf.hs+formatted 7f06470ac8f8 criterion-1.6.5.0/Criterion/Internal.hs+formatted 61563e5b80e1 criterion-1.6.5.0/Criterion/Main.hs+formatted a7ae79817c1c criterion-1.6.5.0/Criterion/Main/Options.hs+formatted aab23b74a86d criterion-1.6.5.0/Criterion/Monad.hs+formatted 344969265c26 criterion-1.6.5.0/Criterion/Monad/Internal.hs+formatted 0b58a8342a2c criterion-1.6.5.0/Criterion/Report.hs+formatted ef0e89d5813d criterion-1.6.5.0/Criterion/Types.hs+formatted fb8e29343d89 criterion-1.6.5.0/app/Options.hs+formatted 1c316429bc18 criterion-1.6.5.0/app/Report.hs+formatted 2c78e540a92b criterion-1.6.5.0/examples/BadReadFile.hs+formatted bfb4844251ca criterion-1.6.5.0/examples/Comparison.hs+formatted f54fba36e069 criterion-1.6.5.0/examples/ConduitVsPipes.hs+formatted a4f8cda29d3c criterion-1.6.5.0/examples/ExtensibleCLI.hs+formatted 8f4df570ff4e criterion-1.6.5.0/examples/Fibber.hs+formatted 741778047cc1 criterion-1.6.5.0/examples/GoodReadFile.hs+formatted e85b2e0c3354 criterion-1.6.5.0/examples/Judy.hs+formatted 7d1ede331f1f criterion-1.6.5.0/examples/Maps.hs+formatted f396bcf9c829 criterion-1.6.5.0/examples/Overhead.hs+formatted 3a50edf5477c criterion-1.6.5.0/examples/Quotes.hs+formatted e88811d40513 criterion-1.6.5.0/tests/Cleanup.hs+formatted 78253dc00e1a criterion-1.6.5.0/tests/Properties.hs+formatted a99e4edb542c criterion-1.6.5.0/tests/Sanity.hs+formatted f8a8d8f2c4ae criterion-1.6.5.0/tests/Tests.hs+formatted 1638196fb215 cryptonite-0.30/Crypto/Cipher/AES.hs+formatted 2240267dad51 cryptonite-0.30/Crypto/Cipher/AES/Primitive.hs+formatted 5694da9617bf cryptonite-0.30/Crypto/Cipher/AESGCMSIV.hs+formatted 17a919edeac4 cryptonite-0.30/Crypto/Cipher/Blowfish.hs+formatted 98e1845904ad cryptonite-0.30/Crypto/Cipher/Blowfish/Box.hs+formatted 23c195272bfd cryptonite-0.30/Crypto/Cipher/Blowfish/Primitive.hs+formatted 7ece5bd42232 cryptonite-0.30/Crypto/Cipher/CAST5.hs+formatted d0210ba9a96f cryptonite-0.30/Crypto/Cipher/CAST5/Primitive.hs+formatted c818f5ccfd4a cryptonite-0.30/Crypto/Cipher/Camellia.hs+formatted 6b6c104480e2 cryptonite-0.30/Crypto/Cipher/Camellia/Primitive.hs+formatted dbd216d2f0aa cryptonite-0.30/Crypto/Cipher/ChaCha.hs+formatted bcadafa03089 cryptonite-0.30/Crypto/Cipher/ChaChaPoly1305.hs+formatted 092e6bcae818 cryptonite-0.30/Crypto/Cipher/DES.hs+formatted caebf4013844 cryptonite-0.30/Crypto/Cipher/DES/Primitive.hs+formatted f0c4f647a470 cryptonite-0.30/Crypto/Cipher/RC4.hs+formatted d59fa1e97895 cryptonite-0.30/Crypto/Cipher/Salsa.hs+formatted 58b5729d32db cryptonite-0.30/Crypto/Cipher/TripleDES.hs+formatted 8aafca6b830e cryptonite-0.30/Crypto/Cipher/Twofish.hs+formatted 6b6428c6bd37 cryptonite-0.30/Crypto/Cipher/Twofish/Primitive.hs+formatted 4e71a359f37d cryptonite-0.30/Crypto/Cipher/Types.hs+formatted 9872fb82a680 cryptonite-0.30/Crypto/Cipher/Types/AEAD.hs+formatted ea04a762895f cryptonite-0.30/Crypto/Cipher/Types/Base.hs+formatted edc073cff2df cryptonite-0.30/Crypto/Cipher/Types/Block.hs+formatted 7c2782316618 cryptonite-0.30/Crypto/Cipher/Types/GF.hs+formatted 17ceaf6e3360 cryptonite-0.30/Crypto/Cipher/Types/Stream.hs+formatted 6cdb1c7bd28d cryptonite-0.30/Crypto/Cipher/Types/Utils.hs+formatted f1893d3edfa7 cryptonite-0.30/Crypto/Cipher/Utils.hs+formatted 20107f92349f cryptonite-0.30/Crypto/Cipher/XSalsa.hs+formatted ae8cf8663bda cryptonite-0.30/Crypto/ConstructHash/MiyaguchiPreneel.hs+formatted 4f15b3874982 cryptonite-0.30/Crypto/Data/AFIS.hs+formatted 37c60fc95ef2 cryptonite-0.30/Crypto/Data/Padding.hs+formatted 2ba3cd2f51b9 cryptonite-0.30/Crypto/ECC.hs+formatted 951ccc172449 cryptonite-0.30/Crypto/ECC/Edwards25519.hs+formatted 26c0fcc08733 cryptonite-0.30/Crypto/ECC/Simple/Prim.hs+formatted 64fc04cd74ae cryptonite-0.30/Crypto/ECC/Simple/Types.hs+formatted 3560b9821c3b cryptonite-0.30/Crypto/Error.hs+formatted 10ee398867c8 cryptonite-0.30/Crypto/Error/Types.hs+formatted bcc2e2a5ecac cryptonite-0.30/Crypto/Hash.hs+formatted 514502d73233 cryptonite-0.30/Crypto/Hash/Algorithms.hs+formatted a83eee5ae7b0 cryptonite-0.30/Crypto/Hash/Blake2.hs+formatted f99040e35232 cryptonite-0.30/Crypto/Hash/Blake2b.hs+formatted 9fc6dd4195c9 cryptonite-0.30/Crypto/Hash/Blake2bp.hs+formatted aa6fb8816478 cryptonite-0.30/Crypto/Hash/Blake2s.hs+formatted 5987b76d2285 cryptonite-0.30/Crypto/Hash/Blake2sp.hs+formatted 36d330a27ffe cryptonite-0.30/Crypto/Hash/IO.hs+formatted 527ac917164f cryptonite-0.30/Crypto/Hash/Keccak.hs+formatted 988960beff03 cryptonite-0.30/Crypto/Hash/MD2.hs+formatted 643fd2f5f7f2 cryptonite-0.30/Crypto/Hash/MD4.hs+formatted 0176320f82f4 cryptonite-0.30/Crypto/Hash/MD5.hs+formatted 54c369b13f00 cryptonite-0.30/Crypto/Hash/RIPEMD160.hs+formatted 0cf990ecd2cd cryptonite-0.30/Crypto/Hash/SHA1.hs+formatted 6b15758ab087 cryptonite-0.30/Crypto/Hash/SHA224.hs+formatted a5a52f418404 cryptonite-0.30/Crypto/Hash/SHA256.hs+formatted 05629720d732 cryptonite-0.30/Crypto/Hash/SHA3.hs+formatted 076c9d704bf2 cryptonite-0.30/Crypto/Hash/SHA384.hs+formatted d65edf0aeac8 cryptonite-0.30/Crypto/Hash/SHA512.hs+formatted 94400683916e cryptonite-0.30/Crypto/Hash/SHA512t.hs+formatted 9b214034fb00 cryptonite-0.30/Crypto/Hash/SHAKE.hs+formatted 506e64c190a2 cryptonite-0.30/Crypto/Hash/Skein256.hs+formatted da70bee9980a cryptonite-0.30/Crypto/Hash/Skein512.hs+formatted 2f8832cc95bb cryptonite-0.30/Crypto/Hash/Tiger.hs+formatted 52ca268ecd11 cryptonite-0.30/Crypto/Hash/Types.hs+formatted 4ea25e04f5c1 cryptonite-0.30/Crypto/Hash/Whirlpool.hs+formatted f70544b8e5f8 cryptonite-0.30/Crypto/Internal/Builder.hs+formatted 98a5de0267ed cryptonite-0.30/Crypto/Internal/ByteArray.hs+formatted f801f423094d cryptonite-0.30/Crypto/Internal/Compat.hs+formatted 8d064e9ef0c8 cryptonite-0.30/Crypto/Internal/CompatPrim.hs+formatted 9ecf7ae42e4a cryptonite-0.30/Crypto/Internal/DeepSeq.hs+formatted 4646f54cc944 cryptonite-0.30/Crypto/Internal/Imports.hs+formatted 4878b8fb8411 cryptonite-0.30/Crypto/Internal/Nat.hs+formatted 483861a9b72d cryptonite-0.30/Crypto/Internal/WordArray.hs+formatted 5786998be3b3 cryptonite-0.30/Crypto/Internal/Words.hs+formatted 0434f24b7a9f cryptonite-0.30/Crypto/KDF/Argon2.hs+formatted 9725e47b1b66 cryptonite-0.30/Crypto/KDF/BCrypt.hs+formatted 28be07832b83 cryptonite-0.30/Crypto/KDF/BCryptPBKDF.hs+formatted 7c78160cd13d cryptonite-0.30/Crypto/KDF/HKDF.hs+formatted f25d68c357c2 cryptonite-0.30/Crypto/KDF/PBKDF2.hs+formatted 3307468c4b5d cryptonite-0.30/Crypto/KDF/Scrypt.hs+formatted 489f10db3ff6 cryptonite-0.30/Crypto/MAC/CMAC.hs+formatted 9dff2956cdea cryptonite-0.30/Crypto/MAC/HMAC.hs+formatted 859812024323 cryptonite-0.30/Crypto/MAC/KMAC.hs+formatted a54d3189768c cryptonite-0.30/Crypto/MAC/Poly1305.hs+formatted c065c0ae8804 cryptonite-0.30/Crypto/Number/Basic.hs+partly-checked 27ebb2f56bcc cryptonite-0.30/Crypto/Number/Compat.hs+formatted d8e4da3cf8c5 cryptonite-0.30/Crypto/Number/F2m.hs+formatted 7b62d9f0185b cryptonite-0.30/Crypto/Number/Generate.hs+formatted 53fbd1bf4d6c cryptonite-0.30/Crypto/Number/ModArithmetic.hs+formatted 3887ba3c7c43 cryptonite-0.30/Crypto/Number/Nat.hs+formatted 930fa05c486f cryptonite-0.30/Crypto/Number/Prime.hs+formatted 3be1d9c43e52 cryptonite-0.30/Crypto/Number/Serialize.hs+formatted cfe6a456efe7 cryptonite-0.30/Crypto/Number/Serialize/Internal.hs+formatted 8f181f9bc069 cryptonite-0.30/Crypto/Number/Serialize/Internal/LE.hs+formatted c21267dc7970 cryptonite-0.30/Crypto/Number/Serialize/LE.hs+formatted 306914497f38 cryptonite-0.30/Crypto/OTP.hs+formatted 47ac3109be1c cryptonite-0.30/Crypto/PubKey/Curve25519.hs+formatted ff1bad4fe0ae cryptonite-0.30/Crypto/PubKey/Curve448.hs+formatted 3f1c06c77c6a cryptonite-0.30/Crypto/PubKey/DH.hs+formatted 61fc8cd02023 cryptonite-0.30/Crypto/PubKey/DSA.hs+formatted 7e94f82c13ef cryptonite-0.30/Crypto/PubKey/ECC/DH.hs+formatted face3da85363 cryptonite-0.30/Crypto/PubKey/ECC/ECDSA.hs+formatted 97c5eb3f0754 cryptonite-0.30/Crypto/PubKey/ECC/Generate.hs+formatted d4527eb98a84 cryptonite-0.30/Crypto/PubKey/ECC/P256.hs+formatted 421cbae47c83 cryptonite-0.30/Crypto/PubKey/ECC/Prim.hs+formatted 65081a388743 cryptonite-0.30/Crypto/PubKey/ECC/Types.hs+formatted 93205445ab9a cryptonite-0.30/Crypto/PubKey/ECDSA.hs+formatted 04ef544fcbc1 cryptonite-0.30/Crypto/PubKey/ECIES.hs+formatted ca8ec46db323 cryptonite-0.30/Crypto/PubKey/Ed25519.hs+formatted dba822ca565e cryptonite-0.30/Crypto/PubKey/Ed448.hs+formatted 365814eb2b58 cryptonite-0.30/Crypto/PubKey/EdDSA.hs+formatted e083f4a748a3 cryptonite-0.30/Crypto/PubKey/ElGamal.hs+formatted 5a0517dd2399 cryptonite-0.30/Crypto/PubKey/Internal.hs+formatted 83e024783092 cryptonite-0.30/Crypto/PubKey/MaskGenFunction.hs+formatted aaafa0f20f26 cryptonite-0.30/Crypto/PubKey/RSA.hs+formatted c12317773f47 cryptonite-0.30/Crypto/PubKey/RSA/OAEP.hs+formatted e8f1ac1faae8 cryptonite-0.30/Crypto/PubKey/RSA/PKCS15.hs+formatted 9255a1c6fd3d cryptonite-0.30/Crypto/PubKey/RSA/PSS.hs+formatted 8643b6ddea84 cryptonite-0.30/Crypto/PubKey/RSA/Prim.hs+formatted 7ab3ae862f55 cryptonite-0.30/Crypto/PubKey/RSA/Types.hs+formatted a97d7fbec7cf cryptonite-0.30/Crypto/PubKey/Rabin/Basic.hs+formatted 3e0ac8c999c0 cryptonite-0.30/Crypto/PubKey/Rabin/Modified.hs+formatted a53ee7c1c1a5 cryptonite-0.30/Crypto/PubKey/Rabin/OAEP.hs+formatted b578b97afc3e cryptonite-0.30/Crypto/PubKey/Rabin/RW.hs+formatted c0eae64dcf68 cryptonite-0.30/Crypto/PubKey/Rabin/Types.hs+formatted 1854f69b3828 cryptonite-0.30/Crypto/Random.hs+formatted f3902d2c9c96 cryptonite-0.30/Crypto/Random/ChaChaDRG.hs+formatted 8b31b5a87af9 cryptonite-0.30/Crypto/Random/Entropy.hs+formatted f8afb2ba19cc cryptonite-0.30/Crypto/Random/Entropy/Backend.hs+formatted 9b0c8653e10a cryptonite-0.30/Crypto/Random/Entropy/RDRand.hs+formatted 0c206170779c cryptonite-0.30/Crypto/Random/Entropy/Source.hs+formatted 75121bc8d581 cryptonite-0.30/Crypto/Random/Entropy/Unix.hs+formatted 2b02d2fc4203 cryptonite-0.30/Crypto/Random/Entropy/Unsafe.hs+declined - cryptonite-0.30/Crypto/Random/Entropy/Windows.hs+formatted 4f4ac464c6e9 cryptonite-0.30/Crypto/Random/EntropyPool.hs+formatted 762f30275eb4 cryptonite-0.30/Crypto/Random/Probabilistic.hs+formatted dd360e4a76e6 cryptonite-0.30/Crypto/Random/SystemDRG.hs+formatted 3613df3a0846 cryptonite-0.30/Crypto/Random/Types.hs+formatted b12c43b64866 cryptonite-0.30/Crypto/System/CPU.hs+formatted 3f10131f3add cryptonite-0.30/Crypto/Tutorial.hs+formatted e865ae48f11b cryptonite-0.30/Setup.hs+formatted ac276403f523 cryptonite-0.30/benchs/Bench.hs+formatted 772fcb717c67 cryptonite-0.30/benchs/Number/F2m.hs+formatted 57d09cf26ff7 cryptonite-0.30/tests/BCrypt.hs+formatted e0a9d879663a cryptonite-0.30/tests/BCryptPBKDF.hs+formatted c7c79cd84ee7 cryptonite-0.30/tests/BlockCipher.hs+formatted ae1da1712bf7 cryptonite-0.30/tests/ChaCha.hs+formatted 2ff39a30e968 cryptonite-0.30/tests/ChaChaPoly1305.hs+formatted c628564c97aa cryptonite-0.30/tests/ECC.hs+formatted 5d886e661761 cryptonite-0.30/tests/ECC/Edwards25519.hs+formatted e8de6edaf6ac cryptonite-0.30/tests/ECDSA.hs+formatted 27ce811073c1 cryptonite-0.30/tests/Hash.hs+formatted e00752436aeb cryptonite-0.30/tests/Imports.hs+formatted beecfeaa8fb1 cryptonite-0.30/tests/KAT_AES.hs+formatted 810d48314931 cryptonite-0.30/tests/KAT_AES/KATCBC.hs+formatted 18eaacc22a0b cryptonite-0.30/tests/KAT_AES/KATCCM.hs+formatted 44fe15b7084a cryptonite-0.30/tests/KAT_AES/KATECB.hs+formatted 82fa19f7ce7a cryptonite-0.30/tests/KAT_AES/KATGCM.hs+formatted 615d3d0c3896 cryptonite-0.30/tests/KAT_AES/KATOCB3.hs+formatted 7ab1f2d998b8 cryptonite-0.30/tests/KAT_AES/KATXTS.hs+formatted 1e2edc23eab4 cryptonite-0.30/tests/KAT_AESGCMSIV.hs+formatted 5f71c9d0489d cryptonite-0.30/tests/KAT_AFIS.hs+formatted a29f1f177a83 cryptonite-0.30/tests/KAT_Argon2.hs+formatted 8415bc362f2c cryptonite-0.30/tests/KAT_Blowfish.hs+formatted 05a7dbeb9005 cryptonite-0.30/tests/KAT_CAST5.hs+formatted a3584b1b317f cryptonite-0.30/tests/KAT_CMAC.hs+formatted c4f1dbee51d6 cryptonite-0.30/tests/KAT_Camellia.hs+formatted 6afe12fcf4eb cryptonite-0.30/tests/KAT_Curve25519.hs+formatted 6093259a5aa9 cryptonite-0.30/tests/KAT_Curve448.hs+formatted 8e0eac40b9d6 cryptonite-0.30/tests/KAT_DES.hs+formatted 3a7902b73bd8 cryptonite-0.30/tests/KAT_Ed25519.hs+formatted bbf6a21d5f18 cryptonite-0.30/tests/KAT_Ed448.hs+formatted b59a87e7f1e5 cryptonite-0.30/tests/KAT_EdDSA.hs+formatted 0fa0afdb302b cryptonite-0.30/tests/KAT_HKDF.hs+formatted f0b45b263f2a cryptonite-0.30/tests/KAT_HMAC.hs+formatted ee17a2d47a67 cryptonite-0.30/tests/KAT_KMAC.hs+formatted 66cf41c37e13 cryptonite-0.30/tests/KAT_MiyaguchiPreneel.hs+formatted 5161823955d7 cryptonite-0.30/tests/KAT_OTP.hs+formatted e23a8a363aff cryptonite-0.30/tests/KAT_PBKDF2.hs+formatted 1f0d2812b0a5 cryptonite-0.30/tests/KAT_PubKey.hs+formatted c92369374dbb cryptonite-0.30/tests/KAT_PubKey/DSA.hs+formatted 743790d1c893 cryptonite-0.30/tests/KAT_PubKey/ECC.hs+formatted 72827abb8090 cryptonite-0.30/tests/KAT_PubKey/ECDSA.hs+formatted 0a8edec8bb84 cryptonite-0.30/tests/KAT_PubKey/OAEP.hs+formatted 6ba37e5828ed cryptonite-0.30/tests/KAT_PubKey/P256.hs+formatted 2f24c00b4a7c cryptonite-0.30/tests/KAT_PubKey/PSS.hs+formatted bba8cd12072c cryptonite-0.30/tests/KAT_PubKey/RSA.hs+formatted cd527ad025c4 cryptonite-0.30/tests/KAT_PubKey/Rabin.hs+formatted fa1389bb8af8 cryptonite-0.30/tests/KAT_RC4.hs+formatted 6c174475decc cryptonite-0.30/tests/KAT_Scrypt.hs+formatted 36380d994c1c cryptonite-0.30/tests/KAT_TripleDES.hs+formatted 88dd0eef74a1 cryptonite-0.30/tests/KAT_Twofish.hs+formatted d3ffb4dd724c cryptonite-0.30/tests/Number.hs+formatted 9347fc3e6890 cryptonite-0.30/tests/Number/F2m.hs+formatted 153769199399 cryptonite-0.30/tests/Padding.hs+formatted e4b87212dc1f cryptonite-0.30/tests/Poly1305.hs+formatted 38c09837971d cryptonite-0.30/tests/Salsa.hs+formatted 54065ea7b3f2 cryptonite-0.30/tests/Tests.hs+formatted be766d438585 cryptonite-0.30/tests/Utils.hs+formatted f7ee48c90ce9 cryptonite-0.30/tests/XSalsa.hs+formatted e865ae48f11b diagrams-core-1.5.1.2/Setup.hs+formatted 390dfdff3fbc diagrams-core-1.5.1.2/src/Diagrams/Core.hs+formatted 5b9f4064740f diagrams-core-1.5.1.2/src/Diagrams/Core/Compile.hs+formatted 0c2deef4d97c diagrams-core-1.5.1.2/src/Diagrams/Core/Envelope.hs+formatted c945af86b66d diagrams-core-1.5.1.2/src/Diagrams/Core/HasOrigin.hs+formatted 5e6397a73cbf diagrams-core-1.5.1.2/src/Diagrams/Core/Juxtapose.hs+formatted 0102accfadbf diagrams-core-1.5.1.2/src/Diagrams/Core/Measure.hs+formatted 3f232ced8cd3 diagrams-core-1.5.1.2/src/Diagrams/Core/Names.hs+formatted 169fec80496d diagrams-core-1.5.1.2/src/Diagrams/Core/Points.hs+formatted f005c45a7335 diagrams-core-1.5.1.2/src/Diagrams/Core/Query.hs+formatted 5c32f24f7311 diagrams-core-1.5.1.2/src/Diagrams/Core/Style.hs+formatted 0d93bb9387d4 diagrams-core-1.5.1.2/src/Diagrams/Core/Trace.hs+formatted ceb1829b99d5 diagrams-core-1.5.1.2/src/Diagrams/Core/Transform.hs+formatted a5ac419d9f46 diagrams-core-1.5.1.2/src/Diagrams/Core/Types.hs+formatted a9f71c9c75d0 diagrams-core-1.5.1.2/src/Diagrams/Core/V.hs+formatted 5cabe7655bac distributed-process-0.7.8/benchmarks/Channels.hs+formatted 504953bb1387 distributed-process-0.7.8/benchmarks/Latency.hs+formatted e43130036e36 distributed-process-0.7.8/benchmarks/ProcessRing.hs+formatted 664624ede357 distributed-process-0.7.8/benchmarks/Spawns.hs+formatted 54738fd746e9 distributed-process-0.7.8/benchmarks/Throughput.hs+formatted e7bfb48f27d1 distributed-process-0.7.8/src/Control/Distributed/Process.hs+formatted 8f3dab3f697b distributed-process-0.7.8/src/Control/Distributed/Process/Closure.hs+formatted 9abdf121594b distributed-process-0.7.8/src/Control/Distributed/Process/Debug.hs+formatted c98976ba0493 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/BiMultiMap.hs+formatted fe72c6f43347 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/CQueue.hs+formatted 2946b3a11a2f distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Closure/BuiltIn.hs+formatted a950bf8d3ff9 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Closure/Explicit.hs+formatted 8a4e71f45f0a distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Closure/TH.hs+formatted fbf0689c8cf6 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Messaging.hs+formatted c0510eec52c1 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Primitives.hs+formatted c2731aa95425 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Spawn.hs+formatted cd3afabcd890 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/StrictContainerAccessors.hs+formatted 8a9d9c67b86f distributed-process-0.7.8/src/Control/Distributed/Process/Internal/StrictList.hs+formatted b21182e8f9f2 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/StrictMVar.hs+formatted ff8f65da47e4 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/Types.hs+formatted d8a70ea27555 distributed-process-0.7.8/src/Control/Distributed/Process/Internal/WeakTQueue.hs+formatted b54c3b7901fc distributed-process-0.7.8/src/Control/Distributed/Process/Management.hs+formatted 11e628359717 distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Agent.hs+formatted 39b50d32c5a6 distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Bus.hs+formatted 5e7aa53931dc distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Primitives.hs+formatted 818907f11c3f distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Remote.hs+formatted e22725f70cfe distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Tracer.hs+formatted 2b21046051cd distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Trace/Types.hs+formatted 07108d12c1fe distributed-process-0.7.8/src/Control/Distributed/Process/Management/Internal/Types.hs+formatted e790ad3384cd distributed-process-0.7.8/src/Control/Distributed/Process/Node.hs+formatted 6b86ee01b32a distributed-process-0.7.8/src/Control/Distributed/Process/Serializable.hs+formatted daf3cd1d8b53 distributed-process-0.7.8/src/Control/Distributed/Process/UnsafePrimitives.hs+formatted ce7a3d76bb9a dlist-1.0/Data/DList.hs+formatted d276a3077979 dlist-1.0/Data/DList/DNonEmpty.hs+formatted 3d51b496abb0 dlist-1.0/Data/DList/DNonEmpty/Internal.hs+partly-checked 7e289a0d3651 dlist-1.0/Data/DList/Internal.hs+formatted 669ee89127ed dlist-1.0/Data/DList/Unsafe.hs+formatted 66e90dad4a5a dlist-1.0/tests/DListProperties.hs+formatted 54f0c52fc06b dlist-1.0/tests/DNonEmptyProperties.hs+formatted 988c01fea196 dlist-1.0/tests/ImportUnsafe.hs+formatted 7878296311fe dlist-1.0/tests/Main.hs+formatted 4d7411576558 dlist-1.0/tests/OverloadedStrings.hs+formatted 0c9b9888b599 dlist-1.0/tests/QuickCheckUtil.hs+formatted e865ae48f11b esqueleto-3.6.0.3/Setup.hs+formatted fb274a829f01 esqueleto-3.6.0.3/src/Database/Esqueleto.hs+formatted 99a3554c79c4 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental.hs+formatted f39aad505f10 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From.hs+formatted 3dc85ea0c84f esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From/CommonTableExpression.hs+formatted eb9741d8135b esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From/Join.hs+formatted beecd102c083 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/From/SqlSetOperation.hs+formatted 6bfe86eb6141 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/ToAlias.hs+formatted ed8893f41cd7 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/ToAliasReference.hs+formatted 9f36875401e2 esqueleto-3.6.0.3/src/Database/Esqueleto/Experimental/ToMaybe.hs+formatted a736ace7f7d4 esqueleto-3.6.0.3/src/Database/Esqueleto/Internal/ExprParser.hs+formatted 46c7bdbbee30 esqueleto-3.6.0.3/src/Database/Esqueleto/Internal/Internal.hs+formatted 8e8a8c378f2b esqueleto-3.6.0.3/src/Database/Esqueleto/Internal/PersistentImport.hs+formatted 23c62f207b2d esqueleto-3.6.0.3/src/Database/Esqueleto/Legacy.hs+formatted 9cd66d1b3ed2 esqueleto-3.6.0.3/src/Database/Esqueleto/MySQL.hs+formatted 236ac6325e8b esqueleto-3.6.0.3/src/Database/Esqueleto/PostgreSQL.hs+formatted 1b1d21812e48 esqueleto-3.6.0.3/src/Database/Esqueleto/PostgreSQL/JSON.hs+formatted df35c8f3b6bf esqueleto-3.6.0.3/src/Database/Esqueleto/PostgreSQL/JSON/Instances.hs+formatted bfa22ec5fd41 esqueleto-3.6.0.3/src/Database/Esqueleto/Record.hs+formatted 167fa1cef38a esqueleto-3.6.0.3/src/Database/Esqueleto/SQLite.hs+formatted 791ffee464be esqueleto-3.6.0.3/test/Common/Record.hs+formatted 7db3ef49d34f esqueleto-3.6.0.3/test/Common/Test.hs+formatted 07d3054c5606 esqueleto-3.6.0.3/test/Common/Test/CTE.hs+formatted 1f83d04692e3 esqueleto-3.6.0.3/test/Common/Test/Import.hs+formatted 2e16567983e5 esqueleto-3.6.0.3/test/Common/Test/Models.hs+formatted 1e1af0ff65e2 esqueleto-3.6.0.3/test/Common/Test/Select.hs+formatted 6c403a7dbfd3 esqueleto-3.6.0.3/test/MySQL/Test.hs+formatted 649022fe6ecf esqueleto-3.6.0.3/test/PostgreSQL/MigrateJSON.hs+formatted b9c4d713d02f esqueleto-3.6.0.3/test/PostgreSQL/Test.hs+formatted 0e0ef1763885 esqueleto-3.6.0.3/test/SQLite/Test.hs+formatted 9c274d8e66c1 esqueleto-3.6.0.3/test/Spec.hs+formatted 2ddfe57b9539 exceptions-0.10.12/src/Control/Monad/Catch.hs+formatted 95434fcb6957 exceptions-0.10.12/src/Control/Monad/Catch/Pure.hs+formatted da6b7265725b exceptions-0.10.12/tests/Control/Monad/Catch/Tests.hs+formatted bba664ba2b8b exceptions-0.10.12/tests/Tests.hs+formatted 421394df9111 fay-0.24.2.0/Setup.hs+formatted ec9eeba0c6a1 fay-0.24.2.0/examples/CodeWorld.hs+formatted 7cf91d63601f fay-0.24.2.0/examples/CodeWorldMain.hs+formatted d34203032896 fay-0.24.2.0/examples/Cont.hs+formatted b5088332842e fay-0.24.2.0/examples/D3TreeSample.hs+formatted 45fa087c720a fay-0.24.2.0/examples/FayFromJs.hs+formatted d4be2511948d fay-0.24.2.0/examples/Separated.hs+formatted 73cbc6340843 fay-0.24.2.0/examples/X.hs+formatted 89a1e9058dc3 fay-0.24.2.0/examples/Y.hs+formatted 55d7b8cf115f fay-0.24.2.0/examples/alert.hs+formatted 3563971c6bdb fay-0.24.2.0/examples/calc.hs+formatted 2d60fb67f2de fay-0.24.2.0/examples/canvaswater.hs+formatted 97df12f5dfa2 fay-0.24.2.0/examples/console.hs+formatted 7608e18ca01c fay-0.24.2.0/examples/data.hs+formatted 57124dd1aa0e fay-0.24.2.0/examples/dom.hs+formatted a017f7092550 fay-0.24.2.0/examples/jquery.hs+formatted 19887dc6f70a fay-0.24.2.0/examples/json.hs+formatted db1cb782ccc3 fay-0.24.2.0/examples/node.hs+formatted f3df3b020033 fay-0.24.2.0/examples/nqueens.hs+formatted 615082642614 fay-0.24.2.0/examples/obj.hs+formatted a197f077306c fay-0.24.2.0/examples/oscillator.hs+formatted c79a44579d85 fay-0.24.2.0/examples/pat.hs+formatted fa732b1a5e66 fay-0.24.2.0/examples/properties.hs+formatted 7085b02d6471 fay-0.24.2.0/examples/ref.hs+formatted 55fe2b9f624f fay-0.24.2.0/examples/showExamples.hs+formatted 884b6fbdaadc fay-0.24.2.0/examples/tailrecursive.hs+formatted c2d5e370d7e2 fay-0.24.2.0/src/Fay.hs+formatted 9a042d6a7ba9 fay-0.24.2.0/src/Fay/Compiler.hs+formatted 727b9da5eeda fay-0.24.2.0/src/Fay/Compiler/Decl.hs+formatted d4575500ee48 fay-0.24.2.0/src/Fay/Compiler/Defaults.hs+formatted 891834d5aec2 fay-0.24.2.0/src/Fay/Compiler/Desugar.hs+formatted 570ca805808c fay-0.24.2.0/src/Fay/Compiler/Desugar/Name.hs+formatted fe53147a7e33 fay-0.24.2.0/src/Fay/Compiler/Desugar/Types.hs+formatted cd957c0884e8 fay-0.24.2.0/src/Fay/Compiler/Exp.hs+formatted cfc0f0f46b43 fay-0.24.2.0/src/Fay/Compiler/FFI.hs+formatted 69fd6dd80a66 fay-0.24.2.0/src/Fay/Compiler/GADT.hs+formatted bcb9d437929e fay-0.24.2.0/src/Fay/Compiler/Import.hs+formatted 766c34ce53b0 fay-0.24.2.0/src/Fay/Compiler/InitialPass.hs+formatted d9d683411028 fay-0.24.2.0/src/Fay/Compiler/Misc.hs+formatted bce0992d570d fay-0.24.2.0/src/Fay/Compiler/ModuleT.hs+formatted 2fdd19da261b fay-0.24.2.0/src/Fay/Compiler/Optimizer.hs+formatted ac32749d90ec fay-0.24.2.0/src/Fay/Compiler/Packages.hs+formatted 1798f425b036 fay-0.24.2.0/src/Fay/Compiler/Parse.hs+formatted 46f343ccba7b fay-0.24.2.0/src/Fay/Compiler/Pattern.hs+formatted 7cca783f3fcd fay-0.24.2.0/src/Fay/Compiler/Prelude.hs+formatted 0fe3943a05fb fay-0.24.2.0/src/Fay/Compiler/PrimOp.hs+formatted d7dcfe1aa9ca fay-0.24.2.0/src/Fay/Compiler/Print.hs+formatted da23ccb55970 fay-0.24.2.0/src/Fay/Compiler/QName.hs+formatted 9fe2fbd3e360 fay-0.24.2.0/src/Fay/Compiler/State.hs+formatted fb1831a445cc fay-0.24.2.0/src/Fay/Compiler/Typecheck.hs+formatted 631cbd5cb454 fay-0.24.2.0/src/Fay/Config.hs+formatted 15cd1e849d0e fay-0.24.2.0/src/Fay/Convert.hs+formatted 80d46083d774 fay-0.24.2.0/src/Fay/Exts.hs+formatted 7ec6f093e0ca fay-0.24.2.0/src/Fay/Exts/NoAnnotation.hs+formatted bd1f234d96c0 fay-0.24.2.0/src/Fay/Exts/Scoped.hs+formatted f7856f337bee fay-0.24.2.0/src/Fay/FFI.hs+formatted 7dd89da8a466 fay-0.24.2.0/src/Fay/Runtime.hs+formatted 0ac5069cbf76 fay-0.24.2.0/src/Fay/Types.hs+formatted 6654772d79a6 fay-0.24.2.0/src/Fay/Types/CompileError.hs+formatted 4f7fdfee2a8f fay-0.24.2.0/src/Fay/Types/CompileResult.hs+formatted cea8d04284a4 fay-0.24.2.0/src/Fay/Types/FFI.hs+formatted 16c62b3f8086 fay-0.24.2.0/src/Fay/Types/Js.hs+formatted 1165cbb859cc fay-0.24.2.0/src/Fay/Types/ModulePath.hs+formatted ed80698a7cd1 fay-0.24.2.0/src/Fay/Types/Printer.hs+formatted 6593766b1d2e fay-0.24.2.0/src/haskell-names/Language/Haskell/Names.hs+formatted 379279fca760 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Annotated.hs+formatted effa30f29551 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Exports.hs+formatted 633d0ead4b0e fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/GetBound.hs+formatted 74e293075d13 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs+formatted 13662130820d fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs-boot+formatted 3346bfa56c31 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Imports.hs+formatted bda66c725ce4 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/LocalSymbolTable.hs+formatted c6c4acea37c3 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/ModuleSymbols.hs+formatted 76ce45f69410 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Open/Base.hs+formatted b12db8ba5ce9 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Open/Derived.hs+formatted 325536c28de7 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Open/Instances.hs+formatted deb2b656a1ad fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/RecordWildcards.hs+formatted 80dec7fda3fb fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Recursive.hs+formatted 006f3c334ab0 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/ScopeUtils.hs+formatted 3dd4a51f2cc5 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/SyntaxUtils.hs+formatted 954e31fc5bf8 fay-0.24.2.0/src/haskell-names/Language/Haskell/Names/Types.hs+formatted a185a50b6e6a fay-0.24.2.0/src/main/Main.hs+formatted b9c869a29067 fay-0.24.2.0/src/tests/Test/CommandLine.hs+formatted 68c640b352e9 fay-0.24.2.0/src/tests/Test/Compile.hs+formatted 6fdbf9951c76 fay-0.24.2.0/src/tests/Test/Convert.hs+formatted 89d594b07db0 fay-0.24.2.0/src/tests/Test/Desugar.hs+formatted a3937c4d8bef fay-0.24.2.0/src/tests/Test/Util.hs+formatted 63cce78f9492 fay-0.24.2.0/src/tests/Tests.hs+formatted 8114602da4c3 fay-0.24.2.0/tests/AllBaseModules.hs+formatted e78d25c5a73d fay-0.24.2.0/tests/AutomaticList.hs+formatted 779c72fbdb74 fay-0.24.2.0/tests/Bool.hs+formatted ad89dd2cf37b fay-0.24.2.0/tests/CPP.hs+formatted 61e542a01350 fay-0.24.2.0/tests/Char.hs+formatted 7badee2f20a7 fay-0.24.2.0/tests/Compile/CPPMultiLineStrings.hs+formatted a5ace073f2a3 fay-0.24.2.0/tests/Compile/CPPTypecheck.hs+formatted 66d008a435ce fay-0.24.2.0/tests/Compile/EnumChar.hs+formatted 79a705007362 fay-0.24.2.0/tests/Compile/ImportRecords.hs+formatted ad7ecf9ee4fe fay-0.24.2.0/tests/Compile/Records.hs+formatted 9817e9c801a0 fay-0.24.2.0/tests/Compile/StrictWrapper.hs+formatted 3f10c446d77e fay-0.24.2.0/tests/Compile/pretty.hs+formatted 3f10c446d77e fay-0.24.2.0/tests/Compile/prettyOperators.hs+formatted 3f10c446d77e fay-0.24.2.0/tests/Compile/prettyThunks.hs+formatted 7e5ba819c89a fay-0.24.2.0/tests/Defined.hs+formatted 933b5c75c95d fay-0.24.2.0/tests/DesugarFFI.hs+formatted 247bf5cdbba0 fay-0.24.2.0/tests/DoLet2.hs+formatted 8e59e23cdef2 fay-0.24.2.0/tests/DoLet3.hs+formatted 8506e48ae167 fay-0.24.2.0/tests/Double.hs+formatted 555ed6125da8 fay-0.24.2.0/tests/Double2.hs+formatted 940c2db0f038 fay-0.24.2.0/tests/Double3.hs+formatted ce51517b312e fay-0.24.2.0/tests/Double4.hs+formatted e7d8f2571cb1 fay-0.24.2.0/tests/Either.hs+formatted f00c11dbed60 fay-0.24.2.0/tests/EmptyDataDeclArray.hs+formatted 7c2bc66a86e6 fay-0.24.2.0/tests/Eq.hs+formatted 25d8fd9d5d5a fay-0.24.2.0/tests/ExportEThingAll.hs+formatted bea5851db3b4 fay-0.24.2.0/tests/ExportEThingAll_Export.hs+formatted b86ba0189dff fay-0.24.2.0/tests/ExportEThingWith.hs+formatted 6c639783702a fay-0.24.2.0/tests/ExportList.hs+formatted c70d5951fda8 fay-0.24.2.0/tests/ExportList_A.hs+formatted eb351b1cfd3e fay-0.24.2.0/tests/ExportList_B.hs+formatted 4736c70718a7 fay-0.24.2.0/tests/ExportList_C.hs+formatted 41c7f9eb857a fay-0.24.2.0/tests/ExportList_D.hs+formatted b42dad751766 fay-0.24.2.0/tests/ExportQualified_Export.hs+formatted e08dc6f4e84b fay-0.24.2.0/tests/ExportQualified_Import.hs+formatted e9617631d536 fay-0.24.2.0/tests/ExportType.hs+formatted ba54245a67ef fay-0.24.2.0/tests/Floating.hs+formatted 02165869295d fay-0.24.2.0/tests/FromString.hs+formatted fc43945a5277 fay-0.24.2.0/tests/FromString/Dep.hs+formatted 09e516e107ad fay-0.24.2.0/tests/FromString/DepDep.hs+formatted 81bdb91ec92b fay-0.24.2.0/tests/FromString/FayText.hs+formatted 3da43a919ebc fay-0.24.2.0/tests/GADTs_without_records.hs+formatted 102949714efb fay-0.24.2.0/tests/GuardWhere.hs+formatted 4c6803c7f169 fay-0.24.2.0/tests/HidePreludeImport.hs+formatted a1408d450caf fay-0.24.2.0/tests/HidePreludeImport_Import.hs+formatted fa5b4cc76a44 fay-0.24.2.0/tests/Hierarchical/Export.hs+formatted 102307416bcd fay-0.24.2.0/tests/Hierarchical/RecordDefined.hs+formatted 920c9acca3b5 fay-0.24.2.0/tests/HierarchicalImport.hs+formatted def230ba708f fay-0.24.2.0/tests/ImplicitPrelude.hs+formatted c71809dd7876 fay-0.24.2.0/tests/ImportHiding.hs+formatted 75f8ddda7df8 fay-0.24.2.0/tests/ImportIThingAll.hs+formatted b4c50a46461c fay-0.24.2.0/tests/ImportList.hs+formatted 87c5a69d1b76 fay-0.24.2.0/tests/ImportList1/A.hs+formatted a25b5782f91c fay-0.24.2.0/tests/ImportList1/B.hs+formatted a9003116e1c9 fay-0.24.2.0/tests/ImportList1/C.hs+formatted b5cb6de55974 fay-0.24.2.0/tests/ImportListType.hs+formatted 69bb47d76aef fay-0.24.2.0/tests/ImportType.hs+formatted 440bc41f78be fay-0.24.2.0/tests/ImportType2.hs+formatted 5ff8e931a567 fay-0.24.2.0/tests/ImportType2I/A.hs+formatted e15dbb9a2720 fay-0.24.2.0/tests/ImportType2I/B.hs+formatted 9d4bcec16bd7 fay-0.24.2.0/tests/Integer.hs+formatted ed2b3650244f fay-0.24.2.0/tests/Integral.hs+formatted dadef2b7cb03 fay-0.24.2.0/tests/Issue215/B.hs+formatted eeedb44973d0 fay-0.24.2.0/tests/Issue215A.hs+formatted b0a19078b259 fay-0.24.2.0/tests/Js2FayFunc.hs+formatted 8592007d3db3 fay-0.24.2.0/tests/JsFunctionPassing.hs+formatted 009642e56a6b fay-0.24.2.0/tests/LambdaCase.hs+formatted 47266926fa39 fay-0.24.2.0/tests/LazyOperators.hs+formatted ee291ee7e00e fay-0.24.2.0/tests/List.hs+formatted c8021ca9ec3f fay-0.24.2.0/tests/List2.hs+formatted a93b0ff4bcc5 fay-0.24.2.0/tests/ListEq.hs+formatted c3daafcf2461 fay-0.24.2.0/tests/MainThunk.hs+formatted 350d9831d6f8 fay-0.24.2.0/tests/ModuleReExport/ExportsIdentifier.hs+formatted 25cef8780cae fay-0.24.2.0/tests/ModuleReExport/ExportsModule.hs+formatted 9dfef0f7c129 fay-0.24.2.0/tests/ModuleReExports.hs+formatted c082d387d888 fay-0.24.2.0/tests/ModuleRecordClash.hs+formatted 997782df97ba fay-0.24.2.0/tests/ModuleRecordClash/R.hs+formatted 53ea9782c8a3 fay-0.24.2.0/tests/ModuleRecordClash2.hs+formatted 3f2cf09e81b7 fay-0.24.2.0/tests/ModuleRecordClash2_Hello.hs+formatted 1a83fbebaaf8 fay-0.24.2.0/tests/Monad.hs+formatted b3f89d2ed36e fay-0.24.2.0/tests/Monad2.hs+formatted 0c9780229637 fay-0.24.2.0/tests/MultiWayIf.hs+formatted 0e3845c048a2 fay-0.24.2.0/tests/NestedImporting.hs+formatted 4b3a670722e0 fay-0.24.2.0/tests/NestedImporting/A.hs+formatted 2a092a0c1f4c fay-0.24.2.0/tests/NestedImporting2.hs+formatted 19cbbffb80bc fay-0.24.2.0/tests/NestedImporting2/A.hs+formatted 17f211243d54 fay-0.24.2.0/tests/NewtypeImport_Export.hs+formatted 34ed28dbd073 fay-0.24.2.0/tests/NewtypeImport_Import.hs+formatted ad07b3a0d755 fay-0.24.2.0/tests/Nullable.hs+formatted f01c35cc494d fay-0.24.2.0/tests/Num.hs+formatted 75ea0e91fb04 fay-0.24.2.0/tests/Ord.hs+formatted 66e4369c7bda fay-0.24.2.0/tests/PrefixOpPat.hs+formatted 129023442df5 fay-0.24.2.0/tests/QualifiedImport.hs+formatted 3298b9301836 fay-0.24.2.0/tests/QualifiedImport/X.hs+formatted 391559feaa6f fay-0.24.2.0/tests/QualifiedImport/Y.hs+formatted 5a73215af899 fay-0.24.2.0/tests/Ratio.hs+formatted 577c81fcbe39 fay-0.24.2.0/tests/ReExport1.hs+formatted 97f273a7040d fay-0.24.2.0/tests/ReExport2.hs+formatted 9fb50fe15789 fay-0.24.2.0/tests/ReExport3.hs+formatted 8b077416b2a2 fay-0.24.2.0/tests/ReExportGlobally.hs+formatted 4b9cbdde2416 fay-0.24.2.0/tests/ReExportGlobally/A.hs+formatted b21d1616e152 fay-0.24.2.0/tests/ReExportGloballyExplicit.hs+formatted 9315bbd88930 fay-0.24.2.0/tests/RealFrac.hs+formatted 1a6a33c6ac9d fay-0.24.2.0/tests/RecCon.hs+formatted 986c34c1b565 fay-0.24.2.0/tests/RecDecl.hs+formatted bb55ab6798d0 fay-0.24.2.0/tests/RecordImport2_Export1.hs+formatted 938433aeb8c8 fay-0.24.2.0/tests/RecordImport2_Export2.hs+formatted c044e70c8101 fay-0.24.2.0/tests/RecordImport2_Import.hs+formatted 9ed1c0f11b4a fay-0.24.2.0/tests/RecordImport_Export.hs+formatted 7436f43b45cc fay-0.24.2.0/tests/RecordImport_Import.hs+formatted 227a87a9ae8b fay-0.24.2.0/tests/Sink.hs+formatted 0d52d0cd7e4b fay-0.24.2.0/tests/SkipLetTypes.hs+formatted 79a7eb241171 fay-0.24.2.0/tests/SkipWhereTypes.hs+formatted b2f90faa6d96 fay-0.24.2.0/tests/StringForcing.hs+formatted 78f704c770c1 fay-0.24.2.0/tests/Strings.hs+formatted b23a6f00c551 fay-0.24.2.0/tests/T190.hs+formatted 692f0dae5fb8 fay-0.24.2.0/tests/T190_A.hs+formatted 8e73afc88ae8 fay-0.24.2.0/tests/T190_B.hs+formatted e68acdaf2dfe fay-0.24.2.0/tests/T190_C.hs+formatted 7bd1c4fd8478 fay-0.24.2.0/tests/TextOrd.hs+formatted f47544b81667 fay-0.24.2.0/tests/Trace.hs+formatted c578ce2acbf6 fay-0.24.2.0/tests/TupleCalls.hs+formatted d35a3f3c7245 fay-0.24.2.0/tests/TyVarSerialization.hs+formatted 7d85fb13bd93 fay-0.24.2.0/tests/Var.hs+formatted 7a2ffc1587f5 fay-0.24.2.0/tests/VarPtr.hs+formatted 5bcb67338113 fay-0.24.2.0/tests/WhenUnlessRecursion.hs+formatted c767b8778a1d fay-0.24.2.0/tests/asPatternMatch.hs+formatted aa05f8bd2bf0 fay-0.24.2.0/tests/automatic.hs+formatted 83d1d385ae83 fay-0.24.2.0/tests/baseFixities.hs+formatted ce58f47bac04 fay-0.24.2.0/tests/basicFunctions.hs+formatted 33b5a5453ff8 fay-0.24.2.0/tests/case.hs+formatted a51f036ac082 fay-0.24.2.0/tests/case2.hs+formatted 4a4542652251 fay-0.24.2.0/tests/case3.hs+formatted e563419849e3 fay-0.24.2.0/tests/caseList.hs+formatted 6f41ab7df8c9 fay-0.24.2.0/tests/caseWildcard.hs+formatted 9437474fc565 fay-0.24.2.0/tests/circular.hs+formatted 3ac360393116 fay-0.24.2.0/tests/curry.hs+formatted 9bbe8cd8c749 fay-0.24.2.0/tests/cycle.hs+formatted d07827315b77 fay-0.24.2.0/tests/do.hs+formatted 262e4e61e6b8 fay-0.24.2.0/tests/doAssingPatternMatch.hs+formatted ad5b707f664a fay-0.24.2.0/tests/doBindAssign.hs+formatted e41cbdd7656a fay-0.24.2.0/tests/doLet.hs+formatted 9f8a8d10c1d3 fay-0.24.2.0/tests/emptyMain.hs+formatted 380eff7dedb9 fay-0.24.2.0/tests/enumFrom.hs+formatted 05834fe58432 fay-0.24.2.0/tests/error.hs+formatted f563902672cb fay-0.24.2.0/tests/ffiExpr.hs+formatted 73697f0c099c fay-0.24.2.0/tests/ffimunging.hs+formatted dc67c504a097 fay-0.24.2.0/tests/fix.hs+formatted 9267690ec8d2 fay-0.24.2.0/tests/fromInteger.hs+formatted 73a7dce83bdd fay-0.24.2.0/tests/fromIntegral.hs+formatted 860a7aed8af3 fay-0.24.2.0/tests/guards.hs+formatted 8ff7b7e5d80d fay-0.24.2.0/tests/infixDataConst.hs+formatted 99c963974ca0 fay-0.24.2.0/tests/ints.hs+formatted 9ec2af24577b fay-0.24.2.0/tests/linesAndWords.hs+formatted 36a10a974013 fay-0.24.2.0/tests/listComprehensions.hs+formatted 392b79e97d1d fay-0.24.2.0/tests/listlen.hs+formatted 9d98dc262b39 fay-0.24.2.0/tests/mutableReference.hs+formatted f983711e6f6b fay-0.24.2.0/tests/nameGen.hs+formatted 00499901b441 fay-0.24.2.0/tests/namedFieldPuns.hs+formatted 68fcd666b331 fay-0.24.2.0/tests/negation.hs+formatted 4c9cf35b4aee fay-0.24.2.0/tests/newtype.hs+formatted 36cf37d7cd68 fay-0.24.2.0/tests/newtypeIndirectApp.hs+formatted a587812e6602 fay-0.24.2.0/tests/numTheory.hs+formatted 40bd883716b3 fay-0.24.2.0/tests/nums.hs+formatted c27df9670630 fay-0.24.2.0/tests/pats.hs+formatted b317cbb85f97 fay-0.24.2.0/tests/patternGuards.hs+formatted 353e37b5a857 fay-0.24.2.0/tests/patternMatchFail.hs+formatted 0e69935e45c9 fay-0.24.2.0/tests/patternMatchLet.hs+formatted f963663ae2cf fay-0.24.2.0/tests/patternMatchingTuples.hs+formatted 41871bce5735 fay-0.24.2.0/tests/recordFunctionPatternMatch.hs+formatted 6010444abc75 fay-0.24.2.0/tests/recordPatternMatch.hs+formatted 0dda5fc8df9d fay-0.24.2.0/tests/recordPatternMatch2.hs+formatted 63b9091a92a2 fay-0.24.2.0/tests/recordUseBeforeDefine.hs+formatted 6000e445e696 fay-0.24.2.0/tests/recordWildCards.hs+formatted 63a19682d7d9 fay-0.24.2.0/tests/records.hs+formatted a371f7d8d704 fay-0.24.2.0/tests/recursive.hs+formatted 9797f8836f3b fay-0.24.2.0/tests/reservedWords.hs+formatted 3bdaf5d65328 fay-0.24.2.0/tests/sections.hs+formatted 19e9c7c69db9 fay-0.24.2.0/tests/seq-fake.hs+formatted 2ac1dc3c2516 fay-0.24.2.0/tests/seq.hs+formatted add7affcb8d6 fay-0.24.2.0/tests/serialization.hs+formatted e76961e79030 fay-0.24.2.0/tests/succPred.hs+formatted 461d16ef4da1 fay-0.24.2.0/tests/tailRecursion.hs+formatted b29bc268b713 fay-0.24.2.0/tests/then.hs+formatted 7b2a525c6d17 fay-0.24.2.0/tests/tupleCon.hs+formatted 71a59816933e fay-0.24.2.0/tests/tupleSec.hs+formatted c864de89b243 fay-0.24.2.0/tests/unit.hs+formatted cfb7dd15a745 fay-0.24.2.0/tests/utf8.hs+formatted 68905bc32429 fay-0.24.2.0/tests/where.hs+formatted 6ea0b301c8c4 fay-0.24.2.0/tests/whereBind.hs+formatted 62b7dd25b5c9 fay-0.24.2.0/tests/whereBind2.hs+formatted dd52de0acf94 fay-0.24.2.0/tests/whereBind3.hs+formatted b3d258de0403 free-5.2/examples/PerfTH.hs+formatted 24418bc38fac free-5.2/examples/RetryTH.hs+formatted 7641743d0c1f free-5.2/examples/ValidationForm.hs+formatted 9fcd1a6b4714 free-5.2/src/Control/Alternative/Free.hs+formatted 6cdf81c21164 free-5.2/src/Control/Alternative/Free/Final.hs+formatted 8b307bae43e5 free-5.2/src/Control/Applicative/Free.hs+formatted 1593e637f12f free-5.2/src/Control/Applicative/Free/Fast.hs+formatted f23f3f214be8 free-5.2/src/Control/Applicative/Free/Final.hs+formatted 51e39ca09f78 free-5.2/src/Control/Applicative/Trans/Free.hs+formatted dd9069083e98 free-5.2/src/Control/Comonad/Cofree.hs+formatted 9b0f6d5a4082 free-5.2/src/Control/Comonad/Cofree/Class.hs+formatted 866a464a9f8d free-5.2/src/Control/Comonad/Trans/Cofree.hs+formatted 19144d43e9b1 free-5.2/src/Control/Comonad/Trans/Coiter.hs+formatted f6734128b306 free-5.2/src/Control/Monad/Free.hs+formatted 92f9ffbc940f free-5.2/src/Control/Monad/Free/Ap.hs+formatted 93c96d44b956 free-5.2/src/Control/Monad/Free/Church.hs+formatted 39bf4e33f6e2 free-5.2/src/Control/Monad/Free/Class.hs+formatted d6318fb07edb free-5.2/src/Control/Monad/Free/TH.hs+formatted a51821c826a6 free-5.2/src/Control/Monad/Trans/Free.hs+formatted b9554e2bf6b2 free-5.2/src/Control/Monad/Trans/Free/Ap.hs+formatted 91e1c571caac free-5.2/src/Control/Monad/Trans/Free/Church.hs+formatted d881a98c4458 free-5.2/src/Control/Monad/Trans/Iter.hs+formatted 56c248be435c fsnotify-0.4.4.0/Setup.hs+formatted 389a7e5c2ae0 fsnotify-0.4.4.0/example/Main.hs+formatted 79850be0460c fsnotify-0.4.4.0/src/System/FSNotify.hs+formatted 6305f96f4771 fsnotify-0.4.4.0/src/System/FSNotify/Devel.hs+formatted 0d0e6f3eaf91 fsnotify-0.4.4.0/src/System/FSNotify/Find.hs+formatted b3352b1bac69 fsnotify-0.4.4.0/src/System/FSNotify/Linux.hs+formatted 625e3b56cc56 fsnotify-0.4.4.0/src/System/FSNotify/Linux/Util.hs+formatted 4117630a0f98 fsnotify-0.4.4.0/src/System/FSNotify/Listener.hs+formatted 27f8de9419d7 fsnotify-0.4.4.0/src/System/FSNotify/OSX.hs+formatted 7469549d73c7 fsnotify-0.4.4.0/src/System/FSNotify/Path.hs+formatted 519b0f9f9013 fsnotify-0.4.4.0/src/System/FSNotify/Polling.hs+formatted a2ef1e22a2f9 fsnotify-0.4.4.0/src/System/FSNotify/Types.hs+formatted e0e90401aa05 fsnotify-0.4.4.0/src/System/FSNotify/Win32.hs+formatted c7e9311ea071 fsnotify-0.4.4.0/test/FSNotify/Test/EventTests.hs+partly-checked e314b5ced2e3 fsnotify-0.4.4.0/test/FSNotify/Test/Util.hs+formatted 77d07b9cdac3 fsnotify-0.4.4.0/test/Main.hs+formatted d207c49e99c4 fsnotify-0.4.4.0/win-src/System/Win32/Notify.hs+formatted e865ae48f11b hakyll-4.17.0.0/Setup.hs+formatted 0a3f98709f72 hakyll-4.17.0.0/data/example/site.hs+formatted 116aaa72d476 hakyll-4.17.0.0/lib/Data/List/Extended.hs+formatted f638cd45236f hakyll-4.17.0.0/lib/Data/Yaml/Extended.hs+formatted 0fcae45b2ba9 hakyll-4.17.0.0/lib/Hakyll.hs+formatted 26eb24c40060 hakyll-4.17.0.0/lib/Hakyll/Check.hs+formatted 0442498d286c hakyll-4.17.0.0/lib/Hakyll/Commands.hs+formatted dd7499d469a5 hakyll-4.17.0.0/lib/Hakyll/Core/Compiler.hs+formatted e9f89f339007 hakyll-4.17.0.0/lib/Hakyll/Core/Compiler/Internal.hs+formatted c7cfc530bd2a hakyll-4.17.0.0/lib/Hakyll/Core/Compiler/Require.hs+formatted 10bda89cbe6d hakyll-4.17.0.0/lib/Hakyll/Core/Configuration.hs+formatted 9ea9908950b2 hakyll-4.17.0.0/lib/Hakyll/Core/Dependencies.hs+formatted 558f0d294954 hakyll-4.17.0.0/lib/Hakyll/Core/File.hs+formatted c3cd48ba4d35 hakyll-4.17.0.0/lib/Hakyll/Core/Identifier.hs+formatted 02b568af6a14 hakyll-4.17.0.0/lib/Hakyll/Core/Identifier/Pattern.hs+formatted 4da1703227de hakyll-4.17.0.0/lib/Hakyll/Core/Identifier/Pattern/Internal.hs+formatted 25bce39252d0 hakyll-4.17.0.0/lib/Hakyll/Core/Item.hs+formatted ea66b0f47f92 hakyll-4.17.0.0/lib/Hakyll/Core/Item/SomeItem.hs+formatted 8d06795590b2 hakyll-4.17.0.0/lib/Hakyll/Core/Logger.hs+formatted 06876ce9052c hakyll-4.17.0.0/lib/Hakyll/Core/Metadata.hs+formatted 6e39852547dc hakyll-4.17.0.0/lib/Hakyll/Core/Provider.hs+formatted 1de546a3cffb hakyll-4.17.0.0/lib/Hakyll/Core/Provider/Internal.hs+formatted 4380c86a9504 hakyll-4.17.0.0/lib/Hakyll/Core/Provider/Metadata.hs+formatted 0cfbeb9b73ba hakyll-4.17.0.0/lib/Hakyll/Core/Provider/MetadataCache.hs+formatted 4d859f3e45b2 hakyll-4.17.0.0/lib/Hakyll/Core/Routes.hs+formatted 1be73b780ecd hakyll-4.17.0.0/lib/Hakyll/Core/Rules.hs+formatted 93257f6a99a8 hakyll-4.17.0.0/lib/Hakyll/Core/Rules/Internal.hs+formatted f97472fe3373 hakyll-4.17.0.0/lib/Hakyll/Core/Runtime.hs+formatted df1c2bd7e8fb hakyll-4.17.0.0/lib/Hakyll/Core/Store.hs+formatted bdd417b6806c hakyll-4.17.0.0/lib/Hakyll/Core/UnixFilter.hs+formatted acbb971a63bc hakyll-4.17.0.0/lib/Hakyll/Core/Util/File.hs+formatted 5cef0dfbc5f6 hakyll-4.17.0.0/lib/Hakyll/Core/Util/Parser.hs+formatted 3f21bbf445b2 hakyll-4.17.0.0/lib/Hakyll/Core/Util/String.hs+formatted a3abc0522132 hakyll-4.17.0.0/lib/Hakyll/Core/Writable.hs+formatted 89452e47ea7e hakyll-4.17.0.0/lib/Hakyll/Main.hs+formatted 6ed09594e890 hakyll-4.17.0.0/lib/Hakyll/Preview/Poll.hs+formatted d363dc04f1a7 hakyll-4.17.0.0/lib/Hakyll/Preview/Server.hs+formatted 90f95798e3c7 hakyll-4.17.0.0/lib/Hakyll/Web/CompressCss.hs+formatted 671587b91bc7 hakyll-4.17.0.0/lib/Hakyll/Web/Feed.hs+formatted e50bf6641fdd hakyll-4.17.0.0/lib/Hakyll/Web/Html.hs+formatted 2c80bbb22db0 hakyll-4.17.0.0/lib/Hakyll/Web/Html/RelativizeUrls.hs+formatted 96d6089c0c79 hakyll-4.17.0.0/lib/Hakyll/Web/Meta/JSONLD.hs+formatted a3dbe80d0b45 hakyll-4.17.0.0/lib/Hakyll/Web/Meta/OpenGraph.hs+formatted a3b6503b2c4a hakyll-4.17.0.0/lib/Hakyll/Web/Meta/TwitterCard.hs+formatted 47b99b2ffc3a hakyll-4.17.0.0/lib/Hakyll/Web/Paginate.hs+formatted b95f8f27cbd7 hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc.hs+formatted c168dc9fdb41 hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc/Biblio.hs+formatted 63c711e3ed6f hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc/Binary.hs+formatted 0fc2b889ce48 hakyll-4.17.0.0/lib/Hakyll/Web/Pandoc/FileType.hs+formatted d77258d3d120 hakyll-4.17.0.0/lib/Hakyll/Web/Redirect.hs+formatted 89e848715da3 hakyll-4.17.0.0/lib/Hakyll/Web/Tags.hs+formatted 07888eef3bb3 hakyll-4.17.0.0/lib/Hakyll/Web/Template.hs+formatted 61c4714e9090 hakyll-4.17.0.0/lib/Hakyll/Web/Template/Context.hs+formatted 46295fe0766a hakyll-4.17.0.0/lib/Hakyll/Web/Template/Internal.hs+formatted d367498bf2ae hakyll-4.17.0.0/lib/Hakyll/Web/Template/Internal/Element.hs+formatted 7741b1b5c63c hakyll-4.17.0.0/lib/Hakyll/Web/Template/Internal/Trim.hs+formatted 270fe0160883 hakyll-4.17.0.0/lib/Hakyll/Web/Template/List.hs+formatted 73b58eb8d063 hakyll-4.17.0.0/src/Init.hs+formatted a98f565dc3bd hakyll-4.17.0.0/tests/Hakyll/Core/Dependencies/Tests.hs+formatted 3bf0323ba67d hakyll-4.17.0.0/tests/Hakyll/Core/Identifier/Tests.hs+formatted 9de7f44e0478 hakyll-4.17.0.0/tests/Hakyll/Core/Provider/Metadata/Tests.hs+formatted 7741f8e19a21 hakyll-4.17.0.0/tests/Hakyll/Core/Provider/Tests.hs+formatted 0a6fac8a3fe5 hakyll-4.17.0.0/tests/Hakyll/Core/Routes/Tests.hs+formatted db910a6e5dc7 hakyll-4.17.0.0/tests/Hakyll/Core/Rules/Tests.hs+formatted 82ed53ac9567 hakyll-4.17.0.0/tests/Hakyll/Core/Runtime/Tests.hs+formatted 3a05a7e0bc33 hakyll-4.17.0.0/tests/Hakyll/Core/Store/Tests.hs+formatted 1d5cb288b64e hakyll-4.17.0.0/tests/Hakyll/Core/UnixFilter/Tests.hs+formatted 6e4a85499d79 hakyll-4.17.0.0/tests/Hakyll/Core/Util/String/Tests.hs+formatted f1ebb50fe01f hakyll-4.17.0.0/tests/Hakyll/Web/CompressCss/Tests.hs+formatted 80f74904677f hakyll-4.17.0.0/tests/Hakyll/Web/Feed/Tests.hs+formatted d894df9d2439 hakyll-4.17.0.0/tests/Hakyll/Web/Html/RelativizeUrls/Tests.hs+formatted 4744c78df9c5 hakyll-4.17.0.0/tests/Hakyll/Web/Html/Tests.hs+formatted 2a15f11a4a04 hakyll-4.17.0.0/tests/Hakyll/Web/Pandoc/Biblio/Tests.hs+formatted 2ea236fa5d2a hakyll-4.17.0.0/tests/Hakyll/Web/Pandoc/FileType/Tests.hs+formatted 9f03f7b47ce5 hakyll-4.17.0.0/tests/Hakyll/Web/Tags/Tests.hs+formatted c56b3b0da4d3 hakyll-4.17.0.0/tests/Hakyll/Web/Template/Context/Tests.hs+formatted e2ffd8e19970 hakyll-4.17.0.0/tests/Hakyll/Web/Template/Tests.hs+formatted 809577082614 hakyll-4.17.0.0/tests/TestSuite.hs+formatted d0e8ca390798 hakyll-4.17.0.0/tests/TestSuite/Util.hs+formatted 66153c16e099 hakyll-4.17.0.0/web/site.hs+formatted 9226007b6541 hashable-1.5.1.0/Setup.hs+formatted ca97ac3a2690 hashable-1.5.1.0/examples/Main.hs+formatted eeae7da4f236 hashable-1.5.1.0/src/Data/Hashable.hs+partly-checked 87f8823c46f6 hashable-1.5.1.0/src/Data/Hashable/Class.hs+formatted 77b173dc1cff hashable-1.5.1.0/src/Data/Hashable/FFI.hs+formatted d2be5b809f2a hashable-1.5.1.0/src/Data/Hashable/Generic.hs+formatted bef7142e6e4e hashable-1.5.1.0/src/Data/Hashable/Generic/Instances.hs+formatted c9c87bb00bc0 hashable-1.5.1.0/src/Data/Hashable/Imports.hs+formatted e6b4c010a36d hashable-1.5.1.0/src/Data/Hashable/Lifted.hs+formatted 710bda251742 hashable-1.5.1.0/src/Data/Hashable/LowLevel.hs+formatted 228c88ef0843 hashable-1.5.1.0/src/Data/Hashable/Mix.hs+formatted bd7108c77ca4 hashable-1.5.1.0/src/Data/Hashable/XXH3.hs+formatted f74f5b618f9a hashable-1.5.1.0/tests/Main.hs+formatted 32ee1e5efc54 hashable-1.5.1.0/tests/Properties.hs+formatted aa65b20321d6 hashable-1.5.1.0/tests/Regress.hs+formatted 468c72120829 hashable-1.5.1.0/tests/xxhash-tests.hs+formatted fd56f35a1469 haxl-2.5.1.1/Haxl/Core.hs+formatted d1219c0fe211 haxl-2.5.1.1/Haxl/Core/CallGraph.hs+formatted df46f7db59bc haxl-2.5.1.1/Haxl/Core/DataCache.hs+formatted 23dc644893ba haxl-2.5.1.1/Haxl/Core/DataSource.hs+formatted 30d8adb0a3bc haxl-2.5.1.1/Haxl/Core/Exception.hs+formatted 270cd401eb34 haxl-2.5.1.1/Haxl/Core/Fetch.hs+formatted b4afaa8d717d haxl-2.5.1.1/Haxl/Core/Flags.hs+formatted 6116af7c8eab haxl-2.5.1.1/Haxl/Core/Memo.hs+formatted 331b6d94ce03 haxl-2.5.1.1/Haxl/Core/Monad.hs+formatted 19ee0e1d26fe haxl-2.5.1.1/Haxl/Core/Parallel.hs+formatted d03eb9460c3a haxl-2.5.1.1/Haxl/Core/Profile.hs+formatted 015cb76495fb haxl-2.5.1.1/Haxl/Core/RequestStore.hs+formatted c0648ec8a2c7 haxl-2.5.1.1/Haxl/Core/Run.hs+formatted a8e73c380c33 haxl-2.5.1.1/Haxl/Core/ShowP.hs+formatted f2cb25c4ae73 haxl-2.5.1.1/Haxl/Core/StateStore.hs+formatted fa6eb029c52a haxl-2.5.1.1/Haxl/Core/Stats.hs+formatted bd368a5862fd haxl-2.5.1.1/Haxl/Core/Util.hs+formatted 4d201ce15d28 haxl-2.5.1.1/Haxl/DataSource/ConcurrentIO.hs+formatted cf38b55569d1 haxl-2.5.1.1/Haxl/Prelude.hs+formatted 0bf115c25c25 haxl-2.5.1.1/Setup.hs+formatted 5897e1a72e86 haxl-2.5.1.1/tests/AdoTests.hs+formatted 7392cb2bf8df haxl-2.5.1.1/tests/AllTests.hs+formatted 29963bfcd43e haxl-2.5.1.1/tests/BadDataSource.hs+formatted 9869a85f8734 haxl-2.5.1.1/tests/BatchTests.hs+formatted a75656cc58b4 haxl-2.5.1.1/tests/Bench.hs+formatted 6b4d75212e14 haxl-2.5.1.1/tests/CoreTests.hs+formatted 46378c08a2d4 haxl-2.5.1.1/tests/DataCacheTest.hs+formatted 8120f9ee1106 haxl-2.5.1.1/tests/DataSourceDispatchTests.hs+formatted 04f8f254da6b haxl-2.5.1.1/tests/ExampleDataSource.hs+formatted 962f9962dfb5 haxl-2.5.1.1/tests/ExceptionStackTests.hs+formatted 329e1c7e0fd4 haxl-2.5.1.1/tests/FullyAsyncTest.hs+formatted 5b348a1f5fab haxl-2.5.1.1/tests/LoadCache.hs+formatted 4c9a496637db haxl-2.5.1.1/tests/MemoizationTests.hs+formatted cd2dd7052af8 haxl-2.5.1.1/tests/MockTAO.hs+formatted 679224c9d5e5 haxl-2.5.1.1/tests/MonadAsyncTest.hs+formatted 08f288ec8741 haxl-2.5.1.1/tests/MonadBench.hs+formatted be417b8bc52f haxl-2.5.1.1/tests/OutgoneFetchesTests.hs+formatted f760bff6e190 haxl-2.5.1.1/tests/ParallelTests.hs+formatted c757b6a749ba haxl-2.5.1.1/tests/ProfileTests.hs+formatted 478999c2d1bd haxl-2.5.1.1/tests/SleepDataSource.hs+formatted 23f293b1253d haxl-2.5.1.1/tests/StatsTests.hs+formatted 0deec7d41cb2 haxl-2.5.1.1/tests/TestBadDataSource.hs+formatted 6270eac19e14 haxl-2.5.1.1/tests/TestExampleDataSource.hs+formatted 33f33c2b6767 haxl-2.5.1.1/tests/TestMain.hs+formatted c0a01d1bb863 haxl-2.5.1.1/tests/TestTypes.hs+formatted 0cdf14515138 haxl-2.5.1.1/tests/TestUtils.hs+formatted 19781f6f8677 haxl-2.5.1.1/tests/WorkDataSource.hs+formatted b8be7bcaa06e haxl-2.5.1.1/tests/WriteTests.hs+formatted ac2ee89a4ffa hedgehog-1.7/src/Hedgehog.hs+formatted 1c094fda6263 hedgehog-1.7/src/Hedgehog/Gen.hs+formatted c03c7c6e1080 hedgehog-1.7/src/Hedgehog/Internal/Barbie.hs+formatted d9db2ccb4bc7 hedgehog-1.7/src/Hedgehog/Internal/Config.hs+formatted 7855a4bfe6fc hedgehog-1.7/src/Hedgehog/Internal/Discovery.hs+formatted 15b153c4095e hedgehog-1.7/src/Hedgehog/Internal/Distributive.hs+formatted db3d79ebed8e hedgehog-1.7/src/Hedgehog/Internal/Exception.hs+formatted 94960f681457 hedgehog-1.7/src/Hedgehog/Internal/Gen.hs+formatted 82bd44e46c74 hedgehog-1.7/src/Hedgehog/Internal/HTraversable.hs+formatted 0b6e930c617c hedgehog-1.7/src/Hedgehog/Internal/Opaque.hs+formatted 0c41d0d4f087 hedgehog-1.7/src/Hedgehog/Internal/Prelude.hs+formatted a48f67a8e4b7 hedgehog-1.7/src/Hedgehog/Internal/Property.hs+formatted 144a39866885 hedgehog-1.7/src/Hedgehog/Internal/Queue.hs+formatted 9d14d12ad0b0 hedgehog-1.7/src/Hedgehog/Internal/Range.hs+formatted e83fa4c27743 hedgehog-1.7/src/Hedgehog/Internal/Region.hs+formatted ffa4ddc6361c hedgehog-1.7/src/Hedgehog/Internal/Report.hs+formatted 1c86cc2eaef4 hedgehog-1.7/src/Hedgehog/Internal/Runner.hs+formatted fb3eda304e9f hedgehog-1.7/src/Hedgehog/Internal/Seed.hs+formatted 8b91f20c13a8 hedgehog-1.7/src/Hedgehog/Internal/Show.hs+formatted c446e4f9c366 hedgehog-1.7/src/Hedgehog/Internal/Shrink.hs+formatted c083b8dff0b7 hedgehog-1.7/src/Hedgehog/Internal/Source.hs+formatted ea48c5d7dba1 hedgehog-1.7/src/Hedgehog/Internal/State.hs+formatted 8c1393826b50 hedgehog-1.7/src/Hedgehog/Internal/TH.hs+formatted 79e0eb255f0f hedgehog-1.7/src/Hedgehog/Internal/Tree.hs+formatted 42e8fad71904 hedgehog-1.7/src/Hedgehog/Internal/Tripping.hs+formatted 33c9141eeffd hedgehog-1.7/src/Hedgehog/Main.hs+formatted d71772dad16c hedgehog-1.7/src/Hedgehog/Range.hs+formatted e23ab85e9c05 hedgehog-1.7/test/Test/Hedgehog/Applicative.hs+formatted 37e6a1383406 hedgehog-1.7/test/Test/Hedgehog/Confidence.hs+formatted 937e5890d2b0 hedgehog-1.7/test/Test/Hedgehog/Filter.hs+formatted 6e253dd6a871 hedgehog-1.7/test/Test/Hedgehog/Maybe.hs+formatted b90e9af1e67d hedgehog-1.7/test/Test/Hedgehog/Seed.hs+formatted 4edd92333a33 hedgehog-1.7/test/Test/Hedgehog/Skip.hs+formatted d20ec251ab72 hedgehog-1.7/test/Test/Hedgehog/Text.hs+formatted 2d3b2e9d7168 hedgehog-1.7/test/Test/Hedgehog/Zip.hs+formatted df799f9ffb57 hedgehog-1.7/test/test.hs+formatted f6dcbd2ed311 hledger-1.52.1/Hledger/Cli.hs+formatted 367c43f7a331 hledger-1.52.1/Hledger/Cli/Anchor.hs+formatted 8da9d899b517 hledger-1.52.1/Hledger/Cli/Anon.hs+formatted 9dd2718db13b hledger-1.52.1/Hledger/Cli/CliOptions.hs+formatted e5decead5a84 hledger-1.52.1/Hledger/Cli/Commands.hs+formatted 982029c1f001 hledger-1.52.1/Hledger/Cli/Commands/Accounts.hs+formatted 17bf0339577c hledger-1.52.1/Hledger/Cli/Commands/Activity.hs+formatted 16f8888d5909 hledger-1.52.1/Hledger/Cli/Commands/Add.hs+formatted 61e6c36c3497 hledger-1.52.1/Hledger/Cli/Commands/Aregister.hs+formatted e54ad4de1d4e hledger-1.52.1/Hledger/Cli/Commands/Balance.hs+formatted df62b41123dc hledger-1.52.1/Hledger/Cli/Commands/Balancesheet.hs+formatted 2a8714e55f40 hledger-1.52.1/Hledger/Cli/Commands/Balancesheetequity.hs+formatted a74be8a824e5 hledger-1.52.1/Hledger/Cli/Commands/Cashflow.hs+formatted 9f950310dd7f hledger-1.52.1/Hledger/Cli/Commands/Check.hs+formatted d72408ffa321 hledger-1.52.1/Hledger/Cli/Commands/Close.hs+formatted e9c489e0f01e hledger-1.52.1/Hledger/Cli/Commands/Codes.hs+formatted 075784a0845d hledger-1.52.1/Hledger/Cli/Commands/Commodities.hs+formatted b88eaa5e1e83 hledger-1.52.1/Hledger/Cli/Commands/Demo.hs+formatted 82dfab8a9677 hledger-1.52.1/Hledger/Cli/Commands/Descriptions.hs+formatted 3999deea0979 hledger-1.52.1/Hledger/Cli/Commands/Diff.hs+formatted b51410797a83 hledger-1.52.1/Hledger/Cli/Commands/Files.hs+formatted 15d50a6cb01a hledger-1.52.1/Hledger/Cli/Commands/Help.hs+formatted 6f60ce8d90d0 hledger-1.52.1/Hledger/Cli/Commands/Import.hs+formatted 3fc4bde8aaae hledger-1.52.1/Hledger/Cli/Commands/Incomestatement.hs+formatted e795242e76e2 hledger-1.52.1/Hledger/Cli/Commands/Notes.hs+formatted 7868c26f6945 hledger-1.52.1/Hledger/Cli/Commands/Payees.hs+formatted 74c42e16a7cb hledger-1.52.1/Hledger/Cli/Commands/Prices.hs+formatted 177a0e3d59ff hledger-1.52.1/Hledger/Cli/Commands/Print.hs+formatted b3664f32c410 hledger-1.52.1/Hledger/Cli/Commands/Register.hs+formatted fe57269eee06 hledger-1.52.1/Hledger/Cli/Commands/Rewrite.hs+formatted 47c5a107dffd hledger-1.52.1/Hledger/Cli/Commands/Roi.hs+formatted 446ba4a560aa hledger-1.52.1/Hledger/Cli/Commands/Run.hs+formatted ea4fee5c5510 hledger-1.52.1/Hledger/Cli/Commands/Setup.hs+formatted ebb24201e89a hledger-1.52.1/Hledger/Cli/Commands/Stats.hs+formatted c0d493d6d059 hledger-1.52.1/Hledger/Cli/Commands/Tags.hs+formatted 1f04a41315cb hledger-1.52.1/Hledger/Cli/CompoundBalanceCommand.hs+formatted 48c180b42259 hledger-1.52.1/Hledger/Cli/Conf.hs+formatted 261d1d375816 hledger-1.52.1/Hledger/Cli/DocFiles.hs+formatted e2b8c81fe6ee hledger-1.52.1/Hledger/Cli/Script.hs+formatted 387a9a45d1e9 hledger-1.52.1/Hledger/Cli/Utils.hs+formatted 54a7475ed07e hledger-1.52.1/Hledger/Cli/Version.hs+formatted e865ae48f11b hledger-1.52.1/Setup.hs+formatted 5f05220c744b hledger-1.52.1/app/hledger-cli.hs+formatted 367217908354 hledger-1.52.1/bench/bench.hs+formatted 770ce114d693 hledger-1.52.1/test/unittest.hs+formatted e865ae48f11b hlint-3.10/Setup.hs+formatted 0b9c394414b3 hlint-3.10/data/HLint_QuickCheck.hs+declined - hlint-3.10/data/HLint_TypeCheck.hs+formatted 7f62e2698706 hlint-3.10/data/Test.hs+formatted a3cf0d266650 hlint-3.10/src/Apply.hs+formatted 8114bd9792d9 hlint-3.10/src/CC.hs+formatted 0b9726856d3e hlint-3.10/src/CmdLine.hs+formatted 5ecebf30e886 hlint-3.10/src/Config/Compute.hs+formatted 76a1b906c927 hlint-3.10/src/Config/Haskell.hs+formatted 747182f5f5c1 hlint-3.10/src/Config/Read.hs+formatted 36ef2b52eee9 hlint-3.10/src/Config/Type.hs+formatted 2318c0eeb167 hlint-3.10/src/Config/Yaml.hs+formatted 871e24292ba2 hlint-3.10/src/EmbedData.hs+formatted 17b761cb46a0 hlint-3.10/src/Extension.hs+formatted 232c5ddbbb9b hlint-3.10/src/Fixity.hs+formatted 1c82631c3859 hlint-3.10/src/GHC/All.hs+formatted 63d81c2c405a hlint-3.10/src/GHC/Util.hs+formatted f8ab552f2009 hlint-3.10/src/GHC/Util/ApiAnnotation.hs+formatted c2680a511d29 hlint-3.10/src/GHC/Util/Brackets.hs+formatted 8cff3984ef92 hlint-3.10/src/GHC/Util/DynFlags.hs+formatted 7c1f93703a5a hlint-3.10/src/GHC/Util/FreeVars.hs+formatted 3d386a403912 hlint-3.10/src/GHC/Util/HsDecl.hs+formatted 86e7bc3b5850 hlint-3.10/src/GHC/Util/HsExpr.hs+formatted d1d6f4c3efc7 hlint-3.10/src/GHC/Util/Scope.hs+formatted d8a06089d209 hlint-3.10/src/GHC/Util/SrcLoc.hs+formatted 57a53e29344b hlint-3.10/src/GHC/Util/Unify.hs+formatted b405492ce03f hlint-3.10/src/GHC/Util/View.hs+formatted 6a92057478ff hlint-3.10/src/HLint.hs+formatted 9c128d41e9da hlint-3.10/src/Hint/All.hs+formatted 92b62ac403c1 hlint-3.10/src/Hint/Bracket.hs+formatted e0953eb3c567 hlint-3.10/src/Hint/Comment.hs+formatted 6ad7311bca93 hlint-3.10/src/Hint/Duplicate.hs+formatted 63510e8bd4a6 hlint-3.10/src/Hint/Export.hs+formatted 7bef350e46fd hlint-3.10/src/Hint/Extensions.hs+formatted 8499a9dafb7a hlint-3.10/src/Hint/Fixities.hs+formatted aab2b0975534 hlint-3.10/src/Hint/Import.hs+formatted 7fa5ea0b1e9a hlint-3.10/src/Hint/Lambda.hs+formatted 272b8222175a hlint-3.10/src/Hint/List.hs+formatted 8f1d0c686e2b hlint-3.10/src/Hint/ListRec.hs+formatted 3027b7686bbd hlint-3.10/src/Hint/Match.hs+formatted 7215f269ef89 hlint-3.10/src/Hint/Monad.hs+formatted 4d078aac9ede hlint-3.10/src/Hint/Naming.hs+formatted a1a5d9519cee hlint-3.10/src/Hint/Negation.hs+formatted 9bd70a7dc4ae hlint-3.10/src/Hint/NewType.hs+formatted f6fa0661942d hlint-3.10/src/Hint/NumLiteral.hs+formatted f9c646cee321 hlint-3.10/src/Hint/Pattern.hs+formatted 0076ccb5bd1c hlint-3.10/src/Hint/Pragma.hs+formatted 5dd8e1ba7821 hlint-3.10/src/Hint/Restrict.hs+formatted a55fbaad4a77 hlint-3.10/src/Hint/Smell.hs+formatted 3308ee100b88 hlint-3.10/src/Hint/Type.hs+formatted a7c7f90eb40c hlint-3.10/src/Hint/Unsafe.hs+formatted 48cd04ad2e02 hlint-3.10/src/HsColour.hs+formatted dd9801a47942 hlint-3.10/src/Idea.hs+formatted 576b754ba5d4 hlint-3.10/src/Language/Haskell/HLint.hs+formatted 7b8846cb4591 hlint-3.10/src/Main.hs+formatted fcdf50a5835c hlint-3.10/src/Parallel.hs+formatted cddb107b52b7 hlint-3.10/src/Refact.hs+formatted 97865215d682 hlint-3.10/src/Report.hs+formatted e370044256db hlint-3.10/src/SARIF.hs+formatted 3a554bc4caa1 hlint-3.10/src/Summary.hs+formatted 3b64750323e1 hlint-3.10/src/Test/All.hs+formatted 63a9906d70b9 hlint-3.10/src/Test/Annotations.hs+formatted d9f760fed213 hlint-3.10/src/Test/InputOutput.hs+formatted 265163b13605 hlint-3.10/src/Test/Util.hs+formatted 0f5eb69b44dd hlint-3.10/src/Timing.hs+formatted 40bafe709540 hlint-3.10/src/Util.hs+formatted 14f5f9f6c72a hspec-core-2.11.17/src/GetOpt/Declarative.hs+formatted 13b54fc56d9e hspec-core-2.11.17/src/GetOpt/Declarative/Environment.hs+formatted ac874aa7540a hspec-core-2.11.17/src/GetOpt/Declarative/Interpret.hs+formatted aed8c8d69571 hspec-core-2.11.17/src/GetOpt/Declarative/Types.hs+formatted 7963314c7b2d hspec-core-2.11.17/src/GetOpt/Declarative/Util.hs+formatted c59700aebda7 hspec-core-2.11.17/src/Test/Hspec/Core/Annotations.hs+formatted aaed3a708e2b hspec-core-2.11.17/src/Test/Hspec/Core/Clock.hs+formatted daebbe191e9f hspec-core-2.11.17/src/Test/Hspec/Core/Compat.hs+formatted f5ded9eab569 hspec-core-2.11.17/src/Test/Hspec/Core/Config.hs+formatted b9ed2689f1a4 hspec-core-2.11.17/src/Test/Hspec/Core/Config/Definition.hs+formatted 93914a41d318 hspec-core-2.11.17/src/Test/Hspec/Core/Config/Options.hs+formatted 38a2774bf309 hspec-core-2.11.17/src/Test/Hspec/Core/Example.hs+formatted 78f6f2a2f383 hspec-core-2.11.17/src/Test/Hspec/Core/Example/Location.hs+formatted 19c90134f072 hspec-core-2.11.17/src/Test/Hspec/Core/Extension.hs+formatted b5766e2580e3 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Config.hs+formatted b0c9672ff2ee hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Config/Type.hs+formatted dfaf22b9e266 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Item.hs+formatted 61fffea8ad44 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Option.hs+formatted 2c1d2b4038d2 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Spec.hs+formatted 090871045b95 hspec-core-2.11.17/src/Test/Hspec/Core/Extension/Tree.hs+formatted 53c4bba788e8 hspec-core-2.11.17/src/Test/Hspec/Core/FailureReport.hs+formatted a49d2bd24295 hspec-core-2.11.17/src/Test/Hspec/Core/Format.hs+formatted b8b03afd38ee hspec-core-2.11.17/src/Test/Hspec/Core/Formatters.hs+formatted 0f6c87760ec2 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Diff.hs+formatted 337da9e04e1d hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Internal.hs+formatted 463fbae99397 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Pretty.hs+formatted 71e26cb11ffa hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Pretty/Parser.hs+formatted 07264fb33ca8 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/Pretty/Unicode.hs+formatted 32564aeda195 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1.hs+formatted f7f280a9eab8 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1/Free.hs+formatted be38872426b7 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1/Internal.hs+formatted 94d88619a62f hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V1/Monad.hs+formatted b83d7732b214 hspec-core-2.11.17/src/Test/Hspec/Core/Formatters/V2.hs+formatted f3ed1fa624ba hspec-core-2.11.17/src/Test/Hspec/Core/Hooks.hs+formatted d7e33bec18c0 hspec-core-2.11.17/src/Test/Hspec/Core/QuickCheck.hs+formatted 5cbcf4cb40d4 hspec-core-2.11.17/src/Test/Hspec/Core/QuickCheck/Util.hs+formatted 1be2d9c4a008 hspec-core-2.11.17/src/Test/Hspec/Core/Runner.hs+formatted 559e8587e33c hspec-core-2.11.17/src/Test/Hspec/Core/Runner/Eval.hs+formatted 45d877a0b59c hspec-core-2.11.17/src/Test/Hspec/Core/Runner/JobQueue.hs+formatted 486c3e882e3e hspec-core-2.11.17/src/Test/Hspec/Core/Runner/PrintSlowSpecItems.hs+formatted 800cbdaf0858 hspec-core-2.11.17/src/Test/Hspec/Core/Runner/Result.hs+formatted d699e2b567f5 hspec-core-2.11.17/src/Test/Hspec/Core/Shuffle.hs+formatted 929d1248e847 hspec-core-2.11.17/src/Test/Hspec/Core/Spec.hs+formatted 0aaa70c4113f hspec-core-2.11.17/src/Test/Hspec/Core/Spec/Monad.hs+formatted 1b327d112974 hspec-core-2.11.17/src/Test/Hspec/Core/Timer.hs+formatted 358c754dd8df hspec-core-2.11.17/src/Test/Hspec/Core/Tree.hs+formatted 80d2d2b8d380 hspec-core-2.11.17/src/Test/Hspec/Core/Util.hs+formatted 4030224416bf hspec-core-2.11.17/test/GetOpt/Declarative/EnvironmentSpec.hs+formatted 6655e2e71bb3 hspec-core-2.11.17/test/GetOpt/Declarative/UtilSpec.hs+formatted aaa94a74898c hspec-core-2.11.17/test/Helper.hs+formatted 10aa2070ffb6 hspec-core-2.11.17/test/Mock.hs+formatted 42263bafabb2 hspec-core-2.11.17/test/Spec.hs+formatted 409fb8a0b5e3 hspec-core-2.11.17/test/SpecHook.hs+formatted ae9de2079048 hspec-core-2.11.17/test/Test/Hspec/Core/AnnotationsSpec.hs+formatted 1157d1650ac3 hspec-core-2.11.17/test/Test/Hspec/Core/ClockSpec.hs+formatted 819d29d3431f hspec-core-2.11.17/test/Test/Hspec/Core/CompatSpec.hs+formatted e5db68e3c868 hspec-core-2.11.17/test/Test/Hspec/Core/Config/DefinitionSpec.hs+formatted 105756fabf5e hspec-core-2.11.17/test/Test/Hspec/Core/Config/OptionsSpec.hs+formatted edfe82f15e2d hspec-core-2.11.17/test/Test/Hspec/Core/ConfigSpec.hs+formatted d3f3063d7de1 hspec-core-2.11.17/test/Test/Hspec/Core/Example/LocationSpec.hs+formatted dc7ffd47b78e hspec-core-2.11.17/test/Test/Hspec/Core/ExampleSpec.hs+formatted 1a45c62099d0 hspec-core-2.11.17/test/Test/Hspec/Core/FailureReportSpec.hs+formatted 8992979a0121 hspec-core-2.11.17/test/Test/Hspec/Core/FormatSpec.hs+formatted c2d7791f1000 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/DiffSpec.hs+formatted 63df1c3fa7b1 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/InternalSpec.hs+formatted 2ffb49f5a742 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/Pretty/ParserSpec.hs+formatted afa9ffaa3bf1 hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/Pretty/UnicodeSpec.hs+formatted ac2da1dd4d6b hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/PrettySpec.hs+formatted 2665482bea3b hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/V1Spec.hs+formatted fdce61371e6b hspec-core-2.11.17/test/Test/Hspec/Core/Formatters/V2Spec.hs+formatted 177347d407e1 hspec-core-2.11.17/test/Test/Hspec/Core/HooksSpec.hs+formatted ad736b09b724 hspec-core-2.11.17/test/Test/Hspec/Core/QuickCheck/UtilSpec.hs+formatted 775321ce08bf hspec-core-2.11.17/test/Test/Hspec/Core/Runner/EvalSpec.hs+formatted 7eadb8336461 hspec-core-2.11.17/test/Test/Hspec/Core/Runner/JobQueueSpec.hs+formatted 0d283fd19887 hspec-core-2.11.17/test/Test/Hspec/Core/Runner/PrintSlowSpecItemsSpec.hs+formatted 2781ae88628b hspec-core-2.11.17/test/Test/Hspec/Core/Runner/ResultSpec.hs+formatted 5c98171187e3 hspec-core-2.11.17/test/Test/Hspec/Core/RunnerSpec.hs+formatted 711af46b8809 hspec-core-2.11.17/test/Test/Hspec/Core/ShuffleSpec.hs+formatted 109f785c9f28 hspec-core-2.11.17/test/Test/Hspec/Core/SpecSpec.hs+formatted ccd964421c9d hspec-core-2.11.17/test/Test/Hspec/Core/TimerSpec.hs+formatted ad44f3bb30b2 hspec-core-2.11.17/test/Test/Hspec/Core/TreeSpec.hs+formatted 9b07f9624b8d hspec-core-2.11.17/test/Test/Hspec/Core/UtilSpec.hs+formatted e13927dd80dc hspec-core-2.11.17/vendor/Data/Algorithm/Diff.hs+partly-checked 03ba27ab9fd5 hspec-core-2.11.17/vendor/async-2.2.5/Control/Concurrent/Async.hs+formatted bea44982097a hspec-core-2.11.17/vendor/stm-2.5.0.1/Control/Concurrent/STM/TMVar.hs+formatted b3d4964504e7 http-client-0.7.19/Data/KeyedPool.hs+formatted 3e436f1b2afb http-client-0.7.19/Network/HTTP/Client.hs+formatted 547642efe2cc http-client-0.7.19/Network/HTTP/Client/Body.hs+formatted d5454cf22a87 http-client-0.7.19/Network/HTTP/Client/Connection.hs+formatted b7a129091d84 http-client-0.7.19/Network/HTTP/Client/Cookies.hs+formatted d532447f828a http-client-0.7.19/Network/HTTP/Client/Core.hs+formatted 7a5aad8e01a5 http-client-0.7.19/Network/HTTP/Client/Headers.hs+formatted 44b1ad27a89e http-client-0.7.19/Network/HTTP/Client/Internal.hs+formatted e04e09593516 http-client-0.7.19/Network/HTTP/Client/Manager.hs+formatted 67fd1b56f592 http-client-0.7.19/Network/HTTP/Client/MultipartFormData.hs+formatted 878a896a4834 http-client-0.7.19/Network/HTTP/Client/Request.hs+formatted cf2358330a5c http-client-0.7.19/Network/HTTP/Client/Response.hs+formatted d48abdb1339e http-client-0.7.19/Network/HTTP/Client/Types.hs+formatted ca6a48d5e983 http-client-0.7.19/Network/HTTP/Client/Util.hs+formatted 076df85ddc10 http-client-0.7.19/Network/HTTP/Proxy.hs+formatted e865ae48f11b http-client-0.7.19/Setup.hs+formatted b1d3bc1d8679 http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/DataStructure.hs+formatted 245d124b8415 http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/Lookup.hs+formatted 765e07adf78d http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/Serialize.hs+formatted a7f41d1b5ab1 http-client-0.7.19/publicsuffixlist/Network/PublicSuffixList/Types.hs+formatted 5a31984d56fd http-client-0.7.19/test-nonet/Network/HTTP/Client/BodySpec.hs+formatted 329d7775ecfb http-client-0.7.19/test-nonet/Network/HTTP/Client/ConnectionSpec.hs+formatted c152236f3c88 http-client-0.7.19/test-nonet/Network/HTTP/Client/CookieSpec.hs+formatted 11f71ff1af3c http-client-0.7.19/test-nonet/Network/HTTP/Client/HeadersSpec.hs+formatted 37bbc630210e http-client-0.7.19/test-nonet/Network/HTTP/Client/RequestBodySpec.hs+formatted 9d193cb0c288 http-client-0.7.19/test-nonet/Network/HTTP/Client/RequestSpec.hs+formatted 5109990dfcb0 http-client-0.7.19/test-nonet/Network/HTTP/Client/ResponseSpec.hs+formatted 78f0fd41871c http-client-0.7.19/test-nonet/Network/HTTP/ClientSpec.hs+formatted 2fbd14b119a4 http-client-0.7.19/test-nonet/Spec.hs+formatted b7ca700fa2e5 http-client-0.7.19/test/Network/HTTP/ClientSpec.hs+formatted 2fbd14b119a4 http-client-0.7.19/test/Spec.hs+formatted 13d151556922 http-types-0.12.6/Network/HTTP/Types.hs+formatted e7eff6d3c526 http-types-0.12.6/Network/HTTP/Types/Header.hs+formatted 26f2850b0a92 http-types-0.12.6/Network/HTTP/Types/Method.hs+formatted 937169187cf1 http-types-0.12.6/Network/HTTP/Types/QueryLike.hs+formatted 973c6368ae63 http-types-0.12.6/Network/HTTP/Types/Status.hs+formatted 8393cb3031e8 http-types-0.12.6/Network/HTTP/Types/URI.hs+formatted f437cc36b9fa http-types-0.12.6/Network/HTTP/Types/Version.hs+formatted e865ae48f11b http-types-0.12.6/Setup.hs+formatted 7d11c2eb808e http-types-0.12.6/test/Network/HTTP/Types/HeaderSpec.hs+formatted 1816a6090b5e http-types-0.12.6/test/Network/HTTP/Types/MethodSpec.hs+formatted 848ef1c45ded http-types-0.12.6/test/Network/HTTP/Types/StatusSpec.hs+formatted f94b29c98abb http-types-0.12.6/test/Network/HTTP/Types/URISpec.hs+formatted 5ac67585c5a1 http-types-0.12.6/test/Network/HTTP/Types/VersionSpec.hs+formatted 2fbd14b119a4 http-types-0.12.6/test/Spec.hs+formatted 6d7c004ed36a http-types-0.12.6/test/doctests.hs+formatted a98abaa3cc37 idris-1.3.4/Setup.hs+formatted 6c39a6764f61 idris-1.3.4/codegen/idris-codegen-c/Main.hs+formatted 66ce632c5bcb idris-1.3.4/codegen/idris-codegen-javascript/Main.hs+formatted 06a7843d0cd6 idris-1.3.4/codegen/idris-codegen-node/Main.hs+formatted eaa6467947db idris-1.3.4/main/Main.hs+formatted 3fd541795c69 idris-1.3.4/src/IRTS/Bytecode.hs+formatted 389c860d28b1 idris-1.3.4/src/IRTS/CodegenC.hs+formatted 9e5812762ec8 idris-1.3.4/src/IRTS/CodegenCommon.hs+formatted 563f242aebaf idris-1.3.4/src/IRTS/CodegenJavaScript.hs+formatted fd7bb36cb03b idris-1.3.4/src/IRTS/Compiler.hs+formatted 4e0f5b2e8aca idris-1.3.4/src/IRTS/Defunctionalise.hs+formatted 5147e632c0e4 idris-1.3.4/src/IRTS/DumpBC.hs+formatted 62c2f906c6c0 idris-1.3.4/src/IRTS/Exports.hs+formatted 9e44d172890b idris-1.3.4/src/IRTS/Inliner.hs+formatted ca2a16bd8e2f idris-1.3.4/src/IRTS/JavaScript/AST.hs+formatted 303007b18f14 idris-1.3.4/src/IRTS/JavaScript/Codegen.hs+formatted b171baf09627 idris-1.3.4/src/IRTS/JavaScript/LangTransforms.hs+formatted 837e1fafadd6 idris-1.3.4/src/IRTS/JavaScript/Name.hs+formatted cd5cebdbb649 idris-1.3.4/src/IRTS/JavaScript/PrimOp.hs+formatted c8b0770fe027 idris-1.3.4/src/IRTS/JavaScript/Specialize.hs+formatted cc4fb2a016e8 idris-1.3.4/src/IRTS/Lang.hs+formatted d959abd1dfe4 idris-1.3.4/src/IRTS/LangOpts.hs+formatted 54ee13488588 idris-1.3.4/src/IRTS/Portable.hs+formatted 2b9b1428a50f idris-1.3.4/src/IRTS/Simplified.hs+formatted c149d514359b idris-1.3.4/src/IRTS/System.hs+formatted 0b84ce237bb8 idris-1.3.4/src/Idris/ASTUtils.hs+formatted a8f154205e55 idris-1.3.4/src/Idris/AbsSyntax.hs+formatted f6be69b820bf idris-1.3.4/src/Idris/AbsSyntaxTree.hs+formatted 9f032fa98b74 idris-1.3.4/src/Idris/Apropos.hs+formatted 1b17f73d1ed1 idris-1.3.4/src/Idris/CaseSplit.hs+formatted 887228791bf4 idris-1.3.4/src/Idris/Chaser.hs+formatted a47646c618f2 idris-1.3.4/src/Idris/CmdOptions.hs+formatted 4da7f931a59f idris-1.3.4/src/Idris/Colours.hs+formatted 6890f5a88278 idris-1.3.4/src/Idris/Completion.hs+formatted 75f2ee4dbe05 idris-1.3.4/src/Idris/Core/Binary.hs+formatted 70e0c9ec5d29 idris-1.3.4/src/Idris/Core/CaseTree.hs+formatted fa5732ba0860 idris-1.3.4/src/Idris/Core/Constraints.hs+formatted 32e1f1dc7a41 idris-1.3.4/src/Idris/Core/DeepSeq.hs+formatted 3b956c85cb93 idris-1.3.4/src/Idris/Core/Elaborate.hs+formatted d0216dc5a258 idris-1.3.4/src/Idris/Core/Evaluate.hs+formatted 9e811f74925b idris-1.3.4/src/Idris/Core/Execute.hs+formatted 823bce2a23e1 idris-1.3.4/src/Idris/Core/ProofState.hs+formatted 0ccd6a932fe8 idris-1.3.4/src/Idris/Core/ProofTerm.hs+formatted cd52f6495e8c idris-1.3.4/src/Idris/Core/TT.hs+formatted d6069959015f idris-1.3.4/src/Idris/Core/Typecheck.hs+formatted 7872856d0301 idris-1.3.4/src/Idris/Core/Unify.hs+formatted 01a710f67630 idris-1.3.4/src/Idris/Core/WHNF.hs+formatted 36e22c48009d idris-1.3.4/src/Idris/Coverage.hs+formatted 61677e52356c idris-1.3.4/src/Idris/DSL.hs+formatted 04b448aefa16 idris-1.3.4/src/Idris/DataOpts.hs+formatted 591136fc0c25 idris-1.3.4/src/Idris/DeepSeq.hs+formatted 2ece0ec01e3c idris-1.3.4/src/Idris/Delaborate.hs+formatted c0a210b99952 idris-1.3.4/src/Idris/Directives.hs+formatted d3d91df82106 idris-1.3.4/src/Idris/Docs.hs+formatted a485f5642886 idris-1.3.4/src/Idris/Docstrings.hs+formatted a1c474156864 idris-1.3.4/src/Idris/Elab/AsPat.hs+formatted 0c12951dd00e idris-1.3.4/src/Idris/Elab/Clause.hs+formatted 9e5c2909e062 idris-1.3.4/src/Idris/Elab/Data.hs+formatted 8513eb951865 idris-1.3.4/src/Idris/Elab/Implementation.hs+formatted 9349c5236898 idris-1.3.4/src/Idris/Elab/Interface.hs+formatted 7c5f6b45e740 idris-1.3.4/src/Idris/Elab/Provider.hs+formatted 432315b423c7 idris-1.3.4/src/Idris/Elab/Quasiquote.hs+formatted 229f49cf1c9d idris-1.3.4/src/Idris/Elab/Record.hs+formatted 187fb9ddcd79 idris-1.3.4/src/Idris/Elab/Rewrite.hs+formatted 77ebc33633f8 idris-1.3.4/src/Idris/Elab/RunElab.hs+formatted 5ca384198b92 idris-1.3.4/src/Idris/Elab/Term.hs+formatted 43565a6d9bac idris-1.3.4/src/Idris/Elab/Transform.hs+formatted cf8cbbec4fe7 idris-1.3.4/src/Idris/Elab/Type.hs+formatted b3e66f72a9ac idris-1.3.4/src/Idris/Elab/Utils.hs+formatted ac9c50ffdaf7 idris-1.3.4/src/Idris/Elab/Value.hs+formatted 5ce0ed3888f3 idris-1.3.4/src/Idris/ElabDecls.hs+formatted ef766f0afd74 idris-1.3.4/src/Idris/Erasure.hs+formatted 7c4b0ef95bf4 idris-1.3.4/src/Idris/ErrReverse.hs+formatted 28314a1db8cc idris-1.3.4/src/Idris/Error.hs+formatted 21bcb871fca8 idris-1.3.4/src/Idris/Help.hs+formatted 3698ba4d3817 idris-1.3.4/src/Idris/IBC.hs+formatted 5964507fe26c idris-1.3.4/src/Idris/IdeMode.hs+formatted e909e2fe452b idris-1.3.4/src/Idris/IdrisDoc.hs+formatted 8b7f62814233 idris-1.3.4/src/Idris/Imports.hs+formatted 3e21520569d8 idris-1.3.4/src/Idris/Info.hs+formatted 90f54928d9ca idris-1.3.4/src/Idris/Info/Show.hs+formatted eb72f451c8f1 idris-1.3.4/src/Idris/Inliner.hs+formatted be060fc86cc8 idris-1.3.4/src/Idris/Interactive.hs+formatted 5071375a4820 idris-1.3.4/src/Idris/Main.hs+formatted be56610644ba idris-1.3.4/src/Idris/ModeCommon.hs+formatted 28bd80263c16 idris-1.3.4/src/Idris/Options.hs+formatted 969e2318f735 idris-1.3.4/src/Idris/Output.hs+formatted 05a01adec344 idris-1.3.4/src/Idris/Package.hs+formatted 2a5fae85b8c9 idris-1.3.4/src/Idris/Package/Common.hs+formatted 90885df148d3 idris-1.3.4/src/Idris/Package/Parser.hs+formatted ab0906fb24a3 idris-1.3.4/src/Idris/Parser.hs+formatted e4d16cf46f6b idris-1.3.4/src/Idris/Parser/Data.hs+formatted 56341a9cef2a idris-1.3.4/src/Idris/Parser/Expr.hs+formatted de7138f89659 idris-1.3.4/src/Idris/Parser/Helpers.hs+formatted edc130411af1 idris-1.3.4/src/Idris/Parser/Ops.hs+formatted 3f33ff4561d4 idris-1.3.4/src/Idris/Parser/Stack.hs+formatted 7f8889e1a85a idris-1.3.4/src/Idris/PartialEval.hs+formatted 58ad84ded5d8 idris-1.3.4/src/Idris/Primitives.hs+formatted 429ec8a4efee idris-1.3.4/src/Idris/ProofSearch.hs+formatted 168d70e142b3 idris-1.3.4/src/Idris/Prover.hs+formatted ad0ff1beaf54 idris-1.3.4/src/Idris/Providers.hs+formatted c47d07c305a7 idris-1.3.4/src/Idris/REPL.hs+formatted d43671c3f627 idris-1.3.4/src/Idris/REPL/Browse.hs+formatted 586418ee0cf6 idris-1.3.4/src/Idris/REPL/Commands.hs+formatted f36f6bde407f idris-1.3.4/src/Idris/REPL/Parser.hs+formatted a35f4ee64226 idris-1.3.4/src/Idris/Reflection.hs+formatted d8e303fd1eef idris-1.3.4/src/Idris/Termination.hs+formatted 6837e439e7d6 idris-1.3.4/src/Idris/Transforms.hs+formatted 06befdb6fc0c idris-1.3.4/src/Idris/TypeSearch.hs+formatted 528c0d503ddd idris-1.3.4/src/Idris/Unlit.hs+formatted b613b7be20de idris-1.3.4/src/Idris/WhoCalls.hs+formatted 7f4a44aa7694 idris-1.3.4/src/Util/DynamicLinker.hs+formatted 298e72ccbb61 idris-1.3.4/src/Util/Net.hs+formatted f47f361e150a idris-1.3.4/src/Util/Pretty.hs+formatted 13363649406c idris-1.3.4/src/Util/ScreenSize.hs+formatted 963968c021ee idris-1.3.4/src/Util/System.hs+formatted 9df5a10ea1fd idris-1.3.4/test/TestData.hs+formatted 720af8681b46 idris-1.3.4/test/TestRun.hs+formatted e865ae48f11b intero-0.1.40/Setup.hs+formatted 41797b039ec2 intero-0.1.40/src/Completion.hs+formatted 808924ac99ff intero-0.1.40/src/GhciFind.hs+partly-checked c0aea4c4237d intero-0.1.40/src/GhciInfo.hs+formatted e0fd727cd7cd intero-0.1.40/src/GhciMonad.hs+formatted 43c5576cb10f intero-0.1.40/src/GhciTags.hs+formatted 72999d5c814e intero-0.1.40/src/GhciTypes.hs+declined - intero-0.1.40/src/InteractiveUI.hs+formatted d3b894941b5e intero-0.1.40/src/Intero/Compat.hs+partly-checked f1e8bf4ae69f intero-0.1.40/src/Main.hs+formatted 13b22f1a2f96 intero-0.1.40/src/test/Main.hs+formatted 4fe73bbfe233 leksah-0.16.2.2/data/leksah-welcome/src/Main.hs+formatted 1cefb44a49bc leksah-0.16.2.2/data/leksah-welcome/test/Main.hs+formatted 34cb8bb8a612 leksah-0.16.2.2/main/Main.hs+formatted 0d71ef1dc947 leksah-0.16.2.2/src/IDE/BufferMode.hs+formatted 0cd8482b4f61 leksah-0.16.2.2/src/IDE/Build.hs+formatted d08cdd390358 leksah-0.16.2.2/src/IDE/Command.hs+formatted 311f46674981 leksah-0.16.2.2/src/IDE/Command/Print.hs+formatted 3587f60b8002 leksah-0.16.2.2/src/IDE/Command/VCS.hs+formatted 4c605686bc49 leksah-0.16.2.2/src/IDE/Command/VCS/Common.hs+formatted 10b6c6b7bbca leksah-0.16.2.2/src/IDE/Command/VCS/Common/GUI.hs+formatted 931de47dcc70 leksah-0.16.2.2/src/IDE/Command/VCS/Common/Helper.hs+formatted fa517869ef32 leksah-0.16.2.2/src/IDE/Command/VCS/Common/Workspaces.hs+formatted 703e291d1e3f leksah-0.16.2.2/src/IDE/Command/VCS/GIT.hs+formatted 5bebaffe9dd2 leksah-0.16.2.2/src/IDE/Command/VCS/Mercurial.hs+formatted 5af0b2acf931 leksah-0.16.2.2/src/IDE/Command/VCS/SVN.hs+formatted 7b9e3b7c3af1 leksah-0.16.2.2/src/IDE/Command/VCS/Types.hs+formatted 355e7822fb24 leksah-0.16.2.2/src/IDE/Completion.hs+formatted 83a32ce3d650 leksah-0.16.2.2/src/IDE/Core/State.hs+formatted b8029845c5f6 leksah-0.16.2.2/src/IDE/Core/Types.hs+formatted 375889d7ec16 leksah-0.16.2.2/src/IDE/Debug.hs+does-not-parse - leksah-0.16.2.2/src/IDE/Find.hs+formatted a7b49b049b8e leksah-0.16.2.2/src/IDE/GUIHistory.hs+formatted 8ac61c496a03 leksah-0.16.2.2/src/IDE/HLint.hs+formatted 8ddfdb5cd7cb leksah-0.16.2.2/src/IDE/ImportTool.hs+formatted c94ba55b56fd leksah-0.16.2.2/src/IDE/Keymap.hs+formatted 3f0638c605cd leksah-0.16.2.2/src/IDE/LPaste.hs+formatted ad760d284046 leksah-0.16.2.2/src/IDE/Leksah.hs+formatted cd678b5b6e72 leksah-0.16.2.2/src/IDE/LogRef.hs+formatted d41f35d520d8 leksah-0.16.2.2/src/IDE/Metainfo/Provider.hs+formatted add30e907a64 leksah-0.16.2.2/src/IDE/NotebookFlipper.hs+formatted d441d0417158 leksah-0.16.2.2/src/IDE/OSX.hs+formatted 749e1f9f6205 leksah-0.16.2.2/src/IDE/Package.hs+formatted 1d8174da2ad0 leksah-0.16.2.2/src/IDE/Pane/Breakpoints.hs+formatted b953df2cafd1 leksah-0.16.2.2/src/IDE/Pane/Errors.hs+formatted 76f1dfe82863 leksah-0.16.2.2/src/IDE/Pane/Files.hs+formatted 5174fb1d8807 leksah-0.16.2.2/src/IDE/Pane/Grep.hs+formatted 6bea42aabf13 leksah-0.16.2.2/src/IDE/Pane/HLint.hs+formatted 3ca32b10d0e9 leksah-0.16.2.2/src/IDE/Pane/Info.hs+formatted ea0f6cc3cdd0 leksah-0.16.2.2/src/IDE/Pane/Log.hs+formatted c7b48862410e leksah-0.16.2.2/src/IDE/Pane/Modules.hs+formatted 575af73a6da8 leksah-0.16.2.2/src/IDE/Pane/PackageEditor.hs+formatted f0501c777408 leksah-0.16.2.2/src/IDE/Pane/PackageFlags.hs+formatted b852a84764b6 leksah-0.16.2.2/src/IDE/Pane/Search.hs+formatted fb6b3817d585 leksah-0.16.2.2/src/IDE/Pane/SourceBuffer.hs+formatted 17fd33faa199 leksah-0.16.2.2/src/IDE/Pane/Trace.hs+formatted 42dcc1c61a8c leksah-0.16.2.2/src/IDE/Pane/Variables.hs+formatted 402db82d0213 leksah-0.16.2.2/src/IDE/Pane/WebKit/Documentation.hs+formatted bf74d49a257b leksah-0.16.2.2/src/IDE/Pane/WebKit/Inspect.hs+formatted 36523e19eb43 leksah-0.16.2.2/src/IDE/Pane/WebKit/Output.hs+formatted 6d01b337aa2d leksah-0.16.2.2/src/IDE/Pane/Workspace.hs+formatted 9b92bdd95195 leksah-0.16.2.2/src/IDE/PaneGroups.hs+formatted 043a3ca4d21e leksah-0.16.2.2/src/IDE/Preferences.hs+formatted b428f06dc6a8 leksah-0.16.2.2/src/IDE/Session.hs+formatted 8fd5bd558558 leksah-0.16.2.2/src/IDE/SourceCandy.hs+formatted 402da8621309 leksah-0.16.2.2/src/IDE/Statusbar.hs+formatted 188c4e9a0936 leksah-0.16.2.2/src/IDE/SymbolNavigation.hs+formatted 265b135c829e leksah-0.16.2.2/src/IDE/TextEditor.hs+formatted fc7e53f0e945 leksah-0.16.2.2/src/IDE/TextEditor/Class.hs+formatted 1c4c5952013a leksah-0.16.2.2/src/IDE/TextEditor/CodeMirror.hs+formatted ead97fbc797b leksah-0.16.2.2/src/IDE/TextEditor/GtkSourceView.hs+formatted 02fedce6ee7f leksah-0.16.2.2/src/IDE/TextEditor/Yi.hs+formatted 74ead3c637fd leksah-0.16.2.2/src/IDE/TextEditor/Yi/Config.hs+formatted 049d901c6e0d leksah-0.16.2.2/src/IDE/Utils/CabalUtils.hs+formatted a1e35678dab5 leksah-0.16.2.2/src/IDE/Utils/DirectoryUtils.hs+formatted 8c14e6468260 leksah-0.16.2.2/src/IDE/Utils/ExternalTool.hs+formatted e7fe8dbc01fb leksah-0.16.2.2/src/IDE/Utils/GUIUtils.hs+formatted 681c8db74a16 leksah-0.16.2.2/src/IDE/Utils/ServerConnection.hs+formatted c5c3f2775509 leksah-0.16.2.2/src/IDE/Workspaces.hs+formatted dde088ae3291 leksah-0.16.2.2/src/IDE/Workspaces/Writer.hs+formatted 50c9e4996c17 lens-5.3.6/benchmarks/alongside.hs+formatted 9fb7d388f89d lens-5.3.6/benchmarks/folds.hs+formatted 954468d85b1f lens-5.3.6/benchmarks/plated.hs+formatted 474a59bad6c3 lens-5.3.6/benchmarks/traversals.hs+formatted 67948814999e lens-5.3.6/benchmarks/unsafe.hs+formatted 6b5d9407288a lens-5.3.6/examples/Aeson.hs+formatted fcea15eace15 lens-5.3.6/examples/Plates.hs+formatted 42c84063ca40 lens-5.3.6/examples/Pong.hs+formatted 1e7ca6c2bac4 lens-5.3.6/examples/Turtle.hs+formatted e865ae48f11b lens-5.3.6/lens-properties/Setup.hs+formatted 03d5b652be06 lens-5.3.6/lens-properties/src/Control/Lens/Properties.hs+formatted 078f1b9b6754 lens-5.3.6/src/Control/Exception/Lens.hs+formatted 4fb8b462c692 lens-5.3.6/src/Control/Lens.hs+formatted dab5fde53fc2 lens-5.3.6/src/Control/Lens/At.hs+formatted 1a555e9740b2 lens-5.3.6/src/Control/Lens/Combinators.hs+formatted 45285718981c lens-5.3.6/src/Control/Lens/Cons.hs+formatted 087aa6536345 lens-5.3.6/src/Control/Lens/Each.hs+formatted db06507f8eb3 lens-5.3.6/src/Control/Lens/Empty.hs+formatted afba13ca40b2 lens-5.3.6/src/Control/Lens/Equality.hs+formatted e63ce52c62a6 lens-5.3.6/src/Control/Lens/Extras.hs+formatted c0712f9f2b0e lens-5.3.6/src/Control/Lens/Fold.hs+formatted 1d6b4529afae lens-5.3.6/src/Control/Lens/Getter.hs+formatted be96a32da04a lens-5.3.6/src/Control/Lens/Indexed.hs+formatted f2b77c23d24e lens-5.3.6/src/Control/Lens/Internal.hs+formatted 8350be0d02be lens-5.3.6/src/Control/Lens/Internal/Bazaar.hs+formatted 77d72de128e9 lens-5.3.6/src/Control/Lens/Internal/ByteString.hs+formatted d8ca8cef6fef lens-5.3.6/src/Control/Lens/Internal/CTypes.hs+formatted dfd3f37cd579 lens-5.3.6/src/Control/Lens/Internal/Context.hs+formatted a6d8f75d39fc lens-5.3.6/src/Control/Lens/Internal/Deque.hs+formatted 4c63a54a8aeb lens-5.3.6/src/Control/Lens/Internal/Doctest.hs+formatted 36dfae32602b lens-5.3.6/src/Control/Lens/Internal/Exception.hs+formatted 94e9c2ef7d99 lens-5.3.6/src/Control/Lens/Internal/FieldTH.hs+formatted 8751bf3b6318 lens-5.3.6/src/Control/Lens/Internal/Fold.hs+formatted fe2ce335a9fd lens-5.3.6/src/Control/Lens/Internal/Getter.hs+formatted 72ecae413405 lens-5.3.6/src/Control/Lens/Internal/Indexed.hs+formatted 74a115066cae lens-5.3.6/src/Control/Lens/Internal/Instances.hs+formatted a9257a233659 lens-5.3.6/src/Control/Lens/Internal/Iso.hs+formatted 62616dcfe279 lens-5.3.6/src/Control/Lens/Internal/Level.hs+formatted 929b3db19b16 lens-5.3.6/src/Control/Lens/Internal/List.hs+formatted b107d5717343 lens-5.3.6/src/Control/Lens/Internal/Magma.hs+formatted 3660c5db758f lens-5.3.6/src/Control/Lens/Internal/Prelude.hs+formatted d033545bb0fa lens-5.3.6/src/Control/Lens/Internal/Prism.hs+formatted 9d0a84d65d47 lens-5.3.6/src/Control/Lens/Internal/PrismTH.hs+formatted d1e3368088fd lens-5.3.6/src/Control/Lens/Internal/Profunctor.hs+formatted a0cfb7f64915 lens-5.3.6/src/Control/Lens/Internal/Review.hs+formatted bd611b570342 lens-5.3.6/src/Control/Lens/Internal/Setter.hs+formatted cb94f36001d0 lens-5.3.6/src/Control/Lens/Internal/TH.hs+formatted 3eb540f212c9 lens-5.3.6/src/Control/Lens/Internal/Zoom.hs+formatted 4d4a8b86f259 lens-5.3.6/src/Control/Lens/Iso.hs+formatted 90c89d25de5a lens-5.3.6/src/Control/Lens/Lens.hs+formatted bde563e05b67 lens-5.3.6/src/Control/Lens/Level.hs+formatted 1b24416ce249 lens-5.3.6/src/Control/Lens/Operators.hs+formatted 61aef519b850 lens-5.3.6/src/Control/Lens/Plated.hs+formatted cd556da34caa lens-5.3.6/src/Control/Lens/Prism.hs+formatted b465099e5056 lens-5.3.6/src/Control/Lens/Profunctor.hs+formatted 4fa75f887167 lens-5.3.6/src/Control/Lens/Reified.hs+formatted 6e871d8e4385 lens-5.3.6/src/Control/Lens/Review.hs+formatted 5f1a95d65c20 lens-5.3.6/src/Control/Lens/Setter.hs+formatted fa7936ec3040 lens-5.3.6/src/Control/Lens/TH.hs+formatted 9164ff122ee8 lens-5.3.6/src/Control/Lens/Traversal.hs+formatted 3a5cbb2c959c lens-5.3.6/src/Control/Lens/Tuple.hs+formatted 181a647a9c7b lens-5.3.6/src/Control/Lens/Type.hs+formatted ff8881502434 lens-5.3.6/src/Control/Lens/Unsound.hs+partly-checked dc2e66e1542a lens-5.3.6/src/Control/Lens/Wrapped.hs+formatted 2c3a223dec39 lens-5.3.6/src/Control/Lens/Zoom.hs+formatted d04fd074c74d lens-5.3.6/src/Control/Monad/Error/Lens.hs+formatted b9bfa6cc2ae6 lens-5.3.6/src/Control/Parallel/Strategies/Lens.hs+formatted 3580c9fdbe74 lens-5.3.6/src/Control/Seq/Lens.hs+formatted ae1408607f92 lens-5.3.6/src/Data/Array/Lens.hs+formatted 4f2a2066b52a lens-5.3.6/src/Data/Bits/Lens.hs+formatted e1c3ede72b89 lens-5.3.6/src/Data/ByteString/Lazy/Lens.hs+formatted fd83b8412797 lens-5.3.6/src/Data/ByteString/Lens.hs+formatted a0beda949826 lens-5.3.6/src/Data/ByteString/Strict/Lens.hs+formatted e7fc0d3b8334 lens-5.3.6/src/Data/Complex/Lens.hs+formatted 626272b6276a lens-5.3.6/src/Data/Data/Lens.hs+formatted ae776c45408a lens-5.3.6/src/Data/Dynamic/Lens.hs+formatted 9817c7fd06d9 lens-5.3.6/src/Data/HashSet/Lens.hs+formatted 9b6a7ea1de9a lens-5.3.6/src/Data/IntSet/Lens.hs+formatted afd0c52fb1bb lens-5.3.6/src/Data/List/Lens.hs+formatted c78898aaa504 lens-5.3.6/src/Data/Map/Lens.hs+formatted bf33871e79d3 lens-5.3.6/src/Data/Sequence/Lens.hs+formatted 3b630e1120f0 lens-5.3.6/src/Data/Set/Lens.hs+formatted 6abbc5ff2a97 lens-5.3.6/src/Data/Text/Lazy/Lens.hs+formatted c144e0a2b4d7 lens-5.3.6/src/Data/Text/Lens.hs+formatted 5ce20871a8d2 lens-5.3.6/src/Data/Text/Strict/Lens.hs+formatted a4a006800f1d lens-5.3.6/src/Data/Tree/Lens.hs+formatted bfb9f14912e5 lens-5.3.6/src/Data/Typeable/Lens.hs+formatted fa5b2f903156 lens-5.3.6/src/Data/Vector/Generic/Lens.hs+formatted 4348b84e4ed7 lens-5.3.6/src/Data/Vector/Lens.hs+formatted 7e80fcd30b07 lens-5.3.6/src/GHC/Generics/Lens.hs+partly-checked 85462ac66a8d lens-5.3.6/src/Language/Haskell/TH/Lens.hs+formatted 6142187a095c lens-5.3.6/src/Numeric/Lens.hs+formatted 11d5331927be lens-5.3.6/src/Numeric/Natural/Lens.hs+formatted 353cf4551a49 lens-5.3.6/src/System/Exit/Lens.hs+formatted 5a4f7cf6359b lens-5.3.6/src/System/FilePath/Lens.hs+formatted 18c87dbc74ee lens-5.3.6/src/System/IO/Error/Lens.hs+formatted aa93fbb09ce5 lens-5.3.6/tests/BigRecord.hs+formatted 4bb6e1258874 lens-5.3.6/tests/T1024.hs+formatted 783da428b966 lens-5.3.6/tests/T799.hs+formatted 735c78d5ee02 lens-5.3.6/tests/T917.hs+formatted 1d3a1a7a064d lens-5.3.6/tests/T972.hs+formatted 1e9429a79aca lens-5.3.6/tests/doctests.hs+formatted a554fa5629d9 lens-5.3.6/tests/hunit.hs+declined - lens-5.3.6/tests/properties.hs+formatted 4bd3d2baa141 lens-5.3.6/tests/templates.hs+formatted 2a47884feb32 lifted-base-0.2.3.12/Control/Concurrent/Chan/Lifted.hs+formatted ed858547b569 lifted-base-0.2.3.12/Control/Concurrent/Lifted.hs+formatted 9e73627aa56a lifted-base-0.2.3.12/Control/Concurrent/MVar/Lifted.hs+formatted 7896c1c8db7e lifted-base-0.2.3.12/Control/Concurrent/QSem/Lifted.hs+formatted 0e92e2e3c452 lifted-base-0.2.3.12/Control/Concurrent/QSemN/Lifted.hs+formatted 5cc7e142b7a9 lifted-base-0.2.3.12/Control/Concurrent/SampleVar/Lifted.hs+formatted 9a9d09688902 lifted-base-0.2.3.12/Control/Exception/Lifted.hs+formatted 6ce3f2d36b4c lifted-base-0.2.3.12/Data/IORef/Lifted.hs+formatted 0232c1b3e9de lifted-base-0.2.3.12/Foreign/Marshal/Utils/Lifted.hs+formatted e865ae48f11b lifted-base-0.2.3.12/Setup.hs+formatted 5d96e3b3a63b lifted-base-0.2.3.12/System/Timeout/Lifted.hs+formatted 8186b0308f97 lifted-base-0.2.3.12/bench/bench.hs+formatted 969f026a4085 lifted-base-0.2.3.12/test/test.hs+formatted 0331614d7776 megaparsec-9.8.1/Text/Megaparsec.hs+formatted aaf0968c72cf megaparsec-9.8.1/Text/Megaparsec/Byte.hs+formatted af93162c0732 megaparsec-9.8.1/Text/Megaparsec/Byte/Binary.hs+formatted 6daebd54878b megaparsec-9.8.1/Text/Megaparsec/Byte/Lexer.hs+formatted a8f12808d592 megaparsec-9.8.1/Text/Megaparsec/Char.hs+formatted fb0aa0491a35 megaparsec-9.8.1/Text/Megaparsec/Char/Lexer.hs+formatted 9ada7619d986 megaparsec-9.8.1/Text/Megaparsec/Class.hs+formatted 04c41e5e9d68 megaparsec-9.8.1/Text/Megaparsec/Common.hs+formatted 516df951af5f megaparsec-9.8.1/Text/Megaparsec/Debug.hs+formatted 063bb778990a megaparsec-9.8.1/Text/Megaparsec/Error.hs+formatted 6dc9b6ce5897 megaparsec-9.8.1/Text/Megaparsec/Error.hs-boot+formatted 92e848d5b88d megaparsec-9.8.1/Text/Megaparsec/Error/Builder.hs+formatted ef8c030d6d02 megaparsec-9.8.1/Text/Megaparsec/Internal.hs+formatted 2d845f6be8a2 megaparsec-9.8.1/Text/Megaparsec/Internal.hs-boot+formatted fb54b4f4cab3 megaparsec-9.8.1/Text/Megaparsec/Lexer.hs+formatted 0db88dbc985e megaparsec-9.8.1/Text/Megaparsec/Pos.hs+formatted 4f1b6ce7ca12 megaparsec-9.8.1/Text/Megaparsec/State.hs+formatted e5a839627bb9 megaparsec-9.8.1/Text/Megaparsec/Stream.hs+formatted 5e21ab523a4c megaparsec-9.8.1/Text/Megaparsec/Unicode.hs+formatted 882124e5ceb6 megaparsec-9.8.1/bench/memory/Main.hs+formatted d8a32e7340de megaparsec-9.8.1/bench/speed/Main.hs+formatted e865ae48f11b microlens-0.5.0.0/Setup.hs+partly-checked 37206fb8e023 microlens-0.5.0.0/src/Lens/Micro.hs+formatted a33fe5ffd3d9 microlens-0.5.0.0/src/Lens/Micro/Extras.hs+formatted 3608b82ef46d microlens-0.5.0.0/src/Lens/Micro/FieldN.hs+partly-checked a6c752419362 microlens-0.5.0.0/src/Lens/Micro/Internal.hs+formatted de09492cc927 microlens-0.5.0.0/src/Lens/Micro/Type.hs+formatted 9fd4d8759261 mtl-2.3.2/Control/Monad/Accum.hs+formatted 1c966453ae10 mtl-2.3.2/Control/Monad/Cont.hs+formatted 3582a87cd07b mtl-2.3.2/Control/Monad/Cont/Class.hs+formatted a1002896353b mtl-2.3.2/Control/Monad/Error/Class.hs+formatted 241b9ab5b29e mtl-2.3.2/Control/Monad/Except.hs+formatted fae093b03648 mtl-2.3.2/Control/Monad/Identity.hs+formatted 8bb64ac32001 mtl-2.3.2/Control/Monad/RWS.hs+formatted f59a78122b11 mtl-2.3.2/Control/Monad/RWS/CPS.hs+formatted 853a42d0a7d0 mtl-2.3.2/Control/Monad/RWS/Class.hs+formatted 6fedd348f84f mtl-2.3.2/Control/Monad/RWS/Lazy.hs+formatted ddc740ed2ba9 mtl-2.3.2/Control/Monad/RWS/Strict.hs+formatted 70448da6c08e mtl-2.3.2/Control/Monad/Reader.hs+formatted e43c7f3c3559 mtl-2.3.2/Control/Monad/Reader/Class.hs+formatted fda85a3d8a5b mtl-2.3.2/Control/Monad/Select.hs+formatted dbf53d8970a0 mtl-2.3.2/Control/Monad/State.hs+formatted a11cb9d9968b mtl-2.3.2/Control/Monad/State/Class.hs+formatted 297011983d2c mtl-2.3.2/Control/Monad/State/Lazy.hs+formatted 77f07f071154 mtl-2.3.2/Control/Monad/State/Strict.hs+formatted 4442f9cb2755 mtl-2.3.2/Control/Monad/Trans.hs+formatted c315c681e4a7 mtl-2.3.2/Control/Monad/Writer.hs+formatted bd34c32bca35 mtl-2.3.2/Control/Monad/Writer/CPS.hs+formatted 220119ac3010 mtl-2.3.2/Control/Monad/Writer/Class.hs+formatted 26c1b816de3a mtl-2.3.2/Control/Monad/Writer/Lazy.hs+formatted e5a4e79a643b mtl-2.3.2/Control/Monad/Writer/Strict.hs+formatted e865ae48f11b mtl-2.3.2/Setup.hs+formatted 9007a7528d49 optics-0.4.2.1/benchmarks/folds.hs+formatted 6819e713d7fd optics-0.4.2.1/benchmarks/traversals.hs+formatted 379aca047379 optics-0.4.2.1/src/Optics.hs+formatted fbb3a44aca1a optics-0.4.2.1/tests/Optics/Tests.hs+formatted 41b76dda3069 optics-0.4.2.1/tests/Optics/Tests/Computation.hs+formatted 2a9b6567f5bf optics-0.4.2.1/tests/Optics/Tests/Core.hs+formatted f99d8cd6ed70 optics-0.4.2.1/tests/Optics/Tests/Eta.hs+formatted fa94f2166eef optics-0.4.2.1/tests/Optics/Tests/Labels/Generic.hs+formatted be66017a6045 optics-0.4.2.1/tests/Optics/Tests/Labels/TH.hs+formatted 1ec08bb9f22e optics-0.4.2.1/tests/Optics/Tests/Misc.hs+formatted 9a4b74c6e2a0 optics-0.4.2.1/tests/Optics/Tests/Properties.hs+partly-checked 5d457e97c466 optics-0.4.2.1/tests/Optics/Tests/Utils.hs+formatted e865ae48f11b optparse-applicative-0.19.0.0/Setup.hs+formatted efe055dda734 optparse-applicative-0.19.0.0/src/Options/Applicative.hs+formatted 86ed36cdbae6 optparse-applicative-0.19.0.0/src/Options/Applicative/Arrows.hs+formatted fa5bdd86f120 optparse-applicative-0.19.0.0/src/Options/Applicative/BashCompletion.hs+formatted 23f732be6b3d optparse-applicative-0.19.0.0/src/Options/Applicative/Builder.hs+formatted b35877965cca optparse-applicative-0.19.0.0/src/Options/Applicative/Builder/Completer.hs+formatted 24b9dc042174 optparse-applicative-0.19.0.0/src/Options/Applicative/Builder/Internal.hs+formatted dbcd46a4e6a7 optparse-applicative-0.19.0.0/src/Options/Applicative/Common.hs+formatted 9d9cd51f75af optparse-applicative-0.19.0.0/src/Options/Applicative/Extra.hs+formatted 02404b06b751 optparse-applicative-0.19.0.0/src/Options/Applicative/Help.hs+formatted 5c1b1a0b0e25 optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Chunk.hs+formatted 45fed0cf69dd optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Core.hs+formatted c6289fc77a0b optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Levenshtein.hs+formatted dbad440603b5 optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Pretty.hs+formatted ea64d277c8d8 optparse-applicative-0.19.0.0/src/Options/Applicative/Help/Types.hs+formatted 0f4de91bc49b optparse-applicative-0.19.0.0/src/Options/Applicative/Internal.hs+formatted cfaae94bf094 optparse-applicative-0.19.0.0/src/Options/Applicative/NonEmpty.hs+formatted 1b1444725881 optparse-applicative-0.19.0.0/src/Options/Applicative/Types.hs+formatted 88e47dac52ad optparse-applicative-0.19.0.0/tests/Examples/Alternatives.hs+formatted 9cdd4cffe98a optparse-applicative-0.19.0.0/tests/Examples/Cabal.hs+formatted 6eb87c31763d optparse-applicative-0.19.0.0/tests/Examples/Commands.hs+formatted 3e7e8c6885db optparse-applicative-0.19.0.0/tests/Examples/Formatting.hs+formatted 63619af33822 optparse-applicative-0.19.0.0/tests/Examples/Hello.hs+formatted 515fef001627 optparse-applicative-0.19.0.0/tests/Examples/LongSub.hs+formatted c2e700c8f642 optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/AllGrouped.hs+formatted f5ab674c163c optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/Basic.hs+formatted dbff3ca47a7d optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/CommandGroups.hs+formatted 87c22c856d69 optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/DuplicateCommandGroups.hs+formatted ded6a73332cc optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/Duplicates.hs+formatted 8ea0fc79c8f6 optparse-applicative-0.19.0.0/tests/Examples/ParserGroup/Nested.hs+formatted 25bcbf4b701f optparse-applicative-0.19.0.0/tests/test.hs+formatted 40d0309b0851 pandoc-3.10.2/benchmark/benchmark-pandoc.hs+formatted e9cc6bbe8397 pandoc-3.10.2/src/Text/Pandoc.hs+formatted 8c46f3c9674c pandoc-3.10.2/src/Text/Pandoc/App.hs+formatted c058b2ade26f pandoc-3.10.2/src/Text/Pandoc/App/CommandLineOptions.hs+formatted 0d1b64ebcf3b pandoc-3.10.2/src/Text/Pandoc/App/Input.hs+formatted 08f327b1dbbc pandoc-3.10.2/src/Text/Pandoc/App/Opt.hs+formatted 3a8ec3e92f62 pandoc-3.10.2/src/Text/Pandoc/App/OutputSettings.hs+formatted 30536e2da049 pandoc-3.10.2/src/Text/Pandoc/Asciify.hs+formatted 0798d787f37f pandoc-3.10.2/src/Text/Pandoc/CSS.hs+formatted eb9916b55f28 pandoc-3.10.2/src/Text/Pandoc/CSV.hs+formatted 425285a86e63 pandoc-3.10.2/src/Text/Pandoc/Char.hs+formatted 0da11c1d73e3 pandoc-3.10.2/src/Text/Pandoc/Chunks.hs+formatted 95542a4940a6 pandoc-3.10.2/src/Text/Pandoc/Citeproc.hs+formatted 9764427f15ce pandoc-3.10.2/src/Text/Pandoc/Citeproc/BibTeX.hs+formatted f4a7c604316e pandoc-3.10.2/src/Text/Pandoc/Citeproc/CslJson.hs+formatted a47804651b9d pandoc-3.10.2/src/Text/Pandoc/Citeproc/Data.hs+formatted b2e977e82e53 pandoc-3.10.2/src/Text/Pandoc/Citeproc/Locator.hs+formatted 67c0badf53a8 pandoc-3.10.2/src/Text/Pandoc/Citeproc/MetaValue.hs+formatted ba128290e789 pandoc-3.10.2/src/Text/Pandoc/Citeproc/Name.hs+formatted 76559347a97c pandoc-3.10.2/src/Text/Pandoc/Citeproc/Util.hs+formatted 1b13d0dc5e1b pandoc-3.10.2/src/Text/Pandoc/Class.hs+formatted 121629e38e36 pandoc-3.10.2/src/Text/Pandoc/Class/CommonState.hs+formatted e2b41d9d63a2 pandoc-3.10.2/src/Text/Pandoc/Class/IO.hs+formatted 554e3fd3f722 pandoc-3.10.2/src/Text/Pandoc/Class/PandocIO.hs+formatted c65acaaeb3de pandoc-3.10.2/src/Text/Pandoc/Class/PandocMonad.hs+formatted af26c6ef7be1 pandoc-3.10.2/src/Text/Pandoc/Class/PandocPure.hs+formatted 0b8f40903d65 pandoc-3.10.2/src/Text/Pandoc/Class/Sandbox.hs+formatted e1a80598ff8f pandoc-3.10.2/src/Text/Pandoc/Data.hs+formatted 099f3439d138 pandoc-3.10.2/src/Text/Pandoc/Data/BakedIn.hs+formatted 58434b0c4602 pandoc-3.10.2/src/Text/Pandoc/Emoji.hs+formatted 232d7de23b73 pandoc-3.10.2/src/Text/Pandoc/Error.hs+formatted 72ff19ca80f5 pandoc-3.10.2/src/Text/Pandoc/Extensions.hs+formatted 3bdc8aed022b pandoc-3.10.2/src/Text/Pandoc/Filter.hs+formatted 1be979d2afbf pandoc-3.10.2/src/Text/Pandoc/Filter/Environment.hs+formatted 3921a2426b07 pandoc-3.10.2/src/Text/Pandoc/Filter/JSON.hs+formatted 9bf058c6704f pandoc-3.10.2/src/Text/Pandoc/Format.hs+formatted 3df0ace70613 pandoc-3.10.2/src/Text/Pandoc/Highlighting.hs+formatted 834edab63758 pandoc-3.10.2/src/Text/Pandoc/Image.hs+formatted f331e86b53d6 pandoc-3.10.2/src/Text/Pandoc/ImageSize.hs+formatted f519615c70eb pandoc-3.10.2/src/Text/Pandoc/Logging.hs+formatted 198eaaad0ea2 pandoc-3.10.2/src/Text/Pandoc/MIME.hs+formatted fc58bac11b5e pandoc-3.10.2/src/Text/Pandoc/MediaBag.hs+formatted e52f385e0fff pandoc-3.10.2/src/Text/Pandoc/Options.hs+formatted c171dffba9a8 pandoc-3.10.2/src/Text/Pandoc/PDF.hs+formatted 127d7ca8c1db pandoc-3.10.2/src/Text/Pandoc/Parsing.hs+formatted d0bfe0ebb5ca pandoc-3.10.2/src/Text/Pandoc/Parsing/Capabilities.hs+formatted 78249fa68c58 pandoc-3.10.2/src/Text/Pandoc/Parsing/Citations.hs+formatted 50b13251d11e pandoc-3.10.2/src/Text/Pandoc/Parsing/Future.hs+formatted 99cc2a7199cc pandoc-3.10.2/src/Text/Pandoc/Parsing/General.hs+formatted ebf243a003b2 pandoc-3.10.2/src/Text/Pandoc/Parsing/GridTable.hs+formatted ae35c28522cd pandoc-3.10.2/src/Text/Pandoc/Parsing/Lists.hs+formatted eb8555a8fccb pandoc-3.10.2/src/Text/Pandoc/Parsing/Math.hs+formatted fad3834b08e5 pandoc-3.10.2/src/Text/Pandoc/Parsing/Smart.hs+formatted fbd406c6c8a4 pandoc-3.10.2/src/Text/Pandoc/Parsing/State.hs+formatted a83effd57b53 pandoc-3.10.2/src/Text/Pandoc/Process.hs+formatted 5798ce9f1d3b pandoc-3.10.2/src/Text/Pandoc/Readers.hs+formatted 91355327396d pandoc-3.10.2/src/Text/Pandoc/Readers/AsciiDoc.hs+formatted fb9989e02f4c pandoc-3.10.2/src/Text/Pandoc/Readers/BibTeX.hs+formatted 6df32968e0c9 pandoc-3.10.2/src/Text/Pandoc/Readers/CSV.hs+formatted 6168a3f9a3ab pandoc-3.10.2/src/Text/Pandoc/Readers/CommonMark.hs+formatted 663d47f4276b pandoc-3.10.2/src/Text/Pandoc/Readers/Creole.hs+formatted 9a91a657b202 pandoc-3.10.2/src/Text/Pandoc/Readers/CslJson.hs+formatted 8f06acca3961 pandoc-3.10.2/src/Text/Pandoc/Readers/Djot.hs+formatted 05fb48bb853d pandoc-3.10.2/src/Text/Pandoc/Readers/DocBook.hs+formatted acd46ae3c358 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx.hs+formatted 4fb8f147768f pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Combine.hs+formatted 1b010d639304 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Fields.hs+formatted 1182acf4b772 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Lists.hs+formatted 1113793eb414 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Parse.hs+formatted cdafbece822b pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Parse/Styles.hs+formatted 59a529967b45 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Symbols.hs+formatted 5ca3b138e6d7 pandoc-3.10.2/src/Text/Pandoc/Readers/Docx/Util.hs+formatted ad24860bbd96 pandoc-3.10.2/src/Text/Pandoc/Readers/DokuWiki.hs+formatted 84bb8bb4469c pandoc-3.10.2/src/Text/Pandoc/Readers/EPUB.hs+formatted f3a6089222df pandoc-3.10.2/src/Text/Pandoc/Readers/EndNote.hs+formatted 14038d82e889 pandoc-3.10.2/src/Text/Pandoc/Readers/FB2.hs+formatted 65369113b4e2 pandoc-3.10.2/src/Text/Pandoc/Readers/HTML.hs+formatted b968ae9289d6 pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/Parsing.hs+formatted 7906dc4b5ee7 pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/Table.hs+formatted d02eee6a5e0a pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/TagCategories.hs+formatted 4fb367cd5dd3 pandoc-3.10.2/src/Text/Pandoc/Readers/HTML/Types.hs+formatted eff46e987f16 pandoc-3.10.2/src/Text/Pandoc/Readers/Haddock.hs+formatted 3d25a4df8c5a pandoc-3.10.2/src/Text/Pandoc/Readers/Ipynb.hs+formatted cc07dc20c65e pandoc-3.10.2/src/Text/Pandoc/Readers/JATS.hs+formatted f20ff0b6f36b pandoc-3.10.2/src/Text/Pandoc/Readers/Jira.hs+formatted 43d9623365dd pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX.hs+formatted 9555c9856dcb pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Citation.hs+formatted 74ee6d8d6efe pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Inline.hs+formatted c4741ac43b79 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Lang.hs+formatted 43b3ffa002c0 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Macro.hs+formatted a15facafa92f pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Math.hs+formatted 35684bb01d7e pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Parsing.hs+formatted 9d40938ba9d0 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs+formatted bab24b274f92 pandoc-3.10.2/src/Text/Pandoc/Readers/LaTeX/Table.hs+formatted 9c0b878a8cae pandoc-3.10.2/src/Text/Pandoc/Readers/Man.hs+formatted 01f3ff3cf815 pandoc-3.10.2/src/Text/Pandoc/Readers/Markdown.hs+formatted b7b9f1155f1b pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc.hs+formatted 9964d2d17020 pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc/Lex.hs+formatted 728f79b431ec pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc/Macros.hs+formatted 1a3b54c227b9 pandoc-3.10.2/src/Text/Pandoc/Readers/Mdoc/Standards.hs+formatted 157be0b1896b pandoc-3.10.2/src/Text/Pandoc/Readers/MediaWiki.hs+formatted ff97e43c99ad pandoc-3.10.2/src/Text/Pandoc/Readers/Metadata.hs+formatted 9f0f39d21fdd pandoc-3.10.2/src/Text/Pandoc/Readers/Muse.hs+formatted b5fdcc7976c0 pandoc-3.10.2/src/Text/Pandoc/Readers/Native.hs+formatted 07f9f5b9b349 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT.hs+formatted 4b763e5899cb pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Arrows/State.hs+formatted 978b213b2283 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Arrows/Utils.hs+formatted bf610e3c1650 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Base.hs+formatted cee91ffec7f1 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/ContentReader.hs+formatted 6f2a41bef1f6 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/Fallible.hs+formatted 3cb13f8a11b2 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/Namespaces.hs+formatted 6d9540eaec43 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/SetMap.hs+formatted f6c4ec56e4e8 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/Utils.hs+formatted cea88b9dd60d pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Generic/XMLConverter.hs+formatted c322898badf2 pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/Namespaces.hs+formatted 1156ac4adb5d pandoc-3.10.2/src/Text/Pandoc/Readers/ODT/StyleReader.hs+formatted fc024f0c1f5f pandoc-3.10.2/src/Text/Pandoc/Readers/OOXML/Shared.hs+formatted af1d77effb19 pandoc-3.10.2/src/Text/Pandoc/Readers/OPML.hs+formatted f0c2a727f84e pandoc-3.10.2/src/Text/Pandoc/Readers/Org.hs+formatted b11790cf298d pandoc-3.10.2/src/Text/Pandoc/Readers/Org/BlockStarts.hs+formatted 87d98588269f pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Blocks.hs+formatted 3ff195adb2ff pandoc-3.10.2/src/Text/Pandoc/Readers/Org/DocumentTree.hs+formatted 0e89e887eae3 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/ExportSettings.hs+formatted 2cc65319731e pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Inlines.hs+formatted e34a610bde26 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Meta.hs+formatted ddd05cefe687 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/ParserState.hs+formatted cddaebd35c79 pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Parsing.hs+formatted 56b3882f7c5f pandoc-3.10.2/src/Text/Pandoc/Readers/Org/Shared.hs+formatted b88c97613fb0 pandoc-3.10.2/src/Text/Pandoc/Readers/Pod.hs+formatted 53643fbdc8d6 pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx.hs+formatted 9f0a1be15c9c pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/Parse.hs+formatted 06b32e0a02bb pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/Shapes.hs+formatted 68136f2cd896 pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/Slides.hs+formatted 2a1143e52057 pandoc-3.10.2/src/Text/Pandoc/Readers/Pptx/SmartArt.hs+formatted 57c12a897562 pandoc-3.10.2/src/Text/Pandoc/Readers/RIS.hs+formatted 9bf24ffe54d5 pandoc-3.10.2/src/Text/Pandoc/Readers/RST.hs+formatted 12dbe03639cd pandoc-3.10.2/src/Text/Pandoc/Readers/RTF.hs+formatted d9ba7b2c7b59 pandoc-3.10.2/src/Text/Pandoc/Readers/Roff.hs+formatted 07cc917bf86a pandoc-3.10.2/src/Text/Pandoc/Readers/Roff/Escape.hs+formatted 4f544a701d34 pandoc-3.10.2/src/Text/Pandoc/Readers/TWiki.hs+formatted 25cccdcbef5d pandoc-3.10.2/src/Text/Pandoc/Readers/Textile.hs+formatted 7e7d5f748c66 pandoc-3.10.2/src/Text/Pandoc/Readers/TikiWiki.hs+formatted 92e7cf81f874 pandoc-3.10.2/src/Text/Pandoc/Readers/Txt2Tags.hs+formatted 4af418633a39 pandoc-3.10.2/src/Text/Pandoc/Readers/Typst.hs+formatted 571c0f71e243 pandoc-3.10.2/src/Text/Pandoc/Readers/Typst/Math.hs+formatted 862b8ee41599 pandoc-3.10.2/src/Text/Pandoc/Readers/Typst/Parsing.hs+formatted d9474be2d4dd pandoc-3.10.2/src/Text/Pandoc/Readers/Vimwiki.hs+formatted a6c0f74dc4bf pandoc-3.10.2/src/Text/Pandoc/Readers/XML.hs+formatted 6da1519e9667 pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx.hs+formatted 835a84d727ab pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx/Cells.hs+formatted da7c96257b3c pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx/Parse.hs+formatted cec0a64a8f3d pandoc-3.10.2/src/Text/Pandoc/Readers/Xlsx/Sheets.hs+formatted a3abe5c4303a pandoc-3.10.2/src/Text/Pandoc/RoffChar.hs+formatted 3b2c2c8b4a58 pandoc-3.10.2/src/Text/Pandoc/Scripting.hs+formatted e11dcf0c5f07 pandoc-3.10.2/src/Text/Pandoc/SelfContained.hs+formatted 9b4ca9cf24ae pandoc-3.10.2/src/Text/Pandoc/Shared.hs+formatted d4b69c2106f2 pandoc-3.10.2/src/Text/Pandoc/Slides.hs+formatted f972700afdb1 pandoc-3.10.2/src/Text/Pandoc/Sources.hs+formatted 4723b914e051 pandoc-3.10.2/src/Text/Pandoc/TeX.hs+formatted 1af167eb5091 pandoc-3.10.2/src/Text/Pandoc/Templates.hs+formatted 3742fd06d6d7 pandoc-3.10.2/src/Text/Pandoc/Transforms.hs+formatted 353cd881b0ba pandoc-3.10.2/src/Text/Pandoc/Translations.hs+formatted 062da3b78ef5 pandoc-3.10.2/src/Text/Pandoc/Translations/Types.hs+formatted e8b9d88b67b0 pandoc-3.10.2/src/Text/Pandoc/URI.hs+formatted 4aa82cbc83c8 pandoc-3.10.2/src/Text/Pandoc/UTF8.hs+formatted e958a4d78635 pandoc-3.10.2/src/Text/Pandoc/UUID.hs+formatted c4b212f4e18f pandoc-3.10.2/src/Text/Pandoc/Version.hs+formatted 64127df72dfc pandoc-3.10.2/src/Text/Pandoc/Writers.hs+formatted 740042f14295 pandoc-3.10.2/src/Text/Pandoc/Writers/ANSI.hs+formatted a5a598c6ebd6 pandoc-3.10.2/src/Text/Pandoc/Writers/AnnotatedTable.hs+formatted f6512b24e402 pandoc-3.10.2/src/Text/Pandoc/Writers/AsciiDoc.hs+formatted d770fbc4289a pandoc-3.10.2/src/Text/Pandoc/Writers/BBCode.hs+formatted 74bebaa57c03 pandoc-3.10.2/src/Text/Pandoc/Writers/BibTeX.hs+formatted c3a3e99a6a7b pandoc-3.10.2/src/Text/Pandoc/Writers/Blaze.hs+formatted fd730c859a35 pandoc-3.10.2/src/Text/Pandoc/Writers/ChunkedHTML.hs+formatted 936b3d7e333a pandoc-3.10.2/src/Text/Pandoc/Writers/CommonMark.hs+formatted 4c3d328643fe pandoc-3.10.2/src/Text/Pandoc/Writers/ConTeXt.hs+formatted d9b0707d098c pandoc-3.10.2/src/Text/Pandoc/Writers/CslJson.hs+formatted 9f27f448bef2 pandoc-3.10.2/src/Text/Pandoc/Writers/Djot.hs+formatted a5d327fae7c4 pandoc-3.10.2/src/Text/Pandoc/Writers/DocBook.hs+formatted 7bf8f7c3beff pandoc-3.10.2/src/Text/Pandoc/Writers/Docx.hs+formatted 61434c17e954 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/OpenXML.hs+formatted 47c7fc1f3217 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/StyleMap.hs+formatted 9366da9eb866 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/Table.hs+formatted a7b1f18b1b94 pandoc-3.10.2/src/Text/Pandoc/Writers/Docx/Types.hs+formatted 393f60564bb0 pandoc-3.10.2/src/Text/Pandoc/Writers/DokuWiki.hs+formatted 63bfa4a35c66 pandoc-3.10.2/src/Text/Pandoc/Writers/EPUB.hs+formatted 18a7003d6454 pandoc-3.10.2/src/Text/Pandoc/Writers/FB2.hs+formatted c4b4f9d5a6e4 pandoc-3.10.2/src/Text/Pandoc/Writers/GridTable.hs+formatted 52d1f99c1ff0 pandoc-3.10.2/src/Text/Pandoc/Writers/HTML.hs+formatted 6dff5ff11e27 pandoc-3.10.2/src/Text/Pandoc/Writers/Haddock.hs+formatted c124279e4c0c pandoc-3.10.2/src/Text/Pandoc/Writers/ICML.hs+formatted dd0566d62914 pandoc-3.10.2/src/Text/Pandoc/Writers/Ipynb.hs+formatted c36a94774899 pandoc-3.10.2/src/Text/Pandoc/Writers/JATS.hs+formatted 4a683f5d9700 pandoc-3.10.2/src/Text/Pandoc/Writers/JATS/References.hs+formatted 854a6ee637a9 pandoc-3.10.2/src/Text/Pandoc/Writers/JATS/Table.hs+formatted 3aae3967440a pandoc-3.10.2/src/Text/Pandoc/Writers/JATS/Types.hs+formatted 9cd811748938 pandoc-3.10.2/src/Text/Pandoc/Writers/Jira.hs+formatted 7688ee789662 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX.hs+formatted cafc5a3796df pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Caption.hs+formatted a2dbe3145658 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Citation.hs+formatted e89e979a29e1 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Lang.hs+formatted 8c164dd5cc9c pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Notes.hs+formatted c117286c3731 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Table.hs+formatted a4eb629d0029 pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Types.hs+formatted f86bcaf0241e pandoc-3.10.2/src/Text/Pandoc/Writers/LaTeX/Util.hs+formatted 85fcfddb12db pandoc-3.10.2/src/Text/Pandoc/Writers/Man.hs+formatted b9f4a40b59a1 pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown.hs+formatted a7a53336237a pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown/Inline.hs+formatted c57101b9ec66 pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown/Table.hs+formatted 02c7eb593d88 pandoc-3.10.2/src/Text/Pandoc/Writers/Markdown/Types.hs+formatted 3d9d722a4e7e pandoc-3.10.2/src/Text/Pandoc/Writers/Math.hs+formatted b64a72014932 pandoc-3.10.2/src/Text/Pandoc/Writers/MediaWiki.hs+formatted 6390452aa35b pandoc-3.10.2/src/Text/Pandoc/Writers/Ms.hs+formatted 80ea597c2f04 pandoc-3.10.2/src/Text/Pandoc/Writers/Muse.hs+formatted 4acde5355993 pandoc-3.10.2/src/Text/Pandoc/Writers/Native.hs+formatted 8ef435634695 pandoc-3.10.2/src/Text/Pandoc/Writers/ODT.hs+formatted 780b39e3c620 pandoc-3.10.2/src/Text/Pandoc/Writers/OOXML.hs+formatted 4c4123778a13 pandoc-3.10.2/src/Text/Pandoc/Writers/OPML.hs+formatted 11f3bed781a4 pandoc-3.10.2/src/Text/Pandoc/Writers/OpenDocument.hs+formatted 7d585a078c42 pandoc-3.10.2/src/Text/Pandoc/Writers/Org.hs+formatted 74e7486aeef1 pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint.hs+formatted 9b93eaeae21e pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint/Output.hs+formatted 3cbe72b20538 pandoc-3.10.2/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs+formatted c16f99045f8e pandoc-3.10.2/src/Text/Pandoc/Writers/RST.hs+formatted 4864c0915868 pandoc-3.10.2/src/Text/Pandoc/Writers/RTF.hs+formatted 526459d5f74f pandoc-3.10.2/src/Text/Pandoc/Writers/Roff.hs+formatted 64258df1d09e pandoc-3.10.2/src/Text/Pandoc/Writers/Shared.hs+formatted 6ff714d9bc8d pandoc-3.10.2/src/Text/Pandoc/Writers/TEI.hs+formatted 01231d1cd443 pandoc-3.10.2/src/Text/Pandoc/Writers/Texinfo.hs+formatted 3a596ddb6e0a pandoc-3.10.2/src/Text/Pandoc/Writers/Textile.hs+formatted e65d7bf1c614 pandoc-3.10.2/src/Text/Pandoc/Writers/Txt2Tags.hs+formatted ab0ca20ffb33 pandoc-3.10.2/src/Text/Pandoc/Writers/Typst.hs+formatted 5753a1fc2b52 pandoc-3.10.2/src/Text/Pandoc/Writers/Vimdoc.hs+formatted 030057adfda6 pandoc-3.10.2/src/Text/Pandoc/Writers/XML.hs+formatted 159b08d5178c pandoc-3.10.2/src/Text/Pandoc/Writers/XWiki.hs+formatted d353c0adc4a4 pandoc-3.10.2/src/Text/Pandoc/Writers/ZimWiki.hs+formatted b9434fb9de0a pandoc-3.10.2/src/Text/Pandoc/XML.hs+formatted 29da3381e068 pandoc-3.10.2/src/Text/Pandoc/XMLFormat.hs+formatted 57155b5f1fa9 pandoc-3.10.2/test/Tests/Command.hs+formatted cc2af1e38ce1 pandoc-3.10.2/test/Tests/Helpers.hs+formatted b6b7d7a032dd pandoc-3.10.2/test/Tests/MediaBag.hs+formatted 58f15e3f067a pandoc-3.10.2/test/Tests/Old.hs+formatted 333649c94dd9 pandoc-3.10.2/test/Tests/Readers/Creole.hs+formatted c5655e1aeeef pandoc-3.10.2/test/Tests/Readers/Docx.hs+formatted 35e25d7a6148 pandoc-3.10.2/test/Tests/Readers/DokuWiki.hs+formatted 150d1390d716 pandoc-3.10.2/test/Tests/Readers/EPUB.hs+formatted 0d2db3fa6504 pandoc-3.10.2/test/Tests/Readers/FB2.hs+formatted 155489214643 pandoc-3.10.2/test/Tests/Readers/HTML.hs+formatted a047fe6e2033 pandoc-3.10.2/test/Tests/Readers/JATS.hs+formatted 3ee2ef6dea11 pandoc-3.10.2/test/Tests/Readers/Jira.hs+formatted a0bebbb719e9 pandoc-3.10.2/test/Tests/Readers/LaTeX.hs+formatted b7f1456dfbcb pandoc-3.10.2/test/Tests/Readers/Man.hs+formatted 67e0bd9ae4b8 pandoc-3.10.2/test/Tests/Readers/Markdown.hs+formatted 7aec4f85c064 pandoc-3.10.2/test/Tests/Readers/Mdoc.hs+formatted 725337c69fd0 pandoc-3.10.2/test/Tests/Readers/Muse.hs+formatted d850617edb68 pandoc-3.10.2/test/Tests/Readers/ODT.hs+formatted 4cec297f4fab pandoc-3.10.2/test/Tests/Readers/Org.hs+formatted e5c1db2d073f pandoc-3.10.2/test/Tests/Readers/Org/Block.hs+formatted b4b9cddd5711 pandoc-3.10.2/test/Tests/Readers/Org/Block/CodeBlock.hs+formatted 8bfbfbb823bf pandoc-3.10.2/test/Tests/Readers/Org/Block/Figure.hs+formatted 1db2ce6020c8 pandoc-3.10.2/test/Tests/Readers/Org/Block/Header.hs+formatted 6040ddbe898e pandoc-3.10.2/test/Tests/Readers/Org/Block/List.hs+formatted 3e9d7a83d060 pandoc-3.10.2/test/Tests/Readers/Org/Block/Table.hs+formatted 2059c719f367 pandoc-3.10.2/test/Tests/Readers/Org/Directive.hs+formatted bfd915a68797 pandoc-3.10.2/test/Tests/Readers/Org/Inline.hs+formatted c762e1d74166 pandoc-3.10.2/test/Tests/Readers/Org/Inline/Citation.hs+formatted b2fb48f770ee pandoc-3.10.2/test/Tests/Readers/Org/Inline/Note.hs+formatted c86aabaf01bb pandoc-3.10.2/test/Tests/Readers/Org/Inline/Smart.hs+formatted 06c0169c3199 pandoc-3.10.2/test/Tests/Readers/Org/Meta.hs+formatted 9f0320fe3803 pandoc-3.10.2/test/Tests/Readers/Org/Shared.hs+formatted 1eb1a05f4635 pandoc-3.10.2/test/Tests/Readers/Pod.hs+formatted ff6bbea7ddc9 pandoc-3.10.2/test/Tests/Readers/Pptx.hs+formatted 1320e3e7aa2d pandoc-3.10.2/test/Tests/Readers/RST.hs+formatted 63d3f17d29f9 pandoc-3.10.2/test/Tests/Readers/RTF.hs+formatted aca713b17e29 pandoc-3.10.2/test/Tests/Readers/Txt2Tags.hs+formatted d805d2ea3361 pandoc-3.10.2/test/Tests/Readers/Xlsx.hs+formatted 2692dc26ee41 pandoc-3.10.2/test/Tests/Shared.hs+formatted 9159eea2487f pandoc-3.10.2/test/Tests/Writers/AnnotatedTable.hs+formatted b21e7e06def4 pandoc-3.10.2/test/Tests/Writers/AsciiDoc.hs+formatted 70088c61a9f3 pandoc-3.10.2/test/Tests/Writers/BBCode.hs+formatted 6dcb350b3086 pandoc-3.10.2/test/Tests/Writers/ConTeXt.hs+formatted eed62139c6af pandoc-3.10.2/test/Tests/Writers/DocBook.hs+formatted 3734475521c2 pandoc-3.10.2/test/Tests/Writers/Docx.hs+formatted c93a204195d1 pandoc-3.10.2/test/Tests/Writers/FB2.hs+formatted 69041cc0bebc pandoc-3.10.2/test/Tests/Writers/HTML.hs+formatted e20190db8973 pandoc-3.10.2/test/Tests/Writers/JATS.hs+formatted f691886863f7 pandoc-3.10.2/test/Tests/Writers/Jira.hs+formatted 9b6e923fe756 pandoc-3.10.2/test/Tests/Writers/LaTeX.hs+formatted c301d7bef6ff pandoc-3.10.2/test/Tests/Writers/Markdown.hs+formatted c8345b0f787e pandoc-3.10.2/test/Tests/Writers/Markua.hs+formatted fb4d32e30070 pandoc-3.10.2/test/Tests/Writers/Ms.hs+formatted ef0e40bc038b pandoc-3.10.2/test/Tests/Writers/Muse.hs+formatted 9309764377bd pandoc-3.10.2/test/Tests/Writers/Native.hs+formatted 123f7ce6880c pandoc-3.10.2/test/Tests/Writers/OOXML.hs+formatted 3033600cbe42 pandoc-3.10.2/test/Tests/Writers/Org.hs+formatted 0e4b414e2dea pandoc-3.10.2/test/Tests/Writers/Plain.hs+formatted 1b5be67cf1c4 pandoc-3.10.2/test/Tests/Writers/Powerpoint.hs+formatted d5d49a829a7e pandoc-3.10.2/test/Tests/Writers/RST.hs+formatted 7f7f9e6de407 pandoc-3.10.2/test/Tests/Writers/TEI.hs+formatted 9286c785c97e pandoc-3.10.2/test/Tests/Writers/Txt2Tags.hs+formatted 14edd0465124 pandoc-3.10.2/test/Tests/XML.hs+formatted 16057c777a9d pandoc-3.10.2/test/command/3510-src.hs+formatted 3f023b0abbe3 pandoc-3.10.2/test/command/6466-beg.hs+formatted 06289f98fcac pandoc-3.10.2/test/command/6466-end.hs+formatted 546301610b9b pandoc-3.10.2/test/command/6466-mid.hs+formatted b6f515e00962 pandoc-3.10.2/test/command/6466-whole.hs+formatted 53aaf2e2c6e0 pandoc-3.10.2/test/test-pandoc.hs+formatted 2556d5cb9f72 pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light.hs+formatted 3cd6a981ab05 pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light/Output.hs+formatted 3f7a60f285f2 pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light/Proc.hs+formatted de45363ba4dc pandoc-3.10.2/xml-light/Text/Pandoc/XML/Light/Types.hs+formatted e865ae48f11b pandoc-types-1.23.1.2/Setup.hs+formatted 8376040e03f4 pandoc-types-1.23.1.2/benchmark/bench.hs+formatted 3ae03bf8e37c pandoc-types-1.23.1.2/src/Text/Pandoc/Arbitrary.hs+formatted 87ebe529440f pandoc-types-1.23.1.2/src/Text/Pandoc/Builder.hs+formatted 2f99ad7040cc pandoc-types-1.23.1.2/src/Text/Pandoc/Definition.hs+formatted 42a13347f367 pandoc-types-1.23.1.2/src/Text/Pandoc/Generic.hs+formatted 8fad29f2adc4 pandoc-types-1.23.1.2/src/Text/Pandoc/JSON.hs+formatted 521e0dcaf505 pandoc-types-1.23.1.2/src/Text/Pandoc/Walk.hs+formatted dcf10d45e788 pandoc-types-1.23.1.2/test/Data/String/QQ.hs+formatted aa803b05c956 pandoc-types-1.23.1.2/test/test-pandoc-types.hs+formatted 7474b7e1d4f5 parsec3-1.0.1.8/Setup.hs+formatted 48d72ad7fc59 parsec3-1.0.1.8/Text/Parsec.hs+formatted 5c36e0dc2f16 parsec3-1.0.1.8/Text/Parsec/ByteString.hs+formatted 067f443a7131 parsec3-1.0.1.8/Text/Parsec/ByteString/Lazy.hs+formatted 5e6bdea20cf6 parsec3-1.0.1.8/Text/Parsec/Char.hs+formatted 522600ab706d parsec3-1.0.1.8/Text/Parsec/Combinator.hs+formatted fbc0d23649b9 parsec3-1.0.1.8/Text/Parsec/Error.hs+formatted 7791b03e9f31 parsec3-1.0.1.8/Text/Parsec/Expr.hs+formatted 156014d6ed26 parsec3-1.0.1.8/Text/Parsec/Language.hs+formatted 40bf4d018d51 parsec3-1.0.1.8/Text/Parsec/Perm.hs+formatted c50efff79fe5 parsec3-1.0.1.8/Text/Parsec/Pos.hs+formatted 29be56fe440f parsec3-1.0.1.8/Text/Parsec/Prim.hs+formatted c911dc63e8d5 parsec3-1.0.1.8/Text/Parsec/String.hs+formatted 0442595aeaa8 parsec3-1.0.1.8/Text/Parsec/Text.hs+formatted f2bff0c9cc7d parsec3-1.0.1.8/Text/Parsec/Text/Lazy.hs+formatted bb0eeef3f954 parsec3-1.0.1.8/Text/Parsec/Token.hs+formatted 22b02f116512 parser-combinators-1.3.1/Control/Applicative/Combinators.hs+formatted 2b483a550d21 parser-combinators-1.3.1/Control/Applicative/Combinators/NonEmpty.hs+formatted 7d01c0dddfcd parser-combinators-1.3.1/Control/Applicative/Permutations.hs+formatted 80eb76464ce8 parser-combinators-1.3.1/Control/Monad/Combinators.hs+formatted 203c01d41bb8 parser-combinators-1.3.1/Control/Monad/Combinators/Expr.hs+formatted f63c3b21684d parser-combinators-1.3.1/Control/Monad/Combinators/NonEmpty.hs+formatted 2ce12720b575 parser-combinators-1.3.1/Control/Monad/Permutations.hs+formatted 4c7a2ed66fb7 persistent-2.18.1.0/Database/Persist.hs+formatted af7417196697 persistent-2.18.1.0/Database/Persist/Class.hs+formatted a62cb576f4b1 persistent-2.18.1.0/Database/Persist/Class/PersistConfig.hs+formatted 56f625ad1ea2 persistent-2.18.1.0/Database/Persist/Class/PersistEntity.hs+formatted 59a8f044a3b1 persistent-2.18.1.0/Database/Persist/Class/PersistField.hs+formatted 4229d83e727f persistent-2.18.1.0/Database/Persist/Class/PersistQuery.hs+formatted 194836df1fd0 persistent-2.18.1.0/Database/Persist/Class/PersistStore.hs+formatted c7df1c76c273 persistent-2.18.1.0/Database/Persist/Class/PersistUnique.hs+formatted 8411f5f4d556 persistent-2.18.1.0/Database/Persist/Compatible.hs+formatted 40afca283a80 persistent-2.18.1.0/Database/Persist/Compatible/TH.hs+formatted 88f7099ef25d persistent-2.18.1.0/Database/Persist/Compatible/Types.hs+formatted afd0e0f5df2e persistent-2.18.1.0/Database/Persist/EntityDef.hs+formatted 849d0a429195 persistent-2.18.1.0/Database/Persist/EntityDef/Internal.hs+formatted e1f19a8d7ad8 persistent-2.18.1.0/Database/Persist/FieldDef.hs+formatted ab8743cef9ef persistent-2.18.1.0/Database/Persist/FieldDef/Internal.hs+formatted 62ee350971e4 persistent-2.18.1.0/Database/Persist/ImplicitIdDef.hs+formatted 23219cfb95d9 persistent-2.18.1.0/Database/Persist/ImplicitIdDef/Internal.hs+formatted 03da4b4e1d1b persistent-2.18.1.0/Database/Persist/Names.hs+formatted bffc2993298b persistent-2.18.1.0/Database/Persist/PersistValue.hs+formatted 3b8981721873 persistent-2.18.1.0/Database/Persist/Quasi.hs+formatted 8181443f0a2e persistent-2.18.1.0/Database/Persist/Quasi/Internal.hs+formatted 46a99c7ced31 persistent-2.18.1.0/Database/Persist/Quasi/Internal/ModelParser.hs+formatted 7c334061474c persistent-2.18.1.0/Database/Persist/Quasi/Internal/TypeParser.hs+formatted 21110acf54fd persistent-2.18.1.0/Database/Persist/Quasi/PersistSettings.hs+formatted bd8ed569b227 persistent-2.18.1.0/Database/Persist/Quasi/PersistSettings/Internal.hs+formatted a2208d509db2 persistent-2.18.1.0/Database/Persist/Sql.hs+formatted 246fc7fd8a33 persistent-2.18.1.0/Database/Persist/Sql/Class.hs+formatted 7df96aa6ca37 persistent-2.18.1.0/Database/Persist/Sql/Internal.hs+formatted 61627a409445 persistent-2.18.1.0/Database/Persist/Sql/Migration.hs+formatted 6bb586234ba3 persistent-2.18.1.0/Database/Persist/Sql/Orphan/PersistQuery.hs+formatted f92ba225547b persistent-2.18.1.0/Database/Persist/Sql/Orphan/PersistStore.hs+formatted 423a6f1ddcbf persistent-2.18.1.0/Database/Persist/Sql/Orphan/PersistUnique.hs+formatted 4da2e4b129cc persistent-2.18.1.0/Database/Persist/Sql/Raw.hs+formatted 0e7b2ba6e228 persistent-2.18.1.0/Database/Persist/Sql/Run.hs+formatted 87c15b78e7c4 persistent-2.18.1.0/Database/Persist/Sql/Types.hs+formatted 9e7bc02b72db persistent-2.18.1.0/Database/Persist/Sql/Types/Internal.hs+formatted 4501af7f2e24 persistent-2.18.1.0/Database/Persist/Sql/Util.hs+formatted 20882da7c4ce persistent-2.18.1.0/Database/Persist/SqlBackend.hs+formatted 748cbc69c920 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal.hs+formatted 47acc3733907 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/InsertSqlResult.hs+formatted 4bd5d30fe421 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/IsolationLevel.hs+formatted c8a378801422 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/MkSqlBackend.hs+formatted 945521fad6a2 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/SqlPoolHooks.hs+formatted 4e0a2509487b persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/Statement.hs+formatted e5985feb4a17 persistent-2.18.1.0/Database/Persist/SqlBackend/Internal/StatementCache.hs+formatted 8c6a9aceba09 persistent-2.18.1.0/Database/Persist/SqlBackend/SqlPoolHooks.hs+formatted 22acd1321720 persistent-2.18.1.0/Database/Persist/SqlBackend/StatementCache.hs+formatted c43972a3241b persistent-2.18.1.0/Database/Persist/TH.hs+formatted 7a8187006d4b persistent-2.18.1.0/Database/Persist/TH/Internal.hs+formatted 3eb1ab75fbdf persistent-2.18.1.0/Database/Persist/Types.hs+formatted 602702e0f86e persistent-2.18.1.0/Database/Persist/Types/Base.hs+formatted b8189bc0e07d persistent-2.18.1.0/Database/Persist/Types/SourceSpan.hs+formatted 1aec50d3544f persistent-2.18.1.0/bench/Main.hs+formatted d4e78e3f895b persistent-2.18.1.0/bench/Models.hs+formatted 1e8c8c93c976 persistent-2.18.1.0/test/Database/Persist/ClassSpec.hs+formatted 6082a8164f41 persistent-2.18.1.0/test/Database/Persist/PersistValueSpec.hs+formatted 6b7b4611f96f persistent-2.18.1.0/test/Database/Persist/QuasiSpec.hs+formatted 519e8fe84f6b persistent-2.18.1.0/test/Database/Persist/TH/CommentSpec.hs+formatted e39700ee9e91 persistent-2.18.1.0/test/Database/Persist/TH/CompositeKeyStyleSpec.hs+formatted f9f4014951e3 persistent-2.18.1.0/test/Database/Persist/TH/DiscoverEntitiesSpec.hs+formatted c444c6731179 persistent-2.18.1.0/test/Database/Persist/TH/EmbedSpec.hs+formatted bf23d25d4982 persistent-2.18.1.0/test/Database/Persist/TH/EntityHaddockSpec.hs+formatted 6809c758a81d persistent-2.18.1.0/test/Database/Persist/TH/ForeignRefSpec.hs+formatted 0c3421ff2893 persistent-2.18.1.0/test/Database/Persist/TH/ImplicitIdColSpec.hs+formatted 8570d4321968 persistent-2.18.1.0/test/Database/Persist/TH/JsonEncodingSpec.hs+formatted 8adfe4a4228d persistent-2.18.1.0/test/Database/Persist/TH/KindEntitiesSpec.hs+formatted 5aacd109f219 persistent-2.18.1.0/test/Database/Persist/TH/KindEntitiesSpecImports.hs+formatted 95ba90d362da persistent-2.18.1.0/test/Database/Persist/TH/MaybeFieldDefsSpec.hs+formatted c4b2085e7249 persistent-2.18.1.0/test/Database/Persist/TH/MigrationOnlySpec.hs+formatted dbad9d8d922f persistent-2.18.1.0/test/Database/Persist/TH/MultiBlockSpec.hs+formatted b776165f7ac3 persistent-2.18.1.0/test/Database/Persist/TH/MultiBlockSpec/Model.hs+formatted baa7f67273ec persistent-2.18.1.0/test/Database/Persist/TH/NestedSymbolsInTypeSpec.hs+formatted f0e370f995e7 persistent-2.18.1.0/test/Database/Persist/TH/NestedSymbolsInTypeSpecImports.hs+formatted 148f97b27fd9 persistent-2.18.1.0/test/Database/Persist/TH/NoFieldSelectorsSpec.hs+formatted e227905a242e persistent-2.18.1.0/test/Database/Persist/TH/OverloadedLabelSpec.hs+formatted ad712bcac46e persistent-2.18.1.0/test/Database/Persist/TH/PersistWith/Model.hs+formatted 8d58beb8b33c persistent-2.18.1.0/test/Database/Persist/TH/PersistWith/Model2.hs+formatted a7b8dff135f1 persistent-2.18.1.0/test/Database/Persist/TH/PersistWithSpec.hs+formatted 7b6cf72d5ecc persistent-2.18.1.0/test/Database/Persist/TH/RequireOnlyPersistImportSpec.hs+formatted 9a0756832b2d persistent-2.18.1.0/test/Database/Persist/TH/SharedPrimaryKeyImportedSpec.hs+formatted 885e1164f19c persistent-2.18.1.0/test/Database/Persist/TH/SharedPrimaryKeySpec.hs+formatted 145463b36f4d persistent-2.18.1.0/test/Database/Persist/TH/SumSpec.hs+formatted e6bfe40fd881 persistent-2.18.1.0/test/Database/Persist/TH/ToFromPersistValuesSpec.hs+formatted a18bfc6474db persistent-2.18.1.0/test/Database/Persist/TH/TypeLitFieldDefsSpec.hs+formatted 4b5eb99e6097 persistent-2.18.1.0/test/Database/Persist/THSpec.hs+formatted f9304e426550 persistent-2.18.1.0/test/TemplateTestImports.hs+formatted 7f05465b25d5 persistent-2.18.1.0/test/main.hs+formatted e865ae48f11b pipes-4.3.16/Setup.hs+formatted bc3b140ba83c pipes-4.3.16/benchmarks/Common.hs+formatted e459e4d124d4 pipes-4.3.16/benchmarks/LiftBench.hs+formatted d100cca123ea pipes-4.3.16/benchmarks/PreludeBench.hs+formatted c9e4b8790a2e pipes-4.3.16/src/Pipes.hs+formatted 73ed6cfff72e pipes-4.3.16/src/Pipes/Core.hs+formatted e021398dbff3 pipes-4.3.16/src/Pipes/Internal.hs+formatted e3b36f0685b2 pipes-4.3.16/src/Pipes/Lift.hs+formatted 82bba5f85292 pipes-4.3.16/src/Pipes/Prelude.hs+formatted 436224de8a77 pipes-4.3.16/src/Pipes/Tutorial.hs+formatted 068bd78f1e97 pipes-4.3.16/tests/Main.hs+formatted 56dca68e0a87 postgrest-9.0.1/Setup.hs+formatted 772d4f353686 postgrest-9.0.1/main/Main.hs+formatted e24d5ee8932f postgrest-9.0.1/src/PostgREST/App.hs+formatted f658b8d95628 postgrest-9.0.1/src/PostgREST/AppState.hs+formatted 04688f64c4e1 postgrest-9.0.1/src/PostgREST/Auth.hs+formatted 0abbe3feaa05 postgrest-9.0.1/src/PostgREST/CLI.hs+formatted 1b3df3371712 postgrest-9.0.1/src/PostgREST/Config.hs+formatted 26e0ccfa04f8 postgrest-9.0.1/src/PostgREST/Config/Database.hs+formatted 9632241317fd postgrest-9.0.1/src/PostgREST/Config/JSPath.hs+formatted b719e278251b postgrest-9.0.1/src/PostgREST/Config/PgVersion.hs+formatted 6c2ca99e2760 postgrest-9.0.1/src/PostgREST/Config/Proxy.hs+formatted 65c66f863629 postgrest-9.0.1/src/PostgREST/ContentType.hs+formatted 9200d4931d04 postgrest-9.0.1/src/PostgREST/Cors.hs+formatted 738b5e18a7a6 postgrest-9.0.1/src/PostgREST/DbStructure.hs+formatted a0f5c884d319 postgrest-9.0.1/src/PostgREST/DbStructure/Identifiers.hs+formatted 29d8af69557a postgrest-9.0.1/src/PostgREST/DbStructure/Proc.hs+formatted 8670bffe5d4a postgrest-9.0.1/src/PostgREST/DbStructure/Relationship.hs+formatted 66c6fb5fc0f5 postgrest-9.0.1/src/PostgREST/DbStructure/Table.hs+formatted c35d5cc3a41e postgrest-9.0.1/src/PostgREST/Error.hs+formatted f1b82d17eed8 postgrest-9.0.1/src/PostgREST/GucHeader.hs+formatted 2c6a7ae61af9 postgrest-9.0.1/src/PostgREST/Logger.hs+formatted 1dacd910468e postgrest-9.0.1/src/PostgREST/Middleware.hs+formatted 17654b363841 postgrest-9.0.1/src/PostgREST/OpenAPI.hs+formatted cdec9328f2d4 postgrest-9.0.1/src/PostgREST/Query/QueryBuilder.hs+formatted 9ac8d5c64df2 postgrest-9.0.1/src/PostgREST/Query/SqlFragment.hs+formatted 5f4cbf20b7f3 postgrest-9.0.1/src/PostgREST/Query/Statements.hs+formatted 7d83276a4311 postgrest-9.0.1/src/PostgREST/RangeQuery.hs+formatted 4cecd3055b78 postgrest-9.0.1/src/PostgREST/Request/ApiRequest.hs+formatted 6ee594640f68 postgrest-9.0.1/src/PostgREST/Request/DbRequestBuilder.hs+formatted fc3632173741 postgrest-9.0.1/src/PostgREST/Request/Parsers.hs+formatted 8e710c5836da postgrest-9.0.1/src/PostgREST/Request/Preferences.hs+formatted 1353ba00b6c3 postgrest-9.0.1/src/PostgREST/Request/Types.hs+formatted 0c839dec485e postgrest-9.0.1/src/PostgREST/Unix.hs+formatted 793800bb054f postgrest-9.0.1/src/PostgREST/Version.hs+formatted 900b9c705574 postgrest-9.0.1/src/PostgREST/Workers.hs+formatted c719f882d27c postgrest-9.0.1/test/doc/Main.hs+formatted 0aa4fe971d52 postgrest-9.0.1/test/spec/Feature/AndOrParamsSpec.hs+formatted ff8246e7adcd postgrest-9.0.1/test/spec/Feature/AsymmetricJwtSpec.hs+formatted bac4b7907402 postgrest-9.0.1/test/spec/Feature/AudienceJwtSecretSpec.hs+formatted acbe9362314e postgrest-9.0.1/test/spec/Feature/AuthSpec.hs+formatted 2fe84a7e70d0 postgrest-9.0.1/test/spec/Feature/BinaryJwtSecretSpec.hs+formatted 2fb433681c01 postgrest-9.0.1/test/spec/Feature/ConcurrentSpec.hs+formatted db553e991f45 postgrest-9.0.1/test/spec/Feature/CorsSpec.hs+formatted 343d3e3a465e postgrest-9.0.1/test/spec/Feature/DeleteSpec.hs+formatted 112082d3da25 postgrest-9.0.1/test/spec/Feature/DisabledOpenApiSpec.hs+formatted ad7384965a9e postgrest-9.0.1/test/spec/Feature/EmbedDisambiguationSpec.hs+formatted f7a7ea3d2a87 postgrest-9.0.1/test/spec/Feature/EmbedInnerJoinSpec.hs+formatted a3dddabdb704 postgrest-9.0.1/test/spec/Feature/ExtraSearchPathSpec.hs+formatted ff20687cb475 postgrest-9.0.1/test/spec/Feature/HtmlRawOutputSpec.hs+formatted 2e6a9474e718 postgrest-9.0.1/test/spec/Feature/IgnorePrivOpenApiSpec.hs+formatted ea599ebfe99c postgrest-9.0.1/test/spec/Feature/InsertSpec.hs+formatted 6f6ff9c35189 postgrest-9.0.1/test/spec/Feature/JsonOperatorSpec.hs+formatted 12271bc52ad6 postgrest-9.0.1/test/spec/Feature/LegacyGucsSpec.hs+formatted 5228aaf9349c postgrest-9.0.1/test/spec/Feature/MultipleSchemaSpec.hs+formatted 7bdf0d9b94ab postgrest-9.0.1/test/spec/Feature/NoJwtSpec.hs+formatted a7144a84ab24 postgrest-9.0.1/test/spec/Feature/NonexistentSchemaSpec.hs+formatted d10bde3ba967 postgrest-9.0.1/test/spec/Feature/OpenApiSpec.hs+formatted 1b9c2f6f5c75 postgrest-9.0.1/test/spec/Feature/OptionsSpec.hs+formatted 89a1589ff0fe postgrest-9.0.1/test/spec/Feature/ProxySpec.hs+formatted 4e889783f9ba postgrest-9.0.1/test/spec/Feature/QueryLimitedSpec.hs+formatted 343a60a46b7c postgrest-9.0.1/test/spec/Feature/QuerySpec.hs+formatted 06632a6a8e0a postgrest-9.0.1/test/spec/Feature/RangeSpec.hs+formatted 7cb746560127 postgrest-9.0.1/test/spec/Feature/RawOutputTypesSpec.hs+formatted b4a3ab5a81a9 postgrest-9.0.1/test/spec/Feature/RollbackSpec.hs+formatted dc5321d79fb3 postgrest-9.0.1/test/spec/Feature/RootSpec.hs+formatted 77a649eeb2e6 postgrest-9.0.1/test/spec/Feature/RpcPreRequestGucsSpec.hs+formatted 79c99d7ebcf6 postgrest-9.0.1/test/spec/Feature/RpcSpec.hs+formatted 73c0ab518a3d postgrest-9.0.1/test/spec/Feature/SingularSpec.hs+formatted be03de84804f postgrest-9.0.1/test/spec/Feature/UnicodeSpec.hs+formatted 162dade8a566 postgrest-9.0.1/test/spec/Feature/UpdateSpec.hs+formatted eb3b5ebce8b4 postgrest-9.0.1/test/spec/Feature/UpsertSpec.hs+formatted 7a9dd3383794 postgrest-9.0.1/test/spec/Main.hs+formatted f32b163f57d7 postgrest-9.0.1/test/spec/QueryCost.hs+formatted c8a3a9772eba postgrest-9.0.1/test/spec/SpecHelper.hs+formatted c136e6235ce2 postgrest-9.0.1/test/spec/TestTypes.hs+formatted 13abd8b59335 profunctors-5.6.3/src/Data/Profunctor.hs+formatted cd53a440a7f3 profunctors-5.6.3/src/Data/Profunctor/Adjunction.hs+formatted 44ffb6d1bea1 profunctors-5.6.3/src/Data/Profunctor/Cayley.hs+formatted 43b9af9dbdee profunctors-5.6.3/src/Data/Profunctor/Choice.hs+formatted e75ce088bc39 profunctors-5.6.3/src/Data/Profunctor/Closed.hs+formatted 1bf9da8132db profunctors-5.6.3/src/Data/Profunctor/Composition.hs+formatted 637e91df9ad9 profunctors-5.6.3/src/Data/Profunctor/Mapping.hs+formatted 59b30aaa8b06 profunctors-5.6.3/src/Data/Profunctor/Monad.hs+formatted 9cdbefb9ae8d profunctors-5.6.3/src/Data/Profunctor/Ran.hs+formatted 75bf7910fd8f profunctors-5.6.3/src/Data/Profunctor/Rep.hs+formatted a405de2f08b4 profunctors-5.6.3/src/Data/Profunctor/Sieve.hs+formatted 08010efdb1f7 profunctors-5.6.3/src/Data/Profunctor/Strong.hs+formatted c581748aad4e profunctors-5.6.3/src/Data/Profunctor/Traversing.hs+formatted 1c7fe01f264b profunctors-5.6.3/src/Data/Profunctor/Types.hs+formatted 40464db793ac profunctors-5.6.3/src/Data/Profunctor/Unsafe.hs+formatted 5f12d0dd1351 profunctors-5.6.3/src/Data/Profunctor/Yoneda.hs+formatted f97b976f5a71 purescript-0.15.15/Setup.hs+formatted fc25cc9ab507 purescript-0.15.15/app/Command/Bundle.hs+formatted d0c2fd344d2b purescript-0.15.15/app/Command/Compile.hs+formatted 7219813f0a5c purescript-0.15.15/app/Command/Docs.hs+formatted c06c3f05260e purescript-0.15.15/app/Command/Docs/Html.hs+formatted 037036ef66e1 purescript-0.15.15/app/Command/Docs/Markdown.hs+formatted 60636f418bc5 purescript-0.15.15/app/Command/Graph.hs+formatted 60131f690f8b purescript-0.15.15/app/Command/Hierarchy.hs+formatted be7dd3becfad purescript-0.15.15/app/Command/Ide.hs+formatted 2c3998824b51 purescript-0.15.15/app/Command/Publish.hs+formatted a930f15c3b4e purescript-0.15.15/app/Command/REPL.hs+formatted aa128423c4fb purescript-0.15.15/app/Main.hs+formatted 8c8cfed900b8 purescript-0.15.15/app/SharedCLI.hs+formatted 18a85337fa6b purescript-0.15.15/app/Version.hs+formatted e69aed05fabc purescript-0.15.15/src/Control/Monad/Logger.hs+formatted f396208e56b6 purescript-0.15.15/src/Control/Monad/Supply.hs+formatted 4199e8087c69 purescript-0.15.15/src/Control/Monad/Supply/Class.hs+formatted 7a4d7979e1c9 purescript-0.15.15/src/Data/Text/PureScript.hs+formatted eef5dd037abf purescript-0.15.15/src/Language/PureScript.hs+formatted 64c0d4442190 purescript-0.15.15/src/Language/PureScript/AST.hs+formatted 6857432ccb89 purescript-0.15.15/src/Language/PureScript/AST/Binders.hs+formatted 31b3dc106302 purescript-0.15.15/src/Language/PureScript/AST/Declarations.hs+formatted 0368132e2a7c purescript-0.15.15/src/Language/PureScript/AST/Declarations/ChainId.hs+formatted fbdaa45efd39 purescript-0.15.15/src/Language/PureScript/AST/Exported.hs+formatted 16c598490b8b purescript-0.15.15/src/Language/PureScript/AST/Literals.hs+formatted 6dde4019084f purescript-0.15.15/src/Language/PureScript/AST/Operators.hs+formatted 7cb50594d1de purescript-0.15.15/src/Language/PureScript/AST/SourcePos.hs+formatted fd740ce393cd purescript-0.15.15/src/Language/PureScript/AST/Traversals.hs+formatted b141c8c10db8 purescript-0.15.15/src/Language/PureScript/AST/Utils.hs+formatted afe55109e72f purescript-0.15.15/src/Language/PureScript/Bundle.hs+formatted 665ede6abf17 purescript-0.15.15/src/Language/PureScript/CST.hs+formatted a5963c5438f8 purescript-0.15.15/src/Language/PureScript/CST/Convert.hs+formatted 2143990c6781 purescript-0.15.15/src/Language/PureScript/CST/Errors.hs+formatted c81c2ecf7ebe purescript-0.15.15/src/Language/PureScript/CST/Flatten.hs+formatted 36fe1c70493a purescript-0.15.15/src/Language/PureScript/CST/Layout.hs+formatted 7ac157858a86 purescript-0.15.15/src/Language/PureScript/CST/Lexer.hs+formatted a08c36743aa3 purescript-0.15.15/src/Language/PureScript/CST/Monad.hs+formatted a696e86ab554 purescript-0.15.15/src/Language/PureScript/CST/Positions.hs+formatted 2df3a82dec66 purescript-0.15.15/src/Language/PureScript/CST/Print.hs+formatted c741805ffed3 purescript-0.15.15/src/Language/PureScript/CST/Traversals.hs+formatted 81c5d151f932 purescript-0.15.15/src/Language/PureScript/CST/Traversals/Type.hs+formatted 46dd73253c21 purescript-0.15.15/src/Language/PureScript/CST/Types.hs+formatted 36359ab27c15 purescript-0.15.15/src/Language/PureScript/CST/Utils.hs+formatted ebd74707d2df purescript-0.15.15/src/Language/PureScript/CodeGen.hs+formatted 9cf1b3de6d73 purescript-0.15.15/src/Language/PureScript/CodeGen/JS.hs+formatted f10bc54be3c8 purescript-0.15.15/src/Language/PureScript/CodeGen/JS/Common.hs+formatted f81f2f0671e9 purescript-0.15.15/src/Language/PureScript/CodeGen/JS/Printer.hs+formatted a69b28f801ea purescript-0.15.15/src/Language/PureScript/Comments.hs+formatted 7e1454fed47d purescript-0.15.15/src/Language/PureScript/Constants/Libs.hs+formatted 4e84deb1970c purescript-0.15.15/src/Language/PureScript/Constants/Prim.hs+formatted 08cf8657b87b purescript-0.15.15/src/Language/PureScript/Constants/TH.hs+formatted 0e372eb9e534 purescript-0.15.15/src/Language/PureScript/CoreFn.hs+formatted c133879c858f purescript-0.15.15/src/Language/PureScript/CoreFn/Ann.hs+formatted 2556afbb3bea purescript-0.15.15/src/Language/PureScript/CoreFn/Binders.hs+formatted 08f7f269d88a purescript-0.15.15/src/Language/PureScript/CoreFn/CSE.hs+formatted 3a083ba8ee7c purescript-0.15.15/src/Language/PureScript/CoreFn/Desugar.hs+formatted 2f90c3840d55 purescript-0.15.15/src/Language/PureScript/CoreFn/Expr.hs+formatted 17eec7fac664 purescript-0.15.15/src/Language/PureScript/CoreFn/FromJSON.hs+formatted 83a35a14ab46 purescript-0.15.15/src/Language/PureScript/CoreFn/Laziness.hs+formatted 083a81cbf5bf purescript-0.15.15/src/Language/PureScript/CoreFn/Meta.hs+formatted 2b2d42f479f2 purescript-0.15.15/src/Language/PureScript/CoreFn/Module.hs+formatted 26edb255fed7 purescript-0.15.15/src/Language/PureScript/CoreFn/Optimizer.hs+formatted a01b08124299 purescript-0.15.15/src/Language/PureScript/CoreFn/ToJSON.hs+formatted 74e775f771b9 purescript-0.15.15/src/Language/PureScript/CoreFn/Traversals.hs+formatted 63122a31d5b9 purescript-0.15.15/src/Language/PureScript/CoreImp.hs+formatted 5545c5e53cd1 purescript-0.15.15/src/Language/PureScript/CoreImp/AST.hs+formatted 07f8248f1a4c purescript-0.15.15/src/Language/PureScript/CoreImp/Module.hs+formatted 76a5683510a3 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer.hs+formatted 900e45f47ef2 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Blocks.hs+formatted 69950bb1f0de purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Common.hs+formatted 1d936757f795 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Inliner.hs+formatted cd70e24b2f0a purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/MagicDo.hs+formatted 4a46787c4f53 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/TCO.hs+formatted c3bcb1230471 purescript-0.15.15/src/Language/PureScript/CoreImp/Optimizer/Unused.hs+formatted 54228acabdeb purescript-0.15.15/src/Language/PureScript/Crash.hs+formatted d38f4a6a3f33 purescript-0.15.15/src/Language/PureScript/Docs.hs+formatted 4478d29d0228 purescript-0.15.15/src/Language/PureScript/Docs/AsHtml.hs+formatted b2652f6691cc purescript-0.15.15/src/Language/PureScript/Docs/AsMarkdown.hs+formatted a02b1656aca1 purescript-0.15.15/src/Language/PureScript/Docs/Collect.hs+formatted 4b0e409bc207 purescript-0.15.15/src/Language/PureScript/Docs/Convert.hs+formatted d0cd55c3280e purescript-0.15.15/src/Language/PureScript/Docs/Convert/ReExports.hs+formatted 9037caf6f0fd purescript-0.15.15/src/Language/PureScript/Docs/Convert/Single.hs+formatted d97124c1ab6a purescript-0.15.15/src/Language/PureScript/Docs/Css.hs+formatted f90d0d26dd2b purescript-0.15.15/src/Language/PureScript/Docs/Prim.hs+formatted edaa27498ded purescript-0.15.15/src/Language/PureScript/Docs/Render.hs+formatted 4c98064ffe67 purescript-0.15.15/src/Language/PureScript/Docs/RenderedCode.hs+formatted 2f9857670eb2 purescript-0.15.15/src/Language/PureScript/Docs/RenderedCode/RenderType.hs+formatted c20dd6b6a9df purescript-0.15.15/src/Language/PureScript/Docs/RenderedCode/Types.hs+formatted 876b5438b748 purescript-0.15.15/src/Language/PureScript/Docs/Tags.hs+formatted 5872469a59f7 purescript-0.15.15/src/Language/PureScript/Docs/Types.hs+formatted bc381d509404 purescript-0.15.15/src/Language/PureScript/Docs/Utils/MonoidExtras.hs+formatted 3d05b5f9ca04 purescript-0.15.15/src/Language/PureScript/Environment.hs+formatted 833858141e1a purescript-0.15.15/src/Language/PureScript/Errors.hs+formatted 805b37c2988c purescript-0.15.15/src/Language/PureScript/Errors/JSON.hs+formatted 30d65d281400 purescript-0.15.15/src/Language/PureScript/Externs.hs+formatted 20df6c4b2580 purescript-0.15.15/src/Language/PureScript/Glob.hs+formatted a91b6028a053 purescript-0.15.15/src/Language/PureScript/Graph.hs+formatted 0af324e42f5f purescript-0.15.15/src/Language/PureScript/Hierarchy.hs+formatted 281c5e956097 purescript-0.15.15/src/Language/PureScript/Ide.hs+formatted 4d15e4184a91 purescript-0.15.15/src/Language/PureScript/Ide/CaseSplit.hs+formatted 881ddb331445 purescript-0.15.15/src/Language/PureScript/Ide/Command.hs+formatted 9df2facac4b2 purescript-0.15.15/src/Language/PureScript/Ide/Completion.hs+formatted beb74c449b74 purescript-0.15.15/src/Language/PureScript/Ide/Error.hs+formatted ead51a8cf8b2 purescript-0.15.15/src/Language/PureScript/Ide/Externs.hs+formatted 846996d62981 purescript-0.15.15/src/Language/PureScript/Ide/Filter.hs+formatted 3576f2d7de05 purescript-0.15.15/src/Language/PureScript/Ide/Filter/Declaration.hs+formatted 19c2f9d82289 purescript-0.15.15/src/Language/PureScript/Ide/Filter/Imports.hs+formatted d3bf1ba9ac6a purescript-0.15.15/src/Language/PureScript/Ide/Imports.hs+formatted 03a7f932c16a purescript-0.15.15/src/Language/PureScript/Ide/Imports/Actions.hs+formatted dae869e09d51 purescript-0.15.15/src/Language/PureScript/Ide/Logging.hs+formatted 6495efed1636 purescript-0.15.15/src/Language/PureScript/Ide/Matcher.hs+formatted fe69a6b2ed2c purescript-0.15.15/src/Language/PureScript/Ide/Prim.hs+formatted ac973f1b2f5a purescript-0.15.15/src/Language/PureScript/Ide/Rebuild.hs+formatted 9390668ca723 purescript-0.15.15/src/Language/PureScript/Ide/Reexports.hs+formatted 40ae0185eda5 purescript-0.15.15/src/Language/PureScript/Ide/SourceFile.hs+formatted 4badb68aba43 purescript-0.15.15/src/Language/PureScript/Ide/State.hs+formatted 97156b72015a purescript-0.15.15/src/Language/PureScript/Ide/Types.hs+formatted a2547b22a5bd purescript-0.15.15/src/Language/PureScript/Ide/Usage.hs+formatted c5c7f0134f7c purescript-0.15.15/src/Language/PureScript/Ide/Util.hs+formatted a54bd99f9377 purescript-0.15.15/src/Language/PureScript/Interactive.hs+formatted ea47006e2013 purescript-0.15.15/src/Language/PureScript/Interactive/Completion.hs+formatted 17488dfda517 purescript-0.15.15/src/Language/PureScript/Interactive/Directive.hs+formatted 2ab1349ff2ec purescript-0.15.15/src/Language/PureScript/Interactive/IO.hs+formatted f41f6e5826db purescript-0.15.15/src/Language/PureScript/Interactive/Message.hs+formatted 595ebf5e2141 purescript-0.15.15/src/Language/PureScript/Interactive/Module.hs+formatted 4b81e9100134 purescript-0.15.15/src/Language/PureScript/Interactive/Parser.hs+formatted 1addaeaf36e0 purescript-0.15.15/src/Language/PureScript/Interactive/Printer.hs+formatted 6ddd734712d4 purescript-0.15.15/src/Language/PureScript/Interactive/Types.hs+formatted 1c78dfc40930 purescript-0.15.15/src/Language/PureScript/Label.hs+formatted 2d0f22fb5805 purescript-0.15.15/src/Language/PureScript/Linter.hs+formatted a4813ff2c614 purescript-0.15.15/src/Language/PureScript/Linter/Exhaustive.hs+formatted 299f2c75ebc4 purescript-0.15.15/src/Language/PureScript/Linter/Imports.hs+formatted 463c2330ffe1 purescript-0.15.15/src/Language/PureScript/Linter/Wildcards.hs+formatted 1511cd74f131 purescript-0.15.15/src/Language/PureScript/Make.hs+formatted 316ef33e238d purescript-0.15.15/src/Language/PureScript/Make/Actions.hs+formatted 103c1376e453 purescript-0.15.15/src/Language/PureScript/Make/BuildPlan.hs+formatted 2ff6ea3e0439 purescript-0.15.15/src/Language/PureScript/Make/Cache.hs+formatted 5a62260bbc36 purescript-0.15.15/src/Language/PureScript/Make/Monad.hs+formatted d32972a1d126 purescript-0.15.15/src/Language/PureScript/ModuleDependencies.hs+formatted f525c70bb6b0 purescript-0.15.15/src/Language/PureScript/Names.hs+formatted 0f9b1ea22f14 purescript-0.15.15/src/Language/PureScript/Options.hs+formatted 2a2b99ef8171 purescript-0.15.15/src/Language/PureScript/PSString.hs+formatted 2b26a96d8bcc purescript-0.15.15/src/Language/PureScript/Pretty.hs+formatted c590bb7fdae4 purescript-0.15.15/src/Language/PureScript/Pretty/Common.hs+formatted c8ae94e56cbc purescript-0.15.15/src/Language/PureScript/Pretty/Types.hs+formatted e154c175f83f purescript-0.15.15/src/Language/PureScript/Pretty/Values.hs+formatted 7afc9764bee9 purescript-0.15.15/src/Language/PureScript/Publish.hs+formatted 79e26f16154a purescript-0.15.15/src/Language/PureScript/Publish/BoxesHelpers.hs+formatted fd7373c25f32 purescript-0.15.15/src/Language/PureScript/Publish/ErrorsWarnings.hs+formatted a7eeb8da714c purescript-0.15.15/src/Language/PureScript/Publish/Registry/Compat.hs+formatted fba7a9e201e6 purescript-0.15.15/src/Language/PureScript/Publish/Utils.hs+formatted c4b949fe0d09 purescript-0.15.15/src/Language/PureScript/Renamer.hs+formatted 9e88be14067d purescript-0.15.15/src/Language/PureScript/Roles.hs+formatted 2530d5774295 purescript-0.15.15/src/Language/PureScript/Sugar.hs+formatted 834b0e83e969 purescript-0.15.15/src/Language/PureScript/Sugar/AdoNotation.hs+formatted 69ace5e25259 purescript-0.15.15/src/Language/PureScript/Sugar/BindingGroups.hs+formatted 6aef86a4887f purescript-0.15.15/src/Language/PureScript/Sugar/CaseDeclarations.hs+formatted 7efb24168510 purescript-0.15.15/src/Language/PureScript/Sugar/DoNotation.hs+formatted b232946c3700 purescript-0.15.15/src/Language/PureScript/Sugar/LetPattern.hs+formatted ae52bb36f9ee purescript-0.15.15/src/Language/PureScript/Sugar/Names.hs+formatted b2eab3efd8fe purescript-0.15.15/src/Language/PureScript/Sugar/Names/Common.hs+formatted e317ca567acf purescript-0.15.15/src/Language/PureScript/Sugar/Names/Env.hs+formatted f2e2506cd465 purescript-0.15.15/src/Language/PureScript/Sugar/Names/Exports.hs+formatted 6955df9dd4c2 purescript-0.15.15/src/Language/PureScript/Sugar/Names/Imports.hs+formatted 54d278b2a1af purescript-0.15.15/src/Language/PureScript/Sugar/ObjectWildcards.hs+formatted 1f8d111ee043 purescript-0.15.15/src/Language/PureScript/Sugar/Operators.hs+formatted 9db73f9a40a9 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Binders.hs+formatted 13722182a0e7 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Common.hs+formatted a5ab8188f154 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Expr.hs+formatted 81c3efe7c9f9 purescript-0.15.15/src/Language/PureScript/Sugar/Operators/Types.hs+formatted fb9c5b98a9e5 purescript-0.15.15/src/Language/PureScript/Sugar/TypeClasses.hs+formatted 7d9f317829e0 purescript-0.15.15/src/Language/PureScript/Sugar/TypeClasses/Deriving.hs+formatted ecea49da50c6 purescript-0.15.15/src/Language/PureScript/Sugar/TypeDeclarations.hs+formatted 24e5df024499 purescript-0.15.15/src/Language/PureScript/Traversals.hs+formatted ca48c70748fe purescript-0.15.15/src/Language/PureScript/TypeChecker.hs+formatted 9b0b916deed1 purescript-0.15.15/src/Language/PureScript/TypeChecker/Deriving.hs+formatted 6f3315a67e07 purescript-0.15.15/src/Language/PureScript/TypeChecker/Entailment.hs+formatted 475dea9a3c17 purescript-0.15.15/src/Language/PureScript/TypeChecker/Entailment/Coercible.hs+formatted b504bbdc02b8 purescript-0.15.15/src/Language/PureScript/TypeChecker/Entailment/IntCompare.hs+formatted 3fc4c00e183c purescript-0.15.15/src/Language/PureScript/TypeChecker/Kinds.hs+formatted 47e4f5ec9f12 purescript-0.15.15/src/Language/PureScript/TypeChecker/Monad.hs+formatted 4c2777ae908a purescript-0.15.15/src/Language/PureScript/TypeChecker/Roles.hs+formatted 3d9eb14e5345 purescript-0.15.15/src/Language/PureScript/TypeChecker/Skolems.hs+formatted c8964442e6c6 purescript-0.15.15/src/Language/PureScript/TypeChecker/Subsumption.hs+formatted c5b309590b3d purescript-0.15.15/src/Language/PureScript/TypeChecker/Synonyms.hs+formatted a0db4db50108 purescript-0.15.15/src/Language/PureScript/TypeChecker/TypeSearch.hs+formatted 69b6eeefd174 purescript-0.15.15/src/Language/PureScript/TypeChecker/Types.hs+formatted e88ff7e32a40 purescript-0.15.15/src/Language/PureScript/TypeChecker/Unify.hs+formatted 2d148264f334 purescript-0.15.15/src/Language/PureScript/TypeClassDictionaries.hs+formatted ed3ce891a8d0 purescript-0.15.15/src/Language/PureScript/Types.hs+formatted 50a45fbad08d purescript-0.15.15/src/System/IO/UTF8.hs+formatted c599f7d8bf58 purescript-0.15.15/tests/Language/PureScript/Ide/CompletionSpec.hs+formatted 099ba0badfd6 purescript-0.15.15/tests/Language/PureScript/Ide/FilterSpec.hs+formatted 1033245eef97 purescript-0.15.15/tests/Language/PureScript/Ide/ImportsSpec.hs+formatted 028f5c10dae7 purescript-0.15.15/tests/Language/PureScript/Ide/MatcherSpec.hs+formatted e7c92690fcf3 purescript-0.15.15/tests/Language/PureScript/Ide/RebuildSpec.hs+formatted 7890facc486a purescript-0.15.15/tests/Language/PureScript/Ide/ReexportsSpec.hs+formatted 59d2a1d292e1 purescript-0.15.15/tests/Language/PureScript/Ide/SourceFileSpec.hs+formatted 8f0a665bd9ba purescript-0.15.15/tests/Language/PureScript/Ide/StateSpec.hs+formatted 9864a15e1927 purescript-0.15.15/tests/Language/PureScript/Ide/Test.hs+formatted 67fe4d589cdb purescript-0.15.15/tests/Language/PureScript/Ide/UsageSpec.hs+formatted 0406ed28e812 purescript-0.15.15/tests/Main.hs+formatted ed333c67c3b1 purescript-0.15.15/tests/PscIdeSpec.hs+formatted a2b0f5e823b9 purescript-0.15.15/tests/TestAst.hs+formatted 5e98364df884 purescript-0.15.15/tests/TestCompiler.hs+formatted c454ba7cc3dd purescript-0.15.15/tests/TestCoreFn.hs+formatted 5b562e2e0010 purescript-0.15.15/tests/TestCst.hs+formatted d9a9eb37749c purescript-0.15.15/tests/TestDocs.hs+formatted e29c16f400a0 purescript-0.15.15/tests/TestGraph.hs+formatted 7314022489fa purescript-0.15.15/tests/TestHierarchy.hs+formatted 0874e238b9c0 purescript-0.15.15/tests/TestIde.hs+formatted 4e905fa525a9 purescript-0.15.15/tests/TestMake.hs+formatted e782a733be50 purescript-0.15.15/tests/TestPrimDocs.hs+formatted d2998d562480 purescript-0.15.15/tests/TestPscPublish.hs+formatted e47fc0f000ee purescript-0.15.15/tests/TestPsci.hs+formatted 557206f834dc purescript-0.15.15/tests/TestPsci/CommandTest.hs+formatted a139fd3aa0c9 purescript-0.15.15/tests/TestPsci/CompletionTest.hs+formatted 5fa6ca09e4c4 purescript-0.15.15/tests/TestPsci/EvalTest.hs+formatted 52ef143912e6 purescript-0.15.15/tests/TestPsci/TestEnv.hs+formatted 3aaf84c12b48 purescript-0.15.15/tests/TestSourceMaps.hs+formatted 32a8b25e8a6d purescript-0.15.15/tests/TestUtils.hs+formatted 81d9fcab1309 raaz-0.3.11/api/aead/Auth/Implementation.hsig+formatted 3c30facf2cf7 raaz-0.3.11/api/aead/Cipher/Implementation.hsig+formatted faee44cdbcec raaz-0.3.11/api/aead/Interface.hs+formatted a346882029b3 raaz-0.3.11/api/auth/Implementation.hsig+formatted 64f75c0371bc raaz-0.3.11/api/auth/Interface.hs+formatted 29b7f7e93ae5 raaz-0.3.11/api/digest/Implementation.hsig+formatted 558beb703aff raaz-0.3.11/api/digest/Interface.hs+formatted 33dbca109528 raaz-0.3.11/api/encrypt/Implementation.hsig+formatted abdae110e56a raaz-0.3.11/api/encrypt/Interface.hs+formatted 10d5d9d622cd raaz-0.3.11/api/random/Entropy.hsig+formatted 83b376fec166 raaz-0.3.11/api/random/Implementation.hsig+formatted ffc859b186af raaz-0.3.11/api/random/Internal.hs+formatted b649659b6718 raaz-0.3.11/api/random/PRGenerator.hs+formatted 316f45947114 raaz-0.3.11/benchmarks/Main.hs+formatted 876b405577a3 raaz-0.3.11/benchmarks/internal/Benchmark/CSPRG.hs+formatted 20cee45b7828 raaz-0.3.11/benchmarks/internal/Benchmark/Primitive.hs+formatted 1e4c846b4064 raaz-0.3.11/benchmarks/internal/Benchmark/Types.hs+formatted 9ec4c716a238 raaz-0.3.11/core/Raaz/Core.hs+formatted 52634a64c590 raaz-0.3.11/core/Raaz/Core/ByteSource.hs+formatted a05146df1142 raaz-0.3.11/core/Raaz/Core/Constants.hs+formatted 97564cea364d raaz-0.3.11/core/Raaz/Core/CpuSupports.hs+formatted b89a1297556b raaz-0.3.11/core/Raaz/Core/Encode.hs+formatted 7d4d89c52f5c raaz-0.3.11/core/Raaz/Core/Encode/Base16.hs+formatted 1897172e3c60 raaz-0.3.11/core/Raaz/Core/Encode/Base64.hs+formatted f8721f54231f raaz-0.3.11/core/Raaz/Core/Encode/Internal.hs+formatted 8061d9cd4bc4 raaz-0.3.11/core/Raaz/Core/Memory.hs+formatted be5bdc9fc1ae raaz-0.3.11/core/Raaz/Core/MonoidalAction.hs+formatted a44dbacd364d raaz-0.3.11/core/Raaz/Core/Parse.hs+formatted 514d08e6f301 raaz-0.3.11/core/Raaz/Core/Parse/Unsafe.hs+formatted 3d4dcaf4509d raaz-0.3.11/core/Raaz/Core/Prelude.hs+formatted 642d73a32500 raaz-0.3.11/core/Raaz/Core/Primitive.hs+formatted f026c14b5cef raaz-0.3.11/core/Raaz/Core/Transfer.hs+formatted 437bb6bc524e raaz-0.3.11/core/Raaz/Core/Transfer/Unsafe.hs+formatted 03cf11da4658 raaz-0.3.11/core/Raaz/Core/Types.hs+formatted 14f5c5822c66 raaz-0.3.11/core/Raaz/Core/Types/Copying.hs+formatted 7a6d55f211a6 raaz-0.3.11/core/Raaz/Core/Types/Endian.hs+formatted a48c22bbc9bf raaz-0.3.11/core/Raaz/Core/Types/Equality.hs+formatted 72aa730843b9 raaz-0.3.11/core/Raaz/Core/Types/Internal.hs+formatted 131bd6941a42 raaz-0.3.11/core/Raaz/Core/Types/Pointer.hs+formatted f9be8525b0e9 raaz-0.3.11/core/Raaz/Core/Types/Tuple.hs+formatted d98d94a62e17 raaz-0.3.11/core/Raaz/Core/Util/ByteString.hs+formatted aadc37085673 raaz-0.3.11/core/Raaz/Primitive/AEAD/Internal.hs+formatted bdf59fdf9536 raaz-0.3.11/core/Raaz/Primitive/Blake2/Internal.hs+formatted 26f42c9a3385 raaz-0.3.11/core/Raaz/Primitive/ChaCha20/Internal.hs+formatted 933091143258 raaz-0.3.11/core/Raaz/Primitive/HashMemory.hs+formatted 2e41cccfd947 raaz-0.3.11/core/Raaz/Primitive/Keyed/Internal.hs+formatted 11f319d28f77 raaz-0.3.11/core/Raaz/Primitive/Poly1305/Internal.hs+formatted 662036acbd84 raaz-0.3.11/core/Raaz/Primitive/Sha2/Internal.hs+formatted d321e6f120cc raaz-0.3.11/implementation/Blake2b/CHandWritten.hs+formatted c7f7e16ff427 raaz-0.3.11/implementation/Blake2b/CPortable.hs+formatted 5f5fb27d70c0 raaz-0.3.11/implementation/Blake2s/CHandWritten.hs+formatted d4911e2aba2f raaz-0.3.11/implementation/ChaCha20/CHandWritten.hs+formatted fd7ed676bf40 raaz-0.3.11/implementation/ChaCha20/CPortable.hs+formatted 2f7657c239d7 raaz-0.3.11/implementation/ChaCha20/Random/CPortable.hs+formatted e3deac8e5358 raaz-0.3.11/implementation/Poly1305/CPortable.hs+formatted 340ec557db99 raaz-0.3.11/implementation/Poly1305/Memory.hs+formatted 720f42375ee4 raaz-0.3.11/implementation/Sha256/CHandWritten.hs+formatted c064cc7a8421 raaz-0.3.11/implementation/Sha256/CPortable.hs+formatted a59c773526b4 raaz-0.3.11/implementation/Sha512/CHandWritten.hs+formatted 53529d47a59f raaz-0.3.11/implementation/Sha512/CPortable.hs+formatted e5d101450ea0 raaz-0.3.11/implementation/entropy/arc4random/Entropy.hs+formatted fe1af598e9b2 raaz-0.3.11/implementation/entropy/urandom/Entropy.hs+formatted 0a7a863b87f6 raaz-0.3.11/indef/Implementation.hsig+formatted 5b5f82999259 raaz-0.3.11/indef/Utils.hs+formatted 524895081243 raaz-0.3.11/indef/buffer/Buffer.hs+formatted cd4684e81d95 raaz-0.3.11/indef/buffer/Context.hs+formatted d34b17eeb2fb raaz-0.3.11/indef/buffer/Implementation.hsig+formatted 5de45ebd7407 raaz-0.3.11/indef/chacha20/Implementation.hsig+formatted 496eb8d3a6e9 raaz-0.3.11/indef/chacha20/XChaCha20/Implementation.hs+formatted 91e1d49fa2ec raaz-0.3.11/indef/keyed/hash/Implementation.hsig+formatted 484c54b73764 raaz-0.3.11/indef/keyed/hash/Mac/Implementation.hs+formatted fd3b4278ccc5 raaz-0.3.11/libverse/Raaz/Verse/Blake2b/C/Portable.hs+formatted 44b600e76f74 raaz-0.3.11/libverse/Raaz/Verse/ChaCha20/C/Portable.hs+formatted 221da1a1ba37 raaz-0.3.11/libverse/Raaz/Verse/Poly1305/C/Portable.hs+formatted 7ccb752d8b1d raaz-0.3.11/libverse/Raaz/Verse/Sha256/C/Portable.hs+formatted 695112ac1280 raaz-0.3.11/libverse/Raaz/Verse/Sha512/C/Portable.hs+formatted 2fbd14b119a4 raaz-0.3.11/monocypher/tests/Monocypher.hs+formatted 1d0ec4de7195 raaz-0.3.11/monocypher/tests/Monocypher/Blake2bSpec.hs+formatted 106d8eed6480 raaz-0.3.11/monocypher/tests/Monocypher/ChaCha20Spec.hs+formatted e81070c8d0f4 raaz-0.3.11/monocypher/tests/Monocypher/Sha512Spec.hs+formatted 309f4011c1b9 raaz-0.3.11/raaz/Raaz.hs+formatted e9a09ee4fdff raaz-0.3.11/raaz/Raaz/Auth.hs+formatted 5467fc4082bb raaz-0.3.11/raaz/Raaz/AuthEncrypt.hs+formatted 6c7dee472711 raaz-0.3.11/raaz/Raaz/AuthEncrypt/Unsafe.hs+formatted 7a5701480b18 raaz-0.3.11/raaz/Raaz/Digest.hs+formatted b154ef8c060a raaz-0.3.11/raaz/Raaz/Random.hs+formatted 14ec81125123 raaz-0.3.11/raaz/Raaz/V1/Auth.hs+formatted ac72448e6d8d raaz-0.3.11/raaz/Raaz/V1/AuthEncrypt.hs+formatted 9c227de3e844 raaz-0.3.11/raaz/Raaz/V1/AuthEncrypt/Unsafe.hs+formatted b221e97b02a1 raaz-0.3.11/raaz/Raaz/V1/Digest.hs+formatted dfc72506b4ee raaz-0.3.11/raaz/bin/Command/Checksum.hs+formatted 6af965bca577 raaz-0.3.11/raaz/bin/Command/Info.hs+formatted 8b84f490d89a raaz-0.3.11/raaz/bin/Command/Rand.hs+formatted 5267a6b74531 raaz-0.3.11/raaz/bin/Main.hs+formatted bb0aca2148f4 raaz-0.3.11/raaz/bin/Usage.hs+formatted 8955f3f595d6 raaz-0.3.11/tests/Raaz/Cipher/ChaCha20Spec.hs+formatted 66c20297d941 raaz-0.3.11/tests/Raaz/Cipher/XChaCha20Spec.hs+formatted f70ba0951ea5 raaz-0.3.11/tests/Raaz/Core/ByteSourceSpec.hs+formatted f50f5814ce13 raaz-0.3.11/tests/Raaz/Core/EncodeSpec.hs+formatted a5cc6d99aed2 raaz-0.3.11/tests/Raaz/Core/MemorySpec.hs+formatted 11c7d4db7839 raaz-0.3.11/tests/Raaz/Core/Types/WordSpec.hs+formatted b186aa2ce683 raaz-0.3.11/tests/Raaz/Core/Util/ByteStringSpec.hs+formatted 9d02caada1d9 raaz-0.3.11/tests/Raaz/Digest/Blake2Spec.hs+formatted 4f62e035aa97 raaz-0.3.11/tests/Raaz/Digest/Sha256Spec.hs+formatted ab3342a1c1c3 raaz-0.3.11/tests/Raaz/Digest/Sha512Spec.hs+formatted 57a10ec0221b raaz-0.3.11/tests/Raaz/Mac/Poly1305Spec.hs+formatted 6cdc5c00b3a8 raaz-0.3.11/tests/Raaz/RandomSpec.hs+formatted 2fbd14b119a4 raaz-0.3.11/tests/Spec.hs+formatted b1a4cba13110 raaz-0.3.11/tests/auth/Implementation.hsig+formatted ae7499e9f1a2 raaz-0.3.11/tests/auth/Tests/Auth.hs+formatted 146a3742af4d raaz-0.3.11/tests/auth/implementation/Auth/Mac/Blake2b.hs+formatted 1400f8497a4b raaz-0.3.11/tests/auth/implementation/Auth/Mac/Blake2s.hs+formatted f25bf91a517e raaz-0.3.11/tests/auth/implementation/Auth/Poly1305.hs+formatted 7123559f7c81 raaz-0.3.11/tests/cipher/Tests/Cipher.hs+formatted 0c05cee23c2f raaz-0.3.11/tests/comparative/AuthEncrypt.hs+formatted 97ef04d16217 raaz-0.3.11/tests/comparative/AuthEncrypt/ChaCha20Poly1305Spec.hs+formatted 741dc859a7b4 raaz-0.3.11/tests/comparative/Compare.hs+formatted 5a902c132987 raaz-0.3.11/tests/comparative/Digest.hs+formatted 9b0b9e470964 raaz-0.3.11/tests/comparative/Digest/Blake2bSpec.hs+formatted 5e40537778de raaz-0.3.11/tests/comparative/Digest/Sha256Spec.hs+formatted 1d23a17f155b raaz-0.3.11/tests/comparative/Digest/Sha512Spec.hs+formatted a5fa5869f401 raaz-0.3.11/tests/comparative/Encrypt.hs+formatted 43a4a9f511ea raaz-0.3.11/tests/comparative/Encrypt/ChaCha20Spec.hs+formatted 2fbd14b119a4 raaz-0.3.11/tests/comparative/Main.hs+formatted 9a4da070ca55 raaz-0.3.11/tests/core/Tests/Core.hs+formatted 9b7c1c31e1e0 raaz-0.3.11/tests/core/Tests/Core/Imports.hs+formatted c746b6855fd8 raaz-0.3.11/tests/core/Tests/Core/Instances.hs+formatted 62f66214a824 raaz-0.3.11/tests/core/Tests/Core/Utils.hs+formatted bcc780e22f03 raaz-0.3.11/tests/message-digest/Implementation.hsig+formatted 2bb252395b85 raaz-0.3.11/tests/message-digest/Tests/Digest.hs+formatted 4a8ac51676df random-1.3.1/Setup.hs+formatted f81df0c89774 random-1.3.1/bench-legacy/BinSearch.hs+formatted ec53458f4d57 random-1.3.1/bench-legacy/SimpleRNGBench.hs+formatted 0584292cc54f random-1.3.1/bench/Main.hs+formatted fc5450bd346c random-1.3.1/src/System/Random.hs+formatted 5851806268ea random-1.3.1/src/System/Random/Array.hs+formatted 0648347f5df7 random-1.3.1/src/System/Random/GFinite.hs+formatted b01bc1443faf random-1.3.1/src/System/Random/Internal.hs+formatted 43cf9948fc9c random-1.3.1/src/System/Random/Seed.hs+formatted 2b2590d1c67b random-1.3.1/src/System/Random/Stateful.hs+formatted 0d72e1db2b6d random-1.3.1/test-inspection/Spec.hs+formatted c6f769b56ab6 random-1.3.1/test-inspection/Spec/Inspection.hs+formatted ed91342d3f30 random-1.3.1/test-legacy/Legacy.hs+formatted 0160098f7cc5 random-1.3.1/test-legacy/Random1283.hs+formatted ad6c39289552 random-1.3.1/test-legacy/RangeTest.hs+formatted 4c1669996d8d random-1.3.1/test-legacy/T7936.hs+formatted 398febcc8a6f random-1.3.1/test-legacy/TestRandomIOs.hs+formatted 3ef25c06bdfc random-1.3.1/test-legacy/TestRandomRs.hs+formatted 170817d6d661 random-1.3.1/test/Spec.hs+formatted a65d68fad80b random-1.3.1/test/Spec/Range.hs+formatted e0e7306312ea random-1.3.1/test/Spec/Run.hs+formatted b3fd15d83ccf random-1.3.1/test/Spec/Seed.hs+formatted 53b268e9c80a random-1.3.1/test/Spec/Stateful.hs+formatted 4ac47a361dee recursion-schemes-5.2.3/examples/Expr.hs+formatted 37b2a0b086b3 recursion-schemes-5.2.3/src/Data/Functor/Base.hs+formatted a84fbb2dc105 recursion-schemes-5.2.3/src/Data/Functor/Foldable.hs+formatted 60333913c12d recursion-schemes-5.2.3/src/Data/Functor/Foldable/TH.hs+formatted 1581398eb1b5 resourcet-1.3.0/Control/Monad/Trans/Resource.hs+formatted ae2967cdb48f resourcet-1.3.0/Control/Monad/Trans/Resource/Internal.hs+formatted 80dc65ef0c4a resourcet-1.3.0/Data/Acquire.hs+formatted 4a9defd159ee resourcet-1.3.0/Data/Acquire/Internal.hs+formatted 27565132aa25 resourcet-1.3.0/UnliftIO/Resource.hs+formatted 1434a2ae8bde resourcet-1.3.0/test/main.hs+formatted e865ae48f11b retry-0.9.3.1/Setup.hs+formatted 89288db2c195 retry-0.9.3.1/src/Control/Retry.hs+formatted 757a08fbfe9f retry-0.9.3.1/src/UnliftIO/Retry.hs+formatted 94b4a78445b3 retry-0.9.3.1/test/Main.hs+formatted 08af947c789a retry-0.9.3.1/test/Tests/Control/Retry.hs+formatted 0b770fc83ef2 retry-0.9.3.1/test/Tests/UnliftIO/Retry.hs+formatted e865ae48f11b safe-exceptions-0.1.7.4/Setup.hs+formatted bfa9329aa42a safe-exceptions-0.1.7.4/src/Control/Exception/Safe.hs+formatted d65c0e991a57 safe-exceptions-0.1.7.4/test/Control/Exception/SafeSpec.hs+formatted 2fbd14b119a4 safe-exceptions-0.1.7.4/test/Spec.hs+formatted e865ae48f11b scientific-0.3.8.1/Setup.hs+formatted 6a2de24bbe1d scientific-0.3.8.1/bench/bench.hs+formatted b51f688e4f66 scientific-0.3.8.1/src/Data/ByteString/Builder/Scientific.hs+formatted 6fcd3c78e09a scientific-0.3.8.1/src/Data/Scientific.hs+formatted 5837fdbf8485 scientific-0.3.8.1/src/Data/Text/Lazy/Builder/Scientific.hs+formatted e18e1762aa10 scientific-0.3.8.1/src/GHC/Integer/Compat.hs+formatted 70da6923c6d5 scientific-0.3.8.1/src/Utils.hs+formatted 08267660b11e scientific-0.3.8.1/test/test.hs+formatted e865ae48f11b scotty-0.30/Setup.hs+formatted c9dfe68e2b3d scotty-0.30/Web/Scotty.hs+formatted cc7d56854e51 scotty-0.30/Web/Scotty/Action.hs+formatted 7865e58f308d scotty-0.30/Web/Scotty/Body.hs+formatted 210215898ba8 scotty-0.30/Web/Scotty/Cookie.hs+formatted 7fbb2c4c4db1 scotty-0.30/Web/Scotty/Internal/Types.hs+formatted ccdc72ea4dc8 scotty-0.30/Web/Scotty/Route.hs+formatted 220c453f0fd9 scotty-0.30/Web/Scotty/Session.hs+formatted 8ae99d50285d scotty-0.30/Web/Scotty/Trans.hs+formatted e2036cbfa7c2 scotty-0.30/Web/Scotty/Trans/Lazy.hs+formatted fe607154f3af scotty-0.30/Web/Scotty/Trans/Strict.hs+formatted 6bad8484016a scotty-0.30/Web/Scotty/Util.hs+formatted 19a63b08e8cc scotty-0.30/bench/Main.hs+formatted ff18ebd00d97 scotty-0.30/doctest/Main.hs+formatted f0b727a58f1f scotty-0.30/examples/basic.hs+formatted 128fcbdca77d scotty-0.30/examples/bodyecho.hs+formatted 0bfdeec9e9d5 scotty-0.30/examples/cookies.hs+formatted e68dfe58dd88 scotty-0.30/examples/exceptions.hs+formatted 3417d0bd8a35 scotty-0.30/examples/globalstate.hs+formatted 5d812024dc2a scotty-0.30/examples/gzip.hs+formatted 14f88a75023e scotty-0.30/examples/json_mode.hs+formatted d96b13ea35d6 scotty-0.30/examples/middleware.hs+formatted dd5796ac98ac scotty-0.30/examples/nested.hs+formatted f424d2128b4a scotty-0.30/examples/options.hs+formatted 8b1e46c9aeb7 scotty-0.30/examples/reader.hs+formatted 6750528250e9 scotty-0.30/examples/session.hs+formatted d40e0a8e64ea scotty-0.30/examples/upload.hs+formatted 94f10fda97e5 scotty-0.30/examples/urlshortener.hs+formatted 2fbd14b119a4 scotty-0.30/test/Spec.hs+formatted dd9baecda733 scotty-0.30/test/Test/Hspec/Wai/Extra.hs+formatted 88776873ba4e scotty-0.30/test/Web/ScottySpec.hs+formatted 091ccbfea22a semigroupoids-6.0.2/src/Data/Bifunctor/Apply.hs+formatted a420abc361b5 semigroupoids-6.0.2/src/Data/Functor/Alt.hs+formatted b091ae1639ae semigroupoids-6.0.2/src/Data/Functor/Apply.hs+formatted 4322a16f4eaf semigroupoids-6.0.2/src/Data/Functor/Bind.hs+partly-checked df73e43115ed semigroupoids-6.0.2/src/Data/Functor/Bind/Class.hs+formatted 82dabf65525e semigroupoids-6.0.2/src/Data/Functor/Bind/Trans.hs+formatted 1a0625f8bf10 semigroupoids-6.0.2/src/Data/Functor/Contravariant/Conclude.hs+formatted 07df2e2c41cf semigroupoids-6.0.2/src/Data/Functor/Contravariant/Decide.hs+formatted db97dfd12637 semigroupoids-6.0.2/src/Data/Functor/Contravariant/Divise.hs+formatted 8d9ff323a8d5 semigroupoids-6.0.2/src/Data/Functor/Extend.hs+formatted eeeb9b11aa89 semigroupoids-6.0.2/src/Data/Functor/Plus.hs+formatted 2c9e2b95e1c6 semigroupoids-6.0.2/src/Data/Groupoid.hs+formatted ada45a392805 semigroupoids-6.0.2/src/Data/Isomorphism.hs+formatted 045d35e85b6e semigroupoids-6.0.2/src/Data/Semigroup/Bifoldable.hs+formatted 3b69bf2b2c98 semigroupoids-6.0.2/src/Data/Semigroup/Bitraversable.hs+formatted bc14896823af semigroupoids-6.0.2/src/Data/Semigroup/Foldable.hs+formatted 15d51636f77f semigroupoids-6.0.2/src/Data/Semigroup/Foldable/Class.hs+formatted e46135ea634e semigroupoids-6.0.2/src/Data/Semigroup/Traversable.hs+formatted 5db895bd9aed semigroupoids-6.0.2/src/Data/Semigroup/Traversable/Class.hs+formatted f396855efdc4 semigroupoids-6.0.2/src/Data/Semigroupoid.hs+formatted b3380ca605a0 semigroupoids-6.0.2/src/Data/Semigroupoid/Categorical.hs+formatted dd586be40bf0 semigroupoids-6.0.2/src/Data/Semigroupoid/Dual.hs+formatted f1c21cb8613d semigroupoids-6.0.2/src/Data/Semigroupoid/Ob.hs+formatted 6c569b65cb14 semigroupoids-6.0.2/src/Data/Semigroupoid/Static.hs+formatted 9945f77c9069 semigroupoids-6.0.2/src/Data/Traversable/Instances.hs+formatted 4f91affffbe0 semigroupoids-6.0.2/src/Semigroupoids/Do.hs+formatted 36cd692fcb55 semigroupoids-6.0.2/src/Semigroupoids/Internal.hs+formatted e865ae48f11b servant-0.20.3.0/Setup.hs+formatted 6c60dfa14bab servant-0.20.3.0/src/Servant/API.hs+formatted 5a93b6c6920b servant-0.20.3.0/src/Servant/API/Alternative.hs+formatted 75083035f5f7 servant-0.20.3.0/src/Servant/API/BasicAuth.hs+formatted 67a0fa186634 servant-0.20.3.0/src/Servant/API/Capture.hs+formatted 30586810caf1 servant-0.20.3.0/src/Servant/API/ContentTypes.hs+formatted b131dd1a95be servant-0.20.3.0/src/Servant/API/Description.hs+formatted 3529480c44cb servant-0.20.3.0/src/Servant/API/Empty.hs+formatted f5f890f1b91b servant-0.20.3.0/src/Servant/API/Experimental/Auth.hs+formatted b27583864c6e servant-0.20.3.0/src/Servant/API/Fragment.hs+formatted 514122c80af6 servant-0.20.3.0/src/Servant/API/Generic.hs+formatted 86a01166d6f0 servant-0.20.3.0/src/Servant/API/Header.hs+formatted a4120f74a189 servant-0.20.3.0/src/Servant/API/Host.hs+formatted 28ff37015f45 servant-0.20.3.0/src/Servant/API/HttpVersion.hs+formatted ffc36b46d798 servant-0.20.3.0/src/Servant/API/IsSecure.hs+formatted 9d0d41393a3e servant-0.20.3.0/src/Servant/API/Modifiers.hs+formatted 684bc7886ecb servant-0.20.3.0/src/Servant/API/MultiVerb.hs+formatted 56acb7471063 servant-0.20.3.0/src/Servant/API/NamedRoutes.hs+formatted 9ff90737a6ed servant-0.20.3.0/src/Servant/API/QueryParam.hs+formatted c9e33c06dd4d servant-0.20.3.0/src/Servant/API/QueryString.hs+formatted a2969f7ec694 servant-0.20.3.0/src/Servant/API/Range.hs+formatted b4ca6686cebd servant-0.20.3.0/src/Servant/API/Raw.hs+formatted bf0e0f5c31f1 servant-0.20.3.0/src/Servant/API/RemoteHost.hs+formatted 546ee6390b43 servant-0.20.3.0/src/Servant/API/ReqBody.hs+formatted d928b8fb5d2c servant-0.20.3.0/src/Servant/API/ResponseHeaders.hs+formatted c67668bb6c05 servant-0.20.3.0/src/Servant/API/ServerSentEvents.hs+formatted d944ce6b72bb servant-0.20.3.0/src/Servant/API/Status.hs+formatted d3008fc94481 servant-0.20.3.0/src/Servant/API/Stream.hs+formatted 2075b4d49a8e servant-0.20.3.0/src/Servant/API/Sub.hs+formatted ff144efc7edd servant-0.20.3.0/src/Servant/API/TypeErrors.hs+formatted 201085562ace servant-0.20.3.0/src/Servant/API/TypeLevel.hs+formatted c0878f59a227 servant-0.20.3.0/src/Servant/API/TypeLevel/List.hs+formatted 9be4a4b0a678 servant-0.20.3.0/src/Servant/API/UVerb.hs+formatted 46da2eb7f65a servant-0.20.3.0/src/Servant/API/UVerb/Union.hs+formatted abf6188d387f servant-0.20.3.0/src/Servant/API/Vault.hs+formatted 99b275626c24 servant-0.20.3.0/src/Servant/API/Verbs.hs+formatted deda0b809380 servant-0.20.3.0/src/Servant/API/WithNamedContext.hs+formatted c8d1802909fc servant-0.20.3.0/src/Servant/API/WithResource.hs+formatted d97da3f0bb6d servant-0.20.3.0/src/Servant/Links.hs+formatted ff8c792172dc servant-0.20.3.0/src/Servant/Test/ComprehensiveAPI.hs+formatted 72397d3bb59f servant-0.20.3.0/src/Servant/Types/Internal/Response.hs+formatted 8f2c3fef963c servant-0.20.3.0/src/Servant/Types/SourceT.hs+formatted 484ac8b49db2 servant-0.20.3.0/test/Servant/API/ContentTypesSpec.hs+formatted 092efa81712a servant-0.20.3.0/test/Servant/API/ResponseHeadersSpec.hs+formatted 99970f8f87ed servant-0.20.3.0/test/Servant/API/StreamSpec.hs+formatted 8039684754dd servant-0.20.3.0/test/Servant/LinksSpec.hs+formatted 2fbd14b119a4 servant-0.20.3.0/test/Spec.hs+formatted e865ae48f11b servant-server-0.20.3.0/Setup.hs+formatted 39ab7e0143c5 servant-server-0.20.3.0/example/greet.hs+formatted 08e74f5df484 servant-server-0.20.3.0/src/Servant.hs+formatted 4e5e14480522 servant-server-0.20.3.0/src/Servant/Server.hs+formatted a6d416eaa214 servant-server-0.20.3.0/src/Servant/Server/Experimental/Auth.hs+formatted d02fe8efeb6c servant-server-0.20.3.0/src/Servant/Server/Generic.hs+formatted 76e1bb03861e servant-server-0.20.3.0/src/Servant/Server/Internal.hs+formatted 3841500d6a67 servant-server-0.20.3.0/src/Servant/Server/Internal/BasicAuth.hs+formatted f03d2f6ed8bf servant-server-0.20.3.0/src/Servant/Server/Internal/Context.hs+formatted 270fb8218e92 servant-server-0.20.3.0/src/Servant/Server/Internal/Delayed.hs+formatted 53d1b4ea8afa servant-server-0.20.3.0/src/Servant/Server/Internal/DelayedIO.hs+formatted 5a85be243261 servant-server-0.20.3.0/src/Servant/Server/Internal/ErrorFormatter.hs+formatted 2d8b6e227464 servant-server-0.20.3.0/src/Servant/Server/Internal/Handler.hs+formatted e759d749c842 servant-server-0.20.3.0/src/Servant/Server/Internal/ResponseRender.hs+formatted c917f160a6ee servant-server-0.20.3.0/src/Servant/Server/Internal/RouteResult.hs+formatted 80a04147d1d7 servant-server-0.20.3.0/src/Servant/Server/Internal/Router.hs+formatted c6b1b1f5c4f1 servant-server-0.20.3.0/src/Servant/Server/Internal/RoutingApplication.hs+formatted 68d2c1ad8a45 servant-server-0.20.3.0/src/Servant/Server/Internal/ServerError.hs+formatted a588e8a6002c servant-server-0.20.3.0/src/Servant/Server/StaticFiles.hs+formatted 7a929eb5f6c6 servant-server-0.20.3.0/src/Servant/Server/UVerb.hs+formatted d43150f68994 servant-server-0.20.3.0/src/Servant/Utils/StaticFiles.hs+formatted 4d91407009da servant-server-0.20.3.0/test/Servant/ArbitraryMonadServerSpec.hs+formatted d6971ea1d324 servant-server-0.20.3.0/test/Servant/HoistSpec.hs+formatted 91b965c983ef servant-server-0.20.3.0/test/Servant/Server/ErrorSpec.hs+formatted 6e725d0bb23c servant-server-0.20.3.0/test/Servant/Server/Internal/ContextSpec.hs+formatted 06840e723cbc servant-server-0.20.3.0/test/Servant/Server/Internal/RoutingApplicationSpec.hs+formatted ed1fb686c7f4 servant-server-0.20.3.0/test/Servant/Server/RouterSpec.hs+formatted 217323758702 servant-server-0.20.3.0/test/Servant/Server/StaticFilesSpec.hs+formatted a48e6f9f028f servant-server-0.20.3.0/test/Servant/Server/StreamingSpec.hs+formatted ffec1b355a67 servant-server-0.20.3.0/test/Servant/Server/UsingContextSpec.hs+formatted c68eea536d8f servant-server-0.20.3.0/test/Servant/Server/UsingContextSpec/TestCombinators.hs+formatted 7053087a930f servant-server-0.20.3.0/test/Servant/ServerSpec.hs+formatted 2fbd14b119a4 servant-server-0.20.3.0/test/Spec.hs+formatted e865ae48f11b shake-0.19.9/Setup.hs+formatted 1115d98036fa shake-0.19.9/docs/manual/Shakefile.hs+formatted 9d11f22fc368 shake-0.19.9/src/Development/Ninja/All.hs+formatted 3104f3ca6fe0 shake-0.19.9/src/Development/Ninja/Env.hs+formatted df84026a633e shake-0.19.9/src/Development/Ninja/Lexer.hs+formatted 11197fb7bfd8 shake-0.19.9/src/Development/Ninja/Parse.hs+formatted c0a33fcdb116 shake-0.19.9/src/Development/Ninja/Type.hs+formatted 1e091717f0e4 shake-0.19.9/src/Development/Shake.hs+formatted 6abc5aa00667 shake-0.19.9/src/Development/Shake/Classes.hs+formatted 1b4810581680 shake-0.19.9/src/Development/Shake/Command.hs+formatted 5959e8996e24 shake-0.19.9/src/Development/Shake/Config.hs+formatted 2ffbbbe7ea76 shake-0.19.9/src/Development/Shake/Database.hs+formatted 6a9f5286dbbd shake-0.19.9/src/Development/Shake/FilePath.hs+formatted 1f7279048342 shake-0.19.9/src/Development/Shake/Forward.hs+formatted 0f161b15d908 shake-0.19.9/src/Development/Shake/Internal/Args.hs+formatted 176c017dbbd9 shake-0.19.9/src/Development/Shake/Internal/CmdOption.hs+formatted 89cf4b51fe66 shake-0.19.9/src/Development/Shake/Internal/CompactUI.hs+formatted 741e862bf58e shake-0.19.9/src/Development/Shake/Internal/Core/Action.hs+formatted a94401153b61 shake-0.19.9/src/Development/Shake/Internal/Core/Build.hs+formatted c03d9bf624a4 shake-0.19.9/src/Development/Shake/Internal/Core/Database.hs+formatted 3e4afc55b835 shake-0.19.9/src/Development/Shake/Internal/Core/Monad.hs+formatted 15dda4610803 shake-0.19.9/src/Development/Shake/Internal/Core/Pool.hs+formatted 72387b89230e shake-0.19.9/src/Development/Shake/Internal/Core/Rules.hs+formatted 34e1f3ed18dd shake-0.19.9/src/Development/Shake/Internal/Core/Run.hs+formatted 55d80ed15e96 shake-0.19.9/src/Development/Shake/Internal/Core/Storage.hs+formatted bfe3604d202f shake-0.19.9/src/Development/Shake/Internal/Core/Types.hs+formatted 46848a2a03e2 shake-0.19.9/src/Development/Shake/Internal/Demo.hs+formatted 1afe6f5f82c8 shake-0.19.9/src/Development/Shake/Internal/Derived.hs+formatted 419e421f13a6 shake-0.19.9/src/Development/Shake/Internal/Errors.hs+declined - shake-0.19.9/src/Development/Shake/Internal/FileInfo.hs+formatted 759fa2b54278 shake-0.19.9/src/Development/Shake/Internal/FileName.hs+formatted fe798a191c19 shake-0.19.9/src/Development/Shake/Internal/FilePattern.hs+formatted 1e054a94085b shake-0.19.9/src/Development/Shake/Internal/History/Bloom.hs+formatted 01551ed3cbf4 shake-0.19.9/src/Development/Shake/Internal/History/Cloud.hs+formatted 249ed8efaa13 shake-0.19.9/src/Development/Shake/Internal/History/Network.hs+formatted 2481e80c7e58 shake-0.19.9/src/Development/Shake/Internal/History/Serialise.hs+formatted 14a6f9c117dc shake-0.19.9/src/Development/Shake/Internal/History/Server.hs+formatted d90d4f71cadd shake-0.19.9/src/Development/Shake/Internal/History/Shared.hs+declined - shake-0.19.9/src/Development/Shake/Internal/History/Symlink.hs+formatted 765062af5b1e shake-0.19.9/src/Development/Shake/Internal/History/Types.hs+formatted 1667cc1258cb shake-0.19.9/src/Development/Shake/Internal/Options.hs+formatted 15a7f1039c01 shake-0.19.9/src/Development/Shake/Internal/Paths.hs+formatted cd695d3ce28f shake-0.19.9/src/Development/Shake/Internal/Profile.hs+declined - shake-0.19.9/src/Development/Shake/Internal/Progress.hs+formatted 342442931569 shake-0.19.9/src/Development/Shake/Internal/Resource.hs+formatted 5733144919c3 shake-0.19.9/src/Development/Shake/Internal/Rules/Default.hs+formatted 49bcf9520df0 shake-0.19.9/src/Development/Shake/Internal/Rules/Directory.hs+formatted 8355467730f0 shake-0.19.9/src/Development/Shake/Internal/Rules/File.hs+formatted e7921ae8b2dd shake-0.19.9/src/Development/Shake/Internal/Rules/Files.hs+formatted 18637b215cdb shake-0.19.9/src/Development/Shake/Internal/Rules/Oracle.hs+formatted b0d13ac0a3a9 shake-0.19.9/src/Development/Shake/Internal/Rules/OrderOnly.hs+formatted c9bb8c405fe0 shake-0.19.9/src/Development/Shake/Internal/Rules/Rerun.hs+formatted b6e1d27ae046 shake-0.19.9/src/Development/Shake/Internal/Value.hs+formatted 4f57cc655ba3 shake-0.19.9/src/Development/Shake/Rule.hs+formatted 72f09acd1481 shake-0.19.9/src/Development/Shake/Util.hs+formatted 796b5a76fb8c shake-0.19.9/src/General/Bilist.hs+formatted a2e9bfc4e206 shake-0.19.9/src/General/Binary.hs+formatted bbd9c27b5570 shake-0.19.9/src/General/Chunks.hs+formatted 432dccc3b19c shake-0.19.9/src/General/Cleanup.hs+declined - shake-0.19.9/src/General/EscCodes.hs+formatted 7652f69a9c07 shake-0.19.9/src/General/Extra.hs+formatted 6ac31a44af53 shake-0.19.9/src/General/Fence.hs+declined - shake-0.19.9/src/General/FileLock.hs+formatted 55352d28b4a5 shake-0.19.9/src/General/GetOpt.hs+formatted c704d012d9ae shake-0.19.9/src/General/Ids.hs+formatted 9126ed0fbd34 shake-0.19.9/src/General/Intern.hs+formatted fdae30466e09 shake-0.19.9/src/General/ListBuilder.hs+formatted 54fa4898327b shake-0.19.9/src/General/Makefile.hs+formatted b7d26aaba50b shake-0.19.9/src/General/Pool.hs+formatted 300d27247ce2 shake-0.19.9/src/General/Process.hs+formatted 0d39543216b1 shake-0.19.9/src/General/Template.hs+formatted 20e74944695a shake-0.19.9/src/General/Thread.hs+formatted b9b9368bdf92 shake-0.19.9/src/General/Timing.hs+formatted f1cfb5928cdc shake-0.19.9/src/General/TypeMap.hs+formatted 8d69ed0989cc shake-0.19.9/src/General/Wait.hs+formatted 4743f12ee1b5 shake-0.19.9/src/Paths.hs+formatted 6ee887146e25 shake-0.19.9/src/Run.hs+formatted e59791013e00 shake-0.19.9/src/Test.hs+formatted 8559d6daa99e shake-0.19.9/src/Test/Basic.hs+formatted 93ef4d632053 shake-0.19.9/src/Test/Batch.hs+formatted 9817e09728fc shake-0.19.9/src/Test/Benchmark.hs+formatted 72e8b4ab4dea shake-0.19.9/src/Test/Builtin.hs+formatted 48ec6eca2417 shake-0.19.9/src/Test/BuiltinOverride.hs+formatted 10efc06e6c7b shake-0.19.9/src/Test/C.hs+formatted 53e433c2fd6d shake-0.19.9/src/Test/Cache.hs+formatted 2d7ccbb45ced shake-0.19.9/src/Test/Cleanup.hs+formatted ca28e238b42b shake-0.19.9/src/Test/CloseFileHandles.hs+formatted 52e8e06b790c shake-0.19.9/src/Test/Command.hs+formatted 5ea96ce5a74d shake-0.19.9/src/Test/Config.hs+formatted 1f3180d02ce5 shake-0.19.9/src/Test/Database.hs+formatted e8ca948ce33e shake-0.19.9/src/Test/Digest.hs+formatted 9b70158e614d shake-0.19.9/src/Test/Directory.hs+formatted 1aee80e9930e shake-0.19.9/src/Test/Docs.hs+formatted 7425a9004035 shake-0.19.9/src/Test/Errors.hs+formatted b698eeb22c5b shake-0.19.9/src/Test/Existence.hs+formatted 33dfd1039065 shake-0.19.9/src/Test/FileLock.hs+formatted 62fa7f2a0865 shake-0.19.9/src/Test/FilePath.hs+formatted 19b187c8cbe6 shake-0.19.9/src/Test/FilePattern.hs+formatted 7f088d1e23e6 shake-0.19.9/src/Test/Files.hs+formatted f46b5feb3e77 shake-0.19.9/src/Test/Forward.hs+formatted 07a41b0c82df shake-0.19.9/src/Test/History.hs+formatted a6278c0f744f shake-0.19.9/src/Test/Journal.hs+formatted 441f831d7e39 shake-0.19.9/src/Test/Lint.hs+formatted abb6b38a5148 shake-0.19.9/src/Test/Live.hs+formatted b1f4f9102098 shake-0.19.9/src/Test/Manual.hs+formatted 0ea86eab061d shake-0.19.9/src/Test/Match.hs+formatted 3358afb343e9 shake-0.19.9/src/Test/Monad.hs+formatted 30eaa5d85dba shake-0.19.9/src/Test/Ninja.hs+formatted 78f51e13afdb shake-0.19.9/src/Test/Oracle.hs+formatted 3a29cbe0f415 shake-0.19.9/src/Test/OrderOnly.hs+formatted 11c7d4112a98 shake-0.19.9/src/Test/Parallel.hs+formatted af1e17f9eab1 shake-0.19.9/src/Test/Pool.hs+formatted d7b6e41656b0 shake-0.19.9/src/Test/Progress.hs+formatted 8f84d993fd5b shake-0.19.9/src/Test/Random.hs+formatted 2cbfb37c7d59 shake-0.19.9/src/Test/Rebuild.hs+formatted 685ecba8ab37 shake-0.19.9/src/Test/Reschedule.hs+formatted a4beab4d5e04 shake-0.19.9/src/Test/Resources.hs+formatted 721fa3aeb323 shake-0.19.9/src/Test/Self.hs+formatted f64db4b85e97 shake-0.19.9/src/Test/SelfMake.hs+formatted ce7a14c40a6c shake-0.19.9/src/Test/Tar.hs+formatted 010efc5cef7a shake-0.19.9/src/Test/Targets.hs+formatted 2ada3fd9cfe5 shake-0.19.9/src/Test/Thread.hs+formatted 54ac2eb76326 shake-0.19.9/src/Test/Tup.hs+formatted d61d4ca26661 shake-0.19.9/src/Test/Type.hs+formatted 068337f03a57 shake-0.19.9/src/Test/Unicode.hs+formatted 312e45ba1b16 shake-0.19.9/src/Test/Util.hs+formatted 6649fd7b7e4a shake-0.19.9/src/Test/Verbosity.hs+formatted f32aa5af75ac shake-0.19.9/src/Test/Version.hs+formatted e865ae48f11b singletons-3.0.4/Setup.hs+partly-checked 030c4775a83c singletons-3.0.4/src/Data/Singletons.hs+formatted c6ea02200969 singletons-3.0.4/src/Data/Singletons/Decide.hs+formatted 5385ff6312e7 singletons-3.0.4/src/Data/Singletons/ShowSing.hs+formatted 27ecc95d3298 singletons-3.0.4/src/Data/Singletons/Sigma.hs+formatted ed287bbc0444 singletons-3.0.4/tests/ByHand.hs+formatted dff1d2757819 singletons-3.0.4/tests/ByHand2.hs+formatted 92855df34052 singletons-3.0.4/tests/SingletonsTestSuite.hs+formatted a7151db2ed5c split-0.2.5/src/Data/List/Split.hs+formatted 81873df3b2c6 split-0.2.5/src/Data/List/Split/Internals.hs+formatted 0476e48b031e split-0.2.5/test/Properties.hs+formatted e865ae48f11b stack-9.9.9/Setup.hs+formatted e865ae48f11b stack-9.9.9/new-template/Setup.hs+formatted 76b6ff5a6856 stack-9.9.9/new-template/app/Main.hs+formatted b206a21d3b3c stack-9.9.9/new-template/src/Lib.hs+formatted ef8d1c0c14bd stack-9.9.9/new-template/test/Spec.hs+formatted b50eee5c8227 stack-9.9.9/src/Control/Concurrent/Execute.hs+formatted de0bbff44bba stack-9.9.9/src/Data/Aeson/Extended.hs+formatted 45b24cbb6885 stack-9.9.9/src/Data/Attoparsec/Args.hs+formatted 6be772a6002d stack-9.9.9/src/Data/Attoparsec/Combinators.hs+formatted e4f1165dc10b stack-9.9.9/src/Data/Binary/VersionTagged.hs+formatted b0799314dce2 stack-9.9.9/src/Data/Maybe/Extra.hs+formatted 8740a5fcb2ef stack-9.9.9/src/Data/Set/Monad.hs+formatted c08aaa172c8a stack-9.9.9/src/Network/HTTP/Download.hs+formatted f77d8fc87761 stack-9.9.9/src/Network/HTTP/Download/Verified.hs+formatted d7a0d294e3c7 stack-9.9.9/src/Options/Applicative/Args.hs+formatted 0116483c0e39 stack-9.9.9/src/Options/Applicative/Builder/Extra.hs+formatted 35d5981b158d stack-9.9.9/src/Path/Find.hs+formatted eafb883091d5 stack-9.9.9/src/Path/IO.hs+formatted 2df07688f5ed stack-9.9.9/src/Stack/Build.hs+formatted bdc4f36f2c62 stack-9.9.9/src/Stack/Build/Cache.hs+formatted 0897208eeffe stack-9.9.9/src/Stack/Build/ConstructPlan.hs+formatted db82adc28202 stack-9.9.9/src/Stack/Build/Execute.hs+formatted 696682f442ac stack-9.9.9/src/Stack/Build/Haddock.hs+formatted e0977d49109c stack-9.9.9/src/Stack/Build/Installed.hs+formatted 8f851999c795 stack-9.9.9/src/Stack/Build/Source.hs+formatted f170a6d78347 stack-9.9.9/src/Stack/Build/Types.hs+formatted 1f1e5f5c9ec2 stack-9.9.9/src/Stack/BuildPlan.hs+formatted 8a25795f0c0a stack-9.9.9/src/Stack/Config.hs+formatted db186c830bf3 stack-9.9.9/src/Stack/Constants.hs+formatted 607b56eb6fc7 stack-9.9.9/src/Stack/Docker.hs+formatted 107229bac31d stack-9.9.9/src/Stack/Docker/GlobalDB.hs+formatted 7d15eaae39ff stack-9.9.9/src/Stack/Dot.hs+formatted e3fe02818737 stack-9.9.9/src/Stack/Exec.hs+formatted 69a1b5e114c2 stack-9.9.9/src/Stack/Fetch.hs+formatted 967c0ee2eef6 stack-9.9.9/src/Stack/GhcPkg.hs+formatted 8e7700c60073 stack-9.9.9/src/Stack/Init.hs+formatted 9f228f8da7ce stack-9.9.9/src/Stack/New.hs+formatted a4120f7039a7 stack-9.9.9/src/Stack/Package.hs+formatted 439e5a338ecf stack-9.9.9/src/Stack/PackageDump.hs+formatted 131f4c58d4cc stack-9.9.9/src/Stack/PackageIndex.hs+formatted 2814387b2b76 stack-9.9.9/src/Stack/Repl.hs+formatted 766a71919c27 stack-9.9.9/src/Stack/Setup.hs+formatted 68c48310e4ce stack-9.9.9/src/Stack/Solver.hs+formatted ebbf896669e4 stack-9.9.9/src/Stack/Types.hs+formatted 6a77fad930d5 stack-9.9.9/src/Stack/Types/BuildPlan.hs+formatted a6b384b7378c stack-9.9.9/src/Stack/Types/Config.hs+formatted 69401069957e stack-9.9.9/src/Stack/Types/Docker.hs+formatted cd2bb0d685de stack-9.9.9/src/Stack/Types/FlagName.hs+formatted d8f8b074a086 stack-9.9.9/src/Stack/Types/GhcPkgId.hs+formatted bd4be7dcc823 stack-9.9.9/src/Stack/Types/Internal.hs+formatted 6f80f79fae7e stack-9.9.9/src/Stack/Types/PackageIdentifier.hs+formatted 88a4f8bd73e5 stack-9.9.9/src/Stack/Types/PackageName.hs+formatted cf90354db024 stack-9.9.9/src/Stack/Types/StackT.hs+formatted c698b30fdbaf stack-9.9.9/src/Stack/Types/Version.hs+formatted 2f4855580908 stack-9.9.9/src/Stack/Upgrade.hs+formatted 3d5a37bb3efe stack-9.9.9/src/Stack/Upload.hs+formatted 85d5e680f53b stack-9.9.9/src/System/Process/Log.hs+formatted 015e3efd2d86 stack-9.9.9/src/System/Process/PagerEditor.hs+formatted bc60fdf030d4 stack-9.9.9/src/System/Process/Read.hs+formatted c40dad9ce8ee stack-9.9.9/src/System/Process/Run.hs+formatted e9412f975a02 stack-9.9.9/src/main/Main.hs+formatted 4eec70869c80 stack-9.9.9/src/main/Plugins.hs+formatted 50b246d28182 stack-9.9.9/src/main/Plugins/Commands.hs+formatted 65c8c298f7aa stack-9.9.9/src/test/Spec.hs+formatted bbf9464a53ee stack-9.9.9/src/test/Stack/ArgsSpec.hs+formatted 41ea23b8880f stack-9.9.9/src/test/Stack/Build/ExecuteSpec.hs+formatted 6c14531834d3 stack-9.9.9/src/test/Stack/BuildPlanSpec.hs+formatted 24a9e21c3c15 stack-9.9.9/src/test/Stack/ConfigSpec.hs+formatted 2d4cbcc98b0c stack-9.9.9/src/test/Stack/PackageDumpSpec.hs+formatted fd075df62297 stack-9.9.9/src/test/Test.hs+formatted 53953d153dfa stack-9.9.9/test/integration/Spec.hs+formatted 56e4e5258116 statistics-0.16.5.0/Statistics/Autocorrelation.hs+formatted bda03074d5aa statistics-0.16.5.0/Statistics/ConfidenceInt.hs+formatted 069d7156f594 statistics-0.16.5.0/Statistics/Correlation.hs+formatted 9ba74f547b39 statistics-0.16.5.0/Statistics/Correlation/Kendall.hs+formatted bbd4e3259f36 statistics-0.16.5.0/Statistics/Distribution.hs+formatted ae8ad80251ff statistics-0.16.5.0/Statistics/Distribution/Beta.hs+formatted 7b32fc5b6cfc statistics-0.16.5.0/Statistics/Distribution/Binomial.hs+formatted 23f140cdf9bc statistics-0.16.5.0/Statistics/Distribution/CauchyLorentz.hs+formatted dc30bfda499d statistics-0.16.5.0/Statistics/Distribution/ChiSquared.hs+formatted f4734696df71 statistics-0.16.5.0/Statistics/Distribution/DiscreteUniform.hs+formatted cc3d61a22aa0 statistics-0.16.5.0/Statistics/Distribution/Exponential.hs+formatted 5d35b356cb29 statistics-0.16.5.0/Statistics/Distribution/FDistribution.hs+formatted 1258f180d7c0 statistics-0.16.5.0/Statistics/Distribution/Gamma.hs+formatted 97a9584986c7 statistics-0.16.5.0/Statistics/Distribution/Geometric.hs+formatted e05ef1359929 statistics-0.16.5.0/Statistics/Distribution/Hypergeometric.hs+formatted ca93eabbbf15 statistics-0.16.5.0/Statistics/Distribution/Laplace.hs+formatted 1e363f04365e statistics-0.16.5.0/Statistics/Distribution/Lognormal.hs+formatted f5cce916fd78 statistics-0.16.5.0/Statistics/Distribution/NegativeBinomial.hs+formatted fb17da6ed19d statistics-0.16.5.0/Statistics/Distribution/Normal.hs+formatted 1bbb63345a51 statistics-0.16.5.0/Statistics/Distribution/Poisson.hs+formatted e7fb38252559 statistics-0.16.5.0/Statistics/Distribution/Poisson/Internal.hs+formatted 7c5e046a9045 statistics-0.16.5.0/Statistics/Distribution/StudentT.hs+formatted b7ab79ca83fb statistics-0.16.5.0/Statistics/Distribution/Transform.hs+formatted 1df538a9db1d statistics-0.16.5.0/Statistics/Distribution/Uniform.hs+formatted bd8bb4f92c76 statistics-0.16.5.0/Statistics/Distribution/Weibull.hs+formatted a5d3ccd314a5 statistics-0.16.5.0/Statistics/Function.hs+formatted 4ce5ca3ee348 statistics-0.16.5.0/Statistics/Internal.hs+formatted 86e8d1a0a535 statistics-0.16.5.0/Statistics/Quantile.hs+formatted 4eb8961889ae statistics-0.16.5.0/Statistics/Regression.hs+formatted 535c5c96b342 statistics-0.16.5.0/Statistics/Resampling.hs+formatted 76d271403a9e statistics-0.16.5.0/Statistics/Resampling/Bootstrap.hs+formatted cc05168e10be statistics-0.16.5.0/Statistics/Sample.hs+formatted 24ce2ba6d88a statistics-0.16.5.0/Statistics/Sample/Histogram.hs+formatted cab9e68a7e21 statistics-0.16.5.0/Statistics/Sample/Internal.hs+formatted 7333b62fa746 statistics-0.16.5.0/Statistics/Sample/KernelDensity.hs+formatted 57cb926959b9 statistics-0.16.5.0/Statistics/Sample/KernelDensity/Simple.hs+formatted e7d037eb7906 statistics-0.16.5.0/Statistics/Sample/Normalize.hs+formatted 1242733971ab statistics-0.16.5.0/Statistics/Sample/Powers.hs+formatted 5530b1f597e3 statistics-0.16.5.0/Statistics/Test/Bartlett.hs+formatted da8b73ff5c88 statistics-0.16.5.0/Statistics/Test/ChiSquared.hs+formatted 4990518d53f6 statistics-0.16.5.0/Statistics/Test/Internal.hs+formatted b240b0717330 statistics-0.16.5.0/Statistics/Test/KolmogorovSmirnov.hs+formatted 68068b68b9a0 statistics-0.16.5.0/Statistics/Test/KruskalWallis.hs+formatted 6e9db487a147 statistics-0.16.5.0/Statistics/Test/Levene.hs+formatted 537ff3519540 statistics-0.16.5.0/Statistics/Test/MannWhitneyU.hs+formatted 63ad198bde51 statistics-0.16.5.0/Statistics/Test/StudentT.hs+formatted 8222073f1e45 statistics-0.16.5.0/Statistics/Test/Types.hs+formatted f3c789b5cb44 statistics-0.16.5.0/Statistics/Test/WilcoxonT.hs+formatted 4dc98e7c6347 statistics-0.16.5.0/Statistics/Transform.hs+formatted f4cfb5a2aebb statistics-0.16.5.0/Statistics/Types.hs+formatted f071cb4c4814 statistics-0.16.5.0/Statistics/Types/Internal.hs+formatted b5402a2dc355 statistics-0.16.5.0/bench-papi/Bench.hs+formatted 3963835f0889 statistics-0.16.5.0/bench-time/Bench.hs+formatted 61d4105d3456 statistics-0.16.5.0/benchmark/Main.hs+formatted d80f7bf6f96d statistics-0.16.5.0/examples/kde/KDE.hs+formatted dcea40eeb511 statistics-0.16.5.0/tests/Tests/ApproxEq.hs+formatted 2ae25961f71d statistics-0.16.5.0/tests/Tests/Correlation.hs+formatted ff8bfb187b54 statistics-0.16.5.0/tests/Tests/Distribution.hs+formatted 23d95813c217 statistics-0.16.5.0/tests/Tests/ExactDistribution.hs+formatted 299f43f28485 statistics-0.16.5.0/tests/Tests/Function.hs+formatted 9c5a618f3bf1 statistics-0.16.5.0/tests/Tests/Helpers.hs+formatted fec77bb7c2ff statistics-0.16.5.0/tests/Tests/KDE.hs+formatted cf822ef362eb statistics-0.16.5.0/tests/Tests/Matrix.hs+formatted 27d419347379 statistics-0.16.5.0/tests/Tests/Matrix/Types.hs+formatted 5815fd5a68d5 statistics-0.16.5.0/tests/Tests/NonParametric.hs+formatted 4d0172724882 statistics-0.16.5.0/tests/Tests/NonParametric/Table.hs+formatted 65adfee8e313 statistics-0.16.5.0/tests/Tests/Orphanage.hs+formatted bc01b981cd07 statistics-0.16.5.0/tests/Tests/Parametric.hs+formatted d94da0d75fed statistics-0.16.5.0/tests/Tests/Quantile.hs+formatted 4e08d3c82170 statistics-0.16.5.0/tests/Tests/Serialization.hs+formatted d60faa0d5f6c statistics-0.16.5.0/tests/Tests/Transform.hs+formatted 55f699624c9d statistics-0.16.5.0/tests/doctest.hs+formatted f0e3d45c9159 statistics-0.16.5.0/tests/tests.hs+formatted 2c4811cee336 stm-2.5.3.1/Control/Concurrent/STM.hs+formatted 3cda51e9e44e stm-2.5.3.1/Control/Concurrent/STM/TArray.hs+formatted a3a6bd16402a stm-2.5.3.1/Control/Concurrent/STM/TBQueue.hs+formatted 643c4c4304ca stm-2.5.3.1/Control/Concurrent/STM/TChan.hs+formatted 5de1c73d983a stm-2.5.3.1/Control/Concurrent/STM/TMVar.hs+formatted 61a61ef9eccf stm-2.5.3.1/Control/Concurrent/STM/TQueue.hs+formatted 0167cfd0c06a stm-2.5.3.1/Control/Concurrent/STM/TSem.hs+formatted 6a0ece958ded stm-2.5.3.1/Control/Concurrent/STM/TVar.hs+partly-checked 4ed888ed9420 stm-2.5.3.1/Control/Monad/STM.hs+formatted 6aecb29a12ab stm-2.5.3.1/Control/Sequential/STM.hs+formatted 7474b7e1d4f5 stm-2.5.3.1/Setup.hs+formatted e290291970ca stm-2.5.3.1/testsuite/src/Issue17.hs+formatted c3343c4d48cb stm-2.5.3.1/testsuite/src/Issue9.hs+formatted 9159857aaf7c stm-2.5.3.1/testsuite/src/Main.hs+formatted 5a7bdca5eb2f stm-2.5.3.1/testsuite/src/Stm052.hs+formatted 9b30ce222d29 stm-2.5.3.1/testsuite/src/Stm064.hs+formatted 0f86f9b94d82 stm-2.5.3.1/testsuite/src/Stm065.hs+formatted 0872066614e0 swagger2-2.9.1/Setup.hs+formatted e61f805d8652 swagger2-2.9.1/examples/hackage.hs+formatted 3c1b0b04d952 swagger2-2.9.1/src/Data/HashMap/Strict/InsOrd/Compat.hs+formatted d71d272f220f swagger2-2.9.1/src/Data/Swagger.hs+formatted f496ee0d4d0c swagger2-2.9.1/src/Data/Swagger/Declare.hs+formatted 5302fa19a1a8 swagger2-2.9.1/src/Data/Swagger/Internal.hs+formatted 7dfa5b7b4803 swagger2-2.9.1/src/Data/Swagger/Internal/AesonUtils.hs+formatted be2b0df4ab34 swagger2-2.9.1/src/Data/Swagger/Internal/ParamSchema.hs+formatted e4da8109511e swagger2-2.9.1/src/Data/Swagger/Internal/Schema.hs+formatted 15b94738c187 swagger2-2.9.1/src/Data/Swagger/Internal/Schema/Validation.hs+formatted 185e997df260 swagger2-2.9.1/src/Data/Swagger/Internal/TypeShape.hs+formatted abc8c961e8d8 swagger2-2.9.1/src/Data/Swagger/Internal/Utils.hs+formatted cc7b692d5353 swagger2-2.9.1/src/Data/Swagger/Lens.hs+formatted 69c86ada5be4 swagger2-2.9.1/src/Data/Swagger/Operation.hs+formatted 385ee16b2de5 swagger2-2.9.1/src/Data/Swagger/Optics.hs+formatted b74d3f8d9ea4 swagger2-2.9.1/src/Data/Swagger/ParamSchema.hs+formatted 19a9a7c3a0de swagger2-2.9.1/src/Data/Swagger/Schema.hs+formatted 59f835605e15 swagger2-2.9.1/src/Data/Swagger/Schema/Generator.hs+formatted 7770e1fe2353 swagger2-2.9.1/src/Data/Swagger/Schema/Validation.hs+formatted 2fd313eb8746 swagger2-2.9.1/src/Data/Swagger/SchemaOptions.hs+formatted 92d24f16cf77 swagger2-2.9.1/test/Data/Swagger/CommonTestTypes.hs+formatted 88ae3e07f1d6 swagger2-2.9.1/test/Data/Swagger/ParamSchemaSpec.hs+formatted ba8d29dd4929 swagger2-2.9.1/test/Data/Swagger/Schema/GeneratorSpec.hs+formatted f1eacb0cba50 swagger2-2.9.1/test/Data/Swagger/Schema/ValidationSpec.hs+formatted bc07fee39679 swagger2-2.9.1/test/Data/Swagger/SchemaSpec.hs+formatted b59e746b8895 swagger2-2.9.1/test/Data/SwaggerSpec.hs+formatted 2fbd14b119a4 swagger2-2.9.1/test/Spec.hs+formatted 1534dc51af48 swagger2-2.9.1/test/SpecCommon.hs+formatted cc17d35cb01d swagger2-2.9.1/test/doctests.hs+formatted d4738b672bb7 tasty-1.5.4/Control/Concurrent/Async.hs+formatted e865ae48f11b tasty-1.5.4/Setup.hs+formatted 02df8ffe2eb3 tasty-1.5.4/Test/Tasty.hs+formatted da0dd4a5f265 tasty-1.5.4/Test/Tasty/CmdLine.hs+formatted 3a5fcf3042c0 tasty-1.5.4/Test/Tasty/Core.hs+formatted dd00b52edeb7 tasty-1.5.4/Test/Tasty/Ingredients.hs+formatted 9e13d30f1aac tasty-1.5.4/Test/Tasty/Ingredients/Basic.hs+formatted 0e632c2a7445 tasty-1.5.4/Test/Tasty/Ingredients/ConsoleReporter.hs+formatted 8c6cf8ae3d46 tasty-1.5.4/Test/Tasty/Ingredients/IncludingOptions.hs+formatted 5435b848bb7e tasty-1.5.4/Test/Tasty/Ingredients/ListTests.hs+formatted 1d78b5b7b6d6 tasty-1.5.4/Test/Tasty/Options.hs+formatted 3423011ddd29 tasty-1.5.4/Test/Tasty/Options/Core.hs+formatted d9fbf61e13b4 tasty-1.5.4/Test/Tasty/Options/Env.hs+formatted bc3c7e134e5c tasty-1.5.4/Test/Tasty/Parallel.hs+formatted d8b2acdcc674 tasty-1.5.4/Test/Tasty/Patterns.hs+formatted 0d97fca4d8c9 tasty-1.5.4/Test/Tasty/Patterns/Eval.hs+formatted 4d5e43449879 tasty-1.5.4/Test/Tasty/Patterns/Expr.hs+formatted 7095e0ba43dd tasty-1.5.4/Test/Tasty/Patterns/Parser.hs+formatted 3b88b836a8da tasty-1.5.4/Test/Tasty/Patterns/Printer.hs+formatted 76352e15e8e6 tasty-1.5.4/Test/Tasty/Patterns/Types.hs+formatted b2ce3b3d2ba6 tasty-1.5.4/Test/Tasty/Providers.hs+formatted 1e9dd494aa0d tasty-1.5.4/Test/Tasty/Providers/ConsoleFormat.hs+formatted ff9909ca5604 tasty-1.5.4/Test/Tasty/Run.hs+formatted cb5862c8ea8c tasty-1.5.4/Test/Tasty/Runners.hs+formatted a02b4c543c75 tasty-1.5.4/Test/Tasty/Runners/Reducers.hs+formatted c621861758e5 tasty-1.5.4/Test/Tasty/Runners/Utils.hs+formatted e865ae48f11b tensorflow-0.2.0.1/Setup.hs+formatted fc583182d149 tensorflow-0.2.0.1/src/TensorFlow/Build.hs+formatted 6a8867b44ef1 tensorflow-0.2.0.1/src/TensorFlow/BuildOp.hs+formatted 77489c8b8f87 tensorflow-0.2.0.1/src/TensorFlow/ControlFlow.hs+formatted 4cc5cc869f78 tensorflow-0.2.0.1/src/TensorFlow/Core.hs+formatted 76a2093eefd8 tensorflow-0.2.0.1/src/TensorFlow/Internal/FFI.hs+formatted 62d7a0995301 tensorflow-0.2.0.1/src/TensorFlow/Internal/VarInt.hs+formatted 33a0218dc730 tensorflow-0.2.0.1/src/TensorFlow/Nodes.hs+formatted 6079d89faf44 tensorflow-0.2.0.1/src/TensorFlow/Output.hs+formatted 43470d2fc559 tensorflow-0.2.0.1/src/TensorFlow/Session.hs+formatted da3a7653404f tensorflow-0.2.0.1/src/TensorFlow/Tensor.hs+formatted 3e49e13c010b tensorflow-0.2.0.1/src/TensorFlow/Types.hs+formatted 7786d8f90a48 tensorflow-0.2.0.1/tests/FFITest.hs+formatted 0f5db84dd77b tensorflow-0.2.0.1/tests/VarIntTest.hs+formatted 8ae0364c5862 text-2.1.4/benchmarks/haskell/Benchmarks.hs+formatted ffe091bc4536 text-2.1.4/benchmarks/haskell/Benchmarks/Builder.hs+formatted 46dcd64eb8e5 text-2.1.4/benchmarks/haskell/Benchmarks/Concat.hs+formatted 1e546a146930 text-2.1.4/benchmarks/haskell/Benchmarks/DecodeUtf8.hs+formatted 41909e2de312 text-2.1.4/benchmarks/haskell/Benchmarks/EncodeUtf8.hs+formatted 919f36b12c57 text-2.1.4/benchmarks/haskell/Benchmarks/Equality.hs+formatted a5d1f5795b29 text-2.1.4/benchmarks/haskell/Benchmarks/FileRead.hs+formatted 09b54ec2d23a text-2.1.4/benchmarks/haskell/Benchmarks/FileWrite.hs+formatted ad27e899bf04 text-2.1.4/benchmarks/haskell/Benchmarks/FoldLines.hs+formatted 983d6f9117cd text-2.1.4/benchmarks/haskell/Benchmarks/Micro.hs+formatted 78b2688949ff text-2.1.4/benchmarks/haskell/Benchmarks/Multilang.hs+formatted 6ee308d7049c text-2.1.4/benchmarks/haskell/Benchmarks/Programs/BigTable.hs+formatted b1d195224e1a text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Cut.hs+formatted 2814a67c6d1b text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Fold.hs+formatted 2cebf4fe82ba text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Sort.hs+formatted d9f35273ed3a text-2.1.4/benchmarks/haskell/Benchmarks/Programs/StripTags.hs+formatted 760d861cf866 text-2.1.4/benchmarks/haskell/Benchmarks/Programs/Throughput.hs+formatted 021d8145a2fe text-2.1.4/benchmarks/haskell/Benchmarks/Pure.hs+formatted e54e95cc30f1 text-2.1.4/benchmarks/haskell/Benchmarks/ReadNumbers.hs+formatted bf7477bd4934 text-2.1.4/benchmarks/haskell/Benchmarks/Replace.hs+formatted 36cf43ee1086 text-2.1.4/benchmarks/haskell/Benchmarks/Search.hs+formatted 6630a0ba2adf text-2.1.4/benchmarks/haskell/Benchmarks/Stream.hs+formatted 582c824b5ff5 text-2.1.4/benchmarks/haskell/Benchmarks/WordFrequencies.hs+formatted 352931675b25 text-2.1.4/scripts/ApiCompare.hs+formatted 227860122661 text-2.1.4/scripts/Arsec.hs+formatted eb1cc9cf331c text-2.1.4/scripts/CaseFolding.hs+formatted a0bdad468ca4 text-2.1.4/scripts/CaseMapping.hs+formatted 57e97be5ba61 text-2.1.4/scripts/SpecialCasing.hs+formatted d775bb623580 text-2.1.4/scripts/UnicodeData.hs+partly-checked 0abe70d97042 text-2.1.4/src/Data/Text.hs+formatted d3ff1f08422c text-2.1.4/src/Data/Text/Array.hs+formatted 4970b89f4e7e text-2.1.4/src/Data/Text/Encoding.hs+formatted d6231f7ebe99 text-2.1.4/src/Data/Text/Encoding/Error.hs+formatted 7580816061c0 text-2.1.4/src/Data/Text/Foreign.hs+formatted d26ae280631c text-2.1.4/src/Data/Text/IO.hs+formatted 8c24fec0de81 text-2.1.4/src/Data/Text/IO/Utf8.hs+formatted 653829dd073b text-2.1.4/src/Data/Text/Internal.hs+formatted 48c631518261 text-2.1.4/src/Data/Text/Internal/ArrayUtils.hs+formatted bc619fb754b4 text-2.1.4/src/Data/Text/Internal/Builder.hs+formatted 3a05c951a914 text-2.1.4/src/Data/Text/Internal/Builder/Functions.hs+formatted f5f871c975a4 text-2.1.4/src/Data/Text/Internal/Builder/Int/Digits.hs+formatted ab51e88834e1 text-2.1.4/src/Data/Text/Internal/Builder/RealFloat/Functions.hs+formatted 7fa192160c9b text-2.1.4/src/Data/Text/Internal/ByteStringCompat.hs+formatted b4bfb3453a3f text-2.1.4/src/Data/Text/Internal/Encoding.hs+formatted 43a1a670b3db text-2.1.4/src/Data/Text/Internal/Encoding/Fusion.hs+formatted 88e5c54a218b text-2.1.4/src/Data/Text/Internal/Encoding/Fusion/Common.hs+formatted 875961737225 text-2.1.4/src/Data/Text/Internal/Encoding/Utf16.hs+formatted 48ea4745d7e8 text-2.1.4/src/Data/Text/Internal/Encoding/Utf32.hs+formatted 999f28ae046f text-2.1.4/src/Data/Text/Internal/Encoding/Utf8.hs+formatted da5c175cb49c text-2.1.4/src/Data/Text/Internal/Fusion.hs+formatted 9ae139203b50 text-2.1.4/src/Data/Text/Internal/Fusion/CaseMapping.hs+formatted 82caff784f76 text-2.1.4/src/Data/Text/Internal/Fusion/Common.hs+formatted a3b0b51a0759 text-2.1.4/src/Data/Text/Internal/Fusion/Size.hs+formatted 3c7c18d05ebf text-2.1.4/src/Data/Text/Internal/Fusion/Types.hs+formatted 32b50634031b text-2.1.4/src/Data/Text/Internal/IO.hs+formatted e2bb47936e11 text-2.1.4/src/Data/Text/Internal/IsAscii.hs+formatted 538632ba614a text-2.1.4/src/Data/Text/Internal/Lazy.hs+formatted 76efe1116cd2 text-2.1.4/src/Data/Text/Internal/Lazy/Encoding/Fusion.hs+formatted c627413119e8 text-2.1.4/src/Data/Text/Internal/Lazy/Fusion.hs+formatted a3c76abdf09c text-2.1.4/src/Data/Text/Internal/Lazy/Search.hs+formatted e22062ee35e8 text-2.1.4/src/Data/Text/Internal/Measure.hs+formatted 7635d57189ea text-2.1.4/src/Data/Text/Internal/PrimCompat.hs+formatted 634f3b2cbbde text-2.1.4/src/Data/Text/Internal/Private.hs+formatted a41bd3d7edab text-2.1.4/src/Data/Text/Internal/Read.hs+formatted ec56c867ca01 text-2.1.4/src/Data/Text/Internal/Reverse.hs+formatted 9ddb417cbaa3 text-2.1.4/src/Data/Text/Internal/Search.hs+formatted 67bf06cca611 text-2.1.4/src/Data/Text/Internal/StrictBuilder.hs+formatted ed455e9ee12d text-2.1.4/src/Data/Text/Internal/Transformation.hs+formatted 18ae86a38924 text-2.1.4/src/Data/Text/Internal/Unsafe.hs+formatted d3b144e675ef text-2.1.4/src/Data/Text/Internal/Unsafe/Char.hs+formatted 8bc67bc79968 text-2.1.4/src/Data/Text/Internal/Validate.hs+formatted 3597c6a4f1b6 text-2.1.4/src/Data/Text/Internal/Validate/Native.hs+formatted 530d639cfd22 text-2.1.4/src/Data/Text/Internal/Validate/Simd.hs+formatted 060b4a7eb0fb text-2.1.4/src/Data/Text/Lazy.hs+formatted 38ff2d7cb674 text-2.1.4/src/Data/Text/Lazy/Builder.hs+formatted 38666af96d86 text-2.1.4/src/Data/Text/Lazy/Builder/Int.hs+formatted 29e65f5a5a13 text-2.1.4/src/Data/Text/Lazy/Builder/RealFloat.hs+formatted a19c3620d230 text-2.1.4/src/Data/Text/Lazy/Encoding.hs+formatted ac210eeb3b0e text-2.1.4/src/Data/Text/Lazy/IO.hs+formatted 737ca3b98c79 text-2.1.4/src/Data/Text/Lazy/Internal.hs+formatted 4053796b9111 text-2.1.4/src/Data/Text/Lazy/Read.hs+formatted 95185ba2e9b4 text-2.1.4/src/Data/Text/Read.hs+formatted a764e2fbcaba text-2.1.4/src/Data/Text/Show.hs+formatted 5aa1e6b706a4 text-2.1.4/src/Data/Text/Unsafe.hs+formatted 8c35444bb7ce text-2.1.4/tests/LiteralRuleTest.hs+formatted 6c129d5c79c5 text-2.1.4/tests/Tests.hs+formatted 8c9ba4deec7f text-2.1.4/tests/Tests/Lift.hs+formatted eea1f5be128d text-2.1.4/tests/Tests/Properties.hs+formatted 22b01cd83996 text-2.1.4/tests/Tests/Properties/Basics.hs+formatted 4095b24da789 text-2.1.4/tests/Tests/Properties/Builder.hs+formatted 0da554ece794 text-2.1.4/tests/Tests/Properties/CornerCases.hs+formatted f1e8140de487 text-2.1.4/tests/Tests/Properties/Folds.hs+formatted 05ba3e128127 text-2.1.4/tests/Tests/Properties/Instances.hs+formatted c57f3b48eab5 text-2.1.4/tests/Tests/Properties/LowLevel.hs+formatted 73ce8ac597c8 text-2.1.4/tests/Tests/Properties/Read.hs+formatted 3429b9447ca6 text-2.1.4/tests/Tests/Properties/Substrings.hs+formatted 37dbae049e0b text-2.1.4/tests/Tests/Properties/Text.hs+formatted 13a8cbedafd1 text-2.1.4/tests/Tests/Properties/Transcoding.hs+formatted 139bbe092e98 text-2.1.4/tests/Tests/Properties/Validate.hs+formatted 75f4b0d7a5f3 text-2.1.4/tests/Tests/QuickCheckUtils.hs+formatted c6e25a3408e0 text-2.1.4/tests/Tests/RebindableSyntaxTest.hs+formatted 939e997260ba text-2.1.4/tests/Tests/Regressions.hs+formatted b7037d3f07cc text-2.1.4/tests/Tests/ShareEmpty.hs+formatted f4e9f36f6be9 text-2.1.4/tests/Tests/SlowFunctions.hs+formatted 375091fbe743 text-2.1.4/tests/Tests/Utils.hs+formatted e865ae48f11b th-abstraction-0.7.2.0/Setup.hs+formatted 48b10de7e3db th-abstraction-0.7.2.0/src/Language/Haskell/TH/Datatype.hs+formatted b67b7b9c968e th-abstraction-0.7.2.0/src/Language/Haskell/TH/Datatype/Internal.hs+formatted 505471744185 th-abstraction-0.7.2.0/src/Language/Haskell/TH/Datatype/TyVarBndr.hs+formatted fad455f51be7 th-abstraction-0.7.2.0/test/Harness.hs+partly-checked 8dc9c0982773 th-abstraction-0.7.2.0/test/Main.hs+formatted cc71d6ab2857 th-abstraction-0.7.2.0/test/Types.hs+formatted fd2ff7ad97e3 time-1.16.0.1/Setup.hs+formatted 125260959da8 time-1.16.0.1/benchmark/Main.hs+formatted 67b30ed4204b time-1.16.0.1/lib/Data/Format.hs+formatted 138e9cb35e13 time-1.16.0.1/lib/Data/Time.hs+formatted d808f69809c2 time-1.16.0.1/lib/Data/Time/Calendar.hs+formatted 0f617301ba5b time-1.16.0.1/lib/Data/Time/Calendar/CalendarDiffDays.hs+formatted e210a7d3456b time-1.16.0.1/lib/Data/Time/Calendar/Days.hs+formatted 03412f0b8356 time-1.16.0.1/lib/Data/Time/Calendar/Easter.hs+formatted f8d4d6f009e4 time-1.16.0.1/lib/Data/Time/Calendar/Gregorian.hs+formatted be538512fc07 time-1.16.0.1/lib/Data/Time/Calendar/Julian.hs+formatted 625e7b428153 time-1.16.0.1/lib/Data/Time/Calendar/JulianYearDay.hs+formatted 9ba18c758e02 time-1.16.0.1/lib/Data/Time/Calendar/Month.hs+formatted eee4b0761e17 time-1.16.0.1/lib/Data/Time/Calendar/MonthDay.hs+formatted fe021b5bb8e1 time-1.16.0.1/lib/Data/Time/Calendar/OrdinalDate.hs+formatted 025bb4e6307c time-1.16.0.1/lib/Data/Time/Calendar/Private.hs+formatted 7d5d5b51baca time-1.16.0.1/lib/Data/Time/Calendar/Quarter.hs+formatted 61e7261c13da time-1.16.0.1/lib/Data/Time/Calendar/Types.hs+formatted 55892c430b7b time-1.16.0.1/lib/Data/Time/Calendar/Week.hs+formatted 8d6d0ff3c8ec time-1.16.0.1/lib/Data/Time/Calendar/WeekDate.hs+formatted c2de888ee84b time-1.16.0.1/lib/Data/Time/Clock.hs+formatted 0b01b660df99 time-1.16.0.1/lib/Data/Time/Clock/Internal/AbsoluteTime.hs+formatted b17785e460f5 time-1.16.0.1/lib/Data/Time/Clock/Internal/CTimeval.hs+formatted fde88246f337 time-1.16.0.1/lib/Data/Time/Clock/Internal/DiffTime.hs+formatted 130201256efa time-1.16.0.1/lib/Data/Time/Clock/Internal/NominalDiffTime.hs+formatted 8ef6afa040bc time-1.16.0.1/lib/Data/Time/Clock/Internal/POSIXTime.hs+formatted 7b9c6c7bdb50 time-1.16.0.1/lib/Data/Time/Clock/Internal/SystemTime.hs+formatted 310750655010 time-1.16.0.1/lib/Data/Time/Clock/Internal/UTCDiff.hs+formatted a58732cd7eb8 time-1.16.0.1/lib/Data/Time/Clock/Internal/UTCTime.hs+formatted acaedfdab698 time-1.16.0.1/lib/Data/Time/Clock/Internal/UniversalTime.hs+formatted cf441f809fdf time-1.16.0.1/lib/Data/Time/Clock/POSIX.hs+formatted 6dd6034d73b4 time-1.16.0.1/lib/Data/Time/Clock/System.hs+formatted 7cdd69049dcf time-1.16.0.1/lib/Data/Time/Clock/TAI.hs+formatted b600a5b5c744 time-1.16.0.1/lib/Data/Time/Format.hs+formatted 6c005f66f0be time-1.16.0.1/lib/Data/Time/Format/Format/Class.hs+formatted 47f1688c0787 time-1.16.0.1/lib/Data/Time/Format/Format/Instances.hs+formatted 3764319de19b time-1.16.0.1/lib/Data/Time/Format/ISO8601.hs+formatted 76aa49c9292b time-1.16.0.1/lib/Data/Time/Format/Internal.hs+formatted b7ae7592bcb6 time-1.16.0.1/lib/Data/Time/Format/Locale.hs+formatted 2cd514758801 time-1.16.0.1/lib/Data/Time/Format/Parse.hs+formatted 05a7f0bf5554 time-1.16.0.1/lib/Data/Time/Format/Parse/Class.hs+formatted cb2ccd8c40fd time-1.16.0.1/lib/Data/Time/Format/Parse/Instances.hs+formatted 4489a4cdab49 time-1.16.0.1/lib/Data/Time/LocalTime.hs+formatted 93986a8450d1 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/CalendarDiffTime.hs+formatted 94f381fe1ad1 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/Foreign.hs+formatted ca98c37fb34c time-1.16.0.1/lib/Data/Time/LocalTime/Internal/LocalTime.hs+formatted 9200ebaf067a time-1.16.0.1/lib/Data/Time/LocalTime/Internal/TimeOfDay.hs+formatted 74496e557585 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/TimeZone.hs+formatted 343d16749a70 time-1.16.0.1/lib/Data/Time/LocalTime/Internal/ZonedTime.hs+formatted c365d1aa63cd time-1.16.0.1/test/ForeignCalls.hs+formatted fc8234c946fb time-1.16.0.1/test/ShowDefaultTZAbbreviations.hs+formatted b51274826033 time-1.16.0.1/test/ShowTime.hs+formatted 921506ceef7c time-1.16.0.1/test/main/Main.hs+formatted 4db8ebf798ab time-1.16.0.1/test/main/Test/AddDiff.hs+formatted 0ff201c42388 time-1.16.0.1/test/main/Test/Arbitrary.hs+formatted a31b50175d67 time-1.16.0.1/test/main/Test/Calendar/AddDays.hs+formatted 5b09874748fc time-1.16.0.1/test/main/Test/Calendar/AddDaysRef.hs+formatted 1f2ab37cb077 time-1.16.0.1/test/main/Test/Calendar/CalendarProps.hs+formatted fe6ab3f07aa9 time-1.16.0.1/test/main/Test/Calendar/Calendars.hs+formatted ba59184d394c time-1.16.0.1/test/main/Test/Calendar/CalendarsRef.hs+formatted e4ef550ce506 time-1.16.0.1/test/main/Test/Calendar/ClipDates.hs+formatted f707c1ddaec1 time-1.16.0.1/test/main/Test/Calendar/ClipDatesRef.hs+formatted d031fd80c27f time-1.16.0.1/test/main/Test/Calendar/ConvertBack.hs+formatted 168e9526852a time-1.16.0.1/test/main/Test/Calendar/DayPeriod.hs+formatted 2b4c5c903e40 time-1.16.0.1/test/main/Test/Calendar/Duration.hs+formatted 56b1c2b8beea time-1.16.0.1/test/main/Test/Calendar/Easter.hs+formatted 3f35f96f7337 time-1.16.0.1/test/main/Test/Calendar/LongWeekYears.hs+formatted bdfb9e546ba3 time-1.16.0.1/test/main/Test/Calendar/LongWeekYearsRef.hs+formatted b5181d1d6218 time-1.16.0.1/test/main/Test/Calendar/MonthDay.hs+formatted c01cb667a9a8 time-1.16.0.1/test/main/Test/Calendar/MonthDayRef.hs+formatted fc8caea8866a time-1.16.0.1/test/main/Test/Calendar/MonthOfYear.hs+formatted 70ffc80a9b91 time-1.16.0.1/test/main/Test/Calendar/Valid.hs+formatted 516d424dfa89 time-1.16.0.1/test/main/Test/Calendar/Week.hs+formatted 96f42a259e5f time-1.16.0.1/test/main/Test/Calendar/Year.hs+formatted 868a03b5a657 time-1.16.0.1/test/main/Test/Clock/Conversion.hs+formatted 5c09197a3ec5 time-1.16.0.1/test/main/Test/Clock/Pattern.hs+formatted 449c0cf9b9bd time-1.16.0.1/test/main/Test/Clock/Resolution.hs+formatted e5afef596413 time-1.16.0.1/test/main/Test/Clock/TAI.hs+formatted 56759726b4b9 time-1.16.0.1/test/main/Test/Format/Compile.hs+formatted 9a5ff5f775a0 time-1.16.0.1/test/main/Test/Format/Format.hs+formatted 458676174a43 time-1.16.0.1/test/main/Test/Format/ISO8601.hs+formatted b9a6b11b9e1e time-1.16.0.1/test/main/Test/Format/ParseTime.hs+formatted 87d53b9f2df8 time-1.16.0.1/test/main/Test/LocalTime/CalendarDiffTime.hs+formatted 3c6fcbef621e time-1.16.0.1/test/main/Test/LocalTime/Time.hs+formatted 4c37e59c357b time-1.16.0.1/test/main/Test/LocalTime/TimeOfDay.hs+formatted db61298fae47 time-1.16.0.1/test/main/Test/LocalTime/TimeRef.hs+formatted 274e9173e128 time-1.16.0.1/test/main/Test/TestUtil.hs+formatted 41cfd788db10 time-1.16.0.1/test/main/Test/Types.hs+formatted 2e8ad72db81a time-1.16.0.1/test/template/Main.hs+formatted 29972ed619e0 time-1.16.0.1/test/template/Test/TastyWrapper.hs+formatted ea580c874e6f time-1.16.0.1/test/unix/Main.hs+formatted 9d938426697b time-1.16.0.1/test/unix/Test/Format/Format.hs+formatted 21b333187684 time-1.16.0.1/test/unix/Test/LocalTime/TimeZone.hs+formatted f627f436f233 time-1.16.0.1/test/unix/Test/TestUtil.hs+formatted 7917eb9d1f66 tls-2.4.3/Benchmarks/Benchmarks.hs+formatted 489534a90c4b tls-2.4.3/Network/TLS.hs+formatted 7ce1364dcb4a tls-2.4.3/Network/TLS/Backend.hs+formatted f9d4f25241e6 tls-2.4.3/Network/TLS/Cipher.hs+formatted a0fa75894b05 tls-2.4.3/Network/TLS/Compression.hs+formatted 1228f4f8033d tls-2.4.3/Network/TLS/Context.hs+formatted 04740f1040b6 tls-2.4.3/Network/TLS/Context/Internal.hs+formatted 8a2288d2bc96 tls-2.4.3/Network/TLS/Core.hs+formatted e1443ef58aff tls-2.4.3/Network/TLS/Credentials.hs+formatted b6cc61acbea0 tls-2.4.3/Network/TLS/Crypto.hs+formatted a8fca7835f0d tls-2.4.3/Network/TLS/Crypto/DH.hs+formatted 446c8c8a07ed tls-2.4.3/Network/TLS/Crypto/IES.hs+formatted b7e6a0d5aaac tls-2.4.3/Network/TLS/Crypto/Types.hs+formatted 025f72c75341 tls-2.4.3/Network/TLS/ErrT.hs+formatted 427d32e6cdf8 tls-2.4.3/Network/TLS/Error.hs+formatted 25c2c4064c31 tls-2.4.3/Network/TLS/Extension.hs+formatted 2be304b6f83e tls-2.4.3/Network/TLS/Extension.hs-boot+formatted 49db661a445a tls-2.4.3/Network/TLS/Extra.hs+formatted 62633b825876 tls-2.4.3/Network/TLS/Extra/Cipher.hs+formatted 0ee5bebb0e07 tls-2.4.3/Network/TLS/Extra/CipherCBC.hs+formatted 5d51d07ab286 tls-2.4.3/Network/TLS/Extra/FFDHE.hs+formatted 0003b888622d tls-2.4.3/Network/TLS/Handshake.hs+formatted 34fa3d5f9250 tls-2.4.3/Network/TLS/Handshake/Certificate.hs+formatted e0f2a684c93c tls-2.4.3/Network/TLS/Handshake/Client.hs+formatted 9c57a50d7cfc tls-2.4.3/Network/TLS/Handshake/Client/ClientHello.hs+formatted fd3b33b247f9 tls-2.4.3/Network/TLS/Handshake/Client/Common.hs+formatted 020fe94afa85 tls-2.4.3/Network/TLS/Handshake/Client/ServerHello.hs+formatted 3f13588f75b3 tls-2.4.3/Network/TLS/Handshake/Client/TLS12.hs+formatted 5c1bcf1c14e2 tls-2.4.3/Network/TLS/Handshake/Client/TLS13.hs+formatted a90b777adf6d tls-2.4.3/Network/TLS/Handshake/Common.hs+formatted c5440404a04f tls-2.4.3/Network/TLS/Handshake/Common13.hs+formatted 02f97ef7593d tls-2.4.3/Network/TLS/Handshake/Control.hs+formatted 2c0676398aca tls-2.4.3/Network/TLS/Handshake/Key.hs+formatted 9dc05a147d3b tls-2.4.3/Network/TLS/Handshake/Random.hs+formatted 718a7715d422 tls-2.4.3/Network/TLS/Handshake/Server.hs+formatted b75e8a299fbb tls-2.4.3/Network/TLS/Handshake/Server/ClientHello.hs+formatted 17ae63748aa2 tls-2.4.3/Network/TLS/Handshake/Server/ClientHello12.hs+formatted d664c259f6af tls-2.4.3/Network/TLS/Handshake/Server/ClientHello13.hs+formatted a2f2d3470f0f tls-2.4.3/Network/TLS/Handshake/Server/Common.hs+formatted 5c07986ccbf1 tls-2.4.3/Network/TLS/Handshake/Server/ServerHello12.hs+formatted d3df4765699c tls-2.4.3/Network/TLS/Handshake/Server/ServerHello13.hs+formatted b29b9f3d0ef7 tls-2.4.3/Network/TLS/Handshake/Server/TLS12.hs+formatted dacd920cbf42 tls-2.4.3/Network/TLS/Handshake/Server/TLS13.hs+formatted 6a8388c49af7 tls-2.4.3/Network/TLS/Handshake/Signature.hs+formatted 4d5c61b9dc3d tls-2.4.3/Network/TLS/Handshake/State.hs+formatted f55d027db091 tls-2.4.3/Network/TLS/Handshake/State13.hs+formatted f907190b60ed tls-2.4.3/Network/TLS/Handshake/TranscriptHash.hs+formatted 5e1320c4c161 tls-2.4.3/Network/TLS/HashAndSignature.hs+formatted 7be5df148925 tls-2.4.3/Network/TLS/Hooks.hs+formatted b606b0451a2f tls-2.4.3/Network/TLS/IO.hs+formatted 4288557274dd tls-2.4.3/Network/TLS/IO/Decode.hs+formatted a9013006f398 tls-2.4.3/Network/TLS/IO/Encode.hs+formatted d7509e6fb8f1 tls-2.4.3/Network/TLS/Imports.hs+formatted 21e9ce7c3507 tls-2.4.3/Network/TLS/Internal.hs+formatted 92999e90c6b3 tls-2.4.3/Network/TLS/KeySchedule.hs+formatted febba7334e9e tls-2.4.3/Network/TLS/MAC.hs+formatted 9955ee0bd505 tls-2.4.3/Network/TLS/Measurement.hs+formatted 426e8a75af01 tls-2.4.3/Network/TLS/Packet.hs+formatted 41cbbbe9b09e tls-2.4.3/Network/TLS/Packet13.hs+formatted a14ea5098afd tls-2.4.3/Network/TLS/Parameters.hs+formatted 29784d509f48 tls-2.4.3/Network/TLS/PostHandshake.hs+formatted 8edf9e30c18b tls-2.4.3/Network/TLS/QUIC.hs+formatted 360a52dcf151 tls-2.4.3/Network/TLS/RNG.hs+formatted 805eb6800681 tls-2.4.3/Network/TLS/Record.hs+formatted e0fdd96fb4fc tls-2.4.3/Network/TLS/Record/Decrypt.hs+formatted 58ae652319fd tls-2.4.3/Network/TLS/Record/Encrypt.hs+formatted 3d9c53507eaa tls-2.4.3/Network/TLS/Record/Layer.hs+formatted a66c641fa8a1 tls-2.4.3/Network/TLS/Record/Recv.hs+formatted 9fa588833e07 tls-2.4.3/Network/TLS/Record/Send.hs+formatted 500b4c31d912 tls-2.4.3/Network/TLS/Record/State.hs+formatted 932e2e5f3887 tls-2.4.3/Network/TLS/Record/Types.hs+formatted 42bed44c3eaa tls-2.4.3/Network/TLS/Session.hs+formatted 04bdb49074e5 tls-2.4.3/Network/TLS/State.hs+formatted aedfbc85cbbc tls-2.4.3/Network/TLS/Struct.hs+formatted 4c783b0d9e9d tls-2.4.3/Network/TLS/Struct13.hs+formatted ea0d39cd9f70 tls-2.4.3/Network/TLS/Types.hs+formatted 253e29d81f4e tls-2.4.3/Network/TLS/Types/Cipher.hs+formatted e6e9255220bb tls-2.4.3/Network/TLS/Types/Secret.hs+formatted 35bf4ee60be8 tls-2.4.3/Network/TLS/Types/Session.hs+formatted 741cb1c84257 tls-2.4.3/Network/TLS/Types/Version.hs+formatted be921f75cb0a tls-2.4.3/Network/TLS/Util.hs+formatted 1d021bd7e9a7 tls-2.4.3/Network/TLS/Util/ASN1.hs+formatted 9d70166f446f tls-2.4.3/Network/TLS/Util/Serialization.hs+formatted 32a205e8e871 tls-2.4.3/Network/TLS/Wire.hs+formatted 5c85b406dea3 tls-2.4.3/Network/TLS/X509.hs+formatted e865ae48f11b tls-2.4.3/Setup.hs+formatted 45a83b6cde24 tls-2.4.3/test/API.hs+formatted 0d25f1866c79 tls-2.4.3/test/Arbitrary.hs+formatted ba1557ab2831 tls-2.4.3/test/Certificate.hs+formatted 37c216e39fd1 tls-2.4.3/test/CiphersSpec.hs+formatted ae18040b3401 tls-2.4.3/test/ECHSpec.hs+formatted a99d04d129f7 tls-2.4.3/test/EncodeSpec.hs+formatted a99713b7b244 tls-2.4.3/test/HandshakeSpec.hs+formatted 23c51f587e8d tls-2.4.3/test/PipeChan.hs+formatted 338dcd8056de tls-2.4.3/test/PubKey.hs+formatted 9621232ed432 tls-2.4.3/test/Run.hs+formatted f2f3550cb17a tls-2.4.3/test/Session.hs+formatted 2fbd14b119a4 tls-2.4.3/test/Spec.hs+formatted 9034972735e8 tls-2.4.3/test/ThreadSpec.hs+formatted 199e7d71bfb6 tls-2.4.3/util/Client.hs+formatted c555911ae465 tls-2.4.3/util/Common.hs+formatted 7dd3b5f2e44a tls-2.4.3/util/Imports.hs+formatted 6e9aa070c533 tls-2.4.3/util/Server.hs+formatted fa42557a0faa tls-2.4.3/util/tls-client.hs+formatted 0b4839d81970 tls-2.4.3/util/tls-server.hs+partly-checked 36a6d2f6abb4 transformers-0.6.3.0/Control/Applicative/Backwards.hs+partly-checked 1e0b5cb5f0b3 transformers-0.6.3.0/Control/Applicative/Lift.hs+formatted 578b0e3c1682 transformers-0.6.3.0/Control/Monad/Signatures.hs+partly-checked 903d26036ddf transformers-0.6.3.0/Control/Monad/Trans/Accum.hs+formatted 11c4fec8a720 transformers-0.6.3.0/Control/Monad/Trans/Class.hs+formatted f620249e716e transformers-0.6.3.0/Control/Monad/Trans/Cont.hs+partly-checked 2f38844a0b53 transformers-0.6.3.0/Control/Monad/Trans/Except.hs+partly-checked 6d8a76ff4396 transformers-0.6.3.0/Control/Monad/Trans/Identity.hs+partly-checked 992296f3d968 transformers-0.6.3.0/Control/Monad/Trans/Maybe.hs+formatted 6f7326668607 transformers-0.6.3.0/Control/Monad/Trans/RWS.hs+formatted b08c74062e9a transformers-0.6.3.0/Control/Monad/Trans/RWS/CPS.hs+partly-checked bbbde7e4b2ce transformers-0.6.3.0/Control/Monad/Trans/RWS/Lazy.hs+partly-checked 99cf9d466187 transformers-0.6.3.0/Control/Monad/Trans/RWS/Strict.hs+partly-checked b0dea6ec7a78 transformers-0.6.3.0/Control/Monad/Trans/Reader.hs+formatted b58555f08340 transformers-0.6.3.0/Control/Monad/Trans/Select.hs+formatted dc729d1936a2 transformers-0.6.3.0/Control/Monad/Trans/State.hs+partly-checked 79758bb0ea7c transformers-0.6.3.0/Control/Monad/Trans/State/Lazy.hs+partly-checked fa45dc7389ec transformers-0.6.3.0/Control/Monad/Trans/State/Strict.hs+formatted 6a9857bbd181 transformers-0.6.3.0/Control/Monad/Trans/Writer.hs+formatted 84635e677dc4 transformers-0.6.3.0/Control/Monad/Trans/Writer/CPS.hs+partly-checked 4c4d740d0f11 transformers-0.6.3.0/Control/Monad/Trans/Writer/Lazy.hs+partly-checked d70a600a810a transformers-0.6.3.0/Control/Monad/Trans/Writer/Strict.hs+partly-checked 14c7f90db739 transformers-0.6.3.0/Data/Functor/Constant.hs+partly-checked d6d1f203de5b transformers-0.6.3.0/Data/Functor/Reverse.hs+formatted e865ae48f11b transformers-0.6.3.0/Setup.hs+partly-checked d351ac859585 transformers-0.6.3.0/legacy/pre709/Data/Functor/Identity.hs+formatted ee4ba7098a5c transformers-0.6.3.0/legacy/pre711/Control/Monad/IO/Class.hs+formatted 7d9fab9a0caf transformers-0.6.3.0/legacy/pre711/Data/Functor/Classes.hs+formatted effc0109229f transformers-0.6.3.0/legacy/pre711/Data/Functor/Compose.hs+partly-checked e96184ffa2ec transformers-0.6.3.0/legacy/pre711/Data/Functor/Product.hs+formatted 87f324f0c768 transformers-0.6.3.0/legacy/pre711/Data/Functor/Sum.hs+formatted e865ae48f11b typed-process-0.2.13.0/Setup.hs+formatted c1dc4f2d5700 typed-process-0.2.13.0/src/System/Process/Typed.hs+formatted b0f50f282c25 typed-process-0.2.13.0/src/System/Process/Typed/Internal.hs+formatted 2fbd14b119a4 typed-process-0.2.13.0/test/Spec.hs+formatted 4eb03857d270 typed-process-0.2.13.0/test/System/Process/TypedSpec.hs+formatted e865ae48f11b unliftio-0.2.25.1/Setup.hs+formatted 86399961b28a unliftio-0.2.25.1/bench/ConcBench.hs+formatted 737706872ccf unliftio-0.2.25.1/src/UnliftIO.hs+formatted 713d1458fd8d unliftio-0.2.25.1/src/UnliftIO/Async.hs+formatted 5463e06f3adf unliftio-0.2.25.1/src/UnliftIO/Chan.hs+formatted 189c6c89bb81 unliftio-0.2.25.1/src/UnliftIO/Concurrent.hs+partly-checked c708a2f3ee0e unliftio-0.2.25.1/src/UnliftIO/Directory.hs+formatted 402fb486b3cf unliftio-0.2.25.1/src/UnliftIO/Environment.hs+formatted c9305d3c9be9 unliftio-0.2.25.1/src/UnliftIO/Exception.hs+formatted 945872778744 unliftio-0.2.25.1/src/UnliftIO/Exception/Lens.hs+formatted ff1234d6ddbd unliftio-0.2.25.1/src/UnliftIO/Foreign.hs+formatted a64a8ea6c117 unliftio-0.2.25.1/src/UnliftIO/IO.hs+formatted 04f7d565fc19 unliftio-0.2.25.1/src/UnliftIO/IO/File.hs+formatted 9cc05dd4f2c0 unliftio-0.2.25.1/src/UnliftIO/IO/File/Posix.hs+formatted 2688f4b976d8 unliftio-0.2.25.1/src/UnliftIO/IORef.hs+formatted ee412983b256 unliftio-0.2.25.1/src/UnliftIO/Internals/Async.hs+formatted 2e37ab380c8b unliftio-0.2.25.1/src/UnliftIO/MVar.hs+formatted 25ab39f4a7d1 unliftio-0.2.25.1/src/UnliftIO/Memoize.hs+formatted e32e1ab244cd unliftio-0.2.25.1/src/UnliftIO/Process.hs+formatted f17d64d4c913 unliftio-0.2.25.1/src/UnliftIO/QSem.hs+formatted 6e50df49a6ba unliftio-0.2.25.1/src/UnliftIO/QSemN.hs+formatted ee3bf4d22673 unliftio-0.2.25.1/src/UnliftIO/STM.hs+formatted 809c4f4424bb unliftio-0.2.25.1/src/UnliftIO/Temporary.hs+formatted 0f5f7167bc7b unliftio-0.2.25.1/src/UnliftIO/Timeout.hs+formatted 2fbd14b119a4 unliftio-0.2.25.1/test/Spec.hs+formatted 970999bb4200 unliftio-0.2.25.1/test/UnliftIO/AsyncSpec.hs+formatted dda4d2f1b5ef unliftio-0.2.25.1/test/UnliftIO/DirectorySpec.hs+formatted 500e291fb7a1 unliftio-0.2.25.1/test/UnliftIO/ExceptionSpec.hs+formatted d4a0864bfc4d unliftio-0.2.25.1/test/UnliftIO/IO/FileSpec.hs+formatted 258e4c04879b unliftio-0.2.25.1/test/UnliftIO/IOSpec.hs+formatted 68c4411ed8f4 unliftio-0.2.25.1/test/UnliftIO/MemoizeSpec.hs+formatted f878ce9da222 unliftio-0.2.25.1/test/UnliftIO/PooledAsyncSpec.hs+formatted e6cf398d7548 unordered-containers-0.2.21/Data/HashMap/Internal.hs+declined - unordered-containers-0.2.21/Data/HashMap/Internal/Array.hs+formatted 7be08d5816ff unordered-containers-0.2.21/Data/HashMap/Internal/Debug.hs+formatted 25f94316b17e unordered-containers-0.2.21/Data/HashMap/Internal/List.hs+formatted 24da0241d81f unordered-containers-0.2.21/Data/HashMap/Internal/Strict.hs+formatted a4d22b20936f unordered-containers-0.2.21/Data/HashMap/Lazy.hs+formatted b51d84ac0257 unordered-containers-0.2.21/Data/HashMap/Strict.hs+formatted d88b52d5dce2 unordered-containers-0.2.21/Data/HashSet.hs+formatted a238b77b05ef unordered-containers-0.2.21/Data/HashSet/Internal.hs+formatted e865ae48f11b unordered-containers-0.2.21/Setup.hs+formatted 31f2eba3c570 unordered-containers-0.2.21/benchmarks/Benchmarks.hs+formatted 0ed2a6102dba unordered-containers-0.2.21/benchmarks/FineGrained.hs+formatted b1cc4b50fa0e unordered-containers-0.2.21/benchmarks/Key/Bytes.hs+formatted de9c7b30da36 unordered-containers-0.2.21/benchmarks/Util/ByteString.hs+formatted 284694c5798b unordered-containers-0.2.21/benchmarks/Util/Int.hs+formatted 771e81db1b05 unordered-containers-0.2.21/benchmarks/Util/String.hs+formatted 2b26017dfa9e unordered-containers-0.2.21/tests/Main.hs+formatted 27005a00112e unordered-containers-0.2.21/tests/Properties.hs+formatted b06c5b9e0c6c unordered-containers-0.2.21/tests/Properties/HashMapLazy.hs+formatted f2a904c3a89a unordered-containers-0.2.21/tests/Properties/HashMapStrict.hs+formatted 2212e9831f16 unordered-containers-0.2.21/tests/Properties/HashSet.hs+formatted 3584a01b2cdd unordered-containers-0.2.21/tests/Properties/List.hs+formatted 54d1a11ab949 unordered-containers-0.2.21/tests/Regressions.hs+formatted d8eab8f8ddd4 unordered-containers-0.2.21/tests/Strictness.hs+formatted 00cf0a5ee0ea unordered-containers-0.2.21/tests/Util/Key.hs+formatted e865ae48f11b unpacked-containers-0/Setup.hs+formatted 8523e9d3c669 unpacked-containers-0/example/Int.hs+formatted ba3a254765ca unpacked-containers-0/example/Main.hs+formatted 941a76a7e532 unpacked-containers-0/src/Key.hsig+formatted 0ab7b95772b1 unpacked-containers-0/src/Map.hs+formatted 92369d5c9642 unpacked-containers-0/src/Map/Internal.hs+formatted 412fdc3e3871 unpacked-containers-0/src/Map/Internal/Debug.hs+formatted 88e3acab50fe unpacked-containers-0/src/Map/Lazy.hs+formatted d160eb88e766 unpacked-containers-0/src/Map/Merge/Lazy.hs+formatted 3401a14fe602 unpacked-containers-0/src/Map/Merge/Strict.hs+formatted 1da0e231433b unpacked-containers-0/src/Map/Strict.hs+formatted f41fa99a0443 unpacked-containers-0/src/Map/Strict/Internal.hs+formatted bb6c9398369f unpacked-containers-0/src/Set.hs+formatted 185a318216e6 unpacked-containers-0/src/Set/Internal.hs+formatted 867c9afd504a unpacked-containers-0/utils/Internal/BitQueue.hs+formatted bd087fcec914 unpacked-containers-0/utils/Internal/BitUtil.hs+formatted 1e6457fb908c unpacked-containers-0/utils/Internal/PtrEquality.hs+formatted 534c12741bb9 unpacked-containers-0/utils/Internal/State.hs+formatted bc7baa228863 unpacked-containers-0/utils/Internal/StrictFold.hs+formatted a772ddb0c63d unpacked-containers-0/utils/Internal/StrictMaybe.hs+formatted b7a091ef4c77 unpacked-containers-0/utils/Internal/StrictPair.hs+formatted 4a8ac51676df uuid-types-1.0.6.1/Setup.hs+formatted e97eca400518 uuid-types-1.0.6.1/src/Data/UUID/Types.hs+formatted a09b001e6a41 uuid-types-1.0.6.1/src/Data/UUID/Types/Internal.hs+formatted d63508f44841 uuid-types-1.0.6.1/src/Data/UUID/Types/Internal/Builder.hs+formatted 14a92dc8286f uuid-types-1.0.6.1/tests/TestUUID.hs+formatted e865ae48f11b vector-0.13.2.0/Setup.hs+formatted cb65eb293bd5 vector-0.13.2.0/benchlib/Bench/Vector/Algo/AwShCC.hs+formatted 8a7c35b680c0 vector-0.13.2.0/benchlib/Bench/Vector/Algo/FindIndexR.hs+formatted 7536358d3c8c vector-0.13.2.0/benchlib/Bench/Vector/Algo/HybCC.hs+formatted 31caf6daa18c vector-0.13.2.0/benchlib/Bench/Vector/Algo/Leaffix.hs+formatted c647f14c61cb vector-0.13.2.0/benchlib/Bench/Vector/Algo/ListRank.hs+formatted bbc9ffdd439f vector-0.13.2.0/benchlib/Bench/Vector/Algo/MutableSet.hs+formatted 1b5cb401e1ad vector-0.13.2.0/benchlib/Bench/Vector/Algo/NextPermutation.hs+formatted a1d4d3d489b4 vector-0.13.2.0/benchlib/Bench/Vector/Algo/Quickhull.hs+formatted cff7efe83577 vector-0.13.2.0/benchlib/Bench/Vector/Algo/Rootfix.hs+formatted bc96aa2b8cdf vector-0.13.2.0/benchlib/Bench/Vector/Algo/Spectral.hs+formatted 438dab6789ad vector-0.13.2.0/benchlib/Bench/Vector/Algo/Tridiag.hs+formatted ec97bfaffec3 vector-0.13.2.0/benchlib/Bench/Vector/Tasty.hs+formatted 368deb66d310 vector-0.13.2.0/benchlib/Bench/Vector/TestData/Graph.hs+formatted 476c4f42945a vector-0.13.2.0/benchlib/Bench/Vector/TestData/ParenTree.hs+formatted 6b1b4aea2361 vector-0.13.2.0/benchmarks/Main.hs+formatted 77ce7d3b1eda vector-0.13.2.0/internal/GenUnboxTuple.hs+formatted 50a769358a75 vector-0.13.2.0/src/Data/Vector.hs+formatted 5524402837b5 vector-0.13.2.0/src/Data/Vector/Fusion/Bundle.hs+formatted 2da6c234d40e vector-0.13.2.0/src/Data/Vector/Fusion/Bundle/Monadic.hs+formatted 281a320dd1fd vector-0.13.2.0/src/Data/Vector/Fusion/Bundle/Size.hs+formatted 8b09b3b8c680 vector-0.13.2.0/src/Data/Vector/Fusion/Stream/Monadic.hs+formatted b52b6135f86c vector-0.13.2.0/src/Data/Vector/Fusion/Util.hs+formatted 314634869762 vector-0.13.2.0/src/Data/Vector/Generic.hs+formatted 24e087932bf9 vector-0.13.2.0/src/Data/Vector/Generic/Base.hs+formatted 6b60cf7d78e7 vector-0.13.2.0/src/Data/Vector/Generic/Mutable.hs+formatted 14ab0fea35a5 vector-0.13.2.0/src/Data/Vector/Generic/Mutable/Base.hs+formatted 31ef8684e6a5 vector-0.13.2.0/src/Data/Vector/Generic/New.hs+formatted 1842a6e1d83f vector-0.13.2.0/src/Data/Vector/Internal/Check.hs+formatted 707feb375d98 vector-0.13.2.0/src/Data/Vector/Mutable.hs+formatted c77c6d8b48f1 vector-0.13.2.0/src/Data/Vector/Primitive.hs+formatted 7790a579fd85 vector-0.13.2.0/src/Data/Vector/Primitive/Mutable.hs+formatted d63a299a6982 vector-0.13.2.0/src/Data/Vector/Storable.hs+formatted f3208fa21c31 vector-0.13.2.0/src/Data/Vector/Storable/Internal.hs+formatted a312fe3ca55a vector-0.13.2.0/src/Data/Vector/Storable/Mutable.hs+formatted d056b777cb12 vector-0.13.2.0/src/Data/Vector/Strict.hs+formatted 3bc69095cb4d vector-0.13.2.0/src/Data/Vector/Strict/Mutable.hs+formatted 5a349caedbaf vector-0.13.2.0/src/Data/Vector/Unboxed.hs+formatted 1e14851054d6 vector-0.13.2.0/src/Data/Vector/Unboxed/Base.hs+formatted 58ff39d532e3 vector-0.13.2.0/src/Data/Vector/Unboxed/Mutable.hs+formatted e68c2d35dfab vector-0.13.2.0/tests-inspect/Inspect.hs+formatted 992258e8ec96 vector-0.13.2.0/tests-inspect/Inspect/DerivingVia.hs+formatted 005977089309 vector-0.13.2.0/tests-inspect/Inspect/DerivingVia/OtherFoo.hs+formatted 33f7105f6875 vector-0.13.2.0/tests-inspect/main.hs+formatted b27a545b7df5 vector-0.13.2.0/tests/Boilerplater.hs+formatted 9d758ab214f1 vector-0.13.2.0/tests/Main.hs+formatted 8061fe09f977 vector-0.13.2.0/tests/Tests/Bundle.hs+formatted 1525be7e0a46 vector-0.13.2.0/tests/Tests/Move.hs+formatted 43dd4c8d5a9c vector-0.13.2.0/tests/Tests/Vector/Boxed.hs+formatted 54a741f726e9 vector-0.13.2.0/tests/Tests/Vector/Primitive.hs+formatted 9491118bca38 vector-0.13.2.0/tests/Tests/Vector/Property.hs+formatted 89d6f5f286c7 vector-0.13.2.0/tests/Tests/Vector/Storable.hs+formatted cc9e0bc6f8e0 vector-0.13.2.0/tests/Tests/Vector/Strict.hs+formatted 891ffe33c45c vector-0.13.2.0/tests/Tests/Vector/Unboxed.hs+formatted 9a90ef543177 vector-0.13.2.0/tests/Tests/Vector/UnitTests.hs+formatted 4e35b27641cf vector-0.13.2.0/tests/Utilities.hs+formatted 88ed51490944 vector-0.13.2.0/tests/doctests.hs+formatted 5561dc5bc4a0 vector-algorithms-0.9.1.0/bench/simple/Blocks.hs+formatted 8f4b8b5057e3 vector-algorithms-0.9.1.0/bench/simple/Main.hs+formatted 3e94b6538b40 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms.hs+formatted 553211019f78 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/AmericanFlag.hs+formatted 5bc324a60b4f vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Common.hs+formatted a7c93d247f1d vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Heap.hs+formatted 385f1aecc6ac vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Insertion.hs+formatted c2cb20f40fd9 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Intro.hs+formatted 4a50f751547a vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Merge.hs+formatted 0d30a08d3940 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Optimal.hs+formatted b7b0f718deb2 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Radix.hs+formatted 47f1d28b6145 vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Search.hs+formatted 0a376532e9cb vector-algorithms-0.9.1.0/src/Data/Vector/Algorithms/Tim.hs+formatted a9ac57f13756 vector-algorithms-0.9.1.0/tests/properties/Optimal.hs+formatted b19d49d0db4b vector-algorithms-0.9.1.0/tests/properties/Properties.hs+formatted 9afd19dd61b7 vector-algorithms-0.9.1.0/tests/properties/Tests.hs+formatted 68c72976d14e vector-algorithms-0.9.1.0/tests/properties/Util.hs+formatted a090ecfca870 wai-3.2.5/Network/Wai.hs+formatted eebfbcd85364 wai-3.2.5/Network/Wai/Internal.hs+formatted 76fdb58b6d05 wai-3.2.5/test/Network/WaiSpec.hs+formatted 2fbd14b119a4 wai-3.2.5/test/Spec.hs+formatted 6ebbad2d21ce warp-3.4.15/Network/Wai/Handler/Warp.hs+formatted 009ccfac9d51 warp-3.4.15/Network/Wai/Handler/Warp/Buffer.hs+formatted f910265f50d3 warp-3.4.15/Network/Wai/Handler/Warp/Conduit.hs+formatted c978e6eb627c warp-3.4.15/Network/Wai/Handler/Warp/Counter.hs+formatted 26b005936471 warp-3.4.15/Network/Wai/Handler/Warp/Date.hs+formatted f0898462d96f warp-3.4.15/Network/Wai/Handler/Warp/FdCache.hs+formatted 5c8ff344b068 warp-3.4.15/Network/Wai/Handler/Warp/File.hs+formatted e56514093065 warp-3.4.15/Network/Wai/Handler/Warp/FileInfoCache.hs+formatted 73ea52fed850 warp-3.4.15/Network/Wai/Handler/Warp/HTTP1.hs+formatted 6099d557a8b5 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2.hs+formatted a7debda99dd6 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/File.hs+formatted cd7ebbac04db warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/PushPromise.hs+formatted 40821f53b1d9 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/Request.hs+formatted 831c4440cde7 warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/Response.hs+formatted 40e59aa92ecc warp-3.4.15/Network/Wai/Handler/Warp/HTTP2/Types.hs+formatted 69c55babd99e warp-3.4.15/Network/Wai/Handler/Warp/HashMap.hs+formatted 8abbc71d629a warp-3.4.15/Network/Wai/Handler/Warp/Header.hs+formatted a036771b5a25 warp-3.4.15/Network/Wai/Handler/Warp/IO.hs+formatted d92af26eb2ec warp-3.4.15/Network/Wai/Handler/Warp/Imports.hs+formatted 98f2e1cfdade warp-3.4.15/Network/Wai/Handler/Warp/Internal.hs+formatted e8583e08a2e4 warp-3.4.15/Network/Wai/Handler/Warp/MultiMap.hs+formatted ed16ebc20147 warp-3.4.15/Network/Wai/Handler/Warp/PackInt.hs+formatted 22e5a5d6d3c9 warp-3.4.15/Network/Wai/Handler/Warp/ReadInt.hs+formatted e29d1517c375 warp-3.4.15/Network/Wai/Handler/Warp/Request.hs+formatted c7905b72682b warp-3.4.15/Network/Wai/Handler/Warp/RequestHeader.hs+formatted 9b74f110bcea warp-3.4.15/Network/Wai/Handler/Warp/Response.hs+formatted 27cae25ae83a warp-3.4.15/Network/Wai/Handler/Warp/ResponseHeader.hs+formatted 0f91ea78f24d warp-3.4.15/Network/Wai/Handler/Warp/Run.hs+formatted 47a04a642ad1 warp-3.4.15/Network/Wai/Handler/Warp/SendFile.hs+formatted 1df580e8094c warp-3.4.15/Network/Wai/Handler/Warp/Settings.hs+formatted bc4925a06045 warp-3.4.15/Network/Wai/Handler/Warp/ShuttingDown.hs+formatted de1fe97e941a warp-3.4.15/Network/Wai/Handler/Warp/Types.hs+formatted f1ff20ab87da warp-3.4.15/Network/Wai/Handler/Warp/Windows.hs+formatted 2bef9620132e warp-3.4.15/Network/Wai/Handler/Warp/WithApplication.hs+formatted f3a2c7ee7659 warp-3.4.15/bench/Parser.hs+formatted 8f739e595518 warp-3.4.15/test/BufferSpec.hs+formatted 6d25fc643699 warp-3.4.15/test/ConduitSpec.hs+formatted 103842d1ec84 warp-3.4.15/test/ConnectionSpec.hs+formatted 3f7b8c3f5246 warp-3.4.15/test/EarlyHintsSpec.hs+formatted 04c0408bb90a warp-3.4.15/test/ExceptionSpec.hs+formatted 6da076d7c2ae warp-3.4.15/test/FdCacheSpec.hs+formatted f91844cc6a8f warp-3.4.15/test/FileSpec.hs+formatted 0ba618e41ab1 warp-3.4.15/test/GracefulShutdownSpec.hs+formatted 4d81d4cdb7c7 warp-3.4.15/test/HTTP.hs+formatted 70bab0349402 warp-3.4.15/test/PackIntSpec.hs+formatted c0ed531ac6d7 warp-3.4.15/test/ReadIntSpec.hs+formatted 203ea20f13bf warp-3.4.15/test/RequestSpec.hs+formatted 4ef55f7e523c warp-3.4.15/test/ResponseHeaderSpec.hs+formatted ac591a85b19f warp-3.4.15/test/ResponseSpec.hs+formatted 190ad2e064b1 warp-3.4.15/test/RunSpec.hs+formatted 12d7c8bf7283 warp-3.4.15/test/SendFileSpec.hs+formatted 56bf11ebdf68 warp-3.4.15/test/ServerStateSpec.hs+formatted 2fbd14b119a4 warp-3.4.15/test/Spec.hs+formatted 6239c41d8ad7 warp-3.4.15/test/WithApplicationSpec.hs+formatted c61ebeab72e9 warp-3.4.15/test/doctests.hs+formatted c3a0978b358e xmonad-0.18.1/Main.hs+formatted ecba01b7187b xmonad-0.18.1/man/xmonad.hs+formatted 3b6f53962e81 xmonad-0.18.1/src/XMonad.hs+formatted a8a2516e84e9 xmonad-0.18.1/src/XMonad/Config.hs+formatted 9aa143cf0593 xmonad-0.18.1/src/XMonad/Core.hs+formatted 678fc26f9299 xmonad-0.18.1/src/XMonad/Layout.hs+formatted 68ebe2886589 xmonad-0.18.1/src/XMonad/Main.hs+formatted fececd53a9f5 xmonad-0.18.1/src/XMonad/ManageHook.hs+formatted e11a33d9123d xmonad-0.18.1/src/XMonad/Operations.hs+formatted 92d9b2f9aecb xmonad-0.18.1/src/XMonad/StackSet.hs+formatted 710ec0764541 xmonad-0.18.1/tests/Instances.hs+formatted 150f94b8a646 xmonad-0.18.1/tests/Properties.hs+formatted b9cbebbac632 xmonad-0.18.1/tests/Properties/Delete.hs+formatted 2b2b85b4c7fe xmonad-0.18.1/tests/Properties/Failure.hs+formatted 2825306e83f9 xmonad-0.18.1/tests/Properties/Floating.hs+formatted ae9be34908bc xmonad-0.18.1/tests/Properties/Focus.hs+formatted 1418915d6ac8 xmonad-0.18.1/tests/Properties/GreedyView.hs+formatted 74ca5ec847bb xmonad-0.18.1/tests/Properties/Insert.hs+formatted 2d0f361b70f7 xmonad-0.18.1/tests/Properties/Layout/Full.hs+formatted af6a26b0fa64 xmonad-0.18.1/tests/Properties/Layout/Tall.hs+formatted 65709ceae761 xmonad-0.18.1/tests/Properties/Screen.hs+formatted 13ed9089c892 xmonad-0.18.1/tests/Properties/Shift.hs+formatted 879d6f9db8a2 xmonad-0.18.1/tests/Properties/Stack.hs+formatted ba836152eb5d xmonad-0.18.1/tests/Properties/StackSet.hs+formatted 4372dd576612 xmonad-0.18.1/tests/Properties/Swap.hs+formatted f6f63b59cfb0 xmonad-0.18.1/tests/Properties/View.hs+formatted cd8d73c03759 xmonad-0.18.1/tests/Properties/Workspace.hs+formatted 4e65334f7f2a xmonad-0.18.1/tests/Utils.hs+formatted d8adcc5e8871 yesod-core-1.7.0.0/bench/widget.hs+formatted 810a9b2932db yesod-core-1.7.0.0/src/Yesod/Core.hs+formatted 76a91abab9c7 yesod-core-1.7.0.0/src/Yesod/Core/Class/Breadcrumbs.hs+formatted d94322757109 yesod-core-1.7.0.0/src/Yesod/Core/Class/Dispatch.hs+formatted 4e0e4c27884b yesod-core-1.7.0.0/src/Yesod/Core/Class/Dispatch/ToParentRoute.hs+formatted 96d18ec66a91 yesod-core-1.7.0.0/src/Yesod/Core/Class/Handler.hs+formatted 55ca7aed8601 yesod-core-1.7.0.0/src/Yesod/Core/Class/Yesod.hs+formatted 7b7185683c72 yesod-core-1.7.0.0/src/Yesod/Core/Content.hs+formatted bc567e14f9ae yesod-core-1.7.0.0/src/Yesod/Core/Dispatch.hs+formatted dad160e4138f yesod-core-1.7.0.0/src/Yesod/Core/Handler.hs+formatted 88d4d8c2323a yesod-core-1.7.0.0/src/Yesod/Core/Internal.hs+formatted 212235b50682 yesod-core-1.7.0.0/src/Yesod/Core/Internal/LiteApp.hs+formatted b02eb40e75c3 yesod-core-1.7.0.0/src/Yesod/Core/Internal/Request.hs+formatted f6b39e51d0e8 yesod-core-1.7.0.0/src/Yesod/Core/Internal/Response.hs+formatted 356a82e11c3e yesod-core-1.7.0.0/src/Yesod/Core/Internal/Run.hs+formatted da5ec533b3d0 yesod-core-1.7.0.0/src/Yesod/Core/Internal/Session.hs+formatted a3a034ad73c8 yesod-core-1.7.0.0/src/Yesod/Core/Internal/TH.hs+formatted a4d70c77b953 yesod-core-1.7.0.0/src/Yesod/Core/Internal/Util.hs+formatted 3c6023c01f8d yesod-core-1.7.0.0/src/Yesod/Core/Json.hs+formatted 3d3ea6cd2254 yesod-core-1.7.0.0/src/Yesod/Core/TypeCache.hs+formatted 69979bd29865 yesod-core-1.7.0.0/src/Yesod/Core/Types.hs+formatted 38102a09e32a yesod-core-1.7.0.0/src/Yesod/Core/Types/Content.hs+formatted 49991219fbf5 yesod-core-1.7.0.0/src/Yesod/Core/Types/ErrorResponse.hs+formatted 2f42d728713c yesod-core-1.7.0.0/src/Yesod/Core/Types/HandlerContents.hs+formatted eea90c376092 yesod-core-1.7.0.0/src/Yesod/Core/Types/TypedContent.hs+formatted abfe32d3eadd yesod-core-1.7.0.0/src/Yesod/Core/Unsafe.hs+formatted 1620502b047c yesod-core-1.7.0.0/src/Yesod/Core/Widget.hs+formatted b35c9ac0daff yesod-core-1.7.0.0/src/Yesod/Routes/Class.hs+formatted 230bf54c2b5c yesod-core-1.7.0.0/src/Yesod/Routes/Overlap.hs+formatted ca6f61d82ac7 yesod-core-1.7.0.0/src/Yesod/Routes/Parse.hs+formatted 7bcf63c3b7e5 yesod-core-1.7.0.0/src/Yesod/Routes/TH.hs+formatted d14da8f68696 yesod-core-1.7.0.0/src/Yesod/Routes/TH/Dispatch.hs+formatted ecd2aee91940 yesod-core-1.7.0.0/src/Yesod/Routes/TH/Internal.hs+formatted 28cf4bff1605 yesod-core-1.7.0.0/src/Yesod/Routes/TH/ParseRoute.hs+formatted fd3fd980369e yesod-core-1.7.0.0/src/Yesod/Routes/TH/RenderRoute.hs+formatted f162f96e2b36 yesod-core-1.7.0.0/src/Yesod/Routes/TH/RouteAttrs.hs+formatted d689ca250357 yesod-core-1.7.0.0/src/Yesod/Routes/TH/Types.hs+formatted 4cf83d0b0f07 yesod-core-1.7.0.0/test/Hierarchy.hs+formatted acf61854d2ec yesod-core-1.7.0.0/test/Hierarchy/Admin.hs+formatted 38126f8a1ed6 yesod-core-1.7.0.0/test/Hierarchy/Nest.hs+formatted a739150f03f1 yesod-core-1.7.0.0/test/Hierarchy/Nest2.hs+formatted 1998d7e7b6f0 yesod-core-1.7.0.0/test/Hierarchy/Nest2/NestInner.hs+formatted 6e683051218c yesod-core-1.7.0.0/test/Hierarchy/Nest3.hs+formatted 8f1d12dc181e yesod-core-1.7.0.0/test/Hierarchy/ResourceTree.hs+formatted f70ab72cd608 yesod-core-1.7.0.0/test/Route/DeepAritySpec.hs+formatted 1a22181a9cf2 yesod-core-1.7.0.0/test/Route/DeepArityTypes.hs+formatted 6cf89c893af0 yesod-core-1.7.0.0/test/Route/DiscoveryModeSpec.hs+formatted 8742e593c3d0 yesod-core-1.7.0.0/test/Route/FallthroughSpec.hs+formatted 83547078da44 yesod-core-1.7.0.0/test/Route/FocusLeafConsSpec.hs+formatted b96279c392b7 yesod-core-1.7.0.0/test/Route/InlineParseClausesSpec.hs+formatted 3a68d4c4db75 yesod-core-1.7.0.0/test/Route/InstanceProbeSpec.hs+formatted 5f762e160869 yesod-core-1.7.0.0/test/Route/InstanceProbeTypes.hs+formatted 54180e9629d7 yesod-core-1.7.0.0/test/Route/MissingFocusTargetSpec.hs+formatted 4ca53b8c21db yesod-core-1.7.0.0/test/Route/MissingFocusTargetTypes.hs+formatted c4733044c565 yesod-core-1.7.0.0/test/Route/NestedParseClausesSpec.hs+formatted 96c9db79de94 yesod-core-1.7.0.0/test/Route/PureQ.hs+formatted 1084d2ca990f yesod-core-1.7.0.0/test/Route/RenderRouteSpec.hs+formatted 5cf00838dae7 yesod-core-1.7.0.0/test/Route/RouteAttrSpec.hs+formatted 9303c7a203b3 yesod-core-1.7.0.0/test/Route/SubDispatchAritySpec.hs+formatted f355aa443a8a yesod-core-1.7.0.0/test/RouteSpec.hs+formatted 186318ce7e7a yesod-core-1.7.0.0/test/YesodCoreTest.hs+formatted f0034c742a78 yesod-core-1.7.0.0/test/YesodCoreTest/Auth.hs+formatted 3a700bfeb45e yesod-core-1.7.0.0/test/YesodCoreTest/BangSeparatorRuntime.hs+formatted e22fa3279a0b yesod-core-1.7.0.0/test/YesodCoreTest/Breadcrumb.hs+formatted 3380dd13fc46 yesod-core-1.7.0.0/test/YesodCoreTest/Cache.hs+formatted 01cab2974794 yesod-core-1.7.0.0/test/YesodCoreTest/CleanPath.hs+formatted 36a004c6a4e3 yesod-core-1.7.0.0/test/YesodCoreTest/Content.hs+formatted 25b4b6405959 yesod-core-1.7.0.0/test/YesodCoreTest/Csrf.hs+formatted b5d6ec2cfe62 yesod-core-1.7.0.0/test/YesodCoreTest/ErrorHandling.hs+formatted d369eb73b47a yesod-core-1.7.0.0/test/YesodCoreTest/ErrorHandling/CustomApp.hs+formatted 59bcbb168336 yesod-core-1.7.0.0/test/YesodCoreTest/Exceptions.hs+formatted 82e178e31f61 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughDispatch/Resources.hs+formatted e4f8f0ea3e72 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughDispatch/Runtime.hs+formatted 4d5c1d9a3551 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughMatrix/FirstFoo.hs+formatted bd497866625d yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughMatrix/Resources.hs+formatted 8c70739a50e7 yesod-core-1.7.0.0/test/YesodCoreTest/FallthroughMatrix/Runtime.hs+formatted 69eb694028b1 yesod-core-1.7.0.0/test/YesodCoreTest/Header.hs+formatted 58f029383018 yesod-core-1.7.0.0/test/YesodCoreTest/InternalRequest.hs+formatted f7afe29ae117 yesod-core-1.7.0.0/test/YesodCoreTest/JsAttributes.hs+formatted 84646813873d yesod-core-1.7.0.0/test/YesodCoreTest/JsLoader.hs+formatted f8cdd188f370 yesod-core-1.7.0.0/test/YesodCoreTest/JsLoaderSites/Bottom.hs+formatted bda9b1f5f2d2 yesod-core-1.7.0.0/test/YesodCoreTest/Json.hs+formatted 23181a127cee yesod-core-1.7.0.0/test/YesodCoreTest/Links.hs+formatted ab54e89c96fb yesod-core-1.7.0.0/test/YesodCoreTest/LiteApp.hs+formatted 418e263ba672 yesod-core-1.7.0.0/test/YesodCoreTest/Media.hs+formatted 0078c3a7e79d yesod-core-1.7.0.0/test/YesodCoreTest/MediaData.hs+formatted 46b0e2d1153d yesod-core-1.7.0.0/test/YesodCoreTest/Meta.hs+formatted d8beeb52123f yesod-core-1.7.0.0/test/YesodCoreTest/MultiPieceNestedRuntime.hs+formatted fb29902bb9c5 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/InnerR.hs+formatted 4c9ceb4fb663 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/NestR.hs+formatted 4aed48f429ab yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Parent0R.hs+formatted 0f8ca6cd8fe6 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Parent0R/Child0R.hs+formatted 762195ad3d8f yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/ParentR.hs+formatted 7587ed701299 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Resources.hs+formatted a5347308f9b0 yesod-core-1.7.0.0/test/YesodCoreTest/NestedDispatch/Runtime.hs+formatted 2c72e04ebbc2 yesod-core-1.7.0.0/test/YesodCoreTest/NoOverloadedStrings.hs+formatted 320b6668f0c5 yesod-core-1.7.0.0/test/YesodCoreTest/NoOverloadedStringsSub.hs+formatted ab80a9a09e84 yesod-core-1.7.0.0/test/YesodCoreTest/ParamDefaultSplit/Data.hs+formatted a8472a7588f7 yesod-core-1.7.0.0/test/YesodCoreTest/ParamDefaultSplit/Runtime.hs+formatted 3b1830a98315 yesod-core-1.7.0.0/test/YesodCoreTest/ParamFallthroughRuntime.hs+formatted 9191317f2178 yesod-core-1.7.0.0/test/YesodCoreTest/ParamFocusSplit/Resources.hs+formatted 0d171db106f1 yesod-core-1.7.0.0/test/YesodCoreTest/ParamFocusSplit/Runtime.hs+formatted 6f7510d0b57c yesod-core-1.7.0.0/test/YesodCoreTest/ParamFocusSplit/SubR.hs+formatted 46dbd15fa23d yesod-core-1.7.0.0/test/YesodCoreTest/ParamNestedNoFallthroughRuntime.hs+formatted 32c5372b9148 yesod-core-1.7.0.0/test/YesodCoreTest/ParamNoExplicitArgs.hs+formatted 30470908614f yesod-core-1.7.0.0/test/YesodCoreTest/ParamNoFallthroughRuntime.hs+formatted cf6ee78ba4ee yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/Data.hs+formatted e0dfb958d109 yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/InstanceRuntime.hs+formatted 3597a9c3f0b7 yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/SplitNested.hs+formatted f8d1220c3bf2 yesod-core-1.7.0.0/test/YesodCoreTest/ParamSubsite/SplitRuntime.hs+formatted 1981b86c26db yesod-core-1.7.0.0/test/YesodCoreTest/ParamTopLevelRuntime.hs+formatted f991cd7adeb7 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite.hs+formatted 0476a7be2abf yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/Compat.hs+formatted b2b143cf4a47 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/PolyAny.hs+formatted eb56902b1432 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/PolyShow.hs+formatted acaebbfebc7a yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSite/SubRoute.hs+formatted 48e797fc7ef7 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubData.hs+formatted 18a74bf9331c yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatch.hs+formatted eb2ad79d2f60 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatch/Data.hs+formatted c0c9e30ebea8 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatchRuntime.hs+formatted 09c5b840c977 yesod-core-1.7.0.0/test/YesodCoreTest/ParameterizedSubDispatchRuntime/Data.hs+formatted 4555e2245690 yesod-core-1.7.0.0/test/YesodCoreTest/RawResponse.hs+formatted 03a668e5cea8 yesod-core-1.7.0.0/test/YesodCoreTest/Redirect.hs+formatted ddda63d607db yesod-core-1.7.0.0/test/YesodCoreTest/RenderRouteSpec.hs+formatted 139e78486aea yesod-core-1.7.0.0/test/YesodCoreTest/RenderRouteSpec/TH.hs+formatted 1db9d98dbf8c yesod-core-1.7.0.0/test/YesodCoreTest/Reps.hs+formatted e18610f848a2 yesod-core-1.7.0.0/test/YesodCoreTest/RequestBodySize.hs+formatted bf72ad1f5d18 yesod-core-1.7.0.0/test/YesodCoreTest/RuntimeHarness.hs+formatted e78bf62c9259 yesod-core-1.7.0.0/test/YesodCoreTest/SplitSubsite/Data.hs+formatted df70dd2651a7 yesod-core-1.7.0.0/test/YesodCoreTest/SplitSubsite/NestedR.hs+formatted a55ad04cebf6 yesod-core-1.7.0.0/test/YesodCoreTest/SplitSubsite/Runtime.hs+formatted a05df238a9e5 yesod-core-1.7.0.0/test/YesodCoreTest/Ssl.hs+formatted 203d5f3df4f0 yesod-core-1.7.0.0/test/YesodCoreTest/Streaming.hs+formatted 4a163efbc574 yesod-core-1.7.0.0/test/YesodCoreTest/StubLaxSameSite.hs+formatted 5831f923349c yesod-core-1.7.0.0/test/YesodCoreTest/StubSslOnly.hs+formatted 6510112ce4b4 yesod-core-1.7.0.0/test/YesodCoreTest/StubStrictSameSite.hs+formatted 9cb2274c1880 yesod-core-1.7.0.0/test/YesodCoreTest/StubUnsecured.hs+formatted 7b7f0025954e yesod-core-1.7.0.0/test/YesodCoreTest/SubSub.hs+formatted b9e29405eb1b yesod-core-1.7.0.0/test/YesodCoreTest/SubSubData.hs+formatted dbed829ecef5 yesod-core-1.7.0.0/test/YesodCoreTest/SubsiteFallthrough/Data.hs+formatted d10fd62ff3f7 yesod-core-1.7.0.0/test/YesodCoreTest/SubsiteFallthrough/Nested.hs formatted d5e98e912280 yesod-core-1.7.0.0/test/YesodCoreTest/SubsiteFallthrough/Runtime.hs formatted fffa6b1eb3e9 yesod-core-1.7.0.0/test/YesodCoreTest/SubsiteOptsFallthrough/Data.hs formatted a30c02d77457 yesod-core-1.7.0.0/test/YesodCoreTest/SubsiteOptsFallthrough/Runtime.hs
@@ -1,349 +1,6 @@-Why every example of this corpus that is not `formatted` is not.--Generated beside the manifest, and compared against nothing: this-file is the work list, and it is free to say as much as it likes.--5202 examples, 5137 formatted.--==========================================================================-broken (8)-==========================================================================--Agda-2.8.0/src/full/Agda/TypeChecking/Conversion.hs- a configuration of the output does not parse: 2240:17: parse error (possibly incorrect indentation or mismatched brackets)- 2236 blocker = getBlocker s1b- 2237 -- Jesper, 2019-12-27: SizeUniv is disabled at the moment.- 2238 if- 2239 {- sizedTypesEnabled || -} | propEnabled || cubicalEnabled ->- > 2240 case funSort' s1 (Type l2) of- 2241 -- If the work we did makes the @funSort@ compute,- 2242 -- continue working.- 2243 Right s -> equalSort (Type l) s- 2244 -- Otherwise: postpone- - --- input- +++ output- @@ -1,137 +1,131 @@- {-# LANGUAGE CPP #-}- {-# LANGUAGE NondecreasingIndentation #-}- -- #if __GLASGOW_HASKELL__ >= 810- {-# OPTIONS_GHC -fmax-pmcheck-models=390 #-} -- Andreas, 2023-05-12, limit determined by binary search- #endif- - module Agda.TypeChecking.Conversion where- - -import Control.Arrow (second)- -import Control.Monad.Except ( MonadError(..) )- -- -import Data.Function (on)- -import Data.Semigroup ((<>))- -import Data.IntMap (IntMap)- -- -import qualified Data.List as List- -import qualified Data.IntMap as IntMap- -import qualified Data.IntSet as IntSet- -import qualified Data.Set as Set- -- +import Agda.Interaction.Options- import Agda.Syntax.Common- +import Agda.Syntax.Common.Pretty (prettyShow)- import Agda.Syntax.Internal- import Agda.Syntax.Internal.MetaVars- import Agda.Syntax.Translation.InternalToAbstract (reify)- -- -import Agda.TypeChecking.Monad- -import Agda.TypeChecking.MetaVars- -import Agda.TypeChecking.MetaVars.Occurs (killArgs,PruneResult(..),rigidVarsNotContainedIn)- -import Agda.TypeChecking.Names- -import Agda.TypeChecking.Reduce- -import Agda.TypeChecking.Substitute- -import qualified Agda.TypeChecking.SyntacticEquality as SynEq- -import Agda.TypeChecking.Telescope- import Agda.TypeChecking.Constraints- import Agda.TypeChecking.Conversion.Pure (pureCompareAs, runPureConversion)- +import Agda.TypeChecking.Da--ansi-terminal-1.1.5/win/System/Console/ANSI/Windows/Foreign.hs- comments, in one configuration: `{-\ntypedef struct _KEY_EVENT_RECORD {\n BOOL bKeyDown;\n WORD wRepeatCount;\n WORD wVirtualKeyCode;\n WORD wVirtualScanCode;\n union {\n WCHAR UnicodeChar;\n CHAR AsciiChar;\n } uChar;\n DWORD dwControlKeyState;\n}\n\n/* gcc's alignment is not what win32 expects */\n PACKED\n\nKEY_EVENT_RECORD;\n-}` became `{-\ntypedef struct _KEY_EVENT_RECORD {\n BOOL bKeyDown;\n WORD wRepeatCount;\n WORD wVirtualKeyCode;\n WORD wVirtualScanCode;\n union {\n WCHAR UnicodeChar;\n CHAR AsciiChar;\n } uChar;\n DWORD dwControlKeyState;\n}\n\n\n/* gcc's alignment is not what win32 expects */\n PACKED\n\n\n\n\n\n\n\nKEY_EVENT_RECORD;\n-}`- --- input- +++ output- @@ -1,51 +1,62 @@- {-# LANGUAGE DeriveDataTypeable #-}- -{-# LANGUAGE RankNTypes #-}- -{-# LANGUAGE Trustworthy #-}- +{-# LANGUAGE RankNTypes #-}- +{-# LANGUAGE Trustworthy #-}- - module System.Console.ANSI.Windows.Foreign- - (- - INPUT_RECORD (..)- - , INPUT_RECORD_EVENT (..)- - , KEY_EVENT_RECORD (..)- - , getNumberOfConsoleInputEvents- - , readConsoleInput- - , cWcharsToChars- - , unicodeAsciiChar- - , eNABLE_VIRTUAL_TERMINAL_PROCESSING- - , iNVALID_HANDLE_VALUE- - , nullHANDLE- - , getConsoleMode- - , setConsoleMode- - ) where- + ( INPUT_RECORD (..),- + INPUT_RECORD_EVENT (..),- + KEY_EVENT_RECORD (..),- + getNumberOfConsoleInputEvents,- + readConsoleInput,- + cWcharsToChars,- + unicodeAsciiChar,- + eNABLE_VIRTUAL_TERMINAL_PROCESSING,- + iNVALID_HANDLE_VALUE,- + nullHANDLE,- + getConsoleMode,- + setConsoleMode,- + )- +where- - -import Control.Exception ( Exception )- -import Data.Char ( chr )- -import Data.Typeable ( Typeable )- -import Data.Word ( Word32 )- -import Foreign.C.Types ( CWchar (..) )- -import Foreign.Marshal.Alloc ( alloca )- -import Foreign.Marshal.Array ( allocaArray, peekArray, pokeArray )- -import Foreign.Ptr ( Ptr, castPtr, plusPtr, nullPtr )- -import Foreign.Storable ( Storable (..) )- +import Control.Exception (Exception)- +import Data.Char (chr)- +--dlist-1.0/Data/DList.hs- a configuration of the input does not parse: 54:13: parse error on input `Nil'- --- input- +++ output- @@ -1,6 +1,5 @@- {- ORMOLU_DISABLE -}- {-# LANGUAGE CPP #-}- -- -- CPP: GHC >= 7.8 && <= 8 for 'pattern' required in the export list- #if __GLASGOW_HASKELL__ >= 708 && __GLASGOW_HASKELL__ < 800- {-# LANGUAGE PatternSynonyms #-}- @@ -41,23 +40,33 @@- - module Data.DList- ( -- * Difference List Type- -- --- CPP: GHC >= 8 for pattern synonyms allowed in the constructor- #if __GLASGOW_HASKELL__ >= 800- +- + -- CPP: GHC >= 8 for pattern synonyms allowed in the constructor- DList (Nil, Cons),- +- + -- * Conversion- #else- +- + -- CPP: GHC >= 8 for pattern synonyms allowed in the constructor- DList,- - --- CPP: GHC >= 7.8 && <= 8 for 'pattern' required in the export list- #if __GLASGOW_HASKELL__ >= 708- +- + -- CPP: GHC >= 7.8 && <= 8 for 'pattern' required in the export list- +- -- ** Bundled Patterns- pattern Nil,- pattern Cons,- -#endif- - -#endif- + -- * Conversion- +#else- - + -- CPP: GHC >= 7.8 && <= 8 for 'pattern' required in the export list- +- -- * Conversion- +#endif- +#endif- fromList,- toList,- apply,--hashable-1.5.1.0/tests/Regress.hs- formatting changed how many configurations there are, from 6 to 8- --- input- +++ output- @@ -4,126 +4,190 @@- - module Regress (regressions) where- - -import Test.Tasty (TestTree, testGroup)- import Control.Monad (when)- -import Test.Tasty.HUnit (testCase, Assertion, assertFailure, (@?=))- -import Test.Tasty.QuickCheck (testProperty)- -import GHC.Generics (Generic)- -import Data.List (nub)- -import Data.Fixed (Pico)- -import Data.Text (Text)- import Data.ByteString (ByteString)- -- -import qualified Data.Text.Lazy as TL- import qualified Data.ByteString.Char8 as BS8- import qualified Data.ByteString.Lazy as BSL- import qualified Data.ByteString.Lazy.Char8 as BSL8- -- +import Data.Fixed (Pico)- +import Data.List (nub)- +import Data.Text (Text)- +import qualified Data.Text.Lazy as TL- +import GHC.Generics (Generic)- +import Test.Tasty (TestTree, testGroup)- +import Test.Tasty.HUnit (Assertion, assertFailure, testCase, (@?=))- +import Test.Tasty.QuickCheck (testProperty)- #ifdef HAVE_MMAP- import qualified Regress.Mmap as Mmap- #endif- -- import Data.Hashable- - #include "MachDeps.h"- - -assertInequal :: Eq a => String -> a -> a -> Assertion- +assertInequal :: (Eq a) => String -> a -> a -> Assertion- assertInequal msg x y- - | x == y = assertFailure msg- - | otherwise = return ()- + | x == y = assertFailure msg- + | otherwise = return ()- - regressions :: [TestTree]- -regressions = [] ++- +regressions =- + []- #ifdef HAVE_MMAP- - Mmap.regressions ++- - [ testCase "Fixed" $ do- - (hash (1 :: Pico) == hash (2 :: Pico)) @?= False- - ] ++- -#endif- - [ testGroup "Generic: sum of nullary constructors"- - [ testCase "0" $ nullaryCase 0 S0- - , testCase "1" $ nullaryCase 1 S1- - , testCase "2" $ nullaryCase 2 S2- - , testCase "3" $ nullaryCase 3 S3- - , testCase "4" $ nullaryCase 4 S4- - ]- … and 214 more lines--hspec-core-2.11.17/src/Test/Hspec/Core/Compat.hs- formatting is non-idempotent- --- first pass- +++ second pass- @@ -78,17 +78,21 @@- #endif- import Control.Concurrent- import Data.Bool as Imports (bool)- +#ifndef __MHS__- +import GHC.IO.Exception- + ( IOErrorType (..),- + ioe_type,- + )- +#endif- import System.Environment as Imports (lookupEnv)- -import Text.Read as Imports (readMaybe)- -import- #ifndef __MHS__- - GHC.IO.Exception- #else- - System.IO.Error- -#endif- +import System.IO.Error- ( IOErrorType (..),- ioe_type,- )- +#endif- +import Text.Read as Imports (readMaybe)- - isUnsupportedOperation :: IOError -> Bool- isUnsupportedOperation e = ioe_type e == UnsupportedOperation--idris-1.3.4/src/Idris/AbsSyntax.hs- formatting is non-idempotent- --- first pass- +++ second pass- @@ -1517,9 +1517,8 @@- mkShadow (NS x s) = NS (mkShadow x) s- - en ::- - Int -- \^ The quotation level - only transform terms that are used, not terms- - -- that are merely mentioned.- - ->- + Int -> -- \^ The quotation level - only transform terms that are used, not terms- + -- that are merely mentioned.- PTerm ->- PTerm- en 0 (PLam fc n nfc t s)--leksah-0.16.2.2/src/IDE/Pane/PackageEditor.hs- the output cannot be formatted again: too many configurations to format+Hackage modules that currently do not format cleanly. -lens-5.3.6/src/Control/Exception/Lens.hs- comments, in one configuration: `{-\n$setup\n>>> :set -XNoOverloadedStrings\n>>> :set -XScopedTypeVariables\n>>> import Control.Lens\n>>> import Control.Applicative\n>>> :m + Control.Exception Control.Monad Data.List Prelude\n\n>>> :m + Control.Exception.Context\n\n-}` became `{-\n$setup\n>>> :set -XNoOverloadedStrings\n>>> :set -XScopedTypeVariables\n>>> import Control.Lens\n>>> import Control.Applicative\n>>> :m + Control.Exception Control.Monad Data.List Prelude\n\n\n>>> :m + Control.Exception.Context\n\n\n\n\n\n\n-}`- --- input- +++ output- @@ -1,12 +1,11 @@- {-# LANGUAGE CPP #-}- -{-# LANGUAGE Rank2Types #-}- {-# LANGUAGE FlexibleInstances #-}- -{-# LANGUAGE ScopedTypeVariables #-}- {-# LANGUAGE MultiParamTypeClasses #-}- -{-# LANGUAGE NoMonomorphismRestriction #-}- {-# LANGUAGE PatternSynonyms #-}- +{-# LANGUAGE Rank2Types #-}- +{-# LANGUAGE ScopedTypeVariables #-}- {-# LANGUAGE ViewPatterns #-}- -- +{-# LANGUAGE NoMonomorphismRestriction #-}- #ifdef TRUSTWORTHY- {-# LANGUAGE Trustworthy #-}- #endif- @@ -14,6 +13,7 @@- #include "lens-common.h"- - ------------------------------------------------------------------------------ +- -- |- -- Module : Control.Exception.Lens- -- Copyright : (C) 2012-16 Edward Kmett- @@ -31,139 +31,177 @@- -- The combinators in this module have been generalized to work with- -- 'MonadCatch' instead of just 'Prelude.IO'. This enables them to be used- -- more easily in 'Monad' transformer stacks.- +- ----------------------------------------------------------------------------- module Control.Exception.Lens- - (- - -- * Handling- - catching, catching_- - , handling, handling_- - -- * Trying- - , trying, trying_- - -- * Throwing- - , throwing- - , throwing_- - , throwingM- - , throwingTo- - -- * Mapping- - , mappedException, mappedException'- - -- * Exceptions- - , exception- - , pattern Exception- - -- * Exception Handlers- - , Handleable(..)- - -- ** IOExceptions- - , AsIOException(..)- - , pattern IOException_- - -- ** Arithmetic Exception+5240 examples, 5188 formatted. ========================================================================== does-not-parse (1)@@ -354,27 +11,69 @@ Did you mean to add a space after the '!'? ==========================================================================-partly-checked (25)+partly-checked (41) ========================================================================== +Agda-2.8.0/src/full/Agda/Main.hs+ 128 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared+ QuickCheck-2.18.0.0/src/Test/QuickCheck.hs 512 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared +QuickCheck-2.18.0.0/src/Test/QuickCheck/Arbitrary.hs+ 55296 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared+ QuickCheck-2.18.0.0/src/Test/QuickCheck/Exception.hs 192 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared +QuickCheck-2.18.0.0/src/Test/QuickCheck/Function.hs+ 4096 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared+ async-2.2.6/Control/Concurrent/Async/Internal.hs 1024 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared cryptonite-0.30/Crypto/Number/Compat.hs 180 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared +dlist-1.0/Data/DList/Internal.hs+ 512 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++fsnotify-0.4.4.0/test/FSNotify/Test/Util.hs+ 384 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++hashable-1.5.1.0/src/Data/Hashable/Class.hs+ 4608 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared+ hspec-core-2.11.17/vendor/async-2.2.5/Control/Concurrent/Async.hs 256 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared intero-0.1.40/src/GhciInfo.hs 72 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared +intero-0.1.40/src/Main.hs+ 1536 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++lens-5.3.6/src/Control/Lens/Wrapped.hs+ 538968064 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++lens-5.3.6/src/Language/Haskell/TH/Lens.hs+ 6291456 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++microlens-0.5.0.0/src/Lens/Micro.hs+ 128 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++microlens-0.5.0.0/src/Lens/Micro/Internal.hs+ 96 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++optics-0.4.2.1/tests/Optics/Tests/Utils.hs+ 2048 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++semigroupoids-6.0.2/src/Data/Functor/Bind/Class.hs+ 128 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared++singletons-3.0.4/src/Data/Singletons.hs+ 128 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared+ stm-2.5.3.1/Control/Monad/STM.hs 72 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared @@ -423,9 +122,15 @@ transformers-0.6.3.0/Control/Monad/Trans/Writer/Strict.hs 1024 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared +transformers-0.6.3.0/Data/Functor/Constant.hs+ 12288 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared+ transformers-0.6.3.0/Data/Functor/Reverse.hs 6144 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared +transformers-0.6.3.0/legacy/pre709/Data/Functor/Identity.hs+ 256 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared+ transformers-0.6.3.0/legacy/pre711/Data/Functor/Product.hs 128 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared @@ -433,75 +138,21 @@ 1024 configurations is more than the 64 this checks, so only the ones varying a single conditional were compared ==========================================================================-declined (31)+declined (10) ========================================================================== -Agda-2.8.0/src/full/Agda/Main.hs- too many configurations to format--QuickCheck-2.18.0.0/src/Test/QuickCheck/Arbitrary.hs- too many configurations to format--QuickCheck-2.18.0.0/src/Test/QuickCheck/Function.hs- too many configurations to format--QuickCheck-2.18.0.0/src/Test/QuickCheck/Modifiers.hs- too many configurations to format--QuickCheck-2.18.0.0/src/Test/QuickCheck/Monadic.hs- too many configurations to format--QuickCheck-2.18.0.0/src/Test/QuickCheck/Property.hs- QuickCheck-2.18.0.0/src/Test/QuickCheck/Property.hs:315:13-14: parse error on input `::', in the configuration taking #ifndef NO_TYPEABLE, then #ifndef NO_SAFE_HASKELL, then #ifndef NO_TIMEOUT, then #if defined(MIN_VERSION_base), then #ifndef NO_DEEPSEQ, then #ifdef NO_TIMEOUT- cryptonite-0.30/Crypto/Random/Entropy/Windows.hs cryptonite-0.30/Crypto/Random/Entropy/Windows.hs:64:16-28: parse error on input `WINDOWS_CCONV', in the configuration taking #if defined(ARCH_X86) -dlist-1.0/Data/DList/Internal.hs- too many configurations to format--hashable-1.5.1.0/src/Data/Hashable/Class.hs- too many configurations to format- hlint-3.10/data/HLint_TypeCheck.hs a pragma that moves positions, which we do not rewrite -hlint-3.10/src/Config/Yaml.hs- too many configurations to format--idris-1.3.4/Setup.hs- too many configurations to format--idris-1.3.4/src/Util/DynamicLinker.hs- idris-1.3.4/src/Util/DynamicLinker.hs:43:63: parse error on input `\', in the configuration taking #ifdef IDRIS_FFI, then #ifdef mingw32_HOST_OS, then #if defined(linux_HOST_OS) || defined(freebsd_HOST_OS) \, then #ifndef mingw32_HOST_OS, then #ifdef linux_HOST_OS- intero-0.1.40/src/InteractiveUI.hs too many configurations to format -intero-0.1.40/src/Main.hs- too many configurations to format--lens-5.3.6/src/Control/Lens/Wrapped.hs- too many configurations to format--lens-5.3.6/src/Language/Haskell/TH/Lens.hs- too many configurations to format- lens-5.3.6/tests/properties.hs lens-5.3.6/tests/properties.hs:118:26-28: parse error on input `KVS' -microlens-0.5.0.0/src/Lens/Micro.hs- too many configurations to format--microlens-0.5.0.0/src/Lens/Micro/Internal.hs- too many configurations to format--optics-0.4.2.1/tests/Optics/Tests/Utils.hs- optics-0.4.2.1/tests/Optics/Tests/Utils.hs:123:62: parse error on input `\', in the configuration taking #if __GLASGOW_HASKELL__ >= 802 && __GLASGOW_HASKELL__ <= 806, then #if __GLASGOW_HASKELL__ >= 806 && __GLASGOW_HASKELL__ <= 810, then #if __GLASGOW_HASKELL__ == 802, then #if __GLASGOW_HASKELL__ == 810, then #if __GLASGOW_HASKELL__ >= 806, then #if __GLASGOW_HASKELL__ <= 804, then #if __GLASGOW_HASKELL__ == 802 \, then #if __GLASGOW_HASKELL__ >= 900, then #if __GLASGOW_HASKELL__ >= 902 && __GLASGOW_HASKELL__ <= 904, then #if __GLASGOW_HASKELL__ >= 806 && __GLASGOW_HASKELL__ <= 810 \--semigroupoids-6.0.2/src/Data/Functor/Bind/Class.hs- too many configurations to format- shake-0.19.9/src/Development/Shake/Internal/FileInfo.hs shake-0.19.9/src/Development/Shake/Internal/FileInfo.hs:149:16-23: parse error on input `CALLCONV', in the configuration taking #ifndef MIN_VERSION_unix, then #ifndef MIN_VERSION_time, then #elif defined(mingw32_HOST_OS), then #ifdef x86_64_HOST_ARCH @@ -516,15 +167,6 @@ shake-0.19.9/src/General/FileLock.hs shake-0.19.9/src/General/FileLock.hs:28:16-23: parse error on input `CALLCONV', in the configuration taking #ifdef mingw32_HOST_OS, then #ifdef x86_64_HOST_ARCH--time-1.16.0.1/lib/Data/Time/Clock/Internal/CTimeval.hs- time-1.16.0.1/lib/Data/Time/Clock/Internal/CTimeval.hs:35:16-19: parse error on input `capi', in the configuration taking no branch of #if !defined(javascript_HOST_ARCH), then #ifndef mingw32_HOST_OS, then no branch of #if defined(javascript_HOST_ARCH) || defined(__MHS__)--transformers-0.6.3.0/Data/Functor/Constant.hs- too many configurations to format--transformers-0.6.3.0/legacy/pre709/Data/Functor/Identity.hs- too many configurations to format unordered-containers-0.2.21/Data/HashMap/Internal/Array.hs unordered-containers-0.2.21/Data/HashMap/Internal/Array.hs:(266,9)-(267,31): Unexpected case expression in function application:
@@ -0,0 +1,24 @@+module Terminal.Grid where++instance Applicative Grid where+ pure = Grid . repeat+ -- applied cell by cell+ Grid fs <*> Grid xs = Grid (zipWith ($) fs xs)++instance Monad Parser where+ return = pure+ {- the first version:+ p >>= f = Parser (\s -> undefined)+ -}+ p >>= f = Parser (\s -> runParser p s >>= \(a, s') -> runParser (f a) s')++ -- set apart as written+ (>>) = (*>)++class Cell a where+ blank :: a+ -- the one shown for a cell nothing was put in+ placeholder :: a++ -- | How wide it is.+ width :: a -> Int
@@ -0,0 +1,23 @@+module Terminal.Grid where++instance Applicative Grid where+ pure = Grid . repeat+ -- applied cell by cell+ Grid fs <*> Grid xs = Grid (zipWith ($) fs xs)++instance Monad Parser where+ return = pure+ {- the first version:+ p >>= f = Parser (\s -> undefined)+ -}+ p >>= f = Parser (\s -> runParser p s >>= \(a, s') -> runParser (f a) s')++ -- set apart as written+ (>>) = (*>)++class Cell a where+ blank :: a+ -- the one shown for a cell nothing was put in+ placeholder :: a+ -- | How wide it is.+ width :: a -> Int
@@ -0,0 +1,24 @@+module Terminal.Time where++class Timed a where+ timeType ::+ Maybe Word ->+ Bool ->+ a+ -- TODO interval type++class Zoned a where+ zonedType ::+ Maybe Word ->+ -- | With time zone+ Bool ->+ a+ -- TODO interval type++instance Timed Int where+ timeType precision zoned =+ if zoned then 1 else 0+ -- TODO use the precision++clock :: Int+clock = 1
@@ -0,0 +1,20 @@+module Terminal.Time where++class Timed a where+ timeType ::+ Maybe Word ->+ Bool ->+ a+ -- TODO interval type++class Zoned a where+ zonedType :: Maybe Word -> Bool {-^ With time zone -} -> a+ -- TODO interval type++instance Timed Int where+ timeType precision zoned =+ if zoned then 1 else 0+ -- TODO use the precision++clock :: Int+clock = 1
@@ -0,0 +1,21 @@+module Shape.Kind where++data Shape+ = Circle Double+ | -- | A rectangle, given its width and height.++ -- Squares are rectangles too, for now.+ Rectangle Double Double+ | -- | A polygon, given its corners,+ -- in clockwise order.++ -- Corners may repeat.+ Polygon [(Double, Double)]++data Style = Style+ { strokeWidth :: Double,+ -- | The colour of the fill.++ -- Transparent when absent.+ fill :: Maybe String+ }
@@ -0,0 +1,21 @@+module Shape.Kind where++data Shape+ = Circle Double+ -- | A rectangle, given its width and height.++ -- Squares are rectangles too, for now.+ | Rectangle Double Double+ -- | A polygon, given its corners,+ -- in clockwise order.++ -- Corners may repeat.+ | Polygon [(Double, Double)]++data Style = Style+ { strokeWidth :: Double+ -- | The colour of the fill.++ -- Transparent when absent.+ , fill :: Maybe String+ }
@@ -0,0 +1,28 @@+module Kiln.Glaze where++-- A comment between constructors keeps the empty lines the author left+-- around it, but for one above it when it joins the line of a bar.+data Finish+ = Matte+ | -- Dry to the touch.++ Satin+ | -- Somewhere between the two.++ Gloss++-- A Haddock belongs to its constructor, and no empty line goes around it.+data Kiln+ = Electric+ | -- | Fired with gas, for reduction.+ Gas+ | Wood++-- The same between the constructors of a GADT.+data Firing a where+ Bisque :: Firing ()+ -- The first firing, unglazed.++ Glaze :: Firing Finish+ -- | Fired once more, low.+ Luster :: Firing Finish
@@ -0,0 +1,33 @@+module Kiln.Glaze where++-- A comment between constructors keeps the empty lines the author left+-- around it, but for one above it when it joins the line of a bar.+data Finish+ = Matte+ -- Dry to the touch.++ | Satin++ -- Somewhere between the two.++ | Gloss++-- A Haddock belongs to its constructor, and no empty line goes around it.+data Kiln+ = Electric++ -- | Fired with gas, for reduction.++ | Gas+ | Wood++-- The same between the constructors of a GADT.+data Firing a where+ Bisque :: Firing ()+ -- The first firing, unglazed.++ Glaze :: Firing Finish++ -- | Fired once more, low.++ Luster :: Firing Finish
@@ -0,0 +1,15 @@+data Node = Leaf | Branch+ deriving ({-! CNode !-})++-- * Section++data Edge = Edge+ deriving ({- nothing yet -})++data Face = Face+ deriving+ ( -- room for classes later+ )++size :: Int+size = 1
@@ -0,0 +1,13 @@+data Node = Leaf | Branch+ deriving ({-! CNode !-})++-- * Section++data Edge = Edge+ deriving ({- nothing yet -})++data Face = Face deriving ( -- room for classes later+ )++size :: Int+size = 1
@@ -1,6 +1,5 @@ data Empty = Empty- {- -- room for fields later+ { -- room for fields later } data One = One
@@ -0,0 +1,19 @@+module Shape.Draw where++draw ::+ -- | How thick the lines are.+ Double ->+ -- | What to draw.++ -- Shapes are drawn in the order given.+ [Shape] ->+ IO ()+draw _ _ = pure ()++class Drawable a where+ render ::+ -- | The thing to render.++ -- It is rendered at the origin.+ a ->+ String
@@ -0,0 +1,19 @@+module Shape.Draw where++draw ::+ -- | How thick the lines are.+ Double ->+ -- | What to draw.++ -- Shapes are drawn in the order given.+ [Shape] ->+ IO ()+draw _ _ = pure ()++class Drawable a where+ render ::+ -- | The thing to render.++ -- It is rendered at the origin.+ a ->+ String
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeOperators #-}++-- An operator written at the end of a line goes to the start of the next,+-- and a comment written after it stays with the operand it follows.+type Shape =+ Circle -- round+ :+: Square -- angular+ :+: Segment -- and flat
@@ -0,0 +1,7 @@+{-# LANGUAGE TypeOperators #-}++-- An operator written at the end of a line goes to the start of the next,+-- and a comment written after it stays with the operand it follows.+type Shape = Circle :+: -- round+ Square :+: -- angular+ Segment -- and flat
@@ -0,0 +1,8 @@+module Tariff.Discount where++discount :: Int -> Bool -> Int+discount age student+ | -- children travel free+ age < 12 = 0+ | {- students -} student = 50+ | otherwise = 100
@@ -0,0 +1,8 @@+module Tariff.Discount where++discount :: Int -> Bool -> Int+discount age student+ | -- children travel free+ age < 12 = 0+ | {- students -} student = 50+ | otherwise = 100
@@ -35,6 +35,17 @@ codeAfterTheComment = g (a {- said once -} + b)- -- and this is about something else+ -- and this is about something else where h = 1++-- An empty line under the remark still separates what it trails from what+-- comes next.+gapUnderTheRemark = a ++ b+ where+ a =+ [1]+ ++ [2] -- said once+ -- and never twice++ b = []
@@ -36,3 +36,14 @@ -- and this is about something else where h = 1++-- An empty line under the remark still separates what it trails from what+-- comes next.+gapUnderTheRemark = a ++ b+ where+ a =+ [1]+ ++ [2] -- said once+ -- and never twice++ b = []
@@ -1,3 +1,5 @@+{-# LANGUAGE PatternSynonyms #-}+ everyOperandAnnotated = base -- what we started from + delta -- what was added@@ -18,3 +20,34 @@ first `mappend` second `mappend` third -- and no further++-- An operator written at the end of a line goes to the start of the next,+-- and a comment written after it stays with the operand it follows.+operatorsAtLineEnds =+ base -- what we started from+ + delta -- what was added+ - refund -- and what came back++-- The same, one level of precedence down.+tighterOperatorAtLineEnd =+ base+ + rate -- per unit+ * units++-- The same, for a constructor in a pattern.+headOf+ ( x -- the one we want+ :| _+ ) = x++-- The same, for a pattern synonym.+pattern x -- the head+ :< xs =+ (x, xs)++-- A comment written on a line of its own between such an operator and its+-- operand comes before the operator.+remarkUnderAnOperatorAtLineEnd =+ base+ -- what is added+ ++ extra
@@ -1,3 +1,5 @@+{-# LANGUAGE PatternSynonyms #-}+ everyOperandAnnotated = base -- what we started from + delta -- what was added@@ -20,3 +22,27 @@ first `mappend` second `mappend` third -- and no further++-- An operator written at the end of a line goes to the start of the next,+-- and a comment written after it stays with the operand it follows.+operatorsAtLineEnds = base + -- what we started from+ delta - -- what was added+ refund -- and what came back++-- The same, one level of precedence down.+tighterOperatorAtLineEnd = base + rate * -- per unit+ units++-- The same, for a constructor in a pattern.+headOf (x :| -- the one we want+ _) = x++-- The same, for a pattern synonym.+pattern x :< -- the head+ xs = (x, xs)++-- A comment written on a line of its own between such an operator and its+-- operand comes before the operator.+remarkUnderAnOperatorAtLineEnd = base +++ -- what is added+ extra
@@ -0,0 +1,20 @@+module Tariff.Zone where++zoneOf :: Double -> Int+zoneOf distance = case distance of+ d+ | d > 10 -> 3+ | d > 5 -> 2+ -- short trips are all zone 1+ _ -> 1++fare :: Int -> Int+fare zone+ | zone > 2 = 4+ | otherwise =+ let base = 2+ in base + zone+ -- the base fare has not changed since the last review++surcharge :: Int+surcharge = 1
@@ -0,0 +1,20 @@+module Tariff.Zone where++zoneOf :: Double -> Int+zoneOf distance = case distance of+ d+ | d > 10 -> 3+ | d > 5 -> 2+ -- short trips are all zone 1+ _ -> 1++fare :: Int -> Int+fare zone+ | zone > 2 = 4+ | otherwise =+ let base = 2+ in base + zone+ -- the base fare has not changed since the last review++surcharge :: Int+surcharge = 1
@@ -0,0 +1,12 @@+-- Block comments written between what is defined and its equals sign stay+-- there, however many of them there are.+summarized {- options -} {- tree -} =+ foldr step []++applied x {- before -} {- the sign -} =+ x++oneLine {- first -} {- second -} = 0++several {- one -} {- two -} {- three -} =+ ()
@@ -0,0 +1,12 @@+-- Block comments written between what is defined and its equals sign stay+-- there, however many of them there are.+summarized {- options -} {- tree -} =+ foldr step []++applied x {- before -} {- the sign -} =+ x++oneLine {- first -} {- second -} = 0++several {- one -} {- two -} {- three -} =+ ()
@@ -0,0 +1,46 @@+greet :: Maybe String -> IO ()+greet name+ | Just n <- name,+ not (null n) = do+ putStrLn "Hello,"+ putStrLn n+ | otherwise = pure ()++describe :: Maybe Int -> IO ()+describe x = case x of+ Just n+ | n > 0 -> do+ print n+ print (n * 2)+ _ -> pure ()++classify :: Int -> String+classify n+ | n > 0 = case n of+ 1 -> "one"+ _ -> "many"+ | otherwise = "none"++withRemark :: Int -> IO ()+withRemark n+ | n > 0 = do -- only positive ones+ print n+ print n+ | otherwise = pure ()++withNote :: Int -> IO ()+withNote n+ | n > 0 =+ -- only positive ones+ do+ print n+ print n+ | otherwise = pure ()++withTwoRemarks :: Int -> IO ()+withTwoRemarks n+ | n > 0 = -- only positive ones+ do -- twice+ print n+ print n+ | otherwise = pure ()
@@ -0,0 +1,46 @@+greet :: Maybe String -> IO ()+greet name+ | Just n <- name+ , not (null n)+ = do putStrLn "Hello,"+ putStrLn n+ | otherwise = pure ()++describe :: Maybe Int -> IO ()+describe x = case x of+ Just n+ | n > 0+ -> do print n+ print (n * 2)+ _ -> pure ()++classify :: Int -> String+classify n+ | n > 0+ = case n of+ 1 -> "one"+ _ -> "many"+ | otherwise = "none"++withRemark :: Int -> IO ()+withRemark n+ | n > 0 -- only positive ones+ = do print n+ print n+ | otherwise = pure ()++withNote :: Int -> IO ()+withNote n+ | n > 0+ -- only positive ones+ = do print n+ print n+ | otherwise = pure ()++withTwoRemarks :: Int -> IO ()+withTwoRemarks n+ | n > 0 -- only positive ones+ = do -- twice+ print n+ print n+ | otherwise = pure ()
@@ -0,0 +1,19 @@+textRoundtrip :: IO ()+textRoundtrip =+ fmap id $+ withConnection $ do+ encode+ decode++roundtrip :: IO ()+roundtrip =+ withConnection $ do+ encode+ decode++withRemark :: IO ()+withRemark =+ withConnection $ -- a fresh connection+ do+ encode+ decode
@@ -0,0 +1,21 @@+textRoundtrip :: IO ()+textRoundtrip =+ fmap id+ $ withConnection+ $ do+ encode+ decode++roundtrip :: IO ()+roundtrip =+ withConnection+ $ do+ encode+ decode++withRemark :: IO ()+withRemark =+ withConnection -- a fresh connection+ $ do+ encode+ decode
@@ -0,0 +1,9 @@+{-# LANGUAGE Arrows #-}++module Cache.Lookup where++-- An operator written at the end of a line goes to the start of the next,+-- and a comment written after it stays with the operand it follows.+fetch local remote = proc key ->+ (local -< key) -- cheap when it hits+ <+> (remote -< key)
@@ -0,0 +1,8 @@+{-# LANGUAGE Arrows #-}++module Cache.Lookup where++-- An operator written at the end of a line goes to the start of the next,+-- and a comment written after it stays with the operand it follows.+fetch local remote = proc key -> (local -< key) <+> -- cheap when it hits+ (remote -< key)
@@ -0,0 +1,19 @@+module Spec where++spec :: IO ()+spec = do+ it "adds" $ do+ sum $ do+ [1, 2]+ `shouldBe` 3++ it "adds, written broken" $+ do+ sum $ do+ [1, 2]+ `shouldBe` 3++recovered :: IO ()+recovered = when ready $ do+ run+ `catch` handler
@@ -0,0 +1,19 @@+module Spec where++spec :: IO ()+spec = do+ it "adds" $ do+ sum $ do+ [1, 2]+ `shouldBe` 3++ it "adds, written broken" $+ do+ sum $ do+ [1, 2]+ `shouldBe` 3++recovered :: IO ()+recovered = when ready $ do+ run+ `catch` handler
@@ -0,0 +1,16 @@+module Kiln.Glaze where++-- A let ending its line with in, and followed by another let, keeps that+-- line, and the next let goes under it; the last one is laid out as usual.+glaze :: Int -> (Int, Int)+glaze x =+ -- Count the first one:+ let a = x + 1 in+ let b = a * 2; c = b + 1 in+ -- Then the second:+ let d = c - 1+ in (a, d)++-- Written all on one line, the chain stays on it.+fire :: Int -> Int+fire x = let a = x + 1 in let b = a * 2 in a + b
@@ -0,0 +1,16 @@+module Kiln.Glaze where++-- A let ending its line with in, and followed by another let, keeps that+-- line, and the next let goes under it; the last one is laid out as usual.+glaze :: Int -> (Int, Int)+glaze x =+ -- Count the first one:+ let a = x + 1 in+ let b = a * 2; c = b + 1 in+ -- Then the second:+ let d = c - 1 in+ (a, d)++-- Written all on one line, the chain stays on it.+fire :: Int -> Int+fire x = let a = x + 1 in let b = a * 2 in a + b
@@ -0,0 +1,25 @@+{-# LANGUAGE PatternSynonyms #-}++module Gears.Shift where++shiftUp, shiftDown, skipUp, skipDown ::+ forall n. Int -> n -> Int -> n+shiftUp = undefined+shiftDown = undefined+skipUp = undefined+skipDown = undefined++lowGear,+ highGear ::+ Int+lowGear = 1+highGear = 5++class Gearbox g where+ engage, release ::+ g -> g++pattern Neutral, Reverse ::+ Int+pattern Neutral = 0+pattern Reverse = -1
@@ -0,0 +1,25 @@+{-# LANGUAGE PatternSynonyms #-}++module Gears.Shift where++shiftUp, shiftDown, skipUp, skipDown+ :: forall n . Int -> n -> Int -> n+shiftUp = undefined+shiftDown = undefined+skipUp = undefined+skipDown = undefined++lowGear,+ highGear+ :: Int+lowGear = 1+highGear = 5++class Gearbox g where+ engage, release+ :: g -> g++pattern Neutral, Reverse+ :: Int+pattern Neutral = 0+pattern Reverse = -1
@@ -0,0 +1,6 @@+module Inventory.Count where++import Data.Map.Strict (Map, {- strict in the counts -} insertWith)++bump :: String -> Map String Int -> Map String Int+bump item = insertWith (+) item 1
@@ -0,0 +1,6 @@+module Inventory.Count where++import Data.Map.Strict (Map, {- strict in the counts -} insertWith)++bump :: String -> Map String Int -> Map String Int+bump item = insertWith (+) item 1
@@ -0,0 +1,9 @@+module Survey.Tally where++import Data.Map.Strict (Map)+import qualified Data.Map.Strict as Map+-- answers arrive as text and are counted per question+import Survey.Answer (Answer, answerText)++tally :: [Answer] -> Map String Int+tally = foldr (\a -> Map.insertWith (+) (answerText a) 1) Map.empty
@@ -0,0 +1,9 @@+{-# LANGUAGE OverloadedStrings #-}++import Data.Text (Text)+import qualified Data.Text.IO as Text+-- the report is written to standard output, one question per line+import System.IO (stdout)++main :: IO ()+main = Text.hPutStrLn stdout ("questions" :: Text)
@@ -0,0 +1,9 @@+{-# LANGUAGE OverloadedStrings #-}++-- the report is written to standard output, one question per line+import System.IO (stdout)+import Data.Text (Text)+import qualified Data.Text.IO as Text++main :: IO ()+main = Text.hPutStrLn stdout ("questions" :: Text)
@@ -0,0 +1,9 @@+module Survey.Tally where++-- answers arrive as text and are counted per question+import Survey.Answer (Answer, answerText)+import Data.Map.Strict (Map)+import qualified Data.Map.Strict as Map++tally :: [Answer] -> Map String Int+tally = foldr (\a -> Map.insertWith (+) (answerText a) 1) Map.empty
@@ -1,6 +1,5 @@ import Alpha- (- -- nothing taken yet+ ( -- nothing taken yet ) import Beta ( one,
@@ -0,0 +1,11 @@+module Survey.Export where++--------------------------------------------------------------------------------+-- the answers go out as CSV; nothing here touches the database++import Data.List (intercalate)+import qualified Data.Map.Strict as Map+import Survey.Answer (Answer, answerText)++row :: [Answer] -> String+row = intercalate "," . fmap answerText
@@ -0,0 +1,10 @@+{-# LANGUAGE OverloadedStrings #-}++-- Copyright the survey's authors. Released under the BSD3 licence.++import Data.Text (Text)+import qualified Data.Text.IO as Text+import System.IO (stdout)++main :: IO ()+main = Text.hPutStrLn stdout ("questions" :: Text)
@@ -0,0 +1,10 @@+{-# LANGUAGE OverloadedStrings #-}++-- Copyright the survey's authors. Released under the BSD3 licence.++import System.IO (stdout)+import Data.Text (Text)+import qualified Data.Text.IO as Text++main :: IO ()+main = Text.hPutStrLn stdout ("questions" :: Text)
@@ -0,0 +1,11 @@+module Survey.Export where++--------------------------------------------------------------------------------+-- the answers go out as CSV; nothing here touches the database++import Survey.Answer (Answer, answerText)+import Data.List (intercalate)+import qualified Data.Map.Strict as Map++row :: [Answer] -> String+row = intercalate "," . fmap answerText
@@ -0,0 +1,11 @@+module Survey.Weights where++-- weights are read once and kept for the whole run++import Data.IORef (IORef, newIORef)+import Data.Map.Strict (Map)+-- answers are matched to their questions by position+import Survey.Answer (Answer)++weights :: IO (IORef (Map Int Double))+weights = newIORef mempty
@@ -0,0 +1,11 @@+module Survey.Weights where++-- weights are read once and kept for the whole run++-- answers are matched to their questions by position+import Survey.Answer (Answer)+import Data.IORef (IORef, newIORef)+import Data.Map.Strict (Map)++weights :: IO (IORef (Map Int Double))+weights = newIORef mempty
@@ -0,0 +1,10 @@+module Studio.Palette where++import Studio.Colour (Colour (Green))+import Studio.Colour hiding (Colour, Colour (Blue, Red), Shade, Shade (..))+import Studio.Paint hiding (Paint, Paint (..))++data Swatch = Colour | Shade++swatch :: Swatch+swatch = Colour
@@ -0,0 +1,11 @@+module Studio.Palette where++import Studio.Colour hiding (Colour (Red), Colour, Colour (Blue), Shade, Shade (..))+import Studio.Colour (Colour, Colour (Green))+import Studio.Paint+ hiding (Paint (..), Paint)++data Swatch = Colour | Shade++swatch :: Swatch+swatch = Colour
@@ -0,0 +1,11 @@+module Inventory.Search where++import Data.Map hiding (filter, map)+import Data.Set hiding+ ( filter,+ map,+ )+import qualified Data.Text as T hiding (null)++matching :: (k -> Bool) -> Map k v -> [k]+matching p = Prelude.filter p . keys
@@ -0,0 +1,13 @@+module Inventory.Search where++import Data.Map+ hiding (filter, map)+import Data.Set hiding+ ( filter,+ map+ )+import qualified Data.Text as T+ hiding (null)++matching :: (k -> Bool) -> Map k v -> [k]+matching p = Prelude.filter p . keys
@@ -0,0 +1,9 @@+module Inventory.Index where++import Data.Map hiding -- the Prelude's are the ones meant below+ ( filter,+ map,+ )++index :: [(String, Int)] -> Map String Int+index = fromList . map id . filter ((> 0) . snd)
@@ -0,0 +1,7 @@+module Inventory.Index where++import Data.Map hiding -- the Prelude's are the ones meant below+ (filter, map)++index :: [(String, Int)] -> Map String Int+index = fromList . map id . filter ((> 0) . snd)
@@ -0,0 +1,22 @@+module Inventory.Ledger where++import Data.Map.Strict+ ( Map,+ insertWith,+ )+import Data.Sequence+ ( Seq,+ empty,+ fromList,+ )+import Data.Text+ ( Text,+ pack,+ )+import Data.Time+ ( UTCTime,+ getCurrentTime,+ )++record :: Text -> Int -> Map Text Int -> Map Text Int+record = insertWith (+)
@@ -0,0 +1,16 @@+module Inventory.Ledger where++import Data.Map.Strict+ ( Map,+ insertWith+ )+import Data.Sequence (Seq, empty,+ fromList)+import Data.Text (Text, pack+ )+import Data.Time+ (+ UTCTime, getCurrentTime)++record :: Text -> Int -> Map Text Int -> Map Text Int+record = insertWith (+)
@@ -0,0 +1,9 @@+module Inventory.Stock where++import Data.List (sortOn)+import Data.Map.Strict (Map, adjust, findWithDefault)+import qualified Data.Set as Set (Set, member)+import Data.Text (Text)++inStock :: Text -> Map Text Int -> Bool+inStock item = (> 0) . findWithDefault 0 item
@@ -0,0 +1,12 @@+module Inventory.Stock where++import Data.List+ (sortOn)+import Data.Map.Strict+ (Map, adjust, findWithDefault)+import qualified Data.Set as Set+ (Set, member)+import Data.Text (Text)++inStock :: Text -> Map Text Int -> Bool+inStock item = (> 0) . findWithDefault 0 item
@@ -0,0 +1,21 @@+module Billing.Tax where++import Billing.Rate+ ( Rate,+ rateFor,+ rateName,+ )+import Billing.Region+ ( Region,+ regionCode,+ regionName,+ )+import Data.Map+ ( Map,+ empty,+ lookup,+ member,+ )++tax :: Region -> Double+tax _ = 0
@@ -0,0 +1,21 @@+module Billing.Tax where++import Billing.Rate (Rate)+import Billing.Rate+ ( rateFor,+ rateName+ )+import Billing.Region+ ( Region,+ regionCode+ )+import Billing.Region (regionName)+import Data.Map (Map)+import Data.Map+ ( lookup,+ member+ )+import Data.Map (empty)++tax :: Region -> Double+tax _ = 0
@@ -0,0 +1,9 @@+module Billing.Currency where++import Data.Map (Map)+import Data.Set+import Data.Set (Set)+import Data.Text ()++rates :: Map String Double+rates = mempty
@@ -0,0 +1,11 @@+module Billing.Currency where++import Data.Map ()+import Data.Map (Map)+import Data.Set+import Data.Set (Set)+import Data.Text ()+import Data.Text ()++rates :: Map String Double+rates = mempty
@@ -0,0 +1,7 @@+module Billing.Payment where++import Billing.Method (Card (..), Method (Cash))+import Billing.Status (Status (Due, Paid), settle)++pay :: Method -> Status+pay _ = Paid
@@ -0,0 +1,10 @@+module Billing.Payment where++import Billing.Method (Method, Card (Visa))+import Billing.Method (Method (Cash), Card (..))+import Billing.Status (Status (Paid))+import Billing.Status (Status (Due, Paid), settle, settle)+import Billing.Status (settle)++pay :: Method -> Status+pay _ = Paid
@@ -0,0 +1,10 @@+module Studio.Mixer where++import Studio.Colour hiding (Colour)+import Studio.Colour hiding (Colour, Colour (..))+import Studio.Colour hiding (Colour (..))++data Tint = Colour++mix :: Tint+mix = Colour
@@ -0,0 +1,11 @@+module Studio.Mixer where++import Studio.Colour hiding (Colour (..), Colour)+import Studio.Colour hiding (Colour (..))+import Studio.Colour hiding (Colour, Colour (..))+import Studio.Colour hiding (Colour)++data Tint = Colour++mix :: Tint+mix = Colour
@@ -0,0 +1,15 @@+module Library.Catalogue where++import Data.Map.Strict (delete, insert)+import Data.Map.Strict hiding (delete)+import Data.Map.Strict hiding (insert)+import qualified Data.Set as Set hiding+ ( filter,+ map,+ )+import Data.Text (Text)+import Library.Shelf hiding (Shelf (Bottom, Top), shelfName)+import Library.Shelf hiding (Shelf (Top), shelfName)++shelve :: Text -> Map Text Int -> Map Text Int+shelve title = insert title 1 . delete title
@@ -0,0 +1,20 @@+module Library.Catalogue where++import Data.Map.Strict hiding (insert)+import Data.Text (Text)+import Data.Map.Strict hiding (delete)+import Data.Map.Strict (insert)+import qualified Data.Set as Set hiding (map, filter)+import Data.Map.Strict (delete)+import qualified Data.Set as Set hiding+ ( filter,+ map,+ map+ )+import Library.Shelf hiding (Shelf (Top), shelfName)+import Library.Shelf hiding (shelfName, Shelf (Bottom, Top))+import Library.Shelf hiding (Shelf (Top, Bottom), shelfName)+import Data.Map.Strict hiding (insert)++shelve :: Text -> Map Text Int -> Map Text Int+shelve title = insert title 1 . delete title
@@ -1,10 +1,7 @@ module Telemetry.Report where -- both halves of a sink live in the one module-import Telemetry.Sink- ( sinkFlush,- sinkName,- )+import Telemetry.Sink (sinkFlush, sinkName) describe :: Sink -> String describe = sinkName
@@ -0,0 +1,8 @@+module Billing.Invoice where++import Data.Map.Strict (Map, empty, insert)+import qualified Data.Set as Set (Set, fromList)+import Data.Text (Text)++lines' :: Map Text Int+lines' = insert "total" 0 empty
@@ -0,0 +1,10 @@+module Billing.Invoice where++import Data.Map.Strict (Map)+import Data.Text (Text)+import Data.Map.Strict (insert, empty)+import qualified Data.Set as Set (Set)+import qualified Data.Set as Set (fromList)++lines' :: Map Text Int+lines' = insert "total" 0 empty
@@ -0,0 +1,13 @@+module Billing.Refund where++import Billing.Status+ ( Status+ ( Disputed,+ Paid,+ Refunded+ ),+ refund,+ )++undo :: Status -> Status+undo _ = Refunded
@@ -0,0 +1,10 @@+module Billing.Refund where++import Billing.Status (Status (Paid), refund)+import Billing.Status+ ( Status (Refunded,+ Disputed)+ )++undo :: Status -> Status+undo _ = Refunded
@@ -0,0 +1,15 @@+{-# LANGUAGE PackageImports #-}+{-# LANGUAGE Trustworthy #-}++module Billing.Report where++import Data.Text (Text, lines)+import Data.Text hiding (map)+import qualified Data.Text (toUpper)+import qualified Data.Text as T (pack, unpack)+import qualified Data.Text as Text (pack)+import safe Data.Text (strip)+import "text" Data.Text (unpack, words)++title :: Text -> Text+title = T.pack . T.unpack
@@ -0,0 +1,18 @@+{-# LANGUAGE PackageImports #-}+{-# LANGUAGE Trustworthy #-}++module Billing.Report where++import qualified Data.Text as Text (pack)+import Data.Text (Text)+import "text" Data.Text (unpack)+import qualified Data.Text as T (pack)+import Data.Text hiding (map)+import safe Data.Text (strip)+import qualified Data.Text (toUpper)+import qualified Data.Text as T (unpack)+import "text" Data.Text (words)+import Data.Text (lines)++title :: Text -> Text+title = T.pack . T.unpack
@@ -0,0 +1,14 @@+module Shapes.Area where++import Data.Either+ ( Either (Left, Right),+ either,+ )+import Shapes.Kind+ ( Shape (Circle, Square),+ Unit (..),+ area,+ )++describe :: Shape -> Either String Double+describe s = Right (area s)
@@ -0,0 +1,14 @@+module Shapes.Area where++import Data.Either (Either+ (Left, Right), either)+import Shapes.Kind+ ( Shape+ (Circle, Square),+ Unit+ (..),+ area+ )++describe :: Shape -> Either String Double+describe s = Right (area s)
@@ -0,0 +1,16 @@+module Shapes.Perimeter where++import Shapes.Kind+ ( Shape+ ( Circle,+ Square+ ),+ Side+ ( Bottom,+ Top+ ),+ perimeter,+ )++total :: [Shape] -> Double+total = sum . fmap perimeter
@@ -0,0 +1,14 @@+module Shapes.Perimeter where++import Shapes.Kind+ ( Shape+ ( Circle,+ Square+ ),+ Side (Top,+ Bottom),+ perimeter+ )++total :: [Shape] -> Double+total = sum . fmap perimeter
@@ -0,0 +1,10 @@+{-# LANGUAGE ExplicitLevelImports #-}++module Weather.Splices where++import Weather.Syntax (rain)+import splice Weather.Syntax (snow, sun)+import quote Weather.Syntax (hail, wind)++forecast :: String+forecast = "fair"
@@ -0,0 +1,12 @@+{-# LANGUAGE ExplicitLevelImports #-}++module Weather.Splices where++import quote Weather.Syntax (wind)+import Weather.Syntax (rain)+import splice Weather.Syntax (sun)+import splice Weather.Syntax (snow)+import quote Weather.Syntax (hail)++forecast :: String+forecast = "fair"
@@ -0,0 +1,17 @@+{-# LANGUAGE PackageImports #-}++module Weather.Station where++import Control.Monad (forM_)+import Data.Char (toUpper)+import Data.Map (lookup)+import qualified Data.Map as Map+import Data.Map.Strict (Map)+import Weather.Reading (Reading)+import "base" Data.List (sort)+import "containers" Data.Set (Set)+import "this" Weather.Units (Celsius)+import Prelude hiding (lookup)++readings :: Map String Reading+readings = mempty
@@ -0,0 +1,17 @@+{-# LANGUAGE PackageImports #-}++module Weather.Station where++import Prelude hiding (lookup)+import "this" Weather.Units (Celsius)+import Data.Map.Strict (Map)+import "containers" Data.Set (Set)+import Control.Monad (forM_)+import qualified Data.Map as Map+import Data.Map (lookup)+import "base" Data.List (sort)+import Weather.Reading (Reading)+import Data.Char (toUpper)++readings :: Map String Reading+readings = mempty
@@ -0,0 +1,9 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE PatternSynonyms #-}++module Weather.Gusts where++import Weather.Level (Measured (measure), gust, pattern Squall, type Gust, data Calm, data Gale)++strongest :: Gust -> Gale+strongest = measure
@@ -0,0 +1,9 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE PatternSynonyms #-}++module Weather.Gusts where++import Weather.Level (data Gale, type Gust, pattern Squall, Measured (measure), data Calm, gust, data Gale)++strongest :: Gust -> Gale+strongest = measure
@@ -0,0 +1,20 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE PatternSynonyms #-}++module Weather.Alert where++import Weather.Level+ ( Alert,+ Level (Calm, Warning, (:>)),+ lower,+ raise,+ (!),+ (<+>),+ pattern Breeze,+ pattern Storm,+ type (:*:),+ type (~>),+ )++alert :: Level -> Alert+alert = raise
@@ -0,0 +1,20 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE PatternSynonyms #-}++module Weather.Alert where++import Weather.Level+ ( (<+>),+ type (~>),+ raise,+ pattern Storm,+ Level ((:>), Warning, Calm),+ lower,+ (!),+ Alert,+ pattern Breeze,+ type (:*:)+ )++alert :: Level -> Alert+alert = raise
@@ -0,0 +1,11 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Weather.Forecast where++import Control.Monad (when)+import Data.List (foldl')+import Prelude (Double, (+))+import Weather.Reading (Reading)++warmer :: Double -> Double+warmer = (+ 1)
@@ -0,0 +1,11 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Weather.Forecast where++import Weather.Reading (Reading)+import Prelude (Double, (+))+import Data.List (foldl')+import Control.Monad (when)++warmer :: Double -> Double+warmer = (+ 1)
@@ -0,0 +1,4 @@+module Terminal.Keys (Key, keys {- modifiers -}) where++import Data.Array (Array, bounds, (!) {- assocs -})+import Data.List (nub, sortOn {- group -})
@@ -0,0 +1,4 @@+module Terminal.Keys (Key, keys, {- modifiers -}) where++import Data.Array (Array, (!), bounds, {- assocs -})+import Data.List (sortOn, nub,{- group -})
@@ -0,0 +1,15 @@+module Terminal.Keys where++import Data.ByteString.Char8 ({- IsString -})+import Data.List hiding (sort {- the local one -})++recordKey :: Key -> IO (Bool {- already bound -}, Int)+recordKey = undefined++modifiers = (shift {- left or right -}, control {- either -})++arrows = [up, down, left, right {- and no others -}]++pressed = bind (key {- as reported -}) action++pending = [{- none yet -}]
@@ -0,0 +1,15 @@+module Terminal.Keys where++import Data.ByteString.Char8 ({- IsString -})+import Data.List hiding (sort {- the local one -})++recordKey :: Key -> IO (Bool {- already bound -}, Int)+recordKey = undefined++modifiers = (shift {- left or right -}, control {- either -})++arrows = [up, down, left, right {- and no others -}]++pressed = bind (key {- as reported -}) action++pending = [{- none yet -}]
@@ -3,6 +3,5 @@ total :: Int -> Int total stops = let each = 12- in -- the sum every caller ends up wanting- each * stops+ in each * stops
@@ -1,37 +1,31 @@ import Data.List- (- -- on a line of its own+ ( -- on a line of its own sort, ) parenthesised =- (- -- on a line of its own+ ( -- on a line of its own value ) listed =- [- -- on a line of its own+ [ -- on a line of its own first, second ] typed ::- (- -- on a line of its own+ ( -- on a line of its own Int ) typed = 0 data Colour = Red- |- -- on a line of its own+ | -- on a line of its own Green data Shape = Circle- {- -- on a line of its own+ { -- on a line of its own radius :: Int }
@@ -0,0 +1,19 @@+module Loom.Warp where++warpThreads :: Int+warpThreads = (count 1)+-- leaves out the selvedge++weftThreads :: [Int]+weftThreads = [count 2]+-- the same in a list++shedHeight :: Int+shedHeight =+ lift+ treadle+ (count 3)+-- and in the last argument++reedDents :: Int+reedDents = 12
@@ -0,0 +1,19 @@+module Loom.Warp where++warpThreads :: Int+warpThreads = (count 1)+ -- leaves out the selvedge++weftThreads :: [Int]+weftThreads = [count 2]+ -- the same in a list++shedHeight :: Int+shedHeight =+ lift+ treadle+ (count 3)+ -- and in the last argument++reedDents :: Int+reedDents = 12
@@ -0,0 +1,7 @@+module Route.Return where++fare :: Int -> Int+fare single =+ let outward = single+ -- the way back costs the same+ in outward * 2
@@ -0,0 +1,7 @@+module Route.Return where++fare :: Int -> Int+fare single =+ let outward = single+ -- the way back costs the same+ in outward * 2
@@ -21,3 +21,21 @@ -- innermost ] ]++comprehension =+ [ x | x <- xs+ -- and only those+ ]+ ++ rest++comprehensionAlone =+ [ x | x <- xs+ -- and nothing after it+ ]++openSequence =+ [ first+ ..+ -- and on from there+ ]+ ++ rest
@@ -15,3 +15,15 @@ -- innermost ] ]++comprehension = [ x | x <- xs+ -- and only those+ ] ++ rest++comprehensionAlone = [ x | x <- xs+ -- and nothing after it+ ]++openSequence = [ first ..+ -- and on from there+ ] ++ rest
@@ -0,0 +1,21 @@+{-# LANGUAGE TemplateHaskell #-}++-- A comment before the bracket that closes a quote stays inside the quote.+expression =+ [|+ lookup key table+ -- or a default, when the key is missing+ |]+ ++ fallbacks++typed =+ [||+ width * height+ -- in pixels+ ||]++declarations =+ [d|+ answer = 42+ -- and that is all+ |]
@@ -0,0 +1,14 @@+{-# LANGUAGE TemplateHaskell #-}++-- A comment before the bracket that closes a quote stays inside the quote.+expression = [| lookup key table+ -- or a default, when the key is missing+ |] ++ fallbacks++typed = [|| width * height+ -- in pixels+ ||]++declarations = [d| answer = 42+ -- and that is all+ |]
@@ -0,0 +1,10 @@+-- Where an operator joins its operand, their remarks are for one line. The+-- second goes on a line of its own, and what carries it on goes with it.+guess =+ catA+ [ isBinaryDoc+ >>> constA isoLatin1, -- 0. guess+ -- the content+ -- this handling+ getChildren -- 1. guess+ ]
@@ -0,0 +1,8 @@+-- Where an operator joins its operand, their remarks are for one line. The+-- second goes on a line of its own, and what carries it on goes with it.+guess = catA [ isBinaryDoc+ >>> -- 0. guess+ constA isoLatin1 -- the content+ -- this handling+ , getChildren -- 1. guess+ ]
@@ -0,0 +1,18 @@+-- A comment lined up under the remark that ends the line above carries that+-- remark on, and stays under it.+data Directive+ = Wrapper String -- use this wrapper+ | ActionType String -- type signature of actions,+ -- with optional typeclasses+ | TypeClass String++data Record = Record+ { actionType :: String, -- type signature of actions,+ -- with optional typeclasses+ typeClass :: String+ }++carriedOn = a + b -- said once+ -- and never twice++nextOne = 1
@@ -0,0 +1,17 @@+-- A comment lined up under the remark that ends the line above carries that+-- remark on, and stays under it.+data Directive+ = Wrapper String -- use this wrapper+ | ActionType String -- type signature of actions,+ -- with optional typeclasses+ | TypeClass String++data Record = Record+ { actionType :: String -- type signature of actions,+ -- with optional typeclasses+ , typeClass :: String+ }++carriedOn = a + b -- said once+ -- and never twice+nextOne = 1
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++-- An empty line next to a directive is the preprocessor support's to+-- place: it goes under the #endif, and the comment stays under the+-- declaration it was written under.+module Kiln.Firing where++#if MIN_VERSION_base(4,0,0)+firingTemperature :: Int+firingTemperature = 1280+-- Cone 10, for stoneware.+#endif++coolingRate :: Int+coolingRate = 100
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++-- An empty line next to a directive is the preprocessor support's to+-- place: it goes under the #endif, and the comment stays under the+-- declaration it was written under.+module Kiln.Firing where++#if MIN_VERSION_base(4,0,0)+firingTemperature :: Int+firingTemperature = 1280+-- Cone 10, for stoneware.++#endif+coolingRate :: Int+coolingRate = 100
@@ -0,0 +1,55 @@+-- A comment written right under a declaration, with an empty line after+-- it, is a remark on that declaration and stays with it.+module Kiln.Firing where++firingTemperature :: Int+firingTemperature = 1280+-- Cone 10, for stoneware.++coolingRate :: Int+coolingRate = 100+-- Per hour, down to 600.++-- Then left to cool on its own.+soakMinutes :: Int+soakMinutes = 30++-- The same in a class and in an instance.+class Glazed a where+ glaze :: a -> String+ -- Applied before the bisque firing.++ coats :: a -> Int++instance Glazed Int where+ glaze _ = "celadon"+ -- Thin, so that it pools in the carving.++ coats _ = 2++-- After a trailing comment as well.+shelves :: Int+shelves = 4 -- of silicon carbide+-- Kiln wash on the top side only.++posts :: Int+posts = 12++-- With no empty line under it, a comment is about what follows, and an+-- empty line still goes between the two declarations.+cones :: Int+cones = 3++-- Witness cones, one per shelf.+coneHeight :: Int+coneHeight = 2++-- An empty line inside a block comment is no empty line between them.+reduction :: Bool+reduction = True++{- Reduction starts at cone 010,++ and ends with the firing. -}+oxidation :: Bool+oxidation = False
@@ -0,0 +1,53 @@+-- A comment written right under a declaration, with an empty line after+-- it, is a remark on that declaration and stays with it.+module Kiln.Firing where++firingTemperature :: Int+firingTemperature = 1280+-- Cone 10, for stoneware.++coolingRate :: Int+coolingRate = 100+-- Per hour, down to 600.++-- Then left to cool on its own.+soakMinutes :: Int+soakMinutes = 30++-- The same in a class and in an instance.+class Glazed a where+ glaze :: a -> String+ -- Applied before the bisque firing.++ coats :: a -> Int++instance Glazed Int where+ glaze _ = "celadon"+ -- Thin, so that it pools in the carving.++ coats _ = 2++-- After a trailing comment as well.+shelves :: Int+shelves = 4 -- of silicon carbide+-- Kiln wash on the top side only.++posts :: Int+posts = 12++-- With no empty line under it, a comment is about what follows, and an+-- empty line still goes between the two declarations.+cones :: Int+cones = 3+-- Witness cones, one per shelf.+coneHeight :: Int+coneHeight = 2++-- An empty line inside a block comment is no empty line between them.+reduction :: Bool+reduction = True+{- Reduction starts at cone 010,++ and ends with the firing. -}+oxidation :: Bool+oxidation = False
@@ -0,0 +1,9 @@+--------------------++{-# OPTIONS_GHC -Wall #-}++-- | The module.++-- a remark++module T where
@@ -0,0 +1,7 @@+-- | The module.+--------------------++{-# OPTIONS_GHC -Wall #-}+-- a remark++module T where
@@ -0,0 +1,7 @@+module Route.Clamp where++stops :: Int -> Int -> Int+stops wanted total =+ let served = min wanted total+ -- never more than the line has+ in served + 1
@@ -0,0 +1,7 @@+module Route.Clamp where++stops :: Int -> Int -> Int+stops wanted total =+ let served = min wanted total+ -- never more than the line has+ in served + 1
@@ -0,0 +1,41 @@+module Alternatives where++main :: IO ()+main = do+ let value =+ one <|> two+ -- Alt one two+ print value++combined =+ one <|> two+ -- Alt one two++next = 1++local = value+ where+ value =+ one <|> two+ -- Alt one two+ -- and nothing else+ other = 1++apart = do+ let value =+ one <|> two+ -- about what follows+ print value++bound = do+ x <-+ one <|> two+ -- Alt one two+ print x++instance Semigroup Meta where+ Meta a <> Meta b = Meta (b <> a)+ -- the second one wins++instance Monoid Meta where+ mempty = Meta mempty
@@ -0,0 +1,40 @@+module Alternatives where++main :: IO ()+main = do+ let value =+ one <|> two+ -- Alt one two+ print value++combined =+ one <|> two+ -- Alt one two+next = 1++local = value+ where+ value =+ one <|> two+ -- Alt one two+ -- and nothing else+ other = 1++apart = do+ let value =+ one <|> two+ -- about what follows+ print value++bound = do+ x <-+ one <|> two+ -- Alt one two+ print x++instance Semigroup Meta where+ Meta a <> Meta b = Meta (b <> a)+ -- the second one wins++instance Monoid Meta where+ mempty = Meta mempty
@@ -0,0 +1,52 @@+-- A comment lined up with the last line of a construct, and not with what+-- follows the construct, stays inside it.+module Loom.Warp where++import Control.Applicative ((<|>))++threads ::+ Int ->+ Int+ -- counted across the whole width+threads ends = ends * 2++tension :: Int+tension = pull 3 4+ where+ pull ::+ Int ->+ -- \^ Weight on the beam+ Int ->+ -- \^ Turns of the brake+ Int+ -- \^ What the warp takes+ pull weight turns = weight * turns++data Shed+ = Plain Int+ | Twill+ Int+ -- Shafts raised+ Int+ -- Shafts lowered+ deriving (Show)++sett :: Maybe Int+sett =+ id+ ( Just 12+ <|> Just 16+ )+ -- ends per centimetre++reed :: Int+reed = 60++selvedge :: String+selvedge =+ "doubled"+ <> " ends"+ -- on both sides++beam :: Int+beam = 2
@@ -0,0 +1,47 @@+-- A comment lined up with the last line of a construct, and not with what+-- follows the construct, stays inside it.+module Loom.Warp where++import Control.Applicative ((<|>))++threads+ :: Int+ -> Int+ -- counted across the whole width+threads ends = ends * 2++tension :: Int+tension = pull 3 4+ where+ pull+ :: Int+ -- ^ Weight on the beam+ -> Int+ -- ^ Turns of the brake+ -> Int+ -- ^ What the warp takes+ pull weight turns = weight * turns++data Shed+ = Plain Int+ | Twill+ Int+ -- Shafts raised+ Int+ -- Shafts lowered+ deriving (Show)++sett :: Maybe Int+sett = id (Just 12+ <|> Just 16)+ -- ends per centimetre++reed :: Int+reed = 60++selvedge :: String+selvedge = "doubled"+ <> " ends"+ -- on both sides+beam :: Int+beam = 2
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Storage.Open (openFor) where++import Storage.Handle++openFor :: FilePath -> Mode -> IO Handle+openFor path mode =+ openWith+ path+ mode+#if MIN_VERSION_storage(0,2,0)+ closeOnExec+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Storage.Open (openFor) where++import Storage.Handle++openFor :: FilePath -> Mode -> IO Handle+openFor path mode =+ openWith path mode+#if MIN_VERSION_storage(0,2,0)+ closeOnExec+#endif
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Records.Process (process) where++import Language.Haskell.TH++process :: [Stmt] -> Exp -> Exp+process statements result =+ DoE+#if MIN_VERSION_template_haskell(2,17,0)+ Nothing+#endif+ (statements ++ [NoBindS result])
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Records.Process (process) where++import Language.Haskell.TH++process :: [Stmt] -> Exp -> Exp+process statements result =+ DoE+#if MIN_VERSION_template_haskell(2,17,0)+ Nothing+#endif+ (statements ++ [NoBindS result])
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module Storage.Create (createFor) where++import Storage.Handle++createFor :: FilePath -> Mode -> IO Handle+createFor path mode =+ createWith+ path+ mode+#if MIN_VERSION_storage(0,3,0)+ closeOnExec+ inheritable+#elif MIN_VERSION_storage(0,2,0)+ closeOnExec+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Storage.Create (createFor) where++import Storage.Handle++createFor :: FilePath -> Mode -> IO Handle+createFor path mode =+ createWith path mode+#if MIN_VERSION_storage(0,3,0)+ closeOnExec inheritable+#elif MIN_VERSION_storage(0,2,0)+ closeOnExec+#endif
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module Completion.Names (fromName) where++import GHC++fromName :: RdrName -> HsExpr GhcPs+fromName name =+#if __GLASGOW_HASKELL__ >= 806+ HsVar+ NoExt+#else+ HsVar+#endif+ (L noSrcSpan name)
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Completion.Names (fromName) where++import GHC++fromName :: RdrName -> HsExpr GhcPs+fromName name =+#if __GLASGOW_HASKELL__ >= 806+ HsVar NoExt+#else+ HsVar+#endif+ (L noSrcSpan name)
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}++module T where++f :: Int -> IO Int+f x = do+#if MIN_VERSION_base(4,0,0)+ y <-+ g+ (h x)+ a+ b+#else+ y <-+ k+ (h x)+ a+ b+#endif+ pure y
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}+module T where++f :: Int -> IO Int+f x = do+#if MIN_VERSION_base(4,0,0)+ y <- g (h x)+#else+ y <- k (h x)+#endif+ a b+ pure y
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module T where++f :: Int -> IO Int+f x = do+#if MIN_VERSION_base(4,0,0)+ (y, _) <-+#else+ y <-+#endif+ g x+ pure y
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}+module T where++f :: Int -> IO Int+f x = do+#if MIN_VERSION_base(4,0,0)+ (y, _) <-+#else+ y <-+#endif+ g x+ pure y
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Terminal.Features where++supportsColour :: Bool+supportsColour = True++#ifdef WINDOWS+-- The console has no bracketed paste mode.+#endif++supportsPaste :: Bool+supportsPaste = True
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Terminal.Features where++supportsColour :: Bool+supportsColour = True++#ifdef WINDOWS+-- The console has no bracketed paste mode.+#endif++supportsPaste :: Bool+supportsPaste = True
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module Word (wordSize) where++#if !defined(__GLASGOW_HASKELL__)+#error "Only GHC is supported."+#endif++wordSize :: Int+wordSize =+#if WORD_SIZE_IN_BITS == 64+ 64+#elif WORD_SIZE_IN_BITS == 32+ 32+#else+#error "Unsupported word size."+#endif
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module Word (wordSize) where++#if !defined(__GLASGOW_HASKELL__)+#error "Only GHC is supported."+#endif++wordSize :: Int+wordSize =+#if WORD_SIZE_IN_BITS == 64+ 64+#elif WORD_SIZE_IN_BITS == 32+ 32+#else+#error "Unsupported word size."+#endif
@@ -0,0 +1,8 @@+{-# LANGUAGE CPP #-}++module M where++#ifdef FOO+f = (1+#endif+ + 2)
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Console.Encoding where++unicodeSupported :: Handle -> IO Bool+unicodeSupported h = do+#ifndef __MHS__+ (== Just "UTF-8") . fmap show <$> hGetEncoding h+#else+ return True++canonicalize :: FilePath -> IO FilePath+canonicalize = return+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Console.Encoding where++unicodeSupported :: Handle -> IO Bool+unicodeSupported h = do+#ifndef __MHS__+ (== Just "UTF-8") . fmap show <$> hGetEncoding h+#else+ return True++canonicalize :: FilePath -> IO FilePath+canonicalize = return+#endif
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module M where++before = 1++#ifdef FOO+mid = case x of+ A -> 1+ B -> 2+#else+mid = 3+#endif++after = 4
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module M where++before = 1++#ifdef FOO+mid = case x of+ A -> 1+ B -> 2+#else+mid = 3+#endif++after = 4
@@ -0,0 +1,9 @@+{-# LANGUAGE CPP #-}++module M where++#ifdef FOO+mid = 2+#else+mid = 2+#endif
@@ -0,0 +1,9 @@+{-# LANGUAGE CPP #-}++module M where++#ifdef FOO+mid = 2+#else+mid = 2+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Options where++data Options = Options+ { optionsLevel ::+ Maybe+#if MIN_VERSION_base(4,18,0)+ Natural,+#else+ Int,+#endif+ optionsName :: Text+ }
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Options where++data Options = Options+ { optionsLevel :: Maybe+#if MIN_VERSION_base(4,18,0)+ Natural+#else+ Int+#endif+ , optionsName :: Text+ }
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}++module Records.Info where++data RecordInfo = RecordInfo+ { name :: Name,+ constraints :: Cxt,+#if MIN_VERSION_template_haskell(2,21,0)+ typeVarBinders :: [TyVarBndr BndrVis],+#elif MIN_VERSION_template_haskell(2,17,0)+ typeVarBinders :: [TyVarBndr ()],+#else+ typeVarBinders :: [TyVarBndr],+#endif+ kind :: Maybe Kind+ }
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}++module Records.Info where++data RecordInfo = RecordInfo+ { name :: Name+ , constraints :: Cxt+#if MIN_VERSION_template_haskell(2,21,0)+ , typeVarBinders :: [TyVarBndr BndrVis]+#elif MIN_VERSION_template_haskell(2,17,0)+ , typeVarBinders :: [TyVarBndr ()]+#else+ , typeVarBinders :: [TyVarBndr]+#endif+ , kind :: Maybe Kind+ }
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Flags where++flags :: [Flag]+flags =+ [ verbose,+#ifdef WINDOWS+#if WORD_SIZE_IN_BITS == 64+ wide,+#else+ narrow,+#endif+#else+ posix,+#endif+ quiet+ ]
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Flags where++flags :: [Flag]+flags =+ [ verbose+#ifdef WINDOWS+#if WORD_SIZE_IN_BITS == 64+ , wide+#else+ , narrow+#endif+#else+ , posix+#endif+ , quiet+ ]
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Test.State where++state :: State+state =+ MkState+ { terminal = undefined,+ coverageConfidence = undefined,+#if MIN_VERSION_QuickCheck(2,15,0)+ maxTestSize = 0,+ replayStartSize = undefined,+#else+ computeSize = undefined,+#endif+ numTotMaxShrinks = 0,+ expected = True+ }
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module Test.State where++state :: State+state = MkState+ { terminal = undefined+ , coverageConfidence = undefined+#if MIN_VERSION_QuickCheck(2,15,0)+ , maxTestSize = 0+ , replayStartSize = undefined+#else+ , computeSize = undefined+#endif+ , numTotMaxShrinks = 0+ , expected = True+ }
@@ -0,0 +1,21 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 708+{-# LANGUAGE DataKinds #-}+#endif++module Shapes.Generic where++-- Where the module is formatted once per answer to a question, items under+-- that question come last in one answer and are followed by more in the+-- other. The items before them still come out once, as written.+data Shape = Circle | Square+ deriving+ ( Eq,+ Ord+#if __GLASGOW_HASKELL__ >= 704+ , Generic+#endif+#if __GLASGOW_HASKELL__ >= 708+ , Generic1+#endif+ )
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 708+{-# LANGUAGE DataKinds #-}+#endif++module Shapes.Generic where++-- Where the module is formatted once per answer to a question, items under+-- that question come last in one answer and are followed by more in the+-- other. The items before them still come out once, as written.+data Shape = Circle | Square+ deriving ( Eq, Ord+#if __GLASGOW_HASKELL__ >= 704+ , Generic+#endif+#if __GLASGOW_HASKELL__ >= 708+ , Generic1+#endif+ )
@@ -0,0 +1,27 @@+{-# LANGUAGE CPP #-}++module Shapes.Derived where++-- The comma before items that only some configurations have, where nothing+-- follows them, goes on the line of the first of them.+data Shape = Circle | Square+ deriving+ ( Eq,+ Ord+#ifdef WITH_SHOW+ , Show+#endif+#ifdef WITH_DATA+ , Data,+ Typeable+#endif+ )++palette :: [Colour]+palette =+ [ red,+ green+#ifdef WIDE_GAMUT+ , teal+#endif+ ]
@@ -0,0 +1,22 @@+{-# LANGUAGE CPP #-}++module Shapes.Derived where++-- The comma before items that only some configurations have, where nothing+-- follows them, goes on the line of the first of them.+data Shape = Circle | Square+ deriving ( Eq, Ord+#ifdef WITH_SHOW+ , Show+#endif+#ifdef WITH_DATA+ , Data, Typeable+#endif+ )++palette :: [Colour]+palette = [ red, green+#ifdef WIDE_GAMUT+ , teal+#endif+ ]
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++data Vehicle+ =+#ifdef WITH_TRAMS+ Bus+ { busLine :: Int+ }+ | -- buses run on every route++ Tram+#else+ Bus+ { busLine :: Int+ }+-- buses run on every route+#endif
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++data Vehicle =+ Bus {+ busLine :: Int+ }+ -- buses run on every route++#ifdef WITH_TRAMS+ | Tram+#endif
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}++module Terminal.Format (formatOf) where++import System.FilePath (takeExtension)+import Terminal.Format.Types++formatOf :: FilePath -> Format+formatOf path = go (takeExtension path)+ where+ go ".txt" = Plain+ go ".ansi" = Escaped+#if MIN_VERSION_zlib(0,6,0)+ go ".z" = Deflated+#endif+-- Only a new enough encoder knows the compressed form.+#if MIN_VERSION_zlib(0,7,0)+ go ".gz" = Compressed+#endif+ go _ = Binary -- anything else is passed through
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}++module Terminal.Format (formatOf) where++import System.FilePath (takeExtension)+import Terminal.Format.Types++formatOf :: FilePath -> Format+formatOf path = go (takeExtension path)+ where+ go ".txt" = Plain+ go ".ansi" = Escaped+#if MIN_VERSION_zlib(0,6,0)+ go ".z" = Deflated+#endif+ -- Only a new enough encoder knows the compressed form.+#if MIN_VERSION_zlib(0,7,0)+ go ".gz" = Compressed+#endif+ go _ = Binary -- anything else is passed through
@@ -0,0 +1,25 @@+{-# LANGUAGE CPP #-}++module Terminal.Colour+ ( -- * Colours+ Colour (..),++-- A terminal without true colour knows only the sixteen named ones.+#ifdef TRUE_COLOUR+ rgb,+#else+ named,++-- The bright ones are an extension of their own.+#ifdef BRIGHT+ -- ** Bright+ bright,+#endif+#endif++ -- * Rendering+ render,+ )+where++import Terminal.Colour.Internal
@@ -0,0 +1,26 @@+{-# LANGUAGE CPP #-}++module Terminal.Colour+ ( -- * Colours+ Colour (..),++ -- A terminal without true colour knows only the sixteen named ones.+#ifdef TRUE_COLOUR+ rgb,+#else+ named,++ -- The bright ones are an extension of their own.+#ifdef BRIGHT+ -- ** Bright+ bright,+#endif++#endif++ -- * Rendering+ render,+ )+where++import Terminal.Colour.Internal
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Main (main) where++main :: IO ()+main = do+ putStrLn "start"+ -- Sockets are not available on Windows.++#if !defined(mingw32_HOST_OS)+ putStrLn "sockets"+#endif+ putStrLn "stop"
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Main (main) where++main :: IO ()+main = do+ putStrLn "start"+ -- Sockets are not available on Windows.++#if !defined(mingw32_HOST_OS)+ putStrLn "sockets"+#endif+ putStrLn "stop"
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}++module M where++#if MIN_VERSION_thing(9,0,0)+#endif+#ifdef OTHER+#else /* OTHER */+-- a remark+#if MIN_VERSION_thing(9,0,0)+-- * a heading+#endif+#endif /* OTHER */+#if FLAG+f2 = 2++-- | documentation+#else+f1 = 1+#endif
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}++module M where++#if MIN_VERSION_thing(9,0,0)+#endif+#ifdef OTHER+#else /* OTHER */+-- a remark+#if MIN_VERSION_thing(9,0,0)+-- * a heading+#endif+#endif /* OTHER */+#if FLAG+f2 = 2+-- | documentation+#else+f1 = 1+#endif
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module M where++#if MIN_VERSION_thing(9,0,0)+-- * a heading++f8 = 8+#else+-- * a heading+#endif+#if MIN_VERSION_thing(1,0,0)+#else+-- a remark+#if MIN_VERSION_thing(9,0,0)+-- * a heading+#endif+#endif
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module M where++#if MIN_VERSION_thing(9,0,0)+-- * a heading+f8 = 8+#else+-- * a heading+#endif+#if MIN_VERSION_thing(1,0,0)+#else+-- a remark+#if MIN_VERSION_thing(9,0,0)+-- * a heading+#endif+#endif
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++data Vehicle+ =+#ifdef WITH_TRAMS+ Bus+ { busLine :: Int+ }+ | -- buses run on every route++ -- | Only where there are rails.+ Tram+#else+ Bus+ { busLine :: Int+ }+-- buses run on every route+#endif
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++data Vehicle =+ Bus {+ busLine :: Int+ }+ -- buses run on every route+#ifdef WITH_TRAMS+ | Tram+ -- ^ Only where there are rails.+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Route.Night where++surcharge :: Int -> Int+surcharge fare =+ let base = fare + 1+ -- night buses cost more where they run+ in+#ifdef NIGHT_SERVICE+ base * 2+#else+ base+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Route.Night where++surcharge :: Int -> Int+surcharge fare =+ let base = fare + 1+ -- night buses cost more where they run+ in+#ifdef NIGHT_SERVICE+ base * 2+#else+ base+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Timing where++timeout :: Int+#ifdef SLOW_LINK+timeout = 30000+-- A serial line needs a great deal longer than a pipe does.+#else+timeout = 250+#endif++retries :: Int+retries = 3
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Timing where++timeout :: Int+#ifdef SLOW_LINK+timeout = 30000+-- A serial line needs a great deal longer than a pipe does.+#else+timeout = 250+#endif++retries :: Int+retries = 3
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++data Vehicle+ =+#ifdef WITH_TRAMS+ Bus+ { busLine :: Int+ }+ | -- buses run on every route+ Tram+#else+ Bus+ { busLine :: Int+ }+-- buses run on every route+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++data Vehicle =+ Bus {+ busLine :: Int+ }+ -- buses run on every route+#ifdef WITH_TRAMS+ | Tram+#endif
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module M where++-- above+before = 1 -- trailing++#ifdef FOO+mid = 2+#else+mid = 3+#endif++-- below+after = 4
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module M where++-- above+before = 1 -- trailing++#ifdef FOO+mid = 2+#else+mid = 3+#endif++-- below+after = 4
@@ -0,0 +1,21 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 800+{-# LANGUAGE MagicHash #-}+#endif++module Unboxed where++import GHC.Exts++#if __GLASGOW_HASKELL__ >= 802+unbox :: Int -> Int#+unbox (I# n) = n+#endif++#if __GLASGOW_HASKELL__ > 900+twice :: Int# -> Int#+twice n = n *# 2#+#else+twice :: Int -> Int+twice n = n * 2+#endif
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__ >= 800+{-# LANGUAGE MagicHash #-}+#endif+module Unboxed where++import GHC.Exts++#if __GLASGOW_HASKELL__ >= 802+unbox :: Int -> Int#+unbox (I# n) = n+#endif++#if __GLASGOW_HASKELL__ > 900+twice :: Int# -> Int#+twice n = n *# 2#+#else+twice :: Int -> Int+twice n = n*2+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Main (main) where++import qualified Properties+import Test.QuickCheck (quickCheck)++main :: IO ()+main =+ mapM_ quickCheck $+ Properties.basic+#if __GLASGOW_HASKELL__ >= 800+ ++ Properties.nonEmpty+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Main (main) where++import qualified Properties+import Test.QuickCheck (quickCheck)++main :: IO ()+main =+ mapM_ quickCheck $+ Properties.basic+#if __GLASGOW_HASKELL__ >= 800+ ++ Properties.nonEmpty+#endif
@@ -0,0 +1,50 @@+{-# LANGUAGE CPP #-}++-- A conditional that begins in a where clause and goes on into the+-- declarations after it stays one conditional.+module Data.Witness where++withWitness :: Witness a -> ((Known a) => r) -> r+withWitness w k = go k+ where+ go :: ((Known a) => r) -> r+#if MIN_VERSION_base(4,17,0)+ go = withDict @(Known a) w+#else+ go r = unsafeCoerce (Wrap r) w++-- the dictionary of a class with one method is that method+#if __GLASGOW_HASKELL__ >= 810+type Wrap :: Type -> Type -> Type+#endif+newtype Wrap a r = Wrap ((Known a) => r)+#endif++-- Without an #else.+render :: Witness a -> String+render w = label w+ where+ label _ = "witness"+#if WITNESS_DEBUG+ debug = show . Debugged++#if __GLASGOW_HASKELL__ >= 810+type Debugged :: Type -> Type+#endif+newtype Debugged a = Debugged (Witness a)+ deriving (Show)+#endif++-- Bindings lined up after a let leave the conditional in two.+trace :: Witness a -> IO ()+trace w = do+ let name = "witness"+#if WITNESS_DEBUG+ shown = show (Debugged w)+#endif+#if WITNESS_DEBUG+#if __GLASGOW_HASKELL__ >= 810+ putStrLn shown+#endif+#endif+ putStrLn name
@@ -0,0 +1,49 @@+{-# LANGUAGE CPP #-}++-- A conditional that begins in a where clause and goes on into the+-- declarations after it stays one conditional.+module Data.Witness where++withWitness :: Witness a -> ((Known a) => r) -> r+withWitness w k = go k+ where+ go :: ((Known a) => r) -> r+#if MIN_VERSION_base(4,17,0)+ go = withDict @(Known a) w+#else+ go r = unsafeCoerce (Wrap r) w++-- the dictionary of a class with one method is that method+#if __GLASGOW_HASKELL__ >= 810+type Wrap :: Type -> Type -> Type+#endif+newtype Wrap a r = Wrap ((Known a) => r)+#endif++-- Without an #else.+render :: Witness a -> String+render w = label w+ where+ label _ = "witness"+#if WITNESS_DEBUG+ debug = show . Debugged++#if __GLASGOW_HASKELL__ >= 810+type Debugged :: Type -> Type+#endif+newtype Debugged a = Debugged (Witness a)+ deriving (Show)+#endif++-- Bindings lined up after a let leave the conditional in two.+trace :: Witness a -> IO ()+trace w = do+ let+ name = "witness"+#if WITNESS_DEBUG+ shown = show (Debugged w)+#if __GLASGOW_HASKELL__ >= 810+ putStrLn shown+#endif+#endif+ putStrLn name
@@ -0,0 +1,22 @@+{-# LANGUAGE CPP #-}++module Socket.Spec where++-- | Everything the server answers.+spec :: Spec+spec = do+ describe "routes" $ do+ it "serves GET" $ get "/" `shouldRespondWith` 200+ it "serves POST" $ post "/" "" `shouldRespondWith` 200 -- and nothing else+#if !defined(mingw32_HOST_OS)+ -- No unix sockets on Windows.+ describe "sockets"+ $ it "works with a unix socket"+ $ withServer socketPath+ where+ socketPath = "/tmp/test.socket"++-- | Run the server on a socket for as long as the inner action runs.+withServer :: FilePath -> IO a -> IO a+withServer path inner = bracket (listenOn path) close (const inner)+#endif
@@ -0,0 +1,21 @@+{-# LANGUAGE CPP #-}++module Socket.Spec where++-- | Everything the server answers.+spec :: Spec+spec = do+ describe "routes" $ do+ it "serves GET" $ get "/" `shouldRespondWith` 200+ it "serves POST" $ post "/" "" `shouldRespondWith` 200 -- and nothing else+#if !defined(mingw32_HOST_OS)+ -- No unix sockets on Windows.+ describe "sockets" $+ it "works with a unix socket" $+ withServer socketPath+ where socketPath = "/tmp/test.socket"++-- | Run the server on a socket for as long as the inner action runs.+withServer :: FilePath -> IO a -> IO a+withServer path inner = bracket (listenOn path) close (const inner)+#endif
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module M where++before = 1++#ifdef FOO+mid = 2+#else+mid = 3+#endif++after = 4
@@ -0,0 +1,10 @@+{-# LANGUAGE CPP #-}++module M where+before = 1+#ifdef FOO+mid = 2+#else+mid = 3+#endif+after = 4
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}++module Terminal.Cell where++import Data.IORef (IORef)++-- | A cell of the screen.+#ifdef PROFILING+data Cell = Cell+ { cellRef :: {-# UNPACK #-} !(IORef Char),+ cellCount :: {-# UNPACK #-} !Int+ }+#else+newtype Cell = Cell+ { cellRef :: IORef Char+ }+#endif++blank :: Char+blank = ' '
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}+module Terminal.Cell where++import Data.IORef (IORef)++-- | A cell of the screen.+#ifdef PROFILING+data Cell = Cell+ { cellRef :: {-# UNPACK #-} !(IORef Char)+ , cellCount :: {-# UNPACK #-} !Int+#else+newtype Cell = Cell+ { cellRef :: IORef Char+#endif+ }++blank :: Char+blank = ' '
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module M where++-- | documentation+#if FLAG+-- a remark+f9 = 9+#endif+#define WIDE 1+#if FLAG+-- a remark+#endif
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module M where++-- | documentation+#if FLAG+-- a remark+f9 = 9+#endif+#define WIDE 1+#if FLAG+-- a remark+#endif
@@ -8,5 +8,5 @@ instance Described ty where { \ } \ -describe (Int)-describe (Bool)+describe(Int)+describe(Bool)
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module Terminal.Limits where++#define LIMIT \+ 80 \++#include "terminal.h"++width :: Int+width = LIMIT
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module Terminal.Limits where++#define LIMIT \+ 80 \++#include "terminal.h"++width :: Int+width = LIMIT
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}++module Terminal.Palette where++#ifdef TRUE_COLOUR+colours :: Int+colours = 16777216++#undef FALLBACK_PALETTE+#else++#define FALLBACK_PALETTE 1+#endif++palette :: [Int]+palette = [0 .. 15]
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}++module Terminal.Palette where++#ifdef TRUE_COLOUR+colours :: Int+colours = 16777216++#undef FALLBACK_PALETTE+#else++#define FALLBACK_PALETTE 1+#endif++palette :: [Int]+palette = [0 .. 15]
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Build.Make (make) where++-- | The make that understands our makefiles.+make :: String+#if defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS) \+ || defined(openbsd_HOST_OS) || defined(netbsd_HOST_OS)+make = "gmake"+#else+make = "make"+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Build.Make (make) where++-- | The make that understands our makefiles.+make :: String+#if defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS) \+ || defined(openbsd_HOST_OS) || defined(netbsd_HOST_OS)+make = "gmake"+#else+make = "make"+#endif
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}++module Terminal.Win32 where++{-+typedef struct _KEY_EVENT_RECORD {+ BOOL bKeyDown;+ WORD wRepeatCount;+}+#ifdef __GNUC__+/* gcc's alignment is not what win32 expects */+ PACKED+#endif+KEY_EVENT_RECORD;+-}+data KeyEvent = KeyEvent+ { keyDown :: Bool,+ keyRepeat :: Int+ }
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}++module Terminal.Win32 where++{-+typedef struct _KEY_EVENT_RECORD {+ BOOL bKeyDown;+ WORD wRepeatCount;+}+#ifdef __GNUC__+/* gcc's alignment is not what win32 expects */+ PACKED+#endif+KEY_EVENT_RECORD;+-}+data KeyEvent = KeyEvent+ { keyDown :: Bool+ , keyRepeat :: Int+ }
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module M where++#if A+mid = 1+#elif B+mid = 2+#endif++after = 4
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module M where++#if A+mid = 1+#elif B+mid = 2+#endif++after = 4
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Terminal.Features where++supportsColour :: Bool+supportsColour = True++#if MIN_VERSION_base(4,20,0)+#endif++supportsPaste :: Bool+supportsPaste = True
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Terminal.Features where++supportsColour :: Bool+supportsColour = True++#if MIN_VERSION_base(4,20,0)+#else+#endif++supportsPaste :: Bool+supportsPaste = True
@@ -0,0 +1,9 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++#if defined(WITH_TRAMS)+trams :: Int+trams = 1+#define TRAMS 1+#endif
@@ -0,0 +1,10 @@+{-# LANGUAGE CPP #-}++module Route.Vehicle where++#if defined(WITH_TRAMS)+trams :: Int+trams = 1+#define TRAMS 1++#endif
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++-- | Things to export, or none.+module Things+#ifdef HIDE+ () where+#else+ ( thing,+ other,+ )+where++thing :: Int+thing = 1++other :: Int+other = 2+#endif
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}+-- | Things to export, or none.+module Things+#ifdef HIDE+ () where+#else+ ( thing+ , other+ ) where++thing :: Int+thing = 1++other :: Int+other = 2+#endif
@@ -0,0 +1,47 @@+{-# LANGUAGE CPP #-}++module Kiln.Firing where++-- A Haddock that differs between the branches of a conditional is kept in+-- each branch, before a constructor, a field and an argument.+data Firing+ = Bisque+ |+#ifdef GLAZE_ONLY+ -- | Fired once, glazed.+#else+ -- | Fired twice, the second time glazed.+#endif+ Glaze++data Kiln = Kiln+ { temperature :: Int,+#ifdef ELECTRIC+ -- | Watts drawn.+#else+ -- | Gas burnt in an hour.+#endif+ draw :: Int+ }++fire ::+ Kiln ->+#ifdef ELECTRIC+ -- | Minutes to cool.+#else+ -- | Hours to cool.+#endif+ Int ->+ Firing+fire _ _ = Glaze++-- The same for one written after what it documents.+data Cone+ =+#ifdef METRIC+ -- | Below 1100 degrees.+#else+ -- | Below 2000 degrees.+#endif+ Low+ | High
@@ -0,0 +1,45 @@+{-# LANGUAGE CPP #-}++module Kiln.Firing where++-- A Haddock that differs between the branches of a conditional is kept in+-- each branch, before a constructor, a field and an argument.+data Firing+ = Bisque+#ifdef GLAZE_ONLY+ -- | Fired once, glazed.+#else+ -- | Fired twice, the second time glazed.+#endif+ | Glaze++data Kiln = Kiln+ { temperature :: Int+#ifdef ELECTRIC+ -- | Watts drawn.+#else+ -- | Gas burnt in an hour.+#endif+ , draw :: Int+ }++fire ::+ Kiln ->+#ifdef ELECTRIC+ -- | Minutes to cool.+#else+ -- | Hours to cool.+#endif+ Int ->+ Firing+fire _ _ = Glaze++-- The same for one written after what it documents.+data Cone+ = Low+#ifdef METRIC+ -- ^ Below 1100 degrees.+#else+ -- ^ Below 2000 degrees.+#endif+ | High
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module M where++import Data.Maybe (catMaybes)+import Language.Haskell.TH.Syntax+#if MIN_VERSION_template_haskell(2,19,0)+ hiding (makeRelativeToProject)+#endif+import System.Directory (doesFileExist)+import Yesod.Core
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module M where++import Yesod.Core+import System.Directory (doesFileExist)+import Language.Haskell.TH.Syntax+#if MIN_VERSION_template_haskell(2,19,0)+ hiding (makeRelativeToProject)+#endif+import Data.Maybe (catMaybes)
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}+#ifdef USE_ST+{-# LANGUAGE RankNTypes #-}+#endif++module Run where++#if USE_ST+run :: (forall s. s -> s) -> Int+run f = f 1+#endif++count :: Int -> String+count n = "count: " ++ show n
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}+#ifdef USE_ST+{-# LANGUAGE RankNTypes #-}+#endif+module Run where++#if USE_ST+run :: (forall s. s -> s) -> Int+run f = f 1+#endif++count :: Int -> String+count n = "count: " ++ show n
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}+#if !defined(javascript_HOST_ARCH)+{-# LANGUAGE CApiFFI #-}+#endif++module Clock where++#ifndef mingw32_HOST_OS+import Foreign.C++#if defined(javascript_HOST_ARCH) || defined(__MHS__)+foreign import ccall unsafe "time.h time" time :: CLong -> IO CLong+#else+foreign import capi unsafe "time.h time" time :: CLong -> IO CLong+#endif++now :: IO CLong+now = time 0+#endif
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}+#if !defined(javascript_HOST_ARCH)+{-# LANGUAGE CApiFFI #-}+#endif+module Clock where++#ifndef mingw32_HOST_OS+import Foreign.C++#if defined(javascript_HOST_ARCH) || defined(__MHS__)+foreign import ccall unsafe "time.h time" time :: CLong -> IO CLong+#else+foreign import capi unsafe "time.h time" time :: CLong -> IO CLong+#endif++now :: IO CLong+now = time 0+#endif
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module B1 (throw) where++import Control.Exception+#ifdef X+ hiding (throw)++throw :: (Exception e) => e -> a+throw = undefined+#endif
@@ -0,0 +1,10 @@+{-# LANGUAGE CPP #-}+module B1 (throw) where++import Control.Exception+#ifdef X+ hiding (throw)++throw :: Exception e => e -> a+throw = undefined+#endif
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Terminal.Sort where++import Data.Char (toLower)++#if MIN_VERSION_base(4,8,0)+import Data.List (sortOn)+#else+sortOn :: (Ord b) => (a -> b) -> [a] -> [a]+sortOn _ = id+#endif++byName :: [String] -> [String]+byName = sortOn (fmap toLower)++byLength :: [String] -> [String]+byLength = sortOn length
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}+module Terminal.Sort where++import Data.Char (toLower)++#if MIN_VERSION_base(4,8,0)+import Data.List (sortOn)+#else+sortOn :: Ord b => (a -> b) -> [a] -> [a]+sortOn _ = id+#endif++byName :: [String] -> [String]+byName = sortOn (fmap toLower)++byLength :: [String] -> [String]+byLength = sortOn length
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ExplicitForAll #-}++module Kiln.Clock where++-- An import list that a conditional varies whole stays in each branch, on a+-- line of its own.+import Data.Word+#if MIN_VERSION_text(2,0,0)+ (Word8)+#else+ (Word16, Word32)+#endif++-- The same for the binders of a forall.+lookupCont ::+#if defined(__GLASGOW_HASKELL__)+ forall r k v.+#else+ forall k v r.+#endif+ k -> (v -> r) -> r+lookupCont = undefined
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ExplicitForAll #-}++module Kiln.Clock where++-- An import list that a conditional varies whole stays in each branch, on a+-- line of its own.+import Data.Word+#if MIN_VERSION_text(2,0,0)+ (Word8)+#else+ (Word32, Word16)+#endif++-- The same for the binders of a forall.+lookupCont ::+#if defined(__GLASGOW_HASKELL__)+ forall r k v.+#else+ forall k v r.+#endif+ k -> (v -> r) -> r+lookupCont = undefined
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Cache (empty) where++import Data.Char (isSpace)+import+#ifdef STRICT_CACHE+ qualified+#endif+ Data.Map as M+import Text.Read (readMaybe)++empty :: M.Map String String+empty = M.empty
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Cache (empty) where++import Text.Read (readMaybe)+import+#ifdef STRICT_CACHE+ qualified+#endif+ Data.Map as M+import Data.Char (isSpace)++empty :: M.Map String String+empty = M.empty
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Terminal.Size (columns) where++import System.Environment (lookupEnv)+#ifdef mingw32_HOST_OS+{- The console size comes from the environment there as well. -}+#endif+import Data.Maybe (fromMaybe)++columns :: IO Int+columns = read . fromMaybe "80" <$> lookupEnv "COLUMNS"
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Terminal.Size (columns) where++import System.Environment (lookupEnv)+#ifdef mingw32_HOST_OS+ {- The console size comes from the environment there as well. -}+#endif+import Data.Maybe (fromMaybe)++columns :: IO Int+columns = read . fromMaybe "80" <$> lookupEnv "COLUMNS"
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Terminal.Width (width) where++import System.Environment (lookupEnv)+#ifdef WIDE_TERMINALS+#define DEFAULT_WIDTH 132+#endif+import Data.Maybe (fromMaybe)++width :: IO Int+width = read . fromMaybe "80" <$> lookupEnv "COLUMNS"
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Terminal.Width (width) where++import System.Environment (lookupEnv)+#ifdef WIDE_TERMINALS+ #define DEFAULT_WIDTH 132+#endif+import Data.Maybe (fromMaybe)++width :: IO Int+width = read . fromMaybe "80" <$> lookupEnv "COLUMNS"
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module Terminal.Bell (bell) where++{-+import Terminal.Sound+-}+import System.IO (hFlush, stdout)+#ifdef WITH_VISUAL_BELL+import Terminal.Flash (flash)+#endif+import Control.Monad (void)++bell :: IO ()+bell = void (putStr "\a") >> hFlush stdout
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Bell (bell) where+ {-+import Terminal.Sound+ -}+ import System.IO (hFlush, stdout)+#ifdef WITH_VISUAL_BELL+ import Terminal.Flash (flash)+#endif+ import Control.Monad (void)++ bell :: IO ()+ bell = void (putStr "\a") >> hFlush stdout
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module Terminal.Lines (wrap) where++import Text.Read (readMaybe)+#ifdef WITH_TEXT+import Data.Text+#else+import Data.List+#endif+#if MIN_VERSION_base(4,20,0)+ hiding (lines)+#endif+import Data.Char (isSpace)++wrap :: Int -> String -> [String]+wrap n = map (take n) . Prelude.lines
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module Terminal.Lines (wrap) where++import Text.Read (readMaybe)+#ifdef WITH_TEXT+import Data.Text+#else+import Data.List+#endif+#if MIN_VERSION_base(4,20,0)+ hiding (lines)+#endif+import Data.Char (isSpace)++wrap :: Int -> String -> [String]+wrap n = map (take n) . Prelude.lines
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module Terminal.Width (width) where++import Data.Char (isSpace)+#ifdef WITH_WCWIDTH+import Terminal.Wcwidth (wcwidth)+#endif++width :: String -> Int+width = length . filter (not . isSpace)
@@ -0,0 +1,10 @@+{-# LANGUAGE CPP #-}++module Terminal.Width (width) where++import Data.Char (isSpace)+#ifdef WITH_WCWIDTH+import Terminal.Wcwidth (wcwidth)+#endif+width :: String -> Int+width = length . filter (not . isSpace)
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Terminal.Title (setTitle) where++import System.IO (hFlush, stdout)+#ifdef WITH_TERMINFO+import Terminal.Terminfo (lookupCapability)+#endif+import Control.Monad (void)++setTitle :: String -> IO ()+setTitle t = void (putStr ("\ESC]0;" ++ t ++ "\a")) >> hFlush stdout
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Terminal.Title (setTitle) where {+import System.IO (hFlush, stdout);+#ifdef WITH_TERMINFO+ import Terminal.Terminfo (lookupCapability);+#endif+import Control.Monad (void);++setTitle :: String -> IO ();+setTitle t = void (putStr ("\ESC]0;" ++ t ++ "\a")) >> hFlush stdout+}
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Markup where++import Control.Arrow (first, second)+import Control.Monad (when)+#define Html Markup+#define toHtml toMarkup+import Data.Maybe (fromMaybe)+import Data.Text (Text)+import Text.Blaze (Markup, toMarkup)++label :: Text -> Html+label = toHtml
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}+module Terminal.Markup where++import Data.Text (Text)+import Control.Arrow (second)+import Control.Monad (when)+import Text.Blaze (Markup, toMarkup)+#define Html Markup+#define toHtml toMarkup+import Data.Maybe (fromMaybe)+import Control.Arrow (first)++label :: Text -> Html+label = toHtml
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module B2 where++import Data.Maybe (fromMaybe)+#ifdef X+import Data.List (sort)++sorted :: [Int] -> [Int]+sorted = sort+#else+import Data.Char (ord)+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}+module B2 where++import Data.Maybe (fromMaybe)+#ifdef X+import Data.List (sort)++sorted :: [Int] -> [Int]+sorted = sort+#else+import Data.Char (ord)+#endif
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module Terminal.Errors (isUnsupported) where++import Control.Exception (IOException)+#ifndef __MHS__+import GHC.IO.Exception+#else+import System.IO.Error+#endif+ (IOErrorType (..), ioe_type)+import Data.Bool (bool)++isUnsupported :: IOError -> Bool+isUnsupported e = ioe_type e == UnsupportedOperation
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module Terminal.Errors (isUnsupported) where++import Control.Exception (IOException)+#ifndef __MHS__+import GHC.IO.Exception+#else+import System.IO.Error+#endif+ ( ioe_type, IOErrorType(..) )+import Data.Bool (bool)++isUnsupported :: IOError -> Bool+isUnsupported e = ioe_type e == UnsupportedOperation
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}++module Bounds.Check where++#if defined(ASSERTS)+#define CHECK(i) if (i) < 0 then error "negative index" else+#else+#define CHECK(i)+#endif++pick :: Int -> String+pick i =+ CHECK(i)+ case i of+ 0 -> "zero"+ _ -> "more"
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}++module Bounds.Check where++#if defined(ASSERTS)+#define CHECK(i) if (i) < 0 then error "negative index" else+#else+#define CHECK(i)+#endif++pick :: Int -> String+pick i =+ CHECK(i)+ case i of+ 0 -> "zero"+ _ -> "more"
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}++module Queue.Chan where++#define STRICT(x) {-# UNPACK #-} !(x)++data Chan a+ = Chan+ STRICT+ (Int)+ STRICT+ ([a])+ deriving (Eq)
@@ -0,0 +1,9 @@+{-# LANGUAGE CPP #-}++module Queue.Chan where++#define STRICT(x) {-# UNPACK #-} !(x)++data Chan a = Chan STRICT(Int)+ STRICT([a])+ deriving (Eq)
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module Lifted.Instances where++#define LIFTED(T) instance Lifted m => Lifted (T m) where lifted = lift . lifted+LIFTED(IdentityT)+#if !MIN_VERSION_transformers(0,6,0)+LIFTED(ListT)+#endif+LIFTED(MaybeT)+#undef LIFTED
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++module Lifted.Instances where++#define LIFTED(T) instance Lifted m => Lifted (T m) where lifted = lift . lifted+LIFTED(IdentityT)+#if !MIN_VERSION_transformers(0,6,0)+LIFTED(ListT)+#endif+LIFTED(MaybeT)+#undef LIFTED
@@ -0,0 +1,24 @@+{-# LANGUAGE CPP #-}++module Session.Log where++#define LOG(s) trace (s) (pure ())+#define STRICT(x) {-# UNPACK #-} !(x)++data Pair = Pair Int+ STRICT(Int)+ deriving (Eq)++open :: IO ()+open = do+ connect+ LOG("opened")+ where+ connect = pure ()++instance Session IO where+ close = do+ disconnect+ LOG("closed")+ where+ disconnect = pure ()
@@ -0,0 +1,24 @@+{-# LANGUAGE CPP #-}++module Session.Log where++#define LOG(s) trace (s) (pure ())+#define STRICT(x) {-# UNPACK #-} !(x)++data Pair = Pair Int+ STRICT(Int)+ deriving (Eq)++open :: IO ()+open = do+ connect+ LOG("opened")+ where+ connect = pure ()++instance Session IO where+ close = do+ disconnect+ LOG("closed")+ where+ disconnect = pure ()
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}++module Survey.Result where++#ifdef WITH_TRACE+#define TRACE(a) , trace a+#else+#define TRACE(a)+#endif++data Result = Result+ { passed :: Bool,+ message :: String+ TRACE(:: [String])+ }++done :: Result+done =+ Result+ { passed = True,+ message = ""+ TRACE(= [])+ }
@@ -0,0 +1,22 @@+{-# LANGUAGE CPP #-}++module Survey.Result where++#ifdef WITH_TRACE+#define TRACE(a) , trace a+#else+#define TRACE(a)+#endif++data Result = Result+ { passed :: Bool+ , message :: String+ TRACE(:: [String])+ }++done :: Result+done = Result+ { passed = True+ , message = ""+ TRACE(= [])+ }
@@ -0,0 +1,6 @@+{-# LANGUAGE CPP #-}++module M where++#define CLOSE )+f = (1 CLOSE
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Terminal.Named where++class Named a where+ name :: a -> String++#define NAMED(ty, str) \+instance Named ty where { name _ = str }++#define NAMED_PAIR(a, b) \+NAMED(a, "first") ; \+NAMED(b, "second")++NAMED(Int, "int")+NAMED(Bool, "bool")++NAMED_PAIR(Char, Double)
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Terminal.Named where++class Named a where+ name :: a -> String++#define NAMED(ty, str) \+instance Named ty where { name _ = str }++#define NAMED_PAIR(a, b) \+NAMED(a, "first") ; \+NAMED(b, "second")++NAMED(Int, "int")+NAMED(Bool, "bool")++NAMED_PAIR(Char, Double)
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}++module Report.Summary where++-- | How many examples ran, and how many of them failed.+data Summary = Summary Int Int++-- Combining summaries.+instance Monoid Summary where+ mempty = Summary 0 0++#if MIN_VERSION_base(4,11,0)+instance Semigroup Summary where+ Summary x1 x2 `mappend` Summary y1 y2 = Summary (x1 + y1) (x2 + y2)+#else+ Summary x1 x2 `mappend` Summary y1 y2 = Summary (x1 + y1) (x2 + y2)+#endif++isSuccess :: Summary -> Bool+isSuccess (Summary _ failures) = failures == 0
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}++module Report.Summary where++-- | How many examples ran, and how many of them failed.+data Summary = Summary Int Int++-- Combining summaries.+instance Monoid Summary where+ mempty = Summary 0 0+#if MIN_VERSION_base(4,11,0)+instance Semigroup Summary where+#endif+ Summary x1 x2 `mappend` Summary y1 y2 = Summary (x1 + y1) (x2 + y2)++isSuccess :: Summary -> Bool+isSuccess (Summary _ failures) = failures == 0
@@ -0,0 +1,28 @@+{-# LANGUAGE CPP #-}++module Terminal.Signals where++import Data.List+ ( nub,+ sortOn,+#if MIN_VERSION_base(4,8,0)+ foldl1,+#endif+ group,+ )+import System.Posix.Signals+ ( Handler (..),+ installHandler,+#if MIN_VERSION_unix(2,7,0)+ raiseSignal,+ sigINT,+#if MIN_VERSION_unix(2,8,0)+ sigWINCH,+#endif+#else+ sigTERM,+ signalProcess,+#endif+ blockSignals,+ emptySignalSet,+ )
@@ -0,0 +1,22 @@+{-# LANGUAGE CPP #-}+module Terminal.Signals where++import Data.List+ ( sortOn, nub+#if MIN_VERSION_base(4,8,0)+ , foldl1+#endif+ , group+ )+import System.Posix.Signals+ ( installHandler, Handler(..)+#if MIN_VERSION_unix(2,7,0)+ , raiseSignal, sigINT+#if MIN_VERSION_unix(2,8,0)+ , sigWINCH+#endif+#else+ , signalProcess, sigTERM+#endif+ , emptySignalSet, blockSignals+ )
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}++module Terminal.Mask where++import qualified Control.Concurrent as C+import Control.Exception hiding+ ( throwIO,+#if MIN_VERSION_base(4,3,0)+ mask,+#if MIN_VERSION_base(4,4,0)+ allowInterrupt,+#endif+#else+ block,+#endif+ )
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}+module Terminal.Mask where++import Control.Exception hiding+ ( throwIO+#if MIN_VERSION_base(4,3,0)+ , mask+#if MIN_VERSION_base(4,4,0)+ , allowInterrupt+#endif+#else+ , block+#endif+ )+import qualified Control.Concurrent as C
@@ -0,0 +1,25 @@+{-# LANGUAGE CPP #-}++module Terminal.Keymap where++import Data.Maybe (fromMaybe)++#ifdef ORDERED+lookupKey :: Int -> [(Int, String)] -> String+lookupKey k = fromMaybe "" . lookup k+#else+import qualified Data.IntMap as IntMap++lookupKey :: Int -> [(Int, String)] -> String+lookupKey k = fromMaybe "" . IntMap.lookup k . IntMap.fromList+#endif++defaultKey :: Int+defaultKey = 13++backend :: String+#ifdef ORDERED+backend = "list"+#else+backend = "intmap"+#endif
@@ -0,0 +1,24 @@+{-# LANGUAGE CPP #-}+module Terminal.Keymap where++import Data.Maybe (fromMaybe)++#ifdef ORDERED+lookupKey :: Int -> [(Int, String)] -> String+lookupKey k = fromMaybe "" . lookup k+#else+import qualified Data.IntMap as IntMap++lookupKey :: Int -> [(Int, String)] -> String+lookupKey k = fromMaybe "" . IntMap.lookup k . IntMap.fromList+#endif++defaultKey :: Int+defaultKey = 13++backend :: String+#ifdef ORDERED+backend = "list"+#else+backend = "intmap"+#endif
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}+#ifdef FAST+{-# LANGUAGE MagicHash #-}+#endif++module Terminal.Same (same) where++#ifdef FAST+import GHC.Exts (isTrue#, reallyUnsafePtrEquality#)+#endif++same :: a -> a -> Bool+#ifdef FAST+same x y = isTrue# (reallyUnsafePtrEquality# x y)+#else+same _ _ = False+#endif+{-# INLINE same #-}++infix 4 `same`
@@ -0,0 +1,16 @@+{-# LANGUAGE CPP #-}+#ifdef FAST+{-# LANGUAGE MagicHash #-}+#endif+module Terminal.Same (same) where+#ifdef FAST+import GHC.Exts ( isTrue#, reallyUnsafePtrEquality# )+#endif+same :: a -> a -> Bool+#ifdef FAST+same x y = isTrue# (reallyUnsafePtrEquality# x y)+#else+same _ _ = False+#endif+{-# INLINE same #-}+infix 4 `same`
@@ -6,20 +6,14 @@ module Terminal.Key ( Key (..), keyCode,-#if defined(HAVE_PATTERNS) #ifndef NO_NAMES keyName, keyLabel,+#if defined(HAVE_PATTERNS) pattern Escape, pattern Enter,- keyGlyph, #endif-#else-#ifndef NO_NAMES- keyName,- keyLabel, keyGlyph,-#endif #endif ) where
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Console (isConsole) where++#ifdef WINDOWS+import System.Win32.Console (getConsoleMode)+#endif++-- Everything below works the same everywhere.++#ifdef WINDOWS+isConsole :: Handle -> IO Bool+isConsole h = (/= 0) <$> getConsoleMode h+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Terminal.Console (isConsole) where++#ifdef WINDOWS+import System.Win32.Console (getConsoleMode)+#endif++-- Everything below works the same everywhere.++#ifdef WINDOWS+isConsole :: Handle -> IO Bool+isConsole h = (/= 0) <$> getConsoleMode h+#endif
@@ -0,0 +1,24 @@+{-# LANGUAGE CPP #-}++module Main (main) where++main :: IO ()+main = do+ when (verbosity >= 4)+#if MIN_VERSION_base(4,10,0)+ $+ let dump = putStrLn . render+ where+ render = show+ in liftIO $ dump settings+#elif MIN_VERSION_base(4,9,0)+ $+ let dump = print+ in liftIO $ dump settings+#else+ $ liftIO+ $ dump settings+#endif++ when (verbosity >= 3) $ do+ putStrLn "done"
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}++module Main (main) where++main :: IO ()+main = do+ when (verbosity >= 4) $+#if MIN_VERSION_base(4,10,0)+ let dump = putStrLn . render+ where render = show+ in+#elif MIN_VERSION_base(4,9,0)+ let dump = print+ in+#endif+ liftIO $ dump settings++ when (verbosity >= 3) $ do+ putStrLn "done"
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Lens.Classy where++makeClassy :: Name -> Q [Dec]+makeClassy name = do+ methods <- classMethods name+#if MIN_VERSION_template_haskell(2,21,0)+ classD (cxt []) name [] [] [] methods $+#else+ classD (cxt []) name [] [] methods $+#endif+ sigD (mkName "lensOf") (conT name)+ : fmap pure methods
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Lens.Classy where++makeClassy :: Name -> Q [Dec]+makeClassy name = do+ methods <- classMethods name+#if MIN_VERSION_template_haskell(2,21,0)+ classD (cxt []) name [] [] [] methods+#else+ classD (cxt []) name [] [] methods+#endif+ $ sigD (mkName "lensOf") (conT name)+ : fmap pure methods
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE StandaloneDeriving #-}++module Route.Stop where++class Describe a where+ describe :: a -> String++instance+#if __GLASGOW_HASKELL__ >= 710+ {-# OVERLAPPABLE #-}+#endif+ (Show a) => Describe [a] where+ describe = unwords . map show++newtype Stop = Stop Int++deriving instance+#ifdef WITH_OVERLAPS+ {-# OVERLAPPING #-}+#endif+ Show Stop
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE StandaloneDeriving #-}++module Route.Stop where++class Describe a where+ describe :: a -> String++instance+#if __GLASGOW_HASKELL__ >= 710+ {-# OVERLAPPABLE #-}+#endif+ (Show a) => Describe [a] where+ describe = unwords . map show++newtype Stop = Stop Int++deriving instance+#ifdef WITH_OVERLAPS+ {-# OVERLAPPING #-}+#endif+ Show Stop
@@ -0,0 +1,10 @@+{-# LANGUAGE CPP #-}+#if !MIN_VERSION_base(4,8,0)+{-# LANGUAGE DeriveDataTypeable #-}++import Control.Applicative ((<$>))+#endif+import Data.Int++main :: IO ()+main = pure ()
@@ -0,0 +1,11 @@+{-# LANGUAGE CPP #-}++#if !MIN_VERSION_base(4,8,0)+{-# LANGUAGE DeriveDataTypeable #-}+import Control.Applicative ((<$>))+#endif++import Data.Int++main :: IO ()+main = pure ()
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}+#ifdef USE_MAGIC_PROXY+{-# LANGUAGE MagicHash #-}+#endif++module Data.Map.Internal where++import Data.Maybe (fromMaybe)+#if __GLASGOW_HASKELL__+import GHC.Exts (build, lazy)+#ifdef USE_MAGIC_PROXY+import GHC.Exts (Proxy#, proxy#)+#endif+import Data.Coerce+#endif
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}+#ifdef USE_MAGIC_PROXY+{-# LANGUAGE MagicHash #-}+#endif++module Data.Map.Internal where++import Data.Maybe (fromMaybe)+#if __GLASGOW_HASKELL__+import GHC.Exts (build, lazy)+# ifdef USE_MAGIC_PROXY+import GHC.Exts (Proxy#, proxy#)+# endif+import Data.Coerce+#endif
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module Terminal.Text (strip) where++import Text.Read (readMaybe)+#ifdef WITH_LAZY_TEXT+import qualified Data.Text.Lazy as T+#else+import qualified Data.Text as T+#endif+ hiding (lines)+import Data.Char (isSpace)++strip :: T.Text -> T.Text+strip = T.strip
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module Terminal.Text (strip) where++import Text.Read (readMaybe)+#ifdef WITH_LAZY_TEXT+import qualified Data.Text.Lazy as T+#else+import qualified Data.Text as T+#endif+ hiding (lines)+import Data.Char (isSpace)++strip :: T.Text -> T.Text+strip = T.strip
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++module Network.Address where++data Address = Address+ { -- | @www.haskell.org@+ addressHost :: String,+ -- | @42@+ addressPort :: Int+ }+#if __GLASGOW_HASKELL__ >= 702+ deriving (Eq, Ord, Show, Generic)+#else+ deriving (Eq, Ord, Show)+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module Network.Address where++data Address = Address+ { addressHost :: String -- ^ @www.haskell.org@+ , addressPort :: Int -- ^ @42@+#if __GLASGOW_HASKELL__ >= 702+ } deriving (Eq, Ord, Show, Generic)+#else+ } deriving (Eq, Ord, Show)+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module M where++#if FLAG+g = 1+#else+#if FLAG+#else+f = 1+#endif+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module M where++#if FLAG+g = 1+#else+#if FLAG+#else+f = 1+#endif+#endif
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}++module Inventory where++#ifdef STRICT+count = 0+#else+count = 1+#endif++-- Plan:+--+-- * Count what comes in. Count what goes+-- out as well.+--+-- * Never count twice.++----------------------------------------------------------------------------+-- * Making items+----------------------------------------------------------------------------++-- | One thing on a shelf.+data Item = Item
@@ -0,0 +1,22 @@+{-# LANGUAGE CPP #-}+module Inventory where++#ifdef STRICT+count = 0+#else+count = 1+#endif++-- Plan:+--+-- * Count what comes in. Count what goes+-- out as well.+--+-- * Never count twice.++----------------------------------------------------------------------------+-- * Making items+----------------------------------------------------------------------------++-- | One thing on a shelf.+data Item = Item
@@ -0,0 +1,37 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__+{-# LANGUAGE DeriveLift #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskellQuotes #-}+#endif+#ifdef USE_ST+{-# LANGUAGE RankNTypes #-}+#endif++module Graph where++import Data.List (sort)+#ifdef __GLASGOW_HASKELL__+import Language.Haskell.TH.Syntax (Lift (..))+#endif++data SCC v = AcyclicSCC v++#ifdef __GLASGOW_HASKELL__+deriving instance (Show v) => Show (SCC v)++#if MIN_VERSION_template_haskell(2,15,0)+deriving instance (Lift v) => Lift (SCC v)+#else+instance (Lift v) => Lift (SCC v) where+ lift (AcyclicSCC v) = [|AcyclicSCC v|]+#endif+#endif++#if USE_ST+run :: (forall s. s -> s) -> Int+run f = f 1+#endif++f :: Int+f = 1
@@ -0,0 +1,38 @@+{-# LANGUAGE CPP #-}+#if __GLASGOW_HASKELL__+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE DeriveLift #-}+{-# LANGUAGE TemplateHaskellQuotes #-}+#endif+#ifdef USE_ST+{-# LANGUAGE RankNTypes #-}+#endif+module Graph where++import Data.List (sort)++#ifdef __GLASGOW_HASKELL__+import Language.Haskell.TH.Syntax (Lift(..))+#endif++data SCC v = AcyclicSCC v++#ifdef __GLASGOW_HASKELL__+deriving instance Show v => Show (SCC v)++#if MIN_VERSION_template_haskell(2,15,0)+deriving instance Lift v => Lift (SCC v)+#else+instance Lift v => Lift (SCC v) where+ lift (AcyclicSCC v) = [| AcyclicSCC v |]+#endif++#endif++#if USE_ST+run :: (forall s. s -> s) -> Int+run f = f 1+#endif++f :: Int+f = 1
@@ -0,0 +1,27 @@+{-# LANGUAGE CPP #-}++module Terminal.Features+ ( supportsColour,+#ifndef NO_PASTE+ supportsPaste,+#endif /* NO_PASTE */+ )+where++#ifdef WINDOWS /* the console */+supportsColour :: Bool+supportsColour = False+#else /* a terminal */+supportsColour :: Bool+supportsColour = True+#endif /* WINDOWS */++#if MIN_VERSION_base(4,20,0)+#else /* nothing to add */+#endif // MIN_VERSION_base++#ifndef NO_PASTE+supportsPaste :: Bool+supportsPaste = True+#else /* NO_PASTE */+#endif
@@ -0,0 +1,27 @@+{-# LANGUAGE CPP #-}++module Terminal.Features+ ( supportsColour,+#ifndef NO_PASTE+ supportsPaste,+#endif /* NO_PASTE */+ )+where++#ifdef WINDOWS /* the console */+supportsColour :: Bool+supportsColour = False+#else /* a terminal */+supportsColour :: Bool+supportsColour = True+#endif /* WINDOWS */++#if MIN_VERSION_base(4,20,0)+#else /* nothing to add */+#endif // MIN_VERSION_base++#ifndef NO_PASTE+supportsPaste :: Bool+supportsPaste = True+#else /* NO_PASTE */+#endif
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Settings (settings) where++import Options (Options (..), defaultOptions)++settings :: Options+settings =+ defaultOptions+ { optionA = True,+-- Highlighting is on by default, as it was+-- in earlier releases.+#if MIN_VERSION_base(4,20,0)+ optionB = True+#else+ optionB = False+#endif+ }
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}++module Settings (settings) where++import Options (Options (..), defaultOptions)++settings :: Options+settings =+ defaultOptions+ { optionA = True+ , -- Highlighting is on by default, as it was+ -- in earlier releases.+#if MIN_VERSION_base(4,20,0)+ optionB = True+#else+ optionB = False+#endif+ }
@@ -0,0 +1,24 @@+{-# LANGUAGE CPP #-}++module Data.Window where++#if MIN_VERSION_base(4,8,0)+import Data.List (sort)+#endif++-- | Give a window over a list. GHC ends it at a line beginning with three+-- dashes, so nothing needs to hold the lines from there on off it.+--+-- @+-- window4+--- :: [Int]+-- -> [Int]+-- window4 = window+-- @+window :: [Int] -> [Int]+window = id++-- | All the windows.+---------------------------------------------------------------------------+windows :: [[Int]]+windows = []
@@ -0,0 +1,24 @@+{-# LANGUAGE CPP #-}++module Data.Window where++#if MIN_VERSION_base(4,8,0)+import Data.List (sort)+#endif++-- | Give a window over a list. GHC ends it at a line beginning with three+-- dashes, so nothing needs to hold the lines from there on off it.+--+-- @+-- window4+--- :: [Int]+-- -> [Int]+-- window4 = window+-- @+window :: [Int] -> [Int]+window = id++-- | All the windows.+---------------------------------------------------------------------------+windows :: [[Int]]+windows = []
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}++-- Taking the #else of the first conditional and the branch of the second,+-- each adds to the space between the first Haddock and the heading, the+-- second nearer the Haddock, which documents what it adds.+module Codec.Frame where++#if FAST+#else+-- | Decoding a frame.+#if MIN_VERSION_bytestring(0,11,0)+#else+-- | Decoding a frame, copying it first.+#endif+#endif+#if FAST+#if MIN_VERSION_bytestring(0,11,0)+#else+decode = copy+#endif+#endif++-- * Encoding
@@ -0,0 +1,23 @@+{-# LANGUAGE CPP #-}++-- Taking the #else of the first conditional and the branch of the second,+-- each adds to the space between the first Haddock and the heading, the+-- second nearer the Haddock, which documents what it adds.+module Codec.Frame where++#if FAST+#else+-- | Decoding a frame.+#if MIN_VERSION_bytestring(0,11,0)+#else+-- | Decoding a frame, copying it first.+#endif+#endif+#if FAST++#if MIN_VERSION_bytestring(0,11,0)+#else+decode = copy+#endif+#endif+-- * Encoding
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module M where++f =+ a+#if X+ + b+#endif+#if Y+ + c+#endif
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++module M where++f =+ a+#if X+ + b+#endif+#if Y+ + c+#endif
@@ -0,0 +1,21 @@+{-# LANGUAGE CPP #-}+#if MIN_VERSION_base(4,10,0)+{-# LANGUAGE MagicHash #-}+#endif++module Raise (raiseIt, sorted) where++import Control.Exception+#if MIN_VERSION_base(4,10,0) && !MIN_VERSION_base(4,12,0)+ hiding (throw)+import GHC.Exts (raise#)+#endif+import Data.List (sort)++#if MIN_VERSION_base(4,10,0)+raiseIt :: SomeException -> a+raiseIt = raise#+#endif++sorted :: [Int] -> [Int]+sorted = sort
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}+#if MIN_VERSION_base(4,10,0)+{-# LANGUAGE MagicHash #-}+#endif+module Raise (raiseIt, sorted) where++import Control.Exception+#if MIN_VERSION_base(4,10,0) && !MIN_VERSION_base(4,12,0)+ hiding (throw)+import GHC.Exts (raise#)+#endif+import Data.List (sort)++#if MIN_VERSION_base(4,10,0)+raiseIt :: SomeException -> a+raiseIt = raise#+#endif++sorted :: [Int] -> [Int]+sorted = sort
@@ -0,0 +1,18 @@+{-# LANGUAGE CPP #-}+#if MIN_VERSION_base(4,10,0)+{-# LANGUAGE MagicHash #-}+#endif++module Words where++#if MIN_VERSION_base(4,11,0)+import GHC.Exts (Int (I#), (+#))+#endif++#if MIN_VERSION_base(4,11,0)+plusOne :: Int -> Int+plusOne (I# n) = I# (n +# 1#)+#else+plusOne :: Int -> Int+plusOne n = n + 1+#endif
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}+#if MIN_VERSION_base(4,10,0)+{-# LANGUAGE MagicHash #-}+#endif+module Words where++#if MIN_VERSION_base(4,11,0)+import GHC.Exts (Int (I#), (+#))+#endif++#if MIN_VERSION_base(4,11,0)+plusOne :: Int -> Int+plusOne (I# n) = I# (n +# 1#)+#else+plusOne :: Int -> Int+plusOne n = n+1+#endif
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}+#if MIN_VERSION_base(4,10,0)+{-# LANGUAGE MagicHash #-}+#endif++module Words where++import Data.Bits (shiftL)+#if MIN_VERSION_base(4,11,0)+import GHC.Exts (Int (I#), uncheckedIShiftL#)++double :: Int -> Int+double (I# n) = I# (uncheckedIShiftL# n 1#)+#endif
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}+#if MIN_VERSION_base(4,10,0)+{-# LANGUAGE MagicHash #-}+#endif+module Words where++import Data.Bits (shiftL)+#if MIN_VERSION_base(4,11,0)+import GHC.Exts (Int (I#), uncheckedIShiftL#)++double :: Int -> Int+double (I# n) = I# (uncheckedIShiftL# n 1#)+#endif
@@ -0,0 +1,22 @@+{-# LANGUAGE CPP #-}++-- No answer turns an extension on, but taking no branch of the first+-- conditional and the branch of the second leaves a comma with nothing+-- before it.+module Data.Compat+ (+#if !(MIN_VERSION_base(4,16,0))+ Solo (..),+#endif+#if !(MIN_VERSION_base(4,14,0))+ Pair (..),+#endif+ )+where++#if !(MIN_VERSION_base(4,16,0))+newtype Solo a = Solo a+#endif+#if !(MIN_VERSION_base(4,14,0))+data Pair a = Pair a a+#endif
@@ -0,0 +1,21 @@+{-# LANGUAGE CPP #-}++-- No answer turns an extension on, but taking no branch of the first+-- conditional and the branch of the second leaves a comma with nothing+-- before it.+module Data.Compat+ (+#if !(MIN_VERSION_base(4,16,0))+ Solo (..)+#endif+#if !(MIN_VERSION_base(4,14,0))+ , Pair (..)+#endif+ ) where++#if !(MIN_VERSION_base(4,16,0))+newtype Solo a = Solo a+#endif+#if !(MIN_VERSION_base(4,14,0))+data Pair a = Pair a a+#endif
@@ -0,0 +1,50 @@+{-# LANGUAGE CPP #-}++-- A where clause written once, after the branches of an equation, stays+-- there rather than going into each of them.+module Cache.Evict where++evict :: Int -> Int+#if MIN_VERSION_base(4,16,0)+evict n = keep (n - 1)+#else+evict n = keep n+#endif+ where+ keep = max 0++-- Guards in one branch and not the other.+shrink :: Int -> Int+#if MIN_VERSION_base(4,16,0)+shrink n+ | n > limit = limit+ | otherwise = n+#else+shrink n = min n limit+#endif+ where+ limit = 64++-- The same for an alternative of a case.+stale :: Maybe Int -> Int+stale m = case m of+#if MIN_VERSION_base(4,16,0)+ Just n -> age n+#else+ Just n -> age (n + 1)+#endif+ where+ age = subtract 1+ Nothing -> 0++-- A where clause in each branch stays in each.+expire :: Int -> Int+#if MIN_VERSION_base(4,16,0)+expire n = ttl n+ where+ ttl = (* 2)+#else+expire n = ttl n+ where+ ttl = id+#endif
@@ -0,0 +1,50 @@+{-# LANGUAGE CPP #-}++-- A where clause written once, after the branches of an equation, stays+-- there rather than going into each of them.+module Cache.Evict where++evict :: Int -> Int+#if MIN_VERSION_base(4,16,0)+evict n = keep (n - 1)+#else+evict n = keep n+#endif+ where+ keep = max 0++-- Guards in one branch and not the other.+shrink :: Int -> Int+#if MIN_VERSION_base(4,16,0)+shrink n+ | n > limit = limit+ | otherwise = n+#else+shrink n = min n limit+#endif+ where+ limit = 64++-- The same for an alternative of a case.+stale :: Maybe Int -> Int+stale m = case m of+#if MIN_VERSION_base(4,16,0)+ Just n -> age n+#else+ Just n -> age (n + 1)+#endif+ where+ age = subtract 1+ Nothing -> 0++-- A where clause in each branch stays in each.+expire :: Int -> Int+#if MIN_VERSION_base(4,16,0)+expire n = ttl n+ where+ ttl = (* 2)+#else+expire n = ttl n+ where+ ttl = id+#endif
@@ -0,0 +1,26 @@+{- | -}+module Kiln.Glaze where++-- A Haddock that holds nothing but a space, as the one above the header+-- does, would lose it at the end of its line and hold nothing, so it comes+-- out as a block comment. The same goes before a constructor, a field and+-- an argument.+data Finish+ = {- | -}+ Matte+ | Gloss++data Kiln = Kiln+ { {- | -} temperature :: Int+ }++fire ::+ {- | -} Int ->+ Kiln+fire = Kiln++-- One with nothing after its trigger stays as it is.++-- |+glaze :: Finish+glaze = Matte
@@ -0,0 +1,28 @@+-- | +module Kiln.Glaze where++-- A Haddock that holds nothing but a space, as the one above the header+-- does, would lose it at the end of its line and hold nothing, so it comes+-- out as a block comment. The same goes before a constructor, a field and+-- an argument.+data Finish+ = -- | + Matte+ | Gloss++data Kiln = Kiln+ { -- | + temperature :: Int+ }++fire ::+ -- | + Int ->+ Kiln+fire = Kiln++-- One with nothing after its trigger stays as it is.++-- |+glaze :: Finish+glaze = Matte
@@ -0,0 +1,42 @@+-- A Haddock in a local signature documents nothing, so it comes out as+-- ordinary comments, a comment for each of its lines.+twoLines :: Int+twoLines = g 1 2+ where+ g ::+ Int -> -- \^ a+ Int -> -- \^ b, which goes+ -- on to a second line+ Int+ g = (+)++-- The same over three lines, the last of them lined up with the code.+threeLines :: Int+threeLines = g 1 2+ where+ g ::+ Int -> -- \^ a, which goes+ -- on to a second line+ -- and a third+ Int ->+ Int+ g = (+)++-- One on the lines above a local binding.+above :: Int+above = g+ where+ -- \| What g is,+ -- over two lines.+ g = 1++-- A block one stays one comment.+block :: Int+block = g 1+ where+ g ::+ Int {- \^ a, which goes+ on to a second line -}+ ->+ Int+ g = id
@@ -0,0 +1,41 @@+-- A Haddock in a local signature documents nothing, so it comes out as+-- ordinary comments, a comment for each of its lines.+twoLines :: Int+twoLines = g 1 2+ where+ g+ :: Int -- ^ a+ -> Int -- ^ b, which goes+ -- on to a second line+ -> Int+ g = (+)++-- The same over three lines, the last of them lined up with the code.+threeLines :: Int+threeLines = g 1 2+ where+ g+ :: Int -- ^ a, which goes+ -- on to a second line+ -- and a third+ -> Int+ -> Int+ g = (+)++-- One on the lines above a local binding.+above :: Int+above = g+ where+ -- | What g is,+ -- over two lines.+ g = 1++-- A block one stays one comment.+block :: Int+block = g 1+ where+ g+ :: Int {- ^ a, which goes+ on to a second line -}+ -> Int+ g = id
@@ -0,0 +1,18 @@+module Options where++data Options = Options+ { -- | Recover from errors.+ --+ -- Invalid input is taken literally.+ recover :: Bool,+ strict :: Bool+ }++parse ::+ -- | Options to parse with.+ --+ -- Strict ones reject what others let through.+ Options ->+ String ->+ Maybe Int+parse _ _ = Nothing
@@ -0,0 +1,18 @@+module Options where++data Options = Options+ { recover :: Bool+ -- ^Recover from errors.+ --+ -- Invalid input is taken literally.+ , strict :: Bool+ }++parse ::+ Options ->+ -- ^Options to parse with.+ --+ -- Strict ones reject what others let through.+ String ->+ Maybe Int+parse _ _ = Nothing
@@ -0,0 +1,5 @@+module Tutorial+ {-# DEPRECATED "Use something else" #-}+where++x = 1
@@ -0,0 +1,5 @@+module Tutorial+ {-# DEPRECATED "Use something else" #-}+ where++x = 1
@@ -0,0 +1,3 @@+module Tutorial {-# WARNING "Use something else" #-} where++x = 1
@@ -0,0 +1,4 @@+module Tutorial {-# WARNING "Use something else" #-}+ where++x = 1
@@ -0,0 +1,17 @@+module Shapes.Kind+ ( Shape (Circle, Square),+ Side+ ( Top,+ Bottom+ ),+ area,+ )+where++data Shape = Circle Double | Square Double++data Side = Top | Bottom++area :: Shape -> Double+area (Circle r) = pi * r * r+area (Square a) = a * a
@@ -0,0 +1,17 @@+module Shapes.Kind+ ( Shape+ (Circle, Square),+ Side+ ( Top,+ Bottom+ ),+ area+ ) where++data Shape = Circle Double | Square Double++data Side = Top | Bottom++area :: Shape -> Double+area (Circle r) = pi * r * r+area (Square a) = a * a
@@ -0,0 +1,15 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wall #-}+{-# OPTIONS_GHC -Wno-unused-imports #-}+{-# OPTIONS_GHC -Wall #-}+{-# OPTIONS_GHC -fplugin=GHC.TypeLits.Normalise #-}+{-# OPTIONS_GHC -fplugin=GHC.TypeLits.KnownNat.Solver #-}++module Kiln.Glaze where++-- GHC reads the flags of the options pragmas in the order they are written,+-- a later one overriding an earlier one, so they keep that order, and only a+-- pragma written twice in a row is written once.+glaze :: Int+glaze = 1
@@ -0,0 +1,16 @@+{-# OPTIONS_GHC -Wall #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -Wno-unused-imports #-}+{-# OPTIONS_GHC -Wall #-}+{-# OPTIONS_GHC -Wall #-}+{-# LANGUAGE DataKinds #-}+{-# OPTIONS_GHC -fplugin=GHC.TypeLits.Normalise #-}+{-# OPTIONS_GHC -fplugin=GHC.TypeLits.KnownNat.Solver #-}++module Kiln.Glaze where++-- GHC reads the flags of the options pragmas in the order they are written,+-- a later one overriding an earlier one, so they keep that order, and only a+-- pragma written twice in a row is written once.+glaze :: Int+glaze = 1
@@ -0,0 +1,30 @@+module Inventory+ ( -- * Items+ -- in the order they come in+ Item,+ newItem,+ )+where++count = 0++-- Plan:+--+-- * Count what comes in. Count what goes+-- out as well.+--+-- * Never count twice.++-- | One thing on a shelf.+data Item = Item++----------------------------------------------------------------------------+-- * Making items+----------------------------------------------------------------------------++newItem :: Item+newItem = Item++-- * Checking items+-- once there is something to check+check = True
@@ -0,0 +1,30 @@+module Inventory+ ( -- * Items+ -- in the order they come in+ Item,+ newItem,+ )+where++count = 0++-- Plan:+--+-- * Count what comes in. Count what goes+-- out as well.+--+-- * Never count twice.++-- | One thing on a shelf.+data Item = Item++----------------------------------------------------------------------------+-- * Making items+----------------------------------------------------------------------------++newItem :: Item+newItem = Item++-- * Checking items+-- once there is something to check+check = True
@@ -0,0 +1,15 @@+module Matching where++matches :: Int -> Int -> Bool+matches a b = a == b -- quick test+ -- and not the full one++instance Eq Ledger where+ a == b = name a == name b -- names only+ -- the rest follows from them++render :: Int -> [Int]+render x = case x of+ 0 -> [1] -- a zero-width space+ -- to avoid an empty box+ _ -> []
@@ -0,0 +1,15 @@+module Matching where++matches :: Int -> Int -> Bool+matches a b = a == b -- quick test+ -- and not the full one++instance Eq Ledger where+ a == b = name a == name b -- names only+ -- the rest follows from them++render :: Int -> [Int]+render x = case x of+ 0 -> [1] -- a zero-width space+ -- to avoid an empty box+ _ -> []
@@ -0,0 +1,18 @@+module Data.Window where++-- | Give a window over a list. GHC ends it at a line beginning with three+-- dashes, so nothing needs to hold the lines from there on off it.+--+-- @+-- window4+--- :: [Int]+-- -> [Int]+-- window4 = window+-- @+window :: [Int] -> [Int]+window = id++-- | All the windows.+---------------------------------------------------------------------------+windows :: [[Int]]+windows = []
@@ -0,0 +1,18 @@+module Data.Window where++-- | Give a window over a list. GHC ends it at a line beginning with three+-- dashes, so nothing needs to hold the lines from there on off it.+--+-- @+-- window4+--- :: [Int]+-- -> [Int]+-- window4 = window+-- @+window :: [Int] -> [Int]+window = id++-- | All the windows.+---------------------------------------------------------------------------+windows :: [[Int]]+windows = []
@@ -0,0 +1,13 @@+-------------------------------------------------------------------------++{-# LANGUAGE Trustworthy #-}+{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}++-------------------------------------------------------------------------++-- |+-- Module : T++{-# HLINT ignore "Avoid restricted function" #-}++module T where
@@ -0,0 +1,11 @@+-------------------------------------------------------------------------+-- |+-- Module : T+-------------------------------------------------------------------------++{-# LANGUAGE Trustworthy #-}++{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}+{-# HLINT ignore "Avoid restricted function" #-}++module T where
@@ -0,0 +1,10 @@+module Kiln.Glaze where++-- A DEPRECATED or WARNING pragma that names nothing is a declaration of its+-- own, and is kept.+{-# DEPRECATED #-}++{-# WARNING #-}++glaze :: Int+glaze = 1
@@ -0,0 +1,9 @@+module Kiln.Glaze where++-- A DEPRECATED or WARNING pragma that names nothing is a declaration of its+-- own, and is kept.+{-# DEPRECATED #-}+{-# warning #-}++glaze :: Int+glaze = 1
@@ -24,16 +24,19 @@ where import Data.ByteString qualified as BS+import Data.Generics.Schemes (listify) import Data.IORef import Data.List (isSuffixOf, sortOn) import Data.List.NonEmpty qualified as NE import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map+import Data.Maybe (fromMaybe) import Data.Ord (Down (..)) import Data.Set (Set) import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T+import Distribution.Compiler (CompilerFlavor (..)) import Distribution.Fields.ParseResult (runParseResult) import Distribution.ModuleName qualified as ModuleName import Distribution.PackageDescription@@ -42,19 +45,25 @@ BuildInfo (..), CondBranch (..), CondTree (..),+ ConfVar (..), Executable (..), GenericPackageDescription (..), Library (..),+ PackageFlag (..), TestSuite (..), TestSuiteInterface (..), ) import Distribution.PackageDescription.Parsec (parseGenericPackageDescription)-import Distribution.Parsec (showPError)+import Distribution.Parsec (showPError, simpleParsec)+import Distribution.System (buildArch, buildOS)+import Distribution.Types.BuildInfo (usedExtensions)+import Distribution.Types.CondTree (mapTreeConstrs, simplifyCondTree) #if MIN_VERSION_Cabal_syntax(3, 14, 0) import Distribution.Utils.Path (SymbolicPathX, getSymbolicPath) #else import Distribution.Utils.Path (getSymbolicPath) #endif+import Distribution.Version (Version, withinRange) import GHC.Driver.Session qualified as GHC import GHC.LanguageExtensions.Type (Extension) import Language.Haskell.Extension qualified as Cabal@@ -70,6 +79,7 @@ (</>), ) import Tilia.Pragma (lookupExtension)+import Tilia.Process (readProgramOutput) import Tilia.Utils (attempted, quietly) -- | Why a file's extensions could not be settled.@@ -105,17 +115,24 @@ newPackageReader = do covering <- newIORef Map.empty described <- newIORef Map.empty+ asked <- newIORef Nothing+ let compiler =+ readIORef asked >>= \case+ Just version -> pure version+ Nothing -> do+ version <- compilerVersion+ version <$ writeIORef asked (Just version) pure $ \path -> quietly (Left NoPackageFile) $ do file <- canonicalizePath path from <- startingDirectory file findCabalFile covering from >>= \case Nothing -> pure (Left NoPackageFile) Just cabalFile ->- componentsOf described cabalFile >>= \case+ componentsOf compiler described cabalFile >>= \case Left problem -> pure (Left problem) Right components | equalFilePath file (takeDirectory cabalFile </> setupScript) ->- pure (Right (extensionsInForce mempty))+ pure (Right (GHC.languageExtensions Nothing)) | otherwise -> pure $ case claiming file components of Just c -> Right (componentExtensions c) Nothing -> Left (FileUnclaimed cabalFile)@@ -202,10 +219,11 @@ -- | What a @.cabal@ file amounts to. componentsOf ::+ IO (Maybe Version) -> IORef (Map FilePath (Either PackageProblem [ComponentBranch])) -> FilePath -> IO (Either PackageProblem [ComponentBranch])-componentsOf ref cabalFile = do+componentsOf compiler ref cabalFile = do known <- readIORef ref case Map.lookup cabalFile known of Just answer -> pure answer@@ -221,13 +239,45 @@ case snd (runParseResult (parseGenericPackageDescription bytes)) of Left (_, complaints) -> pure (Left (PackageMalformed cabalFile (fmap said (NE.toList complaints))))- Right description ->+ Right description -> do+ valueOf <- conditionValues compiler description Right <$> traverse (componentBranch (takeDirectory cabalFile))- (sectionsInForce description)+ (sectionsInForce valueOf description) said = T.pack . showPError cabalFile +-- | The value a build of a package on this platform gives each variable its+-- conditions ask about.+conditionValues ::+ -- | The compiler's version, asked for only where a condition names it.+ IO (Maybe Version) ->+ -- | The package, whose flags take their defaults.+ GenericPackageDescription ->+ IO (ConfVar -> Either ConfVar Bool)+conditionValues compiler described = do+ version <-+ if null (listify namesCompiler described)+ then pure Nothing+ else compiler+ pure $ \case+ OS os -> Right (os == buildOS)+ Arch arch -> Right (arch == buildArch)+ v@(PackageFlag name) -> maybe (Left v) Right (lookup name defaults)+ v@(Impl GHC range) -> maybe (Left v) (Right . (`withinRange` range)) version+ Impl _ _ -> Right False+ where+ namesCompiler = \case+ Impl _ _ -> True+ _ -> False+ defaults = [(flagName f, flagDefault f) | f <- genPackageFlags described]++-- | The version of the @ghc@ on the path, which builds the package.+compilerVersion :: IO (Maybe Version)+compilerVersion =+ (simpleParsec . T.unpack . T.strip =<<)+ <$> readProgramOutput "ghc" ["--numeric-version"]+ -- | One branch, with its directories resolved and its extensions settled. componentBranch :: FilePath -> ComponentSection -> IO ComponentBranch componentBranch root ComponentSection{..} = do@@ -248,9 +298,18 @@ -- | What is in force in each branch of every component, in the order they -- are declared.-sectionsInForce :: GenericPackageDescription -> [ComponentSection]-sectionsInForce described =- (\BranchSections{..} -> inheritedSection <> ownSection)+sectionsInForce ::+ -- | The value the build gives each variable a condition asks about.+ (ConfVar -> Either ConfVar Bool) ->+ -- | The package.+ GenericPackageDescription ->+ [ComponentSection]+sectionsInForce valueOf described =+ ( \BranchSections{..} ->+ inheritedSection+ <> ownSection+ <> ComponentSection (builtSettings valueOf) [] []+ ) <$> concat [ foldMap libraryBranches (condLibrary described), concatMap (libraryBranches . snd) (condSubLibraries described),@@ -283,21 +342,24 @@ { -- | What it inherits from the branches around it. inheritedSection :: ComponentSection, -- | What it declares itself.- ownSection :: ComponentSection+ ownSection :: ComponentSection,+ -- | The build settings of its component in a build, given the value the+ -- build gives each variable a condition asks about.+ builtSettings :: (ConfVar -> Either ConfVar Bool) -> BuildInfo } -- | Every branch of a library.-libraryBranches :: CondTree v c Library -> [BranchSections]+libraryBranches :: CondTree ConfVar c Library -> [BranchSections] libraryBranches = branchesOf $ \l -> declaring (libBuildInfo l) (exposedModules l <> signatures l) [] -- | Every branch of an executable.-executableBranches :: CondTree v c Executable -> [BranchSections]+executableBranches :: CondTree ConfVar c Executable -> [BranchSections] executableBranches = branchesOf $ \e -> declaring (buildInfo e) [] [entryPoint (modulePath e)] -- | Every branch of a test suite.-suiteBranches :: CondTree v c TestSuite -> [BranchSections]+suiteBranches :: CondTree ConfVar c TestSuite -> [BranchSections] suiteBranches = branchesOf $ \s -> case testInterface s of TestSuiteExeV10 _ path -> declaring (testBuildInfo s) [] [entryPoint path]@@ -305,19 +367,26 @@ _ -> declaring (testBuildInfo s) [] [] -- | Every branch of a benchmark.-benchmarkBranches :: CondTree v c Benchmark -> [BranchSections]+benchmarkBranches :: CondTree ConfVar c Benchmark -> [BranchSections] benchmarkBranches = branchesOf $ \b -> case benchmarkInterface b of BenchmarkExeV10 _ path -> declaring (benchmarkBuildInfo b) [] [entryPoint path] _ -> declaring (benchmarkBuildInfo b) [] [] -- | Every branch of a component.-branchesOf :: (a -> ComponentSection) -> CondTree v c a -> [BranchSections]-branchesOf f = go mempty+branchesOf ::+ (Semigroup a) =>+ (a -> ComponentSection) ->+ CondTree ConfVar c a ->+ [BranchSections]+branchesOf f root = go mempty root where+ built valueOf =+ sectionInfo . f . snd $+ simplifyCondTree valueOf (mapTreeConstrs (const ()) root) go inherited node = let own = f (condTreeData node)- in BranchSections inherited own+ in BranchSections inherited own built : concatMap (branches (inherited <> own)) (condTreeComponents node) branches inherited (CondBranch _ yes no) = go inherited yes <> foldMap (go inherited) no@@ -399,9 +468,9 @@ -- | The extensions a component puts in force, before any module's pragmas. extensionsInForce :: BuildInfo -> [Extension] extensionsInForce bi =- foldl apply (GHC.languageExtensions edition) (defaultExtensions bi)+ foldl apply (GHC.languageExtensions edition) (usedExtensions bi) where- edition = ghcLanguage =<< defaultLanguage bi+ edition = ghcLanguage (fromMaybe Cabal.Haskell98 (defaultLanguage bi)) apply acc = \case Cabal.EnableExtension e | Just on <- named e, on `notElem` acc -> acc <> [on]
@@ -30,7 +30,6 @@ import Data.Text (Text) import Data.Text qualified as T import Data.Text.Encoding qualified as T-import Data.Text.IO qualified as T import Distribution.Fields.Field (Field (..), FieldLine (..), Name (..)) import Distribution.Fields.ParseResult (runParseResult) import Distribution.Fields.Parser (readFields)@@ -48,7 +47,6 @@ ( dropExtension, dropTrailingPathSeparator, normalise,- splitDirectories, takeDirectory, takeExtension, (</>),@@ -66,6 +64,7 @@ ) import Tilia.Cabal.Project (Marker (..), ProjectRoot (..), markerFile) import Tilia.Fixity.Plan (PlanComponent (..))+import Tilia.Ignore (belowRoot, ignoreFilesAbove, isIgnored) import Tilia.Utils (attempted, quietly) -- | Which components a run was asked for.@@ -246,13 +245,18 @@ T.intercalate ":" (foldMap pure package <> [spellKind kind, name]) -- | Every Haskell file a set of components holds, each named once, less--- the ones the project's @.tiliaignore@ excludes.+-- the ones the project's @.tiliaignore@ files exclude. filesOfComponents :: ProjectRoot -> [Component] -> IO [FilePath] filesOfComponents root components = do- ignored <- ignoredPaths (prPath root)- let excluded path = any (`isPrefixOf` splitDirectories path) ignored- sort . filter (not . excluded) . concat- <$> traverse present (Map.toList directories)+ candidates <- concat <$> traverse present (Map.toList directories)+ let inProject =+ [ (path, below)+ | path <- candidates,+ Just below <- [belowRoot (prPath root) path]+ ]+ ignoreFiles <- ignoreFilesAbove (prPath root) (fmap snd inProject)+ let excluded = Set.fromList [path | (path, below) <- inProject, isIgnored ignoreFiles below]+ pure (sort (filter (`Set.notMember` excluded) candidates)) where directories = Map.unionsWith@@ -265,22 +269,6 @@ filterM (quietly False . doesFileExist) [joined directory entry | entry <- entries, admits wanted entry]---- | What a project's @.tiliaignore@ excludes, each path as its segments.------ An entry is a literal file or directory path relative to the project--- root, and a directory stands for everything below it. Blank lines and--- lines beginning with @#@ are ignored.-ignoredPaths :: FilePath -> IO [[FilePath]]-ignoredPaths root = do- exists <- doesFileExist file- if exists- then fmap entryPath . filter meant . fmap T.strip . T.lines <$> T.readFile file- else pure []- where- file = root </> ".tiliaignore"- meant entry = not (T.null entry) && not ("#" `T.isPrefixOf` entry)- entryPath = splitDirectories . normalise . (root </>) . T.unpack -- | A directory spelled so that a path can be appended to it without -- further normalisation.
@@ -7,15 +7,20 @@ CommentStyle (..), Above (..), commentsOf,+ transcendentComment, renderComment, closesItself, bracketed, commentTrailing, singleLine,+ holdsOff,+ continuesHaddock,+ carriedOnFrom, widenTrigger,- escapeTrigger,+ asOrdinary, triggerEscaped, opensHaddock,+ opensSectionHeading, commentsWithin, Pragma (..), commentPragma,@@ -23,19 +28,16 @@ where import Data.Char (isSpace)-import Data.Generics.Schemes (listify)-import Data.List (sortOn)+import Data.IntMap.Strict qualified as IntMap import Data.List.NonEmpty (NonEmpty (..)) import Data.List.NonEmpty qualified as NE-import Data.Maybe (isJust, mapMaybe)+import Data.Maybe (isJust, listToMaybe, mapMaybe) import Data.Text (Text) import Data.Text qualified as T-import GHC.Hs (HsModule)-import GHC.Hs.Extension (GhcPs) import GHC.Parser.Annotation qualified as GHC import GHC.Types.SrcLoc qualified as GHC-import Tilia.Source.Lines (Lines, blankAt, lineAt, lineTexts)-import Tilia.Span (Span, endPoint, startPoint)+import Tilia.Source.Lines (Lines, blankAt, directiveOnLine, lineAt, lineTexts)+import Tilia.Span (Span (..), endPoint, startPoint) import Tilia.Span.Ghc (spanOfReal) -- | One comment.@@ -53,13 +55,18 @@ -- past the last character of that code, or 'Nothing' when the comment -- had the line to itself. commentCodeBeforeStopsAt :: Maybe Int,+ -- | Whether that code ends with an opening bracket.+ commentFirstInBrackets :: Bool, -- | Whether anything other than whitespace follows it on its closing -- line. commentFollowed :: Bool, -- | Whether to leave an empty line above it when it is printed. commentGapAbove :: Bool, -- | Whether to leave an empty line below it when it is printed.- commentGapBelow :: Bool+ commentGapBelow :: Bool,+ -- | Where the first line under it that is neither empty nor a directive+ -- begins, if there is one.+ commentNextLine :: Maybe (Int, Int) } deriving (Eq, Show) @@ -88,68 +95,88 @@ commentsOf :: -- | The module's lines, which every comment is read against. Lines ->- -- | Comments the tree does not carry.+ -- | The module's comments, in source order. [GHC.LEpaComment] ->- -- | Parsed module.- HsModule GhcPs -> [Comment]-commentsOf ls loose hsModule =- fmap (uncurry (mkComment ls))- . dedupeOnSpan- . sortOn (GHC.realSrcSpanStart . fst)- . mapMaybe located- $ loose <> concatMap annComments (listify anyAnnComments hsModule)+commentsOf ls = fmap (uncurry (mkComment ls)) . mapMaybe located where- dedupeOnSpan = \case- (x : y : rest) | fst x == fst y -> dedupeOnSpan (x : rest)- (x : rest) -> x : dedupeOnSpan rest- [] -> []- anyAnnComments :: GHC.EpAnnComments -> Bool- anyAnnComments _ = True- annComments = \case- GHC.EpaComments xs -> xs- GHC.EpaCommentsBalanced xs ys -> xs <> ys located (GHC.L anchor (GHC.EpaComment tok _)) = case anchor of GHC.EpaSpan (GHC.RealSrcSpan s _) -> Just (s, tok) _ -> Nothing -- | Build a comment from a token and the span it occupied. mkComment :: Lines -> GHC.RealSrcSpan -> GHC.EpaCommentTok -> Comment-mkComment ls spn tok =+mkComment ls spn tok = case tok of+ GHC.EpaLineComment t -> commentAt ls s LineComment (T.pack t)+ GHC.EpaBlockComment t -> commentAt ls s BlockComment (T.pack t)+ GHC.EpaDocComment _ -> commentAt ls s DocComment (sliceSpan (lineTexts ls) s)+ GHC.EpaDocOptions t -> commentAt ls s LineComment (T.pack t)+ where+ s = spanOfReal spn++-- | Build a comment of this style from the span it occupied and its text.+commentAt :: Lines -> Span -> CommentStyle -> Text -> Comment+commentAt ls spn style raw = Comment- { commentSpan = spanOfReal spn,+ { commentSpan = spn, commentBody = normalizeBody startColumn style raw, commentStyle = style, commentAbove = above, commentCodeBeforeStopsAt = codeBeforeStopsAt,+ commentFirstInBrackets = any ((`T.elem` "([{") . snd) (T.unsnoc before'), commentFollowed = followed, commentGapAbove = above == BlankLine,- commentGapBelow = blankAt (GHC.srcSpanEndLine spn + 1) ls+ commentGapBelow = blankAt (spanEndLine spn + 1) ls,+ commentNextLine = nextLine } where- (style, raw) = case tok of- GHC.EpaLineComment s -> (LineComment, T.pack s)- GHC.EpaBlockComment s -> (BlockComment, T.pack s)- GHC.EpaDocComment _ -> (DocComment, sliceSpan (lineTexts ls) spn)- GHC.EpaDocOptions s -> (LineComment, T.pack s)- startColumn = maybe 0 (`offsetOf` GHC.srcSpanStartCol spn) openingLine- openingLine = lineAt (GHC.srcSpanStartLine spn) ls+ startColumn = maybe 0 (`offsetOf` spanStartColumn spn) openingLine+ openingLine = lineAt (spanStartLine spn) ls lineAbove- | GHC.srcSpanStartLine spn <= 1 = Nothing- | otherwise = lineAt (GHC.srcSpanStartLine spn - 1) ls+ | spanStartLine spn <= 1 = Nothing+ | otherwise = lineAt (spanStartLine spn - 1) ls above = case lineAbove of Nothing -> TopOfFile Just l | T.all isSpace l -> BlankLine- | otherwise -> ContentAt (columnOf l (T.length (T.takeWhile isSpace l)))+ | otherwise -> ContentAt (contentStart l)+ before' = maybe T.empty (T.stripEnd . T.take startColumn) openingLine codeBeforeStopsAt = do l <- openingLine- let before' = T.stripEnd (T.take startColumn l) if T.null before' then Nothing else Just (columnOf l (T.length before'))- followed = case lineAt (GHC.srcSpanEndLine spn) ls of- Just l -> not (T.all isSpace (T.drop (offsetOf l (GHC.srcSpanEndCol spn)) l))+ nextLine =+ listToMaybe+ [ (n, contentStart l)+ | (n, Just l) <-+ takeWhile+ (isJust . snd)+ [(n, lineAt n ls) | n <- [spanEndLine spn + 1 ..]],+ not (T.all isSpace l || isJust (directiveOnLine l))+ ]+ contentStart l = columnOf l (T.length (T.takeWhile isSpace l))+ followed = case lineAt (spanEndLine spn) ls of+ Just l -> not (T.all isSpace (T.drop (offsetOf l (spanEndColumn spn)) l)) Nothing -> False +-- | A comment, with its text read from the module as written rather than+-- from the configuration it was found in.+--+-- The two differ for a block comment with a conditional inside it: the+-- preprocessor does not know what a Haskell comment is, so each+-- configuration has the comment with only its own branch left in.+transcendentComment :: Lines -> Comment -> Comment+transcendentComment ls c = case commentStyle c of+ BlockComment ->+ c+ { commentBody =+ normalizeBody startColumn BlockComment (sliceSpan (lineTexts ls) s)+ }+ _ -> c+ where+ s = commentSpan c+ startColumn =+ maybe 0 (`offsetOf` spanStartColumn s) (lineAt (spanStartLine s) ls)+ -- | Apply the normalizations, in the only order that works: dedent before -- stripping, since a line of nothing but spaces has to still count as -- indented when the common indentation is measured.@@ -177,7 +204,7 @@ | otherwise -> "-- " <> rest -- | The text a span covers.-sliceSpan :: [Text] -> GHC.RealSrcSpan -> Text+sliceSpan :: [Text] -> Span -> Text sliceSpan sourceLines spn = T.intercalate "\n" (zipWith clip [startLine ..] covered) where@@ -187,10 +214,10 @@ (if n == startLine then T.drop (offsetOf l startCol) else id) . (if n == endLine then T.take (offsetOf l endCol) else id) $ l- startLine = GHC.srcSpanStartLine spn- endLine = GHC.srcSpanEndLine spn- startCol = GHC.srcSpanStartCol spn- endCol = GHC.srcSpanEndCol spn+ startLine = spanStartLine spn+ endLine = spanEndLine spn+ startCol = spanStartColumn spn+ endCol = spanEndColumn spn -- | Put a comment back together as it will appear in the output. renderComment :: Comment -> Text@@ -208,12 +235,65 @@ commentTrailing :: Comment -> Bool commentTrailing = isJust . commentCodeBeforeStopsAt +-- | Is this a Haddock written as @--@ lines that can go on past its first+-- line, so that a comment written against it is held off from it?+holdsOff :: Comment -> Bool+holdsOff c =+ commentStyle c == DocComment+ && not (bracketed c)+ && not (opensSectionHeading (NE.head (commentBody c)))++-- | Would the lexer read this comment as more of a Haddock written as @--@+-- lines right above it?+continuesHaddock :: Comment -> Bool+continuesHaddock c =+ not (bracketed c) && not ("---" `T.isPrefixOf` NE.head (commentBody c))+ -- | Is this comment a single line? singleLine :: Comment -> Bool singleLine c = case commentBody c of (_ :| []) -> True _ -> False +-- | The line whose trailing comment a comment with the line to itself+-- carries on, by being lined up under that line or that comment, or under+-- comments that carry it on in turn, and the column that comment begins at.+carriedOnFrom :: [Comment] -> Comment -> Maybe (Int, Int)+carriedOnFrom cs = \c ->+ if commentTrailing c+ then Nothing+ else+ go+ (spanStartColumn (commentSpan c))+ (spanStartLine (commentSpan c) - 1)+ (commentAbove c)+ where+ remarks =+ IntMap.fromList+ [ (spanEndLine s, spanStartColumn s)+ | c <- cs,+ commentTrailing c,+ not (commentFollowed c),+ let s = commentSpan c+ ]+ ownLineComments =+ IntMap.fromList+ [ (spanStartLine s, (spanStartColumn s, commentAbove c))+ | c <- cs,+ not (commentTrailing c),+ not (commentFollowed c),+ let s = commentSpan c+ ]+ go column line above+ | Just remark <- IntMap.lookup line remarks,+ above == ContentAt column || remark == column =+ Just (line, remark)+ | Just (col, above') <- IntMap.lookup line ownLineComments,+ col == column,+ above == ContentAt column =+ go column (line - 1) above'+ | otherwise = Nothing+ -- | Put a space between a doc comment's trigger and the text after it, so -- that @-- |Foo@ comes out as @-- | Foo@. --@@ -244,13 +324,10 @@ DocComment -> c { commentBody = fmap escape (commentBody c),- commentStyle = ordinaryStyle+ commentStyle = if bracketed c then BlockComment else LineComment } _ -> c where- ordinaryStyle- | "{-" `T.isPrefixOf` NE.head (commentBody c) = BlockComment- | otherwise = LineComment escape l = case openerWidth l of Just n | (gap, rest) <- T.span (== ' ') (T.drop n l),@@ -258,8 +335,39 @@ T.take n l <> (if T.null gap then " " else gap) <> "\\" <> rest _ -> l --- | Has this comment been through 'escapeTrigger'?+-- | A doc comment the compiler did not attach to anything, as the ordinary+-- comments the next pass reads once its trigger is escaped. --+-- Nothing joins the lines of a @--@ one any more, so each line is a comment+-- of its own, placed on its own account.+asOrdinary :: Lines -> Comment -> [Comment]+asOrdinary ls c+ | commentStyle c == DocComment,+ not (bracketed c),+ not (singleLine c) =+ fmap escapeTrigger (mapMaybe lineOf [spanStartLine s .. spanEndLine s])+ | otherwise = [escapeTrigger c]+ where+ s = commentSpan c+ lineOf n = do+ l <- lineAt n ls+ let piece =+ Span+ { spanStartLine = n,+ spanStartColumn =+ if n == spanStartLine s+ then spanStartColumn s+ else columnOf l (T.length (T.takeWhile isSpace l)),+ spanEndLine = n,+ spanEndColumn =+ if n == spanEndLine s+ then spanEndColumn s+ else columnOf l (T.length l)+ }+ pure (commentAt ls piece DocComment (sliceSpan (lineTexts ls) piece))++-- | Has 'asOrdinary' escaped this comment's trigger?+-- -- What it was written as cannot be read off the comment any more—that is -- the point of escaping—so anything wanting to know whether a comment -- started life as a Haddock has to ask this.@@ -281,6 +389,10 @@ -- | Does this line open a Haddock? opensHaddock :: Text -> Bool opensHaddock = isJust . splitTrigger++-- | Does this line open a Haddock section heading, @-- *@?+opensSectionHeading :: Text -> Bool+opensSectionHeading = maybe False (T.isSuffixOf "*" . fst) . splitTrigger -- | Split a doc comment's opening line into everything up to and including -- its trigger, and whatever follows.
@@ -7,30 +7,92 @@ -- other, and from then on nothing distinguishes it. module Tilia.Comments.Attach ( attachComments,+ attachScopedComments,+ Margin (..),+ noMargin, ) where +import Control.Applicative ((<|>)) import Data.Bifunctor (first, second)-import Data.List (mapAccumL, unsnoc)+import Data.List (unsnoc) import Data.List.NonEmpty qualified as NE+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map import Data.Maybe (listToMaybe)+import Data.Monoid (First (..))+import Data.Set qualified as Set import Data.Text (Text) import Tilia.Comments import Tilia.Comments.Place import Tilia.Doc.Combinators-import Tilia.Doc.Internal (Doc (..))+import Tilia.Doc.Internal (Doc (..), Spill (..), foldChildren) import Tilia.Span --- | Attache comments to a 'Doc'.+-- | Attach comments to a 'Doc'. attachComments :: [Comment] -> Doc -> Doc-attachComments cs doc = written <> closingComments (unplaced left)+attachComments = attachScopedComments noMargin (const ())++-- | What parts of a comment go at the margin.+data Margin = Margin+ { -- | A line of a comment, as a preprocessor directive written in one has+ -- to: the preprocessor reads directives out of comments as well.+ marginLine :: Text -> Bool,+ -- | A comment that goes to the margin when it comes out right above a+ -- preprocessor directive, which it then documents.+ marginComment :: Comment -> Bool+ }++-- | Nothing at the margin that the indentation does not put there.+noMargin :: Margin+noMargin = Margin (const False) (const False)++-- | Attach comments to a 'Doc', each only to a region in the same scope as+-- itself.+--+-- A scope is a part of the input a comment may not be carried out of, such+-- as one branch of a conditional: a comment written in a branch has to stay+-- among what that branch holds, and one written outside it must not end up+-- inside. Placement never looks past a comment's own scope, so where it+-- goes is decided among the regions it could be printed next to in every+-- configuration it is in.+attachScopedComments ::+ (Ord k) =>+ -- | What goes at the margin.+ Margin ->+ -- | The scope of what was written at a span.+ (Span -> k) ->+ -- | The comments to attach.+ [Comment] ->+ -- | The document to attach them to.+ Doc ->+ Doc+attachScopedComments margin scopeOf cs doc =+ written <> closingComments margin (unplaced left) where- (written, left) = walk (placeComments regions fences cs) doc+ (written, left) = walk margin placements doc (regions, fences) = markedSpans doc+ leads = leadingRegions doc+ placements =+ foldMap+ ( \k ->+ placeComments (inScope k rs) leads (inScope k fs) (inScope k xs)+ )+ (Set.toList (Map.keysSet rs <> Map.keysSet fs <> Map.keysSet xs))+ rs = byScope id regions+ fs = byScope id fences+ xs = byScope commentSpan cs+ byScope f ys = reverse <$> Map.fromListWith (<>) [(scopeOf (f y), [y]) | y <- ys]+ inScope = Map.findWithDefault [] -- | The comments nothing came to collect, written after everything.-closingComments :: [Comment] -> Doc-closingComments = \case+closingComments ::+ -- | What goes at the margin.+ Margin ->+ -- | The comments.+ [Comment] ->+ Doc+closingComments margin = \case [] -> mempty (opening : rest) -> placeOne True opening <> foldMap (placeOne False) rest where@@ -38,7 +100,7 @@ commentDoc c $ closeLine <> includeWhen (opensTheRun || commentGapAbove c) blankLine- <> commentText c+ <> commentText margin c <> closeLine -- | The spans of every 'DLocated' in the document, and of every 'DFence',@@ -47,26 +109,52 @@ markedSpans = \case DLocated s d -> first (s :) (markedSpans d) DFence s d -> second (s :) (markedSpans d)- DCat a b -> markedSpans a <> markedSpans b- DNest _ d -> markedSpans d- DAlign d -> markedSpans d- DGroup _ d -> markedSpans d- DVariant a _ -> markedSpans a- DCppChoice bs e -> foldMap (markedSpans . snd) bs <> markedSpans e- _ -> ([], [])+ d -> foldChildren markedSpans d +-- | The innermost region each region prints first, where that one was+-- written above it, as the Haddock of a constructor, a field or an argument+-- is.+leadingRegions :: Doc -> Map Span Span+leadingRegions = \case+ DLocated s d+ | Just h <- firstRegion d,+ startPoint h < startPoint s ->+ Map.insert s h (leadingRegions d)+ d -> foldChildren leadingRegions d++-- | The innermost region a document prints first.+firstRegion :: Doc -> Maybe Span+firstRegion = getFirst . go+ where+ go = \case+ DLocated s d -> First (firstRegion d <|> Just s)+ d -> foldChildren go d+ -- | Write the placed comments into the document, each one around the region -- it was given to. Taking is destructive: the 'Placements' is threaded -- through the walk and a region's comments are removed as they are written, -- so a span that occurs twice is served once. The two sides of a 'DVariant' -- are the exception—they are one piece of code laid out two ways, so both -- are walked from the same 'Placements' and both come out holding the--- comment, and only one of them is ever printed. What is still unwritten--- when the walk ends is returned next to the resulting 'Doc'.-walk :: Placements -> Doc -> (Doc, Placements)-walk = go+-- comment, and only one of them is ever printed. So are the alternatives of+-- a 'DCppChoice', for the same reason: no configuration prints two of them,+-- and a region the merge wrote into several of them is printed once in each+-- configuration, comments and all. What is still unwritten when the walk+-- ends is returned next to the resulting 'Doc'.+walk ::+ -- | What goes at the margin.+ Margin ->+ -- | Where each comment goes.+ Placements ->+ -- | The document to write them into.+ Doc ->+ (Doc, Placements)+walk margin = go where- go p = \case+ go p d+ | nothingPlaced p = (d, p)+ | otherwise = step p d+ step p = \case DCat a b -> let (a', p') = go p a (b', p'') = go p' b@@ -74,23 +162,31 @@ DLocated s d -> let (mine, p') = claimPlaced s p (d', p'') = go p' d- write position cs =- foldMap (writtenAs (isEmptyAnchor s) position) cs- before' = heldOffFrom d [c | (q, c) <- mine, q == Before]- after' = [c | (q, c) <- mine, q == After]- in (write Before before' <> DLocated s d' <> write After after', p'')+ write = foldMap (uncurry (writtenAs margin (isEmptyAnchor s)))+ before' =+ (Before,) <$> heldOffFrom d [c | (Before, c) <- mine]+ after' =+ [(q, c) | (q, c) <- mine, q /= Before, q /= Under ByTheRegion]+ under' = [(q, c) | (q, c) <- mine, q == Under ByTheRegion]+ withUnder+ | null under' = id+ | otherwise = \x -> DAlign (x <> write under')+ in ( write before' <> withUnder (DLocated s d' <> write after'),+ p''+ ) DFence s d -> first (DFence s) (go p d)- DCppChoice bs e ->- let branch q (c, d) = let (d', q') = go q d in (q', (c, d'))- (p', bs') = mapAccumL branch p bs- (e', p'') = go p' e- in (DCppChoice bs' e', p'')+ DCppChoice cs bs e ->+ let bs' = [(c, go p d) | (c, d) <- bs]+ (e', pe) = go p e+ in ( DCppChoice cs [(c, d') | (c, (d', _)) <- bs'] e',+ foldr (unclaimedByEither . snd . snd) pe bs'+ ) DNest n d -> first (DNest n) (go p d) DAlign d -> first DAlign (go p d) DGroup l d -> first (DGroup l) (go p d) DVariant a b ->- let (a', p') = go p a- (b', _) = go p b+ let (a', _) = go p a+ (b', p') = go p b in (DVariant a' b', p') d -> (d, p) @@ -107,9 +203,12 @@ earlier <> [c{commentGapBelow = True}] _ -> cs --- | Does this region begin its first line with a Haddock?+-- | Does this region begin its first line with a Haddock other than a+-- section heading? opensWithHaddock :: Doc -> Bool-opensWithHaddock = maybe False opensHaddock . listToMaybe . fst . firstLine Broken+opensWithHaddock d = case listToMaybe (fst (firstLine Broken d)) of+ Just l -> opensHaddock l && not (opensSectionHeading l)+ Nothing -> False where firstLine layout = \case DText t -> ([t], False)@@ -124,6 +223,7 @@ DVariant a b -> firstLine layout (case layout of Flat -> a; Broken -> b) DHardBreak -> ([], True) DCloseLine -> ([], True)+ DCloseLineUnlessAfterOpener _ -> ([], True) DBreak -> ([], layout == Broken) DSoftBreak -> ([], layout == Broken) _ -> ([], False)@@ -135,6 +235,8 @@ -- | Render one 'Comment' where it was placed. writtenAs ::+ -- | What goes at the margin.+ Margin -> -- | Does what follows only mark where the construct ends? Bool -> -- | Comment position.@@ -142,16 +244,20 @@ -- | The comment to render. Comment -> Doc-writtenAs atTheEnd position c = commentDoc c $ case shapeOf position c of+writtenAs margin atTheEnd position c = commentDoc c $ case shapeOf position c of InPlace -> case position of- Before -> includeWhen (not (commentTrailing c)) space <> body <> space- After -> space <> body <> space+ Before -> includeUnless glued space <> body <> includeUnless atTheEnd space+ _ -> space <> body EndsTheLine -> space <> body <> closeLine <> gapBelow- HeldBack -> holdBack (renderComment c)- OnItsOwnLines -> gapAbove <> closeLine <> body <> closeLine <> gapBelow+ HeldBack spill -> holdBack spill (renderComment c)+ OnItsOwnLines ->+ closeLineUnlessAfterOpener (commentGapAbove c)+ <> body+ <> closeLine+ <> gapBelow where- body = commentText c- gapAbove = includeWhen (commentGapAbove c) (closeLine <> blankLine)+ glued = commentTrailing c && (not atTheEnd || commentFirstInBrackets c)+ body = commentText margin c gapBelow = includeWhen (commentGapBelow c && not atTheEnd) blankLine -- | A comment, and the spacing that goes with it, as one region.@@ -159,18 +265,33 @@ commentDoc = located . commentSpan -- | The text of a comment, laid out as it was written.-commentText :: Comment -> Doc-commentText c =- align $- sepBy- (verbatimBreak AtIndent TrimWhitespace)- (fmap txt (NE.toList (commentBody c)))+commentText ::+ -- | What goes at the margin.+ Margin ->+ -- | The comment.+ Comment ->+ Doc+commentText margin c = note . align $ case NE.toList (commentBody c) of+ [] -> mempty+ l : ls -> txt l <> foldMap (\x -> breakBefore x <> txt x) ls+ where+ breakBefore x+ | marginLine margin x = verbatimBreak AtMargin TrimWhitespace+ | otherwise = verbatimBreak AtIndent TrimWhitespace+ note+ | marginComment margin c = cppMarginNote+ | otherwise = id -- | Put this text at the end of the line this position falls on.-holdBack :: Text -> Doc+holdBack :: Spill -> Text -> Doc holdBack = DHoldBack -- | End the current line and leave a mark so that a line break that follows -- it immediately (if any) will have no effect. closeLine :: Doc closeLine = DCloseLine++-- | 'closeLine', with an empty line under it if told to, unless the line+-- ends with an opening bracket, a bar or an equals sign.+closeLineUnlessAfterOpener :: Bool -> Doc+closeLineUnlessAfterOpener = DCloseLineUnlessAfterOpener
@@ -1,39 +1,57 @@ -- | Determine the placement of each 'Comment'. module Tilia.Comments.Place ( Position (..),+ Alignment (..), Shape (..), shapeOf, Placements, placeComments, claimPlaced,+ unclaimedByEither, unplaced,+ nothingPlaced, ) where +import Control.Applicative ((<|>))+import Control.Monad (guard) import Data.IntMap.Strict qualified as IntMap-import Data.IntSet qualified as IntSet-import Data.List (sortOn)+import Data.List (minimumBy, sortOn)+import Data.List.NonEmpty (NonEmpty (..))+import Data.List.NonEmpty qualified as NE import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map-import Data.Ord (Down (..))+import Data.Ord (Down (..), comparing) import Data.Set qualified as Set import Tilia.Comments ( Above (..), Comment (..),+ carriedOnFrom, closesItself, commentTrailing, singleLine, )+import Tilia.Doc.Internal (Spill (..)) import Tilia.Span --- | Which side of its region a comment is emitted on.+-- | Where a comment is emitted in relation to its region. data Position = -- | Before the region. Before- | -- | After the region.- After+ | -- | After the region, on the line it ends on.+ After Spill+ | -- | On lines of its own under the region.+ Under Alignment deriving (Eq, Show) +-- | What a comment on lines of its own under a region is lined up with.+data Alignment+ = -- | The column the region begins at.+ ByTheRegion+ | -- | The indentation in force after the region.+ ByTheIndentation+ deriving (Eq, Show)+ -- | How a comment is printed in relation to the region carrying it. data Shape = -- | Spliced where the region prints, with code able to follow it on the@@ -43,7 +61,7 @@ EndsTheLine | -- | Held back to the end of whatever line of output it lands on, -- however much of that line is still to be written.- HeldBack+ HeldBack Spill | -- | On lines of its own, keeping the empty lines the author left around -- it. OnItsOwnLines@@ -56,27 +74,44 @@ | closesItself c && commentFollowed c -> InPlace | commentTrailing c -> EndsTheLine | otherwise -> OnItsOwnLines- After+ After spill | closesItself c -> InPlace- | singleLine c -> HeldBack+ | singleLine c -> HeldBack spill | otherwise -> EndsTheLine+ Under _ -> OnItsOwnLines --- | Comment placements.+-- | Comment placements not yet written: all of them when placement is+-- decided, fewer as a walk writes them. data Placements = Placements- { placedAt :: Map Span [(Position, Comment)],+ { -- | The comments to write around each region.+ placedAt :: Map Span [(Position, Comment)],+ -- | The comments no region was found for. placedNowhere :: [Comment] } +instance Semigroup Placements where+ a <> b =+ Placements+ { placedAt = Map.unionWith (<>) (placedAt a) (placedAt b),+ placedNowhere = placedNowhere a <> placedNowhere b+ }++instance Monoid Placements where+ mempty = Placements Map.empty []+ -- | Determine comment placements. placeComments :: -- | The regions a comment may be given to. [Span] ->+ -- | The innermost region each region prints first, where that one was+ -- written above it.+ Map Span Span -> -- | The boundaries a comment printed in place may not be carried across. [Span] -> -- | The comments to place. [Comment] -> Placements-placeComments regions fences comments =+placeComments regions leads fences comments = Placements { placedAt = Map.fromListWith (flip (<>)) [(r, [(p, c)]) | (Just (r, p), c) <- decided], placedNowhere = [c | (Nothing, c) <- decided]@@ -84,32 +119,7 @@ where decided = [(against c, c) | c <- comments] - linesEndingInAComment =- IntSet.fromList- [ spanEndLine (commentSpan c)- | c <- comments,- commentTrailing c,- not (commentFollowed c)- ]-- ownLineComments =- IntMap.fromList- [ (spanStartLine s, (spanStartColumn s, commentAbove c))- | c <- comments,- not (commentTrailing c),- not (commentFollowed c),- let s = commentSpan c- ]-- carriedOnFrom column = go- where- go line- | IntSet.member line linesEndingInAComment = Just line- | Just (col, above) <- IntMap.lookup line ownLineComments,- col == column,- above == ContentAt column =- go (line - 1)- | otherwise = Nothing+ carriedOn = carriedOnFrom comments regionsByEndLine = IntMap.fromListWith (<>) [(spanEndLine r, [r]) | r <- regions]@@ -122,57 +132,143 @@ wider a b = if endPoint a >= endPoint b then a else b against c- | commentTrailing c, Just r <- trailed = Just (r, After)- | not (commentTrailing c), Just r <- continues = Just (r, After)- | Just r <- next = Just (r, Before)+ | Just placed@(_, After _) <- asCommentBefore = Just placed+ | commentTrailing c,+ Just r <- trailed =+ Just (r, After SpillAtIndentation)+ | Just placed <- continues = Just placed+ | Just placed <- under = Just placed+ | Just r <- next =+ Just (maybe (r, Before) (,Under ByTheRegion) (Map.lookup r leads)) | otherwise = Nothing where here = commentSpan c+ asCommentBefore = against =<< (`Map.lookup` commentsByEndPoint) =<< stopsAt trailed- | writtenAgainst || not (commentFollowed c) = endingOn (spanStartLine here)+ | writtenAgainst || not (commentFollowed c) =+ linedUpUnder <|> endingOn (spanStartLine here) | otherwise = Nothing+ linedUpUnder = do+ (top, _) <- IntMap.lookup (spanStartLine here + 1) runs+ (r, Under ByTheRegion) <- against top+ r <$ guard (candidate r) endingOn line = nearest (\r -> (Down (endPoint r), startPoint r)) (filter candidate onThatLine) where onThatLine = IntMap.findWithDefault [] line regionsByEndLine- candidate r = endPoint r <= startPoint here && not (fencedOff r)+ candidate r =+ endPoint r <= startPoint here+ && startPoint r /= endPoint r+ && not (fencedOff r) writtenAgainst = maybe False (`Set.member` regionEndPoints) stopsAt stopsAt = (,) (spanStartLine here) <$> commentCodeBeforeStopsAt c - enclosingRegions = filter (here `inside`) regions- enclosingFences = filter (here `inside`) fences-- fencedOff r = outside enclosingRegions || (printedInPlace && outside enclosingFences)+ fencedOff r =+ outside (Map.lookup here enclosingRegions)+ || (printedInPlace && outside (Map.lookup here enclosingFences)) where- outside = any (not . (r `inside`))+ outside = maybe False (\(from, to) -> not (from <= startPoint r && endPoint r <= to)) - printedInPlace = shapeOf After c == InPlace+ printedInPlace = shapeOf (After SpillAtIndentation) c == InPlace next = snd <$> Map.lookupGE (endPoint here) regionsByStartPoint continues- | ContentAt column <- commentAbove c,- column == spanStartColumn here,- nothingBelowItLinesUp,- Just anchor <- carriedOnFrom column (spanStartLine here - 1) =- endingOn anchor+ | nothingBelowItLinesUp,+ Just (anchor, remark) <- carriedOn c =+ (,linedUpWith remark) <$> endingOn anchor | otherwise = Nothing + linedUpWith remark+ | remark == spanStartColumn here = After SpillUnderPrevious+ | otherwise = After SpillAtIndentation+ nothingBelowItLinesUp = all (\r -> spanStartColumn r < spanStartColumn here) next - nearest :: (Ord k) => (Span -> k) -> [Span] -> Maybe Span- nearest key = fmap fst . foldl' closer Nothing+ under+ | Just (top, bottom) <- IntMap.lookup (spanStartLine here) runs,+ Just (line, column) <- commentNextLine bottom,+ column /= spanStartColumn here,+ any ((<= (line, column)) . startPoint) next =+ lineOfCode top+ | otherwise = Nothing++ lineOfCode top = do+ r <- nearest (Down . startPoint) (filter linedUp onThatLine)+ guard (any (larger r) onThatLine)+ pure (r, Under (alignedBy r))+ where+ line = spanStartLine (commentSpan top) - 1+ onThatLine = IntMap.findWithDefault [] line regionsByEndLine+ lineEnd = maximum (fmap endPoint onThatLine)+ linedUp r =+ startPoint r /= endPoint r+ && endPoint r == lineEnd+ && (startsUnderIt r || holdsTheLine r)+ && not (fencedOff r)+ startsUnderIt r =+ spanStartColumn r == spanStartColumn here+ && (spanStartLine r == line || startsItsLine r)+ holdsTheLine r =+ commentAbove top == ContentAt (spanStartColumn here)+ && startPoint r <= (line, spanStartColumn here)+ alignedBy r+ | startsUnderIt r = ByTheRegion+ | otherwise = ByTheIndentation+ startsItsLine r =+ maybe True ((< spanStartLine r) . fst . fst) $+ Map.lookupLT (startPoint r) regionsByStartPoint+ larger r o = startPoint o < startPoint r && endPoint o == lineEnd++ commentsByEndPoint = Map.fromList [(endPoint (commentSpan c), c) | c <- comments]++ runs =+ IntMap.fromList+ [ (spanStartLine (commentSpan c), (NE.head run, NE.last run))+ | run <- foldr joined [] (sortOn (startPoint . commentSpan) comments),+ c <- NE.toList run+ ] where- closer best s = case best of- Just (_, k) | k <= key s -> best- _ -> Just (s, key s)+ joined c rest+ | commentTrailing c || commentFollowed c = rest+ | (d :| ds) : rest' <- rest, continuedBy c d = (c :| d : ds) : rest'+ | otherwise = (c :| []) : rest+ continuedBy c d =+ spanStartLine below == spanEndLine above + 1+ && spanStartColumn below == spanStartColumn above+ where+ above = commentSpan c+ below = commentSpan d --- | Does the first region fall within the second?-inside :: Span -> Span -> Bool-inside a b = startPoint b <= startPoint a && endPoint a <= endPoint b+ enclosingRegions = enclosures regions (fmap commentSpan comments)+ enclosingFences = enclosures fences (fmap commentSpan comments) + nearest :: (Ord k) => (Span -> k) -> [Span] -> Maybe Span+ nearest key = fmap (minimumBy (comparing key)) . NE.nonEmpty++-- | For each inner span that outer spans enclose, the latest start and the+-- earliest end among them.+enclosures :: [Span] -> [Span] -> Map Span ((Int, Int), (Int, Int))+enclosures outer inner =+ Map.fromList (go (sortOn startPoint outer) Map.empty Set.empty (sortOn startPoint inner))+ where+ go _ _ _ [] = []+ go os latest ends (i : is) =+ let (opened, later) = span ((<= startPoint i) . startPoint) os+ latest' = foldl' admit latest opened+ ends' = foldl' (flip (Set.insert . endPoint)) ends opened+ bounds = do+ (_, from) <- Map.lookupGE (endPoint i) latest'+ to <- Set.lookupGE (endPoint i) ends'+ pure (i, (from, to))+ in maybe id (:) bounds (go later latest' ends' is)+ -- A span opened later starts no earlier, so it supersedes those that end+ -- no later than it does.+ admit latest o =+ Map.insert (endPoint o) (startPoint o) (Map.dropWhileAntitone (<= endPoint o) latest)+ -- | Claim the comments that belong to the given 'Span'. claimPlaced :: Span -> Placements -> ([(Position, Comment)], Placements) claimPlaced s p = case Map.updateLookupWithKey forget s (placedAt p) of@@ -180,8 +276,20 @@ where forget _ _ = Nothing +-- | The placements neither of two walks from the same placements claimed.+unclaimedByEither ::+ Placements ->+ Placements ->+ Placements+unclaimedByEither a b =+ a{placedAt = Map.intersection (placedAt a) (placedAt b)}+ -- | The comments no region ever came to collect. unplaced :: Placements -> [Comment] unplaced p = sortOn (startPoint . commentSpan) $ placedNowhere p <> foldMap (fmap snd) (placedAt p)++-- | Is there nothing left for a region to collect?+nothingPlaced :: Placements -> Bool+nothingPlaced = Map.null . placedAt
@@ -12,1200 +12,722 @@ usesCpp, blankCpp, withoutRuledOut,- CppError (..),- describeCppError,-- -- * Splitting- Guard (..),- Configurations (..),- configurations,- leaves,- branchLeaves,- correspondingBranches,- linearLeaves,- countLeaves,- answeredLeaves,- answeredLinearLeaves,-- -- * Diagnostics- regions,- )-where--import Data.List (maximumBy, sortOn, transpose, unsnoc)-import Data.Map.Strict (Map)-import Data.Map.Strict qualified as Map-import Data.Maybe (isJust, listToMaybe)-import Data.Ord (comparing)-import Data.Text (Text)-import Data.Text qualified as T-import Tilia.Cpp.Directives-import Tilia.Doc (defaultRenderOptions, printDoc)-import Tilia.Doc.Combinators qualified as Doc-import Tilia.Doc.Internal (Doc (..), Layout (..))-import Tilia.Parser- ( ParserConfig,- parseConfiguration,- )-import Tilia.Render (RenderConfig (..), renderModule)-import Tilia.Source- ( Lines,- Written (..),- directiveOnLine,- dropping,- lineTexts,- linesOf,- )-import Tilia.Span- ( Span,- covers,- meets,- spanEndLine,- spanStartLine,- )--------------------------------------------------------------------------------- Formatting---- | Format a module which uses the C preprocessor.------ Each configuration is formatted by the ordinary printer. The resulting--- documents are then merged.-formatWithCpp ::- -- | What to parse each configuration with.- ParserConfig ->- -- | What to print each configuration with.- RenderConfig ->- -- | The file this is, for the positions in an error.- FilePath ->- -- | The module, directives and all.- Text ->- -- | The formatted module, or why not.- Either CppError Text-formatWithCpp parser render path source =- printDoc defaultRenderOptions . fst- <$> formatAllConfigs- parser- (knowing render)- path- (noAnswers source)- configurationBudget- source- where- knowing c =- c{rcImportBarriers = maybe [] (fmap dLine) (scanDirectives source)}---- | Format every configuration of a module, and merge them into one--- document.-formatAllConfigs ::- -- | What to parse a configuration with.- ParserConfig ->- -- | What to print it with.- RenderConfig ->- -- | The file this is, for the positions in a parse error.- FilePath ->- -- | How this configuration was reached.- Reached ->- -- | Formattings left to spend.- Int ->- -- | Input text.- Text ->- Either CppError (Doc, Int)-formatAllConfigs parser render path reached budget source =- case variations source of- Nothing- | any isDirective (T.lines left) ->- Left (UnhandledDirective (unhandledIn left))- | budget <= 0 -> Left TooManyConfigurations- | otherwise -> do- document <-- formatSingleConfig- parser- render- path- reached- left- (,budget - 1)- <$> replacing- (reachedLines reached)- (reachedAnswers reached)- opaque- document- where- opaque = opaqueDirectives source- left = withoutOpaque source- Just apart -> case linearly apart of- Right built -> Right built- Left (Refused TooManyConfigurations, _) ->- Left TooManyConfigurations- Left (_, left')- | Right many <- countLeaves source,- many > configurationsWorthTrying ->- Left TooManyConfigurations- | otherwise ->- maybe- (Left UnsplittableConditional)- (together parser render path reached left')- (configurations source)- where- linearly v =- case separately parser render path reached budget v of- Left why -> Left (Refused why, budget)- Right (baseDoc, merged, budget') ->- case combine Broken baseDoc (zip (fmap cfgWholes (vaGroups v)) merged) of- Just d -> Right (d, budget')- Nothing -> Left (InOneConstruct, budget')---- | Why the linear form did not work.-data Linearly- = -- | A configuration under it was refused, and this is what for.- Refused CppError- | -- | The merge came back a bare choice, so the conditionals' differences- -- land on one construct and cannot be put back one at a time.- InOneConstruct---- | A single variation.-data Variation = Variation- { -- | Every question answered with its first branch.- vaBaseline :: Text,- -- | The line ranges that answer leaves out.- vaBaselineDropped :: [(Int, Int)],- -- | One question varied, with all the others held at the baseline.- vaGroups :: [Configurations]- }---- | Split a module on every conditional at its top level, one at a time.-variations :: Text -> Maybe Variation-variations source = do- ds <- scanDirectives source- specs <- traverse groupSpec (groupsAtLevel 0 ds)- case [[gs] | gs <- specs] of- [] -> Nothing- dimensions ->- let blanked at =- concat- [ blankingFor g (at k)- | (k, dim) <-- zip [0 :: Int ..] dimensions,- g <- dim- ]- gone at =- concat- [ droppedFor g (at k)- | (k, dim) <-- zip [0 :: Int ..] dimensions,- g <- dim- ]- held at = blanking (blanked at) source- in Just- Variation- { vaBaseline = held (const 0),- vaBaselineDropped = gone (const 0),- vaGroups =- [ Configurations- { cfgGuards = gsGuards gs,- cfgTexts =- [ held (\j -> if j == k then i else 0)- | i <- [0 .. gsCount gs - 1]- ],- cfgDropped =- [ gone (\j -> if j == k then i else 0)- | i <- [0 .. gsCount gs - 1]- ],- cfgWholes = Varied (fmap gsWhole dim)- }- | (k, dim@(gs : _)) <- zip [0 :: Int ..] dimensions- ]- }---- | Vary each conditional on its own, holding the others at their first--- branch.-separately ::- -- | What to parse a configuration with.- ParserConfig ->- -- | What to print it with.- RenderConfig ->- -- | The file this is, for the positions in a parse error.- FilePath ->- -- | How this configuration was reached.- Reached ->- -- | Formattings left to spend.- Int ->- -- | The conditionals to vary, and the baseline to hold them against.- Variation ->- Either CppError (Doc, [Doc], Int)-separately parser render path reached budget v = do- (baseDoc, spent) <-- formatAllConfigs- parser- render- path- (without (vaBaselineDropped v) reached)- budget- (vaBaseline v)- (merged, left) <- eachGroup baseDoc spent (vaGroups v)- pure (baseDoc, merged, left)- where- free = freeOf reached-- eachGroup _ b [] = Right ([], b)- eachGroup baseDoc b (c : cs) = do- (docs, b') <- eachBranch c baseDoc b (zip [0 ..] (cfgTexts c))- (rest, b'') <- eachGroup baseDoc b' cs- pure (merge free (cfgGuards c) (cfgWholes c) docs : rest, b'')-- eachBranch _ _ b [] = Right ([], b)- eachBranch c baseDoc b ((i, t) : ts) = do- (d, b') <-- if t == vaBaseline v- then Right (baseDoc, b)- else formatAllConfigs parser render path (answering c i reached) b t- (ds, b'') <- eachBranch c baseDoc b' ts- pure (d : ds, b'')---- | Vary the conditionals together, one group at a time.-together ::- -- | What to parse a configuration with.- ParserConfig ->- -- | What to print it with.- RenderConfig ->- -- | The file this is, for the positions in a parse error.- FilePath ->- -- | How this configuration was reached.- Reached ->- -- | Formattings left to spend.- Int ->- -- | The group to split on, and the branch texts to split it into.- Configurations ->- Either CppError (Doc, Int)-together parser render path reached budget c = do- (formatted, budget') <- eachBranch budget (zip [0 ..] (cfgTexts c))- docs <- traverse (complete formatted) (zip [0 ..] (cfgTexts c))- pure (merge (freeOf reached) (cfgGuards c) (cfgWholes c) docs, budget')- where- inside = reached- eachBranch b [] = Right ([], b)- eachBranch b ((_, t) : ts) | not (null (unconditionalErrors t)) = eachBranch b ts- eachBranch b ((i, t) : ts) = do- (d, b') <- formatAllConfigs parser render path (answering c i inside) b t- (ds, b'') <- eachBranch b' ts- pure ((i, d) : ds, b'')- complete formatted (i, t) = case lookup i formatted of- Just d -> Right d- Nothing -> case listToMaybe formatted >>= errorBranch (cfgWholes c) t . snd of- Just d -> Right d- Nothing -> Left UnsplittableConditional---- | Preserve an error-only alternative without asking the Haskell parser to--- parse its missing expression or declaration. A successful sibling supplies--- the surrounding syntax; only nodes wholly inside the conditional are--- replaced. More complicated aborting alternatives are left unsupported.-errorBranch :: Varied -> Text -> Doc -> Maybe Doc-errorBranch (Varied ranges) source reference = foldl step (Just reference) ranges- where- sourceLines' = zip [1 ..] (T.lines source)- errors = unconditionalErrors source- step acc (from, to) = do- doc <- acc- let inside n = from <= n && n <= to- here = filter (inside . opLine) errors- errorLine n = any (\d -> opLine d <= n && n <= opLastLine d) here- onlyErrors =- all- (\(n, l) -> not (inside n) || errorLine n || T.null (T.strip l))- sourceLines'- body = mconcat [DCppDirective (opSpan d) (opText d) | d <- here]- contained s = inside (spanStartLine s) && inside (spanEndLine s)- walk seen d = case d of- DLocated s _ | contained s -> (True, if seen then mempty else body)- DCppDirective s _ | contained s -> (True, if seen then mempty else body)- DLocated s x -> fmap (DLocated s) (walk seen x)- DFence s x -> fmap (DFence s) (walk seen x)- DNest k x -> fmap (DNest k) (walk seen x)- DAlign x -> fmap DAlign (walk seen x)- DGroup l x -> fmap (DGroup l) (walk seen x)- DVariant a b ->- let (sa, a') = walk seen a; (sb, b') = walk seen b- in (sa || sb, DVariant a' b')- DCat a b ->- let (sa, a') = walk seen a; (sb, b') = walk sa b- in (sb, a' <> b')- _ -> (seen, d)- (placed, result) = walk False doc- if not (null here) && onlyErrors && placed then Just result else Nothing---- | Format one configuration with the ordinary printer.-formatSingleConfig ::- -- | What to parse it with.- ParserConfig ->- -- | What to print it with.- RenderConfig ->- -- | The file this is, for the positions in a parse error.- FilePath ->- -- | How this configuration was reached.- Reached ->- -- | The configuration itself, with no directives left in it.- Text ->- Either CppError Doc-formatSingleConfig parser render path reached text =- case parseConfiguration parser path (reachedLines reached) text of- Left e -> Left (ConfigurationNotParsed (reachedAnswers reached) e)- Right parsed -> Right (renderModule render parsed)---- | How a configuration was reached, and what to call it.-data Reached = Reached- { -- | Which branch each question was answered with, outermost first.- reachedAnswers :: [([Guard], Int)],- -- | Every line the author wrote, except for those written inside a- -- branch this configuration did not take.- reachedLines :: Lines- }---- | The configuration nothing has been decided about yet.-noAnswers :: Text -> Reached-noAnswers source =- Reached- { reachedAnswers = [],- reachedLines = linesOf (Written source)- }---- | Answer one group's question with the branch at the given index.-answering :: Configurations -> Int -> Reached -> Reached-answering c i reached =- reached- { reachedAnswers = reachedAnswers reached <> [(cfgGuards c, i)],- reachedLines =- dropping- (concat (take 1 (drop i (cfgDropped c))))- (reachedLines reached)- }---- | Leave out the branches a baseline does not take, without answering--- anything: the baseline is every question taken at its first branch, and--- which question is being varied is not settled until 'answering'.-without :: [(Int, Int)] -> Reached -> Reached-without gone reached =- reached{reachedLines = dropping gone (reachedLines reached)}---- | How many whole formattings of a module one call may spend.-configurationBudget :: Int-configurationBudget = 64---- | How many configurations a module may have and still be worth trying the--- product on.-configurationsWorthTrying :: Integer-configurationsWorthTrying = 4096---- | Put the directives that do not introduce new configurations back where--- they were written.-replacing :: Lines -> [([Guard], Int)] -> [Opaque] -> Doc -> Either CppError Doc-replacing written answers opaque doc = foldl step (Right doc) opaque- where- step acc d- | reproducedAt n doc = Left (DirectiveInQuotedText answers (keyword t))- | otherwise =- acc- >>= maybe (Left (DirectiveUnplaceable answers (keyword t))) Right- . place d- where- n = opLine d- t = opText d- keyword = T.takeWhile (/= ' ')- reproducedAt n = any inside . located- where- inside (s, x) =- spanStartLine s < n && n <= spanEndLine s && reproduced x-- located = \case- DLocated s x -> (s, x) : located x- DFence s x -> (s, x) : located x- DNest _ x -> located x- DAlign x -> located x- DGroup _ x -> located x- DVariant _ b -> located b- DCat a b -> located a <> located b- _ -> []-- reproduced = \case- DVerbatimBreak _ _ -> True- DNest _ x -> reproduced x- DAlign x -> reproduced x- DGroup _ x -> reproduced x- DVariant _ b -> reproduced b- DCat a b -> reproduced a || reproduced b- _ -> False-- place directive = go- where- n = opLine directive-- body =- DCppDirective (opSpan directive) (opText directive)- <> if gapUnder written directive then Doc.blankLine else mempty-- go d = case d of- DNest k x -> DNest k <$> go x- DAlign x -> DAlign <$> go x- DGroup l x -> DGroup l <$> go x- DVariant a b -> DVariant <$> go a <*> go b- DLocated s x | spanEndLine s >= n -> DLocated s <$> go x- DFence s x | spanEndLine s >= n -> DFence s <$> go x- DCat _ _ -> inSpine (spine d)- _ -> Nothing-- inSpine parts = case break startsAfter parts of- (before, after)- | Just (earlier, holder, spacing) <- holding before,- maybe False (>= n) (endOf holder) ->- (\x -> mconcat (earlier <> [x] <> spacing <> after)) <$> go holder- | Just (printed, anchor, spacing) <- tight before,- Just from <- endOf anchor,- not (gapWritten written (from + 1) (n - 1)) ->- Just (mconcat (printed <> [anchor, body] <> spacing <> after))- | otherwise -> Just (mconcat (before <> [body] <> after))- where- startsAfter x = maybe False (>= n) (startOf x)-- holding ds = case break (isJust . endOf) (reverse ds) of- (spacing, holder : earlier) -> Just (reverse earlier, holder, reverse spacing)- _ -> Nothing-- tight ds = case break (isJust . endOf) (reverse ds) of- (spacing, anchor : earlier) -> Just (reverse earlier, anchor, reverse spacing)- _ -> Nothing-- startOf = fmap fst . boundsOf- endOf = fmap snd . boundsOf- boundsOf = \case- DLocated s _ -> Just (spanStartLine s, spanEndLine s)- DFence s _ -> Just (spanStartLine s, spanEndLine s)- DCppDirective s _ -> Just (spanStartLine s, spanEndLine s)- DNest _ x -> boundsOf x- DAlign x -> boundsOf x- DGroup _ x -> boundsOf x- DVariant _ b -> boundsOf b- DCat a b -> case (boundsOf a, boundsOf b) of- (Just (from, _), Just (_, to)) -> Just (from, to)- (found, Nothing) -> found- (Nothing, found) -> found- _ -> Nothing---- | Merge the documents one conditional's branches printed to.------ A structural walk that keeps what they all agree on and puts a choice--- where they part.-merge :: [(Span, Text)] -> [Guard] -> Varied -> [Doc] -> Doc-merge free guards varied = go Broken- where- go _ [] = mempty- go layout ds@(d : rest)- | all (agree varied layout d) rest = d- | Just xs <- traverse only spines = alongside layout xs- | otherwise = factored layout spines- where- spines = fmap (spineAt layout) ds-- alongside _ [] = mempty- alongside layout xs@(x : _) = case x of- DLocated s _- | Just tds <- every (\case DLocated t d -> Just (t, d); _ -> Nothing),- all (meets s . fst) tds ->- case go layout (fmap snd tds) of- DCppChoice _ _- | Just opened <- unwrapping layout (fmap fst tds) xs -> opened- descended -> DLocated (hull s tds) descended- DFence s _- | Just tds <- every (\case DFence t d -> Just (t, d); _ -> Nothing),- all (meets s . fst) tds ->- DFence (hull s tds) (go layout (fmap snd tds))- DNest n _ | Just ds <- every (\case DNest m d | m == n -> Just d; _ -> Nothing) -> DNest n (go layout ds)- DGroup _ _- | Just ls <- every (\case DGroup l _ -> Just l; _ -> Nothing),- Just ds@(d : rest) <- every (\case DGroup _ d -> Just d; _ -> Nothing) ->- let inside = if Broken `elem` ls then Broken else Flat- merged = go inside ds- in case merged of- DCppChoice _ _- | not (all (== inside) ls),- not (all (agree varied inside d) rest) ->- choice xs- _ -> DGroup inside merged- DAlign _ | Just ds <- every (\case DAlign d -> Just d; _ -> Nothing) -> DAlign (go layout ds)- _ -> choice xs- where- every f = traverse f xs-- unwrapping layout spans xs = do- inside <- sole [i | (i, s) <- zip [0 :: Int ..] spans, all (covers s) spans]- wrapper <- listToMaybe (drop inside xs)- if opens layout wrapper then Just (openedAgainst layout inside wrapper) else Nothing- where- sole [i] = Just i- sole _ = Nothing-- openedAgainst l inside' d = case d of- DLocated s x -> DLocated s (openedAgainst l inside' x)- DFence s x -> DFence s (openedAgainst l inside' x)- DNest n x -> DNest n (openedAgainst l inside' x)- DAlign x -> DAlign (openedAgainst l inside' x)- DGroup m x -> DGroup m (openedAgainst m inside' x)- _ -> case spineAt l d of- parts@(_ : _ : _) ->- factored l [if k == inside' then parts else [e] | (k, e) <- zip [0 :: Int ..] xs]- _ -> choice xs-- opens layout = \case- DLocated _ x -> opens layout x- DFence _ x -> opens layout x- DNest _ x -> opens layout x- DAlign x -> opens layout x- DGroup l x -> opens l x- d -> case spineAt layout d of- _ : _ : _ -> True- _ -> False-- factored layout ss =- let exposed = fmap (exposing (filter split' (sharedDirectives ss))) ss- split' d = d `elem` free && any (holds d) ss && not (all (holds d) ss)- holds d = any (isNamed d)- lining = alignable varied layout- shared = foldl1 (lcs lining) exposed- cut = fmap (segments (anchored lining) shared) exposed- stretches = transpose (fmap fst cut)- anchors = transpose (fmap snd cut)- in mconcat (woven layout stretches (fmap (go layout) anchors))-- woven layout (s : ss) (c : cs) = varying layout s : c : woven layout ss cs- woven layout ss [] = fmap (varying layout) ss- woven _ [] _ = []-- varying layout ss =- let (opening, ss1) = sharedStart layout ss- (ss2, closing) = sharedEnd layout ss1- (lead, ss3, trail) = hoisted layout ss2- in mconcat opening- <> mconcat lead- <> middle layout ss3- <> mconcat trail- <> mconcat closing-- sharedStart layout ss- | Just (h : hs) <- traverse listToMaybe ss,- all (agree varied layout h) hs =- let (c, ss') = sharedStart layout (fmap (drop 1) ss) in (h : c, ss')- | otherwise = ([], ss)-- sharedEnd layout ss =- let (c, ss') = sharedStart layout (fmap reverse ss)- in (fmap reverse ss', reverse c)-- middle _ [] = mempty- middle layout ss@(s : rest)- | all (alike layout s) rest = mconcat s- | Just xs <- traverse only ss = go layout xs- | Just merged <- alongsideHeads layout ss,- weigh layout merged < weigh layout apart =- merged- | otherwise = apart- where- apart = choice (fmap mconcat ss)-- alongsideHeads layout ss = do- heads <- traverse listToMaybe ss- let tails = fmap (drop 1) ss- case heads of- (h : hs)- | all (sameKind h) hs,- all breaksFirst tails ->- Just (joined (go layout heads) (middle layout tails))- _ -> Nothing- where- breaksFirst t = case dropWhile ((== 0) . weigh layout) t of- [] -> True- (d : _) -> opensWithBreak layout d-- joined before after = case (endingChoice before, startingChoice after) of- (Just (opening, bs, e, gap), Just (gap', cs, e', closing))- | fmap fst bs == fmap fst cs ->- opening- <> Doc.cppChoice- [(g, x <> between <> y) | ((g, x), (_, y)) <- zip bs cs]- (e <> between <> e')- <> closing- where- between = gap <> gap'- _ -> before <> after-- sameKind x y = case (x, y) of- (DLocated s t, DLocated u v) -> meets s u && bothWritten t v- (DFence s t, DFence u v) -> meets s u && bothWritten t v- (DNest n t, DNest m v) -> n == m && bothWritten t v- (DGroup _ t, DGroup _ v) -> bothWritten t v- (DAlign t, DAlign v) -> bothWritten t v- _ -> False- where- bothWritten t v = not (empty' t) && not (empty' v)- empty' DEmpty = True- empty' _ = False-- alike layout xs ys =- length xs == length ys && and (zipWith (agree varied layout) xs ys)-- hoisted layout ss = case filter (not . null . middleOf) peeled of- [] ->- ( widest [l | (l, _, _) <- peeled],- fmap (const []) ss,- widest [r | (_, _, r) <- peeled]- )- speaking ->- ( widest [l | (l, _, _) <- speaking],- fmap middleOf peeled,- widest [r | (_, _, r) <- speaking]- )- where- peeled = fmap peel ss- middleOf (_, m, _) = m- widest = \case- [] -> []- runs -> maximumBy (comparing (spaceOf layout)) runs-- peel ds =- let (l, rest) = span spacing ds- (r, m) = span spacing (reverse rest)- in (l, reverse m, reverse r)-- spacing = \case- DEmpty -> True- DBreak -> True- DSoftBreak -> True- DHardBreak -> True- DCloseLine -> True- _ -> False-- choice ds = case unsnoc ds of- Just (branches, fallback) -> Doc.cppChoice (zip (fmap guardText guards) branches) fallback- Nothing -> mempty-- only [d] = Just d- only _ = Nothing---- | 'freeDirectives' of the module as its author wrote it.-freeOf :: Reached -> [(Span, Text)]-freeOf = freeDirectives . T.unlines . lineTexts . reachedLines---- | The opaque directives written outside every conditional.-freeDirectives :: Text -> [(Span, Text)]-freeDirectives source =- [ (opSpan d, opText d)- | d <- opaqueDirectives source,- Map.findWithDefault 0 (opLine d) depths == (0 :: Int)- ]- where- depths = Map.fromList (zip [1 ..] (scanl step 0 (T.lines source)))- step depth l = case directiveOnLine l of- Just (keyword, _)- | keyword `elem` ["if", "ifdef", "ifndef"] -> depth + 1- | keyword == "endif" -> max 0 (depth - 1)- _ -> depth---- | Is this spine element the named directive itself, bare?-isNamed :: (Span, Text) -> Doc -> Bool-isNamed (s, t) = \case- DCppDirective u v -> u == s && v == t- _ -> False---- | The directives every one of these spines holds.-sharedDirectives :: [[Doc]] -> [(Span, Text)]-sharedDirectives = \case- [] -> []- s : ss -> foldl (\acc t -> filter (`elem` namesIn t) acc) (namesIn s) ss- where- namesIn = concatMap named---- | The directives a document holds, as far down as one may be brought out--- from.-named :: Doc -> [(Span, Text)]-named = \case- DCppDirective s t -> [(s, t)]- DCat a b -> named a <> named b- DNest _ x -> named x- DAlign x -> named x- DGroup _ x -> named x- DVariant _ b -> named b- _ -> []---- | Bring the given directives out to the top of the spine.-exposing :: [(Span, Text)] -> [Doc] -> [Doc]-exposing wanted- | null wanted = id- | otherwise = concatMap out- where- out d- | not (any here (named d)) = [d]- | otherwise = case d of- DCat a b -> out a <> out b- DNest k x -> split (DNest k) (out x)- DAlign x -> split DAlign (out x)- DGroup l x -> split (DGroup l) (out x)- DVariant a b -> varied (out a) (out b)- _ -> [d]-- here (s, t) = (s, t) `elem` wanted-- bare = \case- DCppDirective s t -> here (s, t)- _ -> False-- split w ps = case break bare ps of- (before, []) -> [w (mconcat before) | not (null before)]- (before, x : rest) ->- [w (mconcat before) | not (null before)] <> [x] <> split w rest-- varied as bs =- let (xs, ds) = chunk as- (ys, es) = chunk bs- in if ds == es && length xs == length ys- then interleave xs ys ds- else [DVariant (mconcat as) (mconcat bs)]-- chunk ps = case break bare ps of- (before, []) -> ([mconcat before], [])- (before, x : rest) ->- let (cs, ds) = chunk rest in (mconcat before : cs, x : ds)-- interleave (x : xs) (y : ys) ds = case ds of- [] -> [DVariant x y]- z : zs -> DVariant x y : z : interleave xs ys zs- interleave _ _ _ = []---- | Would these two documents print the same, laid out like this?-agree :: Varied -> Layout -> Doc -> Doc -> Bool-agree varied layout a b = alike (chunked (spineAt layout a)) (chunked (spineAt layout b))- where- alike (Left s : xs) (Left t : ys) = s == t && alike xs ys- alike (Right x : xs) (Right y : ys) = here x y && alike xs ys- alike [] [] = True- alike _ _ = False- chunked ds =- let (space, rest) = span isSpace' ds- in Left (spaceOf layout space) : case rest of- [] -> []- x : more -> Right x : chunked more- isSpace' = \case- DEmpty -> True- DSpace -> True- DBreak -> True- DSoftBreak -> True- DHardBreak -> True- DCloseLine -> True- _ -> False- inside x y = agree varied layout x y- here x y = case (x, y) of- (DGroup l x', DGroup m y') -> l == m && agree varied l x' y'- (DNest n x', DNest m y') -> n == m && inside x' y'- (DAlign x', DAlign y') -> inside x' y'- (DLocated s x', DLocated t y') ->- s == t && (untouched varied s || inside x' y')- (DFence s x', DFence t y') -> s == t && inside x' y'- (DCppChoice bs x', DCppChoice cs y') ->- length bs == length cs- && and [g == h && inside p q | ((g, p), (h, q)) <- zip bs cs]- && inside x' y'- (DText s, DText t) -> s == t- (DCppDirective s u, DCppDirective t v) -> s == t && u == v- (DHoldBack s, DHoldBack t) -> s == t- (DVerbatimBreak r e, DVerbatimBreak q f) -> r == q && e == f- (DSpace, DSpace) -> True- (DBreak, DBreak) -> True- (DSoftBreak, DSoftBreak) -> True- (DHardBreak, DHardBreak) -> True- (DCloseLine, DCloseLine) -> True- _ -> False---- | What a run of space comes to on the page.-data Space = Space !Int !Bool- deriving (Eq, Ord)---- | Read a run of space, the way 'Tilia.Doc.Internal.breakLine' does.-spaceOf :: Layout -> [Doc] -> Space-spaceOf layout = go 0 False False- where- go ended closed apart = \case- [] -> Space (min 2 ended) (apart && ended == 0)- d : ds -> case d of- DSpace -> go ended closed True ds- DCloseLine- | closed -> go ended closed apart ds- | otherwise -> go (ended + 1) True apart ds- DHardBreak -> broke ds- DBreak- | layout == Broken -> broke ds- | otherwise -> go ended closed True ds- DSoftBreak- | layout == Broken -> broke ds- | otherwise -> go ended closed apart ds- _ -> go ended closed apart ds- where- broke rest- | closed = go ended False apart rest- | otherwise = go (ended + 1) False apart rest---- | Put several documents' differences from a baseline into one document.------ Each of them is the baseline except inside one conditional's lines, and--- those lines do not overlap, so their differences can be applied side by--- side rather than chosen between. Which is what makes varying the--- conditionals one at a time add up to varying them together, and so what--- makes the cost linear.-combine :: Layout -> Doc -> [(Varied, Doc)] -> Maybe Doc-combine layout base ds = case filter (\(v, d) -> not (agree v layout base d)) ds of- [] -> Just base- [(_, only)] -> Just only- many -> case (spineAt layout base, [(v, spineAt layout d) | (v, d) <- many]) of- ([b], ss) | Just xs <- traverse (\(v, s) -> (,) v <$> single s) ss -> descend b xs- (bs, ss) -> spliced bs ss- where- single [d] = Just d- single _ = Nothing-- descend b xs = case b of- DLocated s i- | Just tds <- every (\case DLocated t d -> Just (t, d); _ -> Nothing),- all (meets s . fst . snd) tds ->- DLocated (hull s (fmap snd tds)) <$> combine layout i (inner tds)- DFence s i- | Just tds <- every (\case DFence t d -> Just (t, d); _ -> Nothing),- all (meets s . fst . snd) tds ->- DFence (hull s (fmap snd tds)) <$> combine layout i (inner tds)- DNest n i | Just is <- every (\case DNest m d | m == n -> Just d; _ -> Nothing) -> DNest n <$> combine layout i is- DAlign i | Just is <- every (\case DAlign d -> Just d; _ -> Nothing) -> DAlign <$> combine layout i is- DGroup l i- | Just ls <- every (\case DGroup m _ -> Just m; _ -> Nothing),- Just is <- every (\case DGroup _ d -> Just d; _ -> Nothing) ->- let inside = if Broken `elem` (l : fmap snd ls) then Broken else Flat- in DGroup inside <$> combine inside i is- _ -> Nothing- where- every f = traverse (\(v, d) -> (,) v <$> f d) xs- inner tds = [(v, d) | (v, (_, d)) <- tds]-- spliced bs ss = do- clustered <-- traverse- (cluster bs)- ( overlapping- ( sortOn- chFrom- ( concat- [ changesAgainst v (alignable v layout) (agree v layout) bs s- | (v, s) <- ss- ]- )- )- )- pure (mconcat (applied bs clustered))-- cluster _ [c] = Just c- cluster bs cs- | to - from == 1,- Just xs <- traverse (\c -> (,) (chVaried c) <$> single (chWith c)) cs,- (b : _) <- drop from bs =- ( \d ->- Change- { chFrom = from,- chTo = to,- chWith = [d],- chVaried = Varied (concatMap (variedLines . chVaried) cs)- }- )- <$> combine layout b xs- | otherwise = Nothing- where- from = minimum (fmap chFrom cs)- to = maximum (fmap chTo cs)-- applied bs = go 0- where- go i [] = drop i bs- go i (c : cs) =- take (chFrom c - i) (drop i bs) <> chWith c <> go (chTo c) cs---- | The smallest span covering a node's own and those of everything merged--- into it.-hull :: Span -> [(Span, Doc)] -> Span-hull = foldr ((<>) . fst)---- | A stretch of the baseline, and what one document put there instead.-data Change = Change- { -- | Where the stretch begins, as an index into the baseline.- chFrom :: !Int,- -- | Where it ends, one past the last element replaced.- chTo :: !Int,- -- | What the document put there instead.- chWith :: [Doc],- -- | The lines the conditional this change came from could have reached.- -- Carried so that a cluster of two of them can be combined without- -- losing which conditional each half belongs to. See 'Varied'.- chVaried :: Varied- }---- | What one document changed about the baseline, as the stretches it--- replaced and what it put in each of their places.-changesAgainst ::- Varied ->- -- | Whether two elements stand for the same thing, which lines the spines up.- (Doc -> Doc -> Bool) ->- -- | Whether two elements print the same, which says nothing changed.- (Doc -> Doc -> Bool) ->- [Doc] ->- [Doc] ->- [Change]-changesAgainst varied lining plain bs xs = go 0 bs xs (lcs lining bs xs)- where- anchor = anchored lining-- go i b x [] = between i b x- go i b x (c : cs) =- let (b', b'') = break (anchor c) b- (x', x'') = break (anchor c) x- j = i + length b'- in between i b' x'- <> held j (listToMaybe b'') (listToMaybe x'')- <> go (j + 1) (drop 1 b'') (drop 1 x'') cs-- held j (Just b') (Just x')- | not (plain b' x') =- [Change{chFrom = j, chTo = j + 1, chWith = [x'], chVaried = varied}]- held _ _ _ = []-- between i b x =- [ Change- { chFrom = i + shared,- chTo = i + shared + length b',- chWith = x',- chVaried = varied- }- | not (null b' && null x')- ]- where- shared = length (takeWhile id (zipWith plain b x))- atEnd = length (takeWhile id (zipWith plain (reverse b) (reverse x)))- kept = min atEnd (min (length b) (length x) - shared)- b' = take (length b - kept - shared) (drop shared b)- x' = take (length x - kept - shared) (drop shared x)---- | Group changes that reach the same stretch of the baseline.------ Ones that merely touch are left apart: a change ending where the next--- begins has not reached into it.-overlapping :: [Change] -> [[Change]]-overlapping [] = []-overlapping (c : cs) = go [c] (chTo c) cs- where- go acc _ [] = [reverse acc]- go acc end (x : xs)- | chFrom x < end = go (x : acc) (max end (chTo x)) xs- | otherwise = reverse acc : go [x] (chTo x) xs---- | What a document prints before its final choice, and that choice.-endingChoice :: Doc -> Maybe (Doc, [(Text, Doc)], Doc, Doc)-endingChoice d = case span onlySpacing (reverse (spine d)) of- (trailing, x : earlier) ->- let opening = mconcat (reverse earlier)- gap = mconcat (reverse trailing)- around w (o, bs, e, g) =- (opening <> w o, fmap (fmap w) bs, w e, w g <> gap)- in case x of- DCppChoice bs e -> Just (opening, bs, e, gap)- DGroup l y -> around (DGroup l) <$> endingChoice y- DNest n y -> around (DNest n) <$> endingChoice y- DLocated s y -> around (DLocated s) <$> endingChoice y- DFence s y -> around (DFence s) <$> endingChoice y- _ -> Nothing- _ -> Nothing---- | The mirror of 'endingChoice': a document's opening choice, and the rest.-startingChoice :: Doc -> Maybe (Doc, [(Text, Doc)], Doc, Doc)-startingChoice d = case span onlySpacing (spine d) of- (leading, x : later) ->- let gap = mconcat leading- closing = mconcat later- around w (g, bs, e, c) =- (gap <> w g, fmap (fmap w) bs, w e, w c <> closing)- in case x of- DCppChoice bs e -> Just (gap, bs, e, closing)- DGroup l y -> around (DGroup l) <$> startingChoice y- DNest n y -> around (DNest n) <$> startingChoice y- DLocated s y -> around (DLocated s) <$> startingChoice y- DFence s y -> around (DFence s) <$> startingChoice y- _ -> Nothing- _ -> Nothing---- | Nothing but the whitespace that separates one thing from the next.-onlySpacing :: Doc -> Bool-onlySpacing = \case- DEmpty -> True- DSpace -> True- DBreak -> True- DSoftBreak -> True- DHardBreak -> True- DCloseLine -> True- _ -> False---- | Does the first thing this document puts on the page end a line?-opensWithBreak :: Layout -> Doc -> Bool-opensWithBreak layout d = case dropWhile quiet (spineAt layout d) of- (x : _) -> case x of- DNest _ y -> opensWithBreak layout y- DAlign y -> opensWithBreak layout y- DGroup l y -> opensWithBreak l y- DLocated _ y -> opensWithBreak layout y- DFence _ y -> opensWithBreak layout y- DHardBreak -> True- DCloseLine -> True- DBreak -> layout == Broken- DSoftBreak -> layout == Broken- DCppDirective _ _ -> True- DCppChoice _ _ -> True- _ -> False- [] -> False- where- quiet = \case- DEmpty -> True- DSpace -> True- _ -> False---- | How much text this document holds, counting what a choice repeats once--- for each alternative that repeats it.-weigh :: Layout -> Doc -> Int-weigh layout = go- where- go = \case- DCat a b -> go a + go b- DNest _ d -> go d- DAlign d -> go d- DGroup l d -> weigh l d- DVariant flatD brokenD ->- go (case layout of Flat -> flatD; Broken -> brokenD)- DLocated _ d -> go d- DFence _ d -> go d- DCppChoice bs e -> sum (fmap (go . snd) bs) + go e- DText t -> T.length t- DCppDirective _ t -> T.length t- DHoldBack t -> T.length t- _ -> 0---- | A document as the sequence of things it concatenates.-spine :: Doc -> [Doc]-spine = \case- DEmpty -> []- DCat a b -> spine a <> spine b- d -> [d]---- | 'spine', with the variants resolved the way this layout will print them.-spineAt :: Layout -> Doc -> [Doc]-spineAt layout = go- where- go = \case- DEmpty -> []- DCat a b -> go a <> go b- DVariant flatD brokenD ->- go (case layout of Flat -> flatD; Broken -> brokenD)- d -> [d]---- | The longest run of elements two spines have in common, in order,--- allowing for anything either of them has that the other does not.-lcs :: (Doc -> Doc -> Bool) -> [Doc] -> [Doc] -> [Doc]-lcs same xs ys =- filter anchoring opening <> table middleX middleY <> filter anchoring closing- where- agreeing as bs = length (takeWhile id (zipWith same as bs))-- ahead = agreeing xs ys- (opening, xs1) = splitAt ahead xs- ys1 = drop ahead ys- behind = agreeing (reverse xs1) (reverse ys1)- (middleX, closing) = splitAt (length xs1 - behind) xs1- middleY = take (length ys1 - behind) ys1-- table [] _ = []- table _ [] = []- table as bs = reverse (snd (last (foldl' (row bs) (start bs) as)))- where- start cs = replicate (length cs + 1) (0 :: Int, [])- row cs previous x = cells 0 [] (zip3 cs previous (drop 1 previous))- where- cells !n acc rest =- (n, acc) : case rest of- [] -> []- ((y, (dn, ds), (an, as')) : more)- | anchoring x, same x y -> cells (dn + 1) (x : ds) more- | n >= an -> cells n acc more- | otherwise -> cells an as' more---- | Do these two documents stand for the same thing?-alignable :: Varied -> Layout -> Doc -> Doc -> Bool-alignable = agree---- | Only let something that was printed line two spines up.-anchored :: (Doc -> Doc -> Bool) -> Doc -> Doc -> Bool-anchored same a b = anchoring a && same a b---- | Could this element hold two spines together, if it turned up in both?-anchoring :: Doc -> Bool-anchoring = \case- DEmpty -> False- DSpace -> False- DBreak -> False- DSoftBreak -> False- DHardBreak -> False- DCloseLine -> False- DVerbatimBreak _ _ -> False- _ -> True---- | A spine cut at the elements it shares with the others: one stretch--- before each of them, and one after the last, and the elements themselves.------ The matched elements come back rather than being dropped because the--- caller cannot assume they are interchangeable: what lined them up is--- 'alignable', and only 'agree' would say they print the same.-segments ::- -- | Whether an element of the spine is the shared one being looked for.- (Doc -> Doc -> Bool) ->- -- | The shared elements, in order, to cut at.- [Doc] ->- -- | The spine to cut.- [Doc] ->- -- | The stretches between the cuts, and the elements cut at.- ([[Doc]], [Doc])-segments same = go- where- go [] s = ([s], [])- go (c : cs) s = case break (same c) s of- (before', matched : rest) -> keeping before' matched (go cs rest)- (before', []) -> keeping before' c (go cs [])- where- keeping before' matched (stretches, anchors) =- (before' : stretches, matched : anchors)--------------------------------------------------------------------------------- Diagnostics---- | Every region a document records provenance for, with what was printed--- there.------ The outermost wins where a span appears twice, which is the one 'walk'--- would have given a comment to.-regions :: Doc -> Map Span Doc-regions = Map.fromListWith (\_ outer -> outer) . go- where- go = \case- DLocated s d -> (s, d) : go d- DFence _ d -> go d- DCat a b -> go a <> go b- DNest _ d -> go d- DAlign d -> go d- DGroup _ d -> go d- DVariant a _ -> go a- DCppChoice bs e -> foldMap (go . snd) bs <> go e- _ -> []+ everyBranch,+ CppError (..),+ describeCppError,++ -- * Splitting+ Guard (..),+ Configurations (..),+ configurations,+ leaves,+ branchLeaves,+ correspondingBranches,+ linearLeaves,+ countLeaves,+ answeredLeaves,+ answeredLinearLeaves,++ -- * Diagnostics+ regions,+ )+where++import Control.Applicative ((<|>))+import Control.Monad (join, when)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Except (ExceptT, catchE, except, runExceptT, throwE)+import Control.Monad.Trans.State.Strict (State, evalState, get, put)+import Data.Foldable (traverse_)+import Data.IntMap.Strict qualified as IntMap+import Data.List (sort)+import Data.List.NonEmpty (NonEmpty, nonEmpty)+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map+import Data.Maybe (catMaybes, fromMaybe, isNothing, listToMaybe, mapMaybe, maybeToList)+import Data.Monoid (Any (..))+import Data.Set qualified as Set+import Data.Text (Text)+import Data.Text qualified as T+import Data.Traversable (for)+import GHC.Conc (par)+import Tilia.Cpp.Directives+import Tilia.Cpp.Fragment (bodyOf, fragmentText, fragmentsOf, linesHeld, reassembled)+import Tilia.Cpp.Merge (Settled (..), combine, merge)+import Tilia.Cpp.Place (CommentSummary, restoreUnprinted, summarizeComments)+import Tilia.Doc (defaultRenderOptions, printDoc)+import Tilia.Doc.Internal+ ( Doc (..),+ Layout (..),+ conditionalRange,+ foldChildren,+ mapChildren,+ printedFrom,+ )+import Tilia.Parser+ ( ParsedModule,+ ParserConfig,+ importLayout,+ parseConfiguration,+ parseModule,+ pmSource,+ readAlike,+ )+import Tilia.Render (RenderConfig (..), renderConfiguration)+import Tilia.Source+ ( Lines,+ Written (..),+ blankAt,+ comments,+ dropping,+ linesOf,+ )+import Tilia.Span+ ( Span,+ spanEndLine,+ spanStartLine,+ )++----------------------------------------------------------------------------+-- Formatting++-- | Format a module which uses the C preprocessor.+--+-- Each configuration's code is formatted by the ordinary printer, and the+-- resulting documents are merged. The conditionals, the comments, and the+-- directives are then injected into the merged document.+formatWithCpp ::+ -- | What to parse each configuration with.+ ParserConfig ->+ -- | What to print each configuration with.+ RenderConfig ->+ -- | The file this is, for the positions in an error.+ FilePath ->+ -- | The module, directives and all.+ Text ->+ -- | The formatted module, or why not.+ Either CppError Text+formatWithCpp parser render path source = do+ traverse_ (Left . RuledOutBranch) (ruledOutBranch source)+ (document, found) <-+ evalState+ ( runExceptT+ ( formatAllConfigs+ parser+ known+ path+ (reading parser known path (noAnswers source) source)+ )+ )+ (configurationBudget * linesHeld source)+ formatted <-+ printDoc defaultRenderOptions+ <$> restoreUnprinted source found document+ formatted <$ traverse_ (Left . RuledOutBranch) (ruledOutBranch formatted)+ where+ known =+ render+ { rcImportBarriers = maybe [] (importBarriers parser source) groups,+ rcNameBarriers = maybe [] (sort . concatMap gsOwnLines) groups+ }+ groups = allGroups <$> scanConditionals source++-- | A module's branches, parsed: as one module where they parse together,+-- and otherwise as the branch leaves that parse.+everyBranch ::+ -- | What to parse with.+ ParserConfig ->+ -- | The file this is, for the positions in a parse error.+ FilePath ->+ -- | The module, directives and all.+ Text ->+ -- | 'Nothing' where nothing parses.+ Maybe (NonEmpty ParsedModule)+everyBranch parser path source =+ case parseModule parser path (blankCpp source) of+ Right whole -> Just (pure whole)+ Left _ ->+ nonEmpty+ [ parsed+ | Right texts <- [branchLeaves source],+ Right parsed <- fmap (parseModule parser path) texts+ ]++-- | The lines imports must not be sorted across: the directives of every+-- conditional but one that only continues the item above it, such as a+-- @hiding@ clause written behind a condition.+importBarriers ::+ -- | What to read the module with.+ ParserConfig ->+ -- | The module, directives and all.+ Text ->+ -- | Every conditional of the module, nested ones included.+ [GroupSpec] ->+ [Int]+importBarriers parser source groups =+ sort [l | g <- groups, not (continuesAnItem g), l <- gsOwnLines g]+ where+ starts = fromMaybe IntMap.empty (importLayout parser (blankCpp source))+ continuesAnItem g =+ let (from, to) = gsWhole g+ held =+ IntMap.elems $+ fst (IntMap.split to (snd (IntMap.split from starts)))+ in not (null held) && not (or held)++-- | Formatting that spends the lines it formats out of the budget left, or+-- fails with a 'CppError'.+type Spending = ExceptT CppError (State Int)++-- | Give up on formatting the module.+refuse :: CppError -> Spending a+refuse = throwE++-- | Take lines out of the budget, or give up where fewer are left.+spend :: Int -> Spending ()+spend n = do+ budget <- lift get+ when (budget < n) (refuse TooManyConfigurations)+ lift (put (budget - n))++-- | What formatting comes to, or 'Nothing' where it fails for a reason+-- other than the budget running out. What it spent stays spent.+attempt :: Spending a -> Spending (Maybe a)+attempt formatting =+ (Just <$> formatting) `catchE` \case+ TooManyConfigurations -> refuse TooManyConfigurations+ _ -> pure Nothing++-- | A configuration, with what its conditionals come to worked out once+-- for everything that asks.+data Reading = Reading+ { -- | How it was reached.+ readingReached :: Reached,+ -- | Its text.+ readingSource :: Text,+ -- | Its conditionals.+ readingForest :: Either CppError [GroupSpec],+ -- | Its conditionals split one at a time, with the reading of the+ -- baseline they are varied against, where it has any.+ readingApart :: Maybe (Variation, Reading),+ -- | The conditional to split on first, where one holds a pragma that+ -- changes how the rest is parsed.+ readingPragma :: Maybe GroupSpec,+ -- | What it comes to formatted as it is, where it holds no conditional.+ readingFormatted :: Either CppError (Doc, CommentSummary)+ }++-- | Read a configuration.+reading ::+ -- | What to parse a configuration with.+ ParserConfig ->+ -- | What to print it with.+ RenderConfig ->+ -- | The file this is, for the positions in a parse error.+ FilePath ->+ -- | How this configuration was reached.+ Reached ->+ -- | Input text.+ Text ->+ Reading+reading parser render path reached source =+ Reading+ { readingReached = reached,+ readingSource = source,+ readingForest = forest,+ readingApart = do+ apart <- withForest (`variations` source)+ let baseline = without (vaBaselineDropped apart) reached+ pure (apart, reading parser render path baseline (vaBaseline apart)),+ readingPragma = withForest (\f -> splitOnPragma parser f source),+ readingFormatted =+ formatSingleConfig parser render path reached (withoutOpaque source)+ }+ where+ forest = readConditionals source+ withForest f = either (const Nothing) f forest++-- | What the first configuration 'formatAllConfigs' formats comes to, where+-- it is sure to start with the one every question is answered in with its+-- first branch.+firstFormatted :: Reading -> Maybe (Either CppError (Doc, CommentSummary))+firstFormatted r = case (readingForest r, readingApart r) of+ (Left _, _) -> Nothing+ (Right _, Nothing) -> Just (readingFormatted r)+ (Right _, Just (_, baseline))+ | isNothing (readingPragma r) -> firstFormatted baseline+ | otherwise -> Nothing++-- | Start working out on the side, as far as its outermost constructor,+-- what each configuration formats first.+aheadOf :: [Reading] -> a -> a+aheadOf readings x = foldr par x (mapMaybe firstFormatted readings)++-- | Format every configuration of a module, and merge them into one+-- document, with what they found besides their code.+formatAllConfigs ::+ -- | What to parse a configuration with.+ ParserConfig ->+ -- | What to print it with.+ RenderConfig ->+ -- | The file this is, for the positions in a parse error.+ FilePath ->+ -- | The configuration.+ Reading ->+ Spending (Doc, CommentSummary)+formatAllConfigs parser render path r = do+ forest <- except (readingForest r)+ case readingApart r of+ Nothing -> do+ spend (linesHeld source)+ except (readingFormatted r)+ Just (apart, baseline) -> do+ budget <- lift get+ let pragma = readingPragma r+ least = max 1 (linesHeld (blanking (fmap gsWhole forest) source))+ affordable = linearCost (budget `div` least) forest source * least <= budget+ base <-+ if isNothing pragma || affordable+ then+ attempt (formatAllConfigs parser render path baseline)+ else pure Nothing+ fragmented <- case (pragma, base) of+ (Nothing, Just b) -> join <$> attempt (inFragments parser render path reached forest source b)+ _ -> pure Nothing+ linear <- case (fragmented, base) of+ (Nothing, Just b) | affordable -> oneAtATime apart b+ _ -> pure Nothing+ case fragmented <|> linear of+ Just found -> pure found+ Nothing -> case maybeToList pragma <> forest of+ g : _ -> together parser render path reached (configurationsOn g forest source)+ [] -> error "Tilia: a module that varies has a conditional to split on"+ where+ reached = readingReached r+ source = readingSource r+ oneAtATime apart base = do+ varied <- attempt (separately parser render path reached apart base)+ pure $ do+ (merged, found) <- varied+ d <- combine Broken (fst base) (zip (fmap cfgWholes (vaGroups apart)) merged)+ pure (d, found)++-- | How many formattings varying a module's conditionals one at a time+-- takes at the least, counted as far as one past the given number.+linearCost :: Int -> [GroupSpec] -> Text -> Int+linearCost limit forest source = go forest+ where+ written = linesOf (Written source)+ go = \case+ [] -> 1+ gss ->+ upTo+ 0+ ( go (concatMap (`nestedIn` 0) gss)+ : [ if holdsNothing r && all holdsNothing (take 1 (gsBranches gs))+ then 0+ else go (nestedIn gs i <> concatMap (`nestedIn` 0) others)+ | (k, gs) <- zip [0 :: Int ..] gss,+ let others = [o | (j, o) <- zip [0 ..] gss, j /= k],+ (i, r) <-+ zip+ [1 ..]+ ( drop 1 (gsBranches gs)+ <> [ (1, 0)+ | not (gsHasElse gs)+ ]+ )+ ]+ )+ holdsNothing (from, to) = all (`blankAt` written) [from .. to]+ upTo acc = \case+ _ | acc > limit -> acc+ [] -> acc+ x : xs -> upTo (acc + x) xs++-- | A single variation.+data Variation = Variation+ { -- | Every question answered with its first branch.+ vaBaseline :: Text,+ -- | The line ranges that answer leaves out.+ vaBaselineDropped :: [(Int, Int)],+ -- | One question varied, with all the others held at the baseline.+ vaGroups :: [Configurations]+ }++-- | Split a module on every conditional at its top level, one at a time.+variations :: [GroupSpec] -> Text -> Maybe Variation+variations forest source+ | null forest = Nothing+ | otherwise =+ Just+ Variation+ { vaBaseline = held (const 0),+ vaBaselineDropped = gone (const 0),+ vaGroups =+ [ Configurations+ { cfgGuards = gsGuards gs,+ cfgTexts = [held (varying k i) | i <- [0 .. gsCount gs - 1]],+ cfgDropped = [gone (varying k i) | i <- [0 .. gsCount gs - 1]],+ cfgWholes = Varied [gsWhole gs],+ cfgConditionals = [gsConditional gs]+ }+ | (k, gs) <- zip [0 ..] forest+ ]+ }+ where+ held at = blanking (concat [blankingFor gs (at k) | (k, gs) <- zip [0 :: Int ..] forest]) source+ gone at = concat [droppedFor gs (at k) | (k, gs) <- zip [0 :: Int ..] forest]+ varying k i j = if j == k then i else 0++-- | Vary each conditional on its own, holding the others at their first+-- branch.+separately ::+ -- | What to parse a configuration with.+ ParserConfig ->+ -- | What to print it with.+ RenderConfig ->+ -- | The file this is, for the positions in a parse error.+ FilePath ->+ -- | How this configuration was reached.+ Reached ->+ -- | The conditionals to vary, and the baseline to hold them against.+ Variation ->+ -- | What the baseline was formatted to.+ (Doc, CommentSummary) ->+ Spending ([Doc], CommentSummary)+separately parser render path reached v (baseDoc, baseFound) = do+ groups <-+ aheadOf (catMaybes (concat readings)) . for readings . traverse $+ maybe (pure (baseDoc, mempty)) (formatAllConfigs parser render path)+ let merged =+ zipWith+ (mergeOf (reachedLines reached))+ (vaGroups v)+ (fmap (fmap fst) groups)+ pure (foldr par merged merged, baseFound <> foldMap (foldMap snd) groups)+ where+ readings =+ [ [ if t == vaBaseline v+ then Nothing+ else Just (reading parser render path (answering c i reached) t)+ | (i, t) <- zip [0 ..] (cfgTexts c)+ ]+ | c <- vaGroups v+ ]++-- | Format each fragment of declarations the outermost conditionals reach+-- on its own, and put the results into what the baseline was formatted to.+--+-- 'Nothing' where the module cannot be taken apart like that.+inFragments ::+ -- | What to parse a configuration with.+ ParserConfig ->+ -- | What to print it with.+ RenderConfig ->+ -- | The file this is, for the positions in a parse error.+ FilePath ->+ -- | How this configuration was reached.+ Reached ->+ -- | The outermost conditionals.+ [GroupSpec] ->+ -- | Input text.+ Text ->+ -- | What the baseline was formatted to.+ (Doc, CommentSummary) ->+ Spending (Maybe (Doc, CommentSummary))+inFragments parser render path reached forest source (baseDoc, baseFound) =+ case parts of+ Nothing -> pure Nothing+ Just (body, ps) -> do+ let readings =+ [ reading parser render path (without gone reached) t+ | (_, (t, gone)) <- ps+ ]+ formatted <-+ aheadOf readings $+ traverse (formatAllConfigs parser render path) readings+ pure $ do+ doc <- reassembled body (zip (fmap fst ps) (fmap fst formatted))+ pure (doc, baseFound <> foldMap snd formatted)+ where+ parts = do+ body <- bodyOf baseDoc+ ps <-+ traverse+ (\f -> (,) f <$> fragmentText body forest source f)+ (fragmentsOf body forest)+ pure (body, ps)++-- | The outermost conditional around a @LANGUAGE@ or @OPTIONS@ pragma that+-- changes how the rest of the module is parsed, if there is one.+--+-- Formatting a fragment on its own takes the rest of the module to be+-- parsed alike in every configuration.+splitOnPragma :: ParserConfig -> [GroupSpec] -> Text -> Maybe GroupSpec+splitOnPragma parser forest source =+ listToMaybe+ [ o+ | g <- groups,+ holdsPragma g,+ any (not . readAlike parser baseline . answered g) [1 .. gsCount g - 1],+ o <- forest,+ fst (gsWhole o) <= fst (gsWhole g),+ snd (gsWhole g) <= snd (gsWhole o)+ ]+ where+ groups = allGroups forest+ baseline = blanking (concatMap (`blankingFor` 0) groups) source+ answered g i =+ blanking+ (blankingFor g i <> concat [blankingFor h 0 | h <- groups, gsWhole h /= gsWhole g])+ source+ written = T.lines source+ holdsPragma g =+ let (from, to) = gsWhole g+ in any pragma (take (to - from + 1) (drop (from - 1) written))+ pragma l =+ let u = T.toUpper l+ in "{-#" `T.isInfixOf` u+ && ("LANGUAGE" `T.isInfixOf` u || "OPTIONS" `T.isInfixOf` u)++-- | Vary the conditionals together, one group at a time.+together ::+ -- | What to parse a configuration with.+ ParserConfig ->+ -- | What to print it with.+ RenderConfig ->+ -- | The file this is, for the positions in a parse error.+ FilePath ->+ -- | How this configuration was reached.+ Reached ->+ -- | The group to split on, and the branch texts to split it into.+ Configurations ->+ Spending (Doc, CommentSummary)+together parser render path reached c = do+ (found, blind) <-+ formatted differentlyRead `catchE` \case+ ConfigurationNotParsed answers _+ | not differentlyRead,+ isNothing (implied answers) ->+ formatted True+ e -> refuse e+ if blind then fst <$> formatted False else pure found+ where+ readingOf = reading parser render path+ differentlyRead =+ or (zipWith (\a b -> not (readAlike parser a b)) texts (drop 1 texts))+ texts = cfgTexts c+ formatted settle = do+ let (settledBy, answers) =+ unzip . (if settle then settling else fmap ((,) [])) $+ [(answering c i reached, t) | (i, t) <- zip [0 ..] texts]+ found <- fmap catMaybes . for (zip [0 ..] answers) $ \(i, (r, t)) ->+ if null (unconditionalErrors t)+ then+ Just . (,) i+ <$> formatAllConfigs parser render path (readingOf r t)+ else pure Nothing+ docs <-+ except (traverse (complete (fmap (fmap fst) found)) (zip [0 ..] texts))+ let settledIn i+ | Just _ <- lookup i found = settledBy !! i+ | otherwise = foldMap ((settledBy !!) . fst) (listToMaybe found)+ settled = settledAcross (fmap settledIn [0 .. length answers - 1])+ ranges = mapMaybe (conditionalRange . settledConditional) settled+ varied = Varied (variedLines (cfgWholes c) <> ranges)+ merged =+ merge+ (reachedLines reached)+ (cfgConditionals c)+ (cfgGuards c)+ varied+ settled+ docs+ pure ((merged, foldMap (snd . snd) found), blindOver ranges merged)+ blindOver ranges d = case d of+ DCppChoice [] bs _+ | fmap fst bs == fmap guardText (cfgGuards c),+ any (\(a, b) -> any (\(from, to) -> a <= to && from <= b) ranges) $+ printedFrom d ->+ True+ _ -> getAny (foldChildren (Any . blindOver ranges) d)+ complete found (i, t) = case lookup i found of+ Just d -> Right d+ Nothing -> case listToMaybe found >>= errorBranch (cfgWholes c) t . snd of+ Just d -> Right d+ Nothing ->+ Left+ . AbortingAlternative+ . maybe 0 dLine+ . listToMaybe+ . unconditionalErrors+ $ t++-- | Preserve an error-only alternative without asking the Haskell parser to+-- parse its missing expression or declaration. A successful sibling supplies+-- the surrounding syntax, with the nodes wholly inside the conditional taken+-- out; the @#error@ is put back into the space they leave with every other+-- directive. More complicated aborting alternatives are left unsupported.+errorBranch :: Varied -> Text -> Doc -> Maybe Doc+errorBranch (Varied ranges) source reference = foldl step (Just reference) ranges+ where+ sourceLines' = zip [1 ..] (T.lines source)+ errors = unconditionalErrors source+ step acc (from, to) = do+ doc <- acc+ let inside n = from <= n && n <= to+ here = filter (inside . dLine) errors+ errorLine n = any (\d -> dLine d <= n && n <= dLastLine d) here+ onlyErrors =+ all+ (\(n, l) -> not (inside n) || errorLine n || T.null (T.strip l))+ sourceLines'+ contained s = inside (spanStartLine s) && inside (spanEndLine s)+ outside d = case d of+ DLocated s _ | contained s -> mempty+ DCppChoice{}+ | lines'@(_ : _) <- printedFrom d,+ all (\(a, b) -> inside a && inside b) lines' ->+ mempty+ | otherwise -> d+ _ -> mapChildren outside d+ if not (null here) && onlyErrors then Just (outside doc) else Nothing++-- | Format one configuration's code with the ordinary printer, and gather+-- what else it holds.+formatSingleConfig ::+ -- | What to parse it with.+ ParserConfig ->+ -- | What to print it with.+ RenderConfig ->+ -- | The file this is, for the positions in a parse error.+ FilePath ->+ -- | How this configuration was reached.+ Reached ->+ -- | The configuration itself, with no directives left in it.+ Text ->+ Either CppError (Doc, CommentSummary)+formatSingleConfig parser render path reached text =+ case parseConfiguration parser path (reachedLines reached) text of+ Left e -> Left (ConfigurationNotParsed (reachedAnswers reached) e)+ Right parsed ->+ let (document, loose) = renderConfiguration render parsed+ in Right (document, summarizeComments loose (comments (pmSource parsed)))++-- | How a configuration was reached, and what to call it.+data Reached = Reached+ { -- | Which branch each question was answered with, outermost first.+ reachedAnswers :: [([Guard], Int)],+ -- | Every line the author wrote, except for those written inside a+ -- branch this configuration did not take.+ reachedLines :: Lines+ }++-- | The configuration nothing has been decided about yet.+noAnswers :: Text -> Reached+noAnswers source =+ Reached+ { reachedAnswers = [],+ reachedLines = linesOf (Written source)+ }++-- | Answer one group's question with the branch at the given index.+answering :: Configurations -> Int -> Reached -> Reached+answering c i reached =+ reached+ { reachedAnswers = reachedAnswers reached <> [(cfgGuards c, i)],+ reachedLines =+ dropping+ (concat (take 1 (drop i (cfgDropped c))))+ (reachedLines reached)+ }++-- | Leave out the branches a baseline does not take, without answering+-- anything: the baseline is every question taken at its first branch, and+-- which question is being varied is not settled until 'answering'.+without :: [(Int, Int)] -> Reached -> Reached+without gone reached =+ reached{reachedLines = dropping gone (reachedLines reached)}++-- | Take, in every conditional the answers to one question settle, the+-- branch they settle it on, as the preprocessor would, where an answer+-- leaving it open prints its other branches.+settling ::+ -- | Each answer, and the configuration it gives.+ [(Reached, Text)] ->+ -- | Each answer's settled conditionals and its configuration with them+ -- taken.+ [([(GroupSpec, Int)], (Reached, Text))]+settling given =+ [ (settled, (reached', blanking (concatMap (uncurry blankingFor) settled) t))+ | ((reached, t), (candidates, _)) <- zip given found,+ let settled = [s | s@(gs, _) <- candidates, Set.member (gsWhole gs) open],+ let reached' =+ reached+ { reachedAnswers =+ reachedAnswers reached+ <> [(gsGuards gs, k) | (gs, k) <- settled],+ reachedLines =+ dropping+ (concatMap (uncurry droppedFor) settled)+ (reachedLines reached)+ }+ ]+ where+ found =+ [ if null (unconditionalErrors t)+ then walk (implied (reachedAnswers r)) (scanConditionals t)+ else ([], [])+ | (r, t) <- given+ ]+ open = Set.fromList (concatMap snd found)+ walk (Just known) (Just forest) = foldMap (visit known) forest+ walk _ _ = ([], [])+ visit known gs = case settledBranch known gs of+ Just k -> ([(gs, k)], []) <> foldMap (visit known) (nestedIn gs k)+ Nothing ->+ ([], [gsWhole gs]) <> foldMap (foldMap (visit known)) (gsNested gs)++-- | The conditionals some answer settles, given what each answer settles.+settledAcross :: [[(GroupSpec, Int)]] -> [Settled]+settledAcross perAnswer =+ [ Settled+ { settledConditional = gsConditional gs,+ settledBranches =+ [ lookup (gsWhole gs) [(gsWhole g, k) | (g, k) <- ss]+ | ss <- perAnswer+ ]+ }+ | gs <- Map.elems (Map.fromList [(gsWhole g, g) | (g, _) <- concat perAnswer])+ ]++-- | How many times over one call may format the lines of a module.+configurationBudget :: Int+configurationBudget = 64++-- | Merge the documents one group's configurations printed to.+mergeOf :: Lines -> Configurations -> [Doc] -> Doc+mergeOf written c =+ merge+ written+ (cfgConditionals c)+ (cfgGuards c)+ (cfgWholes c)+ []++----------------------------------------------------------------------------+-- Diagnostics++-- | Every region a document records provenance for, with what was printed+-- there.+--+-- The outermost wins where a span appears twice, which is the one 'walk'+-- would have given a comment to.+regions :: Doc -> Map Span Doc+regions = Map.fromListWith (\_ outer -> outer) . go+ where+ go = \case+ DLocated s d -> (s, d) : go d+ DVariant a _ -> go a+ d -> foldChildren go d
@@ -9,18 +9,22 @@ withoutRuledOut, withoutOpaque, CppError (..),+ Malformation (..), describeCppError,- unhandledIn, -- * Splitting Guard (..), Configurations (..), configurations,+ configurationsOn, Varied (..), untouched, leaves, branchLeaves,+ implied,+ settledBranch, correspondingBranches,+ ruledOutBranch, unconditionalErrors, linearLeaves, countLeaves,@@ -30,41 +34,36 @@ -- * The directives themselves Directive (..),- scanDirectives,+ dSpan,+ readConditionals,+ scanConditionals, isDirective, GroupSpec (..),- groupSpec,+ gsOwnLines, gsCount,+ nestedIn, allGroups,- groupsAtLevel, blanking, blankingFor, droppedFor,- Opaque (..), opaqueDirectives,- opSpan,- gapUnder,- gapWritten,+ macroLines, ) where -import Data.Char (isSpace)-import Data.List (unsnoc)+import Data.Char (isAlphaNum, isSpace)+import Data.List (sortOn, tails) import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map-import Data.Maybe (fromMaybe, listToMaybe, maybeToList)+import Data.Maybe (fromMaybe, isJust, listToMaybe, maybeToList)+import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T import GHC.LanguageExtensions.Type (Extension (..))-import Tilia.Cpp.Macros (Macros, guardHolds)+import Tilia.Cpp.Macros (Macros, guardHolds, impliedBy)+import Tilia.Doc.Internal (Conditional (..)) import Tilia.Parser (ParseError, describeParseError)-import Tilia.Source- ( Lines,- blankAt,- blankBelow,- closesABranch,- directiveOnLine,- )+import Tilia.Source (directiveOnLine) import Tilia.Span ( Span, mkSpan,@@ -82,24 +81,20 @@ -- | Blank out the directive lines, keeping every branch. blankCpp :: Text -> Text-blankCpp = T.unlines . go False . T.lines- where- go _ [] = []- go continuing (l : ls)- | continuing || isDirective l = "" : go (runsOn l) ls- | otherwise = l : go False ls- runsOn = T.isSuffixOf "\\" . T.stripEnd+blankCpp source =+ blanking+ ([(dLine d, dLastLine d) | d <- directives source] <> [(n, n) | (n, _) <- macroLines source])+ source -- | Blank out every branch the macros rule out, and the conditionals that -- ask about them. withoutRuledOut :: Macros -> Text -> Text-withoutRuledOut macros source = case scanDirectives source of+withoutRuledOut macros source = case scanConditionals source of Nothing -> source- Just ds ->+ Just forest -> blanking [ range- | group <- allGroups ds,- Just gs <- [groupSpec group],+ | gs <- allGroups forest, Just taken <- [branchTaken macros gs], range <- blankingFor gs taken ]@@ -107,45 +102,81 @@ -- | Which branch of a conditional the macros settle on. branchTaken :: Macros -> GroupSpec -> Maybe Int-branchTaken macros = go 0 . gsGuards+branchTaken macros = branchFor (guardHolds macros . guardText)++-- | Which branch of a conditional is taken, given which of its guards hold+-- where that is settled.+branchFor :: (Guard -> Maybe Bool) -> GroupSpec -> Maybe Int+branchFor holds = go 0 . gsGuards where go i = \case [] -> Just i- g : rest -> case guardHolds macros (guardText g) of+ g : rest -> case holds g of Just True -> Just i Just False -> go (i + 1) rest Nothing -> Nothing --- | A module with the opaque directives blanked out.+-- | A module with the opaque directives and the lines using its macros+-- blanked out. withoutOpaque :: Text -> Text withoutOpaque source =- blanking [(opLine d, opLastLine d) | d <- opaqueDirectives source] source+ blanking+ ([(dLine d, dLastLine d) | d <- opaqueDirectives source] <> [(n, n) | (n, _) <- macroLines source])+ source -- | Why a module using the preprocessor could not be formatted. data CppError- = -- | A directive we do not handle, and its keyword.- UnhandledDirective Text- | -- | Conditionals that do not nest, or an @#else@ out of place.- UnsplittableConditional+ = -- | A conditional that does not make sense: the line and the keyword of+ -- the directive that gives it away, and what is wrong with it.+ MalformedConditional Int Text Malformation | -- | More configurations than 'configurationBudget' allows. TooManyConfigurations | -- | A configuration the parser rejected, and which one it was. ConfigurationNotParsed [([Guard], Int)] ParseError- | -- | A directive whose place in the document could not be found.- DirectiveUnplaceable [([Guard], Int)] Text- | -- | A directive written inside a quasiquote or other verbatim text.- DirectiveInQuotedText [([Guard], Int)] Text+ | -- | A directive written inside a quasi-quote or a multi-line string, its+ -- line, and its keyword.+ DirectiveInQuotedText Int Text+ | -- | A line using a macro written inside a quasi-quote or a multi-line+ -- string, its line, and what is written on it.+ MacroInQuotedText Int Text+ | -- | A branch holding something that a conditional around it, asking the+ -- same question, rules out, and the line of the directive opening it.+ RuledOutBranch Int+ | -- | An alternative that aborts with @#error@ that cannot be formatted+ -- without parsing it, and the line of the @#error@.+ AbortingAlternative Int +-- | What is wrong with a conditional directive.+data Malformation+ = -- | It opens a conditional that nothing closes.+ NeverClosed+ | -- | It continues or closes a conditional where none is open.+ NothingOpen+ | -- | It continues a conditional after its @#else@.+ AfterElse+ -- | Say what went wrong, in one line. The edge of the system. describeCppError :: CppError -> Text describeCppError = \case- UnhandledDirective k -> "a #" <> k <> " directive, which we do not handle"- UnsplittableConditional -> "conditionals that do not nest, or an #else out of place"+ MalformedConditional n k m ->+ "the #" <> k <> " at line " <> T.pack (show n) <> case m of+ NeverClosed -> " is never closed"+ NothingOpen -> " has no conditional to belong to"+ AfterElse -> " comes after the #else of its conditional" TooManyConfigurations -> "too many configurations to format" ConfigurationNotParsed c e -> describeParseError e <> inConfiguration c- DirectiveUnplaceable c k -> "nowhere to put the #" <> k <> inConfiguration c- DirectiveInQuotedText c k ->- "a #" <> k <> " inside something quoted verbatim" <> inConfiguration c+ DirectiveInQuotedText n k ->+ "the #" <> k <> " at line " <> T.pack (show n) <> " is inside a quasi-quote or a multi-line string"+ MacroInQuotedText n t ->+ t <> " at line " <> T.pack (show n) <> " is inside a quasi-quote or a multi-line string"+ RuledOutBranch n ->+ "the branch at line "+ <> T.pack (show n)+ <> " is ruled out by a conditional around it that asks the same question"+ AbortingAlternative n ->+ "the alternative that the #error at line "+ <> T.pack (show n)+ <> " aborts cannot be formatted without parsing it" -- | Which configuration, in words. Empty where there is only one. inConfiguration :: [([Guard], Int)] -> Text@@ -158,17 +189,6 @@ ([], g : _) -> "no branch of #" <> guardText g ([], []) -> "no branch" --- | The keyword of the first directive here that we do not handle.-unhandledIn :: Text -> Text-unhandledIn source =- case [ k- | l <- T.lines source,- Just (k, _) <- [directiveOnLine l],- k `elem` directiveKeywords- ] of- k : _ -> k- [] -> ""- ---------------------------------------------------------------------------- -- Splitting @@ -186,7 +206,9 @@ -- | What each of those branches leaves out, in the same order. cfgDropped :: [[(Int, Int)]], -- | From each tied group's @#if@ to its @#endif@, inclusive.- cfgWholes :: Varied+ cfgWholes :: Varied,+ -- | Each tied group as its author wrote it, in the same order.+ cfgConditionals :: [Conditional] } deriving (Eq, Show) @@ -194,29 +216,38 @@ -- one written behind the same directives, wherever in the module it sits. configurations :: Text -> Maybe Configurations configurations source = do- ds <- scanDirectives source- gs <- groupSpec =<< listToMaybe (groupsAtLevel 0 ds)- let tied = sameGuard gs ds- pure- Configurations- { cfgGuards = gsGuards gs,- cfgTexts =- [ blanking (concatMap (`blankingFor` i) tied) source- | i <- [0 .. gsCount gs - 1]- ],- cfgDropped =- [concatMap (`droppedFor` i) tied | i <- [0 .. gsCount gs - 1]],- cfgWholes = Varied (fmap gsWhole tied)- }+ forest <- scanConditionals source+ gs <- listToMaybe forest+ pure (configurationsOn gs forest source) +-- | Split a module on one of its conditionals, and on every other one+-- written behind the same directives.+configurationsOn ::+ -- | The conditional.+ GroupSpec ->+ -- | The module's conditionals.+ [GroupSpec] ->+ -- | The module.+ Text ->+ Configurations+configurationsOn gs forest source =+ Configurations+ { cfgGuards = gsGuards gs,+ cfgTexts =+ [ blanking (concatMap (`blankingFor` i) tied) source+ | i <- [0 .. gsCount gs - 1]+ ],+ cfgDropped =+ [concatMap (`droppedFor` i) tied | i <- [0 .. gsCount gs - 1]],+ cfgWholes = Varied (fmap gsWhole tied),+ cfgConditionals = fmap gsConditional tied+ }+ where+ tied = sameGuard gs forest+ -- | Every group in a module written behind the same directives as this one.-sameGuard :: GroupSpec -> [Directive] -> [GroupSpec]-sameGuard gs ds =- [ g- | grp <- allGroups ds,- Just g <- [groupSpec grp],- gsGuards g == gsGuards gs- ]+sameGuard :: GroupSpec -> [GroupSpec] -> [GroupSpec]+sameGuard gs forest = [g | g <- allGroups forest, gsGuards g == gsGuards gs] -- | The lines one conditional could have printed differently. newtype Varied = Varied{variedLines :: [(Int, Int)]}@@ -234,58 +265,131 @@ -- | One configuration for every branch of every conditional, and no more. branchLeaves :: Text -> Either CppError [Text]-branchLeaves source = case scanDirectives source of- Nothing -> Left (UnhandledDirective (unhandledIn source))- Just ds -> case nesting 0 ds of- Nothing -> Left UnsplittableConditional- Just forest ->- traverse- resolved- ( filter- (null . unconditionalErrors)- (distinct (fmap configuration (assignments forest)))+branchLeaves source = do+ forest <- readConditionals source+ traverse+ resolved+ ( filter+ (null . unconditionalErrors)+ ( distinct+ [ configurationOf forest a source+ | a <- branchAssignments forest,+ possible forest (completed forest a)+ ] )+ ) where- reachable = go Map.empty- where- go asked ns =- concat- [ (asked, gs)- : concat- [ go (Map.insert (gsGuards gs) i asked) nested- | (i, nested) <- zip [0 ..] branches- ]- | Nest gs branches <- ns- ]- assignments forest =- Map.empty- : [ Map.insert (gsGuards gs) i asked- | (asked, gs) <- reachable forest,- i <- [0 .. gsCount gs - 1]- ]- configuration answers =- blanking- [ r- | grp <- allGroups (concat (maybeToList (scanDirectives source))),- Just gs <- [groupSpec grp],- r <- blankingFor gs (Map.findWithDefault 0 (gsGuards gs) answers)- ]- source distinct = Map.elems . Map.fromList . fmap (\t -> (t, t)) --- | A module's conditionals as a forest: each group, with the groups nested--- inside each of its branches.-data Nest = Nest GroupSpec [[Nest]]+-- | The empty assignment, and then one for every branch of every+-- conditional, which reaches the conditional and takes the branch.+branchAssignments :: [GroupSpec] -> [Assignment]+branchAssignments forest =+ Map.empty+ : [ Map.insert (gsGuards gs) i asked+ | (asked, gs) <- reachable Map.empty forest,+ i <- [0 .. gsCount gs - 1]+ ]+ where+ reachable asked gss =+ concat+ [ (asked, gs)+ : concat+ [ reachable (Map.insert (gsGuards gs) i asked) nested+ | (i, nested) <- zip [0 ..] (gsNested gs)+ ]+ | gs <- gss+ ] --- | Read the forest off the directives, refusing a group 'groupSpec' refuses.-nesting :: Int -> [Directive] -> Maybe [Nest]-nesting level ds = traverse one (groupsAtLevel level ds)+-- | The configuration of a module an assignment selects, a conditional it+-- does not mention taking the branch the assignment settles it on, or else+-- its first.+configurationOf :: [GroupSpec] -> Assignment -> Text -> Text+configurationOf forest assignment =+ blanking+ [ r+ | gs <- allGroups forest,+ r <- blankingFor gs (Map.findWithDefault 0 (gsGuards gs) answers)+ ] where- one group = do- gs <- groupSpec group- Nest gs <$> traverse (\r -> nesting (level + 1) (inside r ds)) (gsBranches gs)- inside (from, to) = filter (\d -> from <= dLine d && dLine d <= to)+ answers = completed forest assignment +-- | Answer every conditional a configuration reaches that an assignment+-- does not mention with the branch the answers settle it on, or else with+-- its first.+completed :: [GroupSpec] -> Assignment -> Assignment+completed forest assignment = foldl' visit assignment forest+ where+ visit asked gs =+ let i = fromMaybe settled (Map.lookup (gsGuards gs) asked)+ settled =+ fromMaybe 0 (implied (Map.toList asked) >>= (`settledBranch` gs))+ in foldl' visit (Map.insert (gsGuards gs) i asked) (nestedIn gs i)++-- | The answers an assignment gives the conditionals a configuration+-- reaches.+reachedBy :: [GroupSpec] -> Assignment -> [([Guard], Int)]+reachedBy forest assignment = concatMap reach forest+ where+ reach gs =+ let i = Map.findWithDefault 0 (gsGuards gs) assignment+ in (gsGuards gs, i) : concatMap reach (nestedIn gs i)++-- | Is there a definition of the macros that answers the conditionals a+-- configuration reaches as an assignment does?+possible :: [GroupSpec] -> Assignment -> Bool+possible forest = isJust . implied . reachedBy forest++-- | What answering these questions as given implies about the macros, or+-- 'Nothing' where no definition of the macros answers them so.+implied :: [([Guard], Int)] -> Maybe Macros+implied answers+ | and [settledGuard known g /= Just (not h) | (g, h) <- said] = Just known+ | otherwise = Nothing+ where+ said = concat [zip gs (replicate i False <> [True]) | (gs, i) <- answers]+ known = foldMap (\(g, h) -> impliedBy h (guardText g)) said++-- | Which branch of a conditional what is known about the macros settles it+-- on, where the conditional does not settle itself.+--+-- An @#if 0@ is how code is put aside, and is formatted as though it asked+-- something.+settledBranch :: Macros -> GroupSpec -> Maybe Int+settledBranch known = branchFor (settledGuard known)++-- | Does a guard hold, where what is known settles it and the guard does+-- not settle itself?+settledGuard :: Macros -> Guard -> Maybe Bool+settledGuard known (Guard written) = case guardHolds mempty written of+ Just _ -> Nothing+ Nothing -> guardHolds known written++-- | The line of the first directive whose branch holds something although+-- a conditional around it, asking the same question, rules that branch out.+ruledOutBranch :: Text -> Maybe Int+ruledOutBranch source = do+ forest <- scanConditionals source+ listToMaybe (go Map.empty forest)+ where+ written = zip [1 ..] (T.lines source)+ holdsSomething (from, to) =+ any (\(n, l) -> from <= n && n <= to && not (T.all isSpace l)) written+ go asked forest =+ concat+ [ [ opening+ | Just j <- [Map.lookup (gsGuards gs) asked],+ (i, opening, r) <- zip3 [0 :: Int ..] (gsOwnLines gs) (gsBranches gs),+ i /= j,+ holdsSomething r+ ]+ <> concat+ [ go (Map.insert (gsGuards gs) i asked) nested+ | (i, nested) <- zip [0 ..] (gsNested gs)+ ]+ | gs <- forest+ ]+ -- | Read both spellings under the same CPP choices. -- -- Sorting or deduplicating the resulting source text separately loses the@@ -300,41 +404,20 @@ Text -> Either CppError [(Maybe Text, Maybe Text)] correspondingBranches before after = do- left <- forest before- right <- forest after- let defaults = Map.fromList [(gsGuards gs, 0) | (_, gs) <- reachable Map.empty (left <> right)]- choices = Map.keys (Map.fromList [(Map.union a defaults, ()) | a <- assignments left <> assignments right])- traverse (\a -> (,) <$> reading before a <*> reading after a) choices- where- forest source = do- ds <- maybe (Left (UnhandledDirective (unhandledIn source))) Right (scanDirectives source)- maybe (Left UnsplittableConditional) Right (nesting 0 ds)- reachable :: Answers -> [Nest] -> [(Answers, GroupSpec)]- reachable asked ns =- concat- [ (asked, gs)- : concat- [ reachable (Map.insert (gsGuards gs) i asked) nested- | (i, nested) <- zip [0 ..] branches- ]- | Nest gs branches <- ns- ]- assignments nodes =- Map.empty- : [ Map.insert (gsGuards gs) i asked- | (asked, gs) <- reachable Map.empty nodes,- i <- [0 .. gsCount gs - 1]+ left <- readConditionals before+ right <- readConditionals after+ let forest = left <> right+ choices =+ Map.keys . Map.fromList $+ [ (answers, ())+ | a <- branchAssignments left <> branchAssignments right,+ let answers = completed forest a,+ possible forest answers ]- reading source answers =- let selected =- blanking- [ r- | ds <- maybeToList (scanDirectives source),- grp <- allGroups ds,- Just gs <- [groupSpec grp],- r <- blankingFor gs (Map.findWithDefault 0 (gsGuards gs) answers)- ]- source+ traverse (\a -> (,) <$> reading before left a <*> reading after right a) choices+ where+ reading source forest assignment =+ let selected = configurationOf forest assignment source in if null (unconditionalErrors selected) then Just <$> resolved selected else Right Nothing@@ -342,35 +425,32 @@ -- | An unconditional @#error@ means this configuration has no Haskell -- program to parse. Conditional errors are only considered after choosing a -- branch.-unconditionalErrors :: Text -> [Opaque]+unconditionalErrors :: Text -> [Directive] unconditionalErrors source = [ d | d <- opaqueDirectives source,- T.takeWhile (not . isSpace) (opText d) == "error",- not (any (encloses (opLine d)) groups)+ dKeyword d == "error",+ not (any (encloses (dLine d)) groups) ] where- groups = [gsWhole g | ds <- maybeToList (scanDirectives source), grp <- allGroups ds, Just g <- [groupSpec grp]]+ groups = [gsWhole g | forest <- maybeToList (scanConditionals source), g <- allGroups forest] encloses n (from, to) = from < n && n < to -- | The configurations reached by varying one conditional at a time. linearLeaves :: Text -> Either CppError [Text] linearLeaves = fmap (fmap snd) . answeredLinearLeaves --- | How many configurations a module has, without building any of them.+-- | How many configurations a module has, without building any of them,+-- and so counting those no definition of the macros gives. countLeaves :: Text -> Either CppError Integer-countLeaves source = case scanDirectives source of- Nothing -> Left (UnhandledDirective (unhandledIn source))- Just ds -> case nesting 0 ds of- Nothing -> Left UnsplittableConditional- Just forest ->- Right (sum [across answers forest | answers <- combinations (afforded forest)])+countLeaves source = do+ forest <- readConditionals source+ pure (sum [across answers forest | answers <- combinations (afforded forest)]) where across answers = product . fmap (one answers)- one answers (Nest gs nested) = case lookup (gsGuards gs) answers of- Just i -> across answers (branch nested i)- Nothing -> sum [across answers (branch nested i) | i <- [0 .. gsCount gs - 1]]- branch nested i = concat (take 1 (drop i nested))+ one answers gs = case lookup (gsGuards gs) answers of+ Just i -> across answers (nestedIn gs i)+ Nothing -> sum [across answers (nestedIn gs i) | i <- [0 .. gsCount gs - 1]] combinations = traverse (\(g, k) -> [(g, i) | i <- [0 .. k - 1]]) afforded forest = go 1 (repeated forest) where@@ -380,10 +460,10 @@ | otherwise = [] -- | The guards a module asks more than once, and how many answers each has.-repeated :: [Nest] -> [([Guard], Int)]+repeated :: [GroupSpec] -> [([Guard], Int)] repeated forest = distinct Map.empty [q | q@(g, _) <- asked forest, twice g] where- asked ns = concat [(gsGuards gs, gsCount gs) : asked (concat nested) | Nest gs nested <- ns]+ asked gss = concat [(gsGuards gs, gsCount gs) : asked (concat (gsNested gs)) | gs <- gss] times = Map.fromListWith (+) [(g, 1 :: Int) | (g, _) <- asked forest] twice g = Map.findWithDefault 0 g times >= 2 @@ -396,9 +476,11 @@ guardsToTie :: Integer guardsToTie = 4096 --- | Every configuration, and the answers that reach it.-answeredLeaves :: Text -> Either CppError [(Answers, Text)]-answeredLeaves = go Map.empty+-- | Every configuration some definition of the macros gives, and the+-- answers that reach it.+answeredLeaves :: Text -> Either CppError [(Assignment, Text)]+answeredLeaves =+ fmap (filter (isJust . implied . Map.toList . fst)) . go Map.empty where go answers source = case configurations source of Nothing | not (null (unconditionalErrors source)) -> Right []@@ -410,12 +492,13 @@ (zip [0 ..] (cfgTexts c)) -- | Which branch every question was answered with to reach a configuration.-type Answers = Map [Guard] Int+type Assignment = Map [Guard] Int -- | The same, labelled by the answers that reach each one, and for the same -- reason as 'answeredLeaves'.-answeredLinearLeaves :: Text -> Either CppError [(Answers, Text)]-answeredLinearLeaves = go Map.empty+answeredLinearLeaves :: Text -> Either CppError [(Assignment, Text)]+answeredLinearLeaves =+ fmap (filter (isJust . implied . Map.toList . fst)) . go Map.empty where go answers source = case configurations source of Nothing -> (\t -> [(answers, t)]) <$> resolved source@@ -430,61 +513,109 @@ -- | The configuration in which every question still to be asked takes its -- first branch, and the answers that gives.-answeredBaseline :: Answers -> Text -> Either CppError (Answers, Text)+answeredBaseline :: Assignment -> Text -> Either CppError (Assignment, Text) answeredBaseline answers source = case configurations source of Nothing -> (answers,) <$> resolved source Just c -> case cfgTexts c of [] -> Right (answers, source) t : _ -> answeredBaseline (Map.insert (cfgGuards c) 0 answers) t --- | A module with no conditionals left in it, or the reason it is not one.+-- | A module with every conditional answered, and its other directives+-- taken out, or why its conditionals do not make sense. resolved :: Text -> Either CppError Text-resolved source- | any isDirective (T.lines left) =- Left (UnhandledDirective (unhandledIn left))- | otherwise = Right left- where- left = withoutOpaque source+resolved source = withoutOpaque source <$ readConditionals source ---------------------------------------------------------------------------- -- The directives themselves --- | One preprocessor directive, and how deep in the conditionals it sits.+-- | One preprocessor directive, as written. data Directive = Directive { dLine :: !Int,+ -- | The last line the directive is written on, which is its first unless+ -- a line of it ends in a backslash.+ dLastLine :: !Int, dKeyword :: !Text,- dGuard :: !Guard,- dLevel :: !Int+ -- | What follows its hash, on every line it is written on.+ dText :: !Text } deriving (Eq, Show) --- | Every conditional directive in a module, or 'Nothing' if its--- conditionals do not make sense.-scanDirectives :: Text -> Maybe [Directive]-scanDirectives source = go 0 (zip [1 ..] (T.lines source))+-- | The lines a directive was written on, as a span.+dSpan :: Directive -> Span+dSpan d = mkSpan (dLine d, 1) (dLastLine d, 1)++-- | Every directive in a module, in the order they are written.+directives :: Text -> [Directive]+directives = go . zip [1 ..] . T.lines where- go 0 [] = Just []- go _ [] = Nothing -- the lines ran out inside a conditional- go level ((n, l) : ls)- | Nothing <- directiveOnLine l = go level ls- | keyword `elem` opensGroup = at level (level + 1)- | keyword `elem` continuesGroup, level > 0 = at (level - 1) level- | keyword == "endif", level > 0 = at (level - 1) (level - 1)- | keyword `notElem` conditionalKeywords = go level ls- | otherwise = Nothing- where- at here next =- ( Directive- { dLine = n,- dKeyword = keyword,- dGuard = Guard (T.stripEnd body),- dLevel = here- }- :- )- <$> go next ls- (keyword, body) = fromMaybe ("", "") (directiveOnLine l)+ go = \case+ [] -> []+ (n, l) : ls+ | Just (keyword, body) <- directiveOnLine l,+ keyword `elem` directiveKeywords ->+ let (continued, rest) = continuation l ls+ in Directive+ { dLine = n,+ dLastLine = n + length continued,+ dKeyword = keyword,+ dText = T.intercalate "\n" (fmap T.stripEnd (body : continued))+ }+ : go rest+ | otherwise -> go ls+ continuation l ls+ | T.isSuffixOf "\\" (T.stripEnd l),+ (_, next) : rest <- ls =+ let (more, rest') = continuation next rest in (next : more, rest')+ | otherwise = ([], ls) +-- | A module's conditionals, each with the ones inside its branches, or why+-- they do not make sense.+readConditionals :: Text -> Either CppError [GroupSpec]+readConditionals = go [] [] . filter ((`elem` conditionalKeywords) . dKeyword) . directives+ where+ -- The groups finished where the reading is, last first, and the+ -- conditionals open around it, innermost first.+ go done open = \case+ [] -> case open of+ [] -> Right (reverse done)+ o : _ -> Left (MalformedConditional (dLine (oOpener o)) (dKeyword (oOpener o)) NeverClosed)+ d : ds+ | dKeyword d `elem` opensGroup -> go [] (Open d [] [] done : open) ds+ | dKeyword d `elem` continuesGroup -> case open of+ [] -> malformed NothingOpen+ o : rest+ | any ((== "else") . dKeyword) (take 1 (oLater o)) -> malformed AfterElse+ | otherwise ->+ go [] (o{oLater = d : oLater o, oEarlier = reverse done : oEarlier o} : rest) ds+ | otherwise -> case open of+ [] -> malformed NothingOpen+ o : rest ->+ let gs =+ groupSpec+ (oOpener o)+ (reverse (oLater o))+ d+ (reverse (reverse done : oEarlier o))+ in go (gs : oBefore o) rest ds+ where+ malformed = Left . MalformedConditional (dLine d) (dKeyword d)++-- | A conditional still open as the directives are read.+data Open = Open+ { -- | The directive that opened it.+ oOpener :: Directive,+ -- | The directives that continued it, last first.+ oLater :: [Directive],+ -- | The groups inside each of its branches read so far, last first.+ oEarlier :: [[GroupSpec]],+ -- | The groups before it where it is, last first.+ oBefore :: [GroupSpec]+ }++-- | A module's conditionals, or 'Nothing' if they do not make sense.+scanConditionals :: Text -> Maybe [GroupSpec]+scanConditionals = either (const Nothing) Just . readConditionals+ -- | The directives that ask a question, and so split a module in two. conditionalKeywords :: [Text] conditionalKeywords = opensGroup <> continuesGroup <> ["endif"]@@ -514,61 +645,71 @@ data GroupSpec = GroupSpec { gsGuards :: [Guard], gsHasElse :: Bool,- gsOwnLines :: [Int],+ gsConditional :: Conditional,+ gsOwnRanges :: [(Int, Int)], gsBranches :: [(Int, Int)],- gsWhole :: (Int, Int)+ gsWhole :: (Int, Int),+ -- | The groups inside each of its branches.+ gsNested :: [[GroupSpec]] } --- | Read a group off its directives, refusing one that is malformed.-groupSpec :: [Directive] -> Maybe GroupSpec-groupSpec group = do- (separators, end) <- unsnoc group- opener <- listToMaybe separators- require (dKeyword opener `elem` opensGroup)- require (dKeyword end == "endif")- require (all ((`elem` continuesGroup) . dKeyword) (drop 1 separators))- require (all ((/= "else") . dKeyword) (drop 1 (reverse separators)))- pure- GroupSpec- { gsGuards = [dGuard d | d <- separators, dKeyword d /= "else"],- gsHasElse = any ((== "else") . dKeyword) separators,- gsOwnLines = fmap dLine group,- gsBranches = [(dLine a + 1, dLine b - 1) | (a, b) <- zip group (drop 1 group)],- gsWhole = (dLine opener, dLine end)- }+-- | Read a group off its directives.+groupSpec ::+ -- | The directive opening it.+ Directive ->+ -- | The ones continuing it.+ [Directive] ->+ -- | The one closing it.+ Directive ->+ -- | The groups inside each of its branches.+ [[GroupSpec]] ->+ GroupSpec+groupSpec opener later end nested =+ GroupSpec+ { gsGuards = [Guard (dText d) | d <- opener : later, dKeyword d /= "else"],+ gsHasElse = any ((== "else") . dKeyword) later,+ gsConditional =+ Conditional+ { conditionalLines = fmap dLine group,+ conditionalElse = foldMap afterKeyword (filter ((== "else") . dKeyword) later),+ conditionalEndif = afterKeyword end+ },+ gsOwnRanges = [(dLine d, dLastLine d) | d <- group],+ gsBranches = [(dLastLine a + 1, dLine b - 1) | (a, b) <- zip group (drop 1 group)],+ gsWhole = (dLine opener, dLastLine end),+ gsNested = nested+ } where- require b = if b then Just () else Nothing+ group = opener : later <> [end]+ afterKeyword d = T.drop (T.length (dKeyword d)) (dText d) +-- | The lines of a group's directives, the @#if@ first and the @#endif@ last.+gsOwnLines :: GroupSpec -> [Int]+gsOwnLines = conditionalLines . gsConditional+ -- | How many configurations a group has: one per condition, and one more -- for when none of them holds. gsCount :: GroupSpec -> Int gsCount gs = length (gsGuards gs) + 1 --- | Every conditional in a module, at whatever depth it sits.-allGroups :: [Directive] -> [[Directive]]-allGroups ds = concat [groupsAtLevel l ds | l <- [0 .. deepest]]- where- deepest = maximum (0 : fmap dLevel ds)+-- | The groups inside the branch configuration @i@ of a group takes.+nestedIn :: GroupSpec -> Int -> [GroupSpec]+nestedIn gs i = concat (take 1 (drop i (gsNested gs))) --- | The directives at one level of nesting, split into the groups they make--- up.-groupsAtLevel :: Int -> [Directive] -> [[Directive]]-groupsAtLevel level = split . filter ((== level) . dLevel)- where- split ds = case break ((== "endif") . dKeyword) ds of- (_, []) -> []- (before', end : rest) -> (before' <> [end]) : split rest+-- | Every conditional in a module, outermost first.+allGroups :: [GroupSpec] -> [GroupSpec]+allGroups = concat . takeWhile (not . null) . iterate (concatMap (concat . gsNested)) -- | Replace the given line ranges with empty lines, keeping every other line -- where it was. blanking :: [(Int, Int)] -> Text -> Text-blanking ranges source =- T.unlines- [ if any (holds n) ranges then "" else l- | (n, l) <- zip [1 ..] (T.lines source)- ]+blanking ranges = T.unlines . go (sortOn fst ranges) . zip [1 ..] . T.lines where- holds n (from, to) = from <= n && n <= to+ go rs = \case+ [] -> []+ (n, l) : ls -> case dropWhile ((< n) . snd) rs of+ rs'@((from, _) : _) | from <= n -> "" : go rs' ls+ rs' -> l : go rs' ls -- | The lines to blank so that configuration @i@ of a group is what is left. --@@ -576,7 +717,7 @@ -- themselves: a directive belongs to no configuration, which is the whole of -- what separates this from 'droppedFor'. blankingFor :: GroupSpec -> Int -> [(Int, Int)]-blankingFor gs i = droppedFor gs i <> [(n, n) | n <- gsOwnLines gs]+blankingFor gs i = droppedFor gs i <> gsOwnRanges gs -- | The lines a configuration of a group is not including. droppedFor :: GroupSpec -> Int -> [(Int, Int)]@@ -585,52 +726,59 @@ [r | (k, r) <- zip [0 :: Int ..] (gsBranches gs), k /= i] | otherwise = gsBranches gs --- | One opaque directive and what is known about it.-data Opaque = Opaque- { -- | The line it was written on.- opLine :: Int,- -- | The last line it takes up, which is 'opLine' unless it was written- -- across several with backslashes.- opLastLine :: Int,- -- | What follows its hash, kept whole and never read.- opText :: Text- }- deriving (Eq, Show)+-- | The directives that do not introduce configurations.+opaqueDirectives :: Text -> [Directive]+opaqueDirectives = filter ((`elem` opaqueKeywords) . dKeyword) . directives --- | Directives that do not introduce configurations.-opaqueDirectives :: Text -> [Opaque]-opaqueDirectives source =- [ Opaque- { opLine = n,- opLastLine = end n,- opText = T.stripEnd (T.intercalate "\n" (body : fmap lineOf below))- }- | (n, l) <- numbered,- Just (keyword, body) <- [directiveOnLine l],- keyword `elem` opaqueKeywords,- let below = continuing n+-- | The lines that hold nothing but a use of a function-like macro the+-- module defines, each with what is written on it.+--+-- Only a use written with its parenthesis right after the name counts, since+-- the printer never writes one so, and what formatting produces must not+-- become such a line. A use indented other than the code under it, or than+-- the margin at the end of the module, carries on the code above or is+-- carried on by the code under it, which a line put back at the level of+-- that code cannot, unless that code closes a bracket, as the printer+-- closes a record under its fields.+macroLines :: Text -> [(Int, Text)]+macroLines source =+ [ (n, T.strip l)+ | (n, l) : below <- tails numbered,+ not (inDirective n),+ uses l,+ case take 1 (filter code below) of+ (_, l') : _ -> indentation l == indentation l' || closing l'+ [] -> indentation l == 0 ] where numbered = zip [1 ..] (T.lines source)- byLine = Map.fromList numbered- lineOf n = Map.findWithDefault "" n byLine- end n = last (n : continuing n)- continuing n- | maybe False runsOn (Map.lookup n byLine) = n + 1 : continuing (n + 1)- | otherwise = []- runsOn = T.isSuffixOf "\\" . T.stripEnd---- | The lines a directive was written on, as a span.-opSpan :: Opaque -> Span-opSpan d = mkSpan (opLine d, 1) (opLastLine d, 1)---- | Did the author leave an empty line under this directive?-gapUnder :: Lines -> Opaque -> Bool-gapUnder written d =- (blankAt n written || blankBelow n written) && not (closesABranch n written)- where- n = opLastLine d---- | Did the author leave an empty line anywhere between these two lines?-gapWritten :: Lines -> Int -> Int -> Bool-gapWritten written from to = any (`blankAt` written) [from .. to]+ written = directives source+ inDirective n = any (\d -> dLine d <= n && n <= dLastLine d) written+ code (n, l) = not (T.null (T.strip l) || inDirective n || uses l)+ indentation = T.length . T.takeWhile isSpace+ closing = maybe False ((`elem` ("})]" :: String)) . fst) . T.uncons . T.stripStart+ uses l = Set.member name defined && enclosed arguments+ where+ (name, arguments) = T.span isNameChar (T.strip l)+ defined =+ Set.fromList+ [ name+ | d <- written,+ dKeyword d == "define",+ let (name, rest) = T.span isNameChar (T.stripStart (T.drop (T.length "define") (dText d))),+ T.isPrefixOf "(" rest+ ]+ -- One parenthesized list of arguments, and nothing after it.+ enclosed arguments =+ T.isPrefixOf "(" arguments+ && fmap snd (T.unsnoc arguments) == Just ')'+ && all (> 0) (init depths)+ && last depths == 0+ where+ depths = drop 1 (scanl deeper 0 (T.unpack arguments))+ deeper :: Int -> Char -> Int+ deeper k = \case+ '(' -> k + 1+ ')' -> k - 1+ _ -> k+ isNameChar c = isAlphaNum c || c == '_'
@@ -0,0 +1,252 @@+{-# LANGUAGE LambdaCase #-}++-- | Formatting the declarations a conditional reaches rather than the whole+-- module around them.+module Tilia.Cpp.Fragment+ ( Body,+ bodyOf,+ Fragment,+ fragmentsOf,+ fragmentText,+ reassembled,+ linesHeld,+ )+where++import Control.Monad (guard)+import Data.List (sortOn)+import Data.Maybe (listToMaybe, mapMaybe)+import Data.Monoid (Any (..))+import Data.Text (Text)+import Data.Text qualified as T+import Tilia.Cpp.Directives+ ( GroupSpec (..),+ allGroups,+ blanking,+ blankingFor,+ droppedFor,+ )+import Tilia.Doc.Combinators (declarationsStart)+import Tilia.Doc.Internal+ ( Doc (..),+ Layout (..),+ foldChildren,+ printedFrom,+ spineAt,+ )++-- | A module's document, taken apart where its declarations begin.+data Body = Body+ { -- | The last line before the first run of declarations.+ bodyHeadEnd :: !Int,+ -- | Whether anything above the declarations is a choice.+ bodyHeadVaries :: !Bool,+ -- | The declarations and the breaks between them.+ bodyItems :: [Doc],+ -- | The runs of declarations the printer keeps together, in order.+ bodyRuns :: [Run],+ -- | The document with other declarations in place of these.+ bodyWith :: Doc -> Doc+ }++-- | Declarations the printer keeps together, with no empty line between+-- them.+data Run = Run+ { -- | The first element of the body that was printed from something.+ runFirst :: !Int,+ -- | The last one.+ runLast :: !Int,+ -- | The first line it was printed from.+ runFrom :: !Int,+ -- | The last one.+ runTo :: !Int+ }++-- | Find the declarations in a module's document.+bodyOf :: Doc -> Maybe Body+bodyOf doc = do+ (head', _ : items) <- Just (break (== declarationsStart) (spineAt Broken doc))+ guard (case items of [DGroup Flat _] -> False; _ -> True)+ let with = (mconcat (head' <> [declarationsStart]) <>)+ runs <- runsOf items+ pure+ Body+ { bodyHeadEnd = case runs of+ r : _ -> runFrom r - 1+ [] -> maximum (0 : fmap snd (printedFrom doc)),+ bodyHeadVaries = choosing (with mempty),+ bodyItems = items,+ bodyRuns = runs,+ bodyWith = with+ }++-- | Cut the elements of a body into runs at the empty lines between them.+runsOf :: [Doc] -> Maybe [Run]+runsOf items =+ ordered (mapMaybe asRun (pieces (zip [0 ..] items)))+ where+ pieces xs = case break ((== DBreak) . snd) xs of+ (piece, []) -> [piece]+ (piece, _ : rest) -> piece : pieces rest+ asRun piece = case [(i, e) | (i, d) <- piece, Just e <- [extent d]] of+ [] -> Nothing+ located@((i, _) : _) ->+ Just+ Run+ { runFirst = i,+ runLast = fst (last located),+ runFrom = minimum (fmap (fst . snd) located),+ runTo = maximum (fmap (snd . snd) located)+ }+ ordered runs+ | and (zipWith (\a b -> runTo a < runFrom b) runs (drop 1 runs)) = Just runs+ | otherwise = Nothing++-- | The conditionals that reach one fragment of a module.+data Fragment = Fragment+ { -- | The conditionals, outermost ones only.+ fragmentGroups :: [GroupSpec],+ -- | Whether it takes in what is above the declarations.+ fragmentAbove :: !Bool,+ -- | The run before it, if there is one.+ fragmentBefore :: !(Maybe Run),+ -- | The run after it, if there is one.+ fragmentAfter :: !(Maybe Run)+ }++-- | Split a module's outermost conditionals into fragments that can be+-- formatted apart.+fragmentsOf :: Body -> [GroupSpec] -> [Fragment]+fragmentsOf body forest =+ [ Fragment gs (any above gs) (runAt (lo - 1)) (runAt hi)+ | (gs, (lo, hi)) <-+ clustered . sortOn (fst . snd) $+ [(g, reach (bodyRuns body) (gsWhole g)) | g <- forest]+ ]+ where+ above = (<= bodyHeadEnd body) . fst . gsWhole+ runAt i+ | i < 0 = Nothing+ | otherwise = listToMaybe (drop i (bodyRuns body))++-- | The runs a conditional's lines touch, or where it falls between two of+-- them.+reach :: [Run] -> (Int, Int) -> (Int, Int)+reach runs (a, b) =+ case [i | (i, r) <- zip [0 ..] runs, runFrom r <= b, a <= runTo r] of+ [] -> let p = length (takeWhile ((< a) . runTo) runs) in (p, p)+ is -> (minimum is, maximum is + 1)++-- | Join conditionals whose fragments would overlap once the runs either+-- side of them are taken along.+clustered :: [(GroupSpec, (Int, Int))] -> [([GroupSpec], (Int, Int))]+clustered = \case+ [] -> []+ (g, r) : rest -> go [g] r rest+ where+ go gs (lo, hi) = \case+ (g, (lo', hi')) : rest | lo' <= hi -> go (gs <> [g]) (lo, max hi hi') rest+ rest -> (gs, (lo, hi)) : clustered rest++-- | The text a fragment is formatted from, with the lines it leaves out.+--+-- It keeps what is above the declarations, the fragment, and a run either+-- side of it, and takes the first branch of every other conditional. What+-- it leaves out above the fragment is blanked, so that every line stays+-- where it was written, and what it leaves out below is cut off. The text+-- is 'Nothing' where that leaves out nothing.+fragmentText ::+ Body ->+ -- | The module's outermost conditionals.+ [GroupSpec] ->+ -- | The module.+ Text ->+ Fragment ->+ Maybe (Text, [(Int, Int)])+fragmentText body forest source f+ | linesHeld text < linesHeld source = Just (text, outside <> concatMap (`droppedFor` 0) others)+ | otherwise = Nothing+ where+ text =+ T.unlines . take to . T.lines $+ blanking (outside <> concatMap (`blankingFor` 0) others) source+ lineCount = length (T.lines source)+ headEnd = bodyHeadEnd body+ from = maybe (headEnd + 1) runFrom (fragmentBefore f)+ to = maybe lineCount runTo (fragmentAfter f)+ outside =+ [(headEnd + 1, from - 1) | not (fragmentAbove f), from > headEnd + 1]+ <> [(to + 1, lineCount) | to < lineCount]+ others =+ allGroups+ [ g+ | g <- forest,+ gsWhole g `notElem` fmap gsWhole (fragmentGroups f)+ ]++-- | Put what each fragment was formatted to in place of what the module's+-- body holds there, or 'Nothing' where one of them came out other than a+-- fragment of declarations.+reassembled ::+ Body ->+ -- | Each fragment, with what it was formatted to.+ [(Fragment, Doc)] ->+ Maybe Doc+reassembled body formatted = do+ placed <- traverse place formatted+ with <- case [b | (f, b, _) <- placed, fragmentAbove f] of+ [] -> Just (bodyWith body)+ [b] -> Just (bodyWith b)+ _ -> Nothing+ let items = foldr put (bodyItems body) (sortOn (\(i, _, _) -> i) [p | (_, _, p) <- placed])+ pure (with (mconcat items))+ where+ put (from, to, new) items = take from items <> new <> drop to items++ -- The fragment, the body of what it was formatted to, and the+ -- elements to put in place of the module's, with where they go.+ place (f, d) = do+ b <- bodyOf d+ guard (fragmentAbove f || not (bodyHeadVaries b))+ let indexed = zip [0 :: Int ..] (bodyItems b)+ within r x = maybe False (\(s, e) -> runFrom r <= s && e <= runTo r) (extent x)+ start <- case fragmentBefore f of+ Nothing -> Just (-1)+ Just r -> listToMaybe (reverse [i | (i, x) <- indexed, within r x])+ end <- case fragmentAfter f of+ Nothing -> Just (length indexed)+ Just r -> listToMaybe [i | (i, x) <- indexed, within r x]+ let new = [x | (i, x) <- indexed, start < i, i < end]+ low+ | fragmentAbove f = 0+ | otherwise = maybe (bodyHeadEnd body) runTo (fragmentBefore f)+ high = maybe maxBound runFrom (fragmentAfter f)+ guard (start < end)+ guard (all (maybe True (\(s, e) -> low < s && e < high) . extent) new)+ pure+ ( f,+ b,+ ( maybe 0 ((+ 1) . runLast) (fragmentBefore f),+ maybe (length (bodyItems body)) runFirst (fragmentAfter f),+ new+ )+ )++-- | How many lines of a text hold anything, which is what formatting it+-- costs.+linesHeld :: Text -> Int+linesHeld = length . filter (not . T.null . T.strip) . T.lines++-- | The first and the last line a document was printed from.+extent :: Doc -> Maybe (Int, Int)+extent d = case printedFrom d of+ [] -> Nothing+ ls -> Just (minimum (fmap fst ls), maximum (fmap snd ls))++-- | Is there a choice anywhere in this document?+choosing :: Doc -> Bool+choosing = getAny . go+ where+ go = \case+ DCppChoice{} -> Any True+ d -> foldChildren go d
@@ -2,20 +2,26 @@ {-# LANGUAGE OverloadedStrings #-} -- | Inferences regarding CPP macros that we can make based on the build--- plan.+-- plan and on the answers a configuration gives. module Tilia.Cpp.Macros ( Macros (..), guardHolds,+ impliedBy, ) where +import Control.Applicative ((<|>)) import Data.Char (isAsciiLower, isAsciiUpper, isDigit)+import Data.List (dropWhileEnd) import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map+import Data.Maybe (fromMaybe)+import Data.Set (Set)+import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T --- | Known macro expansions.+-- | What is known about macros. data Macros = Macros { -- | The macros that take a version apart and compare it: -- @MIN_VERSION_containers@ and the like, each under the version the@@ -24,39 +30,154 @@ macroVersions :: Map Text [Integer], -- | The macros that stand for a number, which is @__GLASGOW_HASKELL__@ -- and its patch levels.- macroNumbers :: Map Text Integer+ macroNumbers :: Map Text Integer,+ -- | The macros known to be defined, though not to what.+ macroDefined :: Set Text,+ -- | The macros known not to be defined, such as those of the compilers+ -- other than the one the plan is for, like @__MHS__@.+ macroUndefined :: Set Text,+ -- | The version, or number, each macro is known to reach, a number+ -- being a version of one part.+ macroAtLeast :: Map Text [Integer],+ -- | The version, or number, each macro is known to stay below.+ macroBelow :: Map Text [Integer] } deriving (Eq, Show) +instance Semigroup Macros where+ a <> b =+ Macros+ { macroVersions = macroVersions a <> macroVersions b,+ macroNumbers = macroNumbers a <> macroNumbers b,+ macroDefined = macroDefined a <> macroDefined b,+ macroUndefined = macroUndefined a <> macroUndefined b,+ macroAtLeast = Map.unionWith max (macroAtLeast a) (macroAtLeast b),+ macroBelow = Map.unionWith min (macroBelow a) (macroBelow b)+ }++instance Monoid Macros where+ mempty =+ Macros+ { macroVersions = Map.empty,+ macroNumbers = Map.empty,+ macroDefined = Set.empty,+ macroUndefined = Set.empty,+ macroAtLeast = Map.empty,+ macroBelow = Map.empty+ }+ -- | Does a conditional's guard hold, where what is known settles it? -- 'Nothing' is no answer rather than a negative one. guardHolds :: Macros -> Text -> Maybe Bool-guardHolds macros written = case T.span isNameChar (T.stripStart written) of- (keyword, rest) -> case keyword of- "if" -> (/= 0) <$> valueOf macros rest- "elif" -> (/= 0) <$> valueOf macros rest- "ifdef" -> nameIsKnown rest- "elifdef" -> nameIsKnown rest- "ifndef" -> not <$> nameIsKnown rest- "elifndef" -> not <$> nameIsKnown rest- _ -> Nothing+guardHolds macros written = (/= 0) <$> (valueOf macros =<< expressionOf written)++-- | What a guard holding, or failing, implies about the macros.+impliedBy :: Bool -> Text -> Macros+impliedBy holds = maybe mempty (go holds) . expressionOf where- nameIsKnown rest = case tokensOf rest of- Just [Name n] | known macros n -> Just True+ go h = \case+ Not e -> go (not h) e+ And a b | h -> go h a <> go h b+ Or a b | not h -> go h a <> go h b+ Defined n+ | h -> mempty{macroDefined = Set.singleton n}+ | otherwise -> mempty{macroUndefined = Set.singleton n}+ Reaches n v+ | h -> mempty{macroAtLeast = Map.singleton n (trimmed v)}+ | otherwise -> mempty{macroBelow = Map.singleton n (trimmed v)}+ Macro n | h -> mempty{macroDefined = Set.singleton n}+ _ -> mempty++-- | Whether a macro is defined, where that is known.+isDefined :: Macros -> Text -> Maybe Bool+isDefined macros n+ | Map.member n (macroVersions macros)+ || Map.member n (macroNumbers macros)+ || Set.member n (macroDefined macros) =+ Just True+ | Set.member n (macroUndefined macros) = Just False+ | otherwise = Nothing++-- | The number a macro stands for, where that is known.+numberOf :: Macros -> Text -> Maybe Integer+numberOf macros n = case isDefined macros n of+ Just False -> Just 0+ _ -> Map.lookup n (macroNumbers macros)++-- | Does a macro's version, or number, reach this one, where what is known+-- settles it?+reaches :: Macros -> Text -> [Integer] -> Maybe Bool+reaches macros n wanted = case held of+ Just v -> Just (trimmed v >= w)+ Nothing+ | any (>= w) (Map.lookup n (macroAtLeast macros)) -> Just True+ | any (<= w) (Map.lookup n (macroBelow macros)) -> Just False+ | otherwise -> Nothing+ where+ w = trimmed wanted+ held =+ Map.lookup n (macroVersions macros) <|> (pure <$> numberOf macros n)++-- | A version without the zeros at its end, which 'compare' orders as+-- versions are ordered.+trimmed :: [Integer] -> [Integer]+trimmed = dropWhileEnd (== 0)++-- | The expression of a guard, where we read it.+expressionOf :: Text -> Maybe Expr+expressionOf written = case T.span isNameChar (T.stripStart written) of+ (keyword, rest)+ | keyword `elem` ["if", "elif"] -> case orExpr =<< tokensOf rest of+ Just (e, []) -> Just e+ _ -> Nothing+ | keyword `elem` ["ifdef", "elifdef"] -> Defined <$> nameOf rest+ | keyword `elem` ["ifndef", "elifndef"] -> Not . Defined <$> nameOf rest+ | otherwise -> Nothing+ where+ nameOf rest = case tokensOf rest of+ Just [Name n] -> Just n _ -> Nothing --- | Is this a macro whose expansion we know?-known :: Macros -> Text -> Bool-known macros n =- Map.member n (macroVersions macros) || Map.member n (macroNumbers macros)+-- | The expression of a guard.+data Expr+ = Or Expr Expr+ | And Expr Expr+ | Not Expr+ | -- | Two expressions and the test comparing them.+ Compared (Integer -> Integer -> Bool) Expr Expr+ | -- | Whether a macro is defined.+ Defined Text+ | -- | Whether a macro's version, or number, reaches this one.+ Reaches Text [Integer]+ | -- | The number a macro stands for.+ Macro Text+ | Literal Integer+ | -- | A call of a macro other than a version test.+ Call --- | What the expression of an @#if@ or @#elif@ evaluates to, if anything.-valueOf :: Macros -> Text -> Maybe Integer-valueOf macros written = case tokensOf written of- Nothing -> Nothing- Just ts -> case orExpr macros ts of- Just (value, []) -> value- _ -> Nothing+-- | What an expression evaluates to, if anything.+valueOf :: Macros -> Expr -> Maybe Integer+valueOf macros = \case+ Or a b+ | any true [value a, value b] -> Just 1+ | all false [value a, value b] -> Just 0+ | otherwise -> Nothing+ And a b+ | any false [value a, value b] -> Just 0+ | all true [value a, value b] -> Just 1+ | otherwise -> Nothing+ Not a -> fromBool . (== 0) <$> value a+ Compared test a b -> fromBool <$> (test <$> value a <*> value b)+ Defined n -> fromBool <$> isDefined macros n+ Reaches n v -> fromBool <$> reaches macros n v+ Macro n -> numberOf macros n+ Literal n -> Just n+ Call -> Nothing+ where+ value = valueOf macros+ true = maybe False (/= 0)+ false = maybe False (== 0)+ fromBool b = if b then 1 else 0 -- | One piece of a guard. data Token@@ -89,56 +210,40 @@ readDigits = T.foldl' (\n c -> n * 10 + toInteger (fromEnum c - fromEnum '0')) 0 -- | An expression, and what is left of the tokens after it.------ The outer 'Maybe' is whether it could be read at all; the inner one is--- whether what it means is known.-type Reading = Maybe (Maybe Integer, [Token])+type Reading = Maybe (Expr, [Token]) -orExpr :: Macros -> [Token] -> Reading-orExpr macros ts = do- (left, rest) <- andExpr macros ts+orExpr :: [Token] -> Reading+orExpr ts = do+ (left, rest) <- andExpr ts more left rest where more left = \case Punct "||" : rest -> do- (right, rest') <- andExpr macros rest- more (either' left right) rest'+ (right, rest') <- andExpr rest+ more (Or left right) rest' rest -> Just (left, rest)- either' a b- | any true [a, b] = Just 1- | all false [a, b] = Just 0- | otherwise = Nothing -andExpr :: Macros -> [Token] -> Reading-andExpr macros ts = do- (left, rest) <- compared macros ts+andExpr :: [Token] -> Reading+andExpr ts = do+ (left, rest) <- compared ts more left rest where more left = \case Punct "&&" : rest -> do- (right, rest') <- compared macros rest- more (both left right) rest'+ (right, rest') <- compared rest+ more (And left right) rest' rest -> Just (left, rest)- both a b- | any false [a, b] = Just 0- | all true [a, b] = Just 1- | otherwise = Nothing -true, false :: Maybe Integer -> Bool-true = maybe False (/= 0)-false = maybe False (== 0)--compared :: Macros -> [Token] -> Reading-compared macros ts = do- (left, rest) <- unary macros ts+compared :: [Token] -> Reading+compared ts = do+ (left, rest) <- unary ts case rest of Punct op : rest' | Just test <- comparison op -> do- (right, rest'') <- unary macros rest'- pure (fromBool . uncurry test <$> pair left right, rest'')+ (right, rest'') <- unary rest'+ let e = fromMaybe (Compared test left right) (reaching op left right)+ pure (e, rest'') _ -> Just (left, rest) where- pair a b = (,) <$> a <*> b- fromBool b = if b then 1 else 0 comparison = \case "==" -> Just (==) "!=" -> Just (/=)@@ -148,33 +253,42 @@ ">=" -> Just (>=) _ -> Nothing -unary :: Macros -> [Token] -> Reading-unary macros = \case+-- | A macro compared with a number, as what it asks of the macro's number.+reaching :: Text -> Expr -> Expr -> Maybe Expr+reaching op (Macro n) (Literal m) = case op of+ ">=" -> Just (Reaches n [m])+ ">" -> Just (Reaches n [m + 1])+ "<" -> Just (Not (Reaches n [m]))+ "<=" -> Just (Not (Reaches n [m + 1]))+ "==" -> Just exactly+ "!=" -> Just (Not exactly)+ _ -> Nothing+ where+ exactly = And (Reaches n [m]) (Not (Reaches n [m + 1]))+reaching _ _ _ = Nothing++unary :: [Token] -> Reading+unary = \case Punct "!" : rest -> do- (value, rest') <- unary macros rest- pure (negated <$> value, rest')+ (e, rest') <- unary rest+ pure (Not e, rest') Punct "(" : rest -> do- (value, rest') <- orExpr macros rest+ (e, rest') <- orExpr rest case rest' of- Punct ")" : rest'' -> Just (value, rest'')+ Punct ")" : rest'' -> Just (e, rest'') _ -> Nothing Name "defined" : rest -> case rest of- Name n : rest' -> Just (asKnown n, rest')- Punct "(" : Name n : Punct ")" : rest' -> Just (asKnown n, rest')+ Name n : rest' -> Just (Defined n, rest')+ Punct "(" : Name n : Punct ")" : rest' -> Just (Defined n, rest') _ -> Nothing Name n : Punct "(" : rest -> do (arguments, rest') <- argumentList rest- pure (atLeast <$> Map.lookup n (macroVersions macros) <*> arguments, rest')- Name n : rest -> Just (Map.lookup n (macroNumbers macros), rest)- Number n : rest -> Just (Just n, rest)+ pure $ case arguments of+ Just v | "MIN_VERSION_" `T.isPrefixOf` n -> (Reaches n v, rest')+ _ -> (Call, rest')+ Name n : rest -> Just (Macro n, rest)+ Number n : rest -> Just (Literal n, rest) _ -> Nothing- where- negated n = if n == 0 then 1 else 0- asKnown n = if known macros n then Just 1 else Nothing- atLeast held wanted = if pad held >= pad wanted then 1 else 0- where- width = max (length held) (length wanted)- pad v = take width (v <> repeat 0) argumentList :: [Token] -> Maybe (Maybe [Integer], [Token]) argumentList ts = do
@@ -0,0 +1,819 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++-- | Merging the documents the configurations of a module printed to.+module Tilia.Cpp.Merge+ ( Settled (..),+ merge,+ combine,+ )+where++import Control.Applicative ((<|>))+import Control.Monad (guard)+import Data.Char (isSpace)+import Data.Function (on)+import Data.List (groupBy, maximumBy, sortOn, stripPrefix, transpose, unsnoc)+import Data.Maybe (fromMaybe, listToMaybe, mapMaybe, maybeToList)+import Data.Ord (comparing)+import Data.Text (Text)+import Data.Text qualified as T+import Tilia.Cpp.Directives (Guard (..), Varied (..), untouched)+import Tilia.Cpp.Place (regionOf)+import Tilia.Doc (defaultRenderOptions, printDoc)+import Tilia.Doc.Combinators qualified as Doc+import Tilia.Doc.Internal+ ( Conditional (..),+ Doc (..),+ Layout (..),+ Wrapper (..),+ conditionalRange,+ foldChildren,+ layoutInside,+ onlyBreaks,+ onlySpacing,+ printedFrom,+ printsNothing,+ spine,+ spineAt,+ unwrap,+ wrap,+ )+import Tilia.Source (Lines, lineAt)+import Tilia.Span+ ( Span,+ covers,+ meets,+ spanEndLine,+ spanStartColumn,+ spanStartLine,+ )++-- | A conditional other than the one asked about that answering a question+-- settles, for some answers at least.+data Settled = Settled+ { -- | The conditional, as written.+ settledConditional :: Conditional,+ -- | The branch each answer settles it on, or 'Nothing' where it is+ -- left open.+ settledBranches :: [Maybe Int]+ }++-- | Merge the documents one conditional's branches printed to.+--+-- A structural walk that keeps what they all agree on and puts a choice+-- where they part.+merge ::+ -- | The module as written.+ Lines ->+ -- | The conditionals asking the question, as written.+ [Conditional] ->+ -- | The question.+ [Guard] ->+ -- | The lines its answer can change.+ Varied ->+ -- | The other conditionals its answers settle.+ [Settled] ->+ -- | One document per answer.+ [Doc] ->+ Doc+merge written conditionals guards varied settledOthers = go Broken+ where+ go _ [] = mempty+ go layout ds@(d : rest)+ | all (agree varied layout d) rest = d+ | Just xs <- traverse only spines = alongside layout xs+ | otherwise = factored layout spines+ where+ spines = fmap (spineAt layout) ds++ alongside _ [] = mempty+ alongside layout xs+ | Just wds <- traverse unwrap xs,+ Just w <- joint wds =+ case (w, go (layoutInside layout w) (fmap snd wds)) of+ (WLocated _, DCppChoice{})+ | spans <- [s | (WLocated s, _) <- wds],+ Just opened <- unwrapping layout spans xs ->+ opened+ (WGroup l, DCppChoice{})+ | not (all (== l) (layoutsOf wds)),+ d : rest <- fmap snd wds,+ not (all (agree varied l d) rest) ->+ choice xs+ (WGroup Flat, merged)+ | not (beginsWithChoice merged) -> choice xs+ (_, merged) -> wrap w merged+ alongside layout xs@(x : _) = case x of+ DCppChoice ws bs _+ | Just alternatives <-+ every $ \case+ DCppChoice ws' cs e | ws' == ws, fmap fst cs == fmap fst bs -> Just (fmap snd cs <> [e])+ _ -> Nothing,+ Just (merged, fallback) <- unsnoc (fmap (go layout) (transpose alternatives)) ->+ Doc.cppChoice ws (zip (fmap fst bs) merged) fallback+ _+ | Just spans <- traverse regionOf xs,+ Just opened <- unwrapping layout spans xs ->+ opened+ | otherwise -> choice xs+ where+ every f = traverse f xs++ unwrapping layout spans xs = do+ inside <- sole [i | (i, s) <- zip [0 :: Int ..] spans, all (covers s) spans]+ openedAgainst inside layout =<< listToMaybe (drop inside xs)+ where+ sole [i] = Just i+ sole _ = Nothing++ openedAgainst inside l d = case unwrap d of+ Just (w, x) -> wrap w <$> openedAgainst inside (layoutInside l w) x+ Nothing -> case spineAt l d of+ parts@(_ : _ : _) ->+ Just . factored l $+ [if k == inside then parts else [e] | (k, e) <- zip [0 ..] xs]+ _ -> Nothing++ factored layout ss =+ let same = agree varied layout+ shared = foldl1 (lcs anchoring same) ss+ cut = fmap (segments (anchored same) shared) ss+ stretches = transpose (fmap fst cut)+ anchors = transpose (fmap snd cut)+ in mconcat (woven layout stretches (fmap (go layout) anchors))++ woven layout (s : ss) (c : cs)+ | all (maybe False ((== DSpace) . snd) . unsnoc) s,+ Just r <- regionOf c,+ spanStartLine r == spanEndLine r,+ Just (opening, ws, bs, e, gap) <- choiceAt written Last stretch,+ not (any printsNothing (e : fmap snd bs)) =+ opening+ <> Doc.cppChoice+ ws+ [(g, b <> gap <> c) | (g, b) <- bs]+ (e <> gap <> c)+ : woven layout ss cs+ | otherwise = stretch : c : woven layout ss cs+ where+ stretch = foldMap (varying layout) (cutAtConditionals s)+ woven layout ss [] = fmap (foldMap (varying layout) . cutAtConditionals) ss+ woven _ [] _ = []++ -- A stretch the configurations disagree over, cut where one conditional+ -- asking the question ends and the next begins, so that each comes out+ -- as a choice of its own rather than one choice printing both. Only+ -- where every element falls inside one of them, in the order they were+ -- written; what lies between them, space aside, is the stretch's own.+ cutAtConditionals ss+ | _ : _ : _ <- ranges,+ Just owners <- traverse (traverse ownerOf) ss,+ present@(first' : _ : _) <- foldr insertOrdered [] [o | Just o <- concat owners],+ let assigned = fmap (settled first') owners,+ all ascending assigned =+ [ [[x | (x, o) <- zip xs os, o == i] | (xs, os) <- zip ss assigned]+ | i <- present+ ]+ | otherwise = [ss]+ where+ ranges =+ mapMaybe+ conditionalRange+ (conditionals <> fmap settledConditional settledOthers)+ ownerOf x = case printedFrom x of+ [] -> Just Nothing+ lines' -> case sortOn fst [r | r@(from, to) <- ranges, all (\(a, b) -> from <= a && b <= to) lines'] of+ outermost : _ -> Just (Just outermost)+ [] -> Nothing+ settled first' os = case [o | Just o <- os] of+ [] -> fmap (const first') os+ o : _ -> drop 1 (scanl (\prev x -> maybe prev id x) o os)+ insertOrdered o os+ | o `elem` os = os+ | otherwise = sortOn fst (o : os)+ ascending os = and (zipWith (<=) os (drop 1 os))++ varying layout ss =+ let (opening, ss1) = sharedStart layout ss+ (ss2, closing) = sharedEnd layout ss1+ (lead, ss3, trail) = hoisted layout ss2+ in mconcat opening+ <> mconcat lead+ <> middle layout ss3+ <> mconcat trail+ <> mconcat closing++ sharedStart layout ss+ | Just (h : hs) <- traverse listToMaybe ss,+ all (agree varied layout h) hs =+ let (c, ss') = sharedStart layout (fmap (drop 1) ss) in (h : c, ss')+ | otherwise = ([], ss)++ sharedEnd layout ss =+ let (c, ss') = sharedStart layout (fmap reverse ss)+ ends = fmap reverse ss'+ in case reverse c of+ x : closing+ | x == Doc.comma,+ all (maybe False (not . onlySpacing . snd) . unsnoc) ends ->+ (fmap (<> [x]) ends, closing)+ closing -> (ends, closing)++ middle _ [] = mempty+ middle layout ss@(s : rest)+ | all (alike layout s) rest = mconcat s+ | Just xs <- traverse only ss = go layout xs+ | Just (c, tails) <- commaLed layout ss = c <> middle layout tails+ | Just merged <- alongsideHeads layout ss,+ weigh layout merged < weigh layout apart =+ merged+ | otherwise = apart+ where+ apart = choice (fmap (mconcat . commaFirst) ss)++ commaFirst = \case+ x : DBreak : rest | x == Doc.comma -> x : Doc.space : rest+ xs -> xs++ commaLed layout ss = do+ views <- traverse (ledBy layout) ss+ let unmoved = [v | v@(_, _, False) <- views]+ (c, _, _) : _ <- Just (if null unmoved then views else unmoved)+ if length unmoved < length views && all (\(d, _, _) -> agree varied layout c d) views+ then Just (c, [r | (_, r, _) <- views])+ else Nothing++ ledBy layout = \case+ c@DCppChoice{} : r+ | everyAlternative (\xs -> take 1 xs == [Doc.comma]) c -> Just (c, r, False)+ x : DBreak : DCppChoice ws bs e : r+ | x == Doc.comma,+ following@(_ : _) <- dropWhile onlySpacing r,+ everyAlternative (\xs -> fmap snd (unsnoc xs) == Just Doc.comma) (DCppChoice ws bs e) ->+ Just (Doc.cppChoice ws [(g, led b) | (g, b) <- bs] (led e), x : DBreak : following, True)+ _ -> Nothing+ where+ everyAlternative p = \case+ DCppChoice _ bs e -> all (\a -> printsNothing a || p (spineAt layout a)) (e : fmap snd bs)+ _ -> False+ led a+ | printsNothing a = a+ | otherwise = mconcat (Doc.comma : Doc.space : maybe [] fst (unsnoc (spineAt layout a)))++ alongsideHeads layout ss = do+ heads <- traverse listToMaybe ss+ let rest = fmap (drop 1) ss+ (glued, tails) = case traverse (stripPrefix [Doc.comma]) rest of+ Just rest' -> (endingWith Doc.comma, rest')+ Nothing -> (id, rest)+ case heads of+ (h : hs)+ | all (sameKind h) hs,+ all (breaksFirst (lineEnding h hs)) tails ->+ Just+ ( joined+ (glued (go layout heads))+ (middle layout tails)+ (varying layout tails)+ )+ _ -> Nothing+ where+ breaksFirst l t = case dropWhile (quiet l) t of+ [] -> True+ (d : _) -> opensWithBreak layout d+ quiet l d = weigh layout d == 0 && not (opensWithBreak l d)+ lineEnding h hs+ | all ((== printed h) . printed) hs = layout+ | otherwise = Flat+ printed = printDoc defaultRenderOptions++ endingWith t d = fromMaybe (d <> t) (inAlternatives d)+ where+ inAlternatives = \case+ DCppChoice ws bs e+ | not (any printsNothing (e : fmap snd bs)) ->+ Just (DCppChoice ws [(g, endingWith t b) | (g, b) <- bs] (endingWith t e))+ DCat a b+ | printsNothing b -> (<> b) <$> inAlternatives a+ | otherwise -> (a <>) <$> inAlternatives b+ y -> do+ (w, x) <- unwrap y+ wrap w <$> inAlternatives x++ joined before after apart =+ case (choiceAt written Last before, choiceAt written First after) of+ (Just (opening, ws, bs, e, gap), Just (gap', ws', cs, e', closing))+ | fmap fst bs == fmap fst cs,+ ws == ws' || null ws || null ws',+ (g, x) : rest <- bs,+ (_, y) : rest' <- cs,+ (lead, first') <- span breaking (spine (x <> between <> y)) ->+ opening+ <> mconcat lead+ <> Doc.cppChoice+ (if null ws then ws' else ws)+ ( (g, mconcat first')+ : [ (h, z <> between <> z')+ | ((h, z), (_, z')) <- zip rest rest'+ ]+ )+ (e <> between <> e')+ <> closing+ where+ between = gap <> gap'+ _ -> before <> apart++ sameKind x y = case (unwrap x, unwrap y) of+ (Just (w, t), Just (v, u)) -> kin w v && t /= DEmpty && u /= DEmpty+ _ -> False++ alike layout xs ys =+ length xs == length ys && and (zipWith (agree varied layout) xs ys)++ hoisted layout ss =+ ( widest [l | (l, _, _) <- speaking],+ fmap middleOf peeled,+ widest [r | (_, _, r) <- speaking]+ )+ where+ peeled = fmap peel ss+ speaking = case filter (not . all printsNothing . middleOf) peeled of+ [] -> peeled+ printing -> printing+ middleOf (_, m, _) = m+ widest = \case+ [] -> []+ runs -> maximumBy (comparing (spaceOf layout)) runs++ peel ds =+ let (l, rest) = span breaking ds+ (r, m) = span breaking (reverse rest)+ in (l, reverse m, reverse r)++ breaking = \case+ DDeclarationsStart -> True+ d -> onlyBreaks d++ choice ds+ | (d : _) <- mapMaybe (settledChoice ds) settledOthers = d+ choice ds = case unsnoc ds of+ Just (branches, fallback) ->+ Doc.cppChoice+ (filter (evidenced ds) conditionals)+ (zip (fmap guardText guards) branches)+ fallback+ Nothing -> mempty++ settledChoice ds s = do+ open' <- listToMaybe [d | (d, Nothing) <- zip ds (settledBranches s)]+ (bs, e) <- case filter (not . onlySpacing) (spine open') of+ [DCppChoice cs bs e] | settledConditional s `elem` cs -> Just (bs, e)+ _ -> Nothing+ let printed = maybe open' (\k -> maybe e snd (listToMaybe (drop k bs)))+ printsAlike a b =+ agree varied Broken a b || (printsNothing a && printsNothing b)+ if and (zipWith (printsAlike . printed) (settledBranches s) ds)+ then Just open'+ else Nothing++ evidenced ds c = case conditionalRange c of+ Just (from, to) -> any (\(a, b) -> from < a && b < to) (concatMap printedFrom ds)+ Nothing -> False++ only [d] = Just d+ only _ = Nothing++-- | Would these two documents print the same, laid out like this?+agree :: Varied -> Layout -> Doc -> Doc -> Bool+agree varied layout a b = alike (chunked (spineAt layout a)) (chunked (spineAt layout b))+ where+ alike (Left s : xs) (Left t : ys) = s == t && alike xs ys+ alike (Right x : xs) (Right y : ys) = here x y && alike xs ys+ alike [] [] = True+ alike _ _ = False+ chunked ds =+ let (space, rest) = span onlySpacing ds+ in Left (spaceOf layout space) : case rest of+ [] -> []+ x : more -> Right x : chunked more+ inside x y = agree varied layout x y+ here x y = case (x, y) of+ (DLocated s x', DLocated t y') ->+ s == t+ && ( untouched varied (reach s x') && untouched varied (reach t y')+ || inside x' y'+ )+ (DCppChoice ws bs x', DCppChoice ws' cs y') ->+ ws == ws'+ && length bs == length cs+ && and [g == h && inside p q | ((g, p), (h, q)) <- zip bs cs]+ && inside x' y'+ _ -> case (unwrap x, unwrap y) of+ (Just (w, x'), Just (v, y')) ->+ w == v && agree varied (layoutInside layout w) x' y'+ _ -> x == y++-- | Does this document, laid out flat, print a choice before anything else?+beginsWithChoice :: Doc -> Bool+beginsWithChoice d = case filter (not . onlySpacing) (spineAt Flat d) of+ DCppChoice{} : _ -> True+ x : _ | Just (_, y) <- unwrap x -> beginsWithChoice y+ _ -> False++-- | A region's span, stretched over the span it prints first, which the+-- Haddock of a constructor, a field or an argument is, written above or+-- below it.+reach :: Span -> Doc -> Span+reach s d = maybe s (<> s) (firstMarked d)+ where+ firstMarked = \case+ DLocated h x -> firstMarked x <|> Just h+ DFence h x -> firstMarked x <|> Just h+ x -> listToMaybe (foldChildren (maybeToList . firstMarked) x)++-- | What a run of space comes to on the page.+data Space = Space !Int !Bool+ deriving (Eq, Ord)++-- | Read a run of space, the way 'Tilia.Doc.Internal.breakLine' does.+spaceOf :: Layout -> [Doc] -> Space+spaceOf layout = go 0 False False+ where+ go ended closed apart = \case+ [] -> Space (min 2 ended) (apart && ended == 0)+ d : ds -> case d of+ DSpace -> go ended closed True ds+ DCloseLine+ | closed -> go ended closed apart ds+ | otherwise -> go (ended + 1) True apart ds+ DCloseLineUnlessAfterOpener _+ | closed -> go ended closed apart ds+ | otherwise -> go (ended + 1) True apart ds+ DHardBreak -> broke ds+ DBreak+ | layout == Broken -> broke ds+ | otherwise -> go ended closed True ds+ DSoftBreak+ | layout == Broken -> broke ds+ | otherwise -> go ended closed apart ds+ _ -> go ended closed apart ds+ where+ broke rest+ | closed = go ended False apart rest+ | otherwise = go (ended + 1) False apart rest++-- | Put several documents' differences from a baseline into one document.+--+-- Each of them is the baseline except inside one conditional's lines, and+-- those lines do not overlap, so their differences can be applied side by+-- side rather than chosen between. Which is what makes varying the+-- conditionals one at a time add up to varying them together, and so what+-- makes the cost linear.+combine :: Layout -> Doc -> [(Varied, Doc)] -> Maybe Doc+combine layout base ds = case filter (\(v, d) -> not (agree v layout base d)) ds of+ [] -> Just base+ [(_, only)] -> Just only+ many -> case (spineAt layout base, [(v, spineAt layout d) | (v, d) <- many]) of+ ([b], ss) | Just xs <- traverse (\(v, s) -> (,) v <$> single s) ss -> descend b xs+ (bs, ss) -> spliced bs ss+ where+ single [d] = Just d+ single _ = Nothing++ descend b xs = do+ own@(_, i) <- unwrap b+ others <- traverse (traverse unwrap) xs+ w <- joint (own : fmap snd others)+ wrap w <$> combine (layoutInside layout w) i (fmap (fmap snd) others)++ spliced bs ss = do+ clustered <-+ traverse+ (cluster bs)+ ( overlapping+ ( sortOn+ chFrom+ ( concat+ [ changesAgainst v (agree v layout) bs s+ | (v, s) <- ss+ ]+ )+ )+ )+ pure (mconcat (applied bs (inWrittenOrder bs clustered)))++ cluster _ [c] = Just c+ cluster bs cs+ | to - from == 1,+ Just xs <- traverse (\c -> (,) (chVaried c) <$> single (chWith c)) cs,+ (b : _) <- drop from bs =+ ( \d ->+ Change+ { chFrom = from,+ chTo = to,+ chWith = [d],+ chVaried = Varied (concatMap (variedLines . chVaried) cs)+ }+ )+ <$> combine layout b xs+ | otherwise = Nothing+ where+ from = minimum (fmap chFrom cs)+ to = maximum (fmap chTo cs)++ applied bs = go 0+ where+ go i [] = drop i bs+ go i (c : cs) =+ take (chFrom c - i) (drop i bs) <> chWith c <> go (chTo c) cs++-- | Put what changes made to one run of space in the order it was written+-- in.+--+-- Two conditionals written one after the other with nothing between them+-- but space both change that space, and where in it each change falls is a+-- matter of how each one's own space lined up with it, not of which came+-- first. Nothing but space moves when the changes trade places.+inWrittenOrder :: [Doc] -> [Change] -> [Change]+inWrittenOrder bs = concatMap reorder . groupBy ((==) `on` gap)+ where+ gap c+ | all onlySpacing (take (chTo c - chFrom c) (drop (chFrom c) bs)) =+ Just (length (filter (not . onlySpacing) (take (chFrom c) bs)))+ | otherwise = Nothing+ reorder cs = case traverse firstLine cs of+ Just ls+ | Just _ <- gap =<< listToMaybe cs,+ ls /= sortOn id ls ->+ zipWith+ (\c w -> c{chWith = chWith w, chVaried = chVaried w})+ cs+ (fmap snd (sortOn fst (zip ls cs)))+ _ -> cs+ firstLine c = case concatMap printedFrom (chWith c) of+ [] -> Nothing+ ls -> Just (minimum (fmap fst ls))++-- | The wrapper standing for those of several documents, if each is of a+-- kind with the first: the smallest span covering theirs for a region, and+-- for a group broken if any that holds something is.+joint :: [(Wrapper, Doc)] -> Maybe Wrapper+joint wds = case fmap fst wds of+ w : ws | all (kin w) ws -> Just $ case w of+ WLocated s -> WLocated (foldr (<>) s [t | WLocated t <- ws])+ WFence s -> WFence (foldr (<>) s [t | WFence t <- ws])+ WGroup _ -> WGroup (if Broken `elem` layoutsOf wds then Broken else Flat)+ _ -> w+ _ -> Nothing++-- | Could what these two wrappers hold be merged under one of them?+kin :: Wrapper -> Wrapper -> Bool+kin a b = case (a, b) of+ (WLocated s, WLocated t) -> meets s t+ (WFence s, WFence t) -> meets s t+ (WGroup _, WGroup _) -> True+ _ -> a == b++-- | The layouts of the groups that hold something.+layoutsOf :: [(Wrapper, Doc)] -> [Layout]+layoutsOf wds = [l | (WGroup l, d) <- wds, not (printsNothing d)]++-- | A stretch of the baseline, and what one document put there instead.+data Change = Change+ { -- | Where the stretch begins, as an index into the baseline.+ chFrom :: !Int,+ -- | Where it ends, one past the last element replaced.+ chTo :: !Int,+ -- | What the document put there instead.+ chWith :: [Doc],+ -- | The lines the conditional this change came from could have reached.+ -- Carried so that a cluster of two of them can be combined without+ -- losing which conditional each half belongs to. See 'Varied'.+ chVaried :: Varied+ }++-- | What one document changed about the baseline, as the stretches it+-- replaced and what it put in each of their places.+changesAgainst ::+ Varied ->+ -- | Whether two elements print the same.+ (Doc -> Doc -> Bool) ->+ [Doc] ->+ [Doc] ->+ [Change]+changesAgainst varied same bs xs = go 0 bs xs (lcs anchoring same bs xs)+ where+ anchor = anchored same++ go i b x [] = between i b x+ go i b x (c : cs) =+ let (b', b'') = break (anchor c) b+ (x', x'') = break (anchor c) x+ j = i + length b'+ in between i b' x'+ <> held j (listToMaybe b'') (listToMaybe x'')+ <> go (j + 1) (drop 1 b'') (drop 1 x'') cs++ held j (Just b') (Just x')+ | not (same b' x') =+ [Change{chFrom = j, chTo = j + 1, chWith = [x'], chVaried = varied}]+ held _ _ _ = []++ between i b x =+ [ Change+ { chFrom = i + shared,+ chTo = i + shared + length b',+ chWith = x',+ chVaried = varied+ }+ | not (null b' && null x')+ ]+ where+ shared = length (takeWhile id (zipWith same b x))+ atEnd = length (takeWhile id (zipWith same (reverse b) (reverse x)))+ kept = min atEnd (min (length b) (length x) - shared)+ b' = take (length b - kept - shared) (drop shared b)+ x' = take (length x - kept - shared) (drop shared x)++-- | Group changes that reach the same stretch of the baseline.+--+-- Ones that merely touch are left apart: a change ending where the next+-- begins has not reached into it.+overlapping :: [Change] -> [[Change]]+overlapping [] = []+overlapping (c : cs) = go [c] (chTo c) cs+ where+ go acc _ [] = [reverse acc]+ go acc end (x : xs)+ | chFrom x < end = go (x : acc) (max end (chTo x)) xs+ | otherwise = reverse acc : go [x] (chTo x) xs++-- | One end of a document.+data Edge = First | Last++-- | The choice a document has at one end, if that is where it has one: what+-- the document prints before the choice, the choice itself, and what the+-- document prints after it.+choiceAt ::+ -- | The module as written.+ Lines ->+ -- | The end to look at.+ Edge ->+ -- | The document.+ Doc ->+ Maybe (Doc, [Conditional], [(Text, Doc)], Doc, Doc)+choiceAt written edge = go Flat False+ where+ go layout fresh d = case span onlySpacing (inward (spine d)) of+ (outer, x : inner) ->+ let (before, after) = case edge of+ First -> (mconcat outer, mconcat inner)+ Last -> (mconcat (reverse inner), mconcat (reverse outer))+ around w v (b, ws, bs, e, a) =+ ( before <> printed w b,+ ws,+ fmap (fmap (printed v)) bs,+ printed v e,+ printed w a <> after+ )+ printed w y = if printsNothing y then y else w y+ begins = case (edge, inner) of+ (First, _) -> False+ (Last, []) -> fresh+ (Last, y : _) | Space ended _ <- spaceOf layout [y] -> ended > 0+ in case x of+ DCppChoice ws bs e -> Just (before, ws, bs, e, after)+ _ -> do+ (w, y) <- unwrap x+ guard (w /= WAlign || begins && firstOnItsLine y)+ around (wrap w) (alternatives w)+ <$> go (layoutInside layout w) begins y+ _ -> Nothing+ inward = case edge of+ First -> id+ Last -> reverse+ alternatives = \case+ WLocated _ -> id+ WFence _ -> id+ w -> wrap w+ firstOnItsLine y = case regionOf y of+ Just s ->+ maybe+ False+ (T.all isSpace . T.take (spanStartColumn s - 1))+ (lineAt (spanStartLine s) written)+ Nothing -> False++-- | Does the first thing this document puts on the page end a line?+opensWithBreak :: Layout -> Doc -> Bool+opensWithBreak layout d = case dropWhile (== DSpace) (spineAt layout d) of+ x : _+ | Just (w, y) <- unwrap x -> opensWithBreak (layoutInside layout w) y+ | otherwise -> case x of+ DHardBreak -> True+ DCloseLine -> True+ DCloseLineUnlessAfterOpener _ -> True+ DBreak -> layout == Broken+ DSoftBreak -> layout == Broken+ DCppDirective _ _ -> True+ DCppChoice{} -> True+ _ -> False+ [] -> False++-- | How much text this document holds, counting what a choice repeats once+-- for each alternative that repeats it.+weigh :: Layout -> Doc -> Int+weigh layout = go+ where+ go = \case+ DCat a b -> go a + go b+ DVariant flatD brokenD ->+ go (case layout of Flat -> flatD; Broken -> brokenD)+ DCppChoice _ bs e -> sum (fmap (go . snd) bs) + go e+ DText t -> T.length t+ DCppDirective _ t -> T.length t+ DHoldBack _ t -> T.length t+ d+ | Just (w, x) <- unwrap d -> weigh (layoutInside layout w) x+ | otherwise -> 0++-- | The longest run of elements two spines have in common, in order,+-- allowing for anything either of them has that the other does not, of+-- those that could hold them together.+lcs :: (a -> Bool) -> (a -> a -> Bool) -> [a] -> [a] -> [a]+lcs holds same xs ys =+ filter holds opening <> table middleX middleY <> filter holds closing+ where+ agreeing as bs = length (takeWhile id (zipWith same as bs))++ ahead = agreeing xs ys+ (opening, xs1) = splitAt ahead xs+ ys1 = drop ahead ys+ behind = agreeing (reverse xs1) (reverse ys1)+ (middleX, closing) = splitAt (length xs1 - behind) xs1+ middleY = take (length ys1 - behind) ys1++ table [] _ = []+ table _ [] = []+ table as bs = reverse (snd (last (foldl' (row bs) (start bs) as)))+ where+ start cs = replicate (length cs + 1) (0 :: Int, [])+ row cs previous x = cells 0 [] (zip3 cs previous (drop 1 previous))+ where+ cells !n acc rest =+ (n, acc) : case rest of+ [] -> []+ ((y, (dn, ds), (an, as')) : more)+ | holds x, same x y -> cells (dn + 1) (x : ds) more+ | n >= an -> cells n acc more+ | otherwise -> cells an as' more++-- | Only let something that was printed line two spines up.+anchored :: (Doc -> Doc -> Bool) -> Doc -> Doc -> Bool+anchored same a b = anchoring a && same a b++-- | Could this element hold two spines together, if it turned up in both?+anchoring :: Doc -> Bool+anchoring = \case+ DVerbatimBreak _ _ -> False+ DText "," -> False+ DDeclarationsStart -> False+ DNest _ d -> located d || not (printsNothing d)+ DAlign d -> located d || not (printsNothing d)+ DGroup _ d -> located d || not (printsNothing d)+ d -> not (onlySpacing d)+ where+ located = \case+ DLocated{} -> True+ DFence{} -> True+ DCat a b -> located a || located b+ DNest _ d -> located d+ DAlign d -> located d+ DGroup _ d -> located d+ _ -> False++-- | A spine cut at the elements it shares with the others: one stretch+-- before each of them, and one after the last, and the elements themselves.+--+-- The matched elements come back rather than being dropped because the+-- caller cannot assume they are interchangeable: 'agree' does not look+-- inside a region the conditional leaves alone.+segments ::+ -- | Whether an element of the spine is the shared one being looked for.+ (a -> a -> Bool) ->+ -- | The shared elements, in order, to cut at.+ [a] ->+ -- | The spine to cut.+ [a] ->+ -- | The stretches between the cuts, and the elements cut at.+ ([[a]], [a])+segments same = go+ where+ go [] s = ([s], [])+ go (c : cs) s = case break (same c) s of+ (before', matched : rest) -> keeping before' matched (go cs rest)+ (before', []) -> keeping before' c (go cs [])+ where+ keeping before' matched (stretches, anchors) =+ (before' : stretches, matched : anchors)
@@ -0,0 +1,590 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++-- | Placing elements that the configurations of a module do not print (CPP+-- conditionals, directives, and comments).+module Tilia.Cpp.Place+ ( CommentSummary,+ summarizeComments,+ restoreUnprinted,+ regionOf,+ )+where++import Control.Monad (foldM)+import Data.List (sortOn, unsnoc)+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map+import Data.Maybe (isNothing, listToMaybe, mapMaybe)+import Data.Monoid (Any (..))+import Data.Ord (Down (..))+import Data.Set (Set)+import Data.Set qualified as Set+import Data.Text (Text)+import Data.Text qualified as T+import Tilia.Comments+ ( Comment (..),+ bracketed,+ commentPragma,+ continuesHaddock,+ holdsOff,+ opensHaddock,+ opensSectionHeading,+ transcendentComment,+ )+import Tilia.Comments.Attach (Margin (..), attachScopedComments)+import Tilia.Cpp.Directives+ ( CppError (..),+ Directive (..),+ GroupSpec (..),+ Guard (..),+ allGroups,+ dSpan,+ isDirective,+ macroLines,+ opaqueDirectives,+ readConditionals,+ )+import Tilia.Doc.Combinators (blankLine, hardBreak, includeWhen, indent)+import Tilia.Doc.Internal+ ( Conditional (..),+ Doc (..),+ conditionalRange,+ foldChildren,+ mapChildren,+ onlySpacing,+ printsNothing,+ spine,+ unwrap,+ wrap,+ )+import Tilia.Source (Lines, Written (..), blankAt, lineAt, linesOf)+import Tilia.Span (Span (..), mkSpan)++-- | What the configurations of a module had besides their code.+data CommentSummary = CommentSummary+ { -- | The comments no syntax tree carries, by where they were written.+ summaryLoose :: Map Span Comment,+ -- | Where every comment was written, whether a tree carries it or not.+ summaryComments :: Set Span,+ -- | Where every Haddock that holds off a comment was written.+ summaryHaddocks :: Set Span+ }++-- | What two sets of configurations found between them.+--+-- A comment is the same comment in every configuration it is in, except+-- for whether it wants an empty line either side of it, which is asked of+-- what it is written next to and so can come out differently. It gets one+-- wherever any configuration wanted one.+instance Semigroup CommentSummary where+ a <> b =+ CommentSummary+ { summaryLoose = Map.unionWith either' (summaryLoose a) (summaryLoose b),+ summaryComments = Set.union (summaryComments a) (summaryComments b),+ summaryHaddocks = Set.union (summaryHaddocks a) (summaryHaddocks b)+ }+ where+ either' x y =+ x+ { commentGapAbove = commentGapAbove x || commentGapAbove y,+ commentGapBelow = commentGapBelow x || commentGapBelow y+ }++instance Monoid CommentSummary where+ mempty = CommentSummary Map.empty Set.empty Set.empty++-- | What one configuration found.+summarizeComments ::+ -- | The comments its syntax tree does not carry.+ [Comment] ->+ -- | Every comment in it.+ [Comment] ->+ CommentSummary+summarizeComments loose every =+ CommentSummary+ { summaryLoose = Map.fromList [(commentSpan c, c) | c <- loose],+ summaryComments = Set.fromList (fmap commentSpan every),+ summaryHaddocks = Set.fromList [commentSpan c | c <- every, holdsOff c]+ }++-- | Place comments into a document is the result of merging different+-- configurations.+restoreUnprinted ::+ -- | The module as written.+ Text ->+ -- | What its configurations found.+ CommentSummary ->+ -- | The document its configurations were merged into.+ Doc ->+ Either CppError Doc+restoreUnprinted source found doc = do+ forest <- readConditionals source+ let groups = [gs | gs <- allGroups forest, not (inComment (fst (gsWhole gs)))]+ scope = scopeIn (fmap gsConditional groups)+ notes =+ [ if any directiveAt [spanStartLine s + 1 .. spanEndLine s - 1]+ then transcendentComment written c+ else c+ | c <- Map.elems (summaryLoose found),+ let s = commentSpan c+ ]+ let shelled = foldl (restoreConditional written) (widened doc) groups+ marked = spacedApart written (realized (widened shelled))+ printed = Set.fromList (Nothing : fmap (scope . fst) (regionsIn marked))+ noted =+ attachScopedComments+ margin+ scope+ (filter ((`Set.member` printed) . scope . commentSpan) notes)+ marked+ margin =+ Margin+ { marginLine = isDirective,+ marginComment = isNothing . commentPragma+ }+ directed <-+ foldM+ (putDirective written)+ noted+ (filter (not . inComment . dLine) (opaqueDirectives source))+ placed <-+ foldM+ (putMacroLine written)+ directed+ (filter (not . inComment . fst) macros)+ pure $+ keptApart+ (summaryHaddocks found)+ (Map.fromList [(commentSpan c, c) | c <- notes, not (bracketed c)])+ placed+ where+ written = linesOf (Written source)+ macros = macroLines source+ directiveAt n =+ maybe False isDirective (lineAt n written) || any ((== n) . fst) macros+ inComment n =+ any+ (\s -> spanStartLine s < n && n < spanEndLine s)+ (summaryComments found)++-- | What was printed last, as far as two comments running into each other+-- goes.+data Printed+ = -- | Something that keeps them apart.+ Apart+ | -- | A Haddock written as @--@ lines.+ AHaddock+ | -- | A comment written as @--@ lines.+ ANote+ deriving (Eq)++-- | Put an empty line between a comment written as @--@ lines and a Haddock+-- written the same way wherever one comes out right under the other: under+-- a Haddock a comment would be read as more of it, and above one it is kept+-- apart from it.+keptApart ::+ -- | Where the Haddocks written as @--@ lines are.+ Set Span ->+ -- | The comments written as @--@ lines, by where they are.+ Map Span Comment ->+ Doc ->+ Doc+keptApart haddocks notes = snd . go Apart+ where+ go before = \case+ DLocated s x+ | Just c <- Map.lookup s notes ->+ let under = before == AHaddock && continuesHaddock c+ in (ANote, DLocated s (includeWhen under blankLine <> x))+ | Set.member s haddocks ->+ (AHaddock, DLocated s (includeWhen (before == ANote) blankLine <> snd (go Apart x)))+ DText t+ | "--" `T.isPrefixOf` t,+ opensHaddock t,+ not (opensSectionHeading t),+ before == ANote ->+ (Apart, blankLine <> DText t)+ DCat a b ->+ let (between, a') = go before a+ (after, b') = go between b+ in (after, DCat a' b')+ DVariant a b -> DVariant (snd (go before a)) <$> go before b+ d@DCppChoice{} -> (Apart, mapChildren (snd . go Apart) d)+ d+ | Just (w, x) <- unwrap d -> wrap w <$> go before x+ | onlySpacing d || printsNothing d -> (before, d)+ | otherwise -> (Apart, d)++-- | Widen every region to take in the conditionals printed inside it.+widened :: Doc -> Doc+widened = fst . go+ where+ go = \case+ DLocated s x -> let (x', c) = go x in (DLocated (maybe s (s <>) c) x', c)+ DFence s x -> let (x', c) = go x in (DFence (maybe s (s <>) c) x', c)+ DCppChoice cs bs e ->+ let bs' = [(g, go d) | (g, d) <- bs]+ (e', c) = go e+ in ( DCppChoice cs [(g, d) | (g, (d, _)) <- bs'] e',+ foldMap conditionalSpan cs <> foldMap (snd . snd) bs' <> c+ )+ DCat a b ->+ let (a', ca) = go a+ (b', cb) = go b+ in (DCat a' b', ca <> cb)+ d@DVariant{} -> (d, Nothing)+ d+ | Just (w, x) <- unwrap d -> let (x', c) = go x in (wrap w x', c)+ | otherwise -> (d, Nothing)++-- | The lines a conditional was written on, from its @#if@ to its @#endif@.+conditionalSpan :: Conditional -> Maybe Span+conditionalSpan c = (\(from, to) -> mkSpan (from, 1) (to, 1)) <$> conditionalRange c++-- | The part of the module a region was written in: the innermost branch of+-- a conditional holding all of it, or 'Nothing' for the module itself.+--+-- A region is printed in exactly the configurations that take its branch,+-- so this is also which configurations it is in, and a comment written in+-- one branch goes only next to what that branch holds.+scopeIn :: [Conditional] -> Span -> Maybe (Int, Int)+scopeIn conditionals s =+ listToMaybe+ ( sortOn+ (Down . fst)+ [ (from, to)+ | ls <- fmap conditionalLines conditionals,+ (from, to) <- zip ls (drop 1 ls),+ from < spanStartLine s,+ spanEndLine s < to+ ]+ )++-- | Mark out every choice the merge made as the region of the input it was+-- printed from, and give every branch of it something to hold on to.+--+-- A choice's region is its conditionals, from the first @#if@ to the last+-- @#endif@, and anything else its alternatives print: a comment written+-- above the @#if@ goes before the whole choice, not into one alternative of+-- it. Every alternative also gets an anchor where its conditional opens, for+-- a comment written above the @#if@ when the alternatives print code from+-- above it too, and one where each branch closes, for a comment written in a+-- branch with nothing after it in that branch.+realized :: Doc -> Doc+realized = \case+ DCppChoice cs bs e ->+ let alternatives = unified (fmap realized (fmap snd bs <> [e]))+ bs' =+ [ (g, anchoredIn cs k d)+ | (k, (g, d)) <- zip [0 ..] (zip (fmap fst bs) alternatives)+ ]+ e' = anchoredIn cs (length bs) (maybe mempty snd (unsnoc alternatives))+ inner = DCppChoice cs bs' e'+ in maybe+ inner+ ((`DLocated` inner) . pastTheEnd)+ (foldMap conditionalSpan cs <> regionOf inner)+ d -> mapChildren realized d++-- | A span taken past the end of its last line.+pastTheEnd :: Span -> Span+pastTheEnd s = s{spanEndColumn = farRight}++-- | Space two conditionals that come one right after the other as the+-- author spaced them.+spacedApart :: Lines -> Doc -> Doc+spacedApart written = go+ where+ go = \case+ d@(DCat _ _) -> mconcat (apart (fmap go (spine d)))+ d -> mapChildren go d+ apart = \case+ x : rest+ | Just (_, to) <- ownLines x,+ (_ : _, y : rest') <- span onlySpacing rest,+ Just _ <- ownLines y ->+ x : (if blankAt (to + 1) written then blankLine else hardBreak) : apart (y : rest')+ x : rest -> x : apart rest+ [] -> []+ ownLines = \case+ DLocated s (DCppChoice cs _ _)+ | Just c <- foldMap conditionalSpan cs,+ spanStartLine c == spanStartLine s,+ spanEndLine c == spanEndLine s ->+ Just (spanStartLine s, spanEndLine s)+ _ -> Nothing++-- | Give the alternatives of a choice one span for every construct that+-- begins at the same place in more than one of them.+--+-- A choice that prints code written outside its conditionals prints it in+-- every alternative, and a construct with a conditional inside it can end+-- in a different place in each. It is one construct all the same, and a+-- comment written against it has to find it in every one of them.+unified :: [Doc] -> [Doc]+unified ds = fmap (rewrite Set.empty) ds+ where+ hulls =+ Map.filter+ ((> 1) . length)+ (Map.fromListWith (<>) [(startPoint' s, [s]) | d <- ds, s <- outermost d])+ rewrite seen = \case+ DLocated s x+ | Set.notMember (startPoint' s) seen,+ Just ss <- Map.lookup (startPoint' s) hulls ->+ DLocated (foldr (<>) s ss) (rewrite (Set.insert (startPoint' s) seen) x)+ | otherwise -> DLocated s (rewrite (Set.insert (startPoint' s) seen) x)+ d@DCppChoice{} -> d+ d -> mapChildren (rewrite seen) d+ outermost = go Set.empty+ where+ go seen = \case+ DLocated s x+ | Set.member (startPoint' s) seen -> go seen x+ | otherwise -> s : go (Set.insert (startPoint' s) seen) x+ DCppChoice{} -> []+ d -> foldChildren (go seen) d+ startPoint' s = (spanStartLine s, spanStartColumn s)++-- | Give one alternative of a choice its anchors.+anchoredIn ::+ -- | The conditionals the choice was printed from.+ [Conditional] ->+ -- | Which alternative this is.+ Int ->+ Doc ->+ Doc+anchoredIn cs k d = foldl' anchor d (filter (here . fst) (concatMap anchors cs))+ where+ anchor x (n, s) = placeAt (const False) Nothing n (DLocated s mempty) id x+ here n = case alternativeAt n cs of+ Everywhere -> True+ Only i -> i == k+ Nowhere -> False+ anchors c = case conditionalLines c of+ ls@(opening : _) ->+ (opening, mkSpan (opening, 1) (opening, 2))+ : [ (closing, mkSpan (closing - 1, farRight) (closing - 1, farRight))+ | (from, closing) <- take 1 (drop k (zip ls (drop 1 ls))),+ closing - 1 > from+ ]+ [] -> []++-- | A column past the end of any line, for an anchor that has to come after+-- everything written on its line.+farRight :: Int+farRight = maxBound `div` 2++-- | Every region a document records, and what it holds.+regionsIn :: Doc -> [(Span, Doc)]+regionsIn = \case+ DLocated s d -> (s, d) : regionsIn d+ DFence s d -> (s, d) : regionsIn d+ d -> foldChildren regionsIn d++-- | The smallest span covering every region a document records.+regionOf :: Doc -> Maybe Span+regionOf = \case+ DLocated s _ -> Just s+ DFence s _ -> Just s+ d -> foldChildren regionOf d++-- | Make sure a conditional is in the document, putting it where it was+-- written if the merge left it out.+restoreConditional :: Lines -> Doc -> GroupSpec -> Doc+restoreConditional written doc gs =+ placeAt realized' (Just written) opening shell id doc+ where+ realized' ctx = any (all (`elem` ctx)) (realizations c doc)+ c = gsConditional gs+ (opening, closing) = gsWhole gs+ guards = fmap guardText (gsGuards gs)+ shell =+ DCppChoice [c] [(g, mempty) | g <- guards] mempty+ <> includeWhen (blankAt (closing + 1) written) blankLine++-- | Put a directive back where it was written.+putDirective :: Lines -> Doc -> Directive -> Either CppError Doc+putDirective written doc d+ | quotedAt doc (dLine d) = Left (DirectiveInQuotedText (dLine d) (dKeyword d))+ | otherwise = Right (placeAt (const False) (Just written) (dLine d) body id doc)+ where+ body =+ DCppDirective (dSpan d) (dText d)+ <> includeWhen (any (`blankAt` written) [dLastLine d, dLastLine d + 1]) blankLine++-- | Put a line using a macro back where it was written, at the indentation+-- of the code around it, since what it stands for is code.+putMacroLine :: Lines -> Doc -> (Int, Text) -> Either CppError Doc+putMacroLine written doc (n, t)+ | quotedAt doc n = Left (MacroInQuotedText n t)+ | otherwise = Right (placeAt (const False) (Just written) n body indent doc)+ where+ body =+ DLocated (mkSpan (n, 1) (n, 1)) (DCloseLine <> DText t <> DCloseLine)+ <> includeWhen (blankAt (n + 1) written) blankLine++-- | Is this line inside something the document reproduces verbatim, such+-- as a quasi-quotation, where a line cannot be put back?+quotedAt :: Doc -> Int -> Bool+quotedAt doc n = any inside (regionsIn doc)+ where+ inside (s, x) = spanStartLine s < n && n <= spanEndLine s && reproduced x++ reproduced = \case+ DVerbatimBreak _ _ -> True+ DLocated{} -> False+ DFence{} -> False+ d -> getAny (foldChildren (Any . reproduced) d)++-- | Put a document at a line of the input, in every alternative that line+-- is printed in.+placeAt ::+ -- | Whether what is being put there is there already, for the+ -- configurations that take these alternatives.+ (Context -> Bool) ->+ -- | The module as written, to ask whether the author left an empty line+ -- above the line; without it the document goes after whatever space is+ -- there.+ Maybe Lines ->+ -- | The line.+ Int ->+ -- | What to put there.+ Doc ->+ -- | How to put it among the lines of something that begins above it, at+ -- that thing's own indentation.+ (Doc -> Doc) ->+ Doc ->+ Doc+placeAt present written n body continuing = among [] body+ where+ within ctx b d = case d of+ DNest 0 x -> DNest 0 (within ctx b x)+ DNest k x -> DNest k (within ctx body x)+ DAlign x -> DAlign (within ctx body x)+ DGroup l x -> DGroup l (within ctx b x)+ DVariant x y -> DVariant (within ctx b x) (within ctx b y)+ DLocated s x+ | spanStartLine s > n -> among ctx b d+ | DCppChoice{} <- x -> DLocated s (within ctx b x)+ | otherwise -> DLocated s (within ctx (continuing body) x)+ DFence s x -> DFence s (within ctx b x)+ DCppChoice cs bs e+ | present ctx -> d+ | otherwise -> case alternativeAt n cs of+ Everywhere ->+ DCppChoice+ cs+ [(g, among (ctx <> [(cs, k)]) b x) | (k, (g, x)) <- zip [0 ..] bs]+ (among (ctx <> [(cs, length bs)]) b e)+ Only k+ | k < length bs ->+ DCppChoice+ cs+ (replaced k (among (ctx <> [(cs, k)]) b (maybe mempty snd (listToMaybe (drop k bs)))) bs)+ e+ | otherwise -> DCppChoice cs bs (among (ctx <> [(cs, k)]) b e)+ Nowhere -> d+ _ -> among ctx b d++ among ctx b d+ | present ctx = d+ | otherwise = case break startsAfter (spine d) of+ (before, after)+ | Just (earlier, holder, spacing) <- lastBounded before,+ maybe False (>= n) (endOf holder) ->+ mconcat (earlier <> [within ctx b holder] <> spacing <> after)+ | (later, holder : rest) <- break holds after ->+ mconcat (before <> later <> [within ctx b holder] <> rest)+ | Just (printed, anchor, spacing) <- lastBounded before,+ Just from <- endOf anchor,+ Just ls <- written ->+ if any (`blankAt` ls) [from .. n - 1] || not (all onlySpacing spacing)+ then mconcat (before <> [includeWhen (blankAt (n - 1) ls) blankLine, b] <> after)+ else mconcat (printed <> [anchor, b] <> spacing <> after)+ | next : rest <- after,+ any (not . onlySpacing) (takeWhile unbounded (reverse before)) ->+ mconcat (before <> [within ctx b next] <> rest)+ | otherwise -> mconcat (before <> [b] <> after)++ holds = \case+ DLocated s _ -> spanStartLine s < n && n <= spanEndLine s+ _ -> False++ startsAfter = \case+ DLocated s _ | spanStartColumn s == farRight -> spanStartLine s >= n+ x -> maybe False (> n) (startOf x)++ lastBounded ds = case break (maybe False (const True) . boundsOf) (reverse ds) of+ (spacing, x : earlier) -> Just (reverse earlier, x, reverse spacing)+ _ -> Nothing++ replaced k x bs = [if i == k then (g, x) else (g, y) | (i, (g, y)) <- zip [0 :: Int ..] bs]++ unbounded = isNothing . boundsOf+ startOf = fmap fst . boundsOf+ endOf = fmap snd . boundsOf++-- | Which alternative of which choice, from the outside in: the+-- configurations a place in a document is printed in.+type Context = [([Conditional], Int)]++-- | Every place a choice printed from a conditional is, as the alternatives+-- leading to it.+realizations :: Conditional -> Doc -> [Context]+realizations c = go []+ where+ go ctx = \case+ DCppChoice cs bs e ->+ [ctx | c `elem` cs]+ <> concat [go (ctx <> [(cs, k)]) d | (k, d) <- zip [0 ..] (fmap snd bs <> [e])]+ d -> foldChildren (go ctx) d++-- | Which alternatives of a choice a line of the input is printed in.+data Alternatives+ = -- | Every one: the line is outside the conditionals.+ Everywhere+ | -- | The one its branch became.+ Only Int+ | -- | None: its branch is never taken.+ Nowhere++-- | Which alternatives of a choice printed from these conditionals a line+-- is printed in.+alternativeAt :: Int -> [Conditional] -> Alternatives+alternativeAt n cs = case branches of+ [] -> Everywhere+ k : ks+ | all (== k) ks -> Only k+ | otherwise -> Nowhere+ where+ branches =+ [ k+ | ls <- fmap conditionalLines cs,+ (k, (from, to)) <- zip [0 ..] (zip ls (drop 1 ls)),+ from < n,+ n < to+ ]++-- | The lines a document was printed from, first and last.+boundsOf :: Doc -> Maybe (Int, Int)+boundsOf = \case+ DLocated s _ -> Just (spanStartLine s, spanEndLine s)+ DFence s _ -> Just (spanStartLine s, spanEndLine s)+ DCppDirective s _ -> Just (spanStartLine s, spanEndLine s)+ DCppChoice cs bs e ->+ hull+ ( mapMaybe conditionalRange cs+ <> [b | Just b <- boundsOf e : fmap (boundsOf . snd) bs]+ )+ DCat a b -> case (boundsOf a, boundsOf b) of+ (Just (from, _), Just (_, to)) -> Just (from, to)+ (found, Nothing) -> found+ (Nothing, found) -> found+ DVariant _ b -> boundsOf b+ d -> boundsOf . snd =<< unwrap d+ where+ hull = \case+ [] -> Nothing+ bs -> Just (minimum (fmap fst bs), maximum (fmap snd bs))
@@ -1,25 +1,28 @@ {-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiWayIf #-} {-# LANGUAGE OverloadedStrings #-} -- | Showing what changed. module Tilia.Diff ( diff, diffInFull,+ Mark (..),+ editScript, ) where -import Data.Algorithm.Diff qualified as D+import Control.Monad.ST (ST, runST)+import Data.Array.ST (STUArray, newArray, readArray, writeArray)+import Data.Array.Unboxed (Array, UArray, listArray, (!))+import Data.Map.Strict qualified as Map import Data.Maybe (fromMaybe) import Data.Text (Text) import Data.Text qualified as T import Tilia.Palette (Color (..), Palette, paint) --- | One line of the comparison, with the number it has on each side.-data Line = Line !Mark !Int !Int !Text---- | The type of mark.+-- | What a line of the comparison does. data Mark = Context | Removed | Added- deriving (Eq)+ deriving (Eq, Show) -- | A unified diff of two texts. diff ::@@ -54,6 +57,9 @@ before = "a/" <> T.pack path after = "b/" <> T.pack path +-- | One line of the comparison, with the number it has on each side.+data Line = Line !Mark !Int !Int !Text+ -- | A unified diff, with whatever heading and limit the caller wants. unified :: Palette ->@@ -121,7 +127,7 @@ hunks = merge [(max 0 (i - margin), min (total - 1) (i + margin)) | i <- changed] changed = [i | (i, Line m _ _ _) <- zip [0 ..] lines', m /= Context] total = length lines'- lines' = tag (D.getGroupedDiff (split before) (split after))+ lines' = tag (split before) (split after) split = fmap withoutReturn . T.splitOn "\n" withoutReturn l = fromMaybe l (T.stripSuffix "\r" l) @@ -141,18 +147,140 @@ | otherwise -> (a, b) : merge ((c, d) : rest) xs -> xs --- | Number the lines of a grouped diff on both sides at once.-tag :: [D.Diff [Text]] -> [Line]-tag = go 1 1+-- | Number the lines of a comparison on both sides at once.+tag :: [Text] -> [Text] -> [Line]+tag xs ys = go 1 1 (editScript xs ys) where- go _ _ [] = []- go !b !a (d : ds) = case d of- D.Both xs _ ->- [Line Context (b + i) (a + i) x | (i, x) <- zip [0 ..] xs]- <> go (b + length xs) (a + length xs) ds- D.First xs ->- [Line Removed (b + i) a x | (i, x) <- zip [0 ..] xs]- <> go (b + length xs) a ds- D.Second xs ->- [Line Added b (a + i) x | (i, x) <- zip [0 ..] xs]- <> go b (a + length xs) ds+ before = listArray (1, length xs) xs :: Array Int Text+ after = listArray (1, length ys) ys :: Array Int Text+ go !b !a = \case+ [] -> []+ Context : ms -> Line Context b a (before ! b) : go (b + 1) (a + 1) ms+ Removed : ms -> Line Removed b a (before ! b) : go (b + 1) a ms+ Added : ms -> Line Added b a (after ! a) : go b (a + 1) ms++-- | A shortest edit script turning one sequence of lines into another, as+-- what each line of the comparison does, in order.+--+-- Myers' O(ND) algorithm in linear space: the middle of an edit script is+-- found by searching from both ends at once, and either side of it is+-- solved the same way.+editScript :: [Text] -> [Text] -> [Mark]+editScript xs ys = removalsFirst (go 0 n 0 m [])+ where+ n = length xs+ m = length ys+ (as, bs) = interned xs ys+ go aLo aHi bLo bHi rest+ | aLo < aHi,+ bLo < bHi,+ as ! aLo == bs ! bLo =+ Context : go (aLo + 1) aHi (bLo + 1) bHi rest+ | aLo < aHi,+ bLo < bHi,+ as ! (aHi - 1) == bs ! (bHi - 1) =+ go aLo (aHi - 1) bLo (bHi - 1) (Context : rest)+ | aLo == aHi = replicate (bHi - bLo) Added <> rest+ | bLo == bHi = replicate (aHi - aLo) Removed <> rest+ | Just (x, y) <- middle as bs (aLo, aHi) (bLo, bHi),+ (x, y) /= (aLo, bLo),+ (x, y) /= (aHi, bHi) =+ go aLo x bLo y (go x aHi y bHi rest)+ | otherwise = replicate (aHi - aLo) Removed <> replicate (bHi - bLo) Added <> rest++-- | Put the removals of every run of changes before its additions.+removalsFirst :: [Mark] -> [Mark]+removalsFirst = \case+ [] -> []+ Context : rest -> Context : removalsFirst rest+ marks ->+ let (changes, rest) = break (== Context) marks+ in filter (== Removed) changes <> filter (== Added) changes <> removalsFirst rest++-- | Both sequences of lines as numbers, equal where the lines are.+interned :: [Text] -> [Text] -> (UArray Int Int, UArray Int Int)+interned xs ys = (numbered xs, numbered ys)+ where+ numbers = Map.fromList (zip (xs <> ys) [0 ..])+ numbered ls = listArray (0, length ls - 1) (fmap (numbers Map.!) ls)++-- | A point that a shortest edit script between two ranges passes through,+-- found where the searches from their two ends meet, or 'Nothing' if they+-- do not.+--+-- The ranges are expected to differ at both ends.+middle ::+ UArray Int Int ->+ UArray Int Int ->+ (Int, Int) ->+ (Int, Int) ->+ Maybe (Int, Int)+middle as bs (aLo, aHi) (bLo, bHi) = runST $ do+ forth <- newArray (0, size - 1) (-1) :: ST s (STUArray s Int Int)+ back <- newArray (0, size - 1) (-1) :: ST s (STUArray s Int Int)+ writeArray forth (offset + 1) 0+ writeArray back (offset + 1) 0+ let rounds d fs fe bStart bEnd+ | d >= maxD = pure Nothing+ | otherwise =+ forwards d (fs - d) fs fe >>= \case+ Left found -> pure (Just found)+ Right (fs', fe') ->+ backwards d (bStart - d) bStart bEnd >>= \case+ Left found -> pure (Just found)+ Right (bStart', bEnd') -> rounds (d + 1) fs' fe' bStart' bEnd'+ forwards d k fs fe+ | k > d - fe = pure (Right (fs, fe))+ | otherwise = do+ x0 <- furthest forth d k+ let x = slide (\i j -> as ! (aLo + i) == bs ! (bLo + j)) x0 (x0 - k)+ y = x - k+ writeArray forth (offset + k) x+ if+ | x > n -> forwards d (k + 2) fs (fe + 2)+ | y > m -> forwards d (k + 2) (fs + 2) fe+ | odd delta -> do+ let o = offset + delta - k+ other <-+ if o >= 0 && o < size+ then readArray back o+ else pure (-1)+ if other /= -1 && x >= n - other+ then pure (Left (aLo + x, bLo + y))+ else forwards d (k + 2) fs fe+ | otherwise -> forwards d (k + 2) fs fe+ backwards d k bStart bEnd+ | k > d - bEnd = pure (Right (bStart, bEnd))+ | otherwise = do+ x0 <- furthest back d k+ let x = slide (\i j -> as ! (aHi - 1 - i) == bs ! (bHi - 1 - j)) x0 (x0 - k)+ y = x - k+ writeArray back (offset + k) x+ if+ | x > n -> backwards d (k + 2) bStart (bEnd + 2)+ | y > m -> backwards d (k + 2) (bStart + 2) bEnd+ | even delta -> do+ let o = offset + delta - k+ other <- if o >= 0 && o < size then readArray forth o else pure (-1)+ if other /= -1 && other >= n - x+ then pure (Left (aLo + other, bLo + other - (delta - k)))+ else backwards d (k + 2) bStart bEnd+ | otherwise -> backwards d (k + 2) bStart bEnd+ rounds 0 0 0 0 0+ where+ n = aHi - aLo+ m = bHi - bLo+ delta = n - m+ maxD = (n + m + 1) `div` 2+ offset = maxD+ size = 2 * maxD + 2+ slide same x y+ | x < n, y < m, same x y = slide same (x + 1) (y + 1)+ | otherwise = x+ furthest v d k = do+ below <- readArray v (offset + k - 1)+ above <- readArray v (offset + k + 1)+ pure $+ if k == -d || (k /= d && below < above)+ then above+ else below + 1
@@ -18,6 +18,8 @@ verbatimBreak, verbatim, emptyAnchor,+ insideBrackets,+ declarationsStart, -- * Layout Layout (..),@@ -26,6 +28,7 @@ broken, variant, located,+ unclaimed, fence, cppChoice, @@ -37,6 +40,7 @@ nest, indent, align,+ cppMarginNote, -- * Combining hsep,@@ -72,13 +76,16 @@ import Data.Text (Text) import Data.Text qualified as T import Tilia.Doc.Internal- ( Doc (..),+ ( Conditional (..),+ Doc (..), Layout (..), LineStart (..), TrailingWhitespace (..), groupLayout,+ mapChildren,+ printsNothing, )-import Tilia.Span (Span)+import Tilia.Span (Span, endOf) ---------------------------------------------------------------------------- -- Atoms@@ -135,6 +142,14 @@ emptyAnchor :: Span -> Doc emptyAnchor s = located s mempty +-- | Give the inside of a bracketed construct an anchor at its far end.+insideBrackets :: Maybe Span -> Doc -> Doc+insideBrackets here d = d <> foldMap (emptyAnchor . endOf) here++-- | Where a module's declarations begin, marked without printing anything.+declarationsStart :: Doc+declarationsStart = DDeclarationsStart+ ---------------------------------------------------------------------------- -- Layout @@ -171,6 +186,12 @@ located :: Span -> Doc -> Doc located = DLocated +-- | The same document, with no region in it for a comment to attach to.+unclaimed :: Doc -> Doc+unclaimed = \case+ DLocated _ d -> unclaimed d+ d -> mapChildren unclaimed d+ -- | Fence prevents comments inside from floating out and attaching to -- elements they are not supposed to attach to. fence :: Span -> Doc -> Doc@@ -178,30 +199,21 @@ -- | Alternatives the preprocessor chooses between. cppChoice ::+ -- | The conditionals of the input the alternatives were printed from.+ [Conditional] -> -- | One alternative per directive, each directive as written after its -- hash. [(Text, Doc)] -> -- | The else clause. Doc -> Doc-cppChoice branches fallback+cppChoice conditionals branches fallback | all (printsNothing . snd) branches && printsNothing fallback = DEmpty | otherwise = DCppChoice+ conditionals branches (if printsNothing fallback then DEmpty else fallback)- where- printsNothing = \case- DEmpty -> True- DCat a b -> printsNothing a && printsNothing b- DNest _ d -> printsNothing d- DAlign d -> printsNothing d- DGroup _ d -> printsNothing d- DLocated _ d -> printsNothing d- DFence _ d -> printsNothing d- DVariant flatD brokenD ->- printsNothing flatD && printsNothing brokenD- _ -> False ---------------------------------------------------------------------------- -- Attachment@@ -238,6 +250,11 @@ align :: Doc -> Doc align = DAlign +-- | Start the enclosed document's lines at the margin if they come out+-- right above a preprocessor directive.+cppMarginNote :: Doc -> Doc+cppMarginNote = DCppMarginNote+ ---------------------------------------------------------------------------- -- Combining @@ -257,11 +274,6 @@ -- then the place the line may break. joinedBy :: Text -> Doc joinedBy t = space <> txt t <> breakOrSpace---- | Append the separator to every element but the last.------ For the cases where the separator has to travel with the element rather--- than sit between elements, such as a trailing comma that must stay on the ---------------------------------------------------------------------------- -- Wrapping
@@ -5,6 +5,21 @@ module Tilia.Doc.Internal ( -- * Documents Doc (..),+ Spill (..),+ printsNothing,+ foldChildren,+ mapChildren,+ spine,+ spineAt,+ printedFrom,+ onlySpacing,+ onlyBreaks,+ Wrapper (..),+ unwrap,+ wrap,+ layoutInside,+ Conditional (..),+ conditionalRange, Layout (..), LineStart (..), TrailingWhitespace (..),@@ -17,10 +32,12 @@ ) where -import Data.Maybe (listToMaybe)+import Data.Char (isSpace)+import Data.List (unsnoc)+import Data.Maybe (listToMaybe, mapMaybe) import Data.Text (Text) import Data.Text qualified as T-import Tilia.Span (Span, isSingleLine)+import Tilia.Span (Span, isSingleLine, spanEndLine, spanStartLine) ---------------------------------------------------------------------------- -- Documents@@ -47,10 +64,14 @@ DHardBreak | -- | Text to be put at the end of the line this position falls on, -- however much of the line is still to be written.- DHoldBack !Text+ DHoldBack !Spill !Text | -- | Close the line, and let a break that immediately follows know that -- it has nothing left to do. DCloseLine+ | -- | Close the line, and leave an empty line under it if told to, unless+ -- it ends with an opening bracket, a bar or an equals sign, which what+ -- follows then shares.+ DCloseLineUnlessAfterOpener !Bool | -- | A line break between two lines of text that is being reproduced -- rather than laid out. DVerbatimBreak !LineStart !TrailingWhitespace@@ -62,6 +83,9 @@ | -- | Indent the enclosed document to whatever column the line has -- reached, so that it lines up under itself when broken. DAlign !Doc+ | -- | Start the enclosed document's lines at the margin if they come out+ -- right above a preprocessor directive.+ DCppMarginNote !Doc | -- | Lay the enclosed document out flat or broken. DGroup !Layout !Doc | -- | Choose between two documents according to the enclosing group: the@@ -87,15 +111,102 @@ | -- | Fence prevents comments inside from floating out and attaching to -- elements they are not supposed to attach to. DFence !Span !Doc- | -- | Alternatives the preprocessor chooses between, and the condition it- -- chooses on.- DCppChoice ![(Text, Doc)] !Doc+ | -- | Alternatives the preprocessor chooses between, the condition it+ -- chooses on, and the conditionals of the input they were printed from.+ DCppChoice ![Conditional] ![(Text, Doc)] !Doc | -- | A preprocessor line that is not a conditional, reproduced, and the -- region of the input it was written in. The span is included so that -- two directives can be told apart. DCppDirective !Span !Text+ | -- | Print nothing, marking where a module's declarations begin.+ DDeclarationsStart deriving (Eq, Show) +-- | Does this document put nothing at all on the page?+printsNothing :: Doc -> Bool+printsNothing = \case+ DEmpty -> True+ DDeclarationsStart -> True+ DCat a b -> printsNothing a && printsNothing b+ DNest _ d -> printsNothing d+ DAlign d -> printsNothing d+ DCppMarginNote d -> printsNothing d+ DGroup _ d -> printsNothing d+ DLocated _ d -> printsNothing d+ DFence _ d -> printsNothing d+ DVariant flatD brokenD -> printsNothing flatD && printsNothing brokenD+ _ -> False++-- | Combine what a function makes of each document directly inside this+-- one, a variant's broken layout standing for the variant.+foldChildren :: (Monoid m) => (Doc -> m) -> Doc -> m+foldChildren f = \case+ DCat a b -> f a <> f b+ DNest _ d -> f d+ DAlign d -> f d+ DCppMarginNote d -> f d+ DGroup _ d -> f d+ DVariant _ d -> f d+ DLocated _ d -> f d+ DFence _ d -> f d+ DCppChoice _ bs e -> foldr ((<>) . f . snd) (f e) bs+ _ -> mempty++-- | Rewrite the documents directly inside this one, both layouts of a+-- variant included.+mapChildren :: (Doc -> Doc) -> Doc -> Doc+mapChildren f = \case+ DCat a b -> f a <> f b+ DNest n d -> DNest n (f d)+ DAlign d -> DAlign (f d)+ DCppMarginNote d -> DCppMarginNote (f d)+ DGroup l d -> DGroup l (f d)+ DVariant a b -> DVariant (f a) (f b)+ DLocated s d -> DLocated s (f d)+ DFence s d -> DFence s (f d)+ DCppChoice cs bs e -> DCppChoice cs [(g, f d) | (g, d) <- bs] (f e)+ d -> d++-- | A document as the sequence of things it concatenates.+spine :: Doc -> [Doc]+spine = \case+ DEmpty -> []+ DCat a b -> spine a <> spine b+ d -> [d]++-- | 'spine', with the variants resolved the way this layout will print them.+spineAt :: Layout -> Doc -> [Doc]+spineAt layout = \case+ DEmpty -> []+ DCat a b -> spineAt layout a <> spineAt layout b+ DVariant flatD brokenD ->+ spineAt layout (case layout of Flat -> flatD; Broken -> brokenD)+ d -> [d]++-- | The lines of the input a document holds something printed from, as far+-- down as there is anything.+printedFrom :: Doc -> [(Int, Int)]+printedFrom = \case+ DLocated s x -> (spanStartLine s, spanEndLine s) : printedFrom x+ DFence s x -> (spanStartLine s, spanEndLine s) : printedFrom x+ d@(DCppChoice cs _ _) -> mapMaybe conditionalRange cs <> foldChildren printedFrom d+ d -> foldChildren printedFrom d++-- | Nothing but the whitespace that separates one thing from the next.+onlySpacing :: Doc -> Bool+onlySpacing d = d == DSpace || onlyBreaks d++-- | Nothing but what ends a line, in a broken group at least.+onlyBreaks :: Doc -> Bool+onlyBreaks = \case+ DEmpty -> True+ DBreak -> True+ DSoftBreak -> True+ DHardBreak -> True+ DCloseLine -> True+ DCloseLineUnlessAfterOpener _ -> True+ _ -> False+ instance Semigroup Doc where DEmpty <> b = b a <> DEmpty = a@@ -104,6 +215,62 @@ instance Monoid Doc where mempty = DEmpty +-- | A node holding exactly one document, less the document.+data Wrapper+ = WLocated !Span+ | WFence !Span+ | WNest !Int+ | WAlign+ | WCppMarginNote+ | WGroup !Layout+ deriving (Eq, Show)++-- | A document as the wrapper it is and the document it holds.+unwrap :: Doc -> Maybe (Wrapper, Doc)+unwrap = \case+ DLocated s d -> Just (WLocated s, d)+ DFence s d -> Just (WFence s, d)+ DNest n d -> Just (WNest n, d)+ DAlign d -> Just (WAlign, d)+ DCppMarginNote d -> Just (WCppMarginNote, d)+ DGroup l d -> Just (WGroup l, d)+ _ -> Nothing+{-# INLINE unwrap #-}++-- | Put a document in a wrapper.+wrap :: Wrapper -> Doc -> Doc+wrap = \case+ WLocated s -> DLocated s+ WFence s -> DFence s+ WNest n -> DNest n+ WAlign -> DAlign+ WCppMarginNote -> DCppMarginNote+ WGroup l -> DGroup l++-- | The layout inside a wrapper laid out like this.+layoutInside :: Layout -> Wrapper -> Layout+layoutInside layout = \case+ WGroup l -> l+ _ -> layout++-- | A conditional as its author wrote it.+data Conditional = Conditional+ { -- | The lines of its directives, the @#if@ first and the @#endif@ last.+ conditionalLines :: [Int],+ -- | What follows the keyword of its @#else@.+ conditionalElse :: Text,+ -- | What follows the keyword of its @#endif@.+ conditionalEndif :: Text+ }+ deriving (Eq, Ord, Show)++-- | The lines of a conditional's @#if@ and @#endif@.+conditionalRange :: Conditional -> Maybe (Int, Int)+conditionalRange c =+ (,) <$> listToMaybe ls <*> fmap snd (unsnoc ls)+ where+ ls = conditionalLines c+ -- | Whether a group is laid out on one line or across several. data Layout = Flat@@ -150,64 +317,130 @@ -- | What the engine carries while walking a document. data Env = Env- { envIndent :: !Int,+ { -- | The column a new line starts at.+ envIndent :: !Int,+ -- | The layout of the innermost group. envLayout :: !Layout,- envIndentStep :: !Int+ -- | Columns per indentation step.+ envIndentStep :: !Int,+ -- | Whether what is written now is a note, which goes to the margin+ -- right above a preprocessor directive.+ envNote :: !Bool } -- | Output built so far. ----- Lines are finished one at a time and never revisited, so the current line--- is kept as a reversed list of fragments and completed lines as a reversed--- list of lines.+-- Lines are finished one at a time and never revisited while the document+-- is walked. Whatever about a line depends on the lines around it is+-- settled only once they are all there, in 'finish'. data Out = Out { -- | Completed lines, most recent first.- outLines :: [Text],- -- | Fragments of the line being built, most recent first.+ outLines :: [Line],+ -- | The line being built, but for its body, which is put together from+ -- 'outCurrent' and 'outHeldBack' once it is finished.+ outLine :: !Line,+ -- | What has been written to the line being built after its+ -- indentation, most recent first. outCurrent :: [Text], -- | Column the current line has reached. outColumn :: !Int,- -- | Whether anything has been written to the current line. Indentation- -- is emitted lazily, when the first fragment arrives, so that a line- -- with nothing on it stays genuinely empty.- outStarted :: !Bool, -- | Fragments held back until the line ends, in the order they were -- given. The first goes at the end of the line; any after it get lines -- of their own under it.- outHeldBack :: ![Text],+ outHeldBack :: ![(Spill, Text)], -- | Whether the line was closed by something that already knew it was -- ending it, so that a break arriving now would add an empty line -- rather than end anything. outClosed :: !Bool } +-- | Where text held back for the end of a line goes when something was held+-- back for it first.+data Spill+ = -- | On a line of its own, at the indentation of the line it was held+ -- back for.+ SpillAtIndentation+ | -- | On a line of its own, lined up with what was held back before it.+ SpillUnderPrevious+ deriving (Eq, Show)++-- | A line, and what the engine knew about it as it wrote it.+data Line = Line+ { -- | The indentation it was started at.+ lineIndent :: !Int,+ -- | What it holds after its indentation.+ lineBody :: !Text,+ -- | Whether what it reproduces started it at the margin, whatever the+ -- indentation, and so keeps it there.+ linePinned :: !Bool,+ -- | Whether a note is all it holds.+ lineNote :: !Bool,+ -- | Whether it continues the line before it, as a space asked for before+ -- anything was on it says.+ lineContinues :: !Bool,+ -- | Its type if it is a preprocessor directive.+ lineDirective :: !(Maybe CppDirectiveType)+ }++-- | The type of a preprocessor directive.+data CppDirectiveType+ = -- | It opens a conditional.+ CppDirectiveOpens+ | -- | It begins another alternative of the conditional it is in.+ CppDirectiveContinues+ | -- | It closes a conditional.+ CppDirectiveCloses+ | -- | It is not a conditional at all.+ CppDirectiveOpaque++-- | A line with nothing on it and nothing known about it.+newLine :: Line+newLine =+ Line+ { lineIndent = 0,+ lineBody = "",+ linePinned = False,+ lineNote = False,+ lineContinues = False,+ lineDirective = Nothing+ }++-- | A line as it is printed.+lineText :: Line -> Text+lineText l+ | T.null (lineBody l) = ""+ | otherwise = T.replicate (lineIndent l) " " <> lineBody l+ emptyOut :: Out emptyOut = Out { outLines = [],+ outLine = newLine, outCurrent = [], outColumn = 0,- outStarted = False, outHeldBack = [], outClosed = False } -- | Turn a document into text. render :: RenderOptions -> Doc -> Text-render opts doc = finish (go env doc emptyOut)+render opts doc = finish (roIndentStep opts) (go env doc emptyOut) where env = Env { envIndent = 0, envLayout = Broken,- envIndentStep = roIndentStep opts+ envIndentStep = roIndentStep opts,+ envNote = False } -- | Walk a document, accumulating output. go :: Env -> Doc -> Out -> Out go env = \case DEmpty -> id- DText t -> putText (envIndent env) t+ DText t+ | T.null t -> id+ | otherwise -> putText (envIndent env) t . noting (envNote env) DSpace -> putSpace DBreak -> case envLayout env of Flat -> putSpace@@ -215,63 +448,99 @@ DSoftBreak -> case envLayout env of Flat -> id Broken -> breakLine (envIndent env)- DHoldBack t -> putHeldBack (envIndent env) t+ DHoldBack spill t -> putHeldBack (envIndent env) spill t . noting False DCloseLine -> closeLine (envIndent env)+ DCloseLineUnlessAfterOpener gap -> \out ->+ if endsWithOpener out+ then putSpace out+ else go env (gapped <> DCloseLine) out+ where+ gapped = if gap then DCloseLine <> DHardBreak <> DHardBreak else DEmpty DHardBreak -> breakLine (envIndent env)- DVerbatimBreak lineStart trailing -> verbatimBreakLine lineStart trailing+ DVerbatimBreak lineStart trailing -> verbatimBreakLine (envNote env) lineStart trailing DCat a b -> go env b . go env a DNest n d -> go env{envIndent = envIndent env + n * envIndentStep env} d DAlign d -> \out -> go env{envIndent = max (envIndent env) (outColumn out)} d out+ DCppMarginNote d -> \out ->+ go env{envNote = not (hasContent out)} d out DGroup l d -> go env{envLayout = l} d DVariant flatD brokenD -> case envLayout env of Flat -> go env flatD Broken -> go env brokenD DLocated _ d -> go env d DFence _ d -> go env d- DCppChoice branches fallback ->- foldr (flip (.)) id . concat $- [ [atMargin ("#" <> guard'), go env taken]- | (guard', taken) <- branches- ]- <> [[atMargin "#else", go env fallback] | fallback /= DEmpty]- <> [[atMargin "#endif"]]- DCppDirective _ t -> atMargin ("#" <> t)+ DCppChoice cs branches fallback ->+ let afterElse = foldMap conditionalElse (listToMaybe cs)+ afterEndif = foldMap conditionalEndif (listToMaybe cs)+ in foldr (flip (.)) id . concat $+ [ [directive type' ("#" <> guard'), go env taken]+ | (type', (guard', taken)) <- zip (CppDirectiveOpens : repeat CppDirectiveContinues) branches+ ]+ <> [ [directive CppDirectiveContinues ("#else" <> afterElse), go env fallback]+ | not (printsNothing fallback && T.null afterElse)+ ]+ <> [[directive CppDirectiveCloses ("#endif" <> afterEndif)]]+ DCppDirective _ t -> directive CppDirectiveOpaque ("#" <> t)+ DDeclarationsStart -> id --- | Put a line of text at the margin, on a line of its own.-atMargin :: Text -> Out -> Out-atMargin t = closeLine 0 . putText 0 t . closeLine 0+-- | Record whether the line holds nothing but a note, given whether what is+-- about to be written to it is one.+noting :: Bool -> Out -> Out+noting note out+ | note' == lineNote l = out+ | otherwise = out{outLine = l{lineNote = note'}}+ where+ l = outLine out+ note' = note && (not (started out) || lineNote l) --- | Append a fragment, emitting the line's indentation first if this is the+-- | Put a directive at the margin, on a line of its own, with no empty line+-- above one that ends a branch.+directive :: CppDirectiveType -> Text -> Out -> Out+directive type' t =+ closeLine 0 . typed . putText 0 t . endingBranch . closeLine 0+ where+ typed out =+ out{outLine = (outLine out){lineNote = False, lineDirective = Just type'}}+ endingBranch out = case type' of+ CppDirectiveContinues -> unspaced out+ CppDirectiveCloses -> unspaced out+ _ -> out+ unspaced out = out{outLines = dropWhile (T.null . lineBody) (outLines out)}++-- | Append a fragment, starting the line at the indentation if this is the -- first thing on it. putText :: Int -> Text -> Out -> Out putText indent t out0 | T.null t = out0- | outStarted out =+ | started out = out { outCurrent = t : outCurrent out, outColumn = outColumn out + T.length t } | otherwise = out- { outCurrent = [t, T.replicate indent " "],+ { outCurrent = [t], outColumn = indent + T.length t,- outStarted = True+ outLine = (outLine out){lineIndent = indent} } where out = out0{outClosed = False} -- | Hold a fragment back until the line ends.-putHeldBack :: Int -> Text -> Out -> Out-putHeldBack indent t out- | outStarted out || not (null (outHeldBack out)) =- out{outHeldBack = outHeldBack out <> [t], outClosed = False}+putHeldBack :: Int -> Spill -> Text -> Out -> Out+putHeldBack indent spill t out+ | started out || not (null (outHeldBack out)) =+ out{outHeldBack = outHeldBack out <> [(spill, t)], outClosed = False} | otherwise = closeLine indent (putText indent t out) -- | Append a space, unless the line has not started or already ends in one. putSpace :: Out -> Out putSpace out- | not (outStarted out) = out+ | not (started out) =+ if lineContinues (outLine out)+ then out+ else out{outLine = (outLine out){lineContinues = True}} | endsWithSpace out = out | otherwise = out@@ -292,16 +561,10 @@ Out -> Out breakLine indent out- | outClosed out = out{outClosed = False}- | atStart out = out- | not (hasContent out), repeatsBlank out || opensABlock indent out = discarded- | otherwise =- discarded- { outLines = overflow TrimWhitespace indent out <> outLines out- }- where- discarded =- out{outCurrent = [], outColumn = 0, outStarted = False, outHeldBack = []}+ | outClosed out = discontinued out{outClosed = False}+ | atStart out = discontinued out+ | not (hasContent out), repeatsBlank out || opensABlock indent out = fresh out+ | otherwise = completing TrimWhitespace indent out -- | Close the current line, if there is anything on it. --@@ -316,60 +579,106 @@ Out closeLine indent out | hasContent out = (breakLine indent out){outClosed = True}+ | otherwise = discontinued out++-- | Say that the current line does not continue the line before it.+discontinued :: Out -> Out+discontinued out+ | lineContinues (outLine out) = out{outLine = (outLine out){lineContinues = False}} | otherwise = out --- | Every line the break that has just happened produces.-overflow ::+-- | Begin a new line, leaving the one being built unfinished.+fresh :: Out -> Out+fresh out =+ out+ { outLine = newLine,+ outCurrent = [],+ outColumn = 0,+ outHeldBack = []+ }++-- | Finish the current line, with the held-back fragments that spill under+-- it, and begin a new one.+completing :: -- | What to do with whitespace the lines end in. TrailingWhitespace -> -- | Where the line after these would begin, used only if there is no line -- to take the indentation from. Int -> Out ->- [Text]-overflow trailing indent out = reverse (finished : fmap below spilled)+ Out+completing trailing indent out =+ fresh out{outLines = reverse (finished : spilledLines) <> outLines out} where- finished = currentLine trailing out+ finished = (outLine out){lineBody = currentLine trailing out} spilled = drop 1 (outHeldBack out)- below t = T.replicate column " " <> adjustTrailingWhitespace trailing t- column- | T.null finished = indent- | otherwise = T.length (T.takeWhile (== ' ') finished)+ spilledLines = zipWith below columns spilled+ columns = drop 1 (scanl columnFor firstColumn (fmap fst spilled))+ firstColumn =+ lineIndent finished+ + T.length (lineBody finished)+ - T.length (heldBackFirst trailing out)+ below column (_, t) =+ newLine+ { lineIndent = column,+ lineBody = adjustTrailingWhitespace trailing t+ }+ columnFor previous = \case+ SpillAtIndentation+ | T.null (lineBody finished) -> indent+ | otherwise -> lineIndent finished+ SpillUnderPrevious -> previous -- | Would an empty line here be the first thing inside a block? opensABlock :: Int -> Out -> Bool opensABlock indent out = case outLines out of- (l : _) -> T.length l <= indent+ (l : _) -> T.length (lineText l) <= indent [] -> False -- | Finish the current line between two lines of reproduced text.-verbatimBreakLine :: LineStart -> TrailingWhitespace -> Out -> Out-verbatimBreakLine lineStart trailing out =- out- { outLines = overflow trailing 0 out <> outLines out,- outCurrent = [],- outColumn = 0,- outStarted = lineStart == AtMargin,- outHeldBack = [],+verbatimBreakLine ::+ -- | Whether the next line is part of a note.+ Bool ->+ LineStart ->+ TrailingWhitespace ->+ Out ->+ Out+verbatimBreakLine note lineStart trailing out =+ (completing trailing 0 out)+ { outLine = newLine{linePinned = lineStart == AtMargin, lineNote = note}, outClosed = False } -- | Would this empty line be a second one in a row? repeatsBlank :: Out -> Bool repeatsBlank out = case outLines out of- ("" : _) -> True+ (l : _) -> T.null (lineBody l) _ -> False -- | Is the output still empty? atStart :: Out -> Bool atStart out = null (outLines out) && not (hasContent out) +-- | Has the current line begun, with something written to it or with what+-- it reproduces starting it at the margin?+started :: Out -> Bool+started out = not (null (outCurrent out)) || linePinned (outLine out)++-- | Does the current line end with an opening bracket, a bar or an equals+-- sign, with nothing held back for its end?+endsWithOpener :: Out -> Bool+endsWithOpener out =+ null (outHeldBack out)+ && case dropWhile (T.all isSpace) (outCurrent out) of+ t : _ -> T.strip t `elem` ["(", "(#", "=", "[", "{", "|"]+ [] -> False+ -- | Is there anything on the current line, written or held back? hasContent :: Out -> Bool-hasContent out = outStarted out || not (null (outHeldBack out))+hasContent out = started out || not (null (outHeldBack out)) --- | The current line: what was written to it, then whatever was held back--- for its end, with one space between them.+-- | What the current line holds: what was written to it, then whatever was+-- held back for its end, with one space between them. currentLine :: TrailingWhitespace -> Out -> Text currentLine trailingWhitespace out | T.null written = heldBack@@ -380,12 +689,16 @@ adjustTrailingWhitespace trailingWhitespace (T.concat (reverse (outCurrent out)))- heldBack =- maybe- ""- (adjustTrailingWhitespace trailingWhitespace)- (listToMaybe (outHeldBack out))+ heldBack = heldBackFirst trailingWhitespace out +-- | What was held back first for the end of the current line.+heldBackFirst :: TrailingWhitespace -> Out -> Text+heldBackFirst trailingWhitespace out =+ maybe+ ""+ (adjustTrailingWhitespace trailingWhitespace . snd)+ (listToMaybe (outHeldBack out))+ -- | Handle the given line according to the 'TrailingWhitespace' style. adjustTrailingWhitespace :: TrailingWhitespace -> Text -> Text adjustTrailingWhitespace = \case@@ -394,8 +707,57 @@ -- | Assemble the final text: one trailing newline, no blank lines at the -- end, no trailing whitespace anywhere.-finish :: Out -> Text-finish out =- case dropWhile T.null (outLines (breakLine 0 out)) of+finish ::+ -- | Columns per indentation step.+ Int ->+ Out ->+ Text+finish step out =+ case dropWhile (T.null . lineBody) (outLines (breakLine 0 out)) of [] -> ""- ls -> T.unlines (reverse ls)+ ls -> T.unlines (lineText <$> notesToMargin (continued step (reverse ls)))++-- | Indent each alternative of a conditional that continues the line before+-- the conditional further than that line.+continued ::+ -- | Columns per indentation step.+ Int ->+ [Line] ->+ [Line]+continued step = walk [] 0 False+ where+ walk frames previous pending = \case+ [] -> []+ l : ls -> case lineDirective l of+ Just CppDirectiveOpens -> l : walk ((previous, 0) : frames) 0 True ls+ Just CppDirectiveContinues -> l : walk (restarted frames) 0 True ls+ Just CppDirectiveCloses -> l : walk (drop 1 frames) 0 False ls+ Just CppDirectiveOpaque -> l : walk frames 0 False ls+ Nothing ->+ let frames' = if pending then settled frames l else frames+ l' = moved (sum (fmap snd frames')) l+ in l' : walk frames' (lineIndent l') False ls+ restarted = \case+ (before, _) : rest -> (before, 0) : rest+ [] -> []+ settled frames l = case frames of+ (before, _) : rest+ | lineContinues l,+ not (linePinned l),+ at <= before ->+ (before, before - at + step) : rest+ where+ at = lineIndent l + sum (fmap snd rest)+ _ -> frames+ moved n l+ | n == 0 || linePinned l || T.null (lineBody l) = l+ | otherwise = l{lineIndent = lineIndent l + n}++-- | Move every note right above a directive to the margin.+notesToMargin :: [Line] -> [Line]+notesToMargin = fst . foldr place ([], False)+ where+ place l (ls, above)+ | Just _ <- lineDirective l = (l : ls, True)+ | above, lineNote l = (l{lineIndent = 0} : ls, True)+ | otherwise = (l : ls, False)
@@ -0,0 +1,89 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE LambdaCase #-}++-- | Definitions to support editor integrations.+module Tilia.Editor+ ( editorSession,+ formatBuffer,+ )+where++import Data.Choice (Choice)+import Data.Maybe (mapMaybe)+import Data.Text (Text)+import Tilia.Cabal.Project (ProjectRoot (..), findProjectRoot)+import Tilia.Cabal.Target+ ( Target (Everything),+ componentInPlan,+ componentsOfTarget,+ )+import Tilia.Format+ ( FormatError,+ PlanSource (..),+ Session,+ newSession,+ sessionRoot,+ )+import Tilia.Ignore (isIgnoredInProject)+import Tilia.Run (Outcome (Unchanged), outcomeOf)++-- | Create a 'Session' for the project a file belongs to, with a plan that+-- covers every component of it.+editorSession ::+ -- | The file.+ FilePath ->+ -- | A build plan to trust as up to date rather than have Cabal solve one.+ Maybe FilePath ->+ -- | Whether to read from and write to the cache.+ Choice "useCache" ->+ -- | Whether to download sources that are missing.+ Choice "download" ->+ -- | Check AST equivalence.+ Choice "checkAst" ->+ -- | Check idempotence.+ Choice "checkIdempotence" ->+ -- | Record how fixities were settled, to be read with+ -- 'Tilia.Format.fixityNotesOf'.+ Choice "debugFixity" ->+ IO (Either FormatError Session)+editorSession+ file+ givenPlan+ caching+ downloading+ checkAst+ checkIdempotence+ debugFixity = do+ planSource <- case givenPlan of+ Just plan -> pure (GivenPlan plan)+ Nothing -> PlanFromCabal <$> components+ newSession+ file+ planSource+ caching+ downloading+ checkAst+ checkIdempotence+ debugFixity+ where+ components =+ findProjectRoot file >>= \case+ Nothing -> pure []+ Just root ->+ either (const []) (mapMaybe componentInPlan)+ <$> componentsOfTarget root Everything++-- | Format given text on the assumption it comes from the specified+-- 'FilePath'.+formatBuffer ::+ -- | The session.+ Session ->+ -- | The file.+ FilePath ->+ -- | The text to format.+ Text ->+ IO Outcome+formatBuffer session file before =+ isIgnoredInProject (prPath (sessionRoot session)) file >>= \case+ True -> pure Unchanged+ False -> outcomeOf session file before
@@ -59,14 +59,15 @@ import System.IO.Unsafe (unsafePerformIO) import Tilia.Comments ( Comment (..),- CommentStyle (..), Pragma (..),+ asOrdinary, commentPragma, commentTrailing,- escapeTrigger, triggerEscaped, ) import Tilia.Imports (normalizeImports)+import Tilia.Parser (ParsedModule (..))+import Tilia.Source (comments, sourceLines) import Tilia.Span (Span (..)) import Tilia.Span.Ghc (spanOf, spansOf) import Tilia.Utils (tshow)@@ -331,7 +332,7 @@ _ -> Nothing where normalised :: [LImportDecl GhcPs] -> [LImportDecl GhcPs]- normalised = normalizeImports (Is #implicitPrelude) [] []+ normalised = normalizeImports (Is #implicitPrelude) [] [] [] alongside before after | length before /= length after = Just (describe path "the module imports a different set of modules")@@ -406,8 +407,8 @@ <> name <> " does not expose its structure and is not one of the types this\ \ knows how to compare. Decide whether it carries meaning and add\- \ it to `opaque`, or to `alsoOnlyAboutPlacement` if it is a\- \ position."+ \ it to `opaque`, or to `alsoNotation` if it records only\+ \ punctuation, position or spelling." where by :: forall t. (Typeable t, Eq t) => Bool by = case (cast x, cast y) of@@ -438,13 +439,12 @@ -- documents has to become @-- | x@—so the text is not expected to survive, -- but the comment is. commentDifference ::- -- | The module each stream came from, which is asked only how far down its- -- header reaches.- (HsModule GhcPs, HsModule GhcPs) ->- [Comment] ->- [Comment] ->+ -- | The module as written.+ ParsedModule ->+ -- | The module as printed.+ ParsedModule -> Maybe Text-commentDifference (moduleBefore, moduleAfter) before0 after0+commentDifference parsedBefore parsedAfter | not (Set.null lost) = Just ("lost the pragma " <> pragmaList lost) | not (Set.null gained) = Just ("invented the pragma " <> pragmaList gained) | docsBefore /= docsAfter =@@ -459,8 +459,12 @@ (settled (withinHeader moduleBefore before)) (settled (withinHeader moduleAfter after)) where- before = escapedAndSplit before0- after = escapedAndSplit after0+ moduleBefore = pmModule parsedBefore+ moduleAfter = pmModule parsedAfter+ before = asRead parsedBefore+ after = asRead parsedAfter+ asRead m =+ concatMap (asOrdinary (sourceLines (pmSource m))) (comments (pmSource m)) belowHeader m = filter (not . inHeader m) . ordinary withinHeader m = filter (inHeader m) . ordinary@@ -470,20 +474,6 @@ Nothing -> False Just lastLine -> spanStartLine (commentSpan c) <= lastLine - escapedAndSplit = concatMap explode-- explode c = case commentStyle c of- DocComment- | "--" `T.isPrefixOf` NE.head (commentBody c) ->- [ c{commentBody = l :| [], commentCodeBeforeStopsAt = before'}- | (n, l) <- zip [0 :: Int ..] (NE.toList (body (escapeTrigger c))),- let before' =- if n == 0 then commentCodeBeforeStopsAt c else Nothing- ]- | otherwise -> [escapeTrigger c]- _ -> [c]- body = commentBody- lost = pragmasOf before `Set.difference` pragmasOf after gained = pragmasOf after `Set.difference` pragmasOf before docsBefore = length (documentation before)@@ -525,7 +515,11 @@ -- | A comment's lines, as they are compared. bodyKey :: Comment -> NonEmpty Text bodyKey c = case commentBody c of- (l :| []) -> T.stripStart l :| []+ (l :| []) -> case T.stripPrefix "--" stripped of+ Just rest -> "--" <> T.stripStart rest :| []+ Nothing -> stripped :| []+ where+ stripped = T.stripStart l ls -> ls -- | The last line the formatter may reorder: the end of the last import, or
@@ -10,6 +10,7 @@ Direction (..), Fixity (..), defaultFixity,+ spellFixity, -- * Module declarations declaredFixities,@@ -19,21 +20,20 @@ -- * Module exports ExportItem (..), moduleExports,- declaredChildren,- moduleChildren,+ declaredMembers,+ listedMembers, -- * Module imports Import (..), ImportItem (..), moduleImports,- mightBring,- surelyNames,- KnownModules (..),- noKnownModules,+ maySupply,+ certainlyBrings,+ decides, Namespace (..), Fixities, inBothNamespaces,- UnreadModule (..),+ Certain (..), ModuleChain (..), spellModuleChain, Scope (..),@@ -50,34 +50,50 @@ Unknown (..), operatorsUsed, unknownOperators,+ capturedUses, operatorSpelling, spellUnreadIn,+ spellDisagreement, + -- * Module summaries+ ModuleSummary (..),+ summarize,+ -- * What reading a module established Established (..),- Exported (..),- exportedNames,- asExported,+ unreadable,+ settlesEverything,+ unsettledThrough, ) where +import Control.DeepSeq (NFData)+import Data.Bifunctor (first)+import Data.Char (isUpper) import Data.Choice (Choice, isTrue) import Data.Foldable (toList) import Data.Generics.Schemes (listify)+import Data.List (nub, sortOn, tails) import Data.List.NonEmpty (NonEmpty ((:|)), nonEmpty)+import Data.List.NonEmpty qualified as NE import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map-import Data.Maybe (fromMaybe, mapMaybe)+import Data.Maybe (mapMaybe) import Data.Set (Set) import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T+import GHC.Generics (Generic) import GHC.Hs hiding (Fixity, OpName) import GHC.Types.Fixity qualified as GHC import GHC.Types.Name.Occurrence (occNameString) import GHC.Types.Name.Reader (RdrName (..), rdrNameOcc) import GHC.Types.SrcLoc (GenLocated (..), unLoc)+import Tilia.Gathered (Gathered (..)) import Tilia.Palette (Color (Place), Palette, paint)+import Tilia.Span (Span, covers)+import Tilia.Span.Ghc (spanOf)+import Tilia.Utils (collected, spellList) ---------------------------------------------------------------------------- -- Fixities@@ -85,23 +101,39 @@ -- | An operator, spelled as it appears in an @infix@ declaration: @<+>@, or -- @div@ for a function used infix in backticks. newtype OpName = OpName Text- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show, Generic) +instance NFData OpName+ -- | Which way an operator associates. data Direction = LeftAssoc | RightAssoc | NoAssoc- deriving (Eq, Show)+ deriving (Eq, Show, Generic) +instance NFData Direction+ -- | A fixity: how tightly an operator binds, and which way it associates. data Fixity = Fixity { fixityDirection :: Direction, fixityPrecedence :: Int }- deriving (Eq, Show)+ deriving (Eq, Show, Generic) +instance NFData Fixity+ -- | What an operator with no declaration in scope means: @infixl 9@. defaultFixity :: Fixity defaultFixity = Fixity LeftAssoc 9 +-- | A fixity, written the way it would be declared.+spellFixity :: Fixity -> Text+spellFixity (Fixity direction precedence) =+ which direction <> " " <> T.pack (show precedence)+ where+ which = \case+ LeftAssoc -> "infixl"+ RightAssoc -> "infixr"+ NoAssoc -> "infix"+ ---------------------------------------------------------------------------- -- Module declarations @@ -154,7 +186,7 @@ ValD _ b -> boundNames b SigD _ sig -> signedNames sig ForD _ f -> [opName (unLoc (fd_name f))]- TyClD _ d@DataDecl{} -> membersOf d+ TyClD _ d@DataDecl{} -> fmap snd (membersOf d) TyClD _ ClassDecl{tcdSigs} -> concatMap (classMethods . unLoc) tcdSigs _ -> [] @@ -165,18 +197,19 @@ ClassOpSig _ _ ns _ -> fmap (opName . unLoc) ns _ -> [] --- | The names a declaration carries under the name it declares: a data--- type's constructors and record fields, a class's methods and the--- families it keeps.+-- | The members of the type or class a declaration declares, by+-- namespace: a data type's constructors and record fields, a class's+-- methods and associated families. -- -- These are what @T(..)@ stands for, and each of them can carry a fixity of -- its own—@:|@ is a constructor and @infixr 5@ all the same.-membersOf :: TyClDecl GhcPs -> [OpName]+membersOf :: TyClDecl GhcPs -> [(Namespace, OpName)] membersOf = \case- DataDecl{tcdDataDefn} -> concatMap (fromCon . unLoc) (consOf (dd_cons tcdDataDefn))+ DataDecl{tcdDataDefn} ->+ fmap (InTerms,) (concatMap (fromCon . unLoc) (consOf (dd_cons tcdDataDefn))) ClassDecl{tcdSigs, tcdATs} ->- concatMap (classMethods . unLoc) tcdSigs- <> [opName (unLoc (fdLName (unLoc f))) | f <- tcdATs]+ fmap (InTerms,) (concatMap (classMethods . unLoc) tcdSigs)+ <> [(InTypes, opName (unLoc (fdLName (unLoc f)))) | f <- tcdATs] _ -> [] where consOf :: DataDefnCons (LConDecl GhcPs) -> [LConDecl GhcPs]@@ -226,27 +259,10 @@ -- declarations. This one is asked of an export list: a name a module -- exports and also defines needs no chasing, and one it merely reexports -- does.-declaredNames :: HsModule GhcPs -> Set OpName-declaredNames = Set.fromList . concatMap (fromDecl . unLoc) . hsmodDecls+declaredNames :: HsModule GhcPs -> Set (Namespace, OpName)+declaredNames hsModule = Set.map (InTypes,) types <> Set.map (InTerms,) terms where- fromDecl = \case- ValD _ b -> fromBind b- SigD _ sig -> fromSig sig- TyClD _ t -> fromTyCl t- ForD _ f -> [opName (unLoc (fd_name f))]- _ -> []-- fromBind = boundNames-- fromSig = \case- FixSig _ (FixitySig _ ns _) -> fmap (opName . unLoc) ns- sig -> signedNames sig-- fromTyCl = \case- FamDecl _ (FamilyDecl{fdLName}) -> [opName (unLoc fdLName)]- SynDecl{tcdLName} -> [opName (unLoc tcdLName)]- d@DataDecl{tcdLName} -> opName (unLoc tcdLName) : membersOf d- d@ClassDecl{tcdLName} -> opName (unLoc tcdLName) : membersOf d+ (types, terms) = declaredNamespaces hsModule -- | The names a binding brings into being. boundNames :: HsBind GhcPs -> [OpName]@@ -270,30 +286,35 @@ -- | One entry of a module's export list. data ExportItem- = -- | A name, which may or may not be declared in this module, under the- -- qualifier it was written with if it was written with one.- ExportName (Maybe Text) OpName+ = -- | A name, which may or may not be declared in this module, in the+ -- namespace the list writes it in, under the qualifier it was written+ -- with if it was written with one.+ ExportName Namespace (Maybe Text) OpName | -- | @T(..)@: the name, and with it whatever the module has to give -- under that name. Which names those are cannot be read off the list; -- it takes the declaration of @T@, or the module @T@ came from. ExportAll (Maybe Text) OpName+ | -- | @T(a, b)@: the name, and the members written out beside it.+ ExportSome (Maybe Text) OpName [OpName] | -- | @module M@, re-exporting everything that module brought in. ExportModule Text- deriving (Eq, Show)+ deriving (Eq, Show, Generic) +instance NFData ExportItem+ -- | A module's export list, or 'Nothing' if it has none. moduleExports :: HsModule GhcPs -> Maybe [ExportItem] moduleExports = fmap (concatMap (fromIE . unLoc) . unLoc) . hsmodExports where fromIE = \case- IEVar _ n _ -> [named n]- IEThingAbs _ n _ -> [named n]+ IEVar _ n _ -> [as (ExportName InTerms) n]+ IEThingAbs _ n _ -> [as (ExportName InTypes) n] IEThingAll _ n _ -> [as ExportAll n]- IEThingWith _ n _ ns _ -> named n : fmap named ns+ IEThingWith _ n _ ns _ ->+ [as ExportSome n (fmap (opName . ieWrappedName . unLoc) ns)] IEModuleContents _ m -> [ExportModule (T.pack (moduleNameString (unLoc m)))] _ -> []- named = as ExportName as item n = let rdr = ieWrappedName (unLoc n) in item (qualifierOf rdr) (opName rdr)@@ -304,9 +325,9 @@ Qual m _ -> Just (T.pack (moduleNameString m)) _ -> Nothing --- | What each type or class a module declares carries with it.-declaredChildren :: HsModule GhcPs -> Map OpName (Set OpName)-declaredChildren =+-- | The members of each type or class a module declares.+declaredMembers :: HsModule GhcPs -> Map OpName (Set (Namespace, OpName))+declaredMembers = Map.fromListWith Set.union . concatMap (fromDecl . unLoc) . hsmodDecls where fromDecl = \case@@ -315,16 +336,15 @@ _ -> [] entry name d = (opName (unLoc name), Set.fromList (membersOf d)) --- | What a module offers under each name, as its export list offers it.-moduleChildren :: HsModule GhcPs -> Map OpName (Set OpName)-moduleChildren hsModule = case hsmodExports hsModule of+-- | The members a module's export list offers with each name.+listedMembers :: HsModule GhcPs -> Map OpName (Set OpName)+listedMembers hsModule = case hsmodExports hsModule of Nothing -> declared Just items -> Map.fromListWith Set.union (concatMap (fromIE . unLoc) (unLoc items)) where- declared = declaredChildren hsModule+ declared = Map.map (Set.map snd) (declaredMembers hsModule) fromIE = \case- IEThingAll _ n _ ->- [(nameOf n, Map.findWithDefault Set.empty (nameOf n) declared)]+ IEThingAll _ n _ -> [(nameOf n, kids) | Just kids <- [Map.lookup (nameOf n) declared]] IEThingWith _ n _ ns _ -> [(nameOf n, Set.fromList (fmap nameOf ns))] _ -> [] nameOf = opName . ieWrappedName . unLoc@@ -349,28 +369,33 @@ -- what it brings in only once the module it comes from has been asked. importNames :: Maybe (Bool, [ImportItem]) }- deriving (Eq, Show)+ deriving (Eq, Show, Generic) +instance NFData Import+ -- | One entry of an import list. data ImportItem = -- | A plain name. ImportedName OpName- | -- | @T(..)@: the name, and everything the module offers under it.+ | -- | @T(..)@: the name, and every member the module offers with it. ImportedAll OpName | -- | @T(a, b)@: the name and the members written out beside it. ImportedSome OpName [OpName]- deriving (Eq, Show)+ deriving (Eq, Show, Generic) --- | The imports of a module.+instance NFData ImportItem++-- | The imports of a module, all its configurations taken together. moduleImports :: -- | Whether @ImplicitPrelude@ is on. Choice "implicitPrelude" ->- -- | Parsed module.- HsModule GhcPs ->+ -- | The module's configurations, parsed.+ NonEmpty (HsModule GhcPs) -> [Import]-moduleImports implicitPrelude hsModule = prelude <> written+moduleImports implicitPrelude configurations = prelude <> written where- written = fmap (fromDecl . unLoc) (hsmodImports hsModule)+ written =+ nub (fmap (fromDecl . unLoc) (sortOn spanOf (concatMap hsmodImports configurations))) prelude | not (isTrue implicitPrelude) = [] | any ((== "Prelude") . importModule) written = []@@ -407,75 +432,106 @@ nameOf :: LIEWrappedName GhcPs -> OpName nameOf = opName . ieWrappedName . unLoc --- | Could this list bring the operator in?-mightBring ::- -- | What each name in the list keeps under it, where that is known.+-- | Could this import bring the operator in, as far as its list says?+--+-- A @T(..)@ whose members are not known is taken to bring anything in, and+-- to hide nothing but @T@ itself.+mayBring ::+ -- | The members of each name in the list, where they are known. Map OpName (Set OpName) -> -- | The operator being looked for. OpName ->- -- | The entries of the import list.- [ImportItem] ->+ Import -> Bool-mightBring carries op = any $ \case- ImportedName n -> n == op- ImportedSome parent ns -> parent == op || op `elem` ns- ImportedAll parent -> maybe True (names parent) (Map.lookup parent carries)- where- names parent kids = parent == op || Set.member op kids+mayBring members op i = case importNames i of+ Nothing -> True+ Just (True, hidden) -> not (any (namedBy members False op) hidden)+ Just (False, shown) -> any (namedBy members True op) shown --- | Does this list certainly name the operator?-surelyNames ::- -- | What each name in the list keeps under it, where that is known.+-- | Does an item of an import list name the operator, taking a @T(..)@ whose+-- members are not known to name it or not as told?+namedBy ::+ -- | The members of each name in the list, where they are known. Map OpName (Set OpName) ->+ -- | What a @T(..)@ whose members are not known is taken to say.+ Bool -> -- | The operator being looked for. OpName ->- -- | The entries of the import list.- [ImportItem] ->+ ImportItem -> Bool-surelyNames carries op = any $ \case+namedBy members unknown op = \case ImportedName n -> n == op ImportedSome parent ns -> parent == op || op `elem` ns ImportedAll parent ->- maybe- (parent == op)- (names parent)- (Map.lookup parent carries)- where- names parent kids = parent == op || Set.member op kids+ parent == op || maybe unknown (Set.member op) (Map.lookup parent members) --- | What is known about the imported modules.-data KnownModules = KnownModules- { -- | The fixities a module exports, or 'Nothing' if that could not be- -- determined.- knownFixities :: Text -> Maybe Fixities,- -- | What a module keeps under each of its names, so that a @T(..)@ in- -- an import list can be told what it brings in.- knownChildren :: Text -> Map OpName (Set OpName),- -- | The operators a module's export list names, following what it- -- reexports. 'Nothing' where a module it hands on could not be read.- knownExportNames :: Text -> Maybe (Set OpName),- -- | The modules reading a module went through before giving up, the one- -- it gave up on last. Asked only about modules 'knownFixities' could- -- not answer for, and only so that a message can name the module that- -- is really in the way.- knownChain :: Text -> [Text]- }+-- | Could this import supply the operator to a use written under this+-- qualifier?+maySupply ::+ -- | The members of each name in the import's list, where they are+ -- known.+ Map OpName (Set OpName) ->+ -- | The qualifier written at the use site, if any.+ Maybe Text ->+ -- | The operator being looked for.+ OpName ->+ Import ->+ Bool+maySupply members qualifier op i =+ maybe (not (importQualified i)) (== importAlias i) qualifier+ && mayBring members op i --- | No known modules.-noKnownModules :: KnownModules-noKnownModules =- KnownModules- { knownFixities = const Nothing,- knownChildren = const Map.empty,- knownExportNames = const Nothing,- knownChain = const []- }+-- | Does this import bring the name in for certain, as far as its list says?+--+-- Where the list could leave the name out, it is taken to: a @T(..)@ whose+-- members are not known hides anything, and of what a list shows, only a+-- variable written on its own, a member written under its type, and a member+-- of a @T(..)@ whose members are known count.+certainlyBrings ::+ -- | The members of each name in the import's list, where they are+ -- known.+ Map OpName (Set OpName) ->+ -- | The name, and the namespace it is in.+ (Namespace, OpName) ->+ Import ->+ Bool+certainlyBrings members (namespace, op) i = case importNames i of+ Nothing -> True+ Just (True, hidden) -> not (any (namedBy members True op) hidden)+ Just (False, shown) -> namespace == InTerms && any listed shown+ where+ listed = \case+ ImportedName n -> n == op && isVariable op+ ImportedSome _ ns -> op `elem` ns+ ImportedAll parent -> maybe False (Set.member op) (Map.lookup parent members)+ isVariable (OpName t) = case T.uncons t of+ Just (c, _) -> not (isUpper c) && c /= ':'+ Nothing -> False +-- | Does this import decide the name's fixity, by certainly bringing it+-- in from a module that settles it?+--+-- If so, no other import can give a use of the name another fixity: it+-- either brings in the same thing or makes the use ambiguous.+decides ::+ -- | What reading the module imported established.+ Established ->+ -- | The name, and the namespace it is in.+ (Namespace, OpName) ->+ Import ->+ Bool+decides established name i =+ Set.member name (certainNames (establishedCertain established))+ && certainlyBrings (establishedMembers established) name i+ && null (unsettledThrough established name)+ -- | Which of Haskell's two namespaces an operator is written in. data Namespace = InTypes | InTerms- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show, Generic) --- | The fixities a module offers, by the namespace each is written in.+instance NFData Namespace++-- | The fixities a module offers. type Fixities = Map (Namespace, OpName) Fixity -- | Take fixities that say nothing about namespaces to govern both.@@ -487,23 +543,29 @@ namespace <- [InTypes, InTerms] ] --- | An import whose module could not be read, and what is known about it--- regardless.-data UnreadModule = UnreadModule- { -- | The import as written.- unreadImport :: Import,- -- | The operators its export list names, as 'knownExportNames' gives- -- them.- unreadExportNames :: Maybe (Set OpName),- -- | What it keeps under each of its names, as 'knownChildren' gives- -- them, for expanding a @T(..)@ in the import list.- unreadChildren :: Map OpName (Set OpName),- -- | The modules reading went through before giving up, as 'knownChain'- -- gives them.- unreadChain :: [Text]+-- | What a module certainly brings into scope for a module that imports+-- it whole.+data Certain = Certain+ { -- | Every name it certainly exports.+ certainNames :: Set (Namespace, OpName),+ -- | The members it certainly exports with each type or class.+ certainMembers :: Map OpName (Set (Namespace, OpName)) }- deriving (Eq, Show)+ deriving (Eq, Show, Generic) +instance NFData Certain++instance Semigroup Certain where+ a <> b =+ Certain+ { certainNames = certainNames a <> certainNames b,+ certainMembers =+ Map.unionWith Set.union (certainMembers a) (certainMembers b)+ }++instance Monoid Certain where+ mempty = Certain Set.empty Map.empty+ -- | An import that could not be read, and the way down to the module that -- actually stopped us. The head is the import as the file being formatted -- writes it, and the last name is where reading gave up.@@ -522,9 +584,9 @@ scopeInTypes :: Reach, -- | What is in scope for one written among terms. scopeInTerms :: Reach,- -- | The imports whose modules could not be read, and what is- -- nonetheless known about each.- scopeUnread :: [UnreadModule]+ -- | The imports whose modules leave the fixities of some names+ -- unsettled, each with what reading its module established.+ scopeUnsettled :: [(Import, Established)] } deriving (Eq, Show) @@ -535,10 +597,16 @@ -- | Reachable as @M.op@, keyed by the alias actually written—or by the -- module's own name, under which its own declarations are reachable. reachQualified :: Map (Text, OpName) (Fixity, Provenance),- -- | Operators the imports bring in with two different fixities, as they- -- would have to be written to run into it: without a qualifier, or- -- under the alias the disagreeing imports share.- reachAmbiguous :: [(Maybe Text, OpName)]+ -- | Operators the imports bring in with different fixities, as they+ -- would have to be written to run into it—without a qualifier, or under+ -- the alias the disagreeing imports share—with the module each import+ -- names and the fixity it brings.+ reachAmbiguous :: Map (Maybe Text, OpName) (NonEmpty (Text, Fixity)),+ -- | The uses a module that was read decides in this namespace, as they+ -- would be written: of a name the module defines itself, or one an import+ -- that was read certainly brings in, which no unread import can give+ -- another fixity.+ reachDecided :: Set (Maybe Text, OpName) } deriving (Eq, Show) @@ -553,81 +621,88 @@ resolveScope :: -- | Whether @ImplicitPrelude@ is on. Choice "implicitPrelude" ->- -- | What is known about the modules this one imports.- KnownModules ->- -- | Parsed module.- HsModule GhcPs ->+ -- | What reading each module this one imports established.+ (Text -> Established) ->+ -- | The module's configurations, parsed.+ NonEmpty (HsModule GhcPs) -> Scope-resolveScope implicitPrelude known hsModule =+resolveScope implicitPrelude known configurations = Scope { scopeInTypes = reachAmong InTypes, scopeInTerms = reachAmong InTerms,- scopeUnread = unread+ scopeUnsettled =+ [ (i, established)+ | i <- imports,+ let established = known (importModule i),+ not (settlesEverything established)+ ] } where- KnownModules{knownFixities = exportsOf, knownChildren, knownExportNames, knownChain} = known- exportNamesOf = knownExportNames- imports = moduleImports implicitPrelude hsModule- declared = declaredFixities hsModule+ imports = moduleImports implicitPrelude configurations+ declared = Map.unions (fmap declaredFixities configurations) reachAmong namespace = Reach- { reachUnqualified = Map.union own (Map.map fst unqualified),+ { reachUnqualified = Map.union own (Map.map settled unqualified), reachQualified = qualified, reachAmbiguous =- [(Nothing, op) | op <- Map.keys (Map.filter snd unqualified)]- <> [(Just alias, op) | (alias, op) <- Map.keys (Map.filter snd qualifiedFrom)]+ Map.union+ (Map.mapKeys (Nothing,) (Map.mapMaybe disagreeing unqualified))+ (Map.mapKeys (first Just) (Map.mapMaybe disagreeing qualifiedFrom)),+ reachDecided =+ Set.fromList $+ [ (qualifier, op)+ | c <- toList configurations,+ op <- Set.toList (inNamespace (declaredNamespaces c)),+ qualifier <- Nothing : fmap Just ownNames+ ]+ <> [ (qualifier, op)+ | i <- imports,+ let established = known (importModule i),+ name@(n, op) <- Set.toList (certainNames (establishedCertain established)),+ n == namespace,+ decides established name i,+ qualifier <- [Nothing | not (importQualified i)] <> [Just (importAlias i)]+ ] } where+ inNamespace = case namespace of+ InTypes -> fst+ InTerms -> snd+ ownNames = concatMap (toList . moduleName) configurations own = Map.map (,DeclaredHere) (fixitiesIn namespace declared)- offered m = fixitiesIn namespace <$> exportsOf m+ offered m = fixitiesIn namespace (establishedFixities (known m)) unqualified = Map.unionsWith- disagree- [ Map.map (,False) (visible offered i)+ (<>)+ [ visible offered i | i <- imports, not (importQualified i) ]- qualified = Map.union ownQualified (Map.map fst qualifiedFrom)+ qualified = Map.union ownQualified (Map.map settled qualifiedFrom) ownQualified = Map.fromList [ ((m, op), entry)- | m <- toList (moduleName hsModule),+ | m <- ownNames, (op, entry) <- Map.toList own ] qualifiedFrom = Map.unionsWith- disagree- [ Map.mapKeys (importAlias i,) (Map.map (,False) (visible offered i))+ (<>)+ [ Map.mapKeys (importAlias i,) (visible offered i) | i <- imports ] - unread =- [ UnreadModule- { unreadImport = i,- unreadExportNames = exportNamesOf (importModule i),- unreadChildren = knownChildren (importModule i),- unreadChain = knownChain (importModule i)- }- | i <- imports,- Nothing <- [exportsOf (importModule i)]- ]+ settled ((m, fixity) :| _) = (fixity, DeclaredIn m) - disagree (a, aBad) (b, bBad) = (a, aBad || bBad || fst a /= fst b)+ disagreeing offers@((_, fixity) :| _)+ | all ((== fixity) . snd) offers = Nothing+ | otherwise = Just (NE.nub offers) visible offered i =- let exported =- Map.map (,DeclaredIn (importModule i)) $- fromMaybe Map.empty (offered (importModule i))- carries = knownChildren (importModule i)- in case importNames i of- Nothing -> exported- Just (True, hidden) ->- Map.filterWithKey- (\op _ -> not (surelyNames carries op hidden))- exported- Just (False, shown) ->- Map.filterWithKey (\op _ -> mightBring carries op shown) exported+ Map.filterWithKey+ (\op _ -> mayBring (establishedMembers (known (importModule i))) op i)+ (Map.map (\fixity -> (importModule i, fixity) :| []) (offered (importModule i))) -- | The fixities in one namespace, by the operator alone. fixitiesIn :: Namespace -> Fixities -> Map OpName Fixity@@ -651,6 +726,8 @@ DeclaredHere | -- | An @infix@ declaration in the named imported module. DeclaredIn Text+ | -- | The language itself, as for @:@, whatever is in scope.+ BuiltIn | -- | No declaration exists anywhere in scope, and every module in scope -- was successfully consulted, so the Report's @infixl 9@ applies. ReportDefault@@ -679,7 +756,7 @@ lookupFixity scope namespace qualifier op = case fixityInScope scope namespace qualifier op of Just (_, (fixity, provenance)) -> Resolved fixity provenance- Nothing -> case nonEmpty (unreadThatMightDeclare scope qualifier op) of+ Nothing -> case nonEmpty (unreadThatMightDeclare scope namespace qualifier op) of Nothing -> Resolved defaultFixity ReportDefault Just missing -> Unresolved missing @@ -696,46 +773,55 @@ -- | The fixity and where it came from, under the namespace that supplied -- it. 'Nothing' where the scope has no answer. Maybe (Namespace, (Fixity, Provenance))-fixityInScope scope namespace qualifier op =- case mapMaybe found (namespace : promotedFrom namespace) of- (answer : _) -> Just answer- [] -> Nothing+fixityInScope scope namespace qualifier op+ | Just fixity <- Map.lookup op builtInSyntax =+ Just (namespace, (fixity, BuiltIn))+ | otherwise =+ case mapMaybe found (namespace : promotedFrom namespace) of+ (answer : _) -> Just answer+ [] -> Nothing where- promotedFrom = \case- InTypes -> [InTerms]- InTerms -> [] found n = (n,) <$> case qualifier of Nothing -> Map.lookup op (reachUnqualified (reachIn n scope)) Just q -> Map.lookup (q, op) (reachQualified (reachIn n scope)) +-- | The operators the language gives a fixity, rather than a declaration+-- anywhere: @:@ alone.+builtInSyntax :: Map OpName Fixity+builtInSyntax = Map.singleton (OpName ":") (Fixity RightAssoc 5)++-- | The namespaces a use written in this one may also refer to.+promotedFrom :: Namespace -> [Namespace]+promotedFrom = \case+ InTypes -> [InTerms]+ InTerms -> []+ -- | The unread imports that could have declared this operator. unreadThatMightDeclare :: -- | The scope. Scope ->+ -- | The namespace the operator is written in.+ Namespace -> -- | The qualifier written at the use site, if any. Maybe Text -> -- | Operator being resolved. OpName -> -- | The imports that could hold the answer, each down to the module that- -- actually stopped us.+ -- actually stopped us, and each module once. [ModuleChain]-unreadThatMightDeclare scope qualifier op =- [ ModuleChain (importModule (unreadImport u) :| unreadChain u)- | u <- scopeUnread scope,- reaches (unreadImport u),- brings u,- exports u- ]+unreadThatMightDeclare scope namespace qualifier op+ | null blamed = []+ | Set.member (qualifier, op) (reachDecided (reachIn namespace scope)) = []+ | otherwise = nub blamed where- exports u = maybe True (Set.member op) (unreadExportNames u)- reaches i = case qualifier of- Nothing -> not (importQualified i)- Just q -> q == importAlias i- brings u = case importNames (unreadImport u) of- Nothing -> True- Just (True, hidden) -> not (surelyNames (unreadChildren u) op hidden)- Just (False, shown) -> mightBring (unreadChildren u) op shown+ blamed =+ [ ModuleChain (importModule i :| chain)+ | (i, established) <- scopeUnsettled scope,+ maySupply (establishedMembers established) qualifier op i,+ n <- namespace : promotedFrom namespace,+ chain <- unsettledThrough established (n, op)+ ] ---------------------------------------------------------------------------- -- What could not be answered@@ -746,53 +832,128 @@ -- actually stopped us, and the declaration the answer depends on may be -- in any of them. NotRead (NonEmpty ModuleChain)- | -- | Two modules in scope bring it in with different fixities, so which- -- one applies cannot be read off the imports alone.- Ambiguous+ | -- | The imports in scope bring it in with different fixities, given as+ -- the module each import names and the fixity it brings, so which one+ -- applies cannot be read off the imports alone.+ Ambiguous (NonEmpty (Text, Fixity)) deriving (Eq, Show) --- | Every operator the module uses where its fixity decides the layout.+-- | Every operator the module uses where its fixity decides the layout and+-- the scope has to settle it, which is all of them but the uses+-- 'capturedUses' settles. -- -- Only these positions. An operator chain in an expression and one in a type -- are regrouped by precedence, so getting the precedence wrong changes what -- the code means. Everywhere else—a section, the left-hand side of a -- definition, an @infix@ declaration—the operator stands on its own and -- nothing is regrouped around it.-operatorsUsed :: HsModule GhcPs -> [(Namespace, (Maybe Text, OpName))]-operatorsUsed hsModule =+operatorsUsed :: Gathered -> [(Namespace, (Maybe Text, OpName))]+operatorsUsed found = fmap (named InTerms) inExpressions <> fmap (named InTypes) inTypes where+ captured = capturedUses found inExpressions = [ n- | e :: HsExpr GhcPs <- listify (const True) hsModule,- OpApp _ _ op _ <- [e],- HsVar _ (L _ n) <- [unLoc op]+ | OpApp _ _ op _ <- gatheredExpressions found,+ HsVar _ (L _ n) <- [unLoc op],+ maybe True (`Map.notMember` captured) (spanOf op) ] inTypes =- [ n- | t :: HsType GhcPs <- listify (const True) hsModule,- HsOpTy _ _ _ (L _ n) _ <- [t]- ]+ [n | HsOpTy _ _ _ (L _ n) _ <- gatheredTypes found] named namespace n = (namespace, (qualifierOf n, OpName (T.pack (occNameString (rdrNameOcc n))))) +-- | The uses of an operator in an expression that a local binding captures,+-- by where the operator is written, with the fixity the binding's group+-- declares for it, or @infixl 9@.+--+-- A use is captured where it falls within what a binder is in scope over,+-- which is read off spans: the right-hand sides and the @where@ of a match,+-- a @let@, the statements after a bind. Bindings that are in scope more+-- widely than that, as in @mdo@, are passed over, and so is a use that+-- bindings with different fixities could each capture.+capturedUses :: Gathered -> Map Span Fixity+capturedUses found =+ Map.fromList+ [ (s, fixity)+ | (s, name) <- uses,+ [fixity] <- [nub [f | (f, region) <- Map.findWithDefault [] name binders, covers region s]]+ ]+ where+ uses =+ [ (s, opName n)+ | OpApp _ _ op _ <- gatheredExpressions found,+ HsVar _ (L _ n@(Unqual _)) <- [unLoc op],+ Just s <- [spanOf op]+ ]+ binders =+ Map.fromListWith+ (<>)+ [ (name, [(f, region)])+ | (name, f, regions) <- concatMap fromMatch (gatheredMatches found) <> concatMap fromExpression (gatheredExpressions found),+ Set.member name used,+ Just region <- regions+ ]+ used = Set.fromList (fmap snd uses)++ fromMatch (Match _ _ (L _ pats) (GRHSs _ rhss binds)) =+ [ (name, f, fmap spanOf (toList rhss) <> bindingSpans binds)+ | (name, f) <- patternBinders pats <> localBinders binds+ ]+ <> concatMap guarded rhss+ fromExpression = \case+ HsLet _ binds body ->+ [(name, f, bindingSpans binds <> [spanOf body]) | (name, f) <- localBinders binds]+ HsDo _ _ (L _ stmts) -> inSequence stmts []+ HsMultiIf _ rhss -> concatMap guarded rhss+ _ -> []+ guarded (L _ (GRHS _ guards body)) = inSequence guards [spanOf body]++ inSequence stmts after =+ concat+ [ case unLoc stmt of+ BindStmt _ pat _ ->+ [(name, f, fmap spanOf later <> after) | (name, f) <- patternBinders [pat]]+ LetStmt _ binds ->+ [(name, f, fmap spanOf (stmt : later) <> after) | (name, f) <- localBinders binds]+ _ -> []+ | stmt : later <- tails stmts+ ]++ patternBinders pats =+ [(opName n, defaultFixity) | n <- collectPatsBinders CollNoDictBinders pats]+ localBinders binds =+ [ (opName n, Map.findWithDefault defaultFixity (opName n) declared)+ | let declared = localFixities binds,+ n <- collectLocalBinders CollNoDictBinders binds+ ]+ localFixities = \case+ HsValBinds _ (ValBinds _ _ sigs) ->+ Map.fromList+ [ (opName (unLoc n), fromGhcFixity fixity)+ | L _ (FixSig _ (FixitySig _ names fixity)) <- sigs,+ n <- names+ ]+ _ -> Map.empty+ bindingSpans = \case+ HsValBinds _ (ValBinds _ bs _) -> fmap spanOf bs+ _ -> []+ -- | The operators this module uses that the scope cannot settle, as the -- module writes them. -- -- Empty is the only acceptable answer: an operator whose fixity is not -- known cannot be laid out, only guessed at.-unknownOperators :: Scope -> HsModule GhcPs -> [((Maybe Text, OpName), Unknown)]-unknownOperators scope hsModule =- Map.toList (Map.fromList (mapMaybe unsettled (operatorsUsed hsModule)))+unknownOperators :: Scope -> NonEmpty Gathered -> [((Maybe Text, OpName), Unknown)]+unknownOperators scope found =+ Map.toList (Map.fromList (mapMaybe unsettled (concatMap operatorsUsed found))) where- ambiguous namespace = Set.fromList (reachAmbiguous (reachIn namespace scope)) unsettled (namespace, (qualifier, op)) = case fixityInScope scope namespace qualifier op of- Just (answering, _)- | Set.member (qualifier, op) (ambiguous answering) ->- Just ((qualifier, op), Ambiguous)- | otherwise -> Nothing- Nothing -> case nonEmpty (unreadThatMightDeclare scope qualifier op) of+ Just (answering, _) ->+ ((qualifier, op),) . Ambiguous+ <$> Map.lookup (qualifier, op) (reachAmbiguous (reachIn answering scope))+ Nothing -> case nonEmpty (unreadThatMightDeclare scope namespace qualifier op) of Just missing -> Just ((qualifier, op), NotRead missing) Nothing -> Nothing @@ -818,33 +979,126 @@ [_, _] -> "neither of which this run could read" _ -> "none of which this run could read" +-- | Spell out the fixities an ambiguous operator is brought in with, and the+-- modules that bring each.+spellDisagreement ::+ -- | Whether there is anybody there to see color.+ Palette ->+ -- | What each import brings, as 'Ambiguous' gives it.+ NonEmpty (Text, Fixity) ->+ Text+spellDisagreement palette offers =+ case fmap bringing (collected [(fixity, m) | (m, fixity) <- toList offers]) of+ [one, other] -> one <> " but " <> other+ each -> spellList each+ where+ bringing (fixity, ms) =+ spellFixity fixity <> " in " <> spellList (fmap (paint palette Place) ms)+ ----------------------------------------------------------------------------+-- Module summaries++-- | Summary of a module: raw facts (per CPP configuration) about a module+-- we read from source. This is built for both local modules and dependency+-- modules when they come from tarballs. This is an optimization+-- mechanism—we create a summary once and then share it during a run. For+-- local modules it is also persisted in the cache on disk.+data ModuleSummary = ModuleSummary+ { -- | The name it gives itself, if it gives one.+ summaryName :: Maybe Text,+ -- | Its export list, if it has one.+ summaryExports :: Maybe [ExportItem],+ -- | Its imports, an implicit Prelude among them.+ summaryImports :: [Import],+ -- | The fixities it declares.+ summaryFixities :: Fixities,+ -- | Every name it defines.+ summaryNames :: Set (Namespace, OpName),+ -- | The members of each type or class it declares.+ summaryDeclaredMembers :: Map OpName (Set (Namespace, OpName)),+ -- | The members its export list offers with each name.+ summaryListedMembers :: Map OpName (Set OpName)+ }+ deriving (Eq, Show, Generic)++instance NFData ModuleSummary++-- | Summarize a module.+summarize ::+ -- | Whether @ImplicitPrelude@ is on.+ Choice "implicitPrelude" ->+ -- | Parsed module.+ HsModule GhcPs ->+ -- | Module summary.+ ModuleSummary+summarize implicitPrelude hsModule =+ ModuleSummary+ { summaryName = moduleName hsModule,+ summaryExports = moduleExports hsModule,+ summaryImports = moduleImports implicitPrelude (pure hsModule),+ summaryFixities = declaredFixities hsModule,+ summaryNames = declaredNames hsModule,+ summaryDeclaredMembers = declaredMembers hsModule,+ summaryListedMembers = listedMembers hsModule+ }++---------------------------------------------------------------------------- -- What reading a module established --- | What reading a module established about its operators.-data Established- = -- | It was read, and declares these.- Declares Fixities- | -- | It could not be read. The expensive answer of the two, because- -- reaching it means exhausting every way of reading the module.- Unreadable (Maybe Text)- deriving (Eq, Show)+-- | What reading a module established about the names it exports.+data Established = Established+ { -- | The fixities declared for the names it exports, leaving out the ones+ -- 'establishedUnsettled' leaves unsettled.+ establishedFixities :: Fixities,+ -- | The names whose fixities could not be established, under the way+ -- down to the module where reading gave up, which is empty where that+ -- is this module.+ establishedUnsettled :: Map [Text] (Set (Namespace, OpName)),+ -- | The ways down through which it may export names that cannot be+ -- told, which leaves every name it does not certainly bring in+ -- unsettled.+ establishedUntold :: Set [Text],+ -- | What it certainly brings in for a module that imports it whole.+ establishedCertain :: Certain,+ -- | The members of each of its names, so that a @T(..)@ in an import+ -- list can be told what it brings in. Every type 'establishedCertain'+ -- gives members of is among them.+ establishedMembers :: Map OpName (Set OpName)+ }+ deriving (Eq, Show, Generic) --- | What reading a module established about its export list.-data Exported- = -- | The list names these, and they are all the module can supply.- Exports (Set OpName)- | -- | Nothing that can be enumerated: the list hands whole modules on, or- -- the source would not parse.- Untellable- deriving (Eq, Show)+instance NFData Established --- | What 'resolveScope' makes of it.-exportedNames :: Exported -> Maybe (Set OpName)-exportedNames = \case- Exports names -> Just names- Untellable -> Nothing+instance Semigroup Established where+ a <> b =+ Established+ { establishedFixities = Map.union (establishedFixities a) (establishedFixities b),+ establishedUnsettled =+ Map.unionWith Set.union (establishedUnsettled a) (establishedUnsettled b),+ establishedUntold = Set.union (establishedUntold a) (establishedUntold b),+ establishedCertain = establishedCertain a <> establishedCertain b,+ establishedMembers =+ Map.unionWith Set.union (establishedMembers a) (establishedMembers b)+ } --- | What to write down for an answer the reader worked out.-asExported :: Maybe (Set OpName) -> Exported-asExported = maybe Untellable Exports+instance Monoid Established where+ mempty = Established Map.empty Map.empty Set.empty mempty Map.empty++-- | What is established about a module that could not be read: nothing.+unreadable :: Established+unreadable = mempty{establishedUntold = Set.singleton []}++-- | Does reading a module settle the fixity of every name it exports?+settlesEverything :: Established -> Bool+settlesEverything established =+ Map.null (establishedUnsettled established) && Set.null (establishedUntold established)++-- | The ways down to a module that could not be read that leave the fixity+-- of a name unsettled.+unsettledThrough :: Established -> (Namespace, OpName) -> [[Text]]+unsettledThrough established name =+ [chain | (chain, names) <- Map.toList (establishedUnsettled established), Set.member name names]+ <> [ chain+ | Set.notMember name (certainNames (establishedCertain established)),+ chain <- Set.toList (establishedUntold established)+ ]
@@ -1,1182 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- | Fixities of the operators that ship with the compiler.------ Generated by @generate-builtin-fixities.py@ in the root of the--- repository, from GHC 9.14.1. Run that script again to update this table.-module Tilia.Fixity.Builtin- ( builtinFixities,- )-where--import Data.Map.Strict (Map)-import Data.Map.Strict qualified as Map-import Data.Text (Text)-import Tilia.Fixity---- | Every module the boot packages expose, with the operators it exports.-builtinFixities :: Map Text Fixities-builtinFixities =- Map.fromList- [ entry- "Control.Applicative"- [("*>", [InTerms], LeftAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<**>", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<|>", [InTerms], LeftAssoc, 3)],- entry "Control.Applicative.Backwards" [],- entry "Control.Applicative.Lift" [],- entry- "Control.Arrow"- [("&&&", [InTerms], RightAssoc, 3), ("***", [InTerms], RightAssoc, 3), ("+++", [InTerms], RightAssoc, 2), ("<+>", [InTerms], RightAssoc, 5), ("<<<", [InTerms], RightAssoc, 1), ("<<^", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1), (">>^", [InTerms], RightAssoc, 1), ("^<<", [InTerms], RightAssoc, 1), ("^>>", [InTerms], RightAssoc, 1), ("|||", [InTerms], RightAssoc, 2)],- entry- "Control.Category"- [(".", [InTerms], RightAssoc, 9), ("<<<", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1)],- entry "Control.Concurrent" [],- entry "Control.Concurrent.Chan" [],- entry "Control.Concurrent.MVar" [],- entry "Control.Concurrent.QSem" [],- entry "Control.Concurrent.QSemN" [],- entry "Control.Concurrent.STM" [],- entry "Control.Concurrent.STM.TArray" [],- entry "Control.Concurrent.STM.TBQueue" [],- entry "Control.Concurrent.STM.TChan" [],- entry "Control.Concurrent.STM.TMVar" [],- entry "Control.Concurrent.STM.TQueue" [],- entry "Control.Concurrent.STM.TSem" [],- entry "Control.Concurrent.STM.TVar" [],- entry- "Control.DeepSeq"- [("$!!", [InTerms], RightAssoc, 0), ("<$!!>", [InTerms], LeftAssoc, 4), ("deepseq", [InTerms], RightAssoc, 0)],- entry "Control.Exception" [],- entry "Control.Exception.Annotation" [],- entry "Control.Exception.Backtrace" [],- entry "Control.Exception.Base" [],- entry "Control.Exception.Context" [],- entry- "Control.Monad"- [("<$", [InTerms], LeftAssoc, 4), ("<$!>", [InTerms], LeftAssoc, 4), ("<=<", [InTerms], RightAssoc, 1), ("=<<", [InTerms], RightAssoc, 1), (">=>", [InTerms], RightAssoc, 1), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1)],- entry "Control.Monad.Accum" [],- entry "Control.Monad.Catch" [],- entry "Control.Monad.Catch.Pure" [],- entry "Control.Monad.Cont" [],- entry "Control.Monad.Cont.Class" [],- entry "Control.Monad.Error.Class" [],- entry "Control.Monad.Except" [],- entry "Control.Monad.Fail" [],- entry "Control.Monad.Fix" [],- entry "Control.Monad.IO.Class" [],- entry "Control.Monad.Identity" [],- entry- "Control.Monad.Instances"- [("<$", [InTerms], LeftAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1)],- entry "Control.Monad.RWS" [],- entry "Control.Monad.RWS.CPS" [],- entry "Control.Monad.RWS.Class" [],- entry "Control.Monad.RWS.Lazy" [],- entry "Control.Monad.RWS.Strict" [],- entry "Control.Monad.Reader" [],- entry "Control.Monad.Reader.Class" [],- entry "Control.Monad.ST" [],- entry "Control.Monad.ST.Lazy" [],- entry "Control.Monad.ST.Lazy.Safe" [],- entry "Control.Monad.ST.Lazy.Unsafe" [],- entry "Control.Monad.ST.Safe" [],- entry "Control.Monad.ST.Strict" [],- entry "Control.Monad.ST.Unsafe" [],- entry "Control.Monad.STM" [],- entry "Control.Monad.Select" [],- entry "Control.Monad.Signatures" [],- entry "Control.Monad.State" [],- entry "Control.Monad.State.Class" [],- entry "Control.Monad.State.Lazy" [],- entry "Control.Monad.State.Strict" [],- entry "Control.Monad.Trans" [],- entry "Control.Monad.Trans.Accum" [],- entry "Control.Monad.Trans.Class" [],- entry "Control.Monad.Trans.Cont" [],- entry "Control.Monad.Trans.Except" [],- entry "Control.Monad.Trans.Identity" [],- entry "Control.Monad.Trans.Maybe" [],- entry "Control.Monad.Trans.RWS" [],- entry "Control.Monad.Trans.RWS.CPS" [],- entry "Control.Monad.Trans.RWS.Lazy" [],- entry "Control.Monad.Trans.RWS.Strict" [],- entry "Control.Monad.Trans.Reader" [],- entry "Control.Monad.Trans.Select" [],- entry "Control.Monad.Trans.State" [],- entry "Control.Monad.Trans.State.Lazy" [],- entry "Control.Monad.Trans.State.Strict" [],- entry "Control.Monad.Trans.Writer" [],- entry "Control.Monad.Trans.Writer.CPS" [],- entry "Control.Monad.Trans.Writer.Lazy" [],- entry "Control.Monad.Trans.Writer.Strict" [],- entry "Control.Monad.Writer" [],- entry "Control.Monad.Writer.CPS" [],- entry "Control.Monad.Writer.Class" [],- entry "Control.Monad.Writer.Lazy" [],- entry "Control.Monad.Writer.Strict" [],- entry "Control.Monad.Zip" [],- entry- "Data.Array"- [("!", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],- entry- "Data.Array.Base"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],- entry "Data.Array.Byte" [],- entry- "Data.Array.IArray"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],- entry "Data.Array.IO" [],- entry "Data.Array.IO.Internals" [],- entry "Data.Array.IO.Safe" [],- entry "Data.Array.MArray" [],- entry "Data.Array.MArray.Safe" [],- entry "Data.Array.ST" [],- entry "Data.Array.ST.Safe" [],- entry "Data.Array.Storable" [],- entry "Data.Array.Storable.Internals" [],- entry "Data.Array.Storable.Safe" [],- entry- "Data.Array.Unboxed"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],- entry "Data.Array.Unsafe" [],- entry "Data.Bifoldable" [],- entry "Data.Bifoldable1" [],- entry "Data.Bifunctor" [],- entry "Data.Binary" [],- entry "Data.Binary.Builder" [],- entry "Data.Binary.Get" [],- entry "Data.Binary.Get.Internal" [],- entry "Data.Binary.Put" [],- entry "Data.Bitraversable" [],- entry- "Data.Bits"- [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],- entry- "Data.Bool"- [("&&", [InTerms], RightAssoc, 3), ("||", [InTerms], RightAssoc, 2)],- entry "Data.Bounded" [],- entry- "Data.ByteString"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry "Data.ByteString.Builder" [],- entry "Data.ByteString.Builder.Extra" [],- entry "Data.ByteString.Builder.Internal" [],- entry- "Data.ByteString.Builder.Prim"- [(">$<", [InTerms], LeftAssoc, 4), (">*<", [InTerms], RightAssoc, 5)],- entry- "Data.ByteString.Builder.Prim.Internal"- [(">$<", [InTerms], LeftAssoc, 4), (">*<", [InTerms], RightAssoc, 5)],- entry "Data.ByteString.Builder.RealFloat" [],- entry- "Data.ByteString.Char8"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry "Data.ByteString.Internal" [],- entry- "Data.ByteString.Lazy"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("cons'", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry- "Data.ByteString.Lazy.Char8"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("cons'", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry "Data.ByteString.Lazy.Internal" [],- entry- "Data.ByteString.Short"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry- "Data.ByteString.Short.Internal"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry "Data.ByteString.Unsafe" [],- entry "Data.Char" [],- entry "Data.Coerce" [],- entry- "Data.Complex"- [(":+", [InTerms], NoAssoc, 6)],- entry "Data.Containers.ListUtils" [],- entry- "Data.Data"- [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],- entry "Data.Dynamic" [],- entry "Data.Either" [],- entry "Data.Enum" [],- entry- "Data.Eq"- [("/=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4)],- entry "Data.Fixed" [],- entry- "Data.Foldable"- [("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry "Data.Foldable1" [],- entry- "Data.Function"- [("$", [InTerms], RightAssoc, 0), ("&", [InTerms], LeftAssoc, 1), (".", [InTerms], RightAssoc, 9), ("on", [InTerms], LeftAssoc, 0)],- entry- "Data.Functor"- [("$>", [InTerms], LeftAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<&>", [InTerms], LeftAssoc, 1)],- entry "Data.Functor.Classes" [],- entry- "Data.Functor.Compose"- [("Compose", [InTypes, InTerms], RightAssoc, 9)],- entry "Data.Functor.Const" [],- entry "Data.Functor.Constant" [],- entry- "Data.Functor.Contravariant"- [("$<", [InTerms], LeftAssoc, 4), (">$", [InTerms], LeftAssoc, 4), (">$$<", [InTerms], LeftAssoc, 4), (">$<", [InTerms], LeftAssoc, 4)],- entry "Data.Functor.Identity" [],- entry "Data.Functor.Product" [],- entry "Data.Functor.Reverse" [],- entry "Data.Functor.Sum" [],- entry "Data.Graph" [],- entry "Data.IORef" [],- entry "Data.Int" [],- entry- "Data.IntMap"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry- "Data.IntMap.Internal"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry "Data.IntMap.Internal.Debug" [],- entry- "Data.IntMap.Lazy"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry "Data.IntMap.Merge.Lazy" [],- entry "Data.IntMap.Merge.Strict" [],- entry- "Data.IntMap.Strict"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry- "Data.IntMap.Strict.Internal"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry- "Data.IntSet"- [("\\\\", [InTerms], LeftAssoc, 9)],- entry- "Data.IntSet.Internal"- [("\\\\", [InTerms], LeftAssoc, 9)],- entry "Data.IntSet.Internal.IntTreeCommons" [],- entry "Data.Ix" [],- entry "Data.Kind" [],- entry- "Data.List"- [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry- "Data.List.NonEmpty"- [("!!", [InTerms], LeftAssoc, 9), (":|", [InTypes, InTerms], RightAssoc, 5), ("<|", [InTerms], RightAssoc, 5)],- entry- "Data.Map"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry- "Data.Map.Internal"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry "Data.Map.Internal.Debug" [],- entry- "Data.Map.Lazy"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry "Data.Map.Merge.Lazy" [],- entry "Data.Map.Merge.Strict" [],- entry- "Data.Map.Strict"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry- "Data.Map.Strict.Internal"- [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],- entry "Data.Maybe" [],- entry- "Data.Monoid"- [("<>", [InTerms], RightAssoc, 6)],- entry- "Data.Ord"- [("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4)],- entry "Data.Proxy" [],- entry- "Data.Ratio"- [("%", [InTerms], LeftAssoc, 7)],- entry "Data.STRef" [],- entry "Data.STRef.Lazy" [],- entry "Data.STRef.Strict" [],- entry- "Data.Semigroup"- [("<>", [InTerms], RightAssoc, 6)],- entry- "Data.Sequence"- [("!?", [InTerms], LeftAssoc, 9), (":<", [InTerms], RightAssoc, 5), (":<|", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), (":|>", [InTerms], LeftAssoc, 5), ("<|", [InTerms], RightAssoc, 5), ("><", [InTerms], RightAssoc, 5), ("|>", [InTerms], LeftAssoc, 5)],- entry- "Data.Sequence.Internal"- [("!?", [InTerms], LeftAssoc, 9), (":<", [InTerms], RightAssoc, 5), (":<|", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), (":|>", [InTerms], LeftAssoc, 5), ("<|", [InTerms], RightAssoc, 5), ("><", [InTerms], RightAssoc, 5), ("|>", [InTerms], LeftAssoc, 5)],- entry- "Data.Sequence.Internal.Sorting"- [("IQCons", [InTypes, InTerms], RightAssoc, 8), ("ITQCons", [InTypes, InTerms], RightAssoc, 8), ("QCons", [InTerms], RightAssoc, 8), ("TQCons", [InTypes, InTerms], RightAssoc, 8)],- entry- "Data.Set"- [("\\\\", [InTerms], LeftAssoc, 9)],- entry- "Data.Set.Internal"- [("\\\\", [InTerms], LeftAssoc, 9)],- entry "Data.String" [],- entry- "Data.Text"- [(":<", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), ("cons", [InTerms], RightAssoc, 5)],- entry "Data.Text.Array" [],- entry "Data.Text.Encoding" [],- entry "Data.Text.Encoding.Error" [],- entry "Data.Text.Foreign" [],- entry "Data.Text.IO" [],- entry "Data.Text.IO.Utf8" [],- entry- "Data.Text.Internal"- [("mul", [InTerms], LeftAssoc, 7), ("mul32", [InTerms], LeftAssoc, 7), ("mul64", [InTerms], LeftAssoc, 7)],- entry "Data.Text.Internal.ArrayUtils" [],- entry "Data.Text.Internal.Builder" [],- entry- "Data.Text.Internal.Builder.Functions"- [("<>", [InTerms], RightAssoc, 4)],- entry "Data.Text.Internal.Builder.Int.Digits" [],- entry "Data.Text.Internal.Builder.RealFloat.Functions" [],- entry "Data.Text.Internal.ByteStringCompat" [],- entry "Data.Text.Internal.Encoding" [],- entry "Data.Text.Internal.Encoding.Fusion" [],- entry "Data.Text.Internal.Encoding.Fusion.Common" [],- entry "Data.Text.Internal.Encoding.Utf16" [],- entry "Data.Text.Internal.Encoding.Utf32" [],- entry "Data.Text.Internal.Encoding.Utf8" [],- entry "Data.Text.Internal.Fusion" [],- entry "Data.Text.Internal.Fusion.CaseMapping" [],- entry "Data.Text.Internal.Fusion.Common" [],- entry "Data.Text.Internal.Fusion.Size" [],- entry- "Data.Text.Internal.Fusion.Types"- [(":*:", [InTerms], LeftAssoc, 2)],- entry "Data.Text.Internal.IO" [],- entry "Data.Text.Internal.Lazy" [],- entry "Data.Text.Internal.Lazy.Encoding.Fusion" [],- entry "Data.Text.Internal.Lazy.Fusion" [],- entry "Data.Text.Internal.Lazy.Search" [],- entry "Data.Text.Internal.PrimCompat" [],- entry "Data.Text.Internal.Private" [],- entry "Data.Text.Internal.Read" [],- entry "Data.Text.Internal.Search" [],- entry "Data.Text.Internal.StrictBuilder" [],- entry "Data.Text.Internal.Unsafe" [],- entry "Data.Text.Internal.Unsafe.Char" [],- entry "Data.Text.Internal.Validate" [],- entry "Data.Text.Internal.Validate.Native" [],- entry- "Data.Text.Lazy"- [(":<", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), ("cons", [InTerms], RightAssoc, 5)],- entry "Data.Text.Lazy.Builder" [],- entry "Data.Text.Lazy.Builder.Int" [],- entry "Data.Text.Lazy.Builder.RealFloat" [],- entry "Data.Text.Lazy.Encoding" [],- entry "Data.Text.Lazy.IO" [],- entry "Data.Text.Lazy.Internal" [],- entry "Data.Text.Lazy.Read" [],- entry "Data.Text.Read" [],- entry "Data.Text.Unsafe" [],- entry "Data.Time" [],- entry "Data.Time.Calendar" [],- entry "Data.Time.Calendar.Easter" [],- entry "Data.Time.Calendar.Julian" [],- entry "Data.Time.Calendar.Month" [],- entry "Data.Time.Calendar.MonthDay" [],- entry "Data.Time.Calendar.OrdinalDate" [],- entry "Data.Time.Calendar.Quarter" [],- entry "Data.Time.Calendar.WeekDate" [],- entry "Data.Time.Clock" [],- entry "Data.Time.Clock.POSIX" [],- entry "Data.Time.Clock.System" [],- entry "Data.Time.Clock.TAI" [],- entry "Data.Time.Format" [],- entry "Data.Time.Format.ISO8601" [],- entry "Data.Time.LocalTime" [],- entry "Data.Traversable" [],- entry "Data.Tree" [],- entry "Data.Tuple" [],- entry- "Data.Type.Bool"- [("&&", [InTypes], RightAssoc, 3), ("||", [InTypes], RightAssoc, 2)],- entry "Data.Type.Coercion" [],- entry- "Data.Type.Equality"- [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4), ("==", [InTypes], NoAssoc, 4), ("~~", [InTypes], NoAssoc, 4)],- entry- "Data.Type.Ord"- [("<", [InTypes], NoAssoc, 4), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("<?", [InTypes], NoAssoc, 4), (">", [InTypes], NoAssoc, 4), (">=", [InTypes], NoAssoc, 4), (">=?", [InTypes], NoAssoc, 4), (">?", [InTypes], NoAssoc, 4)],- entry- "Data.Typeable"- [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],- entry "Data.Unique" [],- entry "Data.Version" [],- entry "Data.Void" [],- entry "Data.Word" [],- entry "Debug.Trace" [],- entry- "Foreign"- [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],- entry "Foreign.C" [],- entry "Foreign.C.ConstPtr" [],- entry "Foreign.C.Error" [],- entry "Foreign.C.String" [],- entry "Foreign.C.Types" [],- entry "Foreign.Concurrent" [],- entry "Foreign.ForeignPtr" [],- entry "Foreign.ForeignPtr.Safe" [],- entry "Foreign.ForeignPtr.Unsafe" [],- entry "Foreign.Marshal" [],- entry "Foreign.Marshal.Alloc" [],- entry "Foreign.Marshal.Array" [],- entry "Foreign.Marshal.Error" [],- entry "Foreign.Marshal.Pool" [],- entry "Foreign.Marshal.Safe" [],- entry "Foreign.Marshal.Unsafe" [],- entry "Foreign.Marshal.Utils" [],- entry "Foreign.Ptr" [],- entry- "Foreign.Safe"- [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],- entry "Foreign.StablePtr" [],- entry "Foreign.Storable" [],- entry- "GHC.Arr"- [("!", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],- entry "GHC.ArrayArray" [],- entry- "GHC.Base"- [("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("*>", [InTerms], LeftAssoc, 4), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), ("/##", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), (":|", [InTypes, InTerms], RightAssoc, 5), ("<", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<**>", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("<>", [InTerms], RightAssoc, 6), ("<|>", [InTerms], LeftAssoc, 3), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2), ("~~", [InTypes], NoAssoc, 4)],- entry- "GHC.Bits"- [(".&.", [InTerms], LeftAssoc, 7), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],- entry "GHC.Boot.TH.Lib" [],- entry "GHC.Boot.TH.Lib.Map" [],- entry "GHC.Boot.TH.Lift" [],- entry "GHC.Boot.TH.Ppr" [],- entry- "GHC.Boot.TH.PprLib"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry "GHC.Boot.TH.Quote" [],- entry "GHC.Boot.TH.Syntax" [],- entry "GHC.ByteOrder" [],- entry "GHC.CString" [],- entry "GHC.Char" [],- entry- "GHC.Classes"- [("&&", [InTerms], RightAssoc, 3), ("/=", [InTerms], NoAssoc, 4), ("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), ("||", [InTerms], RightAssoc, 2)],- entry "GHC.Clock" [],- entry- "GHC.Conc"- [("par", [InTerms], RightAssoc, 0), ("pseq", [InTerms], RightAssoc, 0)],- entry "GHC.Conc.IO" [],- entry "GHC.Conc.Signal" [],- entry- "GHC.Conc.Sync"- [("par", [InTerms], RightAssoc, 0), ("pseq", [InTerms], RightAssoc, 0)],- entry "GHC.ConsoleHandler" [],- entry "GHC.Constants" [],- entry "GHC.Debug" [],- entry- "GHC.Desugar"- [(">>>", [InTerms], LeftAssoc, 9)],- entry "GHC.Encoding.UTF8" [],- entry "GHC.Enum" [],- entry "GHC.Environment" [],- entry "GHC.Err" [],- entry "GHC.Event" [],- entry "GHC.Event.TimeOut" [],- entry "GHC.Exception" [],- entry "GHC.Exception.Type" [],- entry "GHC.ExecutionStack" [],- entry- "GHC.Exts"- [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0), ("~~", [InTypes], NoAssoc, 4)],- entry "GHC.Fingerprint" [],- entry "GHC.Fingerprint.Type" [],- entry- "GHC.Float"- [("**", [InTerms], RightAssoc, 8)],- entry "GHC.Float.ConversionUtils" [],- entry "GHC.Float.RealFracMethods" [],- entry "GHC.Foreign" [],- entry "GHC.ForeignPtr" [],- entry "GHC.ForeignSrcLang.Type" [],- entry "GHC.GHCi" [],- entry "GHC.GHCi.Helpers" [],- entry- "GHC.Generics"- [(":*:", [InTypes, InTerms], RightAssoc, 6), (":+:", [InTypes], RightAssoc, 5), (":.:", [InTypes], RightAssoc, 7)],- entry "GHC.IO" [],- entry "GHC.IO.Buffer" [],- entry "GHC.IO.BufferedIO" [],- entry "GHC.IO.Device" [],- entry "GHC.IO.Encoding" [],- entry "GHC.IO.Encoding.CodePage" [],- entry "GHC.IO.Encoding.Failure" [],- entry "GHC.IO.Encoding.Iconv" [],- entry "GHC.IO.Encoding.Latin1" [],- entry "GHC.IO.Encoding.Types" [],- entry "GHC.IO.Encoding.UTF16" [],- entry "GHC.IO.Encoding.UTF32" [],- entry "GHC.IO.Encoding.UTF8" [],- entry "GHC.IO.Exception" [],- entry "GHC.IO.FD" [],- entry "GHC.IO.Handle" [],- entry "GHC.IO.Handle.FD" [],- entry "GHC.IO.Handle.Internals" [],- entry "GHC.IO.Handle.Lock" [],- entry "GHC.IO.Handle.Text" [],- entry "GHC.IO.Handle.Types" [],- entry "GHC.IO.IOMode" [],- entry "GHC.IO.StdHandles" [],- entry- "GHC.IO.SubSystem"- [("<!>", [InTerms], LeftAssoc, 7)],- entry "GHC.IO.Unsafe" [],- entry "GHC.IOArray" [],- entry "GHC.IORef" [],- entry "GHC.InfoProv" [],- entry "GHC.Int" [],- entry "GHC.Integer" [],- entry "GHC.Integer.Logarithms" [],- entry "GHC.Internal.AllocationLimitHandler" [],- entry- "GHC.Internal.Arr"- [("!", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],- entry "GHC.Internal.ArrayArray" [],- entry- "GHC.Internal.Base"- [("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("*>", [InTerms], LeftAssoc, 4), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), ("/##", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), (":|", [InTypes, InTerms], RightAssoc, 5), ("<", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<**>", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("<>", [InTerms], RightAssoc, 6), ("<|>", [InTerms], LeftAssoc, 3), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2), ("~~", [InTypes], NoAssoc, 4)],- entry "GHC.Internal.Bignum.Backend" [],- entry "GHC.Internal.Bignum.Backend.Native" [],- entry "GHC.Internal.Bignum.Backend.Selected" [],- entry "GHC.Internal.Bignum.BigNat" [],- entry "GHC.Internal.Bignum.Integer" [],- entry "GHC.Internal.Bignum.Natural" [],- entry- "GHC.Internal.Bignum.Primitives"- [("&&#", [InTerms], RightAssoc, 3), ("||#", [InTerms], RightAssoc, 2)],- entry "GHC.Internal.Bignum.WordArray" [],- entry- "GHC.Internal.Bits"- [(".&.", [InTerms], LeftAssoc, 7), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],- entry "GHC.Internal.ByteOrder" [],- entry "GHC.Internal.CString" [],- entry "GHC.Internal.Char" [],- entry- "GHC.Internal.Classes"- [("&&", [InTerms], RightAssoc, 3), ("/=", [InTerms], NoAssoc, 4), ("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), ("||", [InTerms], RightAssoc, 2)],- entry "GHC.Internal.Clock" [],- entry "GHC.Internal.ClosureTypes" [],- entry "GHC.Internal.Conc.Bound" [],- entry "GHC.Internal.Conc.IO" [],- entry "GHC.Internal.Conc.Signal" [],- entry- "GHC.Internal.Conc.Sync"- [("par", [InTerms], RightAssoc, 0), ("pseq", [InTerms], RightAssoc, 0)],- entry "GHC.Internal.ConsoleHandler" [],- entry- "GHC.Internal.Control.Arrow"- [("&&&", [InTerms], RightAssoc, 3), ("***", [InTerms], RightAssoc, 3), ("+++", [InTerms], RightAssoc, 2), ("<+>", [InTerms], RightAssoc, 5), ("<<<", [InTerms], RightAssoc, 1), ("<<^", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1), (">>^", [InTerms], RightAssoc, 1), ("^<<", [InTerms], RightAssoc, 1), ("^>>", [InTerms], RightAssoc, 1), ("|||", [InTerms], RightAssoc, 2)],- entry- "GHC.Internal.Control.Category"- [(".", [InTerms], RightAssoc, 9), ("<<<", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1)],- entry "GHC.Internal.Control.Concurrent.MVar" [],- entry "GHC.Internal.Control.Exception" [],- entry "GHC.Internal.Control.Exception.Base" [],- entry- "GHC.Internal.Control.Monad"- [("<$", [InTerms], LeftAssoc, 4), ("<$!>", [InTerms], LeftAssoc, 4), ("<=<", [InTerms], RightAssoc, 1), ("=<<", [InTerms], RightAssoc, 1), (">=>", [InTerms], RightAssoc, 1), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1)],- entry "GHC.Internal.Control.Monad.Fail" [],- entry "GHC.Internal.Control.Monad.Fix" [],- entry "GHC.Internal.Control.Monad.IO.Class" [],- entry "GHC.Internal.Control.Monad.ST" [],- entry "GHC.Internal.Control.Monad.ST.Imp" [],- entry "GHC.Internal.Control.Monad.ST.Lazy" [],- entry "GHC.Internal.Control.Monad.ST.Lazy.Imp" [],- entry "GHC.Internal.Control.Monad.Zip" [],- entry- "GHC.Internal.Data.Bits"- [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],- entry- "GHC.Internal.Data.Bool"- [("&&", [InTerms], RightAssoc, 3), ("||", [InTerms], RightAssoc, 2)],- entry "GHC.Internal.Data.Coerce" [],- entry "GHC.Internal.Data.Data" [],- entry "GHC.Internal.Data.Dynamic" [],- entry "GHC.Internal.Data.Either" [],- entry- "GHC.Internal.Data.Eq"- [("/=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4)],- entry- "GHC.Internal.Data.Foldable"- [("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry- "GHC.Internal.Data.Function"- [("$", [InTerms], RightAssoc, 0), ("&", [InTerms], LeftAssoc, 1), (".", [InTerms], RightAssoc, 9), ("on", [InTerms], LeftAssoc, 0)],- entry- "GHC.Internal.Data.Functor"- [("$>", [InTerms], LeftAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<&>", [InTerms], LeftAssoc, 1)],- entry "GHC.Internal.Data.Functor.Const" [],- entry "GHC.Internal.Data.Functor.Identity" [],- entry- "GHC.Internal.Data.Functor.Utils"- [("#.", [InTypes, InTerms], LeftAssoc, 9)],- entry "GHC.Internal.Data.IORef" [],- entry "GHC.Internal.Data.Ix" [],- entry- "GHC.Internal.Data.List"- [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry- "GHC.Internal.Data.List.NonEmpty"- [(":|", [InTypes, InTerms], RightAssoc, 5)],- entry "GHC.Internal.Data.Maybe" [],- entry- "GHC.Internal.Data.Monoid"- [("<>", [InTerms], RightAssoc, 6)],- entry- "GHC.Internal.Data.NonEmpty"- [(":|", [InTypes, InTerms], RightAssoc, 5)],- entry- "GHC.Internal.Data.OldList"- [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry- "GHC.Internal.Data.Ord"- [("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4)],- entry "GHC.Internal.Data.Proxy" [],- entry "GHC.Internal.Data.STRef" [],- entry "GHC.Internal.Data.STRef.Strict" [],- entry "GHC.Internal.Data.Semigroup.Internal" [],- entry "GHC.Internal.Data.String" [],- entry "GHC.Internal.Data.Traversable" [],- entry "GHC.Internal.Data.Tuple" [],- entry- "GHC.Internal.Data.Type.Bool"- [("&&", [InTypes], RightAssoc, 3), ("||", [InTypes], RightAssoc, 2)],- entry "GHC.Internal.Data.Type.Coercion" [],- entry- "GHC.Internal.Data.Type.Equality"- [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4), ("==", [InTypes], NoAssoc, 4), ("~~", [InTypes], NoAssoc, 4)],- entry- "GHC.Internal.Data.Type.Ord"- [("<", [InTypes], NoAssoc, 4), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("<?", [InTypes], NoAssoc, 4), (">", [InTypes], NoAssoc, 4), (">=", [InTypes], NoAssoc, 4), (">=?", [InTypes], NoAssoc, 4), (">?", [InTypes], NoAssoc, 4)],- entry- "GHC.Internal.Data.Typeable"- [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],- entry "GHC.Internal.Data.Unique" [],- entry "GHC.Internal.Data.Version" [],- entry "GHC.Internal.Data.Void" [],- entry "GHC.Internal.Debug" [],- entry "GHC.Internal.Debug.Trace" [],- entry- "GHC.Internal.Desugar"- [(">>>", [InTerms], LeftAssoc, 9)],- entry "GHC.Internal.Encoding.UTF8" [],- entry "GHC.Internal.Enum" [],- entry "GHC.Internal.Environment" [],- entry "GHC.Internal.Err" [],- entry "GHC.Internal.Event" [],- entry "GHC.Internal.Event.TimeOut" [],- entry "GHC.Internal.Exception" [],- entry "GHC.Internal.Exception.Backtrace" [],- entry "GHC.Internal.Exception.Context" [],- entry "GHC.Internal.Exception.Type" [],- entry "GHC.Internal.ExecutionStack" [],- entry "GHC.Internal.ExecutionStack.Internal" [],- entry- "GHC.Internal.Exts"- [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0), ("~~", [InTypes], NoAssoc, 4)],- entry "GHC.Internal.Fingerprint" [],- entry "GHC.Internal.Fingerprint.Type" [],- entry- "GHC.Internal.Float"- [("**", [InTerms], RightAssoc, 8)],- entry "GHC.Internal.Float.ConversionUtils" [],- entry "GHC.Internal.Float.RealFracMethods" [],- entry "GHC.Internal.Foreign.C.ConstPtr" [],- entry "GHC.Internal.Foreign.C.Error" [],- entry "GHC.Internal.Foreign.C.String" [],- entry "GHC.Internal.Foreign.C.String.Encoding" [],- entry "GHC.Internal.Foreign.C.Types" [],- entry "GHC.Internal.Foreign.Concurrent" [],- entry "GHC.Internal.Foreign.ForeignPtr" [],- entry "GHC.Internal.Foreign.ForeignPtr.Imp" [],- entry "GHC.Internal.Foreign.ForeignPtr.Unsafe" [],- entry "GHC.Internal.Foreign.Marshal.Alloc" [],- entry "GHC.Internal.Foreign.Marshal.Array" [],- entry "GHC.Internal.Foreign.Marshal.Error" [],- entry "GHC.Internal.Foreign.Marshal.Pool" [],- entry "GHC.Internal.Foreign.Marshal.Safe" [],- entry "GHC.Internal.Foreign.Marshal.Unsafe" [],- entry "GHC.Internal.Foreign.Marshal.Utils" [],- entry "GHC.Internal.Foreign.Ptr" [],- entry "GHC.Internal.Foreign.StablePtr" [],- entry "GHC.Internal.Foreign.Storable" [],- entry "GHC.Internal.ForeignPtr" [],- entry "GHC.Internal.ForeignSrcLang" [],- entry "GHC.Internal.Functor.ZipList" [],- entry "GHC.Internal.GHCi" [],- entry "GHC.Internal.GHCi.Helpers" [],- entry- "GHC.Internal.Generics"- [(":*:", [InTypes, InTerms], RightAssoc, 6), (":+:", [InTypes], RightAssoc, 5), (":.:", [InTypes], RightAssoc, 7)],- entry "GHC.Internal.Heap.Closures" [],- entry "GHC.Internal.Heap.Constants" [],- entry "GHC.Internal.Heap.InfoTable" [],- entry "GHC.Internal.Heap.InfoTable.Types" [],- entry "GHC.Internal.Heap.InfoTableProf" [],- entry "GHC.Internal.Heap.ProfInfo.Types" [],- entry "GHC.Internal.IO" [],- entry "GHC.Internal.IO.Buffer" [],- entry "GHC.Internal.IO.BufferedIO" [],- entry "GHC.Internal.IO.Device" [],- entry "GHC.Internal.IO.Encoding" [],- entry "GHC.Internal.IO.Encoding.CodePage" [],- entry "GHC.Internal.IO.Encoding.Failure" [],- entry "GHC.Internal.IO.Encoding.Iconv" [],- entry "GHC.Internal.IO.Encoding.Latin1" [],- entry "GHC.Internal.IO.Encoding.Types" [],- entry "GHC.Internal.IO.Encoding.UTF16" [],- entry "GHC.Internal.IO.Encoding.UTF32" [],- entry "GHC.Internal.IO.Encoding.UTF8" [],- entry "GHC.Internal.IO.Exception" [],- entry "GHC.Internal.IO.FD" [],- entry "GHC.Internal.IO.Handle" [],- entry "GHC.Internal.IO.Handle.FD" [],- entry "GHC.Internal.IO.Handle.Internals" [],- entry "GHC.Internal.IO.Handle.Lock" [],- entry "GHC.Internal.IO.Handle.Text" [],- entry "GHC.Internal.IO.Handle.Types" [],- entry "GHC.Internal.IO.IOMode" [],- entry "GHC.Internal.IO.StdHandles" [],- entry- "GHC.Internal.IO.SubSystem"- [("<!>", [InTerms], LeftAssoc, 7)],- entry "GHC.Internal.IO.Unsafe" [],- entry "GHC.Internal.IOArray" [],- entry "GHC.Internal.IORef" [],- entry "GHC.Internal.InfoProv" [],- entry "GHC.Internal.InfoProv.Types" [],- entry "GHC.Internal.Int" [],- entry "GHC.Internal.Integer" [],- entry "GHC.Internal.Integer.Logarithms" [],- entry "GHC.Internal.IsList" [],- entry "GHC.Internal.Ix" [],- entry "GHC.Internal.LanguageExtensions" [],- entry "GHC.Internal.Lexeme" [],- entry- "GHC.Internal.List"- [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry "GHC.Internal.MVar" [],- entry "GHC.Internal.Magic" [],- entry "GHC.Internal.Magic.Dict" [],- entry "GHC.Internal.Maybe" [],- entry "GHC.Internal.Natural" [],- entry- "GHC.Internal.Num"- [("*", [InTerms], LeftAssoc, 7), ("+", [InTerms], LeftAssoc, 6), ("-", [InTerms], LeftAssoc, 6)],- entry- "GHC.Internal.Numeric"- [("**", [InTerms], RightAssoc, 8)],- entry "GHC.Internal.Numeric.Natural" [],- entry "GHC.Internal.OverloadedLabels" [],- entry "GHC.Internal.Pack" [],- entry- "GHC.Internal.Prim"- [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0)],- entry "GHC.Internal.Prim.Exception" [],- entry "GHC.Internal.Prim.Ext" [],- entry "GHC.Internal.Prim.Panic" [],- entry "GHC.Internal.Prim.PtrEq" [],- entry- "GHC.Internal.PrimopWrappers"- [("*#", [InTerms], LeftAssoc, 9), ("*##", [InTerms], LeftAssoc, 9), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 9), ("+##", [InTerms], LeftAssoc, 9), ("-#", [InTerms], LeftAssoc, 9), ("-##", [InTerms], LeftAssoc, 9), ("/##", [InTerms], LeftAssoc, 9), ("/=#", [InTerms], LeftAssoc, 9), ("/=##", [InTerms], LeftAssoc, 9), ("<#", [InTerms], LeftAssoc, 9), ("<##", [InTerms], LeftAssoc, 9), ("<=#", [InTerms], LeftAssoc, 9), ("<=##", [InTerms], LeftAssoc, 9), ("==#", [InTerms], LeftAssoc, 9), ("==##", [InTerms], LeftAssoc, 9), (">#", [InTerms], LeftAssoc, 9), (">##", [InTerms], LeftAssoc, 9), (">=#", [InTerms], LeftAssoc, 9), (">=##", [InTerms], LeftAssoc, 9)],- entry "GHC.Internal.Profiling" [],- entry "GHC.Internal.Ptr" [],- entry "GHC.Internal.RTS.Flags" [],- entry "GHC.Internal.RTS.Flags.Test" [],- entry "GHC.Internal.Read" [],- entry- "GHC.Internal.Real"- [("%", [InTerms], LeftAssoc, 7), ("/", [InTerms], LeftAssoc, 7), (":%", [InTerms], LeftAssoc, 9), ("^", [InTerms], RightAssoc, 8), ("^%^", [InTerms], LeftAssoc, 9), ("^^", [InTerms], RightAssoc, 8), ("^^%^^", [InTerms], LeftAssoc, 9), ("div", [InTerms], LeftAssoc, 7), ("mod", [InTerms], LeftAssoc, 7), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7)],- entry "GHC.Internal.Records" [],- entry "GHC.Internal.ResponseFile" [],- entry "GHC.Internal.ST" [],- entry "GHC.Internal.STRef" [],- entry "GHC.Internal.Show" [],- entry "GHC.Internal.Stable" [],- entry "GHC.Internal.StableName" [],- entry "GHC.Internal.Stack" [],- entry "GHC.Internal.Stack.Annotation" [],- entry "GHC.Internal.Stack.CCS" [],- entry "GHC.Internal.Stack.CloneStack" [],- entry "GHC.Internal.Stack.Constants" [],- entry "GHC.Internal.Stack.ConstantsProf" [],- entry "GHC.Internal.Stack.Decode" [],- entry "GHC.Internal.Stack.Types" [],- entry "GHC.Internal.StaticPtr" [],- entry "GHC.Internal.Stats" [],- entry "GHC.Internal.Storable" [],- entry "GHC.Internal.System.Environment" [],- entry "GHC.Internal.System.Environment.Blank" [],- entry "GHC.Internal.System.Exit" [],- entry "GHC.Internal.System.IO" [],- entry "GHC.Internal.System.IO.Error" [],- entry "GHC.Internal.System.Mem" [],- entry "GHC.Internal.System.Mem.StableName" [],- entry "GHC.Internal.System.Posix.Internals" [],- entry "GHC.Internal.System.Posix.Types" [],- entry "GHC.Internal.TH.Lib" [],- entry "GHC.Internal.TH.Lift" [],- entry "GHC.Internal.TH.Quote" [],- entry "GHC.Internal.TH.Syntax" [],- entry- "GHC.Internal.Text.ParserCombinators.ReadP"- [("+++", [InTerms], RightAssoc, 5), ("<++", [InTerms], RightAssoc, 5)],- entry- "GHC.Internal.Text.ParserCombinators.ReadPrec"- [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],- entry- "GHC.Internal.Text.Read"- [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],- entry "GHC.Internal.Text.Read.Lex" [],- entry "GHC.Internal.Text.Show" [],- entry "GHC.Internal.TopHandler" [],- entry- "GHC.Internal.Tuple"- [("()", [InTypes, InTerms], LeftAssoc, 9), ("(,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9)],- entry- "GHC.Internal.Type.Reflection"- [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],- entry "GHC.Internal.Type.Reflection.Unsafe" [],- entry- "GHC.Internal.TypeError"- [(":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6)],- entry- "GHC.Internal.TypeLits"- [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), (":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],- entry "GHC.Internal.TypeLits.Internal" [],- entry- "GHC.Internal.TypeNats"- [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],- entry "GHC.Internal.TypeNats.Internal" [],- entry- "GHC.Internal.Types"- [("~~", [InTypes], NoAssoc, 4)],- entry "GHC.Internal.Unicode" [],- entry "GHC.Internal.Unsafe.Coerce" [],- entry "GHC.Internal.Weak" [],- entry "GHC.Internal.Weak.Finalize" [],- entry "GHC.Internal.Word" [],- entry "GHC.IsList" [],- entry "GHC.Ix" [],- entry "GHC.LanguageExtensions.Type" [],- entry "GHC.Lexeme" [],- entry- "GHC.List"- [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry "GHC.MVar" [],- entry "GHC.Magic" [],- entry "GHC.Magic.Dict" [],- entry "GHC.Maybe" [],- entry "GHC.Natural" [],- entry- "GHC.Num"- [("*", [InTerms], LeftAssoc, 7), ("+", [InTerms], LeftAssoc, 6), ("-", [InTerms], LeftAssoc, 6)],- entry "GHC.Num.Backend" [],- entry "GHC.Num.Backend.Native" [],- entry "GHC.Num.Backend.Selected" [],- entry "GHC.Num.BigNat" [],- entry "GHC.Num.Integer" [],- entry "GHC.Num.Natural" [],- entry- "GHC.Num.Primitives"- [("&&#", [InTerms], RightAssoc, 3), ("||#", [InTerms], RightAssoc, 2)],- entry "GHC.Num.WordArray" [],- entry- "GHC.OldList"- [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],- entry "GHC.OverloadedLabels" [],- entry- "GHC.Prim"- [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0)],- entry "GHC.Prim.Exception" [],- entry "GHC.Prim.Ext" [],- entry "GHC.Prim.Panic" [],- entry "GHC.Prim.PtrEq" [],- entry- "GHC.PrimopWrappers"- [("*#", [InTerms], LeftAssoc, 9), ("*##", [InTerms], LeftAssoc, 9), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 9), ("+##", [InTerms], LeftAssoc, 9), ("-#", [InTerms], LeftAssoc, 9), ("-##", [InTerms], LeftAssoc, 9), ("/##", [InTerms], LeftAssoc, 9), ("/=#", [InTerms], LeftAssoc, 9), ("/=##", [InTerms], LeftAssoc, 9), ("<#", [InTerms], LeftAssoc, 9), ("<##", [InTerms], LeftAssoc, 9), ("<=#", [InTerms], LeftAssoc, 9), ("<=##", [InTerms], LeftAssoc, 9), ("==#", [InTerms], LeftAssoc, 9), ("==##", [InTerms], LeftAssoc, 9), (">#", [InTerms], LeftAssoc, 9), (">##", [InTerms], LeftAssoc, 9), (">=#", [InTerms], LeftAssoc, 9), (">=##", [InTerms], LeftAssoc, 9)],- entry "GHC.Profiling" [],- entry "GHC.Ptr" [],- entry "GHC.RTS.Flags" [],- entry "GHC.Read" [],- entry- "GHC.Real"- [("%", [InTerms], LeftAssoc, 7), ("/", [InTerms], LeftAssoc, 7), (":%", [InTerms], LeftAssoc, 9), ("^", [InTerms], RightAssoc, 8), ("^%^", [InTerms], LeftAssoc, 9), ("^^", [InTerms], RightAssoc, 8), ("^^%^^", [InTerms], LeftAssoc, 9), ("div", [InTerms], LeftAssoc, 7), ("mod", [InTerms], LeftAssoc, 7), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7)],- entry "GHC.Records" [],- entry "GHC.ResponseFile" [],- entry "GHC.ST" [],- entry "GHC.STRef" [],- entry "GHC.Show" [],- entry "GHC.Stable" [],- entry "GHC.StableName" [],- entry "GHC.Stack" [],- entry "GHC.Stack.CCS" [],- entry "GHC.Stack.CloneStack" [],- entry "GHC.Stack.Types" [],- entry "GHC.StaticPtr" [],- entry "GHC.Stats" [],- entry "GHC.Storable" [],- entry "GHC.TopHandler" [],- entry- "GHC.Tuple"- [("()", [InTypes, InTerms], LeftAssoc, 9), ("(,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9)],- entry- "GHC.TypeError"- [(":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6)],- entry- "GHC.TypeLits"- [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), (":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],- entry- "GHC.TypeNats"- [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],- entry- "GHC.Types"- [("~~", [InTypes], NoAssoc, 4)],- entry "GHC.Unicode" [],- entry "GHC.Weak" [],- entry "GHC.Weak.Finalize" [],- entry "GHC.Word" [],- entry "Language.Haskell.TH" [],- entry- "Language.Haskell.TH.CodeDo"- [(">>", [InTerms], LeftAssoc, 9), (">>=", [InTerms], LeftAssoc, 9)],- entry "Language.Haskell.TH.LanguageExtensions" [],- entry "Language.Haskell.TH.Lib" [],- entry "Language.Haskell.TH.Ppr" [],- entry- "Language.Haskell.TH.PprLib"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry "Language.Haskell.TH.Quote" [],- entry "Language.Haskell.TH.Syntax" [],- entry- "Numeric"- [("**", [InTerms], RightAssoc, 8)],- entry "Numeric.Natural" [],- entry- "Prelude"- [("!!", [InTerms], LeftAssoc, 9), ("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*", [InTerms], LeftAssoc, 7), ("**", [InTerms], RightAssoc, 8), ("*>", [InTerms], LeftAssoc, 4), ("+", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), ("/", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), (":", [InTerms], RightAssoc, 5), ("<", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<>", [InTerms], RightAssoc, 6), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("^", [InTerms], RightAssoc, 8), ("^^", [InTerms], RightAssoc, 8), ("div", [InTerms], LeftAssoc, 7), ("elem", [InTerms], NoAssoc, 4), ("mod", [InTerms], LeftAssoc, 7), ("notElem", [InTerms], NoAssoc, 4), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2)],- entry "System.CPUTime" [],- entry "System.Cmd" [],- entry "System.Console.GetOpt" [],- entry "System.Directory" [],- entry "System.Directory.Internal" [],- entry- "System.Directory.Internal.Prelude"- [("!!", [InTerms], LeftAssoc, 9), ("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*", [InTerms], LeftAssoc, 7), ("**", [InTerms], RightAssoc, 8), ("*>", [InTerms], LeftAssoc, 4), ("+", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), (".&.", [InTerms], LeftAssoc, 7), (".|.", [InTerms], LeftAssoc, 5), ("/", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), ("<", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<=<", [InTerms], RightAssoc, 1), ("<>", [InTerms], RightAssoc, 6), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">=>", [InTerms], RightAssoc, 1), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("^", [InTerms], RightAssoc, 8), ("^^", [InTerms], RightAssoc, 8), ("div", [InTerms], LeftAssoc, 7), ("elem", [InTerms], NoAssoc, 4), ("mod", [InTerms], LeftAssoc, 7), ("notElem", [InTerms], NoAssoc, 4), ("on", [InTerms], LeftAssoc, 0), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2)],- entry "System.Directory.OsPath" [],- entry "System.Environment" [],- entry "System.Environment.Blank" [],- entry "System.Exit" [],- entry- "System.FilePath"- [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],- entry- "System.FilePath.Posix"- [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],- entry- "System.FilePath.Windows"- [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],- entry "System.IO" [],- entry "System.IO.Error" [],- entry "System.IO.Unsafe" [],- entry "System.Info" [],- entry "System.Mem" [],- entry "System.Mem.StableName" [],- entry "System.Mem.Weak" [],- entry- "System.OsPath"- [("-<.>", [InTerms], LeftAssoc, 9), ("<.>", [InTerms], LeftAssoc, 9), ("</>", [InTerms], LeftAssoc, 9)],- entry "System.OsPath.Encoding" [],- entry "System.OsPath.Internal" [],- entry- "System.OsPath.Posix"- [("-<.>", [InTerms], LeftAssoc, 9), ("<.>", [InTerms], LeftAssoc, 9), ("</>", [InTerms], LeftAssoc, 9)],- entry- "System.OsPath.Posix.Internal"- [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],- entry "System.OsPath.Types" [],- entry- "System.OsPath.Windows"- [("-<.>", [InTerms], LeftAssoc, 9), ("<.>", [InTerms], LeftAssoc, 9), ("</>", [InTerms], LeftAssoc, 9)],- entry- "System.OsPath.Windows.Internal"- [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],- entry- "System.OsString"- [("!?", [InTerms], LeftAssoc, 9)],- entry- "System.OsString.Data.ByteString.Short"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry "System.OsString.Data.ByteString.Short.Internal" [],- entry- "System.OsString.Data.ByteString.Short.Word16"- [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],- entry "System.OsString.Encoding" [],- entry "System.OsString.Encoding.Internal" [],- entry- "System.OsString.Internal"- [("!?", [InTerms], LeftAssoc, 9)],- entry "System.OsString.Internal.Exception" [],- entry "System.OsString.Internal.Types" [],- entry- "System.OsString.Posix"- [("!?", [InTerms], LeftAssoc, 9)],- entry- "System.OsString.Windows"- [("!?", [InTerms], LeftAssoc, 9)],- entry- "System.Posix"- [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],- entry- "System.Posix.ByteString"- [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],- entry "System.Posix.ByteString.FilePath" [],- entry "System.Posix.Directory" [],- entry "System.Posix.Directory.ByteString" [],- entry "System.Posix.Directory.Fd" [],- entry "System.Posix.Directory.Internals" [],- entry "System.Posix.Directory.PosixPath" [],- entry "System.Posix.DynamicLinker" [],- entry "System.Posix.DynamicLinker.ByteString" [],- entry "System.Posix.DynamicLinker.Module" [],- entry "System.Posix.DynamicLinker.Module.ByteString" [],- entry "System.Posix.DynamicLinker.Prim" [],- entry "System.Posix.Env" [],- entry "System.Posix.Env.ByteString" [],- entry "System.Posix.Env.PosixString" [],- entry "System.Posix.Error" [],- entry "System.Posix.Fcntl" [],- entry "System.Posix.Files" [],- entry "System.Posix.Files.ByteString" [],- entry "System.Posix.Files.PosixString" [],- entry "System.Posix.IO" [],- entry "System.Posix.IO.ByteString" [],- entry "System.Posix.IO.PosixString" [],- entry "System.Posix.Internals" [],- entry "System.Posix.PosixPath.FilePath" [],- entry- "System.Posix.PosixString"- [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],- entry "System.Posix.Process" [],- entry "System.Posix.Process.ByteString" [],- entry "System.Posix.Process.Internals" [],- entry "System.Posix.Process.PosixString" [],- entry "System.Posix.Resource" [],- entry "System.Posix.Semaphore" [],- entry "System.Posix.SharedMem" [],- entry- "System.Posix.Signals"- [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],- entry- "System.Posix.Signals.Exts"- [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],- entry "System.Posix.Temp" [],- entry "System.Posix.Temp.ByteString" [],- entry "System.Posix.Temp.PosixString" [],- entry "System.Posix.Terminal" [],- entry "System.Posix.Terminal.ByteString" [],- entry "System.Posix.Terminal.PosixString" [],- entry "System.Posix.Time" [],- entry "System.Posix.Types" [],- entry "System.Posix.Unistd" [],- entry "System.Posix.User" [],- entry "System.Posix.User.ByteString" [],- entry "System.Process" [],- entry "System.Process.CommunicationHandle" [],- entry "System.Process.CommunicationHandle.Internal" [],- entry "System.Process.Environment.OsString" [],- entry "System.Process.Internals" [],- entry "System.Timeout" [],- entry- "Text.Parsec"- [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],- entry "Text.Parsec.ByteString" [],- entry "Text.Parsec.ByteString.Lazy" [],- entry "Text.Parsec.Char" [],- entry "Text.Parsec.Combinator" [],- entry "Text.Parsec.Error" [],- entry "Text.Parsec.Expr" [],- entry "Text.Parsec.Language" [],- entry- "Text.Parsec.Perm"- [("<$$>", [InTerms], LeftAssoc, 2), ("<$?>", [InTerms], LeftAssoc, 2), ("<|?>", [InTerms], LeftAssoc, 1), ("<||>", [InTerms], LeftAssoc, 1)],- entry "Text.Parsec.Pos" [],- entry- "Text.Parsec.Prim"- [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],- entry "Text.Parsec.String" [],- entry "Text.Parsec.Text" [],- entry "Text.Parsec.Text.Lazy" [],- entry "Text.Parsec.Token" [],- entry- "Text.ParserCombinators.Parsec"- [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],- entry "Text.ParserCombinators.Parsec.Char" [],- entry "Text.ParserCombinators.Parsec.Combinator" [],- entry "Text.ParserCombinators.Parsec.Error" [],- entry "Text.ParserCombinators.Parsec.Expr" [],- entry "Text.ParserCombinators.Parsec.Language" [],- entry- "Text.ParserCombinators.Parsec.Perm"- [("<$$>", [InTerms], LeftAssoc, 2), ("<$?>", [InTerms], LeftAssoc, 2), ("<|?>", [InTerms], LeftAssoc, 1), ("<||>", [InTerms], LeftAssoc, 1)],- entry "Text.ParserCombinators.Parsec.Pos" [],- entry- "Text.ParserCombinators.Parsec.Prim"- [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],- entry "Text.ParserCombinators.Parsec.Token" [],- entry- "Text.ParserCombinators.ReadP"- [("+++", [InTerms], RightAssoc, 5), ("<++", [InTerms], RightAssoc, 5)],- entry- "Text.ParserCombinators.ReadPrec"- [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],- entry- "Text.PrettyPrint"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry- "Text.PrettyPrint.Annotated"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry- "Text.PrettyPrint.Annotated.HughesPJ"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry- "Text.PrettyPrint.Annotated.HughesPJClass"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry- "Text.PrettyPrint.HughesPJ"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry- "Text.PrettyPrint.HughesPJClass"- [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],- entry "Text.Printf" [],- entry- "Text.Read"- [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],- entry "Text.Read.Lex" [],- entry "Text.Show" [],- entry "Text.Show.Functions" [],- entry "Trace.Hpc.Mix" [],- entry "Trace.Hpc.Reflect" [],- entry "Trace.Hpc.Tix" [],- entry "Trace.Hpc.Util" [],- entry- "Type.Reflection"- [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],- entry "Type.Reflection.Unsafe" [],- entry "Unsafe.Coerce" []- ]- where- entry name ops =- ( name,- Map.fromList- [ ((namespace, OpName o), Fixity d p)- | (o, governs, d, p) <- ops,- namespace <- governs- ]- )
@@ -1,9 +1,8 @@ {-# LANGUAGE OverloadedStrings #-} --- | Fixities for the few modules whose source defeats us.+-- | Fixities for the modules written for @hsc2hs@, which are not read. module Tilia.Fixity.ByHand- ( byHandFixities,- hscFixities,+ ( hscFixities, ) where @@ -12,65 +11,10 @@ import Data.Text (Text) import Tilia.Fixity --- | The modules, and the operators they declare.-byHandFixities :: Map Text (Map OpName Fixity)-byHandFixities =- Map.fromList- [ -- @Test.QuickCheck.Property@ invokes a macro it defines:- -- @WITNESSES(:: [Witness])@ stands in the middle of a record, and- -- only @cpp@ can expand it. No configuration of the module is- -- Haskell, so there is nothing to parse in any of them.- entry- "Test.QuickCheck.Property"- [ ("==>", RightAssoc, 0),- (".&.", RightAssoc, 1),- (".&&.", RightAssoc, 1),- (".||.", RightAssoc, 1),- ("===", NoAssoc, 4),- ("=/=", NoAssoc, 4)- ],- -- @network@ writes its system calls as @foreign import CALLCONV@, and- -- @CALLCONV@ is a macro out of @HsNetDef.h@ standing where the- -- calling convention goes. It has to be expanded for the line to be- -- Haskell at all, so no configuration of these five parses.- entry "Network.Socket.If" [],- entry "Network.Socket.Internal" [],- entry "Network.Socket.Name" [],- entry "Network.Socket.Shutdown" [],- entry "Network.Socket.Syscall" [],- -- @Data.HashMap.Internal.Array@ defines @CHECK_BOUNDS@ and calls it- -- where an expression goes, with the guarded @case@ on the line- -- below. Unexpanded it reads as a function applied to that @case@,- -- and both branches of the @#if@ that defines it leave the call- -- standing, so there is no configuration to fall back on.- entry "Data.HashMap.Internal.Array" [],- -- @monad-logger@ writes one method body once and hands it to sixteen- -- instances: @#define DEF monadLoggerLog a b c d = …@, and then- -- @instance … where DEF@ for each of them. A @where@ with a bare name- -- after it is not Haskell, and the @#define@ sits outside every- -- conditional, so there is no configuration in which it is.- entry "Control.Monad.Logger" [],- -- @cereal@ writes its generic sum instances through three macros, and- -- the one that matters expands into a guard and its right-hand side- -- at once: @gPut | PUTSUM(Word8) | …@. Unexpanded that is a guard- -- with nothing after it.- entry "Data.Serialize" [],- -- @th-lift-instances@ has @LIFT_TYPED_DEFAULT@, defined three ways- -- against the @template-haskell@ version and to nothing at all in the- -- oldest of them, and written bare in five instance bodies.- entry "Instances.TH.Lift" []- ]- where- entry name ops =- (name, Map.fromList [(OpName o, Fixity d p) | (o, d, p) <- ops])- -- | What the modules written for @hsc2hs@ declare. ----- A different question from 'byHandFixities', and asked at a different--- moment. That table is a last resort for a module nothing could be made--- of; this one is the whole answer for an @.hsc@, given instead of reading--- it, and a module absent from here declares nothing rather than being--- unreadable.+-- This is the whole answer for an @.hsc@, given instead of reading it, and+-- a module absent from here declares nothing rather than being unreadable. hscFixities :: Map Text (Map OpName Fixity) hscFixities = Map.fromList
@@ -98,12 +98,12 @@ where ls = T.lines contents baseline = case mapMaybe languageNamed (fieldsNamed "default-language" ls) of- [] -> GHC.languageExtensions Nothing+ [] -> GHC.languageExtensions (Just GHC.Haskell98) editions -> Data.List.nub (concatMap (GHC.languageExtensions . Just) editions) named = concatMap (T.split (== ',')) . concatMap T.words $- fieldsNamed "default-extensions" ls+ fieldsNamed "extensions" ls <> fieldsNamed "default-extensions" ls apply acc written = case T.strip written of name | Just off <- T.stripPrefix "No" name,
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-}@@ -7,14 +8,13 @@ ( Cache, PlanToken (..), openCache,+ recalled, cachedModules, storeModules,- cachedFixities,- storeFixities,- cachedExportNames,- storeExportNames,- cachedChildren,- storeChildren,+ cachedEstablished,+ storeEstablished,+ cachedSummaries,+ storeSummaries, cachedInstalled, storeInstalled, cachedFutileSolve,@@ -26,15 +26,18 @@ import Control.Monad (join) import Data.Choice (Choice, isFalse)-import Data.Map.Strict (Map)+import Data.Foldable (toList, traverse_)+import Data.List.NonEmpty (NonEmpty)+import Data.List.NonEmpty qualified as NE import Data.Map.Strict qualified as Map-import Data.Maybe (fromMaybe, mapMaybe)+import Data.Maybe (fromMaybe, isJust) import Data.Set (Set) import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T import Data.Text.IO qualified as T import Data.Text.Read qualified as T+import Data.Time.Format (defaultTimeLocale, formatTime) import System.Directory ( XdgDirectory (XdgCache), createDirectoryIfMissing,@@ -49,8 +52,9 @@ import Tilia.Utils (quietly) -- | Where cached answers are kept together with a token unique to this--- build plan and environment.-data Cache = Cache FilePath PlanToken+-- build plan and environment, or nowhere, in which case nothing is+-- remembered.+data Cache = Cache FilePath PlanToken | NoCache -- | A token that is unique to this plan and environment. It is needed in -- order to be able to cache the expensive class of lookup failures that are@@ -66,210 +70,359 @@ -- | Bumped whenever cache format changes. formatVersion :: FilePath-formatVersion = "v1"+formatVersion = "v2" -- | Open, creating the directory if need be. ----- 'Nothing' if the cache is not to be used or there is nowhere to write,--- in which case everything still works and is merely slower.-openCache :: Choice "useCache" -> PlanToken -> IO (Maybe Cache)+-- 'NoCache' if the cache is not to be used or there is nowhere to write, in+-- which case everything still works and is merely slower.+openCache :: Choice "useCache" -> PlanToken -> IO Cache openCache use token- | isFalse use = pure Nothing- | otherwise = quietly Nothing $ do+ | isFalse use = pure NoCache+ | otherwise = quietly NoCache $ do root <- (</> formatVersion) <$> getXdgDirectory XdgCache "tilia"- createDirectoryIfMissing True (root </> "modules")- createDirectoryIfMissing True (root </> "fixities")- createDirectoryIfMissing True (root </> "installed")- pure (Just (Cache root token))+ createDirectoryIfMissing True root+ pure (Cache root token) +-- | What was remembered, or else what reading finds, remembered in turn.+recalled ::+ -- | Recall the answer.+ IO (Maybe a) ->+ -- | Remember one.+ (a -> IO ()) ->+ -- | Work the answer out, if there is one to be had.+ IO (Maybe a) ->+ IO (Maybe a)+recalled recall remember work =+ recall >>= \case+ Just answer -> pure (Just answer)+ Nothing -> do+ found <- work+ traverse_ remember found+ pure found+ -- | The modules a package exposes, if that was worked out before. cachedModules :: Cache -> Text -> IO (Maybe [Text]) cachedModules cache package =- readIfPresent (modulesPath cache package) $+ readIfPresent (at cache ["modules", package]) $ filter (not . T.null) . T.lines -- | Remember what a package exposes. storeModules :: Cache -> Text -> [Text] -> IO () storeModules cache package =- writeAtomically (modulesPath cache package) . T.unlines+ writeAtomically (at cache ["modules", package]) . T.unlines -- | What was established about a module before, if anything.-cachedFixities ::+cachedEstablished :: -- | Where to look. Cache -> -- | The package the module belongs to. Opaque here. Text -> -- | The module, by its full dotted name. Text ->- -- | What was established, or 'Nothing' if nothing was.+ -- | What was established, or 'Nothing' if nothing was, or if what it+ -- left unsettled was left so under another plan. IO (Maybe Established)-cachedFixities cache@(Cache _ (PlanToken token)) package modName =- fmap join . readIfPresent (fixitiesPath cache package modName) $ \contents ->- case T.lines contents of- ("read" : entries) -> Declares . Map.fromList <$> traverse parseFixity entries- [unread] | Just rest <- T.stripPrefix ("unread\t" <> token) unread ->- case T.uncons rest of- Nothing -> Just (Unreadable Nothing)- Just ('\t', below) | not (T.null below) -> Just (Unreadable (Just below))- _ -> Nothing+cachedEstablished cache package modName =+ fmap join . readIfPresent (at cache ["established", package, modName]) $+ assembled . fmap T.words . T.lines+ where+ assembled entries = do+ let fieldsOf kind = [fields | k : fields <- entries, k == kind]+ fixities <- traverse parseFixity (fieldsOf "fixity")+ unsettled <- traverse unsettledEntry (fieldsOf "unsettled")+ untold <- traverse untoldEntry (fieldsOf "untold")+ names <- concat <$> traverse parseByNamespace (fieldsOf "names")+ certain <- traverse (memberEntry parseByNamespace) (fieldsOf "member")+ members <-+ traverse (memberEntry (Just . fmap OpName)) (fieldsOf "members")+ let byParent = Map.fromListWith Set.union certain+ pure+ Established+ { establishedFixities = Map.fromList fixities,+ establishedUnsettled = Map.fromListWith Set.union unsettled,+ establishedUntold = Set.fromList untold,+ establishedCertain = Certain (Set.fromList names) byParent,+ establishedMembers =+ Map.union+ (Map.fromListWith Set.union members)+ (Map.map (Set.map snd) byParent)+ }+ unsettledEntry = \case+ token : fields+ | token == tokenOf cache ->+ let (chain, names) = break (isJust . parseNamespace) fields+ in (chain,) . Set.fromList <$> parseNamespaced names _ -> Nothing+ untoldEntry = \case+ token : chain | token == tokenOf cache -> Just chain+ _ -> Nothing+ memberEntry kidsOf = \case+ parent : kids -> (OpName parent,) . Set.fromList <$> kidsOf kids+ [] -> Nothing -- | Remember what reading a module established.-storeFixities ::+storeEstablished :: -- | Where to write. Cache ->- -- | The package the module belongs to, as 'cachedFixities' takes it.+ -- | The package the module belongs to, as 'cachedEstablished' takes it. Text -> -- | The module, by its full dotted name. Text -> -- | What was established about it. Established -> IO ()-storeFixities cache package modName answer = do- quietly () (createDirectoryIfMissing True (fixitiesDir cache package))- writeAtomically (fixitiesPath cache package modName) $- case answer of- Unreadable below ->- T.unlines ["unread\t" <> token <> foldMap ("\t" <>) below]- Declares fixities ->- T.unlines ("read" : fmap renderFixity (Map.toList fixities))+storeEstablished cache package modName established =+ writeAtomically path . renderLines $+ fmap (("fixity" :) . renderFixity) (Map.toList fixities)+ <> [ ["unsettled", tokenOf cache] <> chain <> renderNamespaced names+ | (chain, names) <- Map.toList (establishedUnsettled established)+ ]+ <> [ "untold" : tokenOf cache : chain+ | chain <- Set.toList (establishedUntold established)+ ]+ <> ["names" : fields | fields <- renderByNamespace (certainNames certain)]+ <> [ "member" : parent : fields+ | (OpName parent, kids) <- Map.toList (certainMembers certain),+ fields <- case renderByNamespace kids of+ [] -> [[]]+ grouped -> grouped+ ]+ -- The members of a name are mostly its certain members, which the+ -- lines above already say.+ <> [ "members" : parent : [kid | OpName kid <- Set.toAscList kids]+ | (OpName parent, kids) <- Map.toList (establishedMembers established),+ Just kids /= Map.lookup (OpName parent) written+ ] where- Cache _ (PlanToken token) = cache+ path = at cache ["established", package, modName]+ fixities = establishedFixities established+ certain = establishedCertain established+ written = Map.map (Set.map snd) (certainMembers certain) --- | What a module's export list was found to say, if it was ever read.-cachedExportNames ::+-- | What each configuration of one of the project's own modules says, if it+-- was last read from what the stamp stands for.+cachedSummaries :: -- | Where to look. Cache ->- -- | The package the module belongs to, as 'cachedFixities' takes it.+ -- | Which module, by a name for its file. Text ->- -- | The module, by its full dotted name.+ -- | What it was read from: its text and the settings it was read with. Text ->- -- | What its export list said, or 'Nothing' if it was never read.- IO (Maybe Exported)-cachedExportNames cache package modName =- fmap join . readIfPresent (exportsPath cache package modName) $ \contents ->+ -- | What it said, or 'Nothing' if nothing is remembered for that stamp.+ IO (Maybe (Maybe (NonEmpty ModuleSummary)))+cachedSummaries cache key stamp =+ fmap join . readIfPresent (at cache ["summaries", key]) $ \contents -> case T.lines contents of- ("names" : entries) -> Just (Exports (Set.fromList (fmap OpName entries)))- ["untellable"] -> Just Untellable+ (header : rest) | header == readFrom stamp -> parseSummaries rest _ -> Nothing --- | Remember what a module's export list said.-storeExportNames ::+-- | Remember what each configuration of one of the project's own modules+-- says, in place of what an earlier text of it said.+storeSummaries :: -- | Where to write. Cache ->- -- | The package the module belongs to, as 'cachedFixities' takes it.+ -- | Which module, as 'cachedSummaries' takes it. Text ->- -- | The module, by its full dotted name.+ -- | What it was read from, as 'cachedSummaries' takes it. Text ->- -- | What its export list said.- Exported ->+ -- | What it said, or 'Nothing' where none of its configurations parses.+ Maybe (NonEmpty ModuleSummary) -> IO ()-storeExportNames cache package modName answer = do- quietly () (createDirectoryIfMissing True (exportsDir cache package))- writeAtomically (exportsPath cache package modName) $- case answer of- Untellable -> T.unlines ["untellable"]- Exports names -> T.unlines ("names" : [op | OpName op <- Set.toAscList names])+storeSummaries cache key stamp summaries =+ writeAtomically (at cache ["summaries", key]) . T.unlines $+ readFrom stamp : renderSummaries summaries --- | What a module keeps under each of its names, if it was ever read for--- it.-cachedChildren ::- -- | Where to look.- Cache ->- -- | The package the module belongs to, as 'cachedFixities' takes it.- Text ->- -- | The module, by its full dotted name.- Text ->- -- | What it keeps under each name, or 'Nothing' if it was never read.- IO (Maybe (Map OpName (Set OpName)))-cachedChildren cache package modName =- fmap join . readIfPresent (childrenPath cache package modName) $ \contents ->- case T.lines contents of- ("children" : entries) -> Just (Map.fromList (mapMaybe childEntry entries))- _ -> Nothing+-- | The first line of a remembered summary: what it was read from, and the+-- versions of Tilia and of the parser that read it.+readFrom :: Text -> Text+readFrom stamp =+ T.unwords ["for", stamp, VERSION_tilia, VERSION_ghc_lib_parser]++-- | Render what a module's configurations say, a line for each thing.+renderSummaries :: Maybe (NonEmpty ModuleSummary) -> [Text]+renderSummaries = \case+ Nothing -> ["unparsed"]+ Just summaries ->+ concatMap+ (("configuration" :) . fmap T.unwords . renderSummary)+ (toList summaries) where- childEntry line = case T.splitOn "\t" line of- (parent : kids) -> Just (OpName parent, Set.fromList (fmap OpName kids))- [] -> Nothing+ renderSummary s =+ [["name", name] | Just name <- [summaryName s]]+ <> foldMap+ (\items -> ["exports"] : fmap renderExport items)+ (summaryExports s)+ <> concatMap renderImport (summaryImports s)+ <> fmap (("fixity" :) . renderFixity) (Map.toList (summaryFixities s))+ <> [ ["defines", renderNamespace namespace, op]+ | (namespace, OpName op) <- Set.toAscList (summaryNames s)+ ]+ <> fmap declares (Map.toList (summaryDeclaredMembers s))+ <> fmap offers (Map.toList (summaryListedMembers s))+ declares (OpName parent, kids) = "declares" : parent : renderNamespaced kids+ offers (OpName parent, kids) =+ "offers" : parent : [kid | OpName kid <- Set.toAscList kids]+ renderExport = \case+ ExportName namespace qualifier op ->+ ["export", "name", renderNamespace namespace] <> under qualifier [op]+ ExportAll qualifier op -> ["export", "all"] <> under qualifier [op]+ ExportSome qualifier op kids ->+ ["export", "some"] <> under qualifier (op : kids)+ ExportModule m -> ["export", "module", m]+ under qualifier ops = fromMaybe "-" qualifier : [op | OpName op <- ops]+ renderImport i =+ ["import", importModule i, qualification i, importAlias i]+ : case importNames i of+ Nothing -> []+ Just (hiding, items) ->+ ["list", if hiding then "hiding" else "only"]+ : fmap renderItem items+ qualification i = if importQualified i then "qualified" else "open"+ renderItem = \case+ ImportedName (OpName op) -> ["item", "name", op]+ ImportedAll (OpName op) -> ["item", "all", op]+ ImportedSome op kids -> "item" : "some" : [k | OpName k <- op : kids] --- | Remember what a module keeps under each of its names.-storeChildren ::- -- | Where to write.- Cache ->- -- | The package the module belongs to, as 'cachedFixities' takes it.- Text ->- -- | The module, by its full dotted name.- Text ->- -- | What it keeps under each name.- Map OpName (Set OpName) ->- IO ()-storeChildren cache package modName children = do- quietly () (createDirectoryIfMissing True (childrenDir cache package))- writeAtomically (childrenPath cache package modName) $- T.unlines ("children" : fmap entry (Map.toList children))+-- | Parse what 'renderSummaries' rendered.+parseSummaries :: [Text] -> Maybe (Maybe (NonEmpty ModuleSummary))+parseSummaries = \case+ ["unparsed"] -> Just Nothing+ ls -> Just <$> (NE.nonEmpty =<< traverse parseSummary =<< configurations ls) where- entry (OpName parent, kids) =- T.intercalate "\t" (parent : [kid | OpName kid <- Set.toAscList kids])+ configurations = \case+ [] -> Just []+ "configuration" : rest ->+ let (these, more) = break (== "configuration") rest+ in (these :) <$> configurations more+ _ -> Nothing+ parseSummary = go empty . fmap T.words+ where+ empty = ModuleSummary Nothing Nothing [] Map.empty Set.empty Map.empty Map.empty+ go s = \case+ [] ->+ Just+ s+ { summaryExports = reverse <$> summaryExports s,+ summaryImports = reverse (summaryImports s)+ }+ ["name", name] : rest -> go s{summaryName = Just name} rest+ ["exports"] : rest -> go s{summaryExports = Just []} rest+ ("export" : fields) : rest -> do+ item <- exportItem fields+ items <- summaryExports s+ go s{summaryExports = Just (item : items)} rest+ ["import", m, how, alias] : rest -> do+ qualified <- case how of+ "qualified" -> Just True+ "open" -> Just False+ _ -> Nothing+ let (listed, rest') = span isListed rest+ list <- importList listed+ go s{summaryImports = Import m qualified alias list : summaryImports s} rest'+ ("fixity" : fields) : rest -> do+ (key, fixity) <- parseFixity fields+ go s{summaryFixities = Map.insert key fixity (summaryFixities s)} rest+ ["defines", namespace, op] : rest -> do+ n <- parseNamespace namespace+ go s{summaryNames = Set.insert (n, OpName op) (summaryNames s)} rest+ ("declares" : parent : kids) : rest -> do+ namespaced <- parseNamespaced kids+ go s{summaryDeclaredMembers = Map.insert (OpName parent) (Set.fromList namespaced) (summaryDeclaredMembers s)} rest+ ("offers" : parent : kids) : rest ->+ go s{summaryListedMembers = Map.insert (OpName parent) (names kids) (summaryListedMembers s)} rest+ _ -> Nothing+ names = Set.fromList . fmap OpName+ qualifier q = if q == "-" then Nothing else Just q+ exportItem = \case+ ["name", namespace, q, op] ->+ (\n -> ExportName n (qualifier q) (OpName op)) <$> parseNamespace namespace+ ["all", q, op] -> Just (ExportAll (qualifier q) (OpName op))+ "some" : q : op : kids -> Just (ExportSome (qualifier q) (OpName op) (fmap OpName kids))+ ["module", m] -> Just (ExportModule m)+ _ -> Nothing+ isListed = \case+ "list" : _ -> True+ "item" : _ -> True+ _ -> False+ importList = \case+ [] -> Just Nothing+ ["list", way] : items -> do+ hiding <- case way of+ "hiding" -> Just True+ "only" -> Just False+ _ -> Nothing+ Just . (,) hiding <$> traverse importItem items+ _ -> Nothing+ importItem = \case+ ["item", "name", op] -> Just (ImportedName (OpName op))+ ["item", "all", op] -> Just (ImportedAll (OpName op))+ "item" : "some" : op : kids -> Just (ImportedSome (OpName op) (fmap OpName kids))+ _ -> Nothing -- | What packages the compiler could see when last asked, if it can still -- see it. cachedInstalled :: Cache -> IO (Maybe [InstalledPackage]) cachedInstalled cache = quietly Nothing $ do- readIfPresent (installedPath cache) T.lines >>= \case+ readIfPresent (at cache ["installed", tokenOf cache]) T.lines >>= \case Nothing -> pure Nothing Just ls -> do- let written =- [(T.unpack path, stamp) | ["db", path, stamp] <- fmap fields ls]+ let (databases, packages) = span (T.isPrefixOf "db ") ls+ written =+ [ (T.unpack (T.drop 1 path), stamp)+ | Just database <- fmap (T.stripPrefix "db ") databases,+ let (stamp, path) = T.breakOn " " database+ ] still <- traverse unchanged written pure $ if not (null written) && and still- then Just (mapMaybe installedFrom ls)+ then installedFrom packages else Nothing where- unchanged (path, stamp) =- quietly False ((== stamp) . T.pack . show <$> getModificationTime path)- installedFrom l = case fields l of- ("pkg" : name : version : modules : dirs) ->- Just- InstalledPackage- { ipName = name,- ipVersion = version,- ipModules = T.words modules,- ipImportDirs = fmap T.unpack dirs- }- _ -> Nothing- fields = T.splitOn "\t"+ unchanged (path, stamp) = quietly False ((== stamp) <$> stampOf path)+ installedFrom = \case+ [] -> Just []+ l : rest -> case T.words l of+ "package" : name : version : modules ->+ let (owned, more) = break (T.isPrefixOf "package ") rest+ reexports = [(v, o) | ["reexport", v, o] <- fmap T.words owned]+ dirs = [T.unpack d | Just d <- fmap (T.stripPrefix "dir ") owned]+ in (InstalledPackage name version modules reexports dirs :)+ <$> installedFrom more+ _ -> Nothing -- | Remember a package the compiler can see, stamped so that a later run -- can tell whether it still does. storeInstalled :: Cache -> Installed -> IO () storeInstalled cache found- | null (installedDatabases found) = pure ()+ | null databases = pure () | otherwise = quietly () $ do- stamps <- traverse stamped (installedDatabases found)- writeAtomically (installedPath cache) . T.unlines $- [T.intercalate "\t" ["db", T.pack path, stamp] | (path, stamp) <- stamps]- <> [ T.intercalate "\t" $- ["pkg", ipName p, ipVersion p, T.unwords (ipModules p)]- <> fmap T.pack (ipImportDirs p)- | p <- installedPackages found- ]+ stamps <- traverse stampOf databases+ writeAtomically (at cache ["installed", tokenOf cache]) . renderLines $+ [["db", stamp, T.pack path] | (path, stamp) <- zip databases stamps]+ <> concatMap packageLines (installedPackages found) where- stamped path = do- stamp <- T.pack . show <$> getModificationTime path- pure (path, stamp)+ databases = installedDatabases found+ packageLines p =+ ("package" : ipName p : ipVersion p : ipModules p)+ : [["reexport", v, o] | (v, o) <- ipReexports p]+ <> [["dir", T.pack dir] | dir <- ipImportDirs p] +-- | When a package database last changed, as one field.+stampOf :: FilePath -> IO Text+stampOf path =+ T.pack . formatTime defaultTimeLocale "%s%Q" <$> getModificationTime path+ -- | Whether asking @cabal@ to solve this plan again has already been tried -- and left the plan exactly as before. cachedFutileSolve :: Cache -> IO Bool cachedFutileSolve cache =- quietly False (doesFileExist (futileSolvePath cache))+ isJust <$> readIfPresent (at cache ["solves", tokenOf cache]) (const ()) -- | Remember that solving again did not widen the plan. storeFutileSolve :: Cache -> IO ()-storeFutileSolve cache = quietly () $ do- createDirectoryIfMissing True (takeDirectory (futileSolvePath cache))- writeAtomically (futileSolvePath cache) ""+storeFutileSolve cache =+ writeAtomically (at cache ["solves", tokenOf cache]) "" -- | The packages an earlier run was still short of after asking @cabal@ to -- fetch them.@@ -277,33 +430,31 @@ cachedFutileFetch cache = fromMaybe [] <$> readIfPresent- (futileFetchPath cache)+ (at cache ["fetches", tokenOf cache]) (filter (not . T.null) . T.lines) -- | Remember what fetching left missing. storeFutileFetch :: Cache -> [Text] -> IO ()-storeFutileFetch cache packages = quietly () $ do- createDirectoryIfMissing True (takeDirectory (futileFetchPath cache))- writeAtomically (futileFetchPath cache) (T.unlines packages)+storeFutileFetch cache =+ writeAtomically (at cache ["fetches", tokenOf cache]) . T.unlines --- | Render a fixity declaration as 'Text'.-renderFixity :: ((Namespace, OpName), Fixity) -> Text+-- | Render a fixity declaration as fields.+renderFixity :: ((Namespace, OpName), Fixity) -> [Text] renderFixity ((namespace, OpName op), Fixity direction precedence) =- T.intercalate- "\t"- [op, renderNamespace namespace, renderDirection direction, T.pack (show precedence)]+ [ op,+ renderNamespace namespace,+ renderDirection direction,+ T.pack (show precedence)+ ] where- renderNamespace = \case- InTypes -> "t"- InTerms -> "v" renderDirection = \case LeftAssoc -> "l" RightAssoc -> "r" NoAssoc -> "n" --- | Parse a fixity declaration from 'Text'.-parseFixity :: Text -> Maybe ((Namespace, OpName), Fixity)-parseFixity line = case T.splitOn "\t" line of+-- | Parse a fixity declaration from fields.+parseFixity :: [Text] -> Maybe ((Namespace, OpName), Fixity)+parseFixity = \case [op, namespace, direction, precedence] -> do n <- parseNamespace namespace d <- parseDirection direction@@ -311,10 +462,6 @@ pure ((n, OpName op), Fixity d p) _ -> Nothing where- parseNamespace = \case- "t" -> Just InTypes- "v" -> Just InTerms- _ -> Nothing parseDirection = \case "l" -> Just LeftAssoc "r" -> Just RightAssoc@@ -324,62 +471,81 @@ Right (p, rest) | T.null rest -> Just p _ -> Nothing --- | The directory where fixities are stored.-fixitiesDir :: Cache -> Text -> FilePath-fixitiesDir (Cache root _) package = root </> "fixities" </> T.unpack package---- | Where @ghc-pkg dump@ is remembered.-installedPath :: Cache -> FilePath-installedPath (Cache root (PlanToken token)) =- root </> "installed" </> T.unpack token+-- | Render a namespace as 'Text'.+renderNamespace :: Namespace -> Text+renderNamespace = \case+ InTypes -> "t"+ InTerms -> "v" --- | An empty file whose mere presence says solving this plan again would--- not widen it.-futileSolvePath :: Cache -> FilePath-futileSolvePath (Cache root (PlanToken token)) =- root </> "solves" </> T.unpack token+-- | Parse a namespace from 'Text'.+parseNamespace :: Text -> Maybe Namespace+parseNamespace = \case+ "t" -> Just InTypes+ "v" -> Just InTerms+ _ -> Nothing --- | The packages fetching left missing, one per line.-futileFetchPath :: Cache -> FilePath-futileFetchPath (Cache root (PlanToken token)) =- root </> "fetches" </> T.unpack token+-- | Render names in their namespaces as fields, each namespace before its+-- name.+renderNamespaced :: Set (Namespace, OpName) -> [Text]+renderNamespaced names =+ concat [[renderNamespace namespace, op] | (namespace, OpName op) <- Set.toAscList names] --- | Every module a package holds, one per line.-modulesPath :: Cache -> Text -> FilePath-modulesPath (Cache root _) package = root </> "modules" </> T.unpack package+-- | Render names as one list of fields for each namespace they are in, the+-- namespace first.+renderByNamespace :: Set (Namespace, OpName) -> [[Text]]+renderByNamespace names =+ [ renderNamespace namespace : ops+ | namespace <- [InTypes, InTerms],+ let ops = [op | (n, OpName op) <- Set.toAscList names, n == namespace],+ not (null ops)+ ] --- | What reading one module established about fixities.-fixitiesPath :: Cache -> Text -> Text -> FilePath-fixitiesPath cache package modName =- fixitiesDir cache package </> T.unpack modName+-- | Parse one list of fields 'renderByNamespace' rendered.+parseByNamespace :: [Text] -> Maybe [(Namespace, OpName)]+parseByNamespace = \case+ [] -> Just []+ namespace : ops -> (\n -> fmap ((n,) . OpName) ops) <$> parseNamespace namespace --- | The directory where export lists are stored.-exportsDir :: Cache -> Text -> FilePath-exportsDir (Cache root _) package = root </> "exports" </> T.unpack package+-- | Parse what 'renderNamespaced' rendered.+parseNamespaced :: [Text] -> Maybe [(Namespace, OpName)]+parseNamespaced = \case+ [] -> Just []+ namespace : op : rest ->+ (:) <$> ((,OpName op) <$> parseNamespace namespace) <*> parseNamespaced rest+ _ -> Nothing --- | What one module's export list was found to say.-exportsPath :: Cache -> Text -> Text -> FilePath-exportsPath cache package modName =- exportsDir cache package </> T.unpack modName+-- | Where the cache keeps what the path names, or 'Nothing' if it keeps+-- nothing.+at :: Cache -> [Text] -> Maybe FilePath+at cache path = case cache of+ Cache root _ -> Just (foldl (</>) root (fmap T.unpack path))+ NoCache -> Nothing --- | The directory where the names kept under a name are stored.-childrenDir :: Cache -> Text -> FilePath-childrenDir (Cache root _) package = root </> "children" </> T.unpack package+-- | The token a cache is kept under.+tokenOf :: Cache -> Text+tokenOf = \case+ Cache _ (PlanToken token) -> token+ NoCache -> "" --- | What one module keeps under each of its names.-childrenPath :: Cache -> Text -> Text -> FilePath-childrenPath cache package modName =- childrenDir cache package </> T.unpack modName+-- | Render lines of fields, the fields separated by spaces.+renderLines :: [[Text]] -> Text+renderLines = T.unlines . fmap T.unwords -- | Read and parse a file, or 'Nothing' where there is none to read.-readIfPresent :: FilePath -> (Text -> a) -> IO (Maybe a)-readIfPresent path parse = quietly Nothing $ do- there <- doesFileExist path- if there then Just . parse <$> T.readFile path else pure Nothing+readIfPresent :: Maybe FilePath -> (Text -> a) -> IO (Maybe a)+readIfPresent place parse = case place of+ Nothing -> pure Nothing+ Just path -> quietly Nothing $ do+ there <- doesFileExist path+ if there then Just . parse <$> T.readFile path else pure Nothing --- | Write via a temporary file and a rename.-writeAtomically :: FilePath -> Text -> IO ()-writeAtomically path contents = quietly () $ do- let temporary = path <> ".tmp"- T.writeFile temporary contents- renameFile temporary path+-- | Write via a temporary file and a rename, making the directory if need+-- be.+writeAtomically :: Maybe FilePath -> Text -> IO ()+writeAtomically place contents = case place of+ Nothing -> pure ()+ Just path -> quietly () $ do+ createDirectoryIfMissing True (takeDirectory path)+ let temporary = path <> ".tmp"+ T.writeFile temporary contents+ renameFile temporary path
@@ -13,16 +13,15 @@ where import Data.Choice (Choice)+import Data.List.NonEmpty (NonEmpty) import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T-import GHC.Hs (HsModule)-import GHC.Hs.Extension (GhcPs) import Tilia.Fixity- ( Direction (..),- Fixities,+ ( Certain (..),+ Established (..), Fixity (..), Import (..), OpName (..),@@ -36,9 +35,12 @@ reachAmbiguous, reachIn, reachUnqualified,+ spellDisagreement,+ spellFixity, spellUnreadIn, ) import Tilia.Palette (Color (Operator, Place), Palette, paint)+import Tilia.Parser (ParsedModule (..)) import Tilia.Utils (indent, lineWidth, wrapTo) -- | Everything that decided one module's fixities.@@ -62,11 +64,12 @@ noteQualified :: Bool, -- | How many operators it was read for, or 'Nothing' when it could not -- be read at all.- noteBrought :: Maybe Int,- -- | Where reading it went before giving up, ending at the module that- -- actually stopped it. Empty for an import that was read, and for one- -- unread on its own account.- noteChain :: [Text]+ noteOperatorCount :: Maybe Int,+ -- | Where reading it went before giving up, for each way that left some+ -- names unsettled, ending at the module that actually stopped it. Empty+ -- for an import that settles every name; a way is empty for one unread+ -- on its own account.+ noteUnsettled :: [[Text]] } deriving (Eq, Show) @@ -76,8 +79,8 @@ noteSpelling :: Text, -- | What the scope answered for it. noteResolution :: Resolution,- -- | Whether two modules in scope disagree about it.- noteAmbiguous :: Bool+ -- | What each import in scope brings, where they disagree about it.+ noteDisagreement :: Maybe (NonEmpty (Text, Fixity)) } deriving (Eq, Show) @@ -86,30 +89,30 @@ -- | Whether @ImplicitPrelude@ is on, so that the Prelude is listed among -- the imports exactly when the module actually has it. Choice "implicitPrelude" ->- -- | What each module in scope exports, as the resolver answers it.- (Text -> IO (Maybe (Fixities))) ->- -- | Where reading a module went before giving up, asked only of the ones- -- the line above gave up on.- (Text -> IO [Text]) ->+ -- | What reading each module in scope established, as the resolver+ -- answers it.+ (Text -> IO Established) -> -- | The scope the module was formatted under. Scope ->- -- | The module.- HsModule GhcPs ->+ -- | The module's configurations.+ NonEmpty ParsedModule -> IO FixityNotes-fixityNotes implicitPrelude resolve chainOf scope hsModule = do- brought <- traverse alongside (moduleImports implicitPrelude hsModule)+fixityNotes implicitPrelude resolve scope configurations = do+ importNotes <- traverse alongside (moduleImports implicitPrelude (fmap pmModule configurations)) pure FixityNotes- { notedImports = brought,+ { notedImports = importNotes, notedOperators = fmap aboutOperator used, notedDeclarations = here } where alongside i = do answer <- resolve (importModule i)- below <- case answer of- Just _ -> pure []- Nothing -> chainOf (importModule i)+ let fixities = establishedFixities answer+ readNothing =+ Map.null fixities+ && Set.null (certainNames (establishedCertain answer))+ && not (Set.null (establishedUntold answer)) pure ImportNote { noteModule = importModule i,@@ -118,15 +121,19 @@ then Nothing else Just (importAlias i), noteQualified = importQualified i,- noteBrought = Set.size . Set.fromList . fmap snd . Map.keys <$> answer,- noteChain = below+ noteOperatorCount =+ if readNothing+ then Nothing+ else Just (Set.size (Set.map snd (Map.keysSet fixities))),+ noteUnsettled =+ Set.toList (Map.keysSet (establishedUnsettled answer) <> establishedUntold answer) } used = Map.elems ( Map.fromList [ ((namespace, uncurry operatorSpelling u), (namespace, u))- | (namespace, u) <- operatorsUsed hsModule+ | (namespace, u) <- concatMap (operatorsUsed . pmGathered) configurations ] ) @@ -143,8 +150,8 @@ OperatorNote { noteSpelling = operatorSpelling qualifier op, noteResolution = lookupFixity scope namespace qualifier op,- noteAmbiguous =- (qualifier, op) `elem` reachAmbiguous (reachIn namespace scope)+ noteDisagreement =+ Map.lookup (qualifier, op) (reachAmbiguous (reachIn namespace scope)) } -- | Set out all the 'FixityNotes' per file.@@ -178,13 +185,15 @@ named (noteModule i) <> qualification i <> ": "- <> case noteBrought i of- Nothing -> "could not be read" <> through (noteChain i)- Just n -> operators n+ <> case noteOperatorCount i of+ Nothing -> "could not be read" <> through (noteUnsettled i)+ Just n+ | null (noteUnsettled i) -> operators n+ | otherwise -> operators n <> ", not settling every name" <> through (noteUnsettled i) - through = \case+ through ways = case filter (not . null) ways of [] -> ""- below -> ", through " <> T.intercalate " → " (fmap named below)+ below -> ", through " <> T.intercalate " or " (fmap (T.intercalate " → " . fmap named) below) qualification i = case (noteQualified i, noteAlias i) of (True, Just alias) -> " qualified as " <> named alias@@ -192,25 +201,27 @@ (False, Just alias) -> " as " <> named alias (False, Nothing) -> "" - fromOwn (op, fixity) = operator op <> " " <> spelled fixity+ fromOwn (op, fixity) = operator op <> " " <> spellFixity fixity fromOperator o = operator (noteSpelling o) <> " " <> case noteResolution o of Resolved fixity provenance ->- spelled fixity <> ", " <> from provenance <> ambiguously o+ spellFixity fixity <> ", " <> from provenance <> ambiguously o Unresolved missing -> "unknown: may be declared in " <> spellUnreadIn palette missing from = \case DeclaredHere -> "declared in this module" DeclaredIn m -> "declared in " <> named m+ BuiltIn -> "built into the language" ReportDefault -> "the Report's default, nothing in scope declaring it" - ambiguously o- | noteAmbiguous o = ", and two modules in scope disagree about it"- | otherwise = ""+ ambiguously o = case noteDisagreement o of+ Nothing -> ""+ Just offers ->+ ", and the imports disagree about it: " <> spellDisagreement palette offers named = paint palette Place operator = paint palette Operator@@ -218,13 +229,3 @@ operators = \case 1 -> "1 operator" n -> T.pack (show n) <> " operators"---- | A fixity, written the way it would be declared.-spelled :: Fixity -> Text-spelled (Fixity direction precedence) =- which direction <> " " <> T.pack (show precedence)- where- which = \case- LeftAssoc -> "infixl"- RightAssoc -> "infixr"- NoAssoc -> "infix"
@@ -8,6 +8,7 @@ HiName (..), HiExport (..), decodeHiFile,+ primopFixities, ) where @@ -16,11 +17,23 @@ import Data.ByteString (ByteString) import Data.ByteString qualified as BS import Data.ByteString.Unsafe qualified as BS+import Data.Char (ord)+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map import Data.Text (Text) import Data.Text qualified as T import Data.Text.Encoding qualified as T import Data.Word (Word32, Word8)-import Tilia.Fixity (Direction (..), Fixity (..), Namespace (..), OpName (..))+import Tilia.Fixity+ ( Direction (..),+ Fixities,+ Fixity (..),+ Namespace (..),+ OpName (..),+ )+import Tilia.Fixity.KnownKeys.Ghc910 qualified as Ghc910+import Tilia.Fixity.KnownKeys.Ghc912 qualified as Ghc912+import Tilia.Fixity.KnownKeys.Ghc914 qualified as Ghc914 -- | What an interface file says about the operators its module offers. data HiFile = HiFile@@ -37,8 +50,12 @@ data HiName = -- | A name with the module that defines it and its namespace. HiName Text Namespace OpName- | -- | A name GHC knows by its unique alone, which only GHC can resolve.- KnownKey Word32+ | -- | Built-in syntax, such as @:@, which GHC writes without the module+ -- that defines it.+ BuiltInSyntax Namespace OpName+ | -- | A name GHC writes as a key outside the table for its series, such+ -- as a tuple's, which no fixity depends on.+ Unneeded deriving (Eq, Show) -- | One entry of an export list.@@ -61,7 +78,9 @@ -- | The strings and names a file refers to by index. data Tables = Tables { tablesStrings :: Array Int ByteString,- tablesNames :: Array Int (Int, Namespace, Int)+ tablesNames :: Array Int (Int, Namespace, Int),+ -- | The names the series writes as keys.+ tablesKeyed :: Map Word32 HiName } -- | An interface file, from its header as far as its fixities.@@ -83,7 +102,7 @@ unless' (series == Series910) (() <$ pointer series) strings <- lookingAt stringsAt dictionary names <- lookingAt namesAt symbolTable- let tables = Tables strings names+ let tables = Tables strings names (keyedNames series) payload series tables -- | What follows the tables, as far as the fixities.@@ -208,8 +227,34 @@ <*> pure namespace <*> (OpName <$> fastString (tablesStrings tables) occ) | otherwise -> failure "name index out of range"- 0x80000000 -> pure (KnownKey w)+ 0x80000000 -> pure (Map.findWithDefault Unneeded w (tablesKeyed tables)) _ -> failure "unknown name tag"++-- | The names a series writes as keys.+keyedNames :: Series -> Map Word32 HiName+keyedNames = \case+ Series910 -> keyed Ghc910.knownKeys+ Series912 -> keyed Ghc912.knownKeys+ Series914 -> keyed Ghc914.knownKeys+ where+ keyed entries =+ Map.fromList+ [ ( 0x80000000 .|. (fromIntegral (ord tag) `shiftL` 22) .|. fromIntegral index,+ maybe (BuiltInSyntax namespace) (`HiName` namespace) printedWith (OpName n)+ )+ | (tag, index, namespace, printedWith, n) <- entries+ ]++-- | The fixities of the primitive operations, by the name each series gives+-- the module GHC keeps them in, which has no interface file to read them+-- from.+primopFixities :: Map Text Fixities+primopFixities =+ Map.fromListWith+ Map.union+ [ (m, Map.fromList [((InTerms, OpName op), f) | (op, f) <- declared])+ | (m, declared) <- [Ghc910.primops, Ghc912.primops, Ghc914.primops]+ ] -- | One entry of an export list. export :: Tables -> Get HiExport
@@ -11,17 +11,19 @@ ) where +import Control.DeepSeq (NFData) import Control.Monad ((<=<)) import Data.ByteString qualified as BS import Data.Char (isUpper) import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map-import Data.Maybe (mapMaybe)+import Data.Maybe (mapMaybe, maybeToList) import Data.Set (Set) import Data.Set qualified as Set import Data.Text (Text) import Data.Text qualified as T import Data.Text.Read qualified as T+import GHC.Generics (Generic) import Tilia.Fixity import Tilia.Fixity.HiFile (HiExport (..), HiFile (..), HiName (..), decodeHiFile) import Tilia.Process (readProgramOutput)@@ -34,12 +36,17 @@ interfaceDeclares :: Fixities, -- | The names it reexports, each with the source module. interfaceReexports :: [(Text, OpName)],- -- | What it exports under each name. This is what @T(..)@ in an import- -- list stands for.- interfaceChildren :: Map OpName (Set OpName)+ -- | The members it exports with each name, which is what @T(..)@ in an+ -- import list stands for.+ interfaceMembers :: Map OpName (Set OpName),+ -- | What it certainly brings into scope, where the interface was decoded+ -- rather than read off what @ghc --show-iface@ prints.+ interfaceExports :: Maybe Certain }- deriving (Eq, Show)+ deriving (Eq, Show, Generic) +instance NFData Interface+ -- | Read a module's interface file. -- -- The file is decoded directly where it can be, and put to @ghc@@ -59,41 +66,54 @@ Nothing -> pure Nothing Just out -> pure (parseInterface modName out) --- | What a decoded interface file says, if it is this module's and names--- nothing only GHC can resolve.+-- | What a decoded interface file says, if it is this module's. fromHiFile :: Text -> HiFile -> Either Text Interface fromHiFile modName HiFile{..} | hiModule /= modName = Left ("the interface of " <> hiModule)- | otherwise = do- exports <- traverse resolved hiExports- pure+ | otherwise =+ Right Interface { interfaceDeclares = Map.fromList [((namespace, op), fixity) | (namespace, op, fixity) <- hiFixities], interfaceReexports = [ (m, op) | names <- exports,- (m, _, op) <- names,+ (Just m, _, op) <- names, m /= hiModule ],- interfaceChildren =- Map.fromListWith- Set.union- [ (op, Set.fromList [kid | (_, _, kid) <- kids])- | parent@(_, _, op) : named <- exports,- let kids = case named of- first : rest | first == parent -> rest- _ -> named,- not (null kids)- ]+ interfaceMembers = Map.map (Set.map snd) members,+ interfaceExports =+ Just+ Certain+ { certainNames = Set.fromList [(namespace, op) | (_, namespace, op) <- exported],+ certainMembers = members+ } } where+ exports = concatMap resolved hiExports+ exported = concatMap exportedNames hiExports+ members =+ Map.fromListWith+ Set.union+ [ (op, Set.fromList [(namespace, kid) | (_, namespace, kid) <- kids])+ | parent@(_, _, op) : named <- exports,+ let kids = case named of+ first : rest | first == parent -> rest+ _ -> named,+ not (null kids)+ ]+ exportedNames = \case+ Avail n -> maybeToList (known n)+ AvailTC _ ns -> mapMaybe known ns resolved = \case- Avail n -> pure <$> known n- AvailTC p ns -> (:) <$> known p <*> traverse known ns+ Avail n -> maybe [] (pure . pure) (known n)+ AvailTC p ns ->+ let kids = mapMaybe known ns+ in maybe (fmap pure kids) (\named -> [named : kids]) (known p) known = \case- HiName m namespace op -> Right (m, namespace, op)- KnownKey _ -> Left "a name only GHC can resolve"+ HiName m namespace op -> Just (Just m, namespace, op)+ BuiltInSyntax namespace op -> Just (Nothing, namespace, op)+ Unneeded -> Nothing -- | Read what @ghc --show-iface@ printed, if it is this module's interface. parseInterface :: Text -> Text -> Maybe Interface@@ -107,8 +127,9 @@ (typeNamesIn out) (Map.fromList (concatMap declared (sectionsNamed "fixities"))), interfaceReexports = concatMap reexports (sectionsNamed "exports:"),- interfaceChildren =- Map.unionsWith Set.union (fmap childrenIn (sectionsNamed "exports:"))+ interfaceMembers =+ Map.unionsWith Set.union (fmap membersIn (sectionsNamed "exports:")),+ interfaceExports = Nothing } where holdsModule l = case T.words l of@@ -121,7 +142,7 @@ ] declared = mapMaybe fixityEntry . T.splitOn "," reexports = concatMap reexportsIn . T.words- childrenIn section =+ membersIn section = Map.fromListWith Set.union [ (nameOnly parent, Set.fromList (fmap nameOnly kids))
@@ -0,0 +1,3891 @@+{-# LANGUAGE OverloadedStrings #-}++-- | The names GHC 9.10 writes into interface files as keys, and the+-- fixities of its primitive operations.+--+-- Generated by @generate-known-keys.py@ in the root of the repository, from+-- GHC 9.10.3. Run that script again to update this table.+module Tilia.Fixity.KnownKeys.Ghc910+ ( knownKeys,+ primops,+ )+where++import Data.Text (Text)+import Tilia.Fixity (Direction (..), Fixity (..), Namespace (..))++-- | Every name a key stands for: the tag and index of its key, its+-- namespace, the module GHC prints it with, if it prints one, and its name.+knownKeys :: [(Char, Int, Namespace, Maybe Text, Text)]+knownKeys =+ [ ('0', 1, InTerms, Just "GHC.Prim.Panic", "absentError"),+ ('0', 2, InTerms, Just "GHC.Prim.Panic", "absentConstraintError"),+ ('0', 3, InTerms, Just "GHC.Internal.Base", "augment"),+ ('0', 4, InTerms, Just "GHC.Internal.Base", "++"),+ ('0', 5, InTerms, Just "GHC.Internal.Base", "build"),+ ('0', 6, InTerms, Just "GHC.Internal.Base", "foldr"),+ ('0', 7, InTerms, Just "GHC.Internal.Control.Exception.Base", "recSelError"),+ ('0', 8, InTerms, Just "GHC.Prim", "seq"),+ ('0', 9, InTerms, Just "GHC.Prim.Panic", "absentSumFieldError"),+ ('0', 10, InTerms, Just "GHC.Internal.Base", "eqString"),+ ('0', 11, InTerms, Just "GHC.Internal.Control.Exception.Base", "noMethodBindingError"),+ ('0', 12, InTerms, Just "GHC.Internal.Control.Exception.Base", "nonExhaustiveGuardsError"),+ ('0', 13, InTerms, Just "GHC.Internal.Control.Exception.Base", "impossibleError"),+ ('0', 14, InTerms, Just "GHC.Internal.Control.Exception.Base", "impossibleConstraintError"),+ ('0', 15, InTerms, Just "GHC.Internal.Control.Exception.Base", "patError"),+ ('0', 16, InTerms, Just "GHC.Prim", "realWorld#"),+ ('0', 17, InTerms, Just "GHC.Internal.Control.Exception.Base", "recConError"),+ ('0', 18, InTerms, Just "GHC.CString", "unpackCStringUtf8#"),+ ('0', 19, InTerms, Just "GHC.CString", "unpackAppendCStringUtf8#"),+ ('0', 20, InTerms, Just "GHC.CString", "unpackFoldrCStringUtf8#"),+ ('0', 21, InTerms, Just "GHC.CString", "unpackCString#"),+ ('0', 22, InTerms, Just "GHC.CString", "unpackAppendCString#"),+ ('0', 23, InTerms, Just "GHC.CString", "unpackFoldrCString#"),+ ('0', 24, InTerms, Just "GHC.Prim", "void#"),+ ('0', 25, InTerms, Just "GHC.Internal.Control.Exception.Base", "typeError"),+ ('0', 26, InTerms, Just "GHC.Classes", "divInt#"),+ ('0', 27, InTerms, Just "GHC.Classes", "modInt#"),+ ('0', 28, InTerms, Just "GHC.CString", "cstringLength#"),+ ('0', 31, InTerms, Just "GHC.Internal.List", "concat"),+ ('0', 32, InTerms, Just "GHC.Internal.List", "filter"),+ ('0', 33, InTerms, Just "GHC.Internal.List", "zip"),+ ('0', 34, InTerms, Just "GHC.Internal.Base", "bindIO"),+ ('0', 35, InTerms, Just "GHC.Internal.Base", "returnIO"),+ ('0', 36, InTerms, Just "GHC.Internal.Stable", "newStablePtr"),+ ('0', 37, InTerms, Just "GHC.Internal.System.IO", "print"),+ ('0', 38, InTerms, Just "GHC.Internal.IO", "failIO"),+ ('0', 39, InTerms, Just "GHC.Prim", "nullAddr#"),+ ('0', 43, InTerms, Just "GHC.Internal.Base", "otherwise"),+ ('0', 44, InTerms, Just "GHC.Internal.Base", "assert"),+ ('0', 45, InTerms, Just "GHC.Prim", "leftSection"),+ ('0', 46, InTerms, Just "GHC.Prim", "rightSection"),+ ('0', 102, InTerms, Just "GHC.Internal.TopHandler", "runMainIO"),+ ('0', 103, InTerms, Just "GHC.Internal.Base", "thenIO"),+ ('0', 104, InTerms, Just "GHC.Magic", "lazy"),+ ('0', 105, InTerms, Just "GHC.Internal.IO.Exception", "assertError"),+ ('0', 106, InTerms, Just "GHC.Magic", "oneShot"),+ ('0', 107, InTerms, Just "GHC.Magic", "runRW#"),+ ('0', 108, InTerms, Just "GHC.Internal.Debug.Trace", "trace"),+ ('0', 109, InTerms, Just "GHC.Magic", "nospec"),+ ('0', 120, InTerms, Just "GHC.Magic", "inline"),+ ('0', 121, InTerms, Just "GHC.Internal.Base", "map"),+ ('0', 123, InTerms, Just "GHC.Internal.Base", "$"),+ ('0', 125, InTerms, Just "GHC.Internal.Exts", "considerAccessible"),+ ('0', 126, InTerms, Just "GHC.Magic", "noinline"),+ ('0', 127, InTerms, Just "GHC.Magic", "noinlineConstraint"),+ ('0', 128, InTerms, Just "GHC.Internal.Float", "integerToFloat#"),+ ('0', 129, InTerms, Just "GHC.Internal.Float", "integerToDouble#"),+ ('0', 130, InTerms, Just "GHC.Internal.Float", "naturalToFloat#"),+ ('0', 131, InTerms, Just "GHC.Internal.Float", "naturalToDouble#"),+ ('0', 132, InTerms, Just "GHC.Internal.Float", "rationalToFloat"),+ ('0', 133, InTerms, Just "GHC.Internal.Float", "rationalToDouble"),+ ('0', 157, InTerms, Just "GHC.Prim", "coerce"),+ ('0', 160, InTerms, Just "GHC.Internal.Num", "fromInteger"),+ ('0', 161, InTerms, Just "GHC.Internal.Num", "-"),+ ('0', 162, InTerms, Just "GHC.Internal.Real", "fromRational"),+ ('0', 163, InTerms, Just "GHC.Internal.Enum", "enumFrom"),+ ('0', 164, InTerms, Just "GHC.Internal.Enum", "enumFromThen"),+ ('0', 165, InTerms, Just "GHC.Internal.Enum", "enumFromTo"),+ ('0', 166, InTerms, Just "GHC.Internal.Enum", "enumFromThenTo"),+ ('0', 167, InTerms, Just "GHC.Classes", "=="),+ ('0', 168, InTerms, Just "GHC.Classes", ">="),+ ('0', 169, InTerms, Just "GHC.Internal.Num", "negate"),+ ('0', 171, InTerms, Just "GHC.Internal.Base", ">>="),+ ('0', 172, InTerms, Just "GHC.Internal.Base", ">>"),+ ('0', 173, InTerms, Just "GHC.Internal.Base", "fmap"),+ ('0', 174, InTerms, Just "GHC.Internal.Base", "return"),+ ('0', 175, InTerms, Just "GHC.Internal.Control.Monad.Fix", "mfix"),+ ('0', 176, InTerms, Just "GHC.Internal.Control.Monad.Fail", "fail"),+ ('0', 177, InTerms, Just "GHC.Internal.OverloadedLabels", "fromLabel"),+ ('0', 180, InTerms, Just "GHC.Internal.Control.Arrow", "arr"),+ ('0', 181, InTerms, Just "GHC.Internal.Desugar", ">>>"),+ ('0', 182, InTerms, Just "GHC.Internal.Control.Arrow", "first"),+ ('0', 183, InTerms, Just "GHC.Internal.Control.Arrow", "app"),+ ('0', 184, InTerms, Just "GHC.Internal.Control.Arrow", "|||"),+ ('0', 185, InTerms, Just "GHC.Internal.Control.Arrow", "loop"),+ ('0', 186, InTerms, Just "GHC.Internal.Data.String", "fromString"),+ ('0', 187, InTerms, Just "GHC.Internal.Desugar", "toAnnotationWrapper"),+ ('0', 190, InTerms, Just "GHC.Internal.Real", "fromIntegral"),+ ('0', 191, InTerms, Just "GHC.Internal.Real", "realToFrac"),+ ('0', 192, InTerms, Just "GHC.Internal.Real", "toInteger"),+ ('0', 193, InTerms, Just "GHC.Internal.Real", "toRational"),+ ('0', 194, InTerms, Just "GHC.Internal.Control.Monad", "guard"),+ ('0', 195, InTerms, Just "GHC.Internal.Control.Monad", "liftM"),+ ('0', 196, InTerms, Just "Control.Monad.Zip", "mzip"),+ ('0', 197, InTerms, Just "GHC.Internal.GHCi", "ghciStepIO"),+ ('0', 198, InTypes, Just "GHC.Internal.IsList", "IsList"),+ ('0', 199, InTerms, Just "GHC.Internal.IsList", "fromList"),+ ('0', 200, InTerms, Just "Language.Haskell.TH.Syntax", "returnQ"),+ ('0', 201, InTerms, Just "Language.Haskell.TH.Syntax", "bindQ"),+ ('0', 202, InTerms, Just "Language.Haskell.TH.Syntax", "sequenceQ"),+ ('0', 203, InTerms, Just "Language.Haskell.TH.Syntax", "lift"),+ ('0', 204, InTerms, Just "Language.Haskell.TH.Syntax", "newName"),+ ('0', 205, InTerms, Just "Language.Haskell.TH.Syntax", "mkName"),+ ('0', 206, InTerms, Just "Language.Haskell.TH.Syntax", "mkNameG_v"),+ ('0', 207, InTerms, Just "Language.Haskell.TH.Syntax", "mkNameG_d"),+ ('0', 208, InTerms, Just "Language.Haskell.TH.Syntax", "mkNameG_tc"),+ ('0', 209, InTerms, Just "Language.Haskell.TH.Syntax", "mkNameL"),+ ('0', 210, InTerms, Just "Language.Haskell.TH.Syntax", "mkNameS"),+ ('0', 211, InTerms, Just "Language.Haskell.TH.Syntax", "unType"),+ ('0', 212, InTerms, Just "Language.Haskell.TH.Syntax", "unTypeCode"),+ ('0', 214, InTerms, Just "Language.Haskell.TH.Syntax", "liftTyped"),+ ('0', 215, InTerms, Just "Language.Haskell.TH.Syntax", "mkModName"),+ ('0', 216, InTerms, Just "Language.Haskell.TH.Syntax", "unsafeCodeCoerce"),+ ('0', 217, InTerms, Just "Language.Haskell.TH.Syntax", "mkNameQ"),+ ('0', 218, InTerms, Just "Language.Haskell.TH.Syntax", "mkNameG_fld"),+ ('0', 220, InTerms, Just "Language.Haskell.TH.Lib.Internal", "charL"),+ ('0', 221, InTerms, Just "Language.Haskell.TH.Lib.Internal", "stringL"),+ ('0', 222, InTerms, Just "Language.Haskell.TH.Lib.Internal", "integerL"),+ ('0', 223, InTerms, Just "Language.Haskell.TH.Lib.Internal", "intPrimL"),+ ('0', 224, InTerms, Just "Language.Haskell.TH.Lib.Internal", "wordPrimL"),+ ('0', 225, InTerms, Just "Language.Haskell.TH.Lib.Internal", "floatPrimL"),+ ('0', 226, InTerms, Just "Language.Haskell.TH.Lib.Internal", "doublePrimL"),+ ('0', 227, InTerms, Just "Language.Haskell.TH.Lib.Internal", "rationalL"),+ ('0', 228, InTerms, Just "Language.Haskell.TH.Lib.Internal", "stringPrimL"),+ ('0', 229, InTerms, Just "Language.Haskell.TH.Lib.Internal", "charPrimL"),+ ('0', 230, InTerms, Just "Language.Haskell.TH.Syntax", "liftString"),+ ('0', 240, InTerms, Just "Language.Haskell.TH.Lib.Internal", "litP"),+ ('0', 241, InTerms, Just "Language.Haskell.TH.Lib.Internal", "varP"),+ ('0', 242, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tupP"),+ ('0', 243, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unboxedTupP"),+ ('0', 244, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unboxedSumP"),+ ('0', 245, InTerms, Just "Language.Haskell.TH.Lib.Internal", "conP"),+ ('0', 246, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixP"),+ ('0', 247, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tildeP"),+ ('0', 248, InTerms, Just "Language.Haskell.TH.Lib.Internal", "bangP"),+ ('0', 249, InTerms, Just "Language.Haskell.TH.Lib.Internal", "asP"),+ ('0', 250, InTerms, Just "Language.Haskell.TH.Lib.Internal", "wildP"),+ ('0', 251, InTerms, Just "Language.Haskell.TH.Lib.Internal", "recP"),+ ('0', 252, InTerms, Just "Language.Haskell.TH.Lib.Internal", "listP"),+ ('0', 253, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sigP"),+ ('0', 254, InTerms, Just "Language.Haskell.TH.Lib.Internal", "viewP"),+ ('0', 255, InTerms, Just "Language.Haskell.TH.Lib.Internal", "typeP"),+ ('0', 256, InTerms, Just "Language.Haskell.TH.Lib.Internal", "invisP"),+ ('0', 260, InTerms, Just "Language.Haskell.TH.Lib.Internal", "fieldPat"),+ ('0', 261, InTerms, Just "Language.Haskell.TH.Lib.Internal", "match"),+ ('0', 262, InTerms, Just "Language.Haskell.TH.Lib.Internal", "clause"),+ ('0', 270, InTerms, Just "Language.Haskell.TH.Lib.Internal", "varE"),+ ('0', 271, InTerms, Just "Language.Haskell.TH.Lib.Internal", "conE"),+ ('0', 272, InTerms, Just "Language.Haskell.TH.Lib.Internal", "litE"),+ ('0', 273, InTerms, Just "Language.Haskell.TH.Lib.Internal", "appE"),+ ('0', 274, InTerms, Just "Language.Haskell.TH.Lib.Internal", "appTypeE"),+ ('0', 275, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixE"),+ ('0', 276, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixApp"),+ ('0', 277, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sectionL"),+ ('0', 278, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sectionR"),+ ('0', 279, InTerms, Just "Language.Haskell.TH.Lib.Internal", "lamE"),+ ('0', 280, InTerms, Just "Language.Haskell.TH.Lib.Internal", "lamCaseE"),+ ('0', 281, InTerms, Just "Language.Haskell.TH.Lib.Internal", "lamCasesE"),+ ('0', 282, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tupE"),+ ('0', 283, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unboxedTupE"),+ ('0', 284, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unboxedSumE"),+ ('0', 285, InTerms, Just "Language.Haskell.TH.Lib.Internal", "condE"),+ ('0', 286, InTerms, Just "Language.Haskell.TH.Lib.Internal", "multiIfE"),+ ('0', 287, InTerms, Just "Language.Haskell.TH.Lib.Internal", "letE"),+ ('0', 288, InTerms, Just "Language.Haskell.TH.Lib.Internal", "caseE"),+ ('0', 289, InTerms, Just "Language.Haskell.TH.Lib.Internal", "doE"),+ ('0', 290, InTerms, Just "Language.Haskell.TH.Lib.Internal", "compE"),+ ('0', 291, InTerms, Just "Language.Haskell.TH.Lib.Internal", "fromE"),+ ('0', 292, InTerms, Just "Language.Haskell.TH.Lib.Internal", "fromThenE"),+ ('0', 293, InTerms, Just "Language.Haskell.TH.Lib.Internal", "fromToE"),+ ('0', 294, InTerms, Just "Language.Haskell.TH.Lib.Internal", "fromThenToE"),+ ('0', 295, InTerms, Just "Language.Haskell.TH.Lib.Internal", "listE"),+ ('0', 296, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sigE"),+ ('0', 297, InTerms, Just "Language.Haskell.TH.Lib.Internal", "recConE"),+ ('0', 298, InTerms, Just "Language.Haskell.TH.Lib.Internal", "recUpdE"),+ ('0', 299, InTerms, Just "Language.Haskell.TH.Lib.Internal", "staticE"),+ ('0', 300, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unboundVarE"),+ ('0', 301, InTerms, Just "Language.Haskell.TH.Lib.Internal", "labelE"),+ ('0', 302, InTerms, Just "Language.Haskell.TH.Lib.Internal", "implicitParamVarE"),+ ('0', 303, InTerms, Just "Language.Haskell.TH.Lib.Internal", "mdoE"),+ ('0', 304, InTerms, Just "Language.Haskell.TH.Lib.Internal", "getFieldE"),+ ('0', 305, InTerms, Just "Language.Haskell.TH.Lib.Internal", "projectionE"),+ ('0', 306, InTerms, Just "Language.Haskell.TH.Lib.Internal", "typeE"),+ ('0', 307, InTerms, Just "Language.Haskell.TH.Lib.Internal", "fieldExp"),+ ('0', 308, InTerms, Just "Language.Haskell.TH.Lib.Internal", "guardedB"),+ ('0', 309, InTerms, Just "Language.Haskell.TH.Lib.Internal", "normalB"),+ ('0', 310, InTerms, Just "Language.Haskell.TH.Lib.Internal", "normalGE"),+ ('0', 311, InTerms, Just "Language.Haskell.TH.Lib.Internal", "patGE"),+ ('0', 312, InTerms, Just "Language.Haskell.TH.Lib.Internal", "bindS"),+ ('0', 313, InTerms, Just "Language.Haskell.TH.Lib.Internal", "letS"),+ ('0', 314, InTerms, Just "Language.Haskell.TH.Lib.Internal", "noBindS"),+ ('0', 315, InTerms, Just "Language.Haskell.TH.Lib.Internal", "parS"),+ ('0', 316, InTerms, Just "Language.Haskell.TH.Lib.Internal", "recS"),+ ('0', 320, InTerms, Just "Language.Haskell.TH.Lib.Internal", "funD"),+ ('0', 321, InTerms, Just "Language.Haskell.TH.Lib.Internal", "valD"),+ ('0', 322, InTerms, Just "Language.Haskell.TH.Lib.Internal", "dataD"),+ ('0', 323, InTerms, Just "Language.Haskell.TH.Lib.Internal", "newtypeD"),+ ('0', 324, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tySynD"),+ ('0', 325, InTerms, Just "Language.Haskell.TH.Lib.Internal", "classD"),+ ('0', 326, InTerms, Just "Language.Haskell.TH.Lib.Internal", "instanceWithOverlapD"),+ ('0', 328, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sigD"),+ ('0', 329, InTerms, Just "Language.Haskell.TH.Lib.Internal", "forImpD"),+ ('0', 330, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragInlD"),+ ('0', 331, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragSpecD"),+ ('0', 332, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragSpecInlD"),+ ('0', 333, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragSpecInstD"),+ ('0', 334, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragRuleD"),+ ('0', 335, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragAnnD"),+ ('0', 336, InTerms, Just "Language.Haskell.TH.Lib.Internal", "dataFamilyD"),+ ('0', 337, InTerms, Just "Language.Haskell.TH.Lib.Internal", "openTypeFamilyD"),+ ('0', 338, InTerms, Just "Language.Haskell.TH.Lib.Internal", "dataInstD"),+ ('0', 339, InTerms, Just "Language.Haskell.TH.Lib.Internal", "newtypeInstD"),+ ('0', 340, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tySynInstD"),+ ('0', 341, InTerms, Just "Language.Haskell.TH.Lib.Internal", "closedTypeFamilyD"),+ ('0', 342, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixLWithSpecD"),+ ('0', 343, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixRWithSpecD"),+ ('0', 344, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixNWithSpecD"),+ ('0', 345, InTerms, Just "Language.Haskell.TH.Lib.Internal", "roleAnnotD"),+ ('0', 346, InTerms, Just "Language.Haskell.TH.Lib.Internal", "standaloneDerivWithStrategyD"),+ ('0', 347, InTerms, Just "Language.Haskell.TH.Lib.Internal", "defaultSigD"),+ ('0', 348, InTerms, Just "Language.Haskell.TH.Lib.Internal", "patSynD"),+ ('0', 349, InTerms, Just "Language.Haskell.TH.Lib.Internal", "patSynSigD"),+ ('0', 350, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragCompleteD"),+ ('0', 351, InTerms, Just "Language.Haskell.TH.Lib.Internal", "implicitParamBindD"),+ ('0', 352, InTerms, Just "Language.Haskell.TH.Lib.Internal", "kiSigD"),+ ('0', 353, InTerms, Just "Language.Haskell.TH.Lib.Internal", "defaultD"),+ ('0', 354, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragOpaqueD"),+ ('0', 355, InTerms, Just "Language.Haskell.TH.Lib.Internal", "typeDataD"),+ ('0', 356, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragSCCFunD"),+ ('0', 357, InTerms, Just "Language.Haskell.TH.Lib.Internal", "pragSCCFunNamedD"),+ ('0', 361, InTerms, Just "Language.Haskell.TH.Lib.Internal", "cxt"),+ ('0', 362, InTerms, Just "Language.Haskell.TH.Lib.Internal", "noSourceUnpackedness"),+ ('0', 363, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sourceNoUnpack"),+ ('0', 364, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sourceUnpack"),+ ('0', 365, InTerms, Just "Language.Haskell.TH.Lib.Internal", "noSourceStrictness"),+ ('0', 366, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sourceLazy"),+ ('0', 367, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sourceStrict"),+ ('0', 368, InTerms, Just "Language.Haskell.TH.Lib.Internal", "normalC"),+ ('0', 369, InTerms, Just "Language.Haskell.TH.Lib.Internal", "recC"),+ ('0', 370, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixC"),+ ('0', 371, InTerms, Just "Language.Haskell.TH.Lib.Internal", "forallC"),+ ('0', 372, InTerms, Just "Language.Haskell.TH.Lib.Internal", "gadtC"),+ ('0', 373, InTerms, Just "Language.Haskell.TH.Lib.Internal", "recGadtC"),+ ('0', 374, InTerms, Just "Language.Haskell.TH.Lib.Internal", "bang"),+ ('0', 375, InTerms, Just "Language.Haskell.TH.Lib.Internal", "bangType"),+ ('0', 376, InTerms, Just "Language.Haskell.TH.Lib.Internal", "varBangType"),+ ('0', 377, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unidir"),+ ('0', 378, InTerms, Just "Language.Haskell.TH.Lib.Internal", "implBidir"),+ ('0', 379, InTerms, Just "Language.Haskell.TH.Lib.Internal", "explBidir"),+ ('0', 380, InTerms, Just "Language.Haskell.TH.Lib.Internal", "prefixPatSyn"),+ ('0', 381, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixPatSyn"),+ ('0', 382, InTerms, Just "Language.Haskell.TH.Lib.Internal", "recordPatSyn"),+ ('0', 390, InTerms, Just "Language.Haskell.TH.Lib.Internal", "forallT"),+ ('0', 391, InTerms, Just "Language.Haskell.TH.Lib.Internal", "forallVisT"),+ ('0', 392, InTerms, Just "Language.Haskell.TH.Lib.Internal", "varT"),+ ('0', 393, InTerms, Just "Language.Haskell.TH.Lib.Internal", "conT"),+ ('0', 394, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tupleT"),+ ('0', 395, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unboxedTupleT"),+ ('0', 396, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unboxedSumT"),+ ('0', 397, InTerms, Just "Language.Haskell.TH.Lib.Internal", "arrowT"),+ ('0', 398, InTerms, Just "Language.Haskell.TH.Lib.Internal", "listT"),+ ('0', 399, InTerms, Just "Language.Haskell.TH.Lib.Internal", "appT"),+ ('0', 400, InTerms, Just "Language.Haskell.TH.Lib.Internal", "appKindT"),+ ('0', 401, InTerms, Just "Language.Haskell.TH.Lib.Internal", "sigT"),+ ('0', 402, InTerms, Just "Language.Haskell.TH.Lib.Internal", "equalityT"),+ ('0', 403, InTerms, Just "Language.Haskell.TH.Lib.Internal", "litT"),+ ('0', 404, InTerms, Just "Language.Haskell.TH.Lib.Internal", "promotedT"),+ ('0', 405, InTerms, Just "Language.Haskell.TH.Lib.Internal", "promotedTupleT"),+ ('0', 406, InTerms, Just "Language.Haskell.TH.Lib.Internal", "promotedNilT"),+ ('0', 407, InTerms, Just "Language.Haskell.TH.Lib.Internal", "promotedConsT"),+ ('0', 408, InTerms, Just "Language.Haskell.TH.Lib.Internal", "wildCardT"),+ ('0', 409, InTerms, Just "Language.Haskell.TH.Lib.Internal", "implicitParamT"),+ ('0', 410, InTerms, Just "Language.Haskell.TH.Lib.Internal", "infixT"),+ ('0', 411, InTerms, Just "Language.Haskell.TH.Lib.Internal", "numTyLit"),+ ('0', 412, InTerms, Just "Language.Haskell.TH.Lib.Internal", "strTyLit"),+ ('0', 413, InTerms, Just "Language.Haskell.TH.Lib.Internal", "charTyLit"),+ ('0', 414, InTerms, Just "Language.Haskell.TH.Lib.Internal", "plainTV"),+ ('0', 415, InTerms, Just "Language.Haskell.TH.Lib.Internal", "kindedTV"),+ ('0', 416, InTerms, Just "Language.Haskell.TH.Lib.Internal", "nominalR"),+ ('0', 417, InTerms, Just "Language.Haskell.TH.Lib.Internal", "representationalR"),+ ('0', 418, InTerms, Just "Language.Haskell.TH.Lib.Internal", "phantomR"),+ ('0', 419, InTerms, Just "Language.Haskell.TH.Lib.Internal", "inferR"),+ ('0', 425, InTerms, Just "Language.Haskell.TH.Lib.Internal", "starK"),+ ('0', 426, InTerms, Just "Language.Haskell.TH.Lib.Internal", "constraintK"),+ ('0', 427, InTerms, Just "Language.Haskell.TH.Lib.Internal", "noSig"),+ ('0', 428, InTerms, Just "Language.Haskell.TH.Lib.Internal", "kindSig"),+ ('0', 429, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tyVarSig"),+ ('0', 430, InTerms, Just "Language.Haskell.TH.Lib.Internal", "injectivityAnn"),+ ('0', 431, InTerms, Just "Language.Haskell.TH.Lib.Internal", "cCall"),+ ('0', 432, InTerms, Just "Language.Haskell.TH.Lib.Internal", "stdCall"),+ ('0', 433, InTerms, Just "Language.Haskell.TH.Lib.Internal", "cApi"),+ ('0', 434, InTerms, Just "Language.Haskell.TH.Lib.Internal", "prim"),+ ('0', 435, InTerms, Just "Language.Haskell.TH.Lib.Internal", "javaScript"),+ ('0', 440, InTerms, Just "Language.Haskell.TH.Lib.Internal", "unsafe"),+ ('0', 441, InTerms, Just "Language.Haskell.TH.Lib.Internal", "safe"),+ ('0', 442, InTerms, Just "Language.Haskell.TH.Lib.Internal", "interruptible"),+ ('0', 445, InTerms, Just "Language.Haskell.TH.Lib.Internal", "funDep"),+ ('0', 446, InTerms, Just "Language.Haskell.TH.Lib.Internal", "mulArrowT"),+ ('0', 460, InTerms, Just "Language.Haskell.TH.Lib.Internal", "tySynEqn"),+ ('0', 470, InTerms, Just "Language.Haskell.TH.Quote", "quoteExp"),+ ('0', 471, InTerms, Just "Language.Haskell.TH.Quote", "quotePat"),+ ('0', 472, InTerms, Just "Language.Haskell.TH.Quote", "quoteDec"),+ ('0', 473, InTerms, Just "Language.Haskell.TH.Quote", "quoteType"),+ ('0', 480, InTerms, Just "Language.Haskell.TH.Lib.Internal", "ruleVar"),+ ('0', 481, InTerms, Just "Language.Haskell.TH.Lib.Internal", "typedRuleVar"),+ ('0', 482, InTerms, Just "Language.Haskell.TH.Lib.Internal", "plainInvisTV"),+ ('0', 483, InTerms, Just "Language.Haskell.TH.Lib.Internal", "kindedInvisTV"),+ ('0', 484, InTerms, Just "Language.Haskell.TH.Lib.Internal", "plainBndrTV"),+ ('0', 485, InTerms, Just "Language.Haskell.TH.Lib.Internal", "kindedBndrTV"),+ ('0', 490, InTerms, Just "Language.Haskell.TH.Lib.Internal", "valueAnnotation"),+ ('0', 491, InTerms, Just "Language.Haskell.TH.Lib.Internal", "typeAnnotation"),+ ('0', 492, InTerms, Just "Language.Haskell.TH.Lib.Internal", "moduleAnnotation"),+ ('0', 493, InTerms, Just "Language.Haskell.TH.Lib.Internal", "derivClause"),+ ('0', 498, InTerms, Just "Language.Haskell.TH.Lib.Internal", "specifiedSpec"),+ ('0', 499, InTerms, Just "Language.Haskell.TH.Lib.Internal", "inferredSpec"),+ ('0', 500, InTerms, Just "GHC.Internal.IsList", "fromListN"),+ ('0', 501, InTerms, Just "GHC.Internal.IsList", "toList"),+ ('0', 502, InTerms, Just "GHC.Prim", "proxy#"),+ ('0', 504, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrType"),+ ('0', 505, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrCon"),+ ('0', 506, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrAppChecked"),+ ('0', 507, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeNatTypeRep"),+ ('0', 508, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeSymbolTypeRep"),+ ('0', 509, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeCharTypeRep"),+ ('0', 510, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeRep#"),+ ('0', 511, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrFun"),+ ('0', 520, InTerms, Just "GHC.Types", "krep$*"),+ ('0', 521, InTerms, Just "GHC.Types", "krep$*Arr*"),+ ('0', 522, InTerms, Just "GHC.Types", "krep$*->*->*"),+ ('0', 523, InTerms, Just "GHC.Types", "krep$Constraint"),+ ('0', 530, InTerms, Just "GHC.Internal.Data.Dynamic", "toDyn"),+ ('0', 551, InTerms, Just "GHC.Types", "eq_sel"),+ ('0', 552, InTerms, Just "GHC.Types", "heq_sel"),+ ('0', 553, InTerms, Just "GHC.Types", "coercible_sel"),+ ('0', 554, InTerms, Just "GHC.Internal.Base", "<>"),+ ('0', 555, InTerms, Just "GHC.Internal.Base", "mempty"),+ ('0', 556, InTerms, Just "GHC.Internal.Base", "mappend"),+ ('0', 557, InTerms, Just "GHC.Internal.Base", "mconcat"),+ ('0', 558, InTerms, Just "GHC.Internal.Stack.Types", "emptyCallStack"),+ ('0', 559, InTerms, Just "GHC.Internal.Stack.Types", "pushCallStack"),+ ('0', 560, InTerms, Just "GHC.Internal.StaticPtr", "fromStaticPtr"),+ ('0', 561, InTerms, Just "GHC.Internal.StaticPtr.Internal", "makeStatic"),+ ('0', 562, InTerms, Just "GHC.Internal.Exception.Context", "emptyExceptionContext"),+ ('0', 570, InTerms, Just "GHC.Internal.Unsafe.Coerce", "unsafeEqualityProof"),+ ('0', 571, InTerms, Just "GHC.Internal.Unsafe.Coerce", "unsafeCoerce#"),+ ('0', 572, InTerms, Just "GHC.Internal.Records", "getField"),+ ('0', 573, InTerms, Just "GHC.Internal.Records", "setField"),+ ('0', 580, InTerms, Just "GHC.Internal.TypeError", "unsatisfiable"),+ ('0', 600, InTerms, Just "GHC.Num.Integer", "integerFromNatural"),+ ('0', 601, InTerms, Just "GHC.Num.Integer", "integerToNaturalClamp"),+ ('0', 602, InTerms, Just "GHC.Num.Integer", "integerToNaturalThrow"),+ ('0', 603, InTerms, Just "GHC.Num.Integer", "integerToNatural"),+ ('0', 604, InTerms, Just "GHC.Num.Integer", "integerToWord#"),+ ('0', 605, InTerms, Just "GHC.Num.Integer", "integerToInt#"),+ ('0', 606, InTerms, Just "GHC.Num.Integer", "integerToWord64#"),+ ('0', 607, InTerms, Just "GHC.Num.Integer", "integerToInt64#"),+ ('0', 608, InTerms, Just "GHC.Num.Integer", "integerAdd"),+ ('0', 609, InTerms, Just "GHC.Num.Integer", "integerMul"),+ ('0', 610, InTerms, Just "GHC.Num.Integer", "integerSub"),+ ('0', 611, InTerms, Just "GHC.Num.Integer", "integerNegate"),+ ('0', 618, InTerms, Just "GHC.Num.Integer", "integerAbs"),+ ('0', 621, InTerms, Just "GHC.Num.Integer", "integerPopCount#"),+ ('0', 622, InTerms, Just "GHC.Num.Integer", "integerQuot"),+ ('0', 623, InTerms, Just "GHC.Num.Integer", "integerRem"),+ ('0', 624, InTerms, Just "GHC.Num.Integer", "integerDiv"),+ ('0', 625, InTerms, Just "GHC.Num.Integer", "integerMod"),+ ('0', 626, InTerms, Just "GHC.Num.Integer", "integerDivMod#"),+ ('0', 627, InTerms, Just "GHC.Num.Integer", "integerQuotRem#"),+ ('0', 630, InTerms, Just "GHC.Num.Integer", "integerEncodeFloat#"),+ ('0', 631, InTerms, Just "GHC.Num.Integer", "integerEncodeDouble#"),+ ('0', 632, InTerms, Just "GHC.Num.Integer", "integerGcd"),+ ('0', 633, InTerms, Just "GHC.Num.Integer", "integerLcm"),+ ('0', 634, InTerms, Just "GHC.Num.Integer", "integerAnd"),+ ('0', 635, InTerms, Just "GHC.Num.Integer", "integerOr"),+ ('0', 636, InTerms, Just "GHC.Num.Integer", "integerXor"),+ ('0', 637, InTerms, Just "GHC.Num.Integer", "integerComplement"),+ ('0', 638, InTerms, Just "GHC.Num.Integer", "integerBit#"),+ ('0', 639, InTerms, Just "GHC.Num.Integer", "integerTestBit#"),+ ('0', 640, InTerms, Just "GHC.Num.Integer", "integerShiftL#"),+ ('0', 641, InTerms, Just "GHC.Num.Integer", "integerShiftR#"),+ ('0', 642, InTerms, Just "GHC.Num.Integer", "integerFromWord#"),+ ('0', 643, InTerms, Just "GHC.Num.Integer", "integerFromWord64#"),+ ('0', 644, InTerms, Just "GHC.Num.Integer", "integerFromInt64#"),+ ('0', 650, InTerms, Just "GHC.Num.Natural", "naturalToWord#"),+ ('0', 659, InTerms, Just "GHC.Num.Natural", "naturalPopCount#"),+ ('0', 660, InTerms, Just "GHC.Num.Natural", "naturalShiftR#"),+ ('0', 661, InTerms, Just "GHC.Num.Natural", "naturalShiftL#"),+ ('0', 662, InTerms, Just "GHC.Num.Natural", "naturalAdd"),+ ('0', 663, InTerms, Just "GHC.Num.Natural", "naturalSub"),+ ('0', 664, InTerms, Just "GHC.Num.Natural", "naturalSubThrow"),+ ('0', 665, InTerms, Just "GHC.Num.Natural", "naturalSubUnsafe"),+ ('0', 666, InTerms, Just "GHC.Num.Natural", "naturalMul"),+ ('0', 669, InTerms, Just "GHC.Num.Natural", "naturalQuotRem#"),+ ('0', 670, InTerms, Just "GHC.Num.Natural", "naturalQuot"),+ ('0', 671, InTerms, Just "GHC.Num.Natural", "naturalRem"),+ ('0', 672, InTerms, Just "GHC.Num.Natural", "naturalAnd"),+ ('0', 673, InTerms, Just "GHC.Num.Natural", "naturalAndNot"),+ ('0', 674, InTerms, Just "GHC.Num.Natural", "naturalOr"),+ ('0', 675, InTerms, Just "GHC.Num.Natural", "naturalXor"),+ ('0', 676, InTerms, Just "GHC.Num.Natural", "naturalTestBit#"),+ ('0', 677, InTerms, Just "GHC.Num.Natural", "naturalBit#"),+ ('0', 678, InTerms, Just "GHC.Num.Natural", "naturalGcd"),+ ('0', 679, InTerms, Just "GHC.Num.Natural", "naturalLcm"),+ ('0', 680, InTerms, Just "GHC.Num.Natural", "naturalLog2#"),+ ('0', 681, InTerms, Just "GHC.Num.Natural", "naturalLogBaseWord#"),+ ('0', 682, InTerms, Just "GHC.Num.Natural", "naturalLogBase#"),+ ('0', 683, InTerms, Just "GHC.Num.Natural", "naturalPowMod"),+ ('0', 684, InTerms, Just "GHC.Num.Natural", "naturalSizeInBase#"),+ ('0', 691, InTerms, Just "GHC.Num.BigNat", "bigNatEq#"),+ ('0', 700, InTerms, Just "GHC.Internal.Real", "mkRationalBase2"),+ ('0', 701, InTerms, Just "GHC.Internal.Real", "mkRationalBase10"),+ ('0', 750, InTerms, Just "GHC.Internal.Base", "join"),+ ('0', 751, InTerms, Just "GHC.Internal.Base", "<*>"),+ ('0', 752, InTerms, Just "GHC.Internal.Base", "pure"),+ ('0', 753, InTerms, Just "GHC.Internal.Base", "*>"),+ ('0', 754, InTypes, Just "GHC.Internal.Control.Monad", "Alternative"),+ ('0', 800, InTerms, Just "Language.Haskell.TH.Lib.Internal", "bndrReq"),+ ('0', 801, InTerms, Just "Language.Haskell.TH.Lib.Internal", "bndrInvis"),+ ('2', 1, InTypes, Just "GHC.Internal.Enum", "Bounded"),+ ('2', 2, InTypes, Just "GHC.Internal.Enum", "Enum"),+ ('2', 3, InTypes, Just "GHC.Classes", "Eq"),+ ('2', 5, InTypes, Just "GHC.Internal.Float", "Floating"),+ ('2', 6, InTypes, Just "GHC.Internal.Real", "Fractional"),+ ('2', 7, InTypes, Just "GHC.Internal.Real", "Integral"),+ ('2', 8, InTypes, Just "GHC.Internal.Base", "Monad"),+ ('2', 9, InTypes, Just "GHC.Internal.Data.Data", "Data"),+ ('2', 10, InTypes, Just "GHC.Internal.Base", "Functor"),+ ('2', 11, InTypes, Just "GHC.Internal.Num", "Num"),+ ('2', 12, InTypes, Just "GHC.Classes", "Ord"),+ ('2', 13, InTypes, Just "GHC.Internal.Read", "Read"),+ ('2', 14, InTypes, Just "GHC.Internal.Real", "Real"),+ ('2', 15, InTypes, Just "GHC.Internal.Float", "RealFloat"),+ ('2', 16, InTypes, Just "GHC.Internal.Real", "RealFrac"),+ ('2', 17, InTypes, Just "GHC.Internal.Show", "Show"),+ ('2', 18, InTypes, Just "GHC.Internal.Ix", "Ix"),+ ('2', 20, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "Typeable"),+ ('2', 21, InTypes, Just "GHC.Magic.Dict", "WithDict"),+ ('2', 23, InTypes, Just "GHC.Magic", "DataToTag"),+ ('2', 28, InTypes, Just "GHC.Internal.Control.Monad.Fix", "MonadFix"),+ ('2', 29, InTypes, Just "GHC.Internal.Control.Monad.Fail", "MonadFail"),+ ('2', 30, InTypes, Just "GHC.Internal.Control.Monad", "MonadPlus"),+ ('2', 33, InTypes, Just "GHC.Internal.Data.String", "IsString"),+ ('2', 34, InTypes, Just "GHC.Internal.Base", "Applicative"),+ ('2', 35, InTypes, Just "GHC.Internal.Data.Foldable", "Foldable"),+ ('2', 36, InTypes, Just "GHC.Internal.Data.Traversable", "Traversable"),+ ('2', 37, InTypes, Just "GHC.Internal.Generics", "Generic"),+ ('2', 38, InTypes, Just "GHC.Internal.Generics", "Generic1"),+ ('2', 39, InTypes, Just "GHC.Internal.Generics", "Datatype"),+ ('2', 40, InTypes, Just "GHC.Internal.Generics", "Constructor"),+ ('2', 41, InTypes, Just "GHC.Internal.Generics", "Selector"),+ ('2', 42, InTypes, Just "GHC.Internal.TypeNats", "KnownNat"),+ ('2', 43, InTypes, Just "GHC.Internal.TypeLits", "KnownSymbol"),+ ('2', 44, InTypes, Just "GHC.Internal.TypeLits", "KnownChar"),+ ('2', 45, InTypes, Just "GHC.Internal.GHCi", "GHCiSandboxIO"),+ ('2', 47, InTypes, Just "GHC.Internal.Base", "Semigroup"),+ ('2', 48, InTypes, Just "GHC.Internal.Base", "Monoid"),+ ('2', 49, InTypes, Just "GHC.Classes", "IP"),+ ('2', 50, InTypes, Just "GHC.Internal.Records", "HasField"),+ ('2', 200, InTypes, Just "Language.Haskell.TH.Syntax", "Lift"),+ ('2', 201, InTypes, Just "Language.Haskell.TH.Syntax", "Quote"),+ ('3', 2, InTypes, Just "GHC.Prim", "Addr#"),+ ('3', 3, InTerms, Just "GHC.Types", "$tcAddr#"),+ ('3', 6, InTypes, Just "GHC.Prim", "Array#"),+ ('3', 7, InTerms, Just "GHC.Types", "$tcArray#"),+ ('3', 8, InTypes, Just "GHC.Types", "Bool"),+ ('3', 9, InTerms, Just "GHC.Types", "$tcBool"),+ ('3', 10, InTypes, Just "GHC.Prim", "ByteArray#"),+ ('3', 11, InTerms, Just "GHC.Types", "$tcByteArray#"),+ ('3', 12, InTypes, Just "GHC.Internal.Base", "String"),+ ('3', 14, InTypes, Just "GHC.Prim", "Char#"),+ ('3', 15, InTerms, Just "GHC.Types", "$tcChar#"),+ ('3', 16, InTypes, Just "GHC.Types", "Char"),+ ('3', 17, InTerms, Just "GHC.Types", "$tcChar"),+ ('3', 18, InTypes, Just "GHC.Prim", "Double#"),+ ('3', 19, InTerms, Just "GHC.Types", "$tcDouble#"),+ ('3', 20, InTypes, Just "GHC.Types", "Double"),+ ('3', 21, InTerms, Just "GHC.Types", "$tcDouble"),+ ('3', 22, InTypes, Just "GHC.Prim", "Float#"),+ ('3', 23, InTerms, Just "GHC.Types", "$tcFloat#"),+ ('3', 24, InTypes, Just "GHC.Types", "Float"),+ ('3', 25, InTerms, Just "GHC.Types", "$tcFloat"),+ ('3', 26, InTypes, Just "GHC.Prim", "FUN"),+ ('3', 27, InTerms, Just "GHC.Types", "$tcFUN"),+ ('3', 28, InTypes, Just "GHC.Prim", "Int#"),+ ('3', 29, InTerms, Just "GHC.Types", "$tcInt#"),+ ('3', 30, InTypes, Just "GHC.Types", "Int"),+ ('3', 31, InTerms, Just "GHC.Types", "$tcInt"),+ ('3', 32, InTypes, Just "GHC.Prim", "Int8#"),+ ('3', 33, InTerms, Just "GHC.Types", "$tcInt8#"),+ ('3', 34, InTypes, Just "GHC.Internal.Int", "Int8"),+ ('3', 36, InTypes, Just "GHC.Prim", "Int16#"),+ ('3', 37, InTerms, Just "GHC.Types", "$tcInt16#"),+ ('3', 38, InTypes, Just "GHC.Internal.Int", "Int16"),+ ('3', 40, InTypes, Just "GHC.Prim", "Int32#"),+ ('3', 41, InTerms, Just "GHC.Types", "$tcInt32#"),+ ('3', 42, InTypes, Just "GHC.Internal.Int", "Int32"),+ ('3', 44, InTypes, Just "GHC.Prim", "Int64#"),+ ('3', 45, InTerms, Just "GHC.Types", "$tcInt64#"),+ ('3', 46, InTypes, Just "GHC.Internal.Int", "Int64"),+ ('3', 48, InTypes, Just "GHC.Num.Integer", "Integer"),+ ('3', 49, InTerms, Just "GHC.Num.Integer", "$tcInteger"),+ ('3', 50, InTypes, Just "GHC.Num.Natural", "Natural"),+ ('3', 51, InTerms, Just "GHC.Num.Natural", "$tcNatural"),+ ('3', 52, InTypes, Nothing, "[]"),+ ('3', 53, InTerms, Just "GHC.Types", "$tcList"),+ ('3', 56, InTypes, Just "GHC.Internal.Maybe", "Maybe"),+ ('3', 57, InTerms, Just "GHC.Internal.Maybe", "$tcMaybe"),+ ('3', 58, InTypes, Just "GHC.Prim", "Weak#"),+ ('3', 59, InTerms, Just "GHC.Types", "$tcWeak#"),+ ('3', 60, InTypes, Just "GHC.Prim", "MutableArray#"),+ ('3', 61, InTerms, Just "GHC.Types", "$tcMutableArray#"),+ ('3', 62, InTypes, Just "GHC.Prim", "MutableByteArray#"),+ ('3', 63, InTerms, Just "GHC.Types", "$tcMutableByteArray#"),+ ('3', 64, InTypes, Just "GHC.Types", "Ordering"),+ ('3', 65, InTerms, Just "GHC.Types", "$tcOrdering"),+ ('3', 66, InTypes, Just "GHC.Prim", "MVar#"),+ ('3', 67, InTerms, Just "GHC.Types", "$tcMVar#"),+ ('3', 68, InTypes, Just "GHC.Prim", "IOPort#"),+ ('3', 69, InTerms, Just "GHC.Types", "$tcIOPort#"),+ ('3', 70, InTypes, Just "GHC.Internal.Real", "Ratio"),+ ('3', 72, InTypes, Just "GHC.Internal.Real", "Rational"),+ ('3', 74, InTypes, Just "GHC.Prim", "RealWorld"),+ ('3', 75, InTerms, Just "GHC.Types", "$tcRealWorld"),+ ('3', 76, InTypes, Just "GHC.Prim", "StablePtr#"),+ ('3', 77, InTerms, Just "GHC.Types", "$tcStablePtr#"),+ ('3', 78, InTypes, Just "GHC.Internal.Stable", "StablePtr"),+ ('3', 80, InTypes, Just "GHC.Types", "~"),+ ('3', 81, InTerms, Just "GHC.Types", "$tc~"),+ ('3', 82, InTypes, Just "GHC.Types", "~~"),+ ('3', 83, InTerms, Just "GHC.Types", "$tc~~"),+ ('3', 84, InTypes, Nothing, "=>"),+ ('3', 85, InTerms, Just "GHC.Types", "$tc=>"),+ ('3', 86, InTypes, Nothing, "==>"),+ ('3', 87, InTerms, Just "GHC.Types", "$tc==>"),+ ('3', 88, InTypes, Nothing, "-=>"),+ ('3', 89, InTerms, Just "GHC.Types", "$tc-=>"),+ ('3', 100, InTypes, Just "GHC.Prim", "State#"),+ ('3', 101, InTerms, Just "GHC.Types", "$tcState#"),+ ('3', 102, InTypes, Just "GHC.Prim", "StableName#"),+ ('3', 103, InTerms, Just "GHC.Types", "$tcStableName#"),+ ('3', 106, InTypes, Just "GHC.Prim", "~#"),+ ('3', 107, InTerms, Just "GHC.Types", "$tc~#"),+ ('3', 108, InTypes, Nothing, "~R#"),+ ('3', 109, InTerms, Just "GHC.Types", "$tc~R#"),+ ('3', 110, InTypes, Nothing, "~P#"),+ ('3', 111, InTerms, Just "GHC.Types", "$tc~P#"),+ ('3', 112, InTypes, Just "GHC.Prim", "MutVar#"),+ ('3', 113, InTerms, Just "GHC.Types", "$tcMutVar#"),+ ('3', 114, InTypes, Just "GHC.Types", "IO"),+ ('3', 118, InTypes, Just "GHC.Prim", "Word#"),+ ('3', 119, InTerms, Just "GHC.Types", "$tcWord#"),+ ('3', 120, InTypes, Just "GHC.Types", "Word"),+ ('3', 121, InTerms, Just "GHC.Types", "$tcWord"),+ ('3', 122, InTypes, Just "GHC.Prim", "Word8#"),+ ('3', 123, InTerms, Just "GHC.Types", "$tcWord8#"),+ ('3', 124, InTypes, Just "GHC.Internal.Word", "Word8"),+ ('3', 126, InTypes, Just "GHC.Prim", "Word16#"),+ ('3', 127, InTerms, Just "GHC.Types", "$tcWord16#"),+ ('3', 128, InTypes, Just "GHC.Internal.Word", "Word16"),+ ('3', 130, InTypes, Just "GHC.Prim", "Word32#"),+ ('3', 131, InTerms, Just "GHC.Types", "$tcWord32#"),+ ('3', 132, InTypes, Just "GHC.Internal.Word", "Word32"),+ ('3', 134, InTypes, Just "GHC.Prim", "Word64#"),+ ('3', 135, InTerms, Just "GHC.Types", "$tcWord64#"),+ ('3', 136, InTypes, Just "GHC.Internal.Word", "Word64"),+ ('3', 150, InTypes, Just "GHC.Prim", "ThreadId#"),+ ('3', 151, InTerms, Just "GHC.Types", "$tcThreadId#"),+ ('3', 152, InTypes, Just "GHC.Prim", "BCO"),+ ('3', 153, InTerms, Just "GHC.Types", "$tcBCO"),+ ('3', 154, InTypes, Just "GHC.Internal.Ptr", "Ptr"),+ ('3', 156, InTypes, Just "GHC.Internal.Ptr", "FunPtr"),+ ('3', 158, InTypes, Just "GHC.Prim", "TVar#"),+ ('3', 159, InTerms, Just "GHC.Types", "$tcTVar#"),+ ('3', 160, InTypes, Just "GHC.Prim", "Compact#"),+ ('3', 161, InTerms, Just "GHC.Types", "$tcCompact#"),+ ('3', 162, InTypes, Just "GHC.Prim", "StackSnapshot#"),+ ('3', 163, InTerms, Just "GHC.Types", "$tcStackSnapshot#"),+ ('3', 164, InTypes, Just "GHC.Prim", "PromptTag#"),+ ('3', 165, InTerms, Just "GHC.Types", "$tcPromptTag#"),+ ('3', 168, InTypes, Just "GHC.Internal.Data.Either", "Either"),+ ('3', 170, InTypes, Just "GHC.Internal.Base", "Void"),+ ('3', 172, InTypes, Just "GHC.Internal.Base", "NonEmpty"),+ ('3', 176, InTypes, Just "GHC.Types", "Type"),+ ('3', 178, InTypes, Just "GHC.Types", "UnliftedType"),+ ('3', 182, InTypes, Just "GHC.Prim", "TYPE"),+ ('3', 183, InTerms, Just "GHC.Types", "$tcTYPE"),+ ('3', 184, InTypes, Just "GHC.Prim", "CONSTRAINT"),+ ('3', 185, InTerms, Just "GHC.Types", "$tcCONSTRAINT"),+ ('3', 186, InTypes, Just "GHC.Types", "Constraint"),+ ('3', 188, InTypes, Just "GHC.Types", "Levity"),+ ('3', 189, InTerms, Just "GHC.Types", "$tcLevity"),+ ('3', 190, InTypes, Just "GHC.Types", "RuntimeRep"),+ ('3', 191, InTerms, Just "GHC.Types", "$tcRuntimeRep"),+ ('3', 192, InTypes, Just "GHC.Types", "VecCount"),+ ('3', 193, InTerms, Just "GHC.Types", "$tcVecCount"),+ ('3', 194, InTypes, Just "GHC.Types", "VecElem"),+ ('3', 195, InTerms, Just "GHC.Types", "$tcVecElem"),+ ('3', 196, InTypes, Just "GHC.Types", "LiftedRep"),+ ('3', 198, InTypes, Just "GHC.Types", "UnliftedRep"),+ ('3', 200, InTypes, Just "GHC.Types", "ZeroBitRep"),+ ('3', 202, InTypes, Just "GHC.Types", "ZeroBitType"),+ ('3', 204, InTypes, Just "GHC.Driver.Plugins", "Plugin"),+ ('3', 206, InTypes, Just "GHC.Driver.Plugins", "FrontendPlugin"),+ ('3', 208, InTypes, Just "GHC.Types", "TyCon"),+ ('3', 210, InTypes, Just "GHC.Types", "Module"),+ ('3', 212, InTypes, Just "GHC.Types", "TrName"),+ ('3', 214, InTypes, Just "GHC.Types", "KindRep"),+ ('3', 216, InTypes, Just "GHC.Types", "TypeLitSort"),+ ('3', 270, InTypes, Just "GHC.Internal.Generics", "V1"),+ ('3', 272, InTypes, Just "GHC.Internal.Generics", "U1"),+ ('3', 274, InTypes, Just "GHC.Internal.Generics", "Par1"),+ ('3', 276, InTypes, Just "GHC.Internal.Generics", "Rec1"),+ ('3', 278, InTypes, Just "GHC.Internal.Generics", "K1"),+ ('3', 280, InTypes, Just "GHC.Internal.Generics", "M1"),+ ('3', 282, InTypes, Just "GHC.Internal.Generics", ":+:"),+ ('3', 284, InTypes, Just "GHC.Internal.Generics", ":*:"),+ ('3', 286, InTypes, Just "GHC.Internal.Generics", ":.:"),+ ('3', 288, InTypes, Just "GHC.Internal.Generics", "R"),+ ('3', 292, InTypes, Just "GHC.Internal.Generics", "D"),+ ('3', 294, InTypes, Just "GHC.Internal.Generics", "C"),+ ('3', 296, InTypes, Just "GHC.Internal.Generics", "S"),+ ('3', 298, InTypes, Just "GHC.Internal.Generics", "Rec0"),+ ('3', 302, InTypes, Just "GHC.Internal.Generics", "D1"),+ ('3', 304, InTypes, Just "GHC.Internal.Generics", "C1"),+ ('3', 306, InTypes, Just "GHC.Internal.Generics", "S1"),+ ('3', 310, InTypes, Just "GHC.Internal.Generics", "Rep"),+ ('3', 312, InTypes, Just "GHC.Internal.Generics", "Rep1"),+ ('3', 314, InTypes, Just "GHC.Internal.Generics", "URec"),+ ('3', 316, InTypes, Just "GHC.Internal.Generics", "UAddr"),+ ('3', 318, InTypes, Just "GHC.Internal.Generics", "UChar"),+ ('3', 320, InTypes, Just "GHC.Internal.Generics", "UDouble"),+ ('3', 322, InTypes, Just "GHC.Internal.Generics", "UFloat"),+ ('3', 324, InTypes, Just "GHC.Internal.Generics", "UInt"),+ ('3', 326, InTypes, Just "GHC.Internal.Generics", "UWord"),+ ('3', 340, InTypes, Just "GHC.Internal.TypeError", "Unsatisfiable"),+ ('3', 342, InTypes, Just "GHC.Types", "Any"),+ ('3', 344, InTypes, Just "GHC.Types", "ZonkAny"),+ ('3', 362, InTypes, Just "GHC.Internal.TypeError", "TypeError"),+ ('3', 366, InTypes, Just "GHC.Types", "Coercible"),+ ('3', 367, InTerms, Just "GHC.Types", "$tcCoercible"),+ ('3', 368, InTypes, Just "GHC.Prim", "Proxy#"),+ ('3', 369, InTerms, Just "GHC.Types", "$tcProxy#"),+ ('3', 370, InTypes, Just "GHC.Types", "SPEC"),+ ('3', 374, InTypes, Just "GHC.Prim", "SmallArray#"),+ ('3', 375, InTerms, Just "GHC.Types", "$tcSmallArray#"),+ ('3', 376, InTypes, Just "GHC.Prim", "SmallMutableArray#"),+ ('3', 377, InTerms, Just "GHC.Types", "$tcSmallMutableArray#"),+ ('3', 378, InTypes, Just "GHC.Internal.StaticPtr", "StaticPtr"),+ ('3', 382, InTypes, Just "GHC.Internal.Stack.Types", "CallStack"),+ ('3', 384, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "TypeRep"),+ ('3', 386, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "SomeTypeRep"),+ ('3', 388, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "SomeTypeRep"),+ ('3', 390, InTypes, Just "GHC.Internal.TypeLits", "AppendSymbol"),+ ('3', 392, InTypes, Just "GHC.Internal.Unsafe.Coerce", "UnsafeEquality"),+ ('3', 394, InTypes, Just "GHC.Types", "Multiplicity"),+ ('3', 395, InTerms, Just "GHC.Types", "$tcMultiplicity"),+ ('3', 400, InTypes, Just "Language.Haskell.TH.Syntax", "Exp"),+ ('3', 402, InTypes, Just "Language.Haskell.TH.Syntax", "Match"),+ ('3', 404, InTypes, Just "Language.Haskell.TH.Syntax", "Clause"),+ ('3', 406, InTypes, Just "Language.Haskell.TH.Syntax", "Q"),+ ('3', 408, InTypes, Just "Language.Haskell.TH.Lib.Internal", "ExpQ"),+ ('3', 412, InTypes, Just "Language.Haskell.TH.Syntax", "Pat"),+ ('3', 418, InTypes, Just "Language.Haskell.TH.Syntax", "Stmt"),+ ('3', 420, InTypes, Just "Language.Haskell.TH.Syntax", "Con"),+ ('3', 422, InTypes, Just "Language.Haskell.TH.Lib.Internal", "TypeQ"),+ ('3', 424, InTypes, Just "Language.Haskell.TH.Syntax", "Type"),+ ('3', 426, InTypes, Just "Language.Haskell.TH.Syntax", "Dec"),+ ('3', 428, InTypes, Just "Language.Haskell.TH.Syntax", "BangType"),+ ('3', 430, InTypes, Just "Language.Haskell.TH.Syntax", "VarBangType"),+ ('3', 432, InTypes, Just "Language.Haskell.TH.Syntax", "FieldExp"),+ ('3', 434, InTypes, Just "Language.Haskell.TH.Syntax", "FieldPat"),+ ('3', 436, InTypes, Just "Language.Haskell.TH.Syntax", "Name"),+ ('3', 438, InTypes, Just "Language.Haskell.TH.Lib.Internal", "PatQ"),+ ('3', 444, InTypes, Just "Language.Haskell.TH.Syntax", "FunDep"),+ ('3', 446, InTypes, Just "Language.Haskell.TH.Syntax", "Pred"),+ ('3', 450, InTypes, Just "Language.Haskell.TH.Lib.Internal", "TyVarBndrUnit"),+ ('3', 452, InTypes, Just "Language.Haskell.TH.Lib.Internal", "DecsQ"),+ ('3', 454, InTypes, Just "Language.Haskell.TH.Syntax", "RuleBndr"),+ ('3', 456, InTypes, Just "Language.Haskell.TH.Syntax", "TySynEqn"),+ ('3', 458, InTypes, Just "Language.Haskell.TH.Lib.Internal", "Role"),+ ('3', 462, InTypes, Just "Language.Haskell.TH.Syntax", "InjectivityAnn"),+ ('3', 464, InTypes, Just "Language.Haskell.TH.Syntax", "Kind"),+ ('3', 466, InTypes, Just "Language.Haskell.TH.Syntax", "Overlap"),+ ('3', 468, InTypes, Just "Language.Haskell.TH.Syntax", "DerivClause"),+ ('3', 470, InTypes, Just "Language.Haskell.TH.Syntax", "DerivStrategy"),+ ('3', 472, InTypes, Just "Language.Haskell.TH.Lib.Internal", "Decs"),+ ('3', 474, InTypes, Just "Language.Haskell.TH.Lib.Internal", "TyVarBndrSpec"),+ ('3', 476, InTypes, Just "Language.Haskell.TH.Syntax", "Code"),+ ('3', 478, InTypes, Just "Language.Haskell.TH.Syntax", "ModName"),+ ('3', 480, InTypes, Just "Language.Haskell.TH.Lib.Internal", "TyVarBndrVis"),+ ('3', 600, InTypes, Just "GHC.Prim", "Int8X16#"),+ ('3', 601, InTerms, Just "GHC.Types", "$tcInt8X16#"),+ ('3', 602, InTypes, Just "GHC.Prim", "Int16X8#"),+ ('3', 603, InTerms, Just "GHC.Types", "$tcInt16X8#"),+ ('3', 604, InTypes, Just "GHC.Prim", "Int32X4#"),+ ('3', 605, InTerms, Just "GHC.Types", "$tcInt32X4#"),+ ('3', 606, InTypes, Just "GHC.Prim", "Int64X2#"),+ ('3', 607, InTerms, Just "GHC.Types", "$tcInt64X2#"),+ ('3', 608, InTypes, Just "GHC.Prim", "Int8X32#"),+ ('3', 609, InTerms, Just "GHC.Types", "$tcInt8X32#"),+ ('3', 610, InTypes, Just "GHC.Prim", "Int16X16#"),+ ('3', 611, InTerms, Just "GHC.Types", "$tcInt16X16#"),+ ('3', 612, InTypes, Just "GHC.Prim", "Int32X8#"),+ ('3', 613, InTerms, Just "GHC.Types", "$tcInt32X8#"),+ ('3', 614, InTypes, Just "GHC.Prim", "Int64X4#"),+ ('3', 615, InTerms, Just "GHC.Types", "$tcInt64X4#"),+ ('3', 616, InTypes, Just "GHC.Prim", "Int8X64#"),+ ('3', 617, InTerms, Just "GHC.Types", "$tcInt8X64#"),+ ('3', 618, InTypes, Just "GHC.Prim", "Int16X32#"),+ ('3', 619, InTerms, Just "GHC.Types", "$tcInt16X32#"),+ ('3', 620, InTypes, Just "GHC.Prim", "Int32X16#"),+ ('3', 621, InTerms, Just "GHC.Types", "$tcInt32X16#"),+ ('3', 622, InTypes, Just "GHC.Prim", "Int64X8#"),+ ('3', 623, InTerms, Just "GHC.Types", "$tcInt64X8#"),+ ('3', 624, InTypes, Just "GHC.Prim", "Word8X16#"),+ ('3', 625, InTerms, Just "GHC.Types", "$tcWord8X16#"),+ ('3', 626, InTypes, Just "GHC.Prim", "Word16X8#"),+ ('3', 627, InTerms, Just "GHC.Types", "$tcWord16X8#"),+ ('3', 628, InTypes, Just "GHC.Prim", "Word32X4#"),+ ('3', 629, InTerms, Just "GHC.Types", "$tcWord32X4#"),+ ('3', 630, InTypes, Just "GHC.Prim", "Word64X2#"),+ ('3', 631, InTerms, Just "GHC.Types", "$tcWord64X2#"),+ ('3', 632, InTypes, Just "GHC.Prim", "Word8X32#"),+ ('3', 633, InTerms, Just "GHC.Types", "$tcWord8X32#"),+ ('3', 634, InTypes, Just "GHC.Prim", "Word16X16#"),+ ('3', 635, InTerms, Just "GHC.Types", "$tcWord16X16#"),+ ('3', 636, InTypes, Just "GHC.Prim", "Word32X8#"),+ ('3', 637, InTerms, Just "GHC.Types", "$tcWord32X8#"),+ ('3', 638, InTypes, Just "GHC.Prim", "Word64X4#"),+ ('3', 639, InTerms, Just "GHC.Types", "$tcWord64X4#"),+ ('3', 640, InTypes, Just "GHC.Prim", "Word8X64#"),+ ('3', 641, InTerms, Just "GHC.Types", "$tcWord8X64#"),+ ('3', 642, InTypes, Just "GHC.Prim", "Word16X32#"),+ ('3', 643, InTerms, Just "GHC.Types", "$tcWord16X32#"),+ ('3', 644, InTypes, Just "GHC.Prim", "Word32X16#"),+ ('3', 645, InTerms, Just "GHC.Types", "$tcWord32X16#"),+ ('3', 646, InTypes, Just "GHC.Prim", "Word64X8#"),+ ('3', 647, InTerms, Just "GHC.Types", "$tcWord64X8#"),+ ('3', 648, InTypes, Just "GHC.Prim", "FloatX4#"),+ ('3', 649, InTerms, Just "GHC.Types", "$tcFloatX4#"),+ ('3', 650, InTypes, Just "GHC.Prim", "DoubleX2#"),+ ('3', 651, InTerms, Just "GHC.Types", "$tcDoubleX2#"),+ ('3', 652, InTypes, Just "GHC.Prim", "FloatX8#"),+ ('3', 653, InTerms, Just "GHC.Types", "$tcFloatX8#"),+ ('3', 654, InTypes, Just "GHC.Prim", "DoubleX4#"),+ ('3', 655, InTerms, Just "GHC.Types", "$tcDoubleX4#"),+ ('3', 656, InTypes, Just "GHC.Prim", "FloatX16#"),+ ('3', 657, InTerms, Just "GHC.Types", "$tcFloatX16#"),+ ('3', 658, InTypes, Just "GHC.Prim", "DoubleX8#"),+ ('3', 659, InTerms, Just "GHC.Types", "$tcDoubleX8#"),+ ('3', 800, InTypes, Just "GHC.Types", "Symbol"),+ ('3', 801, InTerms, Just "GHC.Types", "$tcSymbol"),+ ('3', 804, InTypes, Just "GHC.Internal.TypeNats", "+"),+ ('3', 806, InTypes, Just "GHC.Internal.TypeNats", "*"),+ ('3', 808, InTypes, Just "GHC.Internal.TypeNats", "^"),+ ('3', 810, InTypes, Just "GHC.Internal.TypeNats", "-"),+ ('3', 812, InTypes, Just "GHC.Internal.TypeLits.Internal", "CmpSymbol"),+ ('3', 814, InTypes, Just "GHC.Internal.TypeNats.Internal", "CmpNat"),+ ('3', 816, InTypes, Just "GHC.Internal.TypeLits.Internal", "CmpChar"),+ ('3', 820, InTypes, Just "GHC.Internal.TypeNats", "Div"),+ ('3', 822, InTypes, Just "GHC.Internal.TypeNats", "Mod"),+ ('3', 824, InTypes, Just "GHC.Internal.TypeNats", "Log2"),+ ('3', 826, InTypes, Just "GHC.Internal.TypeLits", "ConsSymbol"),+ ('3', 828, InTypes, Just "GHC.Internal.TypeLits", "UnconsSymbol"),+ ('3', 830, InTypes, Just "GHC.Internal.TypeLits", "CharToNat"),+ ('3', 832, InTypes, Just "GHC.Internal.TypeLits", "NatToChar"),+ ('3', 834, InTypes, Just "GHC.Internal.Foreign.C.ConstPtr", "ConstPtr"),+ ('3', 836, InTypes, Just "GHC.Internal.Wasm.Prim.Types", "JSVal"),+ ('3', 840, InTypes, Just "GHC.Internal.Exception.Context", "ExceptionContext"),+ ('4', 0, InTypes, Nothing, "()"),+ ('4', 1, InTerms, Just "GHC.Tuple", "$tcUnit"),+ ('4', 2, InTypes, Just "GHC.Tuple", "Solo"),+ ('4', 3, InTerms, Just "GHC.Tuple", "$tcSolo"),+ ('5', 0, InTypes, Nothing, "(##)"),+ ('5', 1, InTerms, Just "GHC.Types", "$tcUnit#"),+ ('6', 3, InTerms, Just "GHC.Types", "C#"),+ ('6', 4, InTerms, Just "GHC.Types", "C#"),+ ('6', 5, InTerms, Just "GHC.Types", "$tc'C#"),+ ('6', 6, InTerms, Nothing, ":"),+ ('6', 7, InTerms, Just "GHC.Types", ":"),+ ('6', 8, InTerms, Just "GHC.Types", "$tc':"),+ ('6', 9, InTerms, Just "GHC.Types", "D#"),+ ('6', 10, InTerms, Just "GHC.Types", "D#"),+ ('6', 11, InTerms, Just "GHC.Types", "$tc'D#"),+ ('6', 12, InTerms, Just "GHC.Types", "False"),+ ('6', 13, InTerms, Just "GHC.Types", "False"),+ ('6', 14, InTerms, Just "GHC.Types", "$tc'False"),+ ('6', 15, InTerms, Just "GHC.Types", "F#"),+ ('6', 16, InTerms, Just "GHC.Types", "F#"),+ ('6', 17, InTerms, Just "GHC.Types", "$tc'F#"),+ ('6', 18, InTerms, Just "GHC.Types", "I#"),+ ('6', 19, InTerms, Just "GHC.Types", "I#"),+ ('6', 20, InTerms, Just "GHC.Types", "$tc'I#"),+ ('6', 21, InTerms, Just "GHC.Internal.Maybe", "Nothing"),+ ('6', 22, InTerms, Just "GHC.Internal.Maybe", "Nothing"),+ ('6', 23, InTerms, Just "GHC.Internal.Maybe", "$tc'Nothing"),+ ('6', 24, InTerms, Just "GHC.Internal.Maybe", "Just"),+ ('6', 25, InTerms, Just "GHC.Internal.Maybe", "Just"),+ ('6', 26, InTerms, Just "GHC.Internal.Maybe", "$tc'Just"),+ ('6', 27, InTerms, Just "GHC.Types", "Eq#"),+ ('6', 28, InTerms, Just "GHC.Types", "Eq#"),+ ('6', 29, InTerms, Just "GHC.Types", "$tc'Eq#"),+ ('6', 30, InTerms, Nothing, "[]"),+ ('6', 31, InTerms, Just "GHC.Types", "[]"),+ ('6', 32, InTerms, Just "GHC.Types", "$tc'[]"),+ ('6', 33, InTerms, Just "GHC.Internal.Real", ":%"),+ ('6', 42, InTerms, Just "GHC.Types", "True"),+ ('6', 43, InTerms, Just "GHC.Types", "True"),+ ('6', 44, InTerms, Just "GHC.Types", "$tc'True"),+ ('6', 45, InTerms, Just "GHC.Types", "W#"),+ ('6', 46, InTerms, Just "GHC.Types", "W#"),+ ('6', 47, InTerms, Just "GHC.Types", "$tc'W#"),+ ('6', 48, InTerms, Just "GHC.Types", "IO"),+ ('6', 54, InTerms, Just "GHC.Types", "HEq#"),+ ('6', 55, InTerms, Just "GHC.Types", "HEq#"),+ ('6', 56, InTerms, Just "GHC.Types", "$tc'HEq#"),+ ('6', 75, InTerms, Just "GHC.Internal.Data.Either", "Left"),+ ('6', 78, InTerms, Just "GHC.Internal.Data.Either", "Right"),+ ('6', 81, InTerms, Just "GHC.Types", "LT"),+ ('6', 82, InTerms, Just "GHC.Types", "LT"),+ ('6', 83, InTerms, Just "GHC.Types", "$tc'LT"),+ ('6', 84, InTerms, Just "GHC.Types", "EQ"),+ ('6', 85, InTerms, Just "GHC.Types", "EQ"),+ ('6', 86, InTerms, Just "GHC.Types", "$tc'EQ"),+ ('6', 87, InTerms, Just "GHC.Types", "GT"),+ ('6', 88, InTerms, Just "GHC.Types", "GT"),+ ('6', 89, InTerms, Just "GHC.Types", "$tc'GT"),+ ('6', 96, InTerms, Just "GHC.Types", "MkCoercible"),+ ('6', 97, InTerms, Just "GHC.Types", "MkCoercible"),+ ('6', 98, InTerms, Just "GHC.Types", "$tc'MkCoercible"),+ ('6', 99, InTerms, Just "GHC.Internal.StaticPtr", "StaticPtr"),+ ('6', 102, InTerms, Just "GHC.Internal.StaticPtr", "StaticPtrInfo"),+ ('6', 105, InTerms, Just "GHC.Internal.Fingerprint.Type", "Fingerprint"),+ ('6', 111, InTerms, Just "GHC.Internal.Stack.Types", "SrcLoc"),+ ('6', 123, InTerms, Just "GHC.Types", "TyCon"),+ ('6', 129, InTerms, Just "GHC.Types", "Module"),+ ('6', 135, InTerms, Just "GHC.Types", "TrNameS"),+ ('6', 138, InTerms, Just "GHC.Types", "TrNameD"),+ ('6', 141, InTerms, Just "GHC.Types", "tr$ModuleGHCPrim"),+ ('6', 150, InTerms, Just "GHC.Internal.TypeError", "Text"),+ ('6', 153, InTerms, Just "GHC.Internal.TypeError", ":<>:"),+ ('6', 156, InTerms, Just "GHC.Internal.TypeError", ":$$:"),+ ('6', 159, InTerms, Just "GHC.Internal.TypeError", "ShowType"),+ ('6', 162, InTerms, Just "GHC.Internal.Generics", "PrefixI"),+ ('6', 165, InTerms, Just "GHC.Internal.Generics", "InfixI"),+ ('6', 168, InTerms, Just "GHC.Internal.Generics", "LeftAssociative"),+ ('6', 171, InTerms, Just "GHC.Internal.Generics", "RightAssociative"),+ ('6', 174, InTerms, Just "GHC.Internal.Generics", "NotAssociative"),+ ('6', 177, InTerms, Just "GHC.Internal.Generics", "SourceUnpack"),+ ('6', 180, InTerms, Just "GHC.Internal.Generics", "SourceNoUnpack"),+ ('6', 183, InTerms, Just "GHC.Internal.Generics", "NoSourceUnpackedness"),+ ('6', 186, InTerms, Just "GHC.Internal.Generics", "SourceLazy"),+ ('6', 189, InTerms, Just "GHC.Internal.Generics", "SourceStrict"),+ ('6', 192, InTerms, Just "GHC.Internal.Generics", "NoSourceStrictness"),+ ('6', 195, InTerms, Just "GHC.Internal.Generics", "DecidedLazy"),+ ('6', 198, InTerms, Just "GHC.Internal.Generics", "DecidedStrict"),+ ('6', 201, InTerms, Just "GHC.Internal.Generics", "DecidedUnpack"),+ ('6', 204, InTerms, Just "GHC.Internal.Generics", "MetaData"),+ ('6', 207, InTerms, Just "GHC.Internal.Generics", "MetaCons"),+ ('6', 210, InTerms, Just "GHC.Internal.Generics", "MetaSel"),+ ('6', 213, InTerms, Just "GHC.Types", "VecRep"),+ ('6', 214, InTerms, Just "GHC.Types", "VecRep"),+ ('6', 215, InTerms, Just "GHC.Types", "$tc'VecRep"),+ ('6', 216, InTerms, Just "GHC.Types", "TupleRep"),+ ('6', 217, InTerms, Just "GHC.Types", "TupleRep"),+ ('6', 218, InTerms, Just "GHC.Types", "$tc'TupleRep"),+ ('6', 219, InTerms, Just "GHC.Types", "SumRep"),+ ('6', 220, InTerms, Just "GHC.Types", "SumRep"),+ ('6', 221, InTerms, Just "GHC.Types", "$tc'SumRep"),+ ('6', 222, InTerms, Just "GHC.Types", "BoxedRep"),+ ('6', 223, InTerms, Just "GHC.Types", "BoxedRep"),+ ('6', 224, InTerms, Just "GHC.Types", "$tc'BoxedRep"),+ ('6', 225, InTerms, Just "GHC.Types", "IntRep"),+ ('6', 226, InTerms, Just "GHC.Types", "IntRep"),+ ('6', 227, InTerms, Just "GHC.Types", "$tc'IntRep"),+ ('6', 228, InTerms, Just "GHC.Types", "Int8Rep"),+ ('6', 229, InTerms, Just "GHC.Types", "Int8Rep"),+ ('6', 230, InTerms, Just "GHC.Types", "$tc'Int8Rep"),+ ('6', 231, InTerms, Just "GHC.Types", "Int16Rep"),+ ('6', 232, InTerms, Just "GHC.Types", "Int16Rep"),+ ('6', 233, InTerms, Just "GHC.Types", "$tc'Int16Rep"),+ ('6', 234, InTerms, Just "GHC.Types", "Int32Rep"),+ ('6', 235, InTerms, Just "GHC.Types", "Int32Rep"),+ ('6', 236, InTerms, Just "GHC.Types", "$tc'Int32Rep"),+ ('6', 237, InTerms, Just "GHC.Types", "Int64Rep"),+ ('6', 238, InTerms, Just "GHC.Types", "Int64Rep"),+ ('6', 239, InTerms, Just "GHC.Types", "$tc'Int64Rep"),+ ('6', 240, InTerms, Just "GHC.Types", "WordRep"),+ ('6', 241, InTerms, Just "GHC.Types", "WordRep"),+ ('6', 242, InTerms, Just "GHC.Types", "$tc'WordRep"),+ ('6', 243, InTerms, Just "GHC.Types", "Word8Rep"),+ ('6', 244, InTerms, Just "GHC.Types", "Word8Rep"),+ ('6', 245, InTerms, Just "GHC.Types", "$tc'Word8Rep"),+ ('6', 246, InTerms, Just "GHC.Types", "Word16Rep"),+ ('6', 247, InTerms, Just "GHC.Types", "Word16Rep"),+ ('6', 248, InTerms, Just "GHC.Types", "$tc'Word16Rep"),+ ('6', 249, InTerms, Just "GHC.Types", "Word32Rep"),+ ('6', 250, InTerms, Just "GHC.Types", "Word32Rep"),+ ('6', 251, InTerms, Just "GHC.Types", "$tc'Word32Rep"),+ ('6', 252, InTerms, Just "GHC.Types", "Word64Rep"),+ ('6', 253, InTerms, Just "GHC.Types", "Word64Rep"),+ ('6', 254, InTerms, Just "GHC.Types", "$tc'Word64Rep"),+ ('6', 255, InTerms, Just "GHC.Types", "AddrRep"),+ ('6', 256, InTerms, Just "GHC.Types", "AddrRep"),+ ('6', 257, InTerms, Just "GHC.Types", "$tc'AddrRep"),+ ('6', 258, InTerms, Just "GHC.Types", "FloatRep"),+ ('6', 259, InTerms, Just "GHC.Types", "FloatRep"),+ ('6', 260, InTerms, Just "GHC.Types", "$tc'FloatRep"),+ ('6', 261, InTerms, Just "GHC.Types", "DoubleRep"),+ ('6', 262, InTerms, Just "GHC.Types", "DoubleRep"),+ ('6', 263, InTerms, Just "GHC.Types", "$tc'DoubleRep"),+ ('6', 264, InTerms, Just "GHC.Types", "Lifted"),+ ('6', 265, InTerms, Just "GHC.Types", "Lifted"),+ ('6', 266, InTerms, Just "GHC.Types", "$tc'Lifted"),+ ('6', 267, InTerms, Just "GHC.Types", "Unlifted"),+ ('6', 268, InTerms, Just "GHC.Types", "Unlifted"),+ ('6', 269, InTerms, Just "GHC.Types", "$tc'Unlifted"),+ ('6', 270, InTerms, Just "GHC.Types", "Vec2"),+ ('6', 271, InTerms, Just "GHC.Types", "Vec2"),+ ('6', 272, InTerms, Just "GHC.Types", "$tc'Vec2"),+ ('6', 273, InTerms, Just "GHC.Types", "Vec4"),+ ('6', 274, InTerms, Just "GHC.Types", "Vec4"),+ ('6', 275, InTerms, Just "GHC.Types", "$tc'Vec4"),+ ('6', 276, InTerms, Just "GHC.Types", "Vec8"),+ ('6', 277, InTerms, Just "GHC.Types", "Vec8"),+ ('6', 278, InTerms, Just "GHC.Types", "$tc'Vec8"),+ ('6', 279, InTerms, Just "GHC.Types", "Vec16"),+ ('6', 280, InTerms, Just "GHC.Types", "Vec16"),+ ('6', 281, InTerms, Just "GHC.Types", "$tc'Vec16"),+ ('6', 282, InTerms, Just "GHC.Types", "Vec32"),+ ('6', 283, InTerms, Just "GHC.Types", "Vec32"),+ ('6', 284, InTerms, Just "GHC.Types", "$tc'Vec32"),+ ('6', 285, InTerms, Just "GHC.Types", "Vec64"),+ ('6', 286, InTerms, Just "GHC.Types", "Vec64"),+ ('6', 287, InTerms, Just "GHC.Types", "$tc'Vec64"),+ ('6', 288, InTerms, Just "GHC.Types", "Int8ElemRep"),+ ('6', 289, InTerms, Just "GHC.Types", "Int8ElemRep"),+ ('6', 290, InTerms, Just "GHC.Types", "$tc'Int8ElemRep"),+ ('6', 291, InTerms, Just "GHC.Types", "Int16ElemRep"),+ ('6', 292, InTerms, Just "GHC.Types", "Int16ElemRep"),+ ('6', 293, InTerms, Just "GHC.Types", "$tc'Int16ElemRep"),+ ('6', 294, InTerms, Just "GHC.Types", "Int32ElemRep"),+ ('6', 295, InTerms, Just "GHC.Types", "Int32ElemRep"),+ ('6', 296, InTerms, Just "GHC.Types", "$tc'Int32ElemRep"),+ ('6', 297, InTerms, Just "GHC.Types", "Int64ElemRep"),+ ('6', 298, InTerms, Just "GHC.Types", "Int64ElemRep"),+ ('6', 299, InTerms, Just "GHC.Types", "$tc'Int64ElemRep"),+ ('6', 300, InTerms, Just "GHC.Types", "Word8ElemRep"),+ ('6', 301, InTerms, Just "GHC.Types", "Word8ElemRep"),+ ('6', 302, InTerms, Just "GHC.Types", "$tc'Word8ElemRep"),+ ('6', 303, InTerms, Just "GHC.Types", "Word16ElemRep"),+ ('6', 304, InTerms, Just "GHC.Types", "Word16ElemRep"),+ ('6', 305, InTerms, Just "GHC.Types", "$tc'Word16ElemRep"),+ ('6', 306, InTerms, Just "GHC.Types", "Word32ElemRep"),+ ('6', 307, InTerms, Just "GHC.Types", "Word32ElemRep"),+ ('6', 308, InTerms, Just "GHC.Types", "$tc'Word32ElemRep"),+ ('6', 309, InTerms, Just "GHC.Types", "Word64ElemRep"),+ ('6', 310, InTerms, Just "GHC.Types", "Word64ElemRep"),+ ('6', 311, InTerms, Just "GHC.Types", "$tc'Word64ElemRep"),+ ('6', 312, InTerms, Just "GHC.Types", "FloatElemRep"),+ ('6', 313, InTerms, Just "GHC.Types", "FloatElemRep"),+ ('6', 314, InTerms, Just "GHC.Types", "$tc'FloatElemRep"),+ ('6', 315, InTerms, Just "GHC.Types", "DoubleElemRep"),+ ('6', 316, InTerms, Just "GHC.Types", "DoubleElemRep"),+ ('6', 317, InTerms, Just "GHC.Types", "$tc'DoubleElemRep"),+ ('6', 318, InTerms, Just "GHC.Types", "KindRepTyConApp"),+ ('6', 321, InTerms, Just "GHC.Types", "KindRepVar"),+ ('6', 324, InTerms, Just "GHC.Types", "KindRepApp"),+ ('6', 327, InTerms, Just "GHC.Types", "KindRepFun"),+ ('6', 330, InTerms, Just "GHC.Types", "KindRepTYPE"),+ ('6', 333, InTerms, Just "GHC.Types", "KindRepTypeLitS"),+ ('6', 336, InTerms, Just "GHC.Types", "KindRepTypeLitD"),+ ('6', 339, InTerms, Just "GHC.Types", "TypeLitSymbol"),+ ('6', 342, InTerms, Just "GHC.Types", "TypeLitNat"),+ ('6', 345, InTerms, Just "GHC.Types", "TypeLitChar"),+ ('6', 348, InTerms, Just "GHC.Internal.Unsafe.Coerce", "UnsafeRefl"),+ ('6', 351, InTerms, Just "GHC.Types", "One"),+ ('6', 352, InTerms, Just "GHC.Types", "One"),+ ('6', 353, InTerms, Just "GHC.Types", "$tc'One"),+ ('6', 354, InTerms, Just "GHC.Types", "Many"),+ ('6', 355, InTerms, Just "GHC.Types", "Many"),+ ('6', 356, InTerms, Just "GHC.Types", "$tc'Many"),+ ('6', 360, InTerms, Just "GHC.Num.Integer", "IS"),+ ('6', 361, InTerms, Just "GHC.Num.Integer", "IS"),+ ('6', 362, InTerms, Just "GHC.Num.Integer", "$tc'IS"),+ ('6', 363, InTerms, Just "GHC.Num.Integer", "IN"),+ ('6', 364, InTerms, Just "GHC.Num.Integer", "IN"),+ ('6', 365, InTerms, Just "GHC.Num.Integer", "$tc'IN"),+ ('6', 366, InTerms, Just "GHC.Num.Integer", "IP"),+ ('6', 367, InTerms, Just "GHC.Num.Integer", "IP"),+ ('6', 368, InTerms, Just "GHC.Num.Integer", "$tc'IP"),+ ('6', 369, InTerms, Just "GHC.Num.Natural", "NS"),+ ('6', 370, InTerms, Just "GHC.Num.Natural", "NS"),+ ('6', 371, InTerms, Just "GHC.Num.Natural", "$tc'NS"),+ ('6', 372, InTerms, Just "GHC.Num.Natural", "NB"),+ ('6', 373, InTerms, Just "GHC.Num.Natural", "NB"),+ ('6', 374, InTerms, Just "GHC.Num.Natural", "$tc'NB"),+ ('6', 600, InTerms, Just "Language.Haskell.TH.Syntax", "NoInline"),+ ('6', 603, InTerms, Just "Language.Haskell.TH.Syntax", "Inline"),+ ('6', 606, InTerms, Just "Language.Haskell.TH.Syntax", "Inlinable"),+ ('6', 612, InTerms, Just "Language.Haskell.TH.Syntax", "ConLike"),+ ('6', 615, InTerms, Just "Language.Haskell.TH.Syntax", "FunLike"),+ ('6', 618, InTerms, Just "Language.Haskell.TH.Syntax", "AllPhases"),+ ('6', 621, InTerms, Just "Language.Haskell.TH.Syntax", "FromPhase"),+ ('6', 624, InTerms, Just "Language.Haskell.TH.Syntax", "BeforePhase"),+ ('6', 627, InTerms, Just "Language.Haskell.TH.Syntax", "Overlappable"),+ ('6', 630, InTerms, Just "Language.Haskell.TH.Syntax", "Overlapping"),+ ('6', 633, InTerms, Just "Language.Haskell.TH.Syntax", "Overlaps"),+ ('6', 636, InTerms, Just "Language.Haskell.TH.Syntax", "Incoherent"),+ ('6', 639, InTerms, Just "Language.Haskell.TH.Syntax", "NoNamespaceSpecifier"),+ ('6', 642, InTerms, Just "Language.Haskell.TH.Syntax", "TypeNamespaceSpecifier"),+ ('6', 645, InTerms, Just "Language.Haskell.TH.Syntax", "DataNamespaceSpecifier"),+ ('6', 1482, InTerms, Just "Language.Haskell.TH.Lib.Internal", "stockStrategy"),+ ('6', 1485, InTerms, Just "Language.Haskell.TH.Lib.Internal", "anyclassStrategy"),+ ('6', 1488, InTerms, Just "Language.Haskell.TH.Lib.Internal", "newtypeStrategy"),+ ('6', 1491, InTerms, Just "Language.Haskell.TH.Lib.Internal", "viaStrategy"),+ ('7', 0, InTerms, Nothing, "()"),+ ('7', 1, InTerms, Just "GHC.Tuple", "()"),+ ('7', 2, InTerms, Just "GHC.Tuple", "$tc'()"),+ ('7', 3, InTerms, Just "GHC.Tuple", "MkSolo"),+ ('7', 4, InTerms, Just "GHC.Tuple", "MkSolo"),+ ('7', 5, InTerms, Just "GHC.Tuple", "$tc'MkSolo"),+ ('8', 0, InTerms, Nothing, "(##)"),+ ('8', 1, InTerms, Just "GHC.Types", "(##)"),+ ('8', 2, InTerms, Just "GHC.Types", "$tc'(##)"),+ ('9', 0, InTerms, Just "GHC.Prim", "gtChar#"),+ ('9', 1, InTerms, Just "GHC.PrimopWrappers", "gtChar#"),+ ('9', 2, InTerms, Just "GHC.Prim", "geChar#"),+ ('9', 3, InTerms, Just "GHC.PrimopWrappers", "geChar#"),+ ('9', 4, InTerms, Just "GHC.Prim", "eqChar#"),+ ('9', 5, InTerms, Just "GHC.PrimopWrappers", "eqChar#"),+ ('9', 6, InTerms, Just "GHC.Prim", "neChar#"),+ ('9', 7, InTerms, Just "GHC.PrimopWrappers", "neChar#"),+ ('9', 8, InTerms, Just "GHC.Prim", "ltChar#"),+ ('9', 9, InTerms, Just "GHC.PrimopWrappers", "ltChar#"),+ ('9', 10, InTerms, Just "GHC.Prim", "leChar#"),+ ('9', 11, InTerms, Just "GHC.PrimopWrappers", "leChar#"),+ ('9', 12, InTerms, Just "GHC.Prim", "ord#"),+ ('9', 13, InTerms, Just "GHC.PrimopWrappers", "ord#"),+ ('9', 14, InTerms, Just "GHC.Prim", "int8ToInt#"),+ ('9', 15, InTerms, Just "GHC.PrimopWrappers", "int8ToInt#"),+ ('9', 16, InTerms, Just "GHC.Prim", "intToInt8#"),+ ('9', 17, InTerms, Just "GHC.PrimopWrappers", "intToInt8#"),+ ('9', 18, InTerms, Just "GHC.Prim", "negateInt8#"),+ ('9', 19, InTerms, Just "GHC.PrimopWrappers", "negateInt8#"),+ ('9', 20, InTerms, Just "GHC.Prim", "plusInt8#"),+ ('9', 21, InTerms, Just "GHC.PrimopWrappers", "plusInt8#"),+ ('9', 22, InTerms, Just "GHC.Prim", "subInt8#"),+ ('9', 23, InTerms, Just "GHC.PrimopWrappers", "subInt8#"),+ ('9', 24, InTerms, Just "GHC.Prim", "timesInt8#"),+ ('9', 25, InTerms, Just "GHC.PrimopWrappers", "timesInt8#"),+ ('9', 26, InTerms, Just "GHC.Prim", "quotInt8#"),+ ('9', 27, InTerms, Just "GHC.PrimopWrappers", "quotInt8#"),+ ('9', 28, InTerms, Just "GHC.Prim", "remInt8#"),+ ('9', 29, InTerms, Just "GHC.PrimopWrappers", "remInt8#"),+ ('9', 30, InTerms, Just "GHC.Prim", "quotRemInt8#"),+ ('9', 31, InTerms, Just "GHC.PrimopWrappers", "quotRemInt8#"),+ ('9', 32, InTerms, Just "GHC.Prim", "uncheckedShiftLInt8#"),+ ('9', 33, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLInt8#"),+ ('9', 34, InTerms, Just "GHC.Prim", "uncheckedShiftRAInt8#"),+ ('9', 35, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRAInt8#"),+ ('9', 36, InTerms, Just "GHC.Prim", "uncheckedShiftRLInt8#"),+ ('9', 37, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLInt8#"),+ ('9', 38, InTerms, Just "GHC.Prim", "int8ToWord8#"),+ ('9', 39, InTerms, Just "GHC.PrimopWrappers", "int8ToWord8#"),+ ('9', 40, InTerms, Just "GHC.Prim", "eqInt8#"),+ ('9', 41, InTerms, Just "GHC.PrimopWrappers", "eqInt8#"),+ ('9', 42, InTerms, Just "GHC.Prim", "geInt8#"),+ ('9', 43, InTerms, Just "GHC.PrimopWrappers", "geInt8#"),+ ('9', 44, InTerms, Just "GHC.Prim", "gtInt8#"),+ ('9', 45, InTerms, Just "GHC.PrimopWrappers", "gtInt8#"),+ ('9', 46, InTerms, Just "GHC.Prim", "leInt8#"),+ ('9', 47, InTerms, Just "GHC.PrimopWrappers", "leInt8#"),+ ('9', 48, InTerms, Just "GHC.Prim", "ltInt8#"),+ ('9', 49, InTerms, Just "GHC.PrimopWrappers", "ltInt8#"),+ ('9', 50, InTerms, Just "GHC.Prim", "neInt8#"),+ ('9', 51, InTerms, Just "GHC.PrimopWrappers", "neInt8#"),+ ('9', 52, InTerms, Just "GHC.Prim", "word8ToWord#"),+ ('9', 53, InTerms, Just "GHC.PrimopWrappers", "word8ToWord#"),+ ('9', 54, InTerms, Just "GHC.Prim", "wordToWord8#"),+ ('9', 55, InTerms, Just "GHC.PrimopWrappers", "wordToWord8#"),+ ('9', 56, InTerms, Just "GHC.Prim", "plusWord8#"),+ ('9', 57, InTerms, Just "GHC.PrimopWrappers", "plusWord8#"),+ ('9', 58, InTerms, Just "GHC.Prim", "subWord8#"),+ ('9', 59, InTerms, Just "GHC.PrimopWrappers", "subWord8#"),+ ('9', 60, InTerms, Just "GHC.Prim", "timesWord8#"),+ ('9', 61, InTerms, Just "GHC.PrimopWrappers", "timesWord8#"),+ ('9', 62, InTerms, Just "GHC.Prim", "quotWord8#"),+ ('9', 63, InTerms, Just "GHC.PrimopWrappers", "quotWord8#"),+ ('9', 64, InTerms, Just "GHC.Prim", "remWord8#"),+ ('9', 65, InTerms, Just "GHC.PrimopWrappers", "remWord8#"),+ ('9', 66, InTerms, Just "GHC.Prim", "quotRemWord8#"),+ ('9', 67, InTerms, Just "GHC.PrimopWrappers", "quotRemWord8#"),+ ('9', 68, InTerms, Just "GHC.Prim", "andWord8#"),+ ('9', 69, InTerms, Just "GHC.PrimopWrappers", "andWord8#"),+ ('9', 70, InTerms, Just "GHC.Prim", "orWord8#"),+ ('9', 71, InTerms, Just "GHC.PrimopWrappers", "orWord8#"),+ ('9', 72, InTerms, Just "GHC.Prim", "xorWord8#"),+ ('9', 73, InTerms, Just "GHC.PrimopWrappers", "xorWord8#"),+ ('9', 74, InTerms, Just "GHC.Prim", "notWord8#"),+ ('9', 75, InTerms, Just "GHC.PrimopWrappers", "notWord8#"),+ ('9', 76, InTerms, Just "GHC.Prim", "uncheckedShiftLWord8#"),+ ('9', 77, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLWord8#"),+ ('9', 78, InTerms, Just "GHC.Prim", "uncheckedShiftRLWord8#"),+ ('9', 79, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLWord8#"),+ ('9', 80, InTerms, Just "GHC.Prim", "word8ToInt8#"),+ ('9', 81, InTerms, Just "GHC.PrimopWrappers", "word8ToInt8#"),+ ('9', 82, InTerms, Just "GHC.Prim", "eqWord8#"),+ ('9', 83, InTerms, Just "GHC.PrimopWrappers", "eqWord8#"),+ ('9', 84, InTerms, Just "GHC.Prim", "geWord8#"),+ ('9', 85, InTerms, Just "GHC.PrimopWrappers", "geWord8#"),+ ('9', 86, InTerms, Just "GHC.Prim", "gtWord8#"),+ ('9', 87, InTerms, Just "GHC.PrimopWrappers", "gtWord8#"),+ ('9', 88, InTerms, Just "GHC.Prim", "leWord8#"),+ ('9', 89, InTerms, Just "GHC.PrimopWrappers", "leWord8#"),+ ('9', 90, InTerms, Just "GHC.Prim", "ltWord8#"),+ ('9', 91, InTerms, Just "GHC.PrimopWrappers", "ltWord8#"),+ ('9', 92, InTerms, Just "GHC.Prim", "neWord8#"),+ ('9', 93, InTerms, Just "GHC.PrimopWrappers", "neWord8#"),+ ('9', 94, InTerms, Just "GHC.Prim", "int16ToInt#"),+ ('9', 95, InTerms, Just "GHC.PrimopWrappers", "int16ToInt#"),+ ('9', 96, InTerms, Just "GHC.Prim", "intToInt16#"),+ ('9', 97, InTerms, Just "GHC.PrimopWrappers", "intToInt16#"),+ ('9', 98, InTerms, Just "GHC.Prim", "negateInt16#"),+ ('9', 99, InTerms, Just "GHC.PrimopWrappers", "negateInt16#"),+ ('9', 100, InTerms, Just "GHC.Prim", "plusInt16#"),+ ('9', 101, InTerms, Just "GHC.PrimopWrappers", "plusInt16#"),+ ('9', 102, InTerms, Just "GHC.Prim", "subInt16#"),+ ('9', 103, InTerms, Just "GHC.PrimopWrappers", "subInt16#"),+ ('9', 104, InTerms, Just "GHC.Prim", "timesInt16#"),+ ('9', 105, InTerms, Just "GHC.PrimopWrappers", "timesInt16#"),+ ('9', 106, InTerms, Just "GHC.Prim", "quotInt16#"),+ ('9', 107, InTerms, Just "GHC.PrimopWrappers", "quotInt16#"),+ ('9', 108, InTerms, Just "GHC.Prim", "remInt16#"),+ ('9', 109, InTerms, Just "GHC.PrimopWrappers", "remInt16#"),+ ('9', 110, InTerms, Just "GHC.Prim", "quotRemInt16#"),+ ('9', 111, InTerms, Just "GHC.PrimopWrappers", "quotRemInt16#"),+ ('9', 112, InTerms, Just "GHC.Prim", "uncheckedShiftLInt16#"),+ ('9', 113, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLInt16#"),+ ('9', 114, InTerms, Just "GHC.Prim", "uncheckedShiftRAInt16#"),+ ('9', 115, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRAInt16#"),+ ('9', 116, InTerms, Just "GHC.Prim", "uncheckedShiftRLInt16#"),+ ('9', 117, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLInt16#"),+ ('9', 118, InTerms, Just "GHC.Prim", "int16ToWord16#"),+ ('9', 119, InTerms, Just "GHC.PrimopWrappers", "int16ToWord16#"),+ ('9', 120, InTerms, Just "GHC.Prim", "eqInt16#"),+ ('9', 121, InTerms, Just "GHC.PrimopWrappers", "eqInt16#"),+ ('9', 122, InTerms, Just "GHC.Prim", "geInt16#"),+ ('9', 123, InTerms, Just "GHC.PrimopWrappers", "geInt16#"),+ ('9', 124, InTerms, Just "GHC.Prim", "gtInt16#"),+ ('9', 125, InTerms, Just "GHC.PrimopWrappers", "gtInt16#"),+ ('9', 126, InTerms, Just "GHC.Prim", "leInt16#"),+ ('9', 127, InTerms, Just "GHC.PrimopWrappers", "leInt16#"),+ ('9', 128, InTerms, Just "GHC.Prim", "ltInt16#"),+ ('9', 129, InTerms, Just "GHC.PrimopWrappers", "ltInt16#"),+ ('9', 130, InTerms, Just "GHC.Prim", "neInt16#"),+ ('9', 131, InTerms, Just "GHC.PrimopWrappers", "neInt16#"),+ ('9', 132, InTerms, Just "GHC.Prim", "word16ToWord#"),+ ('9', 133, InTerms, Just "GHC.PrimopWrappers", "word16ToWord#"),+ ('9', 134, InTerms, Just "GHC.Prim", "wordToWord16#"),+ ('9', 135, InTerms, Just "GHC.PrimopWrappers", "wordToWord16#"),+ ('9', 136, InTerms, Just "GHC.Prim", "plusWord16#"),+ ('9', 137, InTerms, Just "GHC.PrimopWrappers", "plusWord16#"),+ ('9', 138, InTerms, Just "GHC.Prim", "subWord16#"),+ ('9', 139, InTerms, Just "GHC.PrimopWrappers", "subWord16#"),+ ('9', 140, InTerms, Just "GHC.Prim", "timesWord16#"),+ ('9', 141, InTerms, Just "GHC.PrimopWrappers", "timesWord16#"),+ ('9', 142, InTerms, Just "GHC.Prim", "quotWord16#"),+ ('9', 143, InTerms, Just "GHC.PrimopWrappers", "quotWord16#"),+ ('9', 144, InTerms, Just "GHC.Prim", "remWord16#"),+ ('9', 145, InTerms, Just "GHC.PrimopWrappers", "remWord16#"),+ ('9', 146, InTerms, Just "GHC.Prim", "quotRemWord16#"),+ ('9', 147, InTerms, Just "GHC.PrimopWrappers", "quotRemWord16#"),+ ('9', 148, InTerms, Just "GHC.Prim", "andWord16#"),+ ('9', 149, InTerms, Just "GHC.PrimopWrappers", "andWord16#"),+ ('9', 150, InTerms, Just "GHC.Prim", "orWord16#"),+ ('9', 151, InTerms, Just "GHC.PrimopWrappers", "orWord16#"),+ ('9', 152, InTerms, Just "GHC.Prim", "xorWord16#"),+ ('9', 153, InTerms, Just "GHC.PrimopWrappers", "xorWord16#"),+ ('9', 154, InTerms, Just "GHC.Prim", "notWord16#"),+ ('9', 155, InTerms, Just "GHC.PrimopWrappers", "notWord16#"),+ ('9', 156, InTerms, Just "GHC.Prim", "uncheckedShiftLWord16#"),+ ('9', 157, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLWord16#"),+ ('9', 158, InTerms, Just "GHC.Prim", "uncheckedShiftRLWord16#"),+ ('9', 159, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLWord16#"),+ ('9', 160, InTerms, Just "GHC.Prim", "word16ToInt16#"),+ ('9', 161, InTerms, Just "GHC.PrimopWrappers", "word16ToInt16#"),+ ('9', 162, InTerms, Just "GHC.Prim", "eqWord16#"),+ ('9', 163, InTerms, Just "GHC.PrimopWrappers", "eqWord16#"),+ ('9', 164, InTerms, Just "GHC.Prim", "geWord16#"),+ ('9', 165, InTerms, Just "GHC.PrimopWrappers", "geWord16#"),+ ('9', 166, InTerms, Just "GHC.Prim", "gtWord16#"),+ ('9', 167, InTerms, Just "GHC.PrimopWrappers", "gtWord16#"),+ ('9', 168, InTerms, Just "GHC.Prim", "leWord16#"),+ ('9', 169, InTerms, Just "GHC.PrimopWrappers", "leWord16#"),+ ('9', 170, InTerms, Just "GHC.Prim", "ltWord16#"),+ ('9', 171, InTerms, Just "GHC.PrimopWrappers", "ltWord16#"),+ ('9', 172, InTerms, Just "GHC.Prim", "neWord16#"),+ ('9', 173, InTerms, Just "GHC.PrimopWrappers", "neWord16#"),+ ('9', 174, InTerms, Just "GHC.Prim", "int32ToInt#"),+ ('9', 175, InTerms, Just "GHC.PrimopWrappers", "int32ToInt#"),+ ('9', 176, InTerms, Just "GHC.Prim", "intToInt32#"),+ ('9', 177, InTerms, Just "GHC.PrimopWrappers", "intToInt32#"),+ ('9', 178, InTerms, Just "GHC.Prim", "negateInt32#"),+ ('9', 179, InTerms, Just "GHC.PrimopWrappers", "negateInt32#"),+ ('9', 180, InTerms, Just "GHC.Prim", "plusInt32#"),+ ('9', 181, InTerms, Just "GHC.PrimopWrappers", "plusInt32#"),+ ('9', 182, InTerms, Just "GHC.Prim", "subInt32#"),+ ('9', 183, InTerms, Just "GHC.PrimopWrappers", "subInt32#"),+ ('9', 184, InTerms, Just "GHC.Prim", "timesInt32#"),+ ('9', 185, InTerms, Just "GHC.PrimopWrappers", "timesInt32#"),+ ('9', 186, InTerms, Just "GHC.Prim", "quotInt32#"),+ ('9', 187, InTerms, Just "GHC.PrimopWrappers", "quotInt32#"),+ ('9', 188, InTerms, Just "GHC.Prim", "remInt32#"),+ ('9', 189, InTerms, Just "GHC.PrimopWrappers", "remInt32#"),+ ('9', 190, InTerms, Just "GHC.Prim", "quotRemInt32#"),+ ('9', 191, InTerms, Just "GHC.PrimopWrappers", "quotRemInt32#"),+ ('9', 192, InTerms, Just "GHC.Prim", "uncheckedShiftLInt32#"),+ ('9', 193, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLInt32#"),+ ('9', 194, InTerms, Just "GHC.Prim", "uncheckedShiftRAInt32#"),+ ('9', 195, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRAInt32#"),+ ('9', 196, InTerms, Just "GHC.Prim", "uncheckedShiftRLInt32#"),+ ('9', 197, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLInt32#"),+ ('9', 198, InTerms, Just "GHC.Prim", "int32ToWord32#"),+ ('9', 199, InTerms, Just "GHC.PrimopWrappers", "int32ToWord32#"),+ ('9', 200, InTerms, Just "GHC.Prim", "eqInt32#"),+ ('9', 201, InTerms, Just "GHC.PrimopWrappers", "eqInt32#"),+ ('9', 202, InTerms, Just "GHC.Prim", "geInt32#"),+ ('9', 203, InTerms, Just "GHC.PrimopWrappers", "geInt32#"),+ ('9', 204, InTerms, Just "GHC.Prim", "gtInt32#"),+ ('9', 205, InTerms, Just "GHC.PrimopWrappers", "gtInt32#"),+ ('9', 206, InTerms, Just "GHC.Prim", "leInt32#"),+ ('9', 207, InTerms, Just "GHC.PrimopWrappers", "leInt32#"),+ ('9', 208, InTerms, Just "GHC.Prim", "ltInt32#"),+ ('9', 209, InTerms, Just "GHC.PrimopWrappers", "ltInt32#"),+ ('9', 210, InTerms, Just "GHC.Prim", "neInt32#"),+ ('9', 211, InTerms, Just "GHC.PrimopWrappers", "neInt32#"),+ ('9', 212, InTerms, Just "GHC.Prim", "word32ToWord#"),+ ('9', 213, InTerms, Just "GHC.PrimopWrappers", "word32ToWord#"),+ ('9', 214, InTerms, Just "GHC.Prim", "wordToWord32#"),+ ('9', 215, InTerms, Just "GHC.PrimopWrappers", "wordToWord32#"),+ ('9', 216, InTerms, Just "GHC.Prim", "plusWord32#"),+ ('9', 217, InTerms, Just "GHC.PrimopWrappers", "plusWord32#"),+ ('9', 218, InTerms, Just "GHC.Prim", "subWord32#"),+ ('9', 219, InTerms, Just "GHC.PrimopWrappers", "subWord32#"),+ ('9', 220, InTerms, Just "GHC.Prim", "timesWord32#"),+ ('9', 221, InTerms, Just "GHC.PrimopWrappers", "timesWord32#"),+ ('9', 222, InTerms, Just "GHC.Prim", "quotWord32#"),+ ('9', 223, InTerms, Just "GHC.PrimopWrappers", "quotWord32#"),+ ('9', 224, InTerms, Just "GHC.Prim", "remWord32#"),+ ('9', 225, InTerms, Just "GHC.PrimopWrappers", "remWord32#"),+ ('9', 226, InTerms, Just "GHC.Prim", "quotRemWord32#"),+ ('9', 227, InTerms, Just "GHC.PrimopWrappers", "quotRemWord32#"),+ ('9', 228, InTerms, Just "GHC.Prim", "andWord32#"),+ ('9', 229, InTerms, Just "GHC.PrimopWrappers", "andWord32#"),+ ('9', 230, InTerms, Just "GHC.Prim", "orWord32#"),+ ('9', 231, InTerms, Just "GHC.PrimopWrappers", "orWord32#"),+ ('9', 232, InTerms, Just "GHC.Prim", "xorWord32#"),+ ('9', 233, InTerms, Just "GHC.PrimopWrappers", "xorWord32#"),+ ('9', 234, InTerms, Just "GHC.Prim", "notWord32#"),+ ('9', 235, InTerms, Just "GHC.PrimopWrappers", "notWord32#"),+ ('9', 236, InTerms, Just "GHC.Prim", "uncheckedShiftLWord32#"),+ ('9', 237, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLWord32#"),+ ('9', 238, InTerms, Just "GHC.Prim", "uncheckedShiftRLWord32#"),+ ('9', 239, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLWord32#"),+ ('9', 240, InTerms, Just "GHC.Prim", "word32ToInt32#"),+ ('9', 241, InTerms, Just "GHC.PrimopWrappers", "word32ToInt32#"),+ ('9', 242, InTerms, Just "GHC.Prim", "eqWord32#"),+ ('9', 243, InTerms, Just "GHC.PrimopWrappers", "eqWord32#"),+ ('9', 244, InTerms, Just "GHC.Prim", "geWord32#"),+ ('9', 245, InTerms, Just "GHC.PrimopWrappers", "geWord32#"),+ ('9', 246, InTerms, Just "GHC.Prim", "gtWord32#"),+ ('9', 247, InTerms, Just "GHC.PrimopWrappers", "gtWord32#"),+ ('9', 248, InTerms, Just "GHC.Prim", "leWord32#"),+ ('9', 249, InTerms, Just "GHC.PrimopWrappers", "leWord32#"),+ ('9', 250, InTerms, Just "GHC.Prim", "ltWord32#"),+ ('9', 251, InTerms, Just "GHC.PrimopWrappers", "ltWord32#"),+ ('9', 252, InTerms, Just "GHC.Prim", "neWord32#"),+ ('9', 253, InTerms, Just "GHC.PrimopWrappers", "neWord32#"),+ ('9', 254, InTerms, Just "GHC.Prim", "int64ToInt#"),+ ('9', 255, InTerms, Just "GHC.PrimopWrappers", "int64ToInt#"),+ ('9', 256, InTerms, Just "GHC.Prim", "intToInt64#"),+ ('9', 257, InTerms, Just "GHC.PrimopWrappers", "intToInt64#"),+ ('9', 258, InTerms, Just "GHC.Prim", "negateInt64#"),+ ('9', 259, InTerms, Just "GHC.PrimopWrappers", "negateInt64#"),+ ('9', 260, InTerms, Just "GHC.Prim", "plusInt64#"),+ ('9', 261, InTerms, Just "GHC.PrimopWrappers", "plusInt64#"),+ ('9', 262, InTerms, Just "GHC.Prim", "subInt64#"),+ ('9', 263, InTerms, Just "GHC.PrimopWrappers", "subInt64#"),+ ('9', 264, InTerms, Just "GHC.Prim", "timesInt64#"),+ ('9', 265, InTerms, Just "GHC.PrimopWrappers", "timesInt64#"),+ ('9', 266, InTerms, Just "GHC.Prim", "quotInt64#"),+ ('9', 267, InTerms, Just "GHC.PrimopWrappers", "quotInt64#"),+ ('9', 268, InTerms, Just "GHC.Prim", "remInt64#"),+ ('9', 269, InTerms, Just "GHC.PrimopWrappers", "remInt64#"),+ ('9', 270, InTerms, Just "GHC.Prim", "uncheckedIShiftL64#"),+ ('9', 271, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftL64#"),+ ('9', 272, InTerms, Just "GHC.Prim", "uncheckedIShiftRA64#"),+ ('9', 273, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRA64#"),+ ('9', 274, InTerms, Just "GHC.Prim", "uncheckedIShiftRL64#"),+ ('9', 275, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRL64#"),+ ('9', 276, InTerms, Just "GHC.Prim", "int64ToWord64#"),+ ('9', 277, InTerms, Just "GHC.PrimopWrappers", "int64ToWord64#"),+ ('9', 278, InTerms, Just "GHC.Prim", "eqInt64#"),+ ('9', 279, InTerms, Just "GHC.PrimopWrappers", "eqInt64#"),+ ('9', 280, InTerms, Just "GHC.Prim", "geInt64#"),+ ('9', 281, InTerms, Just "GHC.PrimopWrappers", "geInt64#"),+ ('9', 282, InTerms, Just "GHC.Prim", "gtInt64#"),+ ('9', 283, InTerms, Just "GHC.PrimopWrappers", "gtInt64#"),+ ('9', 284, InTerms, Just "GHC.Prim", "leInt64#"),+ ('9', 285, InTerms, Just "GHC.PrimopWrappers", "leInt64#"),+ ('9', 286, InTerms, Just "GHC.Prim", "ltInt64#"),+ ('9', 287, InTerms, Just "GHC.PrimopWrappers", "ltInt64#"),+ ('9', 288, InTerms, Just "GHC.Prim", "neInt64#"),+ ('9', 289, InTerms, Just "GHC.PrimopWrappers", "neInt64#"),+ ('9', 290, InTerms, Just "GHC.Prim", "word64ToWord#"),+ ('9', 291, InTerms, Just "GHC.PrimopWrappers", "word64ToWord#"),+ ('9', 292, InTerms, Just "GHC.Prim", "wordToWord64#"),+ ('9', 293, InTerms, Just "GHC.PrimopWrappers", "wordToWord64#"),+ ('9', 294, InTerms, Just "GHC.Prim", "plusWord64#"),+ ('9', 295, InTerms, Just "GHC.PrimopWrappers", "plusWord64#"),+ ('9', 296, InTerms, Just "GHC.Prim", "subWord64#"),+ ('9', 297, InTerms, Just "GHC.PrimopWrappers", "subWord64#"),+ ('9', 298, InTerms, Just "GHC.Prim", "timesWord64#"),+ ('9', 299, InTerms, Just "GHC.PrimopWrappers", "timesWord64#"),+ ('9', 300, InTerms, Just "GHC.Prim", "quotWord64#"),+ ('9', 301, InTerms, Just "GHC.PrimopWrappers", "quotWord64#"),+ ('9', 302, InTerms, Just "GHC.Prim", "remWord64#"),+ ('9', 303, InTerms, Just "GHC.PrimopWrappers", "remWord64#"),+ ('9', 304, InTerms, Just "GHC.Prim", "and64#"),+ ('9', 305, InTerms, Just "GHC.PrimopWrappers", "and64#"),+ ('9', 306, InTerms, Just "GHC.Prim", "or64#"),+ ('9', 307, InTerms, Just "GHC.PrimopWrappers", "or64#"),+ ('9', 308, InTerms, Just "GHC.Prim", "xor64#"),+ ('9', 309, InTerms, Just "GHC.PrimopWrappers", "xor64#"),+ ('9', 310, InTerms, Just "GHC.Prim", "not64#"),+ ('9', 311, InTerms, Just "GHC.PrimopWrappers", "not64#"),+ ('9', 312, InTerms, Just "GHC.Prim", "uncheckedShiftL64#"),+ ('9', 313, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftL64#"),+ ('9', 314, InTerms, Just "GHC.Prim", "uncheckedShiftRL64#"),+ ('9', 315, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRL64#"),+ ('9', 316, InTerms, Just "GHC.Prim", "word64ToInt64#"),+ ('9', 317, InTerms, Just "GHC.PrimopWrappers", "word64ToInt64#"),+ ('9', 318, InTerms, Just "GHC.Prim", "eqWord64#"),+ ('9', 319, InTerms, Just "GHC.PrimopWrappers", "eqWord64#"),+ ('9', 320, InTerms, Just "GHC.Prim", "geWord64#"),+ ('9', 321, InTerms, Just "GHC.PrimopWrappers", "geWord64#"),+ ('9', 322, InTerms, Just "GHC.Prim", "gtWord64#"),+ ('9', 323, InTerms, Just "GHC.PrimopWrappers", "gtWord64#"),+ ('9', 324, InTerms, Just "GHC.Prim", "leWord64#"),+ ('9', 325, InTerms, Just "GHC.PrimopWrappers", "leWord64#"),+ ('9', 326, InTerms, Just "GHC.Prim", "ltWord64#"),+ ('9', 327, InTerms, Just "GHC.PrimopWrappers", "ltWord64#"),+ ('9', 328, InTerms, Just "GHC.Prim", "neWord64#"),+ ('9', 329, InTerms, Just "GHC.PrimopWrappers", "neWord64#"),+ ('9', 330, InTerms, Just "GHC.Prim", "+#"),+ ('9', 331, InTerms, Just "GHC.PrimopWrappers", "+#"),+ ('9', 332, InTerms, Just "GHC.Prim", "-#"),+ ('9', 333, InTerms, Just "GHC.PrimopWrappers", "-#"),+ ('9', 334, InTerms, Just "GHC.Prim", "*#"),+ ('9', 335, InTerms, Just "GHC.PrimopWrappers", "*#"),+ ('9', 336, InTerms, Just "GHC.Prim", "timesInt2#"),+ ('9', 337, InTerms, Just "GHC.PrimopWrappers", "timesInt2#"),+ ('9', 338, InTerms, Just "GHC.Prim", "mulIntMayOflo#"),+ ('9', 339, InTerms, Just "GHC.PrimopWrappers", "mulIntMayOflo#"),+ ('9', 340, InTerms, Just "GHC.Prim", "quotInt#"),+ ('9', 341, InTerms, Just "GHC.PrimopWrappers", "quotInt#"),+ ('9', 342, InTerms, Just "GHC.Prim", "remInt#"),+ ('9', 343, InTerms, Just "GHC.PrimopWrappers", "remInt#"),+ ('9', 344, InTerms, Just "GHC.Prim", "quotRemInt#"),+ ('9', 345, InTerms, Just "GHC.PrimopWrappers", "quotRemInt#"),+ ('9', 346, InTerms, Just "GHC.Prim", "andI#"),+ ('9', 347, InTerms, Just "GHC.PrimopWrappers", "andI#"),+ ('9', 348, InTerms, Just "GHC.Prim", "orI#"),+ ('9', 349, InTerms, Just "GHC.PrimopWrappers", "orI#"),+ ('9', 350, InTerms, Just "GHC.Prim", "xorI#"),+ ('9', 351, InTerms, Just "GHC.PrimopWrappers", "xorI#"),+ ('9', 352, InTerms, Just "GHC.Prim", "notI#"),+ ('9', 353, InTerms, Just "GHC.PrimopWrappers", "notI#"),+ ('9', 354, InTerms, Just "GHC.Prim", "negateInt#"),+ ('9', 355, InTerms, Just "GHC.PrimopWrappers", "negateInt#"),+ ('9', 356, InTerms, Just "GHC.Prim", "addIntC#"),+ ('9', 357, InTerms, Just "GHC.PrimopWrappers", "addIntC#"),+ ('9', 358, InTerms, Just "GHC.Prim", "subIntC#"),+ ('9', 359, InTerms, Just "GHC.PrimopWrappers", "subIntC#"),+ ('9', 360, InTerms, Just "GHC.Prim", ">#"),+ ('9', 361, InTerms, Just "GHC.PrimopWrappers", ">#"),+ ('9', 362, InTerms, Just "GHC.Prim", ">=#"),+ ('9', 363, InTerms, Just "GHC.PrimopWrappers", ">=#"),+ ('9', 364, InTerms, Just "GHC.Prim", "==#"),+ ('9', 365, InTerms, Just "GHC.PrimopWrappers", "==#"),+ ('9', 366, InTerms, Just "GHC.Prim", "/=#"),+ ('9', 367, InTerms, Just "GHC.PrimopWrappers", "/=#"),+ ('9', 368, InTerms, Just "GHC.Prim", "<#"),+ ('9', 369, InTerms, Just "GHC.PrimopWrappers", "<#"),+ ('9', 370, InTerms, Just "GHC.Prim", "<=#"),+ ('9', 371, InTerms, Just "GHC.PrimopWrappers", "<=#"),+ ('9', 372, InTerms, Just "GHC.Prim", "chr#"),+ ('9', 373, InTerms, Just "GHC.PrimopWrappers", "chr#"),+ ('9', 374, InTerms, Just "GHC.Prim", "int2Word#"),+ ('9', 375, InTerms, Just "GHC.PrimopWrappers", "int2Word#"),+ ('9', 376, InTerms, Just "GHC.Prim", "int2Float#"),+ ('9', 377, InTerms, Just "GHC.PrimopWrappers", "int2Float#"),+ ('9', 378, InTerms, Just "GHC.Prim", "int2Double#"),+ ('9', 379, InTerms, Just "GHC.PrimopWrappers", "int2Double#"),+ ('9', 380, InTerms, Just "GHC.Prim", "word2Float#"),+ ('9', 381, InTerms, Just "GHC.PrimopWrappers", "word2Float#"),+ ('9', 382, InTerms, Just "GHC.Prim", "word2Double#"),+ ('9', 383, InTerms, Just "GHC.PrimopWrappers", "word2Double#"),+ ('9', 384, InTerms, Just "GHC.Prim", "uncheckedIShiftL#"),+ ('9', 385, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftL#"),+ ('9', 386, InTerms, Just "GHC.Prim", "uncheckedIShiftRA#"),+ ('9', 387, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRA#"),+ ('9', 388, InTerms, Just "GHC.Prim", "uncheckedIShiftRL#"),+ ('9', 389, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRL#"),+ ('9', 390, InTerms, Just "GHC.Prim", "plusWord#"),+ ('9', 391, InTerms, Just "GHC.PrimopWrappers", "plusWord#"),+ ('9', 392, InTerms, Just "GHC.Prim", "addWordC#"),+ ('9', 393, InTerms, Just "GHC.PrimopWrappers", "addWordC#"),+ ('9', 394, InTerms, Just "GHC.Prim", "subWordC#"),+ ('9', 395, InTerms, Just "GHC.PrimopWrappers", "subWordC#"),+ ('9', 396, InTerms, Just "GHC.Prim", "plusWord2#"),+ ('9', 397, InTerms, Just "GHC.PrimopWrappers", "plusWord2#"),+ ('9', 398, InTerms, Just "GHC.Prim", "minusWord#"),+ ('9', 399, InTerms, Just "GHC.PrimopWrappers", "minusWord#"),+ ('9', 400, InTerms, Just "GHC.Prim", "timesWord#"),+ ('9', 401, InTerms, Just "GHC.PrimopWrappers", "timesWord#"),+ ('9', 402, InTerms, Just "GHC.Prim", "timesWord2#"),+ ('9', 403, InTerms, Just "GHC.PrimopWrappers", "timesWord2#"),+ ('9', 404, InTerms, Just "GHC.Prim", "quotWord#"),+ ('9', 405, InTerms, Just "GHC.PrimopWrappers", "quotWord#"),+ ('9', 406, InTerms, Just "GHC.Prim", "remWord#"),+ ('9', 407, InTerms, Just "GHC.PrimopWrappers", "remWord#"),+ ('9', 408, InTerms, Just "GHC.Prim", "quotRemWord#"),+ ('9', 409, InTerms, Just "GHC.PrimopWrappers", "quotRemWord#"),+ ('9', 410, InTerms, Just "GHC.Prim", "quotRemWord2#"),+ ('9', 411, InTerms, Just "GHC.PrimopWrappers", "quotRemWord2#"),+ ('9', 412, InTerms, Just "GHC.Prim", "and#"),+ ('9', 413, InTerms, Just "GHC.PrimopWrappers", "and#"),+ ('9', 414, InTerms, Just "GHC.Prim", "or#"),+ ('9', 415, InTerms, Just "GHC.PrimopWrappers", "or#"),+ ('9', 416, InTerms, Just "GHC.Prim", "xor#"),+ ('9', 417, InTerms, Just "GHC.PrimopWrappers", "xor#"),+ ('9', 418, InTerms, Just "GHC.Prim", "not#"),+ ('9', 419, InTerms, Just "GHC.PrimopWrappers", "not#"),+ ('9', 420, InTerms, Just "GHC.Prim", "uncheckedShiftL#"),+ ('9', 421, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftL#"),+ ('9', 422, InTerms, Just "GHC.Prim", "uncheckedShiftRL#"),+ ('9', 423, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRL#"),+ ('9', 424, InTerms, Just "GHC.Prim", "word2Int#"),+ ('9', 425, InTerms, Just "GHC.PrimopWrappers", "word2Int#"),+ ('9', 426, InTerms, Just "GHC.Prim", "gtWord#"),+ ('9', 427, InTerms, Just "GHC.PrimopWrappers", "gtWord#"),+ ('9', 428, InTerms, Just "GHC.Prim", "geWord#"),+ ('9', 429, InTerms, Just "GHC.PrimopWrappers", "geWord#"),+ ('9', 430, InTerms, Just "GHC.Prim", "eqWord#"),+ ('9', 431, InTerms, Just "GHC.PrimopWrappers", "eqWord#"),+ ('9', 432, InTerms, Just "GHC.Prim", "neWord#"),+ ('9', 433, InTerms, Just "GHC.PrimopWrappers", "neWord#"),+ ('9', 434, InTerms, Just "GHC.Prim", "ltWord#"),+ ('9', 435, InTerms, Just "GHC.PrimopWrappers", "ltWord#"),+ ('9', 436, InTerms, Just "GHC.Prim", "leWord#"),+ ('9', 437, InTerms, Just "GHC.PrimopWrappers", "leWord#"),+ ('9', 438, InTerms, Just "GHC.Prim", "popCnt8#"),+ ('9', 439, InTerms, Just "GHC.PrimopWrappers", "popCnt8#"),+ ('9', 440, InTerms, Just "GHC.Prim", "popCnt16#"),+ ('9', 441, InTerms, Just "GHC.PrimopWrappers", "popCnt16#"),+ ('9', 442, InTerms, Just "GHC.Prim", "popCnt32#"),+ ('9', 443, InTerms, Just "GHC.PrimopWrappers", "popCnt32#"),+ ('9', 444, InTerms, Just "GHC.Prim", "popCnt64#"),+ ('9', 445, InTerms, Just "GHC.PrimopWrappers", "popCnt64#"),+ ('9', 446, InTerms, Just "GHC.Prim", "popCnt#"),+ ('9', 447, InTerms, Just "GHC.PrimopWrappers", "popCnt#"),+ ('9', 448, InTerms, Just "GHC.Prim", "pdep8#"),+ ('9', 449, InTerms, Just "GHC.PrimopWrappers", "pdep8#"),+ ('9', 450, InTerms, Just "GHC.Prim", "pdep16#"),+ ('9', 451, InTerms, Just "GHC.PrimopWrappers", "pdep16#"),+ ('9', 452, InTerms, Just "GHC.Prim", "pdep32#"),+ ('9', 453, InTerms, Just "GHC.PrimopWrappers", "pdep32#"),+ ('9', 454, InTerms, Just "GHC.Prim", "pdep64#"),+ ('9', 455, InTerms, Just "GHC.PrimopWrappers", "pdep64#"),+ ('9', 456, InTerms, Just "GHC.Prim", "pdep#"),+ ('9', 457, InTerms, Just "GHC.PrimopWrappers", "pdep#"),+ ('9', 458, InTerms, Just "GHC.Prim", "pext8#"),+ ('9', 459, InTerms, Just "GHC.PrimopWrappers", "pext8#"),+ ('9', 460, InTerms, Just "GHC.Prim", "pext16#"),+ ('9', 461, InTerms, Just "GHC.PrimopWrappers", "pext16#"),+ ('9', 462, InTerms, Just "GHC.Prim", "pext32#"),+ ('9', 463, InTerms, Just "GHC.PrimopWrappers", "pext32#"),+ ('9', 464, InTerms, Just "GHC.Prim", "pext64#"),+ ('9', 465, InTerms, Just "GHC.PrimopWrappers", "pext64#"),+ ('9', 466, InTerms, Just "GHC.Prim", "pext#"),+ ('9', 467, InTerms, Just "GHC.PrimopWrappers", "pext#"),+ ('9', 468, InTerms, Just "GHC.Prim", "clz8#"),+ ('9', 469, InTerms, Just "GHC.PrimopWrappers", "clz8#"),+ ('9', 470, InTerms, Just "GHC.Prim", "clz16#"),+ ('9', 471, InTerms, Just "GHC.PrimopWrappers", "clz16#"),+ ('9', 472, InTerms, Just "GHC.Prim", "clz32#"),+ ('9', 473, InTerms, Just "GHC.PrimopWrappers", "clz32#"),+ ('9', 474, InTerms, Just "GHC.Prim", "clz64#"),+ ('9', 475, InTerms, Just "GHC.PrimopWrappers", "clz64#"),+ ('9', 476, InTerms, Just "GHC.Prim", "clz#"),+ ('9', 477, InTerms, Just "GHC.PrimopWrappers", "clz#"),+ ('9', 478, InTerms, Just "GHC.Prim", "ctz8#"),+ ('9', 479, InTerms, Just "GHC.PrimopWrappers", "ctz8#"),+ ('9', 480, InTerms, Just "GHC.Prim", "ctz16#"),+ ('9', 481, InTerms, Just "GHC.PrimopWrappers", "ctz16#"),+ ('9', 482, InTerms, Just "GHC.Prim", "ctz32#"),+ ('9', 483, InTerms, Just "GHC.PrimopWrappers", "ctz32#"),+ ('9', 484, InTerms, Just "GHC.Prim", "ctz64#"),+ ('9', 485, InTerms, Just "GHC.PrimopWrappers", "ctz64#"),+ ('9', 486, InTerms, Just "GHC.Prim", "ctz#"),+ ('9', 487, InTerms, Just "GHC.PrimopWrappers", "ctz#"),+ ('9', 488, InTerms, Just "GHC.Prim", "byteSwap16#"),+ ('9', 489, InTerms, Just "GHC.PrimopWrappers", "byteSwap16#"),+ ('9', 490, InTerms, Just "GHC.Prim", "byteSwap32#"),+ ('9', 491, InTerms, Just "GHC.PrimopWrappers", "byteSwap32#"),+ ('9', 492, InTerms, Just "GHC.Prim", "byteSwap64#"),+ ('9', 493, InTerms, Just "GHC.PrimopWrappers", "byteSwap64#"),+ ('9', 494, InTerms, Just "GHC.Prim", "byteSwap#"),+ ('9', 495, InTerms, Just "GHC.PrimopWrappers", "byteSwap#"),+ ('9', 496, InTerms, Just "GHC.Prim", "bitReverse8#"),+ ('9', 497, InTerms, Just "GHC.PrimopWrappers", "bitReverse8#"),+ ('9', 498, InTerms, Just "GHC.Prim", "bitReverse16#"),+ ('9', 499, InTerms, Just "GHC.PrimopWrappers", "bitReverse16#"),+ ('9', 500, InTerms, Just "GHC.Prim", "bitReverse32#"),+ ('9', 501, InTerms, Just "GHC.PrimopWrappers", "bitReverse32#"),+ ('9', 502, InTerms, Just "GHC.Prim", "bitReverse64#"),+ ('9', 503, InTerms, Just "GHC.PrimopWrappers", "bitReverse64#"),+ ('9', 504, InTerms, Just "GHC.Prim", "bitReverse#"),+ ('9', 505, InTerms, Just "GHC.PrimopWrappers", "bitReverse#"),+ ('9', 506, InTerms, Just "GHC.Prim", "narrow8Int#"),+ ('9', 507, InTerms, Just "GHC.PrimopWrappers", "narrow8Int#"),+ ('9', 508, InTerms, Just "GHC.Prim", "narrow16Int#"),+ ('9', 509, InTerms, Just "GHC.PrimopWrappers", "narrow16Int#"),+ ('9', 510, InTerms, Just "GHC.Prim", "narrow32Int#"),+ ('9', 511, InTerms, Just "GHC.PrimopWrappers", "narrow32Int#"),+ ('9', 512, InTerms, Just "GHC.Prim", "narrow8Word#"),+ ('9', 513, InTerms, Just "GHC.PrimopWrappers", "narrow8Word#"),+ ('9', 514, InTerms, Just "GHC.Prim", "narrow16Word#"),+ ('9', 515, InTerms, Just "GHC.PrimopWrappers", "narrow16Word#"),+ ('9', 516, InTerms, Just "GHC.Prim", "narrow32Word#"),+ ('9', 517, InTerms, Just "GHC.PrimopWrappers", "narrow32Word#"),+ ('9', 518, InTerms, Just "GHC.Prim", ">##"),+ ('9', 519, InTerms, Just "GHC.PrimopWrappers", ">##"),+ ('9', 520, InTerms, Just "GHC.Prim", ">=##"),+ ('9', 521, InTerms, Just "GHC.PrimopWrappers", ">=##"),+ ('9', 522, InTerms, Just "GHC.Prim", "==##"),+ ('9', 523, InTerms, Just "GHC.PrimopWrappers", "==##"),+ ('9', 524, InTerms, Just "GHC.Prim", "/=##"),+ ('9', 525, InTerms, Just "GHC.PrimopWrappers", "/=##"),+ ('9', 526, InTerms, Just "GHC.Prim", "<##"),+ ('9', 527, InTerms, Just "GHC.PrimopWrappers", "<##"),+ ('9', 528, InTerms, Just "GHC.Prim", "<=##"),+ ('9', 529, InTerms, Just "GHC.PrimopWrappers", "<=##"),+ ('9', 530, InTerms, Just "GHC.Prim", "+##"),+ ('9', 531, InTerms, Just "GHC.PrimopWrappers", "+##"),+ ('9', 532, InTerms, Just "GHC.Prim", "-##"),+ ('9', 533, InTerms, Just "GHC.PrimopWrappers", "-##"),+ ('9', 534, InTerms, Just "GHC.Prim", "*##"),+ ('9', 535, InTerms, Just "GHC.PrimopWrappers", "*##"),+ ('9', 536, InTerms, Just "GHC.Prim", "/##"),+ ('9', 537, InTerms, Just "GHC.PrimopWrappers", "/##"),+ ('9', 538, InTerms, Just "GHC.Prim", "negateDouble#"),+ ('9', 539, InTerms, Just "GHC.PrimopWrappers", "negateDouble#"),+ ('9', 540, InTerms, Just "GHC.Prim", "fabsDouble#"),+ ('9', 541, InTerms, Just "GHC.PrimopWrappers", "fabsDouble#"),+ ('9', 542, InTerms, Just "GHC.Prim", "double2Int#"),+ ('9', 543, InTerms, Just "GHC.PrimopWrappers", "double2Int#"),+ ('9', 544, InTerms, Just "GHC.Prim", "double2Float#"),+ ('9', 545, InTerms, Just "GHC.PrimopWrappers", "double2Float#"),+ ('9', 546, InTerms, Just "GHC.Prim", "expDouble#"),+ ('9', 547, InTerms, Just "GHC.PrimopWrappers", "expDouble#"),+ ('9', 548, InTerms, Just "GHC.Prim", "expm1Double#"),+ ('9', 549, InTerms, Just "GHC.PrimopWrappers", "expm1Double#"),+ ('9', 550, InTerms, Just "GHC.Prim", "logDouble#"),+ ('9', 551, InTerms, Just "GHC.PrimopWrappers", "logDouble#"),+ ('9', 552, InTerms, Just "GHC.Prim", "log1pDouble#"),+ ('9', 553, InTerms, Just "GHC.PrimopWrappers", "log1pDouble#"),+ ('9', 554, InTerms, Just "GHC.Prim", "sqrtDouble#"),+ ('9', 555, InTerms, Just "GHC.PrimopWrappers", "sqrtDouble#"),+ ('9', 556, InTerms, Just "GHC.Prim", "sinDouble#"),+ ('9', 557, InTerms, Just "GHC.PrimopWrappers", "sinDouble#"),+ ('9', 558, InTerms, Just "GHC.Prim", "cosDouble#"),+ ('9', 559, InTerms, Just "GHC.PrimopWrappers", "cosDouble#"),+ ('9', 560, InTerms, Just "GHC.Prim", "tanDouble#"),+ ('9', 561, InTerms, Just "GHC.PrimopWrappers", "tanDouble#"),+ ('9', 562, InTerms, Just "GHC.Prim", "asinDouble#"),+ ('9', 563, InTerms, Just "GHC.PrimopWrappers", "asinDouble#"),+ ('9', 564, InTerms, Just "GHC.Prim", "acosDouble#"),+ ('9', 565, InTerms, Just "GHC.PrimopWrappers", "acosDouble#"),+ ('9', 566, InTerms, Just "GHC.Prim", "atanDouble#"),+ ('9', 567, InTerms, Just "GHC.PrimopWrappers", "atanDouble#"),+ ('9', 568, InTerms, Just "GHC.Prim", "sinhDouble#"),+ ('9', 569, InTerms, Just "GHC.PrimopWrappers", "sinhDouble#"),+ ('9', 570, InTerms, Just "GHC.Prim", "coshDouble#"),+ ('9', 571, InTerms, Just "GHC.PrimopWrappers", "coshDouble#"),+ ('9', 572, InTerms, Just "GHC.Prim", "tanhDouble#"),+ ('9', 573, InTerms, Just "GHC.PrimopWrappers", "tanhDouble#"),+ ('9', 574, InTerms, Just "GHC.Prim", "asinhDouble#"),+ ('9', 575, InTerms, Just "GHC.PrimopWrappers", "asinhDouble#"),+ ('9', 576, InTerms, Just "GHC.Prim", "acoshDouble#"),+ ('9', 577, InTerms, Just "GHC.PrimopWrappers", "acoshDouble#"),+ ('9', 578, InTerms, Just "GHC.Prim", "atanhDouble#"),+ ('9', 579, InTerms, Just "GHC.PrimopWrappers", "atanhDouble#"),+ ('9', 580, InTerms, Just "GHC.Prim", "**##"),+ ('9', 581, InTerms, Just "GHC.PrimopWrappers", "**##"),+ ('9', 582, InTerms, Just "GHC.Prim", "decodeDouble_2Int#"),+ ('9', 583, InTerms, Just "GHC.PrimopWrappers", "decodeDouble_2Int#"),+ ('9', 584, InTerms, Just "GHC.Prim", "decodeDouble_Int64#"),+ ('9', 585, InTerms, Just "GHC.PrimopWrappers", "decodeDouble_Int64#"),+ ('9', 586, InTerms, Just "GHC.Prim", "castDoubleToWord64#"),+ ('9', 587, InTerms, Just "GHC.PrimopWrappers", "castDoubleToWord64#"),+ ('9', 588, InTerms, Just "GHC.Prim", "castWord64ToDouble#"),+ ('9', 589, InTerms, Just "GHC.PrimopWrappers", "castWord64ToDouble#"),+ ('9', 590, InTerms, Just "GHC.Prim", "gtFloat#"),+ ('9', 591, InTerms, Just "GHC.PrimopWrappers", "gtFloat#"),+ ('9', 592, InTerms, Just "GHC.Prim", "geFloat#"),+ ('9', 593, InTerms, Just "GHC.PrimopWrappers", "geFloat#"),+ ('9', 594, InTerms, Just "GHC.Prim", "eqFloat#"),+ ('9', 595, InTerms, Just "GHC.PrimopWrappers", "eqFloat#"),+ ('9', 596, InTerms, Just "GHC.Prim", "neFloat#"),+ ('9', 597, InTerms, Just "GHC.PrimopWrappers", "neFloat#"),+ ('9', 598, InTerms, Just "GHC.Prim", "ltFloat#"),+ ('9', 599, InTerms, Just "GHC.PrimopWrappers", "ltFloat#"),+ ('9', 600, InTerms, Just "GHC.Prim", "leFloat#"),+ ('9', 601, InTerms, Just "GHC.PrimopWrappers", "leFloat#"),+ ('9', 602, InTerms, Just "GHC.Prim", "plusFloat#"),+ ('9', 603, InTerms, Just "GHC.PrimopWrappers", "plusFloat#"),+ ('9', 604, InTerms, Just "GHC.Prim", "minusFloat#"),+ ('9', 605, InTerms, Just "GHC.PrimopWrappers", "minusFloat#"),+ ('9', 606, InTerms, Just "GHC.Prim", "timesFloat#"),+ ('9', 607, InTerms, Just "GHC.PrimopWrappers", "timesFloat#"),+ ('9', 608, InTerms, Just "GHC.Prim", "divideFloat#"),+ ('9', 609, InTerms, Just "GHC.PrimopWrappers", "divideFloat#"),+ ('9', 610, InTerms, Just "GHC.Prim", "negateFloat#"),+ ('9', 611, InTerms, Just "GHC.PrimopWrappers", "negateFloat#"),+ ('9', 612, InTerms, Just "GHC.Prim", "fabsFloat#"),+ ('9', 613, InTerms, Just "GHC.PrimopWrappers", "fabsFloat#"),+ ('9', 614, InTerms, Just "GHC.Prim", "float2Int#"),+ ('9', 615, InTerms, Just "GHC.PrimopWrappers", "float2Int#"),+ ('9', 616, InTerms, Just "GHC.Prim", "expFloat#"),+ ('9', 617, InTerms, Just "GHC.PrimopWrappers", "expFloat#"),+ ('9', 618, InTerms, Just "GHC.Prim", "expm1Float#"),+ ('9', 619, InTerms, Just "GHC.PrimopWrappers", "expm1Float#"),+ ('9', 620, InTerms, Just "GHC.Prim", "logFloat#"),+ ('9', 621, InTerms, Just "GHC.PrimopWrappers", "logFloat#"),+ ('9', 622, InTerms, Just "GHC.Prim", "log1pFloat#"),+ ('9', 623, InTerms, Just "GHC.PrimopWrappers", "log1pFloat#"),+ ('9', 624, InTerms, Just "GHC.Prim", "sqrtFloat#"),+ ('9', 625, InTerms, Just "GHC.PrimopWrappers", "sqrtFloat#"),+ ('9', 626, InTerms, Just "GHC.Prim", "sinFloat#"),+ ('9', 627, InTerms, Just "GHC.PrimopWrappers", "sinFloat#"),+ ('9', 628, InTerms, Just "GHC.Prim", "cosFloat#"),+ ('9', 629, InTerms, Just "GHC.PrimopWrappers", "cosFloat#"),+ ('9', 630, InTerms, Just "GHC.Prim", "tanFloat#"),+ ('9', 631, InTerms, Just "GHC.PrimopWrappers", "tanFloat#"),+ ('9', 632, InTerms, Just "GHC.Prim", "asinFloat#"),+ ('9', 633, InTerms, Just "GHC.PrimopWrappers", "asinFloat#"),+ ('9', 634, InTerms, Just "GHC.Prim", "acosFloat#"),+ ('9', 635, InTerms, Just "GHC.PrimopWrappers", "acosFloat#"),+ ('9', 636, InTerms, Just "GHC.Prim", "atanFloat#"),+ ('9', 637, InTerms, Just "GHC.PrimopWrappers", "atanFloat#"),+ ('9', 638, InTerms, Just "GHC.Prim", "sinhFloat#"),+ ('9', 639, InTerms, Just "GHC.PrimopWrappers", "sinhFloat#"),+ ('9', 640, InTerms, Just "GHC.Prim", "coshFloat#"),+ ('9', 641, InTerms, Just "GHC.PrimopWrappers", "coshFloat#"),+ ('9', 642, InTerms, Just "GHC.Prim", "tanhFloat#"),+ ('9', 643, InTerms, Just "GHC.PrimopWrappers", "tanhFloat#"),+ ('9', 644, InTerms, Just "GHC.Prim", "asinhFloat#"),+ ('9', 645, InTerms, Just "GHC.PrimopWrappers", "asinhFloat#"),+ ('9', 646, InTerms, Just "GHC.Prim", "acoshFloat#"),+ ('9', 647, InTerms, Just "GHC.PrimopWrappers", "acoshFloat#"),+ ('9', 648, InTerms, Just "GHC.Prim", "atanhFloat#"),+ ('9', 649, InTerms, Just "GHC.PrimopWrappers", "atanhFloat#"),+ ('9', 650, InTerms, Just "GHC.Prim", "powerFloat#"),+ ('9', 651, InTerms, Just "GHC.PrimopWrappers", "powerFloat#"),+ ('9', 652, InTerms, Just "GHC.Prim", "float2Double#"),+ ('9', 653, InTerms, Just "GHC.PrimopWrappers", "float2Double#"),+ ('9', 654, InTerms, Just "GHC.Prim", "decodeFloat_Int#"),+ ('9', 655, InTerms, Just "GHC.PrimopWrappers", "decodeFloat_Int#"),+ ('9', 656, InTerms, Just "GHC.Prim", "castFloatToWord32#"),+ ('9', 657, InTerms, Just "GHC.PrimopWrappers", "castFloatToWord32#"),+ ('9', 658, InTerms, Just "GHC.Prim", "castWord32ToFloat#"),+ ('9', 659, InTerms, Just "GHC.PrimopWrappers", "castWord32ToFloat#"),+ ('9', 660, InTerms, Just "GHC.Prim", "fmaddFloat#"),+ ('9', 661, InTerms, Just "GHC.PrimopWrappers", "fmaddFloat#"),+ ('9', 662, InTerms, Just "GHC.Prim", "fmsubFloat#"),+ ('9', 663, InTerms, Just "GHC.PrimopWrappers", "fmsubFloat#"),+ ('9', 664, InTerms, Just "GHC.Prim", "fnmaddFloat#"),+ ('9', 665, InTerms, Just "GHC.PrimopWrappers", "fnmaddFloat#"),+ ('9', 666, InTerms, Just "GHC.Prim", "fnmsubFloat#"),+ ('9', 667, InTerms, Just "GHC.PrimopWrappers", "fnmsubFloat#"),+ ('9', 668, InTerms, Just "GHC.Prim", "fmaddDouble#"),+ ('9', 669, InTerms, Just "GHC.PrimopWrappers", "fmaddDouble#"),+ ('9', 670, InTerms, Just "GHC.Prim", "fmsubDouble#"),+ ('9', 671, InTerms, Just "GHC.PrimopWrappers", "fmsubDouble#"),+ ('9', 672, InTerms, Just "GHC.Prim", "fnmaddDouble#"),+ ('9', 673, InTerms, Just "GHC.PrimopWrappers", "fnmaddDouble#"),+ ('9', 674, InTerms, Just "GHC.Prim", "fnmsubDouble#"),+ ('9', 675, InTerms, Just "GHC.PrimopWrappers", "fnmsubDouble#"),+ ('9', 676, InTerms, Just "GHC.Prim", "newArray#"),+ ('9', 677, InTerms, Just "GHC.PrimopWrappers", "newArray#"),+ ('9', 678, InTerms, Just "GHC.Prim", "readArray#"),+ ('9', 679, InTerms, Just "GHC.PrimopWrappers", "readArray#"),+ ('9', 680, InTerms, Just "GHC.Prim", "writeArray#"),+ ('9', 681, InTerms, Just "GHC.PrimopWrappers", "writeArray#"),+ ('9', 682, InTerms, Just "GHC.Prim", "sizeofArray#"),+ ('9', 683, InTerms, Just "GHC.PrimopWrappers", "sizeofArray#"),+ ('9', 684, InTerms, Just "GHC.Prim", "sizeofMutableArray#"),+ ('9', 685, InTerms, Just "GHC.PrimopWrappers", "sizeofMutableArray#"),+ ('9', 686, InTerms, Just "GHC.Prim", "indexArray#"),+ ('9', 687, InTerms, Just "GHC.PrimopWrappers", "indexArray#"),+ ('9', 688, InTerms, Just "GHC.Prim", "unsafeFreezeArray#"),+ ('9', 689, InTerms, Just "GHC.PrimopWrappers", "unsafeFreezeArray#"),+ ('9', 690, InTerms, Just "GHC.Prim", "unsafeThawArray#"),+ ('9', 691, InTerms, Just "GHC.PrimopWrappers", "unsafeThawArray#"),+ ('9', 692, InTerms, Just "GHC.Prim", "copyArray#"),+ ('9', 693, InTerms, Just "GHC.PrimopWrappers", "copyArray#"),+ ('9', 694, InTerms, Just "GHC.Prim", "copyMutableArray#"),+ ('9', 695, InTerms, Just "GHC.PrimopWrappers", "copyMutableArray#"),+ ('9', 696, InTerms, Just "GHC.Prim", "cloneArray#"),+ ('9', 697, InTerms, Just "GHC.PrimopWrappers", "cloneArray#"),+ ('9', 698, InTerms, Just "GHC.Prim", "cloneMutableArray#"),+ ('9', 699, InTerms, Just "GHC.PrimopWrappers", "cloneMutableArray#"),+ ('9', 700, InTerms, Just "GHC.Prim", "freezeArray#"),+ ('9', 701, InTerms, Just "GHC.PrimopWrappers", "freezeArray#"),+ ('9', 702, InTerms, Just "GHC.Prim", "thawArray#"),+ ('9', 703, InTerms, Just "GHC.PrimopWrappers", "thawArray#"),+ ('9', 704, InTerms, Just "GHC.Prim", "casArray#"),+ ('9', 705, InTerms, Just "GHC.PrimopWrappers", "casArray#"),+ ('9', 706, InTerms, Just "GHC.Prim", "newSmallArray#"),+ ('9', 707, InTerms, Just "GHC.PrimopWrappers", "newSmallArray#"),+ ('9', 708, InTerms, Just "GHC.Prim", "shrinkSmallMutableArray#"),+ ('9', 709, InTerms, Just "GHC.PrimopWrappers", "shrinkSmallMutableArray#"),+ ('9', 710, InTerms, Just "GHC.Prim", "readSmallArray#"),+ ('9', 711, InTerms, Just "GHC.PrimopWrappers", "readSmallArray#"),+ ('9', 712, InTerms, Just "GHC.Prim", "writeSmallArray#"),+ ('9', 713, InTerms, Just "GHC.PrimopWrappers", "writeSmallArray#"),+ ('9', 714, InTerms, Just "GHC.Prim", "sizeofSmallArray#"),+ ('9', 715, InTerms, Just "GHC.PrimopWrappers", "sizeofSmallArray#"),+ ('9', 716, InTerms, Just "GHC.Prim", "sizeofSmallMutableArray#"),+ ('9', 717, InTerms, Just "GHC.PrimopWrappers", "sizeofSmallMutableArray#"),+ ('9', 718, InTerms, Just "GHC.Prim", "getSizeofSmallMutableArray#"),+ ('9', 719, InTerms, Just "GHC.PrimopWrappers", "getSizeofSmallMutableArray#"),+ ('9', 720, InTerms, Just "GHC.Prim", "indexSmallArray#"),+ ('9', 721, InTerms, Just "GHC.PrimopWrappers", "indexSmallArray#"),+ ('9', 722, InTerms, Just "GHC.Prim", "unsafeFreezeSmallArray#"),+ ('9', 723, InTerms, Just "GHC.PrimopWrappers", "unsafeFreezeSmallArray#"),+ ('9', 724, InTerms, Just "GHC.Prim", "unsafeThawSmallArray#"),+ ('9', 725, InTerms, Just "GHC.PrimopWrappers", "unsafeThawSmallArray#"),+ ('9', 726, InTerms, Just "GHC.Prim", "copySmallArray#"),+ ('9', 727, InTerms, Just "GHC.PrimopWrappers", "copySmallArray#"),+ ('9', 728, InTerms, Just "GHC.Prim", "copySmallMutableArray#"),+ ('9', 729, InTerms, Just "GHC.PrimopWrappers", "copySmallMutableArray#"),+ ('9', 730, InTerms, Just "GHC.Prim", "cloneSmallArray#"),+ ('9', 731, InTerms, Just "GHC.PrimopWrappers", "cloneSmallArray#"),+ ('9', 732, InTerms, Just "GHC.Prim", "cloneSmallMutableArray#"),+ ('9', 733, InTerms, Just "GHC.PrimopWrappers", "cloneSmallMutableArray#"),+ ('9', 734, InTerms, Just "GHC.Prim", "freezeSmallArray#"),+ ('9', 735, InTerms, Just "GHC.PrimopWrappers", "freezeSmallArray#"),+ ('9', 736, InTerms, Just "GHC.Prim", "thawSmallArray#"),+ ('9', 737, InTerms, Just "GHC.PrimopWrappers", "thawSmallArray#"),+ ('9', 738, InTerms, Just "GHC.Prim", "casSmallArray#"),+ ('9', 739, InTerms, Just "GHC.PrimopWrappers", "casSmallArray#"),+ ('9', 740, InTerms, Just "GHC.Prim", "newByteArray#"),+ ('9', 741, InTerms, Just "GHC.PrimopWrappers", "newByteArray#"),+ ('9', 742, InTerms, Just "GHC.Prim", "newPinnedByteArray#"),+ ('9', 743, InTerms, Just "GHC.PrimopWrappers", "newPinnedByteArray#"),+ ('9', 744, InTerms, Just "GHC.Prim", "newAlignedPinnedByteArray#"),+ ('9', 745, InTerms, Just "GHC.PrimopWrappers", "newAlignedPinnedByteArray#"),+ ('9', 746, InTerms, Just "GHC.Prim", "isMutableByteArrayPinned#"),+ ('9', 747, InTerms, Just "GHC.PrimopWrappers", "isMutableByteArrayPinned#"),+ ('9', 748, InTerms, Just "GHC.Prim", "isByteArrayPinned#"),+ ('9', 749, InTerms, Just "GHC.PrimopWrappers", "isByteArrayPinned#"),+ ('9', 750, InTerms, Just "GHC.Prim", "byteArrayContents#"),+ ('9', 751, InTerms, Just "GHC.PrimopWrappers", "byteArrayContents#"),+ ('9', 752, InTerms, Just "GHC.Prim", "mutableByteArrayContents#"),+ ('9', 753, InTerms, Just "GHC.PrimopWrappers", "mutableByteArrayContents#"),+ ('9', 754, InTerms, Just "GHC.Prim", "shrinkMutableByteArray#"),+ ('9', 755, InTerms, Just "GHC.PrimopWrappers", "shrinkMutableByteArray#"),+ ('9', 756, InTerms, Just "GHC.Prim", "resizeMutableByteArray#"),+ ('9', 757, InTerms, Just "GHC.PrimopWrappers", "resizeMutableByteArray#"),+ ('9', 758, InTerms, Just "GHC.Prim", "unsafeFreezeByteArray#"),+ ('9', 759, InTerms, Just "GHC.PrimopWrappers", "unsafeFreezeByteArray#"),+ ('9', 760, InTerms, Just "GHC.Prim", "unsafeThawByteArray#"),+ ('9', 761, InTerms, Just "GHC.PrimopWrappers", "unsafeThawByteArray#"),+ ('9', 762, InTerms, Just "GHC.Prim", "sizeofByteArray#"),+ ('9', 763, InTerms, Just "GHC.PrimopWrappers", "sizeofByteArray#"),+ ('9', 764, InTerms, Just "GHC.Prim", "sizeofMutableByteArray#"),+ ('9', 765, InTerms, Just "GHC.PrimopWrappers", "sizeofMutableByteArray#"),+ ('9', 766, InTerms, Just "GHC.Prim", "getSizeofMutableByteArray#"),+ ('9', 767, InTerms, Just "GHC.PrimopWrappers", "getSizeofMutableByteArray#"),+ ('9', 768, InTerms, Just "GHC.Prim", "indexCharArray#"),+ ('9', 769, InTerms, Just "GHC.PrimopWrappers", "indexCharArray#"),+ ('9', 770, InTerms, Just "GHC.Prim", "indexWideCharArray#"),+ ('9', 771, InTerms, Just "GHC.PrimopWrappers", "indexWideCharArray#"),+ ('9', 772, InTerms, Just "GHC.Prim", "indexIntArray#"),+ ('9', 773, InTerms, Just "GHC.PrimopWrappers", "indexIntArray#"),+ ('9', 774, InTerms, Just "GHC.Prim", "indexWordArray#"),+ ('9', 775, InTerms, Just "GHC.PrimopWrappers", "indexWordArray#"),+ ('9', 776, InTerms, Just "GHC.Prim", "indexAddrArray#"),+ ('9', 777, InTerms, Just "GHC.PrimopWrappers", "indexAddrArray#"),+ ('9', 778, InTerms, Just "GHC.Prim", "indexFloatArray#"),+ ('9', 779, InTerms, Just "GHC.PrimopWrappers", "indexFloatArray#"),+ ('9', 780, InTerms, Just "GHC.Prim", "indexDoubleArray#"),+ ('9', 781, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArray#"),+ ('9', 782, InTerms, Just "GHC.Prim", "indexStablePtrArray#"),+ ('9', 783, InTerms, Just "GHC.PrimopWrappers", "indexStablePtrArray#"),+ ('9', 784, InTerms, Just "GHC.Prim", "indexInt8Array#"),+ ('9', 785, InTerms, Just "GHC.PrimopWrappers", "indexInt8Array#"),+ ('9', 786, InTerms, Just "GHC.Prim", "indexWord8Array#"),+ ('9', 787, InTerms, Just "GHC.PrimopWrappers", "indexWord8Array#"),+ ('9', 788, InTerms, Just "GHC.Prim", "indexInt16Array#"),+ ('9', 789, InTerms, Just "GHC.PrimopWrappers", "indexInt16Array#"),+ ('9', 790, InTerms, Just "GHC.Prim", "indexWord16Array#"),+ ('9', 791, InTerms, Just "GHC.PrimopWrappers", "indexWord16Array#"),+ ('9', 792, InTerms, Just "GHC.Prim", "indexInt32Array#"),+ ('9', 793, InTerms, Just "GHC.PrimopWrappers", "indexInt32Array#"),+ ('9', 794, InTerms, Just "GHC.Prim", "indexWord32Array#"),+ ('9', 795, InTerms, Just "GHC.PrimopWrappers", "indexWord32Array#"),+ ('9', 796, InTerms, Just "GHC.Prim", "indexInt64Array#"),+ ('9', 797, InTerms, Just "GHC.PrimopWrappers", "indexInt64Array#"),+ ('9', 798, InTerms, Just "GHC.Prim", "indexWord64Array#"),+ ('9', 799, InTerms, Just "GHC.PrimopWrappers", "indexWord64Array#"),+ ('9', 800, InTerms, Just "GHC.Prim", "indexWord8ArrayAsChar#"),+ ('9', 801, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsChar#"),+ ('9', 802, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWideChar#"),+ ('9', 803, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWideChar#"),+ ('9', 804, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt#"),+ ('9', 805, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt#"),+ ('9', 806, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord#"),+ ('9', 807, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord#"),+ ('9', 808, InTerms, Just "GHC.Prim", "indexWord8ArrayAsAddr#"),+ ('9', 809, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsAddr#"),+ ('9', 810, InTerms, Just "GHC.Prim", "indexWord8ArrayAsFloat#"),+ ('9', 811, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsFloat#"),+ ('9', 812, InTerms, Just "GHC.Prim", "indexWord8ArrayAsDouble#"),+ ('9', 813, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsDouble#"),+ ('9', 814, InTerms, Just "GHC.Prim", "indexWord8ArrayAsStablePtr#"),+ ('9', 815, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsStablePtr#"),+ ('9', 816, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt16#"),+ ('9', 817, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt16#"),+ ('9', 818, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord16#"),+ ('9', 819, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord16#"),+ ('9', 820, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt32#"),+ ('9', 821, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt32#"),+ ('9', 822, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord32#"),+ ('9', 823, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord32#"),+ ('9', 824, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt64#"),+ ('9', 825, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt64#"),+ ('9', 826, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord64#"),+ ('9', 827, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord64#"),+ ('9', 828, InTerms, Just "GHC.Prim", "readCharArray#"),+ ('9', 829, InTerms, Just "GHC.PrimopWrappers", "readCharArray#"),+ ('9', 830, InTerms, Just "GHC.Prim", "readWideCharArray#"),+ ('9', 831, InTerms, Just "GHC.PrimopWrappers", "readWideCharArray#"),+ ('9', 832, InTerms, Just "GHC.Prim", "readIntArray#"),+ ('9', 833, InTerms, Just "GHC.PrimopWrappers", "readIntArray#"),+ ('9', 834, InTerms, Just "GHC.Prim", "readWordArray#"),+ ('9', 835, InTerms, Just "GHC.PrimopWrappers", "readWordArray#"),+ ('9', 836, InTerms, Just "GHC.Prim", "readAddrArray#"),+ ('9', 837, InTerms, Just "GHC.PrimopWrappers", "readAddrArray#"),+ ('9', 838, InTerms, Just "GHC.Prim", "readFloatArray#"),+ ('9', 839, InTerms, Just "GHC.PrimopWrappers", "readFloatArray#"),+ ('9', 840, InTerms, Just "GHC.Prim", "readDoubleArray#"),+ ('9', 841, InTerms, Just "GHC.PrimopWrappers", "readDoubleArray#"),+ ('9', 842, InTerms, Just "GHC.Prim", "readStablePtrArray#"),+ ('9', 843, InTerms, Just "GHC.PrimopWrappers", "readStablePtrArray#"),+ ('9', 844, InTerms, Just "GHC.Prim", "readInt8Array#"),+ ('9', 845, InTerms, Just "GHC.PrimopWrappers", "readInt8Array#"),+ ('9', 846, InTerms, Just "GHC.Prim", "readWord8Array#"),+ ('9', 847, InTerms, Just "GHC.PrimopWrappers", "readWord8Array#"),+ ('9', 848, InTerms, Just "GHC.Prim", "readInt16Array#"),+ ('9', 849, InTerms, Just "GHC.PrimopWrappers", "readInt16Array#"),+ ('9', 850, InTerms, Just "GHC.Prim", "readWord16Array#"),+ ('9', 851, InTerms, Just "GHC.PrimopWrappers", "readWord16Array#"),+ ('9', 852, InTerms, Just "GHC.Prim", "readInt32Array#"),+ ('9', 853, InTerms, Just "GHC.PrimopWrappers", "readInt32Array#"),+ ('9', 854, InTerms, Just "GHC.Prim", "readWord32Array#"),+ ('9', 855, InTerms, Just "GHC.PrimopWrappers", "readWord32Array#"),+ ('9', 856, InTerms, Just "GHC.Prim", "readInt64Array#"),+ ('9', 857, InTerms, Just "GHC.PrimopWrappers", "readInt64Array#"),+ ('9', 858, InTerms, Just "GHC.Prim", "readWord64Array#"),+ ('9', 859, InTerms, Just "GHC.PrimopWrappers", "readWord64Array#"),+ ('9', 860, InTerms, Just "GHC.Prim", "readWord8ArrayAsChar#"),+ ('9', 861, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsChar#"),+ ('9', 862, InTerms, Just "GHC.Prim", "readWord8ArrayAsWideChar#"),+ ('9', 863, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWideChar#"),+ ('9', 864, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt#"),+ ('9', 865, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt#"),+ ('9', 866, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord#"),+ ('9', 867, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord#"),+ ('9', 868, InTerms, Just "GHC.Prim", "readWord8ArrayAsAddr#"),+ ('9', 869, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsAddr#"),+ ('9', 870, InTerms, Just "GHC.Prim", "readWord8ArrayAsFloat#"),+ ('9', 871, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsFloat#"),+ ('9', 872, InTerms, Just "GHC.Prim", "readWord8ArrayAsDouble#"),+ ('9', 873, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsDouble#"),+ ('9', 874, InTerms, Just "GHC.Prim", "readWord8ArrayAsStablePtr#"),+ ('9', 875, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsStablePtr#"),+ ('9', 876, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt16#"),+ ('9', 877, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt16#"),+ ('9', 878, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord16#"),+ ('9', 879, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord16#"),+ ('9', 880, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt32#"),+ ('9', 881, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt32#"),+ ('9', 882, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord32#"),+ ('9', 883, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord32#"),+ ('9', 884, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt64#"),+ ('9', 885, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt64#"),+ ('9', 886, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord64#"),+ ('9', 887, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord64#"),+ ('9', 888, InTerms, Just "GHC.Prim", "writeCharArray#"),+ ('9', 889, InTerms, Just "GHC.PrimopWrappers", "writeCharArray#"),+ ('9', 890, InTerms, Just "GHC.Prim", "writeWideCharArray#"),+ ('9', 891, InTerms, Just "GHC.PrimopWrappers", "writeWideCharArray#"),+ ('9', 892, InTerms, Just "GHC.Prim", "writeIntArray#"),+ ('9', 893, InTerms, Just "GHC.PrimopWrappers", "writeIntArray#"),+ ('9', 894, InTerms, Just "GHC.Prim", "writeWordArray#"),+ ('9', 895, InTerms, Just "GHC.PrimopWrappers", "writeWordArray#"),+ ('9', 896, InTerms, Just "GHC.Prim", "writeAddrArray#"),+ ('9', 897, InTerms, Just "GHC.PrimopWrappers", "writeAddrArray#"),+ ('9', 898, InTerms, Just "GHC.Prim", "writeFloatArray#"),+ ('9', 899, InTerms, Just "GHC.PrimopWrappers", "writeFloatArray#"),+ ('9', 900, InTerms, Just "GHC.Prim", "writeDoubleArray#"),+ ('9', 901, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArray#"),+ ('9', 902, InTerms, Just "GHC.Prim", "writeStablePtrArray#"),+ ('9', 903, InTerms, Just "GHC.PrimopWrappers", "writeStablePtrArray#"),+ ('9', 904, InTerms, Just "GHC.Prim", "writeInt8Array#"),+ ('9', 905, InTerms, Just "GHC.PrimopWrappers", "writeInt8Array#"),+ ('9', 906, InTerms, Just "GHC.Prim", "writeWord8Array#"),+ ('9', 907, InTerms, Just "GHC.PrimopWrappers", "writeWord8Array#"),+ ('9', 908, InTerms, Just "GHC.Prim", "writeInt16Array#"),+ ('9', 909, InTerms, Just "GHC.PrimopWrappers", "writeInt16Array#"),+ ('9', 910, InTerms, Just "GHC.Prim", "writeWord16Array#"),+ ('9', 911, InTerms, Just "GHC.PrimopWrappers", "writeWord16Array#"),+ ('9', 912, InTerms, Just "GHC.Prim", "writeInt32Array#"),+ ('9', 913, InTerms, Just "GHC.PrimopWrappers", "writeInt32Array#"),+ ('9', 914, InTerms, Just "GHC.Prim", "writeWord32Array#"),+ ('9', 915, InTerms, Just "GHC.PrimopWrappers", "writeWord32Array#"),+ ('9', 916, InTerms, Just "GHC.Prim", "writeInt64Array#"),+ ('9', 917, InTerms, Just "GHC.PrimopWrappers", "writeInt64Array#"),+ ('9', 918, InTerms, Just "GHC.Prim", "writeWord64Array#"),+ ('9', 919, InTerms, Just "GHC.PrimopWrappers", "writeWord64Array#"),+ ('9', 920, InTerms, Just "GHC.Prim", "writeWord8ArrayAsChar#"),+ ('9', 921, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsChar#"),+ ('9', 922, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWideChar#"),+ ('9', 923, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWideChar#"),+ ('9', 924, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt#"),+ ('9', 925, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt#"),+ ('9', 926, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord#"),+ ('9', 927, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord#"),+ ('9', 928, InTerms, Just "GHC.Prim", "writeWord8ArrayAsAddr#"),+ ('9', 929, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsAddr#"),+ ('9', 930, InTerms, Just "GHC.Prim", "writeWord8ArrayAsFloat#"),+ ('9', 931, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsFloat#"),+ ('9', 932, InTerms, Just "GHC.Prim", "writeWord8ArrayAsDouble#"),+ ('9', 933, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsDouble#"),+ ('9', 934, InTerms, Just "GHC.Prim", "writeWord8ArrayAsStablePtr#"),+ ('9', 935, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsStablePtr#"),+ ('9', 936, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt16#"),+ ('9', 937, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt16#"),+ ('9', 938, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord16#"),+ ('9', 939, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord16#"),+ ('9', 940, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt32#"),+ ('9', 941, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt32#"),+ ('9', 942, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord32#"),+ ('9', 943, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord32#"),+ ('9', 944, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt64#"),+ ('9', 945, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt64#"),+ ('9', 946, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord64#"),+ ('9', 947, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord64#"),+ ('9', 948, InTerms, Just "GHC.Prim", "compareByteArrays#"),+ ('9', 949, InTerms, Just "GHC.PrimopWrappers", "compareByteArrays#"),+ ('9', 950, InTerms, Just "GHC.Prim", "copyByteArray#"),+ ('9', 951, InTerms, Just "GHC.PrimopWrappers", "copyByteArray#"),+ ('9', 952, InTerms, Just "GHC.Prim", "copyMutableByteArray#"),+ ('9', 953, InTerms, Just "GHC.PrimopWrappers", "copyMutableByteArray#"),+ ('9', 954, InTerms, Just "GHC.Prim", "copyMutableByteArrayNonOverlapping#"),+ ('9', 955, InTerms, Just "GHC.PrimopWrappers", "copyMutableByteArrayNonOverlapping#"),+ ('9', 956, InTerms, Just "GHC.Prim", "copyByteArrayToAddr#"),+ ('9', 957, InTerms, Just "GHC.PrimopWrappers", "copyByteArrayToAddr#"),+ ('9', 958, InTerms, Just "GHC.Prim", "copyMutableByteArrayToAddr#"),+ ('9', 959, InTerms, Just "GHC.PrimopWrappers", "copyMutableByteArrayToAddr#"),+ ('9', 960, InTerms, Just "GHC.Prim", "copyAddrToByteArray#"),+ ('9', 961, InTerms, Just "GHC.PrimopWrappers", "copyAddrToByteArray#"),+ ('9', 962, InTerms, Just "GHC.Prim", "copyAddrToAddr#"),+ ('9', 963, InTerms, Just "GHC.PrimopWrappers", "copyAddrToAddr#"),+ ('9', 964, InTerms, Just "GHC.Prim", "copyAddrToAddrNonOverlapping#"),+ ('9', 965, InTerms, Just "GHC.PrimopWrappers", "copyAddrToAddrNonOverlapping#"),+ ('9', 966, InTerms, Just "GHC.Prim", "setByteArray#"),+ ('9', 967, InTerms, Just "GHC.PrimopWrappers", "setByteArray#"),+ ('9', 968, InTerms, Just "GHC.Prim", "setAddrRange#"),+ ('9', 969, InTerms, Just "GHC.PrimopWrappers", "setAddrRange#"),+ ('9', 970, InTerms, Just "GHC.Prim", "atomicReadIntArray#"),+ ('9', 971, InTerms, Just "GHC.PrimopWrappers", "atomicReadIntArray#"),+ ('9', 972, InTerms, Just "GHC.Prim", "atomicWriteIntArray#"),+ ('9', 973, InTerms, Just "GHC.PrimopWrappers", "atomicWriteIntArray#"),+ ('9', 974, InTerms, Just "GHC.Prim", "casIntArray#"),+ ('9', 975, InTerms, Just "GHC.PrimopWrappers", "casIntArray#"),+ ('9', 976, InTerms, Just "GHC.Prim", "casInt8Array#"),+ ('9', 977, InTerms, Just "GHC.PrimopWrappers", "casInt8Array#"),+ ('9', 978, InTerms, Just "GHC.Prim", "casInt16Array#"),+ ('9', 979, InTerms, Just "GHC.PrimopWrappers", "casInt16Array#"),+ ('9', 980, InTerms, Just "GHC.Prim", "casInt32Array#"),+ ('9', 981, InTerms, Just "GHC.PrimopWrappers", "casInt32Array#"),+ ('9', 982, InTerms, Just "GHC.Prim", "casInt64Array#"),+ ('9', 983, InTerms, Just "GHC.PrimopWrappers", "casInt64Array#"),+ ('9', 984, InTerms, Just "GHC.Prim", "fetchAddIntArray#"),+ ('9', 985, InTerms, Just "GHC.PrimopWrappers", "fetchAddIntArray#"),+ ('9', 986, InTerms, Just "GHC.Prim", "fetchSubIntArray#"),+ ('9', 987, InTerms, Just "GHC.PrimopWrappers", "fetchSubIntArray#"),+ ('9', 988, InTerms, Just "GHC.Prim", "fetchAndIntArray#"),+ ('9', 989, InTerms, Just "GHC.PrimopWrappers", "fetchAndIntArray#"),+ ('9', 990, InTerms, Just "GHC.Prim", "fetchNandIntArray#"),+ ('9', 991, InTerms, Just "GHC.PrimopWrappers", "fetchNandIntArray#"),+ ('9', 992, InTerms, Just "GHC.Prim", "fetchOrIntArray#"),+ ('9', 993, InTerms, Just "GHC.PrimopWrappers", "fetchOrIntArray#"),+ ('9', 994, InTerms, Just "GHC.Prim", "fetchXorIntArray#"),+ ('9', 995, InTerms, Just "GHC.PrimopWrappers", "fetchXorIntArray#"),+ ('9', 996, InTerms, Just "GHC.Prim", "plusAddr#"),+ ('9', 997, InTerms, Just "GHC.PrimopWrappers", "plusAddr#"),+ ('9', 998, InTerms, Just "GHC.Prim", "minusAddr#"),+ ('9', 999, InTerms, Just "GHC.PrimopWrappers", "minusAddr#"),+ ('9', 1000, InTerms, Just "GHC.Prim", "remAddr#"),+ ('9', 1001, InTerms, Just "GHC.PrimopWrappers", "remAddr#"),+ ('9', 1002, InTerms, Just "GHC.Prim", "addr2Int#"),+ ('9', 1003, InTerms, Just "GHC.PrimopWrappers", "addr2Int#"),+ ('9', 1004, InTerms, Just "GHC.Prim", "int2Addr#"),+ ('9', 1005, InTerms, Just "GHC.PrimopWrappers", "int2Addr#"),+ ('9', 1006, InTerms, Just "GHC.Prim", "gtAddr#"),+ ('9', 1007, InTerms, Just "GHC.PrimopWrappers", "gtAddr#"),+ ('9', 1008, InTerms, Just "GHC.Prim", "geAddr#"),+ ('9', 1009, InTerms, Just "GHC.PrimopWrappers", "geAddr#"),+ ('9', 1010, InTerms, Just "GHC.Prim", "eqAddr#"),+ ('9', 1011, InTerms, Just "GHC.PrimopWrappers", "eqAddr#"),+ ('9', 1012, InTerms, Just "GHC.Prim", "neAddr#"),+ ('9', 1013, InTerms, Just "GHC.PrimopWrappers", "neAddr#"),+ ('9', 1014, InTerms, Just "GHC.Prim", "ltAddr#"),+ ('9', 1015, InTerms, Just "GHC.PrimopWrappers", "ltAddr#"),+ ('9', 1016, InTerms, Just "GHC.Prim", "leAddr#"),+ ('9', 1017, InTerms, Just "GHC.PrimopWrappers", "leAddr#"),+ ('9', 1018, InTerms, Just "GHC.Prim", "indexCharOffAddr#"),+ ('9', 1019, InTerms, Just "GHC.PrimopWrappers", "indexCharOffAddr#"),+ ('9', 1020, InTerms, Just "GHC.Prim", "indexWideCharOffAddr#"),+ ('9', 1021, InTerms, Just "GHC.PrimopWrappers", "indexWideCharOffAddr#"),+ ('9', 1022, InTerms, Just "GHC.Prim", "indexIntOffAddr#"),+ ('9', 1023, InTerms, Just "GHC.PrimopWrappers", "indexIntOffAddr#"),+ ('9', 1024, InTerms, Just "GHC.Prim", "indexWordOffAddr#"),+ ('9', 1025, InTerms, Just "GHC.PrimopWrappers", "indexWordOffAddr#"),+ ('9', 1026, InTerms, Just "GHC.Prim", "indexAddrOffAddr#"),+ ('9', 1027, InTerms, Just "GHC.PrimopWrappers", "indexAddrOffAddr#"),+ ('9', 1028, InTerms, Just "GHC.Prim", "indexFloatOffAddr#"),+ ('9', 1029, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddr#"),+ ('9', 1030, InTerms, Just "GHC.Prim", "indexDoubleOffAddr#"),+ ('9', 1031, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddr#"),+ ('9', 1032, InTerms, Just "GHC.Prim", "indexStablePtrOffAddr#"),+ ('9', 1033, InTerms, Just "GHC.PrimopWrappers", "indexStablePtrOffAddr#"),+ ('9', 1034, InTerms, Just "GHC.Prim", "indexInt8OffAddr#"),+ ('9', 1035, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddr#"),+ ('9', 1036, InTerms, Just "GHC.Prim", "indexWord8OffAddr#"),+ ('9', 1037, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddr#"),+ ('9', 1038, InTerms, Just "GHC.Prim", "indexInt16OffAddr#"),+ ('9', 1039, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddr#"),+ ('9', 1040, InTerms, Just "GHC.Prim", "indexWord16OffAddr#"),+ ('9', 1041, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddr#"),+ ('9', 1042, InTerms, Just "GHC.Prim", "indexInt32OffAddr#"),+ ('9', 1043, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddr#"),+ ('9', 1044, InTerms, Just "GHC.Prim", "indexWord32OffAddr#"),+ ('9', 1045, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddr#"),+ ('9', 1046, InTerms, Just "GHC.Prim", "indexInt64OffAddr#"),+ ('9', 1047, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddr#"),+ ('9', 1048, InTerms, Just "GHC.Prim", "indexWord64OffAddr#"),+ ('9', 1049, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddr#"),+ ('9', 1050, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsChar#"),+ ('9', 1051, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsChar#"),+ ('9', 1052, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWideChar#"),+ ('9', 1053, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWideChar#"),+ ('9', 1054, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt#"),+ ('9', 1055, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt#"),+ ('9', 1056, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord#"),+ ('9', 1057, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord#"),+ ('9', 1058, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsAddr#"),+ ('9', 1059, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsAddr#"),+ ('9', 1060, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsFloat#"),+ ('9', 1061, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsFloat#"),+ ('9', 1062, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsDouble#"),+ ('9', 1063, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsDouble#"),+ ('9', 1064, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsStablePtr#"),+ ('9', 1065, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsStablePtr#"),+ ('9', 1066, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt16#"),+ ('9', 1067, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt16#"),+ ('9', 1068, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord16#"),+ ('9', 1069, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord16#"),+ ('9', 1070, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt32#"),+ ('9', 1071, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt32#"),+ ('9', 1072, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord32#"),+ ('9', 1073, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord32#"),+ ('9', 1074, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt64#"),+ ('9', 1075, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt64#"),+ ('9', 1076, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord64#"),+ ('9', 1077, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord64#"),+ ('9', 1078, InTerms, Just "GHC.Prim", "readCharOffAddr#"),+ ('9', 1079, InTerms, Just "GHC.PrimopWrappers", "readCharOffAddr#"),+ ('9', 1080, InTerms, Just "GHC.Prim", "readWideCharOffAddr#"),+ ('9', 1081, InTerms, Just "GHC.PrimopWrappers", "readWideCharOffAddr#"),+ ('9', 1082, InTerms, Just "GHC.Prim", "readIntOffAddr#"),+ ('9', 1083, InTerms, Just "GHC.PrimopWrappers", "readIntOffAddr#"),+ ('9', 1084, InTerms, Just "GHC.Prim", "readWordOffAddr#"),+ ('9', 1085, InTerms, Just "GHC.PrimopWrappers", "readWordOffAddr#"),+ ('9', 1086, InTerms, Just "GHC.Prim", "readAddrOffAddr#"),+ ('9', 1087, InTerms, Just "GHC.PrimopWrappers", "readAddrOffAddr#"),+ ('9', 1088, InTerms, Just "GHC.Prim", "readFloatOffAddr#"),+ ('9', 1089, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddr#"),+ ('9', 1090, InTerms, Just "GHC.Prim", "readDoubleOffAddr#"),+ ('9', 1091, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddr#"),+ ('9', 1092, InTerms, Just "GHC.Prim", "readStablePtrOffAddr#"),+ ('9', 1093, InTerms, Just "GHC.PrimopWrappers", "readStablePtrOffAddr#"),+ ('9', 1094, InTerms, Just "GHC.Prim", "readInt8OffAddr#"),+ ('9', 1095, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddr#"),+ ('9', 1096, InTerms, Just "GHC.Prim", "readWord8OffAddr#"),+ ('9', 1097, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddr#"),+ ('9', 1098, InTerms, Just "GHC.Prim", "readInt16OffAddr#"),+ ('9', 1099, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddr#"),+ ('9', 1100, InTerms, Just "GHC.Prim", "readWord16OffAddr#"),+ ('9', 1101, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddr#"),+ ('9', 1102, InTerms, Just "GHC.Prim", "readInt32OffAddr#"),+ ('9', 1103, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddr#"),+ ('9', 1104, InTerms, Just "GHC.Prim", "readWord32OffAddr#"),+ ('9', 1105, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddr#"),+ ('9', 1106, InTerms, Just "GHC.Prim", "readInt64OffAddr#"),+ ('9', 1107, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddr#"),+ ('9', 1108, InTerms, Just "GHC.Prim", "readWord64OffAddr#"),+ ('9', 1109, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddr#"),+ ('9', 1110, InTerms, Just "GHC.Prim", "readWord8OffAddrAsChar#"),+ ('9', 1111, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsChar#"),+ ('9', 1112, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWideChar#"),+ ('9', 1113, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWideChar#"),+ ('9', 1114, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt#"),+ ('9', 1115, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt#"),+ ('9', 1116, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord#"),+ ('9', 1117, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord#"),+ ('9', 1118, InTerms, Just "GHC.Prim", "readWord8OffAddrAsAddr#"),+ ('9', 1119, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsAddr#"),+ ('9', 1120, InTerms, Just "GHC.Prim", "readWord8OffAddrAsFloat#"),+ ('9', 1121, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsFloat#"),+ ('9', 1122, InTerms, Just "GHC.Prim", "readWord8OffAddrAsDouble#"),+ ('9', 1123, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsDouble#"),+ ('9', 1124, InTerms, Just "GHC.Prim", "readWord8OffAddrAsStablePtr#"),+ ('9', 1125, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsStablePtr#"),+ ('9', 1126, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt16#"),+ ('9', 1127, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt16#"),+ ('9', 1128, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord16#"),+ ('9', 1129, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord16#"),+ ('9', 1130, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt32#"),+ ('9', 1131, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt32#"),+ ('9', 1132, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord32#"),+ ('9', 1133, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord32#"),+ ('9', 1134, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt64#"),+ ('9', 1135, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt64#"),+ ('9', 1136, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord64#"),+ ('9', 1137, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord64#"),+ ('9', 1138, InTerms, Just "GHC.Prim", "writeCharOffAddr#"),+ ('9', 1139, InTerms, Just "GHC.PrimopWrappers", "writeCharOffAddr#"),+ ('9', 1140, InTerms, Just "GHC.Prim", "writeWideCharOffAddr#"),+ ('9', 1141, InTerms, Just "GHC.PrimopWrappers", "writeWideCharOffAddr#"),+ ('9', 1142, InTerms, Just "GHC.Prim", "writeIntOffAddr#"),+ ('9', 1143, InTerms, Just "GHC.PrimopWrappers", "writeIntOffAddr#"),+ ('9', 1144, InTerms, Just "GHC.Prim", "writeWordOffAddr#"),+ ('9', 1145, InTerms, Just "GHC.PrimopWrappers", "writeWordOffAddr#"),+ ('9', 1146, InTerms, Just "GHC.Prim", "writeAddrOffAddr#"),+ ('9', 1147, InTerms, Just "GHC.PrimopWrappers", "writeAddrOffAddr#"),+ ('9', 1148, InTerms, Just "GHC.Prim", "writeFloatOffAddr#"),+ ('9', 1149, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddr#"),+ ('9', 1150, InTerms, Just "GHC.Prim", "writeDoubleOffAddr#"),+ ('9', 1151, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddr#"),+ ('9', 1152, InTerms, Just "GHC.Prim", "writeStablePtrOffAddr#"),+ ('9', 1153, InTerms, Just "GHC.PrimopWrappers", "writeStablePtrOffAddr#"),+ ('9', 1154, InTerms, Just "GHC.Prim", "writeInt8OffAddr#"),+ ('9', 1155, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddr#"),+ ('9', 1156, InTerms, Just "GHC.Prim", "writeWord8OffAddr#"),+ ('9', 1157, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddr#"),+ ('9', 1158, InTerms, Just "GHC.Prim", "writeInt16OffAddr#"),+ ('9', 1159, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddr#"),+ ('9', 1160, InTerms, Just "GHC.Prim", "writeWord16OffAddr#"),+ ('9', 1161, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddr#"),+ ('9', 1162, InTerms, Just "GHC.Prim", "writeInt32OffAddr#"),+ ('9', 1163, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddr#"),+ ('9', 1164, InTerms, Just "GHC.Prim", "writeWord32OffAddr#"),+ ('9', 1165, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddr#"),+ ('9', 1166, InTerms, Just "GHC.Prim", "writeInt64OffAddr#"),+ ('9', 1167, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddr#"),+ ('9', 1168, InTerms, Just "GHC.Prim", "writeWord64OffAddr#"),+ ('9', 1169, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddr#"),+ ('9', 1170, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsChar#"),+ ('9', 1171, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsChar#"),+ ('9', 1172, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWideChar#"),+ ('9', 1173, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWideChar#"),+ ('9', 1174, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt#"),+ ('9', 1175, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt#"),+ ('9', 1176, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord#"),+ ('9', 1177, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord#"),+ ('9', 1178, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsAddr#"),+ ('9', 1179, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsAddr#"),+ ('9', 1180, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsFloat#"),+ ('9', 1181, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsFloat#"),+ ('9', 1182, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsDouble#"),+ ('9', 1183, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsDouble#"),+ ('9', 1184, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsStablePtr#"),+ ('9', 1185, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsStablePtr#"),+ ('9', 1186, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt16#"),+ ('9', 1187, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt16#"),+ ('9', 1188, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord16#"),+ ('9', 1189, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord16#"),+ ('9', 1190, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt32#"),+ ('9', 1191, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt32#"),+ ('9', 1192, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord32#"),+ ('9', 1193, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord32#"),+ ('9', 1194, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt64#"),+ ('9', 1195, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt64#"),+ ('9', 1196, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord64#"),+ ('9', 1197, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord64#"),+ ('9', 1198, InTerms, Just "GHC.Prim", "atomicExchangeAddrAddr#"),+ ('9', 1199, InTerms, Just "GHC.PrimopWrappers", "atomicExchangeAddrAddr#"),+ ('9', 1200, InTerms, Just "GHC.Prim", "atomicExchangeWordAddr#"),+ ('9', 1201, InTerms, Just "GHC.PrimopWrappers", "atomicExchangeWordAddr#"),+ ('9', 1202, InTerms, Just "GHC.Prim", "atomicCasAddrAddr#"),+ ('9', 1203, InTerms, Just "GHC.PrimopWrappers", "atomicCasAddrAddr#"),+ ('9', 1204, InTerms, Just "GHC.Prim", "atomicCasWordAddr#"),+ ('9', 1205, InTerms, Just "GHC.PrimopWrappers", "atomicCasWordAddr#"),+ ('9', 1206, InTerms, Just "GHC.Prim", "atomicCasWord8Addr#"),+ ('9', 1207, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord8Addr#"),+ ('9', 1208, InTerms, Just "GHC.Prim", "atomicCasWord16Addr#"),+ ('9', 1209, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord16Addr#"),+ ('9', 1210, InTerms, Just "GHC.Prim", "atomicCasWord32Addr#"),+ ('9', 1211, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord32Addr#"),+ ('9', 1212, InTerms, Just "GHC.Prim", "atomicCasWord64Addr#"),+ ('9', 1213, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord64Addr#"),+ ('9', 1214, InTerms, Just "GHC.Prim", "fetchAddWordAddr#"),+ ('9', 1215, InTerms, Just "GHC.PrimopWrappers", "fetchAddWordAddr#"),+ ('9', 1216, InTerms, Just "GHC.Prim", "fetchSubWordAddr#"),+ ('9', 1217, InTerms, Just "GHC.PrimopWrappers", "fetchSubWordAddr#"),+ ('9', 1218, InTerms, Just "GHC.Prim", "fetchAndWordAddr#"),+ ('9', 1219, InTerms, Just "GHC.PrimopWrappers", "fetchAndWordAddr#"),+ ('9', 1220, InTerms, Just "GHC.Prim", "fetchNandWordAddr#"),+ ('9', 1221, InTerms, Just "GHC.PrimopWrappers", "fetchNandWordAddr#"),+ ('9', 1222, InTerms, Just "GHC.Prim", "fetchOrWordAddr#"),+ ('9', 1223, InTerms, Just "GHC.PrimopWrappers", "fetchOrWordAddr#"),+ ('9', 1224, InTerms, Just "GHC.Prim", "fetchXorWordAddr#"),+ ('9', 1225, InTerms, Just "GHC.PrimopWrappers", "fetchXorWordAddr#"),+ ('9', 1226, InTerms, Just "GHC.Prim", "atomicReadWordAddr#"),+ ('9', 1227, InTerms, Just "GHC.PrimopWrappers", "atomicReadWordAddr#"),+ ('9', 1228, InTerms, Just "GHC.Prim", "atomicWriteWordAddr#"),+ ('9', 1229, InTerms, Just "GHC.PrimopWrappers", "atomicWriteWordAddr#"),+ ('9', 1230, InTerms, Just "GHC.Prim", "newMutVar#"),+ ('9', 1231, InTerms, Just "GHC.PrimopWrappers", "newMutVar#"),+ ('9', 1232, InTerms, Just "GHC.Prim", "readMutVar#"),+ ('9', 1233, InTerms, Just "GHC.PrimopWrappers", "readMutVar#"),+ ('9', 1234, InTerms, Just "GHC.Prim", "writeMutVar#"),+ ('9', 1235, InTerms, Just "GHC.PrimopWrappers", "writeMutVar#"),+ ('9', 1236, InTerms, Just "GHC.Prim", "atomicSwapMutVar#"),+ ('9', 1237, InTerms, Just "GHC.PrimopWrappers", "atomicSwapMutVar#"),+ ('9', 1238, InTerms, Just "GHC.Prim", "atomicModifyMutVar2#"),+ ('9', 1239, InTerms, Just "GHC.PrimopWrappers", "atomicModifyMutVar2#"),+ ('9', 1240, InTerms, Just "GHC.Prim", "atomicModifyMutVar_#"),+ ('9', 1241, InTerms, Just "GHC.PrimopWrappers", "atomicModifyMutVar_#"),+ ('9', 1242, InTerms, Just "GHC.Prim", "casMutVar#"),+ ('9', 1243, InTerms, Just "GHC.PrimopWrappers", "casMutVar#"),+ ('9', 1244, InTerms, Just "GHC.Prim", "catch#"),+ ('9', 1245, InTerms, Just "GHC.PrimopWrappers", "catch#"),+ ('9', 1246, InTerms, Just "GHC.Prim", "raise#"),+ ('9', 1247, InTerms, Just "GHC.PrimopWrappers", "raise#"),+ ('9', 1248, InTerms, Just "GHC.Prim", "raiseUnderflow#"),+ ('9', 1249, InTerms, Just "GHC.PrimopWrappers", "raiseUnderflow#"),+ ('9', 1250, InTerms, Just "GHC.Prim", "raiseOverflow#"),+ ('9', 1251, InTerms, Just "GHC.PrimopWrappers", "raiseOverflow#"),+ ('9', 1252, InTerms, Just "GHC.Prim", "raiseDivZero#"),+ ('9', 1253, InTerms, Just "GHC.PrimopWrappers", "raiseDivZero#"),+ ('9', 1254, InTerms, Just "GHC.Prim", "raiseIO#"),+ ('9', 1255, InTerms, Just "GHC.PrimopWrappers", "raiseIO#"),+ ('9', 1256, InTerms, Just "GHC.Prim", "maskAsyncExceptions#"),+ ('9', 1257, InTerms, Just "GHC.PrimopWrappers", "maskAsyncExceptions#"),+ ('9', 1258, InTerms, Just "GHC.Prim", "maskUninterruptible#"),+ ('9', 1259, InTerms, Just "GHC.PrimopWrappers", "maskUninterruptible#"),+ ('9', 1260, InTerms, Just "GHC.Prim", "unmaskAsyncExceptions#"),+ ('9', 1261, InTerms, Just "GHC.PrimopWrappers", "unmaskAsyncExceptions#"),+ ('9', 1262, InTerms, Just "GHC.Prim", "getMaskingState#"),+ ('9', 1263, InTerms, Just "GHC.PrimopWrappers", "getMaskingState#"),+ ('9', 1264, InTerms, Just "GHC.Prim", "newPromptTag#"),+ ('9', 1265, InTerms, Just "GHC.PrimopWrappers", "newPromptTag#"),+ ('9', 1266, InTerms, Just "GHC.Prim", "prompt#"),+ ('9', 1267, InTerms, Just "GHC.PrimopWrappers", "prompt#"),+ ('9', 1268, InTerms, Just "GHC.Prim", "control0#"),+ ('9', 1269, InTerms, Just "GHC.PrimopWrappers", "control0#"),+ ('9', 1270, InTerms, Just "GHC.Prim", "atomically#"),+ ('9', 1271, InTerms, Just "GHC.PrimopWrappers", "atomically#"),+ ('9', 1272, InTerms, Just "GHC.Prim", "retry#"),+ ('9', 1273, InTerms, Just "GHC.PrimopWrappers", "retry#"),+ ('9', 1274, InTerms, Just "GHC.Prim", "catchRetry#"),+ ('9', 1275, InTerms, Just "GHC.PrimopWrappers", "catchRetry#"),+ ('9', 1276, InTerms, Just "GHC.Prim", "catchSTM#"),+ ('9', 1277, InTerms, Just "GHC.PrimopWrappers", "catchSTM#"),+ ('9', 1278, InTerms, Just "GHC.Prim", "newTVar#"),+ ('9', 1279, InTerms, Just "GHC.PrimopWrappers", "newTVar#"),+ ('9', 1280, InTerms, Just "GHC.Prim", "readTVar#"),+ ('9', 1281, InTerms, Just "GHC.PrimopWrappers", "readTVar#"),+ ('9', 1282, InTerms, Just "GHC.Prim", "readTVarIO#"),+ ('9', 1283, InTerms, Just "GHC.PrimopWrappers", "readTVarIO#"),+ ('9', 1284, InTerms, Just "GHC.Prim", "writeTVar#"),+ ('9', 1285, InTerms, Just "GHC.PrimopWrappers", "writeTVar#"),+ ('9', 1286, InTerms, Just "GHC.Prim", "newMVar#"),+ ('9', 1287, InTerms, Just "GHC.PrimopWrappers", "newMVar#"),+ ('9', 1288, InTerms, Just "GHC.Prim", "takeMVar#"),+ ('9', 1289, InTerms, Just "GHC.PrimopWrappers", "takeMVar#"),+ ('9', 1290, InTerms, Just "GHC.Prim", "tryTakeMVar#"),+ ('9', 1291, InTerms, Just "GHC.PrimopWrappers", "tryTakeMVar#"),+ ('9', 1292, InTerms, Just "GHC.Prim", "putMVar#"),+ ('9', 1293, InTerms, Just "GHC.PrimopWrappers", "putMVar#"),+ ('9', 1294, InTerms, Just "GHC.Prim", "tryPutMVar#"),+ ('9', 1295, InTerms, Just "GHC.PrimopWrappers", "tryPutMVar#"),+ ('9', 1296, InTerms, Just "GHC.Prim", "readMVar#"),+ ('9', 1297, InTerms, Just "GHC.PrimopWrappers", "readMVar#"),+ ('9', 1298, InTerms, Just "GHC.Prim", "tryReadMVar#"),+ ('9', 1299, InTerms, Just "GHC.PrimopWrappers", "tryReadMVar#"),+ ('9', 1300, InTerms, Just "GHC.Prim", "isEmptyMVar#"),+ ('9', 1301, InTerms, Just "GHC.PrimopWrappers", "isEmptyMVar#"),+ ('9', 1302, InTerms, Just "GHC.Prim", "newIOPort#"),+ ('9', 1303, InTerms, Just "GHC.PrimopWrappers", "newIOPort#"),+ ('9', 1304, InTerms, Just "GHC.Prim", "readIOPort#"),+ ('9', 1305, InTerms, Just "GHC.PrimopWrappers", "readIOPort#"),+ ('9', 1306, InTerms, Just "GHC.Prim", "writeIOPort#"),+ ('9', 1307, InTerms, Just "GHC.PrimopWrappers", "writeIOPort#"),+ ('9', 1308, InTerms, Just "GHC.Prim", "delay#"),+ ('9', 1309, InTerms, Just "GHC.PrimopWrappers", "delay#"),+ ('9', 1310, InTerms, Just "GHC.Prim", "waitRead#"),+ ('9', 1311, InTerms, Just "GHC.PrimopWrappers", "waitRead#"),+ ('9', 1312, InTerms, Just "GHC.Prim", "waitWrite#"),+ ('9', 1313, InTerms, Just "GHC.PrimopWrappers", "waitWrite#"),+ ('9', 1314, InTerms, Just "GHC.Prim", "fork#"),+ ('9', 1315, InTerms, Just "GHC.PrimopWrappers", "fork#"),+ ('9', 1316, InTerms, Just "GHC.Prim", "forkOn#"),+ ('9', 1317, InTerms, Just "GHC.PrimopWrappers", "forkOn#"),+ ('9', 1318, InTerms, Just "GHC.Prim", "killThread#"),+ ('9', 1319, InTerms, Just "GHC.PrimopWrappers", "killThread#"),+ ('9', 1320, InTerms, Just "GHC.Prim", "yield#"),+ ('9', 1321, InTerms, Just "GHC.PrimopWrappers", "yield#"),+ ('9', 1322, InTerms, Just "GHC.Prim", "myThreadId#"),+ ('9', 1323, InTerms, Just "GHC.PrimopWrappers", "myThreadId#"),+ ('9', 1324, InTerms, Just "GHC.Prim", "labelThread#"),+ ('9', 1325, InTerms, Just "GHC.PrimopWrappers", "labelThread#"),+ ('9', 1326, InTerms, Just "GHC.Prim", "isCurrentThreadBound#"),+ ('9', 1327, InTerms, Just "GHC.PrimopWrappers", "isCurrentThreadBound#"),+ ('9', 1328, InTerms, Just "GHC.Prim", "noDuplicate#"),+ ('9', 1329, InTerms, Just "GHC.PrimopWrappers", "noDuplicate#"),+ ('9', 1330, InTerms, Just "GHC.Prim", "threadLabel#"),+ ('9', 1331, InTerms, Just "GHC.PrimopWrappers", "threadLabel#"),+ ('9', 1332, InTerms, Just "GHC.Prim", "threadStatus#"),+ ('9', 1333, InTerms, Just "GHC.PrimopWrappers", "threadStatus#"),+ ('9', 1334, InTerms, Just "GHC.Prim", "listThreads#"),+ ('9', 1335, InTerms, Just "GHC.PrimopWrappers", "listThreads#"),+ ('9', 1336, InTerms, Just "GHC.Prim", "mkWeak#"),+ ('9', 1337, InTerms, Just "GHC.PrimopWrappers", "mkWeak#"),+ ('9', 1338, InTerms, Just "GHC.Prim", "mkWeakNoFinalizer#"),+ ('9', 1339, InTerms, Just "GHC.PrimopWrappers", "mkWeakNoFinalizer#"),+ ('9', 1340, InTerms, Just "GHC.Prim", "addCFinalizerToWeak#"),+ ('9', 1341, InTerms, Just "GHC.PrimopWrappers", "addCFinalizerToWeak#"),+ ('9', 1342, InTerms, Just "GHC.Prim", "deRefWeak#"),+ ('9', 1343, InTerms, Just "GHC.PrimopWrappers", "deRefWeak#"),+ ('9', 1344, InTerms, Just "GHC.Prim", "finalizeWeak#"),+ ('9', 1345, InTerms, Just "GHC.PrimopWrappers", "finalizeWeak#"),+ ('9', 1346, InTerms, Just "GHC.Prim", "touch#"),+ ('9', 1347, InTerms, Just "GHC.PrimopWrappers", "touch#"),+ ('9', 1348, InTerms, Just "GHC.Prim", "makeStablePtr#"),+ ('9', 1349, InTerms, Just "GHC.PrimopWrappers", "makeStablePtr#"),+ ('9', 1350, InTerms, Just "GHC.Prim", "deRefStablePtr#"),+ ('9', 1351, InTerms, Just "GHC.PrimopWrappers", "deRefStablePtr#"),+ ('9', 1352, InTerms, Just "GHC.Prim", "eqStablePtr#"),+ ('9', 1353, InTerms, Just "GHC.PrimopWrappers", "eqStablePtr#"),+ ('9', 1354, InTerms, Just "GHC.Prim", "makeStableName#"),+ ('9', 1355, InTerms, Just "GHC.PrimopWrappers", "makeStableName#"),+ ('9', 1356, InTerms, Just "GHC.Prim", "stableNameToInt#"),+ ('9', 1357, InTerms, Just "GHC.PrimopWrappers", "stableNameToInt#"),+ ('9', 1358, InTerms, Just "GHC.Prim", "compactNew#"),+ ('9', 1359, InTerms, Just "GHC.PrimopWrappers", "compactNew#"),+ ('9', 1360, InTerms, Just "GHC.Prim", "compactResize#"),+ ('9', 1361, InTerms, Just "GHC.PrimopWrappers", "compactResize#"),+ ('9', 1362, InTerms, Just "GHC.Prim", "compactContains#"),+ ('9', 1363, InTerms, Just "GHC.PrimopWrappers", "compactContains#"),+ ('9', 1364, InTerms, Just "GHC.Prim", "compactContainsAny#"),+ ('9', 1365, InTerms, Just "GHC.PrimopWrappers", "compactContainsAny#"),+ ('9', 1366, InTerms, Just "GHC.Prim", "compactGetFirstBlock#"),+ ('9', 1367, InTerms, Just "GHC.PrimopWrappers", "compactGetFirstBlock#"),+ ('9', 1368, InTerms, Just "GHC.Prim", "compactGetNextBlock#"),+ ('9', 1369, InTerms, Just "GHC.PrimopWrappers", "compactGetNextBlock#"),+ ('9', 1370, InTerms, Just "GHC.Prim", "compactAllocateBlock#"),+ ('9', 1371, InTerms, Just "GHC.PrimopWrappers", "compactAllocateBlock#"),+ ('9', 1372, InTerms, Just "GHC.Prim", "compactFixupPointers#"),+ ('9', 1373, InTerms, Just "GHC.PrimopWrappers", "compactFixupPointers#"),+ ('9', 1374, InTerms, Just "GHC.Prim", "compactAdd#"),+ ('9', 1375, InTerms, Just "GHC.PrimopWrappers", "compactAdd#"),+ ('9', 1376, InTerms, Just "GHC.Prim", "compactAddWithSharing#"),+ ('9', 1377, InTerms, Just "GHC.PrimopWrappers", "compactAddWithSharing#"),+ ('9', 1378, InTerms, Just "GHC.Prim", "compactSize#"),+ ('9', 1379, InTerms, Just "GHC.PrimopWrappers", "compactSize#"),+ ('9', 1380, InTerms, Just "GHC.Prim", "reallyUnsafePtrEquality#"),+ ('9', 1381, InTerms, Just "GHC.PrimopWrappers", "reallyUnsafePtrEquality#"),+ ('9', 1382, InTerms, Just "GHC.Prim", "par#"),+ ('9', 1383, InTerms, Just "GHC.PrimopWrappers", "par#"),+ ('9', 1384, InTerms, Just "GHC.Prim", "spark#"),+ ('9', 1385, InTerms, Just "GHC.PrimopWrappers", "spark#"),+ ('9', 1386, InTerms, Just "GHC.Prim", "seq#"),+ ('9', 1387, InTerms, Just "GHC.PrimopWrappers", "seq#"),+ ('9', 1388, InTerms, Just "GHC.Prim", "getSpark#"),+ ('9', 1389, InTerms, Just "GHC.PrimopWrappers", "getSpark#"),+ ('9', 1390, InTerms, Just "GHC.Prim", "numSparks#"),+ ('9', 1391, InTerms, Just "GHC.PrimopWrappers", "numSparks#"),+ ('9', 1392, InTerms, Just "GHC.Prim", "keepAlive#"),+ ('9', 1393, InTerms, Just "GHC.PrimopWrappers", "keepAlive#"),+ ('9', 1394, InTerms, Just "GHC.Prim", "dataToTagSmall#"),+ ('9', 1395, InTerms, Just "GHC.PrimopWrappers", "dataToTagSmall#"),+ ('9', 1396, InTerms, Just "GHC.Prim", "dataToTagLarge#"),+ ('9', 1397, InTerms, Just "GHC.PrimopWrappers", "dataToTagLarge#"),+ ('9', 1398, InTerms, Just "GHC.Prim", "tagToEnum#"),+ ('9', 1399, InTerms, Just "GHC.PrimopWrappers", "tagToEnum#"),+ ('9', 1400, InTerms, Just "GHC.Prim", "addrToAny#"),+ ('9', 1401, InTerms, Just "GHC.PrimopWrappers", "addrToAny#"),+ ('9', 1402, InTerms, Just "GHC.Prim", "anyToAddr#"),+ ('9', 1403, InTerms, Just "GHC.PrimopWrappers", "anyToAddr#"),+ ('9', 1404, InTerms, Just "GHC.Prim", "mkApUpd0#"),+ ('9', 1405, InTerms, Just "GHC.PrimopWrappers", "mkApUpd0#"),+ ('9', 1406, InTerms, Just "GHC.Prim", "newBCO#"),+ ('9', 1407, InTerms, Just "GHC.PrimopWrappers", "newBCO#"),+ ('9', 1408, InTerms, Just "GHC.Prim", "unpackClosure#"),+ ('9', 1409, InTerms, Just "GHC.PrimopWrappers", "unpackClosure#"),+ ('9', 1410, InTerms, Just "GHC.Prim", "closureSize#"),+ ('9', 1411, InTerms, Just "GHC.PrimopWrappers", "closureSize#"),+ ('9', 1412, InTerms, Just "GHC.Prim", "getApStackVal#"),+ ('9', 1413, InTerms, Just "GHC.PrimopWrappers", "getApStackVal#"),+ ('9', 1414, InTerms, Just "GHC.Prim", "getCCSOf#"),+ ('9', 1415, InTerms, Just "GHC.PrimopWrappers", "getCCSOf#"),+ ('9', 1416, InTerms, Just "GHC.Prim", "getCurrentCCS#"),+ ('9', 1417, InTerms, Just "GHC.PrimopWrappers", "getCurrentCCS#"),+ ('9', 1418, InTerms, Just "GHC.Prim", "clearCCS#"),+ ('9', 1419, InTerms, Just "GHC.PrimopWrappers", "clearCCS#"),+ ('9', 1420, InTerms, Just "GHC.Prim", "whereFrom#"),+ ('9', 1421, InTerms, Just "GHC.PrimopWrappers", "whereFrom#"),+ ('9', 1422, InTerms, Just "GHC.Prim", "traceEvent#"),+ ('9', 1423, InTerms, Just "GHC.PrimopWrappers", "traceEvent#"),+ ('9', 1424, InTerms, Just "GHC.Prim", "traceBinaryEvent#"),+ ('9', 1425, InTerms, Just "GHC.PrimopWrappers", "traceBinaryEvent#"),+ ('9', 1426, InTerms, Just "GHC.Prim", "traceMarker#"),+ ('9', 1427, InTerms, Just "GHC.PrimopWrappers", "traceMarker#"),+ ('9', 1428, InTerms, Just "GHC.Prim", "setThreadAllocationCounter#"),+ ('9', 1429, InTerms, Just "GHC.PrimopWrappers", "setThreadAllocationCounter#"),+ ('9', 1430, InTerms, Just "GHC.Prim", "broadcastInt8X16#"),+ ('9', 1431, InTerms, Just "GHC.PrimopWrappers", "broadcastInt8X16#"),+ ('9', 1432, InTerms, Just "GHC.Prim", "broadcastInt16X8#"),+ ('9', 1433, InTerms, Just "GHC.PrimopWrappers", "broadcastInt16X8#"),+ ('9', 1434, InTerms, Just "GHC.Prim", "broadcastInt32X4#"),+ ('9', 1435, InTerms, Just "GHC.PrimopWrappers", "broadcastInt32X4#"),+ ('9', 1436, InTerms, Just "GHC.Prim", "broadcastInt64X2#"),+ ('9', 1437, InTerms, Just "GHC.PrimopWrappers", "broadcastInt64X2#"),+ ('9', 1438, InTerms, Just "GHC.Prim", "broadcastInt8X32#"),+ ('9', 1439, InTerms, Just "GHC.PrimopWrappers", "broadcastInt8X32#"),+ ('9', 1440, InTerms, Just "GHC.Prim", "broadcastInt16X16#"),+ ('9', 1441, InTerms, Just "GHC.PrimopWrappers", "broadcastInt16X16#"),+ ('9', 1442, InTerms, Just "GHC.Prim", "broadcastInt32X8#"),+ ('9', 1443, InTerms, Just "GHC.PrimopWrappers", "broadcastInt32X8#"),+ ('9', 1444, InTerms, Just "GHC.Prim", "broadcastInt64X4#"),+ ('9', 1445, InTerms, Just "GHC.PrimopWrappers", "broadcastInt64X4#"),+ ('9', 1446, InTerms, Just "GHC.Prim", "broadcastInt8X64#"),+ ('9', 1447, InTerms, Just "GHC.PrimopWrappers", "broadcastInt8X64#"),+ ('9', 1448, InTerms, Just "GHC.Prim", "broadcastInt16X32#"),+ ('9', 1449, InTerms, Just "GHC.PrimopWrappers", "broadcastInt16X32#"),+ ('9', 1450, InTerms, Just "GHC.Prim", "broadcastInt32X16#"),+ ('9', 1451, InTerms, Just "GHC.PrimopWrappers", "broadcastInt32X16#"),+ ('9', 1452, InTerms, Just "GHC.Prim", "broadcastInt64X8#"),+ ('9', 1453, InTerms, Just "GHC.PrimopWrappers", "broadcastInt64X8#"),+ ('9', 1454, InTerms, Just "GHC.Prim", "broadcastWord8X16#"),+ ('9', 1455, InTerms, Just "GHC.PrimopWrappers", "broadcastWord8X16#"),+ ('9', 1456, InTerms, Just "GHC.Prim", "broadcastWord16X8#"),+ ('9', 1457, InTerms, Just "GHC.PrimopWrappers", "broadcastWord16X8#"),+ ('9', 1458, InTerms, Just "GHC.Prim", "broadcastWord32X4#"),+ ('9', 1459, InTerms, Just "GHC.PrimopWrappers", "broadcastWord32X4#"),+ ('9', 1460, InTerms, Just "GHC.Prim", "broadcastWord64X2#"),+ ('9', 1461, InTerms, Just "GHC.PrimopWrappers", "broadcastWord64X2#"),+ ('9', 1462, InTerms, Just "GHC.Prim", "broadcastWord8X32#"),+ ('9', 1463, InTerms, Just "GHC.PrimopWrappers", "broadcastWord8X32#"),+ ('9', 1464, InTerms, Just "GHC.Prim", "broadcastWord16X16#"),+ ('9', 1465, InTerms, Just "GHC.PrimopWrappers", "broadcastWord16X16#"),+ ('9', 1466, InTerms, Just "GHC.Prim", "broadcastWord32X8#"),+ ('9', 1467, InTerms, Just "GHC.PrimopWrappers", "broadcastWord32X8#"),+ ('9', 1468, InTerms, Just "GHC.Prim", "broadcastWord64X4#"),+ ('9', 1469, InTerms, Just "GHC.PrimopWrappers", "broadcastWord64X4#"),+ ('9', 1470, InTerms, Just "GHC.Prim", "broadcastWord8X64#"),+ ('9', 1471, InTerms, Just "GHC.PrimopWrappers", "broadcastWord8X64#"),+ ('9', 1472, InTerms, Just "GHC.Prim", "broadcastWord16X32#"),+ ('9', 1473, InTerms, Just "GHC.PrimopWrappers", "broadcastWord16X32#"),+ ('9', 1474, InTerms, Just "GHC.Prim", "broadcastWord32X16#"),+ ('9', 1475, InTerms, Just "GHC.PrimopWrappers", "broadcastWord32X16#"),+ ('9', 1476, InTerms, Just "GHC.Prim", "broadcastWord64X8#"),+ ('9', 1477, InTerms, Just "GHC.PrimopWrappers", "broadcastWord64X8#"),+ ('9', 1478, InTerms, Just "GHC.Prim", "broadcastFloatX4#"),+ ('9', 1479, InTerms, Just "GHC.PrimopWrappers", "broadcastFloatX4#"),+ ('9', 1480, InTerms, Just "GHC.Prim", "broadcastDoubleX2#"),+ ('9', 1481, InTerms, Just "GHC.PrimopWrappers", "broadcastDoubleX2#"),+ ('9', 1482, InTerms, Just "GHC.Prim", "broadcastFloatX8#"),+ ('9', 1483, InTerms, Just "GHC.PrimopWrappers", "broadcastFloatX8#"),+ ('9', 1484, InTerms, Just "GHC.Prim", "broadcastDoubleX4#"),+ ('9', 1485, InTerms, Just "GHC.PrimopWrappers", "broadcastDoubleX4#"),+ ('9', 1486, InTerms, Just "GHC.Prim", "broadcastFloatX16#"),+ ('9', 1487, InTerms, Just "GHC.PrimopWrappers", "broadcastFloatX16#"),+ ('9', 1488, InTerms, Just "GHC.Prim", "broadcastDoubleX8#"),+ ('9', 1489, InTerms, Just "GHC.PrimopWrappers", "broadcastDoubleX8#"),+ ('9', 1490, InTerms, Just "GHC.Prim", "packInt8X16#"),+ ('9', 1491, InTerms, Just "GHC.PrimopWrappers", "packInt8X16#"),+ ('9', 1492, InTerms, Just "GHC.Prim", "packInt16X8#"),+ ('9', 1493, InTerms, Just "GHC.PrimopWrappers", "packInt16X8#"),+ ('9', 1494, InTerms, Just "GHC.Prim", "packInt32X4#"),+ ('9', 1495, InTerms, Just "GHC.PrimopWrappers", "packInt32X4#"),+ ('9', 1496, InTerms, Just "GHC.Prim", "packInt64X2#"),+ ('9', 1497, InTerms, Just "GHC.PrimopWrappers", "packInt64X2#"),+ ('9', 1498, InTerms, Just "GHC.Prim", "packInt8X32#"),+ ('9', 1499, InTerms, Just "GHC.PrimopWrappers", "packInt8X32#"),+ ('9', 1500, InTerms, Just "GHC.Prim", "packInt16X16#"),+ ('9', 1501, InTerms, Just "GHC.PrimopWrappers", "packInt16X16#"),+ ('9', 1502, InTerms, Just "GHC.Prim", "packInt32X8#"),+ ('9', 1503, InTerms, Just "GHC.PrimopWrappers", "packInt32X8#"),+ ('9', 1504, InTerms, Just "GHC.Prim", "packInt64X4#"),+ ('9', 1505, InTerms, Just "GHC.PrimopWrappers", "packInt64X4#"),+ ('9', 1506, InTerms, Just "GHC.Prim", "packInt8X64#"),+ ('9', 1507, InTerms, Just "GHC.PrimopWrappers", "packInt8X64#"),+ ('9', 1508, InTerms, Just "GHC.Prim", "packInt16X32#"),+ ('9', 1509, InTerms, Just "GHC.PrimopWrappers", "packInt16X32#"),+ ('9', 1510, InTerms, Just "GHC.Prim", "packInt32X16#"),+ ('9', 1511, InTerms, Just "GHC.PrimopWrappers", "packInt32X16#"),+ ('9', 1512, InTerms, Just "GHC.Prim", "packInt64X8#"),+ ('9', 1513, InTerms, Just "GHC.PrimopWrappers", "packInt64X8#"),+ ('9', 1514, InTerms, Just "GHC.Prim", "packWord8X16#"),+ ('9', 1515, InTerms, Just "GHC.PrimopWrappers", "packWord8X16#"),+ ('9', 1516, InTerms, Just "GHC.Prim", "packWord16X8#"),+ ('9', 1517, InTerms, Just "GHC.PrimopWrappers", "packWord16X8#"),+ ('9', 1518, InTerms, Just "GHC.Prim", "packWord32X4#"),+ ('9', 1519, InTerms, Just "GHC.PrimopWrappers", "packWord32X4#"),+ ('9', 1520, InTerms, Just "GHC.Prim", "packWord64X2#"),+ ('9', 1521, InTerms, Just "GHC.PrimopWrappers", "packWord64X2#"),+ ('9', 1522, InTerms, Just "GHC.Prim", "packWord8X32#"),+ ('9', 1523, InTerms, Just "GHC.PrimopWrappers", "packWord8X32#"),+ ('9', 1524, InTerms, Just "GHC.Prim", "packWord16X16#"),+ ('9', 1525, InTerms, Just "GHC.PrimopWrappers", "packWord16X16#"),+ ('9', 1526, InTerms, Just "GHC.Prim", "packWord32X8#"),+ ('9', 1527, InTerms, Just "GHC.PrimopWrappers", "packWord32X8#"),+ ('9', 1528, InTerms, Just "GHC.Prim", "packWord64X4#"),+ ('9', 1529, InTerms, Just "GHC.PrimopWrappers", "packWord64X4#"),+ ('9', 1530, InTerms, Just "GHC.Prim", "packWord8X64#"),+ ('9', 1531, InTerms, Just "GHC.PrimopWrappers", "packWord8X64#"),+ ('9', 1532, InTerms, Just "GHC.Prim", "packWord16X32#"),+ ('9', 1533, InTerms, Just "GHC.PrimopWrappers", "packWord16X32#"),+ ('9', 1534, InTerms, Just "GHC.Prim", "packWord32X16#"),+ ('9', 1535, InTerms, Just "GHC.PrimopWrappers", "packWord32X16#"),+ ('9', 1536, InTerms, Just "GHC.Prim", "packWord64X8#"),+ ('9', 1537, InTerms, Just "GHC.PrimopWrappers", "packWord64X8#"),+ ('9', 1538, InTerms, Just "GHC.Prim", "packFloatX4#"),+ ('9', 1539, InTerms, Just "GHC.PrimopWrappers", "packFloatX4#"),+ ('9', 1540, InTerms, Just "GHC.Prim", "packDoubleX2#"),+ ('9', 1541, InTerms, Just "GHC.PrimopWrappers", "packDoubleX2#"),+ ('9', 1542, InTerms, Just "GHC.Prim", "packFloatX8#"),+ ('9', 1543, InTerms, Just "GHC.PrimopWrappers", "packFloatX8#"),+ ('9', 1544, InTerms, Just "GHC.Prim", "packDoubleX4#"),+ ('9', 1545, InTerms, Just "GHC.PrimopWrappers", "packDoubleX4#"),+ ('9', 1546, InTerms, Just "GHC.Prim", "packFloatX16#"),+ ('9', 1547, InTerms, Just "GHC.PrimopWrappers", "packFloatX16#"),+ ('9', 1548, InTerms, Just "GHC.Prim", "packDoubleX8#"),+ ('9', 1549, InTerms, Just "GHC.PrimopWrappers", "packDoubleX8#"),+ ('9', 1550, InTerms, Just "GHC.Prim", "unpackInt8X16#"),+ ('9', 1551, InTerms, Just "GHC.PrimopWrappers", "unpackInt8X16#"),+ ('9', 1552, InTerms, Just "GHC.Prim", "unpackInt16X8#"),+ ('9', 1553, InTerms, Just "GHC.PrimopWrappers", "unpackInt16X8#"),+ ('9', 1554, InTerms, Just "GHC.Prim", "unpackInt32X4#"),+ ('9', 1555, InTerms, Just "GHC.PrimopWrappers", "unpackInt32X4#"),+ ('9', 1556, InTerms, Just "GHC.Prim", "unpackInt64X2#"),+ ('9', 1557, InTerms, Just "GHC.PrimopWrappers", "unpackInt64X2#"),+ ('9', 1558, InTerms, Just "GHC.Prim", "unpackInt8X32#"),+ ('9', 1559, InTerms, Just "GHC.PrimopWrappers", "unpackInt8X32#"),+ ('9', 1560, InTerms, Just "GHC.Prim", "unpackInt16X16#"),+ ('9', 1561, InTerms, Just "GHC.PrimopWrappers", "unpackInt16X16#"),+ ('9', 1562, InTerms, Just "GHC.Prim", "unpackInt32X8#"),+ ('9', 1563, InTerms, Just "GHC.PrimopWrappers", "unpackInt32X8#"),+ ('9', 1564, InTerms, Just "GHC.Prim", "unpackInt64X4#"),+ ('9', 1565, InTerms, Just "GHC.PrimopWrappers", "unpackInt64X4#"),+ ('9', 1566, InTerms, Just "GHC.Prim", "unpackInt8X64#"),+ ('9', 1567, InTerms, Just "GHC.PrimopWrappers", "unpackInt8X64#"),+ ('9', 1568, InTerms, Just "GHC.Prim", "unpackInt16X32#"),+ ('9', 1569, InTerms, Just "GHC.PrimopWrappers", "unpackInt16X32#"),+ ('9', 1570, InTerms, Just "GHC.Prim", "unpackInt32X16#"),+ ('9', 1571, InTerms, Just "GHC.PrimopWrappers", "unpackInt32X16#"),+ ('9', 1572, InTerms, Just "GHC.Prim", "unpackInt64X8#"),+ ('9', 1573, InTerms, Just "GHC.PrimopWrappers", "unpackInt64X8#"),+ ('9', 1574, InTerms, Just "GHC.Prim", "unpackWord8X16#"),+ ('9', 1575, InTerms, Just "GHC.PrimopWrappers", "unpackWord8X16#"),+ ('9', 1576, InTerms, Just "GHC.Prim", "unpackWord16X8#"),+ ('9', 1577, InTerms, Just "GHC.PrimopWrappers", "unpackWord16X8#"),+ ('9', 1578, InTerms, Just "GHC.Prim", "unpackWord32X4#"),+ ('9', 1579, InTerms, Just "GHC.PrimopWrappers", "unpackWord32X4#"),+ ('9', 1580, InTerms, Just "GHC.Prim", "unpackWord64X2#"),+ ('9', 1581, InTerms, Just "GHC.PrimopWrappers", "unpackWord64X2#"),+ ('9', 1582, InTerms, Just "GHC.Prim", "unpackWord8X32#"),+ ('9', 1583, InTerms, Just "GHC.PrimopWrappers", "unpackWord8X32#"),+ ('9', 1584, InTerms, Just "GHC.Prim", "unpackWord16X16#"),+ ('9', 1585, InTerms, Just "GHC.PrimopWrappers", "unpackWord16X16#"),+ ('9', 1586, InTerms, Just "GHC.Prim", "unpackWord32X8#"),+ ('9', 1587, InTerms, Just "GHC.PrimopWrappers", "unpackWord32X8#"),+ ('9', 1588, InTerms, Just "GHC.Prim", "unpackWord64X4#"),+ ('9', 1589, InTerms, Just "GHC.PrimopWrappers", "unpackWord64X4#"),+ ('9', 1590, InTerms, Just "GHC.Prim", "unpackWord8X64#"),+ ('9', 1591, InTerms, Just "GHC.PrimopWrappers", "unpackWord8X64#"),+ ('9', 1592, InTerms, Just "GHC.Prim", "unpackWord16X32#"),+ ('9', 1593, InTerms, Just "GHC.PrimopWrappers", "unpackWord16X32#"),+ ('9', 1594, InTerms, Just "GHC.Prim", "unpackWord32X16#"),+ ('9', 1595, InTerms, Just "GHC.PrimopWrappers", "unpackWord32X16#"),+ ('9', 1596, InTerms, Just "GHC.Prim", "unpackWord64X8#"),+ ('9', 1597, InTerms, Just "GHC.PrimopWrappers", "unpackWord64X8#"),+ ('9', 1598, InTerms, Just "GHC.Prim", "unpackFloatX4#"),+ ('9', 1599, InTerms, Just "GHC.PrimopWrappers", "unpackFloatX4#"),+ ('9', 1600, InTerms, Just "GHC.Prim", "unpackDoubleX2#"),+ ('9', 1601, InTerms, Just "GHC.PrimopWrappers", "unpackDoubleX2#"),+ ('9', 1602, InTerms, Just "GHC.Prim", "unpackFloatX8#"),+ ('9', 1603, InTerms, Just "GHC.PrimopWrappers", "unpackFloatX8#"),+ ('9', 1604, InTerms, Just "GHC.Prim", "unpackDoubleX4#"),+ ('9', 1605, InTerms, Just "GHC.PrimopWrappers", "unpackDoubleX4#"),+ ('9', 1606, InTerms, Just "GHC.Prim", "unpackFloatX16#"),+ ('9', 1607, InTerms, Just "GHC.PrimopWrappers", "unpackFloatX16#"),+ ('9', 1608, InTerms, Just "GHC.Prim", "unpackDoubleX8#"),+ ('9', 1609, InTerms, Just "GHC.PrimopWrappers", "unpackDoubleX8#"),+ ('9', 1610, InTerms, Just "GHC.Prim", "insertInt8X16#"),+ ('9', 1611, InTerms, Just "GHC.PrimopWrappers", "insertInt8X16#"),+ ('9', 1612, InTerms, Just "GHC.Prim", "insertInt16X8#"),+ ('9', 1613, InTerms, Just "GHC.PrimopWrappers", "insertInt16X8#"),+ ('9', 1614, InTerms, Just "GHC.Prim", "insertInt32X4#"),+ ('9', 1615, InTerms, Just "GHC.PrimopWrappers", "insertInt32X4#"),+ ('9', 1616, InTerms, Just "GHC.Prim", "insertInt64X2#"),+ ('9', 1617, InTerms, Just "GHC.PrimopWrappers", "insertInt64X2#"),+ ('9', 1618, InTerms, Just "GHC.Prim", "insertInt8X32#"),+ ('9', 1619, InTerms, Just "GHC.PrimopWrappers", "insertInt8X32#"),+ ('9', 1620, InTerms, Just "GHC.Prim", "insertInt16X16#"),+ ('9', 1621, InTerms, Just "GHC.PrimopWrappers", "insertInt16X16#"),+ ('9', 1622, InTerms, Just "GHC.Prim", "insertInt32X8#"),+ ('9', 1623, InTerms, Just "GHC.PrimopWrappers", "insertInt32X8#"),+ ('9', 1624, InTerms, Just "GHC.Prim", "insertInt64X4#"),+ ('9', 1625, InTerms, Just "GHC.PrimopWrappers", "insertInt64X4#"),+ ('9', 1626, InTerms, Just "GHC.Prim", "insertInt8X64#"),+ ('9', 1627, InTerms, Just "GHC.PrimopWrappers", "insertInt8X64#"),+ ('9', 1628, InTerms, Just "GHC.Prim", "insertInt16X32#"),+ ('9', 1629, InTerms, Just "GHC.PrimopWrappers", "insertInt16X32#"),+ ('9', 1630, InTerms, Just "GHC.Prim", "insertInt32X16#"),+ ('9', 1631, InTerms, Just "GHC.PrimopWrappers", "insertInt32X16#"),+ ('9', 1632, InTerms, Just "GHC.Prim", "insertInt64X8#"),+ ('9', 1633, InTerms, Just "GHC.PrimopWrappers", "insertInt64X8#"),+ ('9', 1634, InTerms, Just "GHC.Prim", "insertWord8X16#"),+ ('9', 1635, InTerms, Just "GHC.PrimopWrappers", "insertWord8X16#"),+ ('9', 1636, InTerms, Just "GHC.Prim", "insertWord16X8#"),+ ('9', 1637, InTerms, Just "GHC.PrimopWrappers", "insertWord16X8#"),+ ('9', 1638, InTerms, Just "GHC.Prim", "insertWord32X4#"),+ ('9', 1639, InTerms, Just "GHC.PrimopWrappers", "insertWord32X4#"),+ ('9', 1640, InTerms, Just "GHC.Prim", "insertWord64X2#"),+ ('9', 1641, InTerms, Just "GHC.PrimopWrappers", "insertWord64X2#"),+ ('9', 1642, InTerms, Just "GHC.Prim", "insertWord8X32#"),+ ('9', 1643, InTerms, Just "GHC.PrimopWrappers", "insertWord8X32#"),+ ('9', 1644, InTerms, Just "GHC.Prim", "insertWord16X16#"),+ ('9', 1645, InTerms, Just "GHC.PrimopWrappers", "insertWord16X16#"),+ ('9', 1646, InTerms, Just "GHC.Prim", "insertWord32X8#"),+ ('9', 1647, InTerms, Just "GHC.PrimopWrappers", "insertWord32X8#"),+ ('9', 1648, InTerms, Just "GHC.Prim", "insertWord64X4#"),+ ('9', 1649, InTerms, Just "GHC.PrimopWrappers", "insertWord64X4#"),+ ('9', 1650, InTerms, Just "GHC.Prim", "insertWord8X64#"),+ ('9', 1651, InTerms, Just "GHC.PrimopWrappers", "insertWord8X64#"),+ ('9', 1652, InTerms, Just "GHC.Prim", "insertWord16X32#"),+ ('9', 1653, InTerms, Just "GHC.PrimopWrappers", "insertWord16X32#"),+ ('9', 1654, InTerms, Just "GHC.Prim", "insertWord32X16#"),+ ('9', 1655, InTerms, Just "GHC.PrimopWrappers", "insertWord32X16#"),+ ('9', 1656, InTerms, Just "GHC.Prim", "insertWord64X8#"),+ ('9', 1657, InTerms, Just "GHC.PrimopWrappers", "insertWord64X8#"),+ ('9', 1658, InTerms, Just "GHC.Prim", "insertFloatX4#"),+ ('9', 1659, InTerms, Just "GHC.PrimopWrappers", "insertFloatX4#"),+ ('9', 1660, InTerms, Just "GHC.Prim", "insertDoubleX2#"),+ ('9', 1661, InTerms, Just "GHC.PrimopWrappers", "insertDoubleX2#"),+ ('9', 1662, InTerms, Just "GHC.Prim", "insertFloatX8#"),+ ('9', 1663, InTerms, Just "GHC.PrimopWrappers", "insertFloatX8#"),+ ('9', 1664, InTerms, Just "GHC.Prim", "insertDoubleX4#"),+ ('9', 1665, InTerms, Just "GHC.PrimopWrappers", "insertDoubleX4#"),+ ('9', 1666, InTerms, Just "GHC.Prim", "insertFloatX16#"),+ ('9', 1667, InTerms, Just "GHC.PrimopWrappers", "insertFloatX16#"),+ ('9', 1668, InTerms, Just "GHC.Prim", "insertDoubleX8#"),+ ('9', 1669, InTerms, Just "GHC.PrimopWrappers", "insertDoubleX8#"),+ ('9', 1670, InTerms, Just "GHC.Prim", "plusInt8X16#"),+ ('9', 1671, InTerms, Just "GHC.PrimopWrappers", "plusInt8X16#"),+ ('9', 1672, InTerms, Just "GHC.Prim", "plusInt16X8#"),+ ('9', 1673, InTerms, Just "GHC.PrimopWrappers", "plusInt16X8#"),+ ('9', 1674, InTerms, Just "GHC.Prim", "plusInt32X4#"),+ ('9', 1675, InTerms, Just "GHC.PrimopWrappers", "plusInt32X4#"),+ ('9', 1676, InTerms, Just "GHC.Prim", "plusInt64X2#"),+ ('9', 1677, InTerms, Just "GHC.PrimopWrappers", "plusInt64X2#"),+ ('9', 1678, InTerms, Just "GHC.Prim", "plusInt8X32#"),+ ('9', 1679, InTerms, Just "GHC.PrimopWrappers", "plusInt8X32#"),+ ('9', 1680, InTerms, Just "GHC.Prim", "plusInt16X16#"),+ ('9', 1681, InTerms, Just "GHC.PrimopWrappers", "plusInt16X16#"),+ ('9', 1682, InTerms, Just "GHC.Prim", "plusInt32X8#"),+ ('9', 1683, InTerms, Just "GHC.PrimopWrappers", "plusInt32X8#"),+ ('9', 1684, InTerms, Just "GHC.Prim", "plusInt64X4#"),+ ('9', 1685, InTerms, Just "GHC.PrimopWrappers", "plusInt64X4#"),+ ('9', 1686, InTerms, Just "GHC.Prim", "plusInt8X64#"),+ ('9', 1687, InTerms, Just "GHC.PrimopWrappers", "plusInt8X64#"),+ ('9', 1688, InTerms, Just "GHC.Prim", "plusInt16X32#"),+ ('9', 1689, InTerms, Just "GHC.PrimopWrappers", "plusInt16X32#"),+ ('9', 1690, InTerms, Just "GHC.Prim", "plusInt32X16#"),+ ('9', 1691, InTerms, Just "GHC.PrimopWrappers", "plusInt32X16#"),+ ('9', 1692, InTerms, Just "GHC.Prim", "plusInt64X8#"),+ ('9', 1693, InTerms, Just "GHC.PrimopWrappers", "plusInt64X8#"),+ ('9', 1694, InTerms, Just "GHC.Prim", "plusWord8X16#"),+ ('9', 1695, InTerms, Just "GHC.PrimopWrappers", "plusWord8X16#"),+ ('9', 1696, InTerms, Just "GHC.Prim", "plusWord16X8#"),+ ('9', 1697, InTerms, Just "GHC.PrimopWrappers", "plusWord16X8#"),+ ('9', 1698, InTerms, Just "GHC.Prim", "plusWord32X4#"),+ ('9', 1699, InTerms, Just "GHC.PrimopWrappers", "plusWord32X4#"),+ ('9', 1700, InTerms, Just "GHC.Prim", "plusWord64X2#"),+ ('9', 1701, InTerms, Just "GHC.PrimopWrappers", "plusWord64X2#"),+ ('9', 1702, InTerms, Just "GHC.Prim", "plusWord8X32#"),+ ('9', 1703, InTerms, Just "GHC.PrimopWrappers", "plusWord8X32#"),+ ('9', 1704, InTerms, Just "GHC.Prim", "plusWord16X16#"),+ ('9', 1705, InTerms, Just "GHC.PrimopWrappers", "plusWord16X16#"),+ ('9', 1706, InTerms, Just "GHC.Prim", "plusWord32X8#"),+ ('9', 1707, InTerms, Just "GHC.PrimopWrappers", "plusWord32X8#"),+ ('9', 1708, InTerms, Just "GHC.Prim", "plusWord64X4#"),+ ('9', 1709, InTerms, Just "GHC.PrimopWrappers", "plusWord64X4#"),+ ('9', 1710, InTerms, Just "GHC.Prim", "plusWord8X64#"),+ ('9', 1711, InTerms, Just "GHC.PrimopWrappers", "plusWord8X64#"),+ ('9', 1712, InTerms, Just "GHC.Prim", "plusWord16X32#"),+ ('9', 1713, InTerms, Just "GHC.PrimopWrappers", "plusWord16X32#"),+ ('9', 1714, InTerms, Just "GHC.Prim", "plusWord32X16#"),+ ('9', 1715, InTerms, Just "GHC.PrimopWrappers", "plusWord32X16#"),+ ('9', 1716, InTerms, Just "GHC.Prim", "plusWord64X8#"),+ ('9', 1717, InTerms, Just "GHC.PrimopWrappers", "plusWord64X8#"),+ ('9', 1718, InTerms, Just "GHC.Prim", "plusFloatX4#"),+ ('9', 1719, InTerms, Just "GHC.PrimopWrappers", "plusFloatX4#"),+ ('9', 1720, InTerms, Just "GHC.Prim", "plusDoubleX2#"),+ ('9', 1721, InTerms, Just "GHC.PrimopWrappers", "plusDoubleX2#"),+ ('9', 1722, InTerms, Just "GHC.Prim", "plusFloatX8#"),+ ('9', 1723, InTerms, Just "GHC.PrimopWrappers", "plusFloatX8#"),+ ('9', 1724, InTerms, Just "GHC.Prim", "plusDoubleX4#"),+ ('9', 1725, InTerms, Just "GHC.PrimopWrappers", "plusDoubleX4#"),+ ('9', 1726, InTerms, Just "GHC.Prim", "plusFloatX16#"),+ ('9', 1727, InTerms, Just "GHC.PrimopWrappers", "plusFloatX16#"),+ ('9', 1728, InTerms, Just "GHC.Prim", "plusDoubleX8#"),+ ('9', 1729, InTerms, Just "GHC.PrimopWrappers", "plusDoubleX8#"),+ ('9', 1730, InTerms, Just "GHC.Prim", "minusInt8X16#"),+ ('9', 1731, InTerms, Just "GHC.PrimopWrappers", "minusInt8X16#"),+ ('9', 1732, InTerms, Just "GHC.Prim", "minusInt16X8#"),+ ('9', 1733, InTerms, Just "GHC.PrimopWrappers", "minusInt16X8#"),+ ('9', 1734, InTerms, Just "GHC.Prim", "minusInt32X4#"),+ ('9', 1735, InTerms, Just "GHC.PrimopWrappers", "minusInt32X4#"),+ ('9', 1736, InTerms, Just "GHC.Prim", "minusInt64X2#"),+ ('9', 1737, InTerms, Just "GHC.PrimopWrappers", "minusInt64X2#"),+ ('9', 1738, InTerms, Just "GHC.Prim", "minusInt8X32#"),+ ('9', 1739, InTerms, Just "GHC.PrimopWrappers", "minusInt8X32#"),+ ('9', 1740, InTerms, Just "GHC.Prim", "minusInt16X16#"),+ ('9', 1741, InTerms, Just "GHC.PrimopWrappers", "minusInt16X16#"),+ ('9', 1742, InTerms, Just "GHC.Prim", "minusInt32X8#"),+ ('9', 1743, InTerms, Just "GHC.PrimopWrappers", "minusInt32X8#"),+ ('9', 1744, InTerms, Just "GHC.Prim", "minusInt64X4#"),+ ('9', 1745, InTerms, Just "GHC.PrimopWrappers", "minusInt64X4#"),+ ('9', 1746, InTerms, Just "GHC.Prim", "minusInt8X64#"),+ ('9', 1747, InTerms, Just "GHC.PrimopWrappers", "minusInt8X64#"),+ ('9', 1748, InTerms, Just "GHC.Prim", "minusInt16X32#"),+ ('9', 1749, InTerms, Just "GHC.PrimopWrappers", "minusInt16X32#"),+ ('9', 1750, InTerms, Just "GHC.Prim", "minusInt32X16#"),+ ('9', 1751, InTerms, Just "GHC.PrimopWrappers", "minusInt32X16#"),+ ('9', 1752, InTerms, Just "GHC.Prim", "minusInt64X8#"),+ ('9', 1753, InTerms, Just "GHC.PrimopWrappers", "minusInt64X8#"),+ ('9', 1754, InTerms, Just "GHC.Prim", "minusWord8X16#"),+ ('9', 1755, InTerms, Just "GHC.PrimopWrappers", "minusWord8X16#"),+ ('9', 1756, InTerms, Just "GHC.Prim", "minusWord16X8#"),+ ('9', 1757, InTerms, Just "GHC.PrimopWrappers", "minusWord16X8#"),+ ('9', 1758, InTerms, Just "GHC.Prim", "minusWord32X4#"),+ ('9', 1759, InTerms, Just "GHC.PrimopWrappers", "minusWord32X4#"),+ ('9', 1760, InTerms, Just "GHC.Prim", "minusWord64X2#"),+ ('9', 1761, InTerms, Just "GHC.PrimopWrappers", "minusWord64X2#"),+ ('9', 1762, InTerms, Just "GHC.Prim", "minusWord8X32#"),+ ('9', 1763, InTerms, Just "GHC.PrimopWrappers", "minusWord8X32#"),+ ('9', 1764, InTerms, Just "GHC.Prim", "minusWord16X16#"),+ ('9', 1765, InTerms, Just "GHC.PrimopWrappers", "minusWord16X16#"),+ ('9', 1766, InTerms, Just "GHC.Prim", "minusWord32X8#"),+ ('9', 1767, InTerms, Just "GHC.PrimopWrappers", "minusWord32X8#"),+ ('9', 1768, InTerms, Just "GHC.Prim", "minusWord64X4#"),+ ('9', 1769, InTerms, Just "GHC.PrimopWrappers", "minusWord64X4#"),+ ('9', 1770, InTerms, Just "GHC.Prim", "minusWord8X64#"),+ ('9', 1771, InTerms, Just "GHC.PrimopWrappers", "minusWord8X64#"),+ ('9', 1772, InTerms, Just "GHC.Prim", "minusWord16X32#"),+ ('9', 1773, InTerms, Just "GHC.PrimopWrappers", "minusWord16X32#"),+ ('9', 1774, InTerms, Just "GHC.Prim", "minusWord32X16#"),+ ('9', 1775, InTerms, Just "GHC.PrimopWrappers", "minusWord32X16#"),+ ('9', 1776, InTerms, Just "GHC.Prim", "minusWord64X8#"),+ ('9', 1777, InTerms, Just "GHC.PrimopWrappers", "minusWord64X8#"),+ ('9', 1778, InTerms, Just "GHC.Prim", "minusFloatX4#"),+ ('9', 1779, InTerms, Just "GHC.PrimopWrappers", "minusFloatX4#"),+ ('9', 1780, InTerms, Just "GHC.Prim", "minusDoubleX2#"),+ ('9', 1781, InTerms, Just "GHC.PrimopWrappers", "minusDoubleX2#"),+ ('9', 1782, InTerms, Just "GHC.Prim", "minusFloatX8#"),+ ('9', 1783, InTerms, Just "GHC.PrimopWrappers", "minusFloatX8#"),+ ('9', 1784, InTerms, Just "GHC.Prim", "minusDoubleX4#"),+ ('9', 1785, InTerms, Just "GHC.PrimopWrappers", "minusDoubleX4#"),+ ('9', 1786, InTerms, Just "GHC.Prim", "minusFloatX16#"),+ ('9', 1787, InTerms, Just "GHC.PrimopWrappers", "minusFloatX16#"),+ ('9', 1788, InTerms, Just "GHC.Prim", "minusDoubleX8#"),+ ('9', 1789, InTerms, Just "GHC.PrimopWrappers", "minusDoubleX8#"),+ ('9', 1790, InTerms, Just "GHC.Prim", "timesInt8X16#"),+ ('9', 1791, InTerms, Just "GHC.PrimopWrappers", "timesInt8X16#"),+ ('9', 1792, InTerms, Just "GHC.Prim", "timesInt16X8#"),+ ('9', 1793, InTerms, Just "GHC.PrimopWrappers", "timesInt16X8#"),+ ('9', 1794, InTerms, Just "GHC.Prim", "timesInt32X4#"),+ ('9', 1795, InTerms, Just "GHC.PrimopWrappers", "timesInt32X4#"),+ ('9', 1796, InTerms, Just "GHC.Prim", "timesInt64X2#"),+ ('9', 1797, InTerms, Just "GHC.PrimopWrappers", "timesInt64X2#"),+ ('9', 1798, InTerms, Just "GHC.Prim", "timesInt8X32#"),+ ('9', 1799, InTerms, Just "GHC.PrimopWrappers", "timesInt8X32#"),+ ('9', 1800, InTerms, Just "GHC.Prim", "timesInt16X16#"),+ ('9', 1801, InTerms, Just "GHC.PrimopWrappers", "timesInt16X16#"),+ ('9', 1802, InTerms, Just "GHC.Prim", "timesInt32X8#"),+ ('9', 1803, InTerms, Just "GHC.PrimopWrappers", "timesInt32X8#"),+ ('9', 1804, InTerms, Just "GHC.Prim", "timesInt64X4#"),+ ('9', 1805, InTerms, Just "GHC.PrimopWrappers", "timesInt64X4#"),+ ('9', 1806, InTerms, Just "GHC.Prim", "timesInt8X64#"),+ ('9', 1807, InTerms, Just "GHC.PrimopWrappers", "timesInt8X64#"),+ ('9', 1808, InTerms, Just "GHC.Prim", "timesInt16X32#"),+ ('9', 1809, InTerms, Just "GHC.PrimopWrappers", "timesInt16X32#"),+ ('9', 1810, InTerms, Just "GHC.Prim", "timesInt32X16#"),+ ('9', 1811, InTerms, Just "GHC.PrimopWrappers", "timesInt32X16#"),+ ('9', 1812, InTerms, Just "GHC.Prim", "timesInt64X8#"),+ ('9', 1813, InTerms, Just "GHC.PrimopWrappers", "timesInt64X8#"),+ ('9', 1814, InTerms, Just "GHC.Prim", "timesWord8X16#"),+ ('9', 1815, InTerms, Just "GHC.PrimopWrappers", "timesWord8X16#"),+ ('9', 1816, InTerms, Just "GHC.Prim", "timesWord16X8#"),+ ('9', 1817, InTerms, Just "GHC.PrimopWrappers", "timesWord16X8#"),+ ('9', 1818, InTerms, Just "GHC.Prim", "timesWord32X4#"),+ ('9', 1819, InTerms, Just "GHC.PrimopWrappers", "timesWord32X4#"),+ ('9', 1820, InTerms, Just "GHC.Prim", "timesWord64X2#"),+ ('9', 1821, InTerms, Just "GHC.PrimopWrappers", "timesWord64X2#"),+ ('9', 1822, InTerms, Just "GHC.Prim", "timesWord8X32#"),+ ('9', 1823, InTerms, Just "GHC.PrimopWrappers", "timesWord8X32#"),+ ('9', 1824, InTerms, Just "GHC.Prim", "timesWord16X16#"),+ ('9', 1825, InTerms, Just "GHC.PrimopWrappers", "timesWord16X16#"),+ ('9', 1826, InTerms, Just "GHC.Prim", "timesWord32X8#"),+ ('9', 1827, InTerms, Just "GHC.PrimopWrappers", "timesWord32X8#"),+ ('9', 1828, InTerms, Just "GHC.Prim", "timesWord64X4#"),+ ('9', 1829, InTerms, Just "GHC.PrimopWrappers", "timesWord64X4#"),+ ('9', 1830, InTerms, Just "GHC.Prim", "timesWord8X64#"),+ ('9', 1831, InTerms, Just "GHC.PrimopWrappers", "timesWord8X64#"),+ ('9', 1832, InTerms, Just "GHC.Prim", "timesWord16X32#"),+ ('9', 1833, InTerms, Just "GHC.PrimopWrappers", "timesWord16X32#"),+ ('9', 1834, InTerms, Just "GHC.Prim", "timesWord32X16#"),+ ('9', 1835, InTerms, Just "GHC.PrimopWrappers", "timesWord32X16#"),+ ('9', 1836, InTerms, Just "GHC.Prim", "timesWord64X8#"),+ ('9', 1837, InTerms, Just "GHC.PrimopWrappers", "timesWord64X8#"),+ ('9', 1838, InTerms, Just "GHC.Prim", "timesFloatX4#"),+ ('9', 1839, InTerms, Just "GHC.PrimopWrappers", "timesFloatX4#"),+ ('9', 1840, InTerms, Just "GHC.Prim", "timesDoubleX2#"),+ ('9', 1841, InTerms, Just "GHC.PrimopWrappers", "timesDoubleX2#"),+ ('9', 1842, InTerms, Just "GHC.Prim", "timesFloatX8#"),+ ('9', 1843, InTerms, Just "GHC.PrimopWrappers", "timesFloatX8#"),+ ('9', 1844, InTerms, Just "GHC.Prim", "timesDoubleX4#"),+ ('9', 1845, InTerms, Just "GHC.PrimopWrappers", "timesDoubleX4#"),+ ('9', 1846, InTerms, Just "GHC.Prim", "timesFloatX16#"),+ ('9', 1847, InTerms, Just "GHC.PrimopWrappers", "timesFloatX16#"),+ ('9', 1848, InTerms, Just "GHC.Prim", "timesDoubleX8#"),+ ('9', 1849, InTerms, Just "GHC.PrimopWrappers", "timesDoubleX8#"),+ ('9', 1850, InTerms, Just "GHC.Prim", "divideFloatX4#"),+ ('9', 1851, InTerms, Just "GHC.PrimopWrappers", "divideFloatX4#"),+ ('9', 1852, InTerms, Just "GHC.Prim", "divideDoubleX2#"),+ ('9', 1853, InTerms, Just "GHC.PrimopWrappers", "divideDoubleX2#"),+ ('9', 1854, InTerms, Just "GHC.Prim", "divideFloatX8#"),+ ('9', 1855, InTerms, Just "GHC.PrimopWrappers", "divideFloatX8#"),+ ('9', 1856, InTerms, Just "GHC.Prim", "divideDoubleX4#"),+ ('9', 1857, InTerms, Just "GHC.PrimopWrappers", "divideDoubleX4#"),+ ('9', 1858, InTerms, Just "GHC.Prim", "divideFloatX16#"),+ ('9', 1859, InTerms, Just "GHC.PrimopWrappers", "divideFloatX16#"),+ ('9', 1860, InTerms, Just "GHC.Prim", "divideDoubleX8#"),+ ('9', 1861, InTerms, Just "GHC.PrimopWrappers", "divideDoubleX8#"),+ ('9', 1862, InTerms, Just "GHC.Prim", "quotInt8X16#"),+ ('9', 1863, InTerms, Just "GHC.PrimopWrappers", "quotInt8X16#"),+ ('9', 1864, InTerms, Just "GHC.Prim", "quotInt16X8#"),+ ('9', 1865, InTerms, Just "GHC.PrimopWrappers", "quotInt16X8#"),+ ('9', 1866, InTerms, Just "GHC.Prim", "quotInt32X4#"),+ ('9', 1867, InTerms, Just "GHC.PrimopWrappers", "quotInt32X4#"),+ ('9', 1868, InTerms, Just "GHC.Prim", "quotInt64X2#"),+ ('9', 1869, InTerms, Just "GHC.PrimopWrappers", "quotInt64X2#"),+ ('9', 1870, InTerms, Just "GHC.Prim", "quotInt8X32#"),+ ('9', 1871, InTerms, Just "GHC.PrimopWrappers", "quotInt8X32#"),+ ('9', 1872, InTerms, Just "GHC.Prim", "quotInt16X16#"),+ ('9', 1873, InTerms, Just "GHC.PrimopWrappers", "quotInt16X16#"),+ ('9', 1874, InTerms, Just "GHC.Prim", "quotInt32X8#"),+ ('9', 1875, InTerms, Just "GHC.PrimopWrappers", "quotInt32X8#"),+ ('9', 1876, InTerms, Just "GHC.Prim", "quotInt64X4#"),+ ('9', 1877, InTerms, Just "GHC.PrimopWrappers", "quotInt64X4#"),+ ('9', 1878, InTerms, Just "GHC.Prim", "quotInt8X64#"),+ ('9', 1879, InTerms, Just "GHC.PrimopWrappers", "quotInt8X64#"),+ ('9', 1880, InTerms, Just "GHC.Prim", "quotInt16X32#"),+ ('9', 1881, InTerms, Just "GHC.PrimopWrappers", "quotInt16X32#"),+ ('9', 1882, InTerms, Just "GHC.Prim", "quotInt32X16#"),+ ('9', 1883, InTerms, Just "GHC.PrimopWrappers", "quotInt32X16#"),+ ('9', 1884, InTerms, Just "GHC.Prim", "quotInt64X8#"),+ ('9', 1885, InTerms, Just "GHC.PrimopWrappers", "quotInt64X8#"),+ ('9', 1886, InTerms, Just "GHC.Prim", "quotWord8X16#"),+ ('9', 1887, InTerms, Just "GHC.PrimopWrappers", "quotWord8X16#"),+ ('9', 1888, InTerms, Just "GHC.Prim", "quotWord16X8#"),+ ('9', 1889, InTerms, Just "GHC.PrimopWrappers", "quotWord16X8#"),+ ('9', 1890, InTerms, Just "GHC.Prim", "quotWord32X4#"),+ ('9', 1891, InTerms, Just "GHC.PrimopWrappers", "quotWord32X4#"),+ ('9', 1892, InTerms, Just "GHC.Prim", "quotWord64X2#"),+ ('9', 1893, InTerms, Just "GHC.PrimopWrappers", "quotWord64X2#"),+ ('9', 1894, InTerms, Just "GHC.Prim", "quotWord8X32#"),+ ('9', 1895, InTerms, Just "GHC.PrimopWrappers", "quotWord8X32#"),+ ('9', 1896, InTerms, Just "GHC.Prim", "quotWord16X16#"),+ ('9', 1897, InTerms, Just "GHC.PrimopWrappers", "quotWord16X16#"),+ ('9', 1898, InTerms, Just "GHC.Prim", "quotWord32X8#"),+ ('9', 1899, InTerms, Just "GHC.PrimopWrappers", "quotWord32X8#"),+ ('9', 1900, InTerms, Just "GHC.Prim", "quotWord64X4#"),+ ('9', 1901, InTerms, Just "GHC.PrimopWrappers", "quotWord64X4#"),+ ('9', 1902, InTerms, Just "GHC.Prim", "quotWord8X64#"),+ ('9', 1903, InTerms, Just "GHC.PrimopWrappers", "quotWord8X64#"),+ ('9', 1904, InTerms, Just "GHC.Prim", "quotWord16X32#"),+ ('9', 1905, InTerms, Just "GHC.PrimopWrappers", "quotWord16X32#"),+ ('9', 1906, InTerms, Just "GHC.Prim", "quotWord32X16#"),+ ('9', 1907, InTerms, Just "GHC.PrimopWrappers", "quotWord32X16#"),+ ('9', 1908, InTerms, Just "GHC.Prim", "quotWord64X8#"),+ ('9', 1909, InTerms, Just "GHC.PrimopWrappers", "quotWord64X8#"),+ ('9', 1910, InTerms, Just "GHC.Prim", "remInt8X16#"),+ ('9', 1911, InTerms, Just "GHC.PrimopWrappers", "remInt8X16#"),+ ('9', 1912, InTerms, Just "GHC.Prim", "remInt16X8#"),+ ('9', 1913, InTerms, Just "GHC.PrimopWrappers", "remInt16X8#"),+ ('9', 1914, InTerms, Just "GHC.Prim", "remInt32X4#"),+ ('9', 1915, InTerms, Just "GHC.PrimopWrappers", "remInt32X4#"),+ ('9', 1916, InTerms, Just "GHC.Prim", "remInt64X2#"),+ ('9', 1917, InTerms, Just "GHC.PrimopWrappers", "remInt64X2#"),+ ('9', 1918, InTerms, Just "GHC.Prim", "remInt8X32#"),+ ('9', 1919, InTerms, Just "GHC.PrimopWrappers", "remInt8X32#"),+ ('9', 1920, InTerms, Just "GHC.Prim", "remInt16X16#"),+ ('9', 1921, InTerms, Just "GHC.PrimopWrappers", "remInt16X16#"),+ ('9', 1922, InTerms, Just "GHC.Prim", "remInt32X8#"),+ ('9', 1923, InTerms, Just "GHC.PrimopWrappers", "remInt32X8#"),+ ('9', 1924, InTerms, Just "GHC.Prim", "remInt64X4#"),+ ('9', 1925, InTerms, Just "GHC.PrimopWrappers", "remInt64X4#"),+ ('9', 1926, InTerms, Just "GHC.Prim", "remInt8X64#"),+ ('9', 1927, InTerms, Just "GHC.PrimopWrappers", "remInt8X64#"),+ ('9', 1928, InTerms, Just "GHC.Prim", "remInt16X32#"),+ ('9', 1929, InTerms, Just "GHC.PrimopWrappers", "remInt16X32#"),+ ('9', 1930, InTerms, Just "GHC.Prim", "remInt32X16#"),+ ('9', 1931, InTerms, Just "GHC.PrimopWrappers", "remInt32X16#"),+ ('9', 1932, InTerms, Just "GHC.Prim", "remInt64X8#"),+ ('9', 1933, InTerms, Just "GHC.PrimopWrappers", "remInt64X8#"),+ ('9', 1934, InTerms, Just "GHC.Prim", "remWord8X16#"),+ ('9', 1935, InTerms, Just "GHC.PrimopWrappers", "remWord8X16#"),+ ('9', 1936, InTerms, Just "GHC.Prim", "remWord16X8#"),+ ('9', 1937, InTerms, Just "GHC.PrimopWrappers", "remWord16X8#"),+ ('9', 1938, InTerms, Just "GHC.Prim", "remWord32X4#"),+ ('9', 1939, InTerms, Just "GHC.PrimopWrappers", "remWord32X4#"),+ ('9', 1940, InTerms, Just "GHC.Prim", "remWord64X2#"),+ ('9', 1941, InTerms, Just "GHC.PrimopWrappers", "remWord64X2#"),+ ('9', 1942, InTerms, Just "GHC.Prim", "remWord8X32#"),+ ('9', 1943, InTerms, Just "GHC.PrimopWrappers", "remWord8X32#"),+ ('9', 1944, InTerms, Just "GHC.Prim", "remWord16X16#"),+ ('9', 1945, InTerms, Just "GHC.PrimopWrappers", "remWord16X16#"),+ ('9', 1946, InTerms, Just "GHC.Prim", "remWord32X8#"),+ ('9', 1947, InTerms, Just "GHC.PrimopWrappers", "remWord32X8#"),+ ('9', 1948, InTerms, Just "GHC.Prim", "remWord64X4#"),+ ('9', 1949, InTerms, Just "GHC.PrimopWrappers", "remWord64X4#"),+ ('9', 1950, InTerms, Just "GHC.Prim", "remWord8X64#"),+ ('9', 1951, InTerms, Just "GHC.PrimopWrappers", "remWord8X64#"),+ ('9', 1952, InTerms, Just "GHC.Prim", "remWord16X32#"),+ ('9', 1953, InTerms, Just "GHC.PrimopWrappers", "remWord16X32#"),+ ('9', 1954, InTerms, Just "GHC.Prim", "remWord32X16#"),+ ('9', 1955, InTerms, Just "GHC.PrimopWrappers", "remWord32X16#"),+ ('9', 1956, InTerms, Just "GHC.Prim", "remWord64X8#"),+ ('9', 1957, InTerms, Just "GHC.PrimopWrappers", "remWord64X8#"),+ ('9', 1958, InTerms, Just "GHC.Prim", "negateInt8X16#"),+ ('9', 1959, InTerms, Just "GHC.PrimopWrappers", "negateInt8X16#"),+ ('9', 1960, InTerms, Just "GHC.Prim", "negateInt16X8#"),+ ('9', 1961, InTerms, Just "GHC.PrimopWrappers", "negateInt16X8#"),+ ('9', 1962, InTerms, Just "GHC.Prim", "negateInt32X4#"),+ ('9', 1963, InTerms, Just "GHC.PrimopWrappers", "negateInt32X4#"),+ ('9', 1964, InTerms, Just "GHC.Prim", "negateInt64X2#"),+ ('9', 1965, InTerms, Just "GHC.PrimopWrappers", "negateInt64X2#"),+ ('9', 1966, InTerms, Just "GHC.Prim", "negateInt8X32#"),+ ('9', 1967, InTerms, Just "GHC.PrimopWrappers", "negateInt8X32#"),+ ('9', 1968, InTerms, Just "GHC.Prim", "negateInt16X16#"),+ ('9', 1969, InTerms, Just "GHC.PrimopWrappers", "negateInt16X16#"),+ ('9', 1970, InTerms, Just "GHC.Prim", "negateInt32X8#"),+ ('9', 1971, InTerms, Just "GHC.PrimopWrappers", "negateInt32X8#"),+ ('9', 1972, InTerms, Just "GHC.Prim", "negateInt64X4#"),+ ('9', 1973, InTerms, Just "GHC.PrimopWrappers", "negateInt64X4#"),+ ('9', 1974, InTerms, Just "GHC.Prim", "negateInt8X64#"),+ ('9', 1975, InTerms, Just "GHC.PrimopWrappers", "negateInt8X64#"),+ ('9', 1976, InTerms, Just "GHC.Prim", "negateInt16X32#"),+ ('9', 1977, InTerms, Just "GHC.PrimopWrappers", "negateInt16X32#"),+ ('9', 1978, InTerms, Just "GHC.Prim", "negateInt32X16#"),+ ('9', 1979, InTerms, Just "GHC.PrimopWrappers", "negateInt32X16#"),+ ('9', 1980, InTerms, Just "GHC.Prim", "negateInt64X8#"),+ ('9', 1981, InTerms, Just "GHC.PrimopWrappers", "negateInt64X8#"),+ ('9', 1982, InTerms, Just "GHC.Prim", "negateFloatX4#"),+ ('9', 1983, InTerms, Just "GHC.PrimopWrappers", "negateFloatX4#"),+ ('9', 1984, InTerms, Just "GHC.Prim", "negateDoubleX2#"),+ ('9', 1985, InTerms, Just "GHC.PrimopWrappers", "negateDoubleX2#"),+ ('9', 1986, InTerms, Just "GHC.Prim", "negateFloatX8#"),+ ('9', 1987, InTerms, Just "GHC.PrimopWrappers", "negateFloatX8#"),+ ('9', 1988, InTerms, Just "GHC.Prim", "negateDoubleX4#"),+ ('9', 1989, InTerms, Just "GHC.PrimopWrappers", "negateDoubleX4#"),+ ('9', 1990, InTerms, Just "GHC.Prim", "negateFloatX16#"),+ ('9', 1991, InTerms, Just "GHC.PrimopWrappers", "negateFloatX16#"),+ ('9', 1992, InTerms, Just "GHC.Prim", "negateDoubleX8#"),+ ('9', 1993, InTerms, Just "GHC.PrimopWrappers", "negateDoubleX8#"),+ ('9', 1994, InTerms, Just "GHC.Prim", "indexInt8X16Array#"),+ ('9', 1995, InTerms, Just "GHC.PrimopWrappers", "indexInt8X16Array#"),+ ('9', 1996, InTerms, Just "GHC.Prim", "indexInt16X8Array#"),+ ('9', 1997, InTerms, Just "GHC.PrimopWrappers", "indexInt16X8Array#"),+ ('9', 1998, InTerms, Just "GHC.Prim", "indexInt32X4Array#"),+ ('9', 1999, InTerms, Just "GHC.PrimopWrappers", "indexInt32X4Array#"),+ ('9', 2000, InTerms, Just "GHC.Prim", "indexInt64X2Array#"),+ ('9', 2001, InTerms, Just "GHC.PrimopWrappers", "indexInt64X2Array#"),+ ('9', 2002, InTerms, Just "GHC.Prim", "indexInt8X32Array#"),+ ('9', 2003, InTerms, Just "GHC.PrimopWrappers", "indexInt8X32Array#"),+ ('9', 2004, InTerms, Just "GHC.Prim", "indexInt16X16Array#"),+ ('9', 2005, InTerms, Just "GHC.PrimopWrappers", "indexInt16X16Array#"),+ ('9', 2006, InTerms, Just "GHC.Prim", "indexInt32X8Array#"),+ ('9', 2007, InTerms, Just "GHC.PrimopWrappers", "indexInt32X8Array#"),+ ('9', 2008, InTerms, Just "GHC.Prim", "indexInt64X4Array#"),+ ('9', 2009, InTerms, Just "GHC.PrimopWrappers", "indexInt64X4Array#"),+ ('9', 2010, InTerms, Just "GHC.Prim", "indexInt8X64Array#"),+ ('9', 2011, InTerms, Just "GHC.PrimopWrappers", "indexInt8X64Array#"),+ ('9', 2012, InTerms, Just "GHC.Prim", "indexInt16X32Array#"),+ ('9', 2013, InTerms, Just "GHC.PrimopWrappers", "indexInt16X32Array#"),+ ('9', 2014, InTerms, Just "GHC.Prim", "indexInt32X16Array#"),+ ('9', 2015, InTerms, Just "GHC.PrimopWrappers", "indexInt32X16Array#"),+ ('9', 2016, InTerms, Just "GHC.Prim", "indexInt64X8Array#"),+ ('9', 2017, InTerms, Just "GHC.PrimopWrappers", "indexInt64X8Array#"),+ ('9', 2018, InTerms, Just "GHC.Prim", "indexWord8X16Array#"),+ ('9', 2019, InTerms, Just "GHC.PrimopWrappers", "indexWord8X16Array#"),+ ('9', 2020, InTerms, Just "GHC.Prim", "indexWord16X8Array#"),+ ('9', 2021, InTerms, Just "GHC.PrimopWrappers", "indexWord16X8Array#"),+ ('9', 2022, InTerms, Just "GHC.Prim", "indexWord32X4Array#"),+ ('9', 2023, InTerms, Just "GHC.PrimopWrappers", "indexWord32X4Array#"),+ ('9', 2024, InTerms, Just "GHC.Prim", "indexWord64X2Array#"),+ ('9', 2025, InTerms, Just "GHC.PrimopWrappers", "indexWord64X2Array#"),+ ('9', 2026, InTerms, Just "GHC.Prim", "indexWord8X32Array#"),+ ('9', 2027, InTerms, Just "GHC.PrimopWrappers", "indexWord8X32Array#"),+ ('9', 2028, InTerms, Just "GHC.Prim", "indexWord16X16Array#"),+ ('9', 2029, InTerms, Just "GHC.PrimopWrappers", "indexWord16X16Array#"),+ ('9', 2030, InTerms, Just "GHC.Prim", "indexWord32X8Array#"),+ ('9', 2031, InTerms, Just "GHC.PrimopWrappers", "indexWord32X8Array#"),+ ('9', 2032, InTerms, Just "GHC.Prim", "indexWord64X4Array#"),+ ('9', 2033, InTerms, Just "GHC.PrimopWrappers", "indexWord64X4Array#"),+ ('9', 2034, InTerms, Just "GHC.Prim", "indexWord8X64Array#"),+ ('9', 2035, InTerms, Just "GHC.PrimopWrappers", "indexWord8X64Array#"),+ ('9', 2036, InTerms, Just "GHC.Prim", "indexWord16X32Array#"),+ ('9', 2037, InTerms, Just "GHC.PrimopWrappers", "indexWord16X32Array#"),+ ('9', 2038, InTerms, Just "GHC.Prim", "indexWord32X16Array#"),+ ('9', 2039, InTerms, Just "GHC.PrimopWrappers", "indexWord32X16Array#"),+ ('9', 2040, InTerms, Just "GHC.Prim", "indexWord64X8Array#"),+ ('9', 2041, InTerms, Just "GHC.PrimopWrappers", "indexWord64X8Array#"),+ ('9', 2042, InTerms, Just "GHC.Prim", "indexFloatX4Array#"),+ ('9', 2043, InTerms, Just "GHC.PrimopWrappers", "indexFloatX4Array#"),+ ('9', 2044, InTerms, Just "GHC.Prim", "indexDoubleX2Array#"),+ ('9', 2045, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX2Array#"),+ ('9', 2046, InTerms, Just "GHC.Prim", "indexFloatX8Array#"),+ ('9', 2047, InTerms, Just "GHC.PrimopWrappers", "indexFloatX8Array#"),+ ('9', 2048, InTerms, Just "GHC.Prim", "indexDoubleX4Array#"),+ ('9', 2049, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX4Array#"),+ ('9', 2050, InTerms, Just "GHC.Prim", "indexFloatX16Array#"),+ ('9', 2051, InTerms, Just "GHC.PrimopWrappers", "indexFloatX16Array#"),+ ('9', 2052, InTerms, Just "GHC.Prim", "indexDoubleX8Array#"),+ ('9', 2053, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX8Array#"),+ ('9', 2054, InTerms, Just "GHC.Prim", "readInt8X16Array#"),+ ('9', 2055, InTerms, Just "GHC.PrimopWrappers", "readInt8X16Array#"),+ ('9', 2056, InTerms, Just "GHC.Prim", "readInt16X8Array#"),+ ('9', 2057, InTerms, Just "GHC.PrimopWrappers", "readInt16X8Array#"),+ ('9', 2058, InTerms, Just "GHC.Prim", "readInt32X4Array#"),+ ('9', 2059, InTerms, Just "GHC.PrimopWrappers", "readInt32X4Array#"),+ ('9', 2060, InTerms, Just "GHC.Prim", "readInt64X2Array#"),+ ('9', 2061, InTerms, Just "GHC.PrimopWrappers", "readInt64X2Array#"),+ ('9', 2062, InTerms, Just "GHC.Prim", "readInt8X32Array#"),+ ('9', 2063, InTerms, Just "GHC.PrimopWrappers", "readInt8X32Array#"),+ ('9', 2064, InTerms, Just "GHC.Prim", "readInt16X16Array#"),+ ('9', 2065, InTerms, Just "GHC.PrimopWrappers", "readInt16X16Array#"),+ ('9', 2066, InTerms, Just "GHC.Prim", "readInt32X8Array#"),+ ('9', 2067, InTerms, Just "GHC.PrimopWrappers", "readInt32X8Array#"),+ ('9', 2068, InTerms, Just "GHC.Prim", "readInt64X4Array#"),+ ('9', 2069, InTerms, Just "GHC.PrimopWrappers", "readInt64X4Array#"),+ ('9', 2070, InTerms, Just "GHC.Prim", "readInt8X64Array#"),+ ('9', 2071, InTerms, Just "GHC.PrimopWrappers", "readInt8X64Array#"),+ ('9', 2072, InTerms, Just "GHC.Prim", "readInt16X32Array#"),+ ('9', 2073, InTerms, Just "GHC.PrimopWrappers", "readInt16X32Array#"),+ ('9', 2074, InTerms, Just "GHC.Prim", "readInt32X16Array#"),+ ('9', 2075, InTerms, Just "GHC.PrimopWrappers", "readInt32X16Array#"),+ ('9', 2076, InTerms, Just "GHC.Prim", "readInt64X8Array#"),+ ('9', 2077, InTerms, Just "GHC.PrimopWrappers", "readInt64X8Array#"),+ ('9', 2078, InTerms, Just "GHC.Prim", "readWord8X16Array#"),+ ('9', 2079, InTerms, Just "GHC.PrimopWrappers", "readWord8X16Array#"),+ ('9', 2080, InTerms, Just "GHC.Prim", "readWord16X8Array#"),+ ('9', 2081, InTerms, Just "GHC.PrimopWrappers", "readWord16X8Array#"),+ ('9', 2082, InTerms, Just "GHC.Prim", "readWord32X4Array#"),+ ('9', 2083, InTerms, Just "GHC.PrimopWrappers", "readWord32X4Array#"),+ ('9', 2084, InTerms, Just "GHC.Prim", "readWord64X2Array#"),+ ('9', 2085, InTerms, Just "GHC.PrimopWrappers", "readWord64X2Array#"),+ ('9', 2086, InTerms, Just "GHC.Prim", "readWord8X32Array#"),+ ('9', 2087, InTerms, Just "GHC.PrimopWrappers", "readWord8X32Array#"),+ ('9', 2088, InTerms, Just "GHC.Prim", "readWord16X16Array#"),+ ('9', 2089, InTerms, Just "GHC.PrimopWrappers", "readWord16X16Array#"),+ ('9', 2090, InTerms, Just "GHC.Prim", "readWord32X8Array#"),+ ('9', 2091, InTerms, Just "GHC.PrimopWrappers", "readWord32X8Array#"),+ ('9', 2092, InTerms, Just "GHC.Prim", "readWord64X4Array#"),+ ('9', 2093, InTerms, Just "GHC.PrimopWrappers", "readWord64X4Array#"),+ ('9', 2094, InTerms, Just "GHC.Prim", "readWord8X64Array#"),+ ('9', 2095, InTerms, Just "GHC.PrimopWrappers", "readWord8X64Array#"),+ ('9', 2096, InTerms, Just "GHC.Prim", "readWord16X32Array#"),+ ('9', 2097, InTerms, Just "GHC.PrimopWrappers", "readWord16X32Array#"),+ ('9', 2098, InTerms, Just "GHC.Prim", "readWord32X16Array#"),+ ('9', 2099, InTerms, Just "GHC.PrimopWrappers", "readWord32X16Array#"),+ ('9', 2100, InTerms, Just "GHC.Prim", "readWord64X8Array#"),+ ('9', 2101, InTerms, Just "GHC.PrimopWrappers", "readWord64X8Array#"),+ ('9', 2102, InTerms, Just "GHC.Prim", "readFloatX4Array#"),+ ('9', 2103, InTerms, Just "GHC.PrimopWrappers", "readFloatX4Array#"),+ ('9', 2104, InTerms, Just "GHC.Prim", "readDoubleX2Array#"),+ ('9', 2105, InTerms, Just "GHC.PrimopWrappers", "readDoubleX2Array#"),+ ('9', 2106, InTerms, Just "GHC.Prim", "readFloatX8Array#"),+ ('9', 2107, InTerms, Just "GHC.PrimopWrappers", "readFloatX8Array#"),+ ('9', 2108, InTerms, Just "GHC.Prim", "readDoubleX4Array#"),+ ('9', 2109, InTerms, Just "GHC.PrimopWrappers", "readDoubleX4Array#"),+ ('9', 2110, InTerms, Just "GHC.Prim", "readFloatX16Array#"),+ ('9', 2111, InTerms, Just "GHC.PrimopWrappers", "readFloatX16Array#"),+ ('9', 2112, InTerms, Just "GHC.Prim", "readDoubleX8Array#"),+ ('9', 2113, InTerms, Just "GHC.PrimopWrappers", "readDoubleX8Array#"),+ ('9', 2114, InTerms, Just "GHC.Prim", "writeInt8X16Array#"),+ ('9', 2115, InTerms, Just "GHC.PrimopWrappers", "writeInt8X16Array#"),+ ('9', 2116, InTerms, Just "GHC.Prim", "writeInt16X8Array#"),+ ('9', 2117, InTerms, Just "GHC.PrimopWrappers", "writeInt16X8Array#"),+ ('9', 2118, InTerms, Just "GHC.Prim", "writeInt32X4Array#"),+ ('9', 2119, InTerms, Just "GHC.PrimopWrappers", "writeInt32X4Array#"),+ ('9', 2120, InTerms, Just "GHC.Prim", "writeInt64X2Array#"),+ ('9', 2121, InTerms, Just "GHC.PrimopWrappers", "writeInt64X2Array#"),+ ('9', 2122, InTerms, Just "GHC.Prim", "writeInt8X32Array#"),+ ('9', 2123, InTerms, Just "GHC.PrimopWrappers", "writeInt8X32Array#"),+ ('9', 2124, InTerms, Just "GHC.Prim", "writeInt16X16Array#"),+ ('9', 2125, InTerms, Just "GHC.PrimopWrappers", "writeInt16X16Array#"),+ ('9', 2126, InTerms, Just "GHC.Prim", "writeInt32X8Array#"),+ ('9', 2127, InTerms, Just "GHC.PrimopWrappers", "writeInt32X8Array#"),+ ('9', 2128, InTerms, Just "GHC.Prim", "writeInt64X4Array#"),+ ('9', 2129, InTerms, Just "GHC.PrimopWrappers", "writeInt64X4Array#"),+ ('9', 2130, InTerms, Just "GHC.Prim", "writeInt8X64Array#"),+ ('9', 2131, InTerms, Just "GHC.PrimopWrappers", "writeInt8X64Array#"),+ ('9', 2132, InTerms, Just "GHC.Prim", "writeInt16X32Array#"),+ ('9', 2133, InTerms, Just "GHC.PrimopWrappers", "writeInt16X32Array#"),+ ('9', 2134, InTerms, Just "GHC.Prim", "writeInt32X16Array#"),+ ('9', 2135, InTerms, Just "GHC.PrimopWrappers", "writeInt32X16Array#"),+ ('9', 2136, InTerms, Just "GHC.Prim", "writeInt64X8Array#"),+ ('9', 2137, InTerms, Just "GHC.PrimopWrappers", "writeInt64X8Array#"),+ ('9', 2138, InTerms, Just "GHC.Prim", "writeWord8X16Array#"),+ ('9', 2139, InTerms, Just "GHC.PrimopWrappers", "writeWord8X16Array#"),+ ('9', 2140, InTerms, Just "GHC.Prim", "writeWord16X8Array#"),+ ('9', 2141, InTerms, Just "GHC.PrimopWrappers", "writeWord16X8Array#"),+ ('9', 2142, InTerms, Just "GHC.Prim", "writeWord32X4Array#"),+ ('9', 2143, InTerms, Just "GHC.PrimopWrappers", "writeWord32X4Array#"),+ ('9', 2144, InTerms, Just "GHC.Prim", "writeWord64X2Array#"),+ ('9', 2145, InTerms, Just "GHC.PrimopWrappers", "writeWord64X2Array#"),+ ('9', 2146, InTerms, Just "GHC.Prim", "writeWord8X32Array#"),+ ('9', 2147, InTerms, Just "GHC.PrimopWrappers", "writeWord8X32Array#"),+ ('9', 2148, InTerms, Just "GHC.Prim", "writeWord16X16Array#"),+ ('9', 2149, InTerms, Just "GHC.PrimopWrappers", "writeWord16X16Array#"),+ ('9', 2150, InTerms, Just "GHC.Prim", "writeWord32X8Array#"),+ ('9', 2151, InTerms, Just "GHC.PrimopWrappers", "writeWord32X8Array#"),+ ('9', 2152, InTerms, Just "GHC.Prim", "writeWord64X4Array#"),+ ('9', 2153, InTerms, Just "GHC.PrimopWrappers", "writeWord64X4Array#"),+ ('9', 2154, InTerms, Just "GHC.Prim", "writeWord8X64Array#"),+ ('9', 2155, InTerms, Just "GHC.PrimopWrappers", "writeWord8X64Array#"),+ ('9', 2156, InTerms, Just "GHC.Prim", "writeWord16X32Array#"),+ ('9', 2157, InTerms, Just "GHC.PrimopWrappers", "writeWord16X32Array#"),+ ('9', 2158, InTerms, Just "GHC.Prim", "writeWord32X16Array#"),+ ('9', 2159, InTerms, Just "GHC.PrimopWrappers", "writeWord32X16Array#"),+ ('9', 2160, InTerms, Just "GHC.Prim", "writeWord64X8Array#"),+ ('9', 2161, InTerms, Just "GHC.PrimopWrappers", "writeWord64X8Array#"),+ ('9', 2162, InTerms, Just "GHC.Prim", "writeFloatX4Array#"),+ ('9', 2163, InTerms, Just "GHC.PrimopWrappers", "writeFloatX4Array#"),+ ('9', 2164, InTerms, Just "GHC.Prim", "writeDoubleX2Array#"),+ ('9', 2165, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX2Array#"),+ ('9', 2166, InTerms, Just "GHC.Prim", "writeFloatX8Array#"),+ ('9', 2167, InTerms, Just "GHC.PrimopWrappers", "writeFloatX8Array#"),+ ('9', 2168, InTerms, Just "GHC.Prim", "writeDoubleX4Array#"),+ ('9', 2169, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX4Array#"),+ ('9', 2170, InTerms, Just "GHC.Prim", "writeFloatX16Array#"),+ ('9', 2171, InTerms, Just "GHC.PrimopWrappers", "writeFloatX16Array#"),+ ('9', 2172, InTerms, Just "GHC.Prim", "writeDoubleX8Array#"),+ ('9', 2173, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX8Array#"),+ ('9', 2174, InTerms, Just "GHC.Prim", "indexInt8X16OffAddr#"),+ ('9', 2175, InTerms, Just "GHC.PrimopWrappers", "indexInt8X16OffAddr#"),+ ('9', 2176, InTerms, Just "GHC.Prim", "indexInt16X8OffAddr#"),+ ('9', 2177, InTerms, Just "GHC.PrimopWrappers", "indexInt16X8OffAddr#"),+ ('9', 2178, InTerms, Just "GHC.Prim", "indexInt32X4OffAddr#"),+ ('9', 2179, InTerms, Just "GHC.PrimopWrappers", "indexInt32X4OffAddr#"),+ ('9', 2180, InTerms, Just "GHC.Prim", "indexInt64X2OffAddr#"),+ ('9', 2181, InTerms, Just "GHC.PrimopWrappers", "indexInt64X2OffAddr#"),+ ('9', 2182, InTerms, Just "GHC.Prim", "indexInt8X32OffAddr#"),+ ('9', 2183, InTerms, Just "GHC.PrimopWrappers", "indexInt8X32OffAddr#"),+ ('9', 2184, InTerms, Just "GHC.Prim", "indexInt16X16OffAddr#"),+ ('9', 2185, InTerms, Just "GHC.PrimopWrappers", "indexInt16X16OffAddr#"),+ ('9', 2186, InTerms, Just "GHC.Prim", "indexInt32X8OffAddr#"),+ ('9', 2187, InTerms, Just "GHC.PrimopWrappers", "indexInt32X8OffAddr#"),+ ('9', 2188, InTerms, Just "GHC.Prim", "indexInt64X4OffAddr#"),+ ('9', 2189, InTerms, Just "GHC.PrimopWrappers", "indexInt64X4OffAddr#"),+ ('9', 2190, InTerms, Just "GHC.Prim", "indexInt8X64OffAddr#"),+ ('9', 2191, InTerms, Just "GHC.PrimopWrappers", "indexInt8X64OffAddr#"),+ ('9', 2192, InTerms, Just "GHC.Prim", "indexInt16X32OffAddr#"),+ ('9', 2193, InTerms, Just "GHC.PrimopWrappers", "indexInt16X32OffAddr#"),+ ('9', 2194, InTerms, Just "GHC.Prim", "indexInt32X16OffAddr#"),+ ('9', 2195, InTerms, Just "GHC.PrimopWrappers", "indexInt32X16OffAddr#"),+ ('9', 2196, InTerms, Just "GHC.Prim", "indexInt64X8OffAddr#"),+ ('9', 2197, InTerms, Just "GHC.PrimopWrappers", "indexInt64X8OffAddr#"),+ ('9', 2198, InTerms, Just "GHC.Prim", "indexWord8X16OffAddr#"),+ ('9', 2199, InTerms, Just "GHC.PrimopWrappers", "indexWord8X16OffAddr#"),+ ('9', 2200, InTerms, Just "GHC.Prim", "indexWord16X8OffAddr#"),+ ('9', 2201, InTerms, Just "GHC.PrimopWrappers", "indexWord16X8OffAddr#"),+ ('9', 2202, InTerms, Just "GHC.Prim", "indexWord32X4OffAddr#"),+ ('9', 2203, InTerms, Just "GHC.PrimopWrappers", "indexWord32X4OffAddr#"),+ ('9', 2204, InTerms, Just "GHC.Prim", "indexWord64X2OffAddr#"),+ ('9', 2205, InTerms, Just "GHC.PrimopWrappers", "indexWord64X2OffAddr#"),+ ('9', 2206, InTerms, Just "GHC.Prim", "indexWord8X32OffAddr#"),+ ('9', 2207, InTerms, Just "GHC.PrimopWrappers", "indexWord8X32OffAddr#"),+ ('9', 2208, InTerms, Just "GHC.Prim", "indexWord16X16OffAddr#"),+ ('9', 2209, InTerms, Just "GHC.PrimopWrappers", "indexWord16X16OffAddr#"),+ ('9', 2210, InTerms, Just "GHC.Prim", "indexWord32X8OffAddr#"),+ ('9', 2211, InTerms, Just "GHC.PrimopWrappers", "indexWord32X8OffAddr#"),+ ('9', 2212, InTerms, Just "GHC.Prim", "indexWord64X4OffAddr#"),+ ('9', 2213, InTerms, Just "GHC.PrimopWrappers", "indexWord64X4OffAddr#"),+ ('9', 2214, InTerms, Just "GHC.Prim", "indexWord8X64OffAddr#"),+ ('9', 2215, InTerms, Just "GHC.PrimopWrappers", "indexWord8X64OffAddr#"),+ ('9', 2216, InTerms, Just "GHC.Prim", "indexWord16X32OffAddr#"),+ ('9', 2217, InTerms, Just "GHC.PrimopWrappers", "indexWord16X32OffAddr#"),+ ('9', 2218, InTerms, Just "GHC.Prim", "indexWord32X16OffAddr#"),+ ('9', 2219, InTerms, Just "GHC.PrimopWrappers", "indexWord32X16OffAddr#"),+ ('9', 2220, InTerms, Just "GHC.Prim", "indexWord64X8OffAddr#"),+ ('9', 2221, InTerms, Just "GHC.PrimopWrappers", "indexWord64X8OffAddr#"),+ ('9', 2222, InTerms, Just "GHC.Prim", "indexFloatX4OffAddr#"),+ ('9', 2223, InTerms, Just "GHC.PrimopWrappers", "indexFloatX4OffAddr#"),+ ('9', 2224, InTerms, Just "GHC.Prim", "indexDoubleX2OffAddr#"),+ ('9', 2225, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX2OffAddr#"),+ ('9', 2226, InTerms, Just "GHC.Prim", "indexFloatX8OffAddr#"),+ ('9', 2227, InTerms, Just "GHC.PrimopWrappers", "indexFloatX8OffAddr#"),+ ('9', 2228, InTerms, Just "GHC.Prim", "indexDoubleX4OffAddr#"),+ ('9', 2229, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX4OffAddr#"),+ ('9', 2230, InTerms, Just "GHC.Prim", "indexFloatX16OffAddr#"),+ ('9', 2231, InTerms, Just "GHC.PrimopWrappers", "indexFloatX16OffAddr#"),+ ('9', 2232, InTerms, Just "GHC.Prim", "indexDoubleX8OffAddr#"),+ ('9', 2233, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX8OffAddr#"),+ ('9', 2234, InTerms, Just "GHC.Prim", "readInt8X16OffAddr#"),+ ('9', 2235, InTerms, Just "GHC.PrimopWrappers", "readInt8X16OffAddr#"),+ ('9', 2236, InTerms, Just "GHC.Prim", "readInt16X8OffAddr#"),+ ('9', 2237, InTerms, Just "GHC.PrimopWrappers", "readInt16X8OffAddr#"),+ ('9', 2238, InTerms, Just "GHC.Prim", "readInt32X4OffAddr#"),+ ('9', 2239, InTerms, Just "GHC.PrimopWrappers", "readInt32X4OffAddr#"),+ ('9', 2240, InTerms, Just "GHC.Prim", "readInt64X2OffAddr#"),+ ('9', 2241, InTerms, Just "GHC.PrimopWrappers", "readInt64X2OffAddr#"),+ ('9', 2242, InTerms, Just "GHC.Prim", "readInt8X32OffAddr#"),+ ('9', 2243, InTerms, Just "GHC.PrimopWrappers", "readInt8X32OffAddr#"),+ ('9', 2244, InTerms, Just "GHC.Prim", "readInt16X16OffAddr#"),+ ('9', 2245, InTerms, Just "GHC.PrimopWrappers", "readInt16X16OffAddr#"),+ ('9', 2246, InTerms, Just "GHC.Prim", "readInt32X8OffAddr#"),+ ('9', 2247, InTerms, Just "GHC.PrimopWrappers", "readInt32X8OffAddr#"),+ ('9', 2248, InTerms, Just "GHC.Prim", "readInt64X4OffAddr#"),+ ('9', 2249, InTerms, Just "GHC.PrimopWrappers", "readInt64X4OffAddr#"),+ ('9', 2250, InTerms, Just "GHC.Prim", "readInt8X64OffAddr#"),+ ('9', 2251, InTerms, Just "GHC.PrimopWrappers", "readInt8X64OffAddr#"),+ ('9', 2252, InTerms, Just "GHC.Prim", "readInt16X32OffAddr#"),+ ('9', 2253, InTerms, Just "GHC.PrimopWrappers", "readInt16X32OffAddr#"),+ ('9', 2254, InTerms, Just "GHC.Prim", "readInt32X16OffAddr#"),+ ('9', 2255, InTerms, Just "GHC.PrimopWrappers", "readInt32X16OffAddr#"),+ ('9', 2256, InTerms, Just "GHC.Prim", "readInt64X8OffAddr#"),+ ('9', 2257, InTerms, Just "GHC.PrimopWrappers", "readInt64X8OffAddr#"),+ ('9', 2258, InTerms, Just "GHC.Prim", "readWord8X16OffAddr#"),+ ('9', 2259, InTerms, Just "GHC.PrimopWrappers", "readWord8X16OffAddr#"),+ ('9', 2260, InTerms, Just "GHC.Prim", "readWord16X8OffAddr#"),+ ('9', 2261, InTerms, Just "GHC.PrimopWrappers", "readWord16X8OffAddr#"),+ ('9', 2262, InTerms, Just "GHC.Prim", "readWord32X4OffAddr#"),+ ('9', 2263, InTerms, Just "GHC.PrimopWrappers", "readWord32X4OffAddr#"),+ ('9', 2264, InTerms, Just "GHC.Prim", "readWord64X2OffAddr#"),+ ('9', 2265, InTerms, Just "GHC.PrimopWrappers", "readWord64X2OffAddr#"),+ ('9', 2266, InTerms, Just "GHC.Prim", "readWord8X32OffAddr#"),+ ('9', 2267, InTerms, Just "GHC.PrimopWrappers", "readWord8X32OffAddr#"),+ ('9', 2268, InTerms, Just "GHC.Prim", "readWord16X16OffAddr#"),+ ('9', 2269, InTerms, Just "GHC.PrimopWrappers", "readWord16X16OffAddr#"),+ ('9', 2270, InTerms, Just "GHC.Prim", "readWord32X8OffAddr#"),+ ('9', 2271, InTerms, Just "GHC.PrimopWrappers", "readWord32X8OffAddr#"),+ ('9', 2272, InTerms, Just "GHC.Prim", "readWord64X4OffAddr#"),+ ('9', 2273, InTerms, Just "GHC.PrimopWrappers", "readWord64X4OffAddr#"),+ ('9', 2274, InTerms, Just "GHC.Prim", "readWord8X64OffAddr#"),+ ('9', 2275, InTerms, Just "GHC.PrimopWrappers", "readWord8X64OffAddr#"),+ ('9', 2276, InTerms, Just "GHC.Prim", "readWord16X32OffAddr#"),+ ('9', 2277, InTerms, Just "GHC.PrimopWrappers", "readWord16X32OffAddr#"),+ ('9', 2278, InTerms, Just "GHC.Prim", "readWord32X16OffAddr#"),+ ('9', 2279, InTerms, Just "GHC.PrimopWrappers", "readWord32X16OffAddr#"),+ ('9', 2280, InTerms, Just "GHC.Prim", "readWord64X8OffAddr#"),+ ('9', 2281, InTerms, Just "GHC.PrimopWrappers", "readWord64X8OffAddr#"),+ ('9', 2282, InTerms, Just "GHC.Prim", "readFloatX4OffAddr#"),+ ('9', 2283, InTerms, Just "GHC.PrimopWrappers", "readFloatX4OffAddr#"),+ ('9', 2284, InTerms, Just "GHC.Prim", "readDoubleX2OffAddr#"),+ ('9', 2285, InTerms, Just "GHC.PrimopWrappers", "readDoubleX2OffAddr#"),+ ('9', 2286, InTerms, Just "GHC.Prim", "readFloatX8OffAddr#"),+ ('9', 2287, InTerms, Just "GHC.PrimopWrappers", "readFloatX8OffAddr#"),+ ('9', 2288, InTerms, Just "GHC.Prim", "readDoubleX4OffAddr#"),+ ('9', 2289, InTerms, Just "GHC.PrimopWrappers", "readDoubleX4OffAddr#"),+ ('9', 2290, InTerms, Just "GHC.Prim", "readFloatX16OffAddr#"),+ ('9', 2291, InTerms, Just "GHC.PrimopWrappers", "readFloatX16OffAddr#"),+ ('9', 2292, InTerms, Just "GHC.Prim", "readDoubleX8OffAddr#"),+ ('9', 2293, InTerms, Just "GHC.PrimopWrappers", "readDoubleX8OffAddr#"),+ ('9', 2294, InTerms, Just "GHC.Prim", "writeInt8X16OffAddr#"),+ ('9', 2295, InTerms, Just "GHC.PrimopWrappers", "writeInt8X16OffAddr#"),+ ('9', 2296, InTerms, Just "GHC.Prim", "writeInt16X8OffAddr#"),+ ('9', 2297, InTerms, Just "GHC.PrimopWrappers", "writeInt16X8OffAddr#"),+ ('9', 2298, InTerms, Just "GHC.Prim", "writeInt32X4OffAddr#"),+ ('9', 2299, InTerms, Just "GHC.PrimopWrappers", "writeInt32X4OffAddr#"),+ ('9', 2300, InTerms, Just "GHC.Prim", "writeInt64X2OffAddr#"),+ ('9', 2301, InTerms, Just "GHC.PrimopWrappers", "writeInt64X2OffAddr#"),+ ('9', 2302, InTerms, Just "GHC.Prim", "writeInt8X32OffAddr#"),+ ('9', 2303, InTerms, Just "GHC.PrimopWrappers", "writeInt8X32OffAddr#"),+ ('9', 2304, InTerms, Just "GHC.Prim", "writeInt16X16OffAddr#"),+ ('9', 2305, InTerms, Just "GHC.PrimopWrappers", "writeInt16X16OffAddr#"),+ ('9', 2306, InTerms, Just "GHC.Prim", "writeInt32X8OffAddr#"),+ ('9', 2307, InTerms, Just "GHC.PrimopWrappers", "writeInt32X8OffAddr#"),+ ('9', 2308, InTerms, Just "GHC.Prim", "writeInt64X4OffAddr#"),+ ('9', 2309, InTerms, Just "GHC.PrimopWrappers", "writeInt64X4OffAddr#"),+ ('9', 2310, InTerms, Just "GHC.Prim", "writeInt8X64OffAddr#"),+ ('9', 2311, InTerms, Just "GHC.PrimopWrappers", "writeInt8X64OffAddr#"),+ ('9', 2312, InTerms, Just "GHC.Prim", "writeInt16X32OffAddr#"),+ ('9', 2313, InTerms, Just "GHC.PrimopWrappers", "writeInt16X32OffAddr#"),+ ('9', 2314, InTerms, Just "GHC.Prim", "writeInt32X16OffAddr#"),+ ('9', 2315, InTerms, Just "GHC.PrimopWrappers", "writeInt32X16OffAddr#"),+ ('9', 2316, InTerms, Just "GHC.Prim", "writeInt64X8OffAddr#"),+ ('9', 2317, InTerms, Just "GHC.PrimopWrappers", "writeInt64X8OffAddr#"),+ ('9', 2318, InTerms, Just "GHC.Prim", "writeWord8X16OffAddr#"),+ ('9', 2319, InTerms, Just "GHC.PrimopWrappers", "writeWord8X16OffAddr#"),+ ('9', 2320, InTerms, Just "GHC.Prim", "writeWord16X8OffAddr#"),+ ('9', 2321, InTerms, Just "GHC.PrimopWrappers", "writeWord16X8OffAddr#"),+ ('9', 2322, InTerms, Just "GHC.Prim", "writeWord32X4OffAddr#"),+ ('9', 2323, InTerms, Just "GHC.PrimopWrappers", "writeWord32X4OffAddr#"),+ ('9', 2324, InTerms, Just "GHC.Prim", "writeWord64X2OffAddr#"),+ ('9', 2325, InTerms, Just "GHC.PrimopWrappers", "writeWord64X2OffAddr#"),+ ('9', 2326, InTerms, Just "GHC.Prim", "writeWord8X32OffAddr#"),+ ('9', 2327, InTerms, Just "GHC.PrimopWrappers", "writeWord8X32OffAddr#"),+ ('9', 2328, InTerms, Just "GHC.Prim", "writeWord16X16OffAddr#"),+ ('9', 2329, InTerms, Just "GHC.PrimopWrappers", "writeWord16X16OffAddr#"),+ ('9', 2330, InTerms, Just "GHC.Prim", "writeWord32X8OffAddr#"),+ ('9', 2331, InTerms, Just "GHC.PrimopWrappers", "writeWord32X8OffAddr#"),+ ('9', 2332, InTerms, Just "GHC.Prim", "writeWord64X4OffAddr#"),+ ('9', 2333, InTerms, Just "GHC.PrimopWrappers", "writeWord64X4OffAddr#"),+ ('9', 2334, InTerms, Just "GHC.Prim", "writeWord8X64OffAddr#"),+ ('9', 2335, InTerms, Just "GHC.PrimopWrappers", "writeWord8X64OffAddr#"),+ ('9', 2336, InTerms, Just "GHC.Prim", "writeWord16X32OffAddr#"),+ ('9', 2337, InTerms, Just "GHC.PrimopWrappers", "writeWord16X32OffAddr#"),+ ('9', 2338, InTerms, Just "GHC.Prim", "writeWord32X16OffAddr#"),+ ('9', 2339, InTerms, Just "GHC.PrimopWrappers", "writeWord32X16OffAddr#"),+ ('9', 2340, InTerms, Just "GHC.Prim", "writeWord64X8OffAddr#"),+ ('9', 2341, InTerms, Just "GHC.PrimopWrappers", "writeWord64X8OffAddr#"),+ ('9', 2342, InTerms, Just "GHC.Prim", "writeFloatX4OffAddr#"),+ ('9', 2343, InTerms, Just "GHC.PrimopWrappers", "writeFloatX4OffAddr#"),+ ('9', 2344, InTerms, Just "GHC.Prim", "writeDoubleX2OffAddr#"),+ ('9', 2345, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX2OffAddr#"),+ ('9', 2346, InTerms, Just "GHC.Prim", "writeFloatX8OffAddr#"),+ ('9', 2347, InTerms, Just "GHC.PrimopWrappers", "writeFloatX8OffAddr#"),+ ('9', 2348, InTerms, Just "GHC.Prim", "writeDoubleX4OffAddr#"),+ ('9', 2349, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX4OffAddr#"),+ ('9', 2350, InTerms, Just "GHC.Prim", "writeFloatX16OffAddr#"),+ ('9', 2351, InTerms, Just "GHC.PrimopWrappers", "writeFloatX16OffAddr#"),+ ('9', 2352, InTerms, Just "GHC.Prim", "writeDoubleX8OffAddr#"),+ ('9', 2353, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX8OffAddr#"),+ ('9', 2354, InTerms, Just "GHC.Prim", "indexInt8ArrayAsInt8X16#"),+ ('9', 2355, InTerms, Just "GHC.PrimopWrappers", "indexInt8ArrayAsInt8X16#"),+ ('9', 2356, InTerms, Just "GHC.Prim", "indexInt16ArrayAsInt16X8#"),+ ('9', 2357, InTerms, Just "GHC.PrimopWrappers", "indexInt16ArrayAsInt16X8#"),+ ('9', 2358, InTerms, Just "GHC.Prim", "indexInt32ArrayAsInt32X4#"),+ ('9', 2359, InTerms, Just "GHC.PrimopWrappers", "indexInt32ArrayAsInt32X4#"),+ ('9', 2360, InTerms, Just "GHC.Prim", "indexInt64ArrayAsInt64X2#"),+ ('9', 2361, InTerms, Just "GHC.PrimopWrappers", "indexInt64ArrayAsInt64X2#"),+ ('9', 2362, InTerms, Just "GHC.Prim", "indexInt8ArrayAsInt8X32#"),+ ('9', 2363, InTerms, Just "GHC.PrimopWrappers", "indexInt8ArrayAsInt8X32#"),+ ('9', 2364, InTerms, Just "GHC.Prim", "indexInt16ArrayAsInt16X16#"),+ ('9', 2365, InTerms, Just "GHC.PrimopWrappers", "indexInt16ArrayAsInt16X16#"),+ ('9', 2366, InTerms, Just "GHC.Prim", "indexInt32ArrayAsInt32X8#"),+ ('9', 2367, InTerms, Just "GHC.PrimopWrappers", "indexInt32ArrayAsInt32X8#"),+ ('9', 2368, InTerms, Just "GHC.Prim", "indexInt64ArrayAsInt64X4#"),+ ('9', 2369, InTerms, Just "GHC.PrimopWrappers", "indexInt64ArrayAsInt64X4#"),+ ('9', 2370, InTerms, Just "GHC.Prim", "indexInt8ArrayAsInt8X64#"),+ ('9', 2371, InTerms, Just "GHC.PrimopWrappers", "indexInt8ArrayAsInt8X64#"),+ ('9', 2372, InTerms, Just "GHC.Prim", "indexInt16ArrayAsInt16X32#"),+ ('9', 2373, InTerms, Just "GHC.PrimopWrappers", "indexInt16ArrayAsInt16X32#"),+ ('9', 2374, InTerms, Just "GHC.Prim", "indexInt32ArrayAsInt32X16#"),+ ('9', 2375, InTerms, Just "GHC.PrimopWrappers", "indexInt32ArrayAsInt32X16#"),+ ('9', 2376, InTerms, Just "GHC.Prim", "indexInt64ArrayAsInt64X8#"),+ ('9', 2377, InTerms, Just "GHC.PrimopWrappers", "indexInt64ArrayAsInt64X8#"),+ ('9', 2378, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord8X16#"),+ ('9', 2379, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord8X16#"),+ ('9', 2380, InTerms, Just "GHC.Prim", "indexWord16ArrayAsWord16X8#"),+ ('9', 2381, InTerms, Just "GHC.PrimopWrappers", "indexWord16ArrayAsWord16X8#"),+ ('9', 2382, InTerms, Just "GHC.Prim", "indexWord32ArrayAsWord32X4#"),+ ('9', 2383, InTerms, Just "GHC.PrimopWrappers", "indexWord32ArrayAsWord32X4#"),+ ('9', 2384, InTerms, Just "GHC.Prim", "indexWord64ArrayAsWord64X2#"),+ ('9', 2385, InTerms, Just "GHC.PrimopWrappers", "indexWord64ArrayAsWord64X2#"),+ ('9', 2386, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord8X32#"),+ ('9', 2387, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord8X32#"),+ ('9', 2388, InTerms, Just "GHC.Prim", "indexWord16ArrayAsWord16X16#"),+ ('9', 2389, InTerms, Just "GHC.PrimopWrappers", "indexWord16ArrayAsWord16X16#"),+ ('9', 2390, InTerms, Just "GHC.Prim", "indexWord32ArrayAsWord32X8#"),+ ('9', 2391, InTerms, Just "GHC.PrimopWrappers", "indexWord32ArrayAsWord32X8#"),+ ('9', 2392, InTerms, Just "GHC.Prim", "indexWord64ArrayAsWord64X4#"),+ ('9', 2393, InTerms, Just "GHC.PrimopWrappers", "indexWord64ArrayAsWord64X4#"),+ ('9', 2394, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord8X64#"),+ ('9', 2395, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord8X64#"),+ ('9', 2396, InTerms, Just "GHC.Prim", "indexWord16ArrayAsWord16X32#"),+ ('9', 2397, InTerms, Just "GHC.PrimopWrappers", "indexWord16ArrayAsWord16X32#"),+ ('9', 2398, InTerms, Just "GHC.Prim", "indexWord32ArrayAsWord32X16#"),+ ('9', 2399, InTerms, Just "GHC.PrimopWrappers", "indexWord32ArrayAsWord32X16#"),+ ('9', 2400, InTerms, Just "GHC.Prim", "indexWord64ArrayAsWord64X8#"),+ ('9', 2401, InTerms, Just "GHC.PrimopWrappers", "indexWord64ArrayAsWord64X8#"),+ ('9', 2402, InTerms, Just "GHC.Prim", "indexFloatArrayAsFloatX4#"),+ ('9', 2403, InTerms, Just "GHC.PrimopWrappers", "indexFloatArrayAsFloatX4#"),+ ('9', 2404, InTerms, Just "GHC.Prim", "indexDoubleArrayAsDoubleX2#"),+ ('9', 2405, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArrayAsDoubleX2#"),+ ('9', 2406, InTerms, Just "GHC.Prim", "indexFloatArrayAsFloatX8#"),+ ('9', 2407, InTerms, Just "GHC.PrimopWrappers", "indexFloatArrayAsFloatX8#"),+ ('9', 2408, InTerms, Just "GHC.Prim", "indexDoubleArrayAsDoubleX4#"),+ ('9', 2409, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArrayAsDoubleX4#"),+ ('9', 2410, InTerms, Just "GHC.Prim", "indexFloatArrayAsFloatX16#"),+ ('9', 2411, InTerms, Just "GHC.PrimopWrappers", "indexFloatArrayAsFloatX16#"),+ ('9', 2412, InTerms, Just "GHC.Prim", "indexDoubleArrayAsDoubleX8#"),+ ('9', 2413, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArrayAsDoubleX8#"),+ ('9', 2414, InTerms, Just "GHC.Prim", "readInt8ArrayAsInt8X16#"),+ ('9', 2415, InTerms, Just "GHC.PrimopWrappers", "readInt8ArrayAsInt8X16#"),+ ('9', 2416, InTerms, Just "GHC.Prim", "readInt16ArrayAsInt16X8#"),+ ('9', 2417, InTerms, Just "GHC.PrimopWrappers", "readInt16ArrayAsInt16X8#"),+ ('9', 2418, InTerms, Just "GHC.Prim", "readInt32ArrayAsInt32X4#"),+ ('9', 2419, InTerms, Just "GHC.PrimopWrappers", "readInt32ArrayAsInt32X4#"),+ ('9', 2420, InTerms, Just "GHC.Prim", "readInt64ArrayAsInt64X2#"),+ ('9', 2421, InTerms, Just "GHC.PrimopWrappers", "readInt64ArrayAsInt64X2#"),+ ('9', 2422, InTerms, Just "GHC.Prim", "readInt8ArrayAsInt8X32#"),+ ('9', 2423, InTerms, Just "GHC.PrimopWrappers", "readInt8ArrayAsInt8X32#"),+ ('9', 2424, InTerms, Just "GHC.Prim", "readInt16ArrayAsInt16X16#"),+ ('9', 2425, InTerms, Just "GHC.PrimopWrappers", "readInt16ArrayAsInt16X16#"),+ ('9', 2426, InTerms, Just "GHC.Prim", "readInt32ArrayAsInt32X8#"),+ ('9', 2427, InTerms, Just "GHC.PrimopWrappers", "readInt32ArrayAsInt32X8#"),+ ('9', 2428, InTerms, Just "GHC.Prim", "readInt64ArrayAsInt64X4#"),+ ('9', 2429, InTerms, Just "GHC.PrimopWrappers", "readInt64ArrayAsInt64X4#"),+ ('9', 2430, InTerms, Just "GHC.Prim", "readInt8ArrayAsInt8X64#"),+ ('9', 2431, InTerms, Just "GHC.PrimopWrappers", "readInt8ArrayAsInt8X64#"),+ ('9', 2432, InTerms, Just "GHC.Prim", "readInt16ArrayAsInt16X32#"),+ ('9', 2433, InTerms, Just "GHC.PrimopWrappers", "readInt16ArrayAsInt16X32#"),+ ('9', 2434, InTerms, Just "GHC.Prim", "readInt32ArrayAsInt32X16#"),+ ('9', 2435, InTerms, Just "GHC.PrimopWrappers", "readInt32ArrayAsInt32X16#"),+ ('9', 2436, InTerms, Just "GHC.Prim", "readInt64ArrayAsInt64X8#"),+ ('9', 2437, InTerms, Just "GHC.PrimopWrappers", "readInt64ArrayAsInt64X8#"),+ ('9', 2438, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord8X16#"),+ ('9', 2439, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord8X16#"),+ ('9', 2440, InTerms, Just "GHC.Prim", "readWord16ArrayAsWord16X8#"),+ ('9', 2441, InTerms, Just "GHC.PrimopWrappers", "readWord16ArrayAsWord16X8#"),+ ('9', 2442, InTerms, Just "GHC.Prim", "readWord32ArrayAsWord32X4#"),+ ('9', 2443, InTerms, Just "GHC.PrimopWrappers", "readWord32ArrayAsWord32X4#"),+ ('9', 2444, InTerms, Just "GHC.Prim", "readWord64ArrayAsWord64X2#"),+ ('9', 2445, InTerms, Just "GHC.PrimopWrappers", "readWord64ArrayAsWord64X2#"),+ ('9', 2446, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord8X32#"),+ ('9', 2447, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord8X32#"),+ ('9', 2448, InTerms, Just "GHC.Prim", "readWord16ArrayAsWord16X16#"),+ ('9', 2449, InTerms, Just "GHC.PrimopWrappers", "readWord16ArrayAsWord16X16#"),+ ('9', 2450, InTerms, Just "GHC.Prim", "readWord32ArrayAsWord32X8#"),+ ('9', 2451, InTerms, Just "GHC.PrimopWrappers", "readWord32ArrayAsWord32X8#"),+ ('9', 2452, InTerms, Just "GHC.Prim", "readWord64ArrayAsWord64X4#"),+ ('9', 2453, InTerms, Just "GHC.PrimopWrappers", "readWord64ArrayAsWord64X4#"),+ ('9', 2454, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord8X64#"),+ ('9', 2455, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord8X64#"),+ ('9', 2456, InTerms, Just "GHC.Prim", "readWord16ArrayAsWord16X32#"),+ ('9', 2457, InTerms, Just "GHC.PrimopWrappers", "readWord16ArrayAsWord16X32#"),+ ('9', 2458, InTerms, Just "GHC.Prim", "readWord32ArrayAsWord32X16#"),+ ('9', 2459, InTerms, Just "GHC.PrimopWrappers", "readWord32ArrayAsWord32X16#"),+ ('9', 2460, InTerms, Just "GHC.Prim", "readWord64ArrayAsWord64X8#"),+ ('9', 2461, InTerms, Just "GHC.PrimopWrappers", "readWord64ArrayAsWord64X8#"),+ ('9', 2462, InTerms, Just "GHC.Prim", "readFloatArrayAsFloatX4#"),+ ('9', 2463, InTerms, Just "GHC.PrimopWrappers", "readFloatArrayAsFloatX4#"),+ ('9', 2464, InTerms, Just "GHC.Prim", "readDoubleArrayAsDoubleX2#"),+ ('9', 2465, InTerms, Just "GHC.PrimopWrappers", "readDoubleArrayAsDoubleX2#"),+ ('9', 2466, InTerms, Just "GHC.Prim", "readFloatArrayAsFloatX8#"),+ ('9', 2467, InTerms, Just "GHC.PrimopWrappers", "readFloatArrayAsFloatX8#"),+ ('9', 2468, InTerms, Just "GHC.Prim", "readDoubleArrayAsDoubleX4#"),+ ('9', 2469, InTerms, Just "GHC.PrimopWrappers", "readDoubleArrayAsDoubleX4#"),+ ('9', 2470, InTerms, Just "GHC.Prim", "readFloatArrayAsFloatX16#"),+ ('9', 2471, InTerms, Just "GHC.PrimopWrappers", "readFloatArrayAsFloatX16#"),+ ('9', 2472, InTerms, Just "GHC.Prim", "readDoubleArrayAsDoubleX8#"),+ ('9', 2473, InTerms, Just "GHC.PrimopWrappers", "readDoubleArrayAsDoubleX8#"),+ ('9', 2474, InTerms, Just "GHC.Prim", "writeInt8ArrayAsInt8X16#"),+ ('9', 2475, InTerms, Just "GHC.PrimopWrappers", "writeInt8ArrayAsInt8X16#"),+ ('9', 2476, InTerms, Just "GHC.Prim", "writeInt16ArrayAsInt16X8#"),+ ('9', 2477, InTerms, Just "GHC.PrimopWrappers", "writeInt16ArrayAsInt16X8#"),+ ('9', 2478, InTerms, Just "GHC.Prim", "writeInt32ArrayAsInt32X4#"),+ ('9', 2479, InTerms, Just "GHC.PrimopWrappers", "writeInt32ArrayAsInt32X4#"),+ ('9', 2480, InTerms, Just "GHC.Prim", "writeInt64ArrayAsInt64X2#"),+ ('9', 2481, InTerms, Just "GHC.PrimopWrappers", "writeInt64ArrayAsInt64X2#"),+ ('9', 2482, InTerms, Just "GHC.Prim", "writeInt8ArrayAsInt8X32#"),+ ('9', 2483, InTerms, Just "GHC.PrimopWrappers", "writeInt8ArrayAsInt8X32#"),+ ('9', 2484, InTerms, Just "GHC.Prim", "writeInt16ArrayAsInt16X16#"),+ ('9', 2485, InTerms, Just "GHC.PrimopWrappers", "writeInt16ArrayAsInt16X16#"),+ ('9', 2486, InTerms, Just "GHC.Prim", "writeInt32ArrayAsInt32X8#"),+ ('9', 2487, InTerms, Just "GHC.PrimopWrappers", "writeInt32ArrayAsInt32X8#"),+ ('9', 2488, InTerms, Just "GHC.Prim", "writeInt64ArrayAsInt64X4#"),+ ('9', 2489, InTerms, Just "GHC.PrimopWrappers", "writeInt64ArrayAsInt64X4#"),+ ('9', 2490, InTerms, Just "GHC.Prim", "writeInt8ArrayAsInt8X64#"),+ ('9', 2491, InTerms, Just "GHC.PrimopWrappers", "writeInt8ArrayAsInt8X64#"),+ ('9', 2492, InTerms, Just "GHC.Prim", "writeInt16ArrayAsInt16X32#"),+ ('9', 2493, InTerms, Just "GHC.PrimopWrappers", "writeInt16ArrayAsInt16X32#"),+ ('9', 2494, InTerms, Just "GHC.Prim", "writeInt32ArrayAsInt32X16#"),+ ('9', 2495, InTerms, Just "GHC.PrimopWrappers", "writeInt32ArrayAsInt32X16#"),+ ('9', 2496, InTerms, Just "GHC.Prim", "writeInt64ArrayAsInt64X8#"),+ ('9', 2497, InTerms, Just "GHC.PrimopWrappers", "writeInt64ArrayAsInt64X8#"),+ ('9', 2498, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord8X16#"),+ ('9', 2499, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord8X16#"),+ ('9', 2500, InTerms, Just "GHC.Prim", "writeWord16ArrayAsWord16X8#"),+ ('9', 2501, InTerms, Just "GHC.PrimopWrappers", "writeWord16ArrayAsWord16X8#"),+ ('9', 2502, InTerms, Just "GHC.Prim", "writeWord32ArrayAsWord32X4#"),+ ('9', 2503, InTerms, Just "GHC.PrimopWrappers", "writeWord32ArrayAsWord32X4#"),+ ('9', 2504, InTerms, Just "GHC.Prim", "writeWord64ArrayAsWord64X2#"),+ ('9', 2505, InTerms, Just "GHC.PrimopWrappers", "writeWord64ArrayAsWord64X2#"),+ ('9', 2506, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord8X32#"),+ ('9', 2507, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord8X32#"),+ ('9', 2508, InTerms, Just "GHC.Prim", "writeWord16ArrayAsWord16X16#"),+ ('9', 2509, InTerms, Just "GHC.PrimopWrappers", "writeWord16ArrayAsWord16X16#"),+ ('9', 2510, InTerms, Just "GHC.Prim", "writeWord32ArrayAsWord32X8#"),+ ('9', 2511, InTerms, Just "GHC.PrimopWrappers", "writeWord32ArrayAsWord32X8#"),+ ('9', 2512, InTerms, Just "GHC.Prim", "writeWord64ArrayAsWord64X4#"),+ ('9', 2513, InTerms, Just "GHC.PrimopWrappers", "writeWord64ArrayAsWord64X4#"),+ ('9', 2514, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord8X64#"),+ ('9', 2515, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord8X64#"),+ ('9', 2516, InTerms, Just "GHC.Prim", "writeWord16ArrayAsWord16X32#"),+ ('9', 2517, InTerms, Just "GHC.PrimopWrappers", "writeWord16ArrayAsWord16X32#"),+ ('9', 2518, InTerms, Just "GHC.Prim", "writeWord32ArrayAsWord32X16#"),+ ('9', 2519, InTerms, Just "GHC.PrimopWrappers", "writeWord32ArrayAsWord32X16#"),+ ('9', 2520, InTerms, Just "GHC.Prim", "writeWord64ArrayAsWord64X8#"),+ ('9', 2521, InTerms, Just "GHC.PrimopWrappers", "writeWord64ArrayAsWord64X8#"),+ ('9', 2522, InTerms, Just "GHC.Prim", "writeFloatArrayAsFloatX4#"),+ ('9', 2523, InTerms, Just "GHC.PrimopWrappers", "writeFloatArrayAsFloatX4#"),+ ('9', 2524, InTerms, Just "GHC.Prim", "writeDoubleArrayAsDoubleX2#"),+ ('9', 2525, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArrayAsDoubleX2#"),+ ('9', 2526, InTerms, Just "GHC.Prim", "writeFloatArrayAsFloatX8#"),+ ('9', 2527, InTerms, Just "GHC.PrimopWrappers", "writeFloatArrayAsFloatX8#"),+ ('9', 2528, InTerms, Just "GHC.Prim", "writeDoubleArrayAsDoubleX4#"),+ ('9', 2529, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArrayAsDoubleX4#"),+ ('9', 2530, InTerms, Just "GHC.Prim", "writeFloatArrayAsFloatX16#"),+ ('9', 2531, InTerms, Just "GHC.PrimopWrappers", "writeFloatArrayAsFloatX16#"),+ ('9', 2532, InTerms, Just "GHC.Prim", "writeDoubleArrayAsDoubleX8#"),+ ('9', 2533, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArrayAsDoubleX8#"),+ ('9', 2534, InTerms, Just "GHC.Prim", "indexInt8OffAddrAsInt8X16#"),+ ('9', 2535, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddrAsInt8X16#"),+ ('9', 2536, InTerms, Just "GHC.Prim", "indexInt16OffAddrAsInt16X8#"),+ ('9', 2537, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddrAsInt16X8#"),+ ('9', 2538, InTerms, Just "GHC.Prim", "indexInt32OffAddrAsInt32X4#"),+ ('9', 2539, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddrAsInt32X4#"),+ ('9', 2540, InTerms, Just "GHC.Prim", "indexInt64OffAddrAsInt64X2#"),+ ('9', 2541, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddrAsInt64X2#"),+ ('9', 2542, InTerms, Just "GHC.Prim", "indexInt8OffAddrAsInt8X32#"),+ ('9', 2543, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddrAsInt8X32#"),+ ('9', 2544, InTerms, Just "GHC.Prim", "indexInt16OffAddrAsInt16X16#"),+ ('9', 2545, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddrAsInt16X16#"),+ ('9', 2546, InTerms, Just "GHC.Prim", "indexInt32OffAddrAsInt32X8#"),+ ('9', 2547, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddrAsInt32X8#"),+ ('9', 2548, InTerms, Just "GHC.Prim", "indexInt64OffAddrAsInt64X4#"),+ ('9', 2549, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddrAsInt64X4#"),+ ('9', 2550, InTerms, Just "GHC.Prim", "indexInt8OffAddrAsInt8X64#"),+ ('9', 2551, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddrAsInt8X64#"),+ ('9', 2552, InTerms, Just "GHC.Prim", "indexInt16OffAddrAsInt16X32#"),+ ('9', 2553, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddrAsInt16X32#"),+ ('9', 2554, InTerms, Just "GHC.Prim", "indexInt32OffAddrAsInt32X16#"),+ ('9', 2555, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddrAsInt32X16#"),+ ('9', 2556, InTerms, Just "GHC.Prim", "indexInt64OffAddrAsInt64X8#"),+ ('9', 2557, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddrAsInt64X8#"),+ ('9', 2558, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord8X16#"),+ ('9', 2559, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord8X16#"),+ ('9', 2560, InTerms, Just "GHC.Prim", "indexWord16OffAddrAsWord16X8#"),+ ('9', 2561, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddrAsWord16X8#"),+ ('9', 2562, InTerms, Just "GHC.Prim", "indexWord32OffAddrAsWord32X4#"),+ ('9', 2563, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddrAsWord32X4#"),+ ('9', 2564, InTerms, Just "GHC.Prim", "indexWord64OffAddrAsWord64X2#"),+ ('9', 2565, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddrAsWord64X2#"),+ ('9', 2566, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord8X32#"),+ ('9', 2567, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord8X32#"),+ ('9', 2568, InTerms, Just "GHC.Prim", "indexWord16OffAddrAsWord16X16#"),+ ('9', 2569, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddrAsWord16X16#"),+ ('9', 2570, InTerms, Just "GHC.Prim", "indexWord32OffAddrAsWord32X8#"),+ ('9', 2571, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddrAsWord32X8#"),+ ('9', 2572, InTerms, Just "GHC.Prim", "indexWord64OffAddrAsWord64X4#"),+ ('9', 2573, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddrAsWord64X4#"),+ ('9', 2574, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord8X64#"),+ ('9', 2575, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord8X64#"),+ ('9', 2576, InTerms, Just "GHC.Prim", "indexWord16OffAddrAsWord16X32#"),+ ('9', 2577, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddrAsWord16X32#"),+ ('9', 2578, InTerms, Just "GHC.Prim", "indexWord32OffAddrAsWord32X16#"),+ ('9', 2579, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddrAsWord32X16#"),+ ('9', 2580, InTerms, Just "GHC.Prim", "indexWord64OffAddrAsWord64X8#"),+ ('9', 2581, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddrAsWord64X8#"),+ ('9', 2582, InTerms, Just "GHC.Prim", "indexFloatOffAddrAsFloatX4#"),+ ('9', 2583, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddrAsFloatX4#"),+ ('9', 2584, InTerms, Just "GHC.Prim", "indexDoubleOffAddrAsDoubleX2#"),+ ('9', 2585, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddrAsDoubleX2#"),+ ('9', 2586, InTerms, Just "GHC.Prim", "indexFloatOffAddrAsFloatX8#"),+ ('9', 2587, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddrAsFloatX8#"),+ ('9', 2588, InTerms, Just "GHC.Prim", "indexDoubleOffAddrAsDoubleX4#"),+ ('9', 2589, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddrAsDoubleX4#"),+ ('9', 2590, InTerms, Just "GHC.Prim", "indexFloatOffAddrAsFloatX16#"),+ ('9', 2591, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddrAsFloatX16#"),+ ('9', 2592, InTerms, Just "GHC.Prim", "indexDoubleOffAddrAsDoubleX8#"),+ ('9', 2593, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddrAsDoubleX8#"),+ ('9', 2594, InTerms, Just "GHC.Prim", "readInt8OffAddrAsInt8X16#"),+ ('9', 2595, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddrAsInt8X16#"),+ ('9', 2596, InTerms, Just "GHC.Prim", "readInt16OffAddrAsInt16X8#"),+ ('9', 2597, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddrAsInt16X8#"),+ ('9', 2598, InTerms, Just "GHC.Prim", "readInt32OffAddrAsInt32X4#"),+ ('9', 2599, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddrAsInt32X4#"),+ ('9', 2600, InTerms, Just "GHC.Prim", "readInt64OffAddrAsInt64X2#"),+ ('9', 2601, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddrAsInt64X2#"),+ ('9', 2602, InTerms, Just "GHC.Prim", "readInt8OffAddrAsInt8X32#"),+ ('9', 2603, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddrAsInt8X32#"),+ ('9', 2604, InTerms, Just "GHC.Prim", "readInt16OffAddrAsInt16X16#"),+ ('9', 2605, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddrAsInt16X16#"),+ ('9', 2606, InTerms, Just "GHC.Prim", "readInt32OffAddrAsInt32X8#"),+ ('9', 2607, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddrAsInt32X8#"),+ ('9', 2608, InTerms, Just "GHC.Prim", "readInt64OffAddrAsInt64X4#"),+ ('9', 2609, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddrAsInt64X4#"),+ ('9', 2610, InTerms, Just "GHC.Prim", "readInt8OffAddrAsInt8X64#"),+ ('9', 2611, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddrAsInt8X64#"),+ ('9', 2612, InTerms, Just "GHC.Prim", "readInt16OffAddrAsInt16X32#"),+ ('9', 2613, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddrAsInt16X32#"),+ ('9', 2614, InTerms, Just "GHC.Prim", "readInt32OffAddrAsInt32X16#"),+ ('9', 2615, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddrAsInt32X16#"),+ ('9', 2616, InTerms, Just "GHC.Prim", "readInt64OffAddrAsInt64X8#"),+ ('9', 2617, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddrAsInt64X8#"),+ ('9', 2618, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord8X16#"),+ ('9', 2619, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord8X16#"),+ ('9', 2620, InTerms, Just "GHC.Prim", "readWord16OffAddrAsWord16X8#"),+ ('9', 2621, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddrAsWord16X8#"),+ ('9', 2622, InTerms, Just "GHC.Prim", "readWord32OffAddrAsWord32X4#"),+ ('9', 2623, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddrAsWord32X4#"),+ ('9', 2624, InTerms, Just "GHC.Prim", "readWord64OffAddrAsWord64X2#"),+ ('9', 2625, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddrAsWord64X2#"),+ ('9', 2626, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord8X32#"),+ ('9', 2627, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord8X32#"),+ ('9', 2628, InTerms, Just "GHC.Prim", "readWord16OffAddrAsWord16X16#"),+ ('9', 2629, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddrAsWord16X16#"),+ ('9', 2630, InTerms, Just "GHC.Prim", "readWord32OffAddrAsWord32X8#"),+ ('9', 2631, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddrAsWord32X8#"),+ ('9', 2632, InTerms, Just "GHC.Prim", "readWord64OffAddrAsWord64X4#"),+ ('9', 2633, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddrAsWord64X4#"),+ ('9', 2634, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord8X64#"),+ ('9', 2635, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord8X64#"),+ ('9', 2636, InTerms, Just "GHC.Prim", "readWord16OffAddrAsWord16X32#"),+ ('9', 2637, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddrAsWord16X32#"),+ ('9', 2638, InTerms, Just "GHC.Prim", "readWord32OffAddrAsWord32X16#"),+ ('9', 2639, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddrAsWord32X16#"),+ ('9', 2640, InTerms, Just "GHC.Prim", "readWord64OffAddrAsWord64X8#"),+ ('9', 2641, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddrAsWord64X8#"),+ ('9', 2642, InTerms, Just "GHC.Prim", "readFloatOffAddrAsFloatX4#"),+ ('9', 2643, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddrAsFloatX4#"),+ ('9', 2644, InTerms, Just "GHC.Prim", "readDoubleOffAddrAsDoubleX2#"),+ ('9', 2645, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddrAsDoubleX2#"),+ ('9', 2646, InTerms, Just "GHC.Prim", "readFloatOffAddrAsFloatX8#"),+ ('9', 2647, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddrAsFloatX8#"),+ ('9', 2648, InTerms, Just "GHC.Prim", "readDoubleOffAddrAsDoubleX4#"),+ ('9', 2649, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddrAsDoubleX4#"),+ ('9', 2650, InTerms, Just "GHC.Prim", "readFloatOffAddrAsFloatX16#"),+ ('9', 2651, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddrAsFloatX16#"),+ ('9', 2652, InTerms, Just "GHC.Prim", "readDoubleOffAddrAsDoubleX8#"),+ ('9', 2653, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddrAsDoubleX8#"),+ ('9', 2654, InTerms, Just "GHC.Prim", "writeInt8OffAddrAsInt8X16#"),+ ('9', 2655, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddrAsInt8X16#"),+ ('9', 2656, InTerms, Just "GHC.Prim", "writeInt16OffAddrAsInt16X8#"),+ ('9', 2657, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddrAsInt16X8#"),+ ('9', 2658, InTerms, Just "GHC.Prim", "writeInt32OffAddrAsInt32X4#"),+ ('9', 2659, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddrAsInt32X4#"),+ ('9', 2660, InTerms, Just "GHC.Prim", "writeInt64OffAddrAsInt64X2#"),+ ('9', 2661, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddrAsInt64X2#"),+ ('9', 2662, InTerms, Just "GHC.Prim", "writeInt8OffAddrAsInt8X32#"),+ ('9', 2663, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddrAsInt8X32#"),+ ('9', 2664, InTerms, Just "GHC.Prim", "writeInt16OffAddrAsInt16X16#"),+ ('9', 2665, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddrAsInt16X16#"),+ ('9', 2666, InTerms, Just "GHC.Prim", "writeInt32OffAddrAsInt32X8#"),+ ('9', 2667, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddrAsInt32X8#"),+ ('9', 2668, InTerms, Just "GHC.Prim", "writeInt64OffAddrAsInt64X4#"),+ ('9', 2669, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddrAsInt64X4#"),+ ('9', 2670, InTerms, Just "GHC.Prim", "writeInt8OffAddrAsInt8X64#"),+ ('9', 2671, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddrAsInt8X64#"),+ ('9', 2672, InTerms, Just "GHC.Prim", "writeInt16OffAddrAsInt16X32#"),+ ('9', 2673, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddrAsInt16X32#"),+ ('9', 2674, InTerms, Just "GHC.Prim", "writeInt32OffAddrAsInt32X16#"),+ ('9', 2675, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddrAsInt32X16#"),+ ('9', 2676, InTerms, Just "GHC.Prim", "writeInt64OffAddrAsInt64X8#"),+ ('9', 2677, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddrAsInt64X8#"),+ ('9', 2678, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord8X16#"),+ ('9', 2679, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord8X16#"),+ ('9', 2680, InTerms, Just "GHC.Prim", "writeWord16OffAddrAsWord16X8#"),+ ('9', 2681, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddrAsWord16X8#"),+ ('9', 2682, InTerms, Just "GHC.Prim", "writeWord32OffAddrAsWord32X4#"),+ ('9', 2683, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddrAsWord32X4#"),+ ('9', 2684, InTerms, Just "GHC.Prim", "writeWord64OffAddrAsWord64X2#"),+ ('9', 2685, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddrAsWord64X2#"),+ ('9', 2686, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord8X32#"),+ ('9', 2687, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord8X32#"),+ ('9', 2688, InTerms, Just "GHC.Prim", "writeWord16OffAddrAsWord16X16#"),+ ('9', 2689, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddrAsWord16X16#"),+ ('9', 2690, InTerms, Just "GHC.Prim", "writeWord32OffAddrAsWord32X8#"),+ ('9', 2691, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddrAsWord32X8#"),+ ('9', 2692, InTerms, Just "GHC.Prim", "writeWord64OffAddrAsWord64X4#"),+ ('9', 2693, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddrAsWord64X4#"),+ ('9', 2694, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord8X64#"),+ ('9', 2695, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord8X64#"),+ ('9', 2696, InTerms, Just "GHC.Prim", "writeWord16OffAddrAsWord16X32#"),+ ('9', 2697, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddrAsWord16X32#"),+ ('9', 2698, InTerms, Just "GHC.Prim", "writeWord32OffAddrAsWord32X16#"),+ ('9', 2699, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddrAsWord32X16#"),+ ('9', 2700, InTerms, Just "GHC.Prim", "writeWord64OffAddrAsWord64X8#"),+ ('9', 2701, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddrAsWord64X8#"),+ ('9', 2702, InTerms, Just "GHC.Prim", "writeFloatOffAddrAsFloatX4#"),+ ('9', 2703, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddrAsFloatX4#"),+ ('9', 2704, InTerms, Just "GHC.Prim", "writeDoubleOffAddrAsDoubleX2#"),+ ('9', 2705, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddrAsDoubleX2#"),+ ('9', 2706, InTerms, Just "GHC.Prim", "writeFloatOffAddrAsFloatX8#"),+ ('9', 2707, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddrAsFloatX8#"),+ ('9', 2708, InTerms, Just "GHC.Prim", "writeDoubleOffAddrAsDoubleX4#"),+ ('9', 2709, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddrAsDoubleX4#"),+ ('9', 2710, InTerms, Just "GHC.Prim", "writeFloatOffAddrAsFloatX16#"),+ ('9', 2711, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddrAsFloatX16#"),+ ('9', 2712, InTerms, Just "GHC.Prim", "writeDoubleOffAddrAsDoubleX8#"),+ ('9', 2713, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddrAsDoubleX8#"),+ ('9', 2714, InTerms, Just "GHC.Prim", "prefetchByteArray3#"),+ ('9', 2715, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray3#"),+ ('9', 2716, InTerms, Just "GHC.Prim", "prefetchMutableByteArray3#"),+ ('9', 2717, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray3#"),+ ('9', 2718, InTerms, Just "GHC.Prim", "prefetchAddr3#"),+ ('9', 2719, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr3#"),+ ('9', 2720, InTerms, Just "GHC.Prim", "prefetchValue3#"),+ ('9', 2721, InTerms, Just "GHC.PrimopWrappers", "prefetchValue3#"),+ ('9', 2722, InTerms, Just "GHC.Prim", "prefetchByteArray2#"),+ ('9', 2723, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray2#"),+ ('9', 2724, InTerms, Just "GHC.Prim", "prefetchMutableByteArray2#"),+ ('9', 2725, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray2#"),+ ('9', 2726, InTerms, Just "GHC.Prim", "prefetchAddr2#"),+ ('9', 2727, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr2#"),+ ('9', 2728, InTerms, Just "GHC.Prim", "prefetchValue2#"),+ ('9', 2729, InTerms, Just "GHC.PrimopWrappers", "prefetchValue2#"),+ ('9', 2730, InTerms, Just "GHC.Prim", "prefetchByteArray1#"),+ ('9', 2731, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray1#"),+ ('9', 2732, InTerms, Just "GHC.Prim", "prefetchMutableByteArray1#"),+ ('9', 2733, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray1#"),+ ('9', 2734, InTerms, Just "GHC.Prim", "prefetchAddr1#"),+ ('9', 2735, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr1#"),+ ('9', 2736, InTerms, Just "GHC.Prim", "prefetchValue1#"),+ ('9', 2737, InTerms, Just "GHC.PrimopWrappers", "prefetchValue1#"),+ ('9', 2738, InTerms, Just "GHC.Prim", "prefetchByteArray0#"),+ ('9', 2739, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray0#"),+ ('9', 2740, InTerms, Just "GHC.Prim", "prefetchMutableByteArray0#"),+ ('9', 2741, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray0#"),+ ('9', 2742, InTerms, Just "GHC.Prim", "prefetchAddr0#"),+ ('9', 2743, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr0#"),+ ('9', 2744, InTerms, Just "GHC.Prim", "prefetchValue0#"),+ ('9', 2745, InTerms, Just "GHC.PrimopWrappers", "prefetchValue0#"),+ ('b', 5, InTypes, Just "GHC.Types", "WordBox"),+ ('b', 6, InTerms, Just "GHC.Types", "$tcWordBox"),+ ('b', 7, InTerms, Just "GHC.Types", "MkWordBox"),+ ('b', 8, InTerms, Just "GHC.Types", "MkWordBox"),+ ('b', 9, InTerms, Just "GHC.Types", "$tc'MkWordBox"),+ ('b', 10, InTypes, Just "GHC.Types", "IntBox"),+ ('b', 11, InTerms, Just "GHC.Types", "$tcIntBox"),+ ('b', 12, InTerms, Just "GHC.Types", "MkIntBox"),+ ('b', 13, InTerms, Just "GHC.Types", "MkIntBox"),+ ('b', 14, InTerms, Just "GHC.Types", "$tc'MkIntBox"),+ ('b', 15, InTypes, Just "GHC.Types", "FloatBox"),+ ('b', 16, InTerms, Just "GHC.Types", "$tcFloatBox"),+ ('b', 17, InTerms, Just "GHC.Types", "MkFloatBox"),+ ('b', 18, InTerms, Just "GHC.Types", "MkFloatBox"),+ ('b', 19, InTerms, Just "GHC.Types", "$tc'MkFloatBox"),+ ('b', 20, InTypes, Just "GHC.Types", "DoubleBox"),+ ('b', 21, InTerms, Just "GHC.Types", "$tcDoubleBox"),+ ('b', 22, InTerms, Just "GHC.Types", "MkDoubleBox"),+ ('b', 23, InTerms, Just "GHC.Types", "MkDoubleBox"),+ ('b', 24, InTerms, Just "GHC.Types", "$tc'MkDoubleBox"),+ ('b', 25, InTypes, Just "GHC.Types", "Int8Box"),+ ('b', 26, InTerms, Just "GHC.Types", "$tcInt8Box"),+ ('b', 27, InTerms, Just "GHC.Types", "MkInt8Box"),+ ('b', 28, InTerms, Just "GHC.Types", "MkInt8Box"),+ ('b', 29, InTerms, Just "GHC.Types", "$tc'MkInt8Box"),+ ('b', 30, InTypes, Just "GHC.Types", "Int16Box"),+ ('b', 31, InTerms, Just "GHC.Types", "$tcInt16Box"),+ ('b', 32, InTerms, Just "GHC.Types", "MkInt16Box"),+ ('b', 33, InTerms, Just "GHC.Types", "MkInt16Box"),+ ('b', 34, InTerms, Just "GHC.Types", "$tc'MkInt16Box"),+ ('b', 35, InTypes, Just "GHC.Types", "Int32Box"),+ ('b', 36, InTerms, Just "GHC.Types", "$tcInt32Box"),+ ('b', 37, InTerms, Just "GHC.Types", "MkInt32Box"),+ ('b', 38, InTerms, Just "GHC.Types", "MkInt32Box"),+ ('b', 39, InTerms, Just "GHC.Types", "$tc'MkInt32Box"),+ ('b', 40, InTypes, Just "GHC.Types", "Int64Box"),+ ('b', 41, InTerms, Just "GHC.Types", "$tcInt64Box"),+ ('b', 42, InTerms, Just "GHC.Types", "MkInt64Box"),+ ('b', 43, InTerms, Just "GHC.Types", "MkInt64Box"),+ ('b', 44, InTerms, Just "GHC.Types", "$tc'MkInt64Box"),+ ('b', 45, InTypes, Just "GHC.Types", "Word8Box"),+ ('b', 46, InTerms, Just "GHC.Types", "$tcWord8Box"),+ ('b', 47, InTerms, Just "GHC.Types", "MkWord8Box"),+ ('b', 48, InTerms, Just "GHC.Types", "MkWord8Box"),+ ('b', 49, InTerms, Just "GHC.Types", "$tc'MkWord8Box"),+ ('b', 50, InTypes, Just "GHC.Types", "Word16Box"),+ ('b', 51, InTerms, Just "GHC.Types", "$tcWord16Box"),+ ('b', 52, InTerms, Just "GHC.Types", "MkWord16Box"),+ ('b', 53, InTerms, Just "GHC.Types", "MkWord16Box"),+ ('b', 54, InTerms, Just "GHC.Types", "$tc'MkWord16Box"),+ ('b', 55, InTypes, Just "GHC.Types", "Word32Box"),+ ('b', 56, InTerms, Just "GHC.Types", "$tcWord32Box"),+ ('b', 57, InTerms, Just "GHC.Types", "MkWord32Box"),+ ('b', 58, InTerms, Just "GHC.Types", "MkWord32Box"),+ ('b', 59, InTerms, Just "GHC.Types", "$tc'MkWord32Box"),+ ('b', 60, InTypes, Just "GHC.Types", "Word64Box"),+ ('b', 61, InTerms, Just "GHC.Types", "$tcWord64Box"),+ ('b', 62, InTerms, Just "GHC.Types", "MkWord64Box"),+ ('b', 63, InTerms, Just "GHC.Types", "MkWord64Box"),+ ('b', 64, InTerms, Just "GHC.Types", "$tc'MkWord64Box"),+ ('b', 65, InTypes, Just "GHC.Types", "LiftBox"),+ ('b', 66, InTerms, Just "GHC.Types", "$tcLiftBox"),+ ('b', 67, InTerms, Just "GHC.Types", "MkLiftBox"),+ ('b', 68, InTerms, Just "GHC.Types", "MkLiftBox"),+ ('b', 69, InTerms, Just "GHC.Types", "$tc'MkLiftBox"),+ ('b', 70, InTypes, Just "GHC.Types", "DictBox"),+ ('b', 71, InTerms, Just "GHC.Types", "$tcDictBox"),+ ('b', 72, InTerms, Just "GHC.Types", "MkDictBox"),+ ('b', 73, InTerms, Just "GHC.Types", "MkDictBox"),+ ('b', 74, InTerms, Just "GHC.Types", "$tc'MkDictBox")+ ]++-- | The module GHC keeps the primitive operations in, which has no+-- interface file, and the fixities declared there.+primops :: (Text, [(Text, Fixity)])+primops =+ ( "GHC.Prim",+ [ ("*#", Fixity LeftAssoc 7),+ ("*##", Fixity LeftAssoc 7),+ ("**##", Fixity LeftAssoc 9),+ ("+#", Fixity LeftAssoc 6),+ ("+##", Fixity LeftAssoc 6),+ ("-#", Fixity LeftAssoc 6),+ ("-##", Fixity LeftAssoc 6),+ ("/##", Fixity LeftAssoc 7),+ ("/=#", Fixity NoAssoc 4),+ ("/=##", Fixity NoAssoc 4),+ ("<#", Fixity NoAssoc 4),+ ("<##", Fixity NoAssoc 4),+ ("<=#", Fixity NoAssoc 4),+ ("<=##", Fixity NoAssoc 4),+ ("==#", Fixity NoAssoc 4),+ ("==##", Fixity NoAssoc 4),+ (">#", Fixity NoAssoc 4),+ (">##", Fixity NoAssoc 4),+ (">=#", Fixity NoAssoc 4),+ (">=##", Fixity NoAssoc 4),+ ("seq", Fixity RightAssoc 0)+ ]+ )
@@ -0,0 +1,4134 @@+{-# LANGUAGE OverloadedStrings #-}++-- | The names GHC 9.12 writes into interface files as keys, and the+-- fixities of its primitive operations.+--+-- Generated by @generate-known-keys.py@ in the root of the repository, from+-- GHC 9.12.2. Run that script again to update this table.+module Tilia.Fixity.KnownKeys.Ghc912+ ( knownKeys,+ primops,+ )+where++import Data.Text (Text)+import Tilia.Fixity (Direction (..), Fixity (..), Namespace (..))++-- | Every name a key stands for: the tag and index of its key, its+-- namespace, the module GHC prints it with, if it prints one, and its name.+knownKeys :: [(Char, Int, Namespace, Maybe Text, Text)]+knownKeys =+ [ ('0', 1, InTerms, Just "GHC.Prim.Panic", "absentError"),+ ('0', 2, InTerms, Just "GHC.Prim.Panic", "absentConstraintError"),+ ('0', 3, InTerms, Just "GHC.Internal.Base", "augment"),+ ('0', 4, InTerms, Just "GHC.Internal.Base", "++"),+ ('0', 5, InTerms, Just "GHC.Internal.Base", "build"),+ ('0', 6, InTerms, Just "GHC.Internal.Base", "foldr"),+ ('0', 7, InTerms, Just "GHC.Internal.Control.Exception.Base", "recSelError"),+ ('0', 8, InTerms, Just "GHC.Prim", "seq"),+ ('0', 9, InTerms, Just "GHC.Prim.Panic", "absentSumFieldError"),+ ('0', 10, InTerms, Just "GHC.Internal.Base", "eqString"),+ ('0', 11, InTerms, Just "GHC.Internal.Control.Exception.Base", "noMethodBindingError"),+ ('0', 12, InTerms, Just "GHC.Internal.Control.Exception.Base", "nonExhaustiveGuardsError"),+ ('0', 13, InTerms, Just "GHC.Internal.Control.Exception.Base", "impossibleError"),+ ('0', 14, InTerms, Just "GHC.Internal.Control.Exception.Base", "impossibleConstraintError"),+ ('0', 15, InTerms, Just "GHC.Internal.Control.Exception.Base", "patError"),+ ('0', 16, InTerms, Just "GHC.Prim", "realWorld#"),+ ('0', 17, InTerms, Just "GHC.Internal.Control.Exception.Base", "recConError"),+ ('0', 18, InTerms, Just "GHC.CString", "unpackCStringUtf8#"),+ ('0', 19, InTerms, Just "GHC.CString", "unpackAppendCStringUtf8#"),+ ('0', 20, InTerms, Just "GHC.CString", "unpackFoldrCStringUtf8#"),+ ('0', 21, InTerms, Just "GHC.CString", "unpackCString#"),+ ('0', 22, InTerms, Just "GHC.CString", "unpackAppendCString#"),+ ('0', 23, InTerms, Just "GHC.CString", "unpackFoldrCString#"),+ ('0', 24, InTerms, Just "GHC.Prim", "void#"),+ ('0', 25, InTerms, Just "GHC.Internal.Control.Exception.Base", "typeError"),+ ('0', 26, InTerms, Just "GHC.Classes", "divInt#"),+ ('0', 27, InTerms, Just "GHC.Classes", "modInt#"),+ ('0', 28, InTerms, Just "GHC.CString", "cstringLength#"),+ ('0', 31, InTerms, Just "GHC.Internal.List", "concat"),+ ('0', 32, InTerms, Just "GHC.Internal.List", "filter"),+ ('0', 33, InTerms, Just "GHC.Internal.List", "zip"),+ ('0', 34, InTerms, Just "GHC.Internal.Base", "bindIO"),+ ('0', 35, InTerms, Just "GHC.Internal.Base", "returnIO"),+ ('0', 36, InTerms, Just "GHC.Internal.Stable", "newStablePtr"),+ ('0', 37, InTerms, Just "GHC.Internal.System.IO", "print"),+ ('0', 38, InTerms, Just "GHC.Internal.IO", "failIO"),+ ('0', 39, InTerms, Just "GHC.Prim", "nullAddr#"),+ ('0', 43, InTerms, Just "GHC.Internal.Base", "otherwise"),+ ('0', 44, InTerms, Just "GHC.Internal.Base", "assert"),+ ('0', 45, InTerms, Just "GHC.Prim", "leftSection"),+ ('0', 46, InTerms, Just "GHC.Prim", "rightSection"),+ ('0', 102, InTerms, Just "GHC.Internal.TopHandler", "runMainIO"),+ ('0', 103, InTerms, Just "GHC.Internal.Base", "thenIO"),+ ('0', 104, InTerms, Just "GHC.Magic", "lazy"),+ ('0', 105, InTerms, Just "GHC.Internal.IO.Exception", "assertError"),+ ('0', 106, InTerms, Just "GHC.Magic", "oneShot"),+ ('0', 107, InTerms, Just "GHC.Magic", "runRW#"),+ ('0', 108, InTerms, Just "GHC.Internal.Debug.Trace", "trace"),+ ('0', 109, InTerms, Just "GHC.Magic", "nospec"),+ ('0', 120, InTerms, Just "GHC.Magic", "inline"),+ ('0', 121, InTerms, Just "GHC.Internal.Base", "map"),+ ('0', 123, InTerms, Just "GHC.Internal.Base", "$"),+ ('0', 125, InTerms, Just "GHC.Internal.Exts", "considerAccessible"),+ ('0', 126, InTerms, Just "GHC.Magic", "noinline"),+ ('0', 127, InTerms, Just "GHC.Magic", "noinlineConstraint"),+ ('0', 128, InTerms, Just "GHC.Internal.Float", "integerToFloat#"),+ ('0', 129, InTerms, Just "GHC.Internal.Float", "integerToDouble#"),+ ('0', 130, InTerms, Just "GHC.Internal.Float", "naturalToFloat#"),+ ('0', 131, InTerms, Just "GHC.Internal.Float", "naturalToDouble#"),+ ('0', 132, InTerms, Just "GHC.Internal.Float", "rationalToFloat"),+ ('0', 133, InTerms, Just "GHC.Internal.Float", "rationalToDouble"),+ ('0', 134, InTerms, Just "GHC.Internal.IO", "seq#"),+ ('0', 157, InTerms, Just "GHC.Prim", "coerce"),+ ('0', 160, InTerms, Just "GHC.Internal.Num", "fromInteger"),+ ('0', 161, InTerms, Just "GHC.Internal.Num", "-"),+ ('0', 162, InTerms, Just "GHC.Internal.Real", "fromRational"),+ ('0', 163, InTerms, Just "GHC.Internal.Enum", "enumFrom"),+ ('0', 164, InTerms, Just "GHC.Internal.Enum", "enumFromThen"),+ ('0', 165, InTerms, Just "GHC.Internal.Enum", "enumFromTo"),+ ('0', 166, InTerms, Just "GHC.Internal.Enum", "enumFromThenTo"),+ ('0', 167, InTerms, Just "GHC.Classes", "=="),+ ('0', 168, InTerms, Just "GHC.Classes", ">="),+ ('0', 169, InTerms, Just "GHC.Internal.Num", "negate"),+ ('0', 171, InTerms, Just "GHC.Internal.Base", ">>="),+ ('0', 172, InTerms, Just "GHC.Internal.Base", ">>"),+ ('0', 173, InTerms, Just "GHC.Internal.Base", "fmap"),+ ('0', 174, InTerms, Just "GHC.Internal.Base", "return"),+ ('0', 175, InTerms, Just "GHC.Internal.Control.Monad.Fix", "mfix"),+ ('0', 176, InTerms, Just "GHC.Internal.Control.Monad.Fail", "fail"),+ ('0', 177, InTerms, Just "GHC.Internal.OverloadedLabels", "fromLabel"),+ ('0', 180, InTerms, Just "GHC.Internal.Control.Arrow", "arr"),+ ('0', 181, InTerms, Just "GHC.Internal.Desugar", ">>>"),+ ('0', 182, InTerms, Just "GHC.Internal.Control.Arrow", "first"),+ ('0', 183, InTerms, Just "GHC.Internal.Control.Arrow", "app"),+ ('0', 184, InTerms, Just "GHC.Internal.Control.Arrow", "|||"),+ ('0', 185, InTerms, Just "GHC.Internal.Control.Arrow", "loop"),+ ('0', 186, InTerms, Just "GHC.Internal.Data.String", "fromString"),+ ('0', 187, InTerms, Just "GHC.Internal.Desugar", "toAnnotationWrapper"),+ ('0', 190, InTerms, Just "GHC.Internal.Real", "fromIntegral"),+ ('0', 191, InTerms, Just "GHC.Internal.Real", "realToFrac"),+ ('0', 192, InTerms, Just "GHC.Internal.Real", "toInteger"),+ ('0', 193, InTerms, Just "GHC.Internal.Real", "toRational"),+ ('0', 194, InTerms, Just "GHC.Internal.Control.Monad", "guard"),+ ('0', 195, InTerms, Just "GHC.Internal.Control.Monad", "liftM"),+ ('0', 196, InTerms, Just "GHC.Internal.Control.Monad.Zip", "mzip"),+ ('0', 197, InTerms, Just "GHC.Internal.GHCi", "ghciStepIO"),+ ('0', 198, InTypes, Just "GHC.Internal.IsList", "IsList"),+ ('0', 199, InTerms, Just "GHC.Internal.IsList", "fromList"),+ ('0', 200, InTerms, Just "GHC.Internal.TH.Syntax", "returnQ"),+ ('0', 201, InTerms, Just "GHC.Internal.TH.Syntax", "bindQ"),+ ('0', 202, InTerms, Just "GHC.Internal.TH.Syntax", "sequenceQ"),+ ('0', 203, InTerms, Just "GHC.Internal.TH.Lift", "lift"),+ ('0', 204, InTerms, Just "GHC.Internal.TH.Syntax", "newName"),+ ('0', 205, InTerms, Just "GHC.Internal.TH.Syntax", "mkName"),+ ('0', 206, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_v"),+ ('0', 207, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_d"),+ ('0', 208, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_tc"),+ ('0', 209, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameL"),+ ('0', 210, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameS"),+ ('0', 211, InTerms, Just "GHC.Internal.TH.Syntax", "unType"),+ ('0', 212, InTerms, Just "GHC.Internal.TH.Syntax", "unTypeCode"),+ ('0', 214, InTerms, Just "GHC.Internal.TH.Lift", "liftTyped"),+ ('0', 215, InTerms, Just "GHC.Internal.TH.Syntax", "mkModName"),+ ('0', 216, InTerms, Just "GHC.Internal.TH.Syntax", "unsafeCodeCoerce"),+ ('0', 217, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameQ"),+ ('0', 218, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_fld"),+ ('0', 220, InTerms, Just "GHC.Internal.TH.Lib", "charL"),+ ('0', 221, InTerms, Just "GHC.Internal.TH.Lib", "stringL"),+ ('0', 222, InTerms, Just "GHC.Internal.TH.Lib", "integerL"),+ ('0', 223, InTerms, Just "GHC.Internal.TH.Lib", "intPrimL"),+ ('0', 224, InTerms, Just "GHC.Internal.TH.Lib", "wordPrimL"),+ ('0', 225, InTerms, Just "GHC.Internal.TH.Lib", "floatPrimL"),+ ('0', 226, InTerms, Just "GHC.Internal.TH.Lib", "doublePrimL"),+ ('0', 227, InTerms, Just "GHC.Internal.TH.Lib", "rationalL"),+ ('0', 228, InTerms, Just "GHC.Internal.TH.Lib", "stringPrimL"),+ ('0', 229, InTerms, Just "GHC.Internal.TH.Lib", "charPrimL"),+ ('0', 230, InTerms, Just "GHC.Internal.TH.Lift", "liftString"),+ ('0', 240, InTerms, Just "GHC.Internal.TH.Lib", "litP"),+ ('0', 241, InTerms, Just "GHC.Internal.TH.Lib", "varP"),+ ('0', 242, InTerms, Just "GHC.Internal.TH.Lib", "tupP"),+ ('0', 243, InTerms, Just "GHC.Internal.TH.Lib", "unboxedTupP"),+ ('0', 244, InTerms, Just "GHC.Internal.TH.Lib", "unboxedSumP"),+ ('0', 245, InTerms, Just "GHC.Internal.TH.Lib", "conP"),+ ('0', 246, InTerms, Just "GHC.Internal.TH.Lib", "infixP"),+ ('0', 247, InTerms, Just "GHC.Internal.TH.Lib", "tildeP"),+ ('0', 248, InTerms, Just "GHC.Internal.TH.Lib", "bangP"),+ ('0', 249, InTerms, Just "GHC.Internal.TH.Lib", "asP"),+ ('0', 250, InTerms, Just "GHC.Internal.TH.Lib", "wildP"),+ ('0', 251, InTerms, Just "GHC.Internal.TH.Lib", "recP"),+ ('0', 252, InTerms, Just "GHC.Internal.TH.Lib", "listP"),+ ('0', 253, InTerms, Just "GHC.Internal.TH.Lib", "sigP"),+ ('0', 254, InTerms, Just "GHC.Internal.TH.Lib", "viewP"),+ ('0', 255, InTerms, Just "GHC.Internal.TH.Lib", "typeP"),+ ('0', 256, InTerms, Just "GHC.Internal.TH.Lib", "invisP"),+ ('0', 257, InTerms, Just "GHC.Internal.TH.Lib", "orP"),+ ('0', 260, InTerms, Just "GHC.Internal.TH.Lib", "fieldPat"),+ ('0', 261, InTerms, Just "GHC.Internal.TH.Lib", "match"),+ ('0', 262, InTerms, Just "GHC.Internal.TH.Lib", "clause"),+ ('0', 270, InTerms, Just "GHC.Internal.TH.Lib", "varE"),+ ('0', 271, InTerms, Just "GHC.Internal.TH.Lib", "conE"),+ ('0', 272, InTerms, Just "GHC.Internal.TH.Lib", "litE"),+ ('0', 273, InTerms, Just "GHC.Internal.TH.Lib", "appE"),+ ('0', 274, InTerms, Just "GHC.Internal.TH.Lib", "appTypeE"),+ ('0', 275, InTerms, Just "GHC.Internal.TH.Lib", "infixE"),+ ('0', 276, InTerms, Just "GHC.Internal.TH.Lib", "infixApp"),+ ('0', 277, InTerms, Just "GHC.Internal.TH.Lib", "sectionL"),+ ('0', 278, InTerms, Just "GHC.Internal.TH.Lib", "sectionR"),+ ('0', 279, InTerms, Just "GHC.Internal.TH.Lib", "lamE"),+ ('0', 280, InTerms, Just "GHC.Internal.TH.Lib", "lamCaseE"),+ ('0', 281, InTerms, Just "GHC.Internal.TH.Lib", "lamCasesE"),+ ('0', 282, InTerms, Just "GHC.Internal.TH.Lib", "tupE"),+ ('0', 283, InTerms, Just "GHC.Internal.TH.Lib", "unboxedTupE"),+ ('0', 284, InTerms, Just "GHC.Internal.TH.Lib", "unboxedSumE"),+ ('0', 285, InTerms, Just "GHC.Internal.TH.Lib", "condE"),+ ('0', 286, InTerms, Just "GHC.Internal.TH.Lib", "multiIfE"),+ ('0', 287, InTerms, Just "GHC.Internal.TH.Lib", "letE"),+ ('0', 288, InTerms, Just "GHC.Internal.TH.Lib", "caseE"),+ ('0', 289, InTerms, Just "GHC.Internal.TH.Lib", "doE"),+ ('0', 290, InTerms, Just "GHC.Internal.TH.Lib", "compE"),+ ('0', 291, InTerms, Just "GHC.Internal.TH.Lib", "fromE"),+ ('0', 292, InTerms, Just "GHC.Internal.TH.Lib", "fromThenE"),+ ('0', 293, InTerms, Just "GHC.Internal.TH.Lib", "fromToE"),+ ('0', 294, InTerms, Just "GHC.Internal.TH.Lib", "fromThenToE"),+ ('0', 295, InTerms, Just "GHC.Internal.TH.Lib", "listE"),+ ('0', 296, InTerms, Just "GHC.Internal.TH.Lib", "sigE"),+ ('0', 297, InTerms, Just "GHC.Internal.TH.Lib", "recConE"),+ ('0', 298, InTerms, Just "GHC.Internal.TH.Lib", "recUpdE"),+ ('0', 299, InTerms, Just "GHC.Internal.TH.Lib", "staticE"),+ ('0', 300, InTerms, Just "GHC.Internal.TH.Lib", "unboundVarE"),+ ('0', 301, InTerms, Just "GHC.Internal.TH.Lib", "labelE"),+ ('0', 302, InTerms, Just "GHC.Internal.TH.Lib", "implicitParamVarE"),+ ('0', 303, InTerms, Just "GHC.Internal.TH.Lib", "mdoE"),+ ('0', 304, InTerms, Just "GHC.Internal.TH.Lib", "getFieldE"),+ ('0', 305, InTerms, Just "GHC.Internal.TH.Lib", "projectionE"),+ ('0', 306, InTerms, Just "GHC.Internal.TH.Lib", "typeE"),+ ('0', 307, InTerms, Just "GHC.Internal.TH.Lib", "fieldExp"),+ ('0', 308, InTerms, Just "GHC.Internal.TH.Lib", "guardedB"),+ ('0', 309, InTerms, Just "GHC.Internal.TH.Lib", "normalB"),+ ('0', 310, InTerms, Just "GHC.Internal.TH.Lib", "normalGE"),+ ('0', 311, InTerms, Just "GHC.Internal.TH.Lib", "patGE"),+ ('0', 312, InTerms, Just "GHC.Internal.TH.Lib", "bindS"),+ ('0', 313, InTerms, Just "GHC.Internal.TH.Lib", "letS"),+ ('0', 314, InTerms, Just "GHC.Internal.TH.Lib", "noBindS"),+ ('0', 315, InTerms, Just "GHC.Internal.TH.Lib", "parS"),+ ('0', 316, InTerms, Just "GHC.Internal.TH.Lib", "recS"),+ ('0', 320, InTerms, Just "GHC.Internal.TH.Lib", "funD"),+ ('0', 321, InTerms, Just "GHC.Internal.TH.Lib", "valD"),+ ('0', 322, InTerms, Just "GHC.Internal.TH.Lib", "dataD"),+ ('0', 323, InTerms, Just "GHC.Internal.TH.Lib", "newtypeD"),+ ('0', 324, InTerms, Just "GHC.Internal.TH.Lib", "tySynD"),+ ('0', 325, InTerms, Just "GHC.Internal.TH.Lib", "classD"),+ ('0', 326, InTerms, Just "GHC.Internal.TH.Lib", "instanceWithOverlapD"),+ ('0', 328, InTerms, Just "GHC.Internal.TH.Lib", "sigD"),+ ('0', 329, InTerms, Just "GHC.Internal.TH.Lib", "forImpD"),+ ('0', 330, InTerms, Just "GHC.Internal.TH.Lib", "pragInlD"),+ ('0', 331, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecD"),+ ('0', 332, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecInlD"),+ ('0', 333, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecInstD"),+ ('0', 334, InTerms, Just "GHC.Internal.TH.Lib", "pragRuleD"),+ ('0', 335, InTerms, Just "GHC.Internal.TH.Lib", "pragAnnD"),+ ('0', 336, InTerms, Just "GHC.Internal.TH.Lib", "dataFamilyD"),+ ('0', 337, InTerms, Just "GHC.Internal.TH.Lib", "openTypeFamilyD"),+ ('0', 338, InTerms, Just "GHC.Internal.TH.Lib", "dataInstD"),+ ('0', 339, InTerms, Just "GHC.Internal.TH.Lib", "newtypeInstD"),+ ('0', 340, InTerms, Just "GHC.Internal.TH.Lib", "tySynInstD"),+ ('0', 341, InTerms, Just "GHC.Internal.TH.Lib", "closedTypeFamilyD"),+ ('0', 342, InTerms, Just "GHC.Internal.TH.Lib", "infixLWithSpecD"),+ ('0', 343, InTerms, Just "GHC.Internal.TH.Lib", "infixRWithSpecD"),+ ('0', 344, InTerms, Just "GHC.Internal.TH.Lib", "infixNWithSpecD"),+ ('0', 345, InTerms, Just "GHC.Internal.TH.Lib", "roleAnnotD"),+ ('0', 346, InTerms, Just "GHC.Internal.TH.Lib", "standaloneDerivWithStrategyD"),+ ('0', 347, InTerms, Just "GHC.Internal.TH.Lib", "defaultSigD"),+ ('0', 348, InTerms, Just "GHC.Internal.TH.Lib", "patSynD"),+ ('0', 349, InTerms, Just "GHC.Internal.TH.Lib", "patSynSigD"),+ ('0', 350, InTerms, Just "GHC.Internal.TH.Lib", "pragCompleteD"),+ ('0', 351, InTerms, Just "GHC.Internal.TH.Lib", "implicitParamBindD"),+ ('0', 352, InTerms, Just "GHC.Internal.TH.Lib", "kiSigD"),+ ('0', 353, InTerms, Just "GHC.Internal.TH.Lib", "defaultD"),+ ('0', 354, InTerms, Just "GHC.Internal.TH.Lib", "pragOpaqueD"),+ ('0', 355, InTerms, Just "GHC.Internal.TH.Lib", "typeDataD"),+ ('0', 356, InTerms, Just "GHC.Internal.TH.Lib", "pragSCCFunD"),+ ('0', 357, InTerms, Just "GHC.Internal.TH.Lib", "pragSCCFunNamedD"),+ ('0', 361, InTerms, Just "GHC.Internal.TH.Lib", "cxt"),+ ('0', 362, InTerms, Just "GHC.Internal.TH.Lib", "noSourceUnpackedness"),+ ('0', 363, InTerms, Just "GHC.Internal.TH.Lib", "sourceNoUnpack"),+ ('0', 364, InTerms, Just "GHC.Internal.TH.Lib", "sourceUnpack"),+ ('0', 365, InTerms, Just "GHC.Internal.TH.Lib", "noSourceStrictness"),+ ('0', 366, InTerms, Just "GHC.Internal.TH.Lib", "sourceLazy"),+ ('0', 367, InTerms, Just "GHC.Internal.TH.Lib", "sourceStrict"),+ ('0', 368, InTerms, Just "GHC.Internal.TH.Lib", "normalC"),+ ('0', 369, InTerms, Just "GHC.Internal.TH.Lib", "recC"),+ ('0', 370, InTerms, Just "GHC.Internal.TH.Lib", "infixC"),+ ('0', 371, InTerms, Just "GHC.Internal.TH.Lib", "forallC"),+ ('0', 372, InTerms, Just "GHC.Internal.TH.Lib", "gadtC"),+ ('0', 373, InTerms, Just "GHC.Internal.TH.Lib", "recGadtC"),+ ('0', 374, InTerms, Just "GHC.Internal.TH.Lib", "bang"),+ ('0', 375, InTerms, Just "GHC.Internal.TH.Lib", "bangType"),+ ('0', 376, InTerms, Just "GHC.Internal.TH.Lib", "varBangType"),+ ('0', 377, InTerms, Just "GHC.Internal.TH.Lib", "unidir"),+ ('0', 378, InTerms, Just "GHC.Internal.TH.Lib", "implBidir"),+ ('0', 379, InTerms, Just "GHC.Internal.TH.Lib", "explBidir"),+ ('0', 380, InTerms, Just "GHC.Internal.TH.Lib", "prefixPatSyn"),+ ('0', 381, InTerms, Just "GHC.Internal.TH.Lib", "infixPatSyn"),+ ('0', 382, InTerms, Just "GHC.Internal.TH.Lib", "recordPatSyn"),+ ('0', 390, InTerms, Just "GHC.Internal.TH.Lib", "forallT"),+ ('0', 391, InTerms, Just "GHC.Internal.TH.Lib", "forallVisT"),+ ('0', 392, InTerms, Just "GHC.Internal.TH.Lib", "varT"),+ ('0', 393, InTerms, Just "GHC.Internal.TH.Lib", "conT"),+ ('0', 394, InTerms, Just "GHC.Internal.TH.Lib", "tupleT"),+ ('0', 395, InTerms, Just "GHC.Internal.TH.Lib", "unboxedTupleT"),+ ('0', 396, InTerms, Just "GHC.Internal.TH.Lib", "unboxedSumT"),+ ('0', 397, InTerms, Just "GHC.Internal.TH.Lib", "arrowT"),+ ('0', 398, InTerms, Just "GHC.Internal.TH.Lib", "listT"),+ ('0', 399, InTerms, Just "GHC.Internal.TH.Lib", "appT"),+ ('0', 400, InTerms, Just "GHC.Internal.TH.Lib", "appKindT"),+ ('0', 401, InTerms, Just "GHC.Internal.TH.Lib", "sigT"),+ ('0', 402, InTerms, Just "GHC.Internal.TH.Lib", "equalityT"),+ ('0', 403, InTerms, Just "GHC.Internal.TH.Lib", "litT"),+ ('0', 404, InTerms, Just "GHC.Internal.TH.Lib", "promotedT"),+ ('0', 405, InTerms, Just "GHC.Internal.TH.Lib", "promotedTupleT"),+ ('0', 406, InTerms, Just "GHC.Internal.TH.Lib", "promotedNilT"),+ ('0', 407, InTerms, Just "GHC.Internal.TH.Lib", "promotedConsT"),+ ('0', 408, InTerms, Just "GHC.Internal.TH.Lib", "wildCardT"),+ ('0', 409, InTerms, Just "GHC.Internal.TH.Lib", "implicitParamT"),+ ('0', 410, InTerms, Just "GHC.Internal.TH.Lib", "infixT"),+ ('0', 411, InTerms, Just "GHC.Internal.TH.Lib", "numTyLit"),+ ('0', 412, InTerms, Just "GHC.Internal.TH.Lib", "strTyLit"),+ ('0', 413, InTerms, Just "GHC.Internal.TH.Lib", "charTyLit"),+ ('0', 414, InTerms, Just "GHC.Internal.TH.Lib", "plainTV"),+ ('0', 415, InTerms, Just "GHC.Internal.TH.Lib", "kindedTV"),+ ('0', 416, InTerms, Just "GHC.Internal.TH.Lib", "nominalR"),+ ('0', 417, InTerms, Just "GHC.Internal.TH.Lib", "representationalR"),+ ('0', 418, InTerms, Just "GHC.Internal.TH.Lib", "phantomR"),+ ('0', 419, InTerms, Just "GHC.Internal.TH.Lib", "inferR"),+ ('0', 425, InTerms, Just "GHC.Internal.TH.Lib", "starK"),+ ('0', 426, InTerms, Just "GHC.Internal.TH.Lib", "constraintK"),+ ('0', 427, InTerms, Just "GHC.Internal.TH.Lib", "noSig"),+ ('0', 428, InTerms, Just "GHC.Internal.TH.Lib", "kindSig"),+ ('0', 429, InTerms, Just "GHC.Internal.TH.Lib", "tyVarSig"),+ ('0', 430, InTerms, Just "GHC.Internal.TH.Lib", "injectivityAnn"),+ ('0', 431, InTerms, Just "GHC.Internal.TH.Lib", "cCall"),+ ('0', 432, InTerms, Just "GHC.Internal.TH.Lib", "stdCall"),+ ('0', 433, InTerms, Just "GHC.Internal.TH.Lib", "cApi"),+ ('0', 434, InTerms, Just "GHC.Internal.TH.Lib", "prim"),+ ('0', 435, InTerms, Just "GHC.Internal.TH.Lib", "javaScript"),+ ('0', 440, InTerms, Just "GHC.Internal.TH.Lib", "unsafe"),+ ('0', 441, InTerms, Just "GHC.Internal.TH.Lib", "safe"),+ ('0', 442, InTerms, Just "GHC.Internal.TH.Lib", "interruptible"),+ ('0', 445, InTerms, Just "GHC.Internal.TH.Lib", "funDep"),+ ('0', 446, InTerms, Just "GHC.Internal.TH.Lib", "mulArrowT"),+ ('0', 460, InTerms, Just "GHC.Internal.TH.Lib", "tySynEqn"),+ ('0', 470, InTerms, Just "GHC.Internal.TH.Quote", "quoteExp"),+ ('0', 471, InTerms, Just "GHC.Internal.TH.Quote", "quotePat"),+ ('0', 472, InTerms, Just "GHC.Internal.TH.Quote", "quoteDec"),+ ('0', 473, InTerms, Just "GHC.Internal.TH.Quote", "quoteType"),+ ('0', 480, InTerms, Just "GHC.Internal.TH.Lib", "ruleVar"),+ ('0', 481, InTerms, Just "GHC.Internal.TH.Lib", "typedRuleVar"),+ ('0', 482, InTerms, Just "GHC.Internal.TH.Lib", "plainInvisTV"),+ ('0', 483, InTerms, Just "GHC.Internal.TH.Lib", "kindedInvisTV"),+ ('0', 484, InTerms, Just "GHC.Internal.TH.Lib", "plainBndrTV"),+ ('0', 485, InTerms, Just "GHC.Internal.TH.Lib", "kindedBndrTV"),+ ('0', 490, InTerms, Just "GHC.Internal.TH.Lib", "valueAnnotation"),+ ('0', 491, InTerms, Just "GHC.Internal.TH.Lib", "typeAnnotation"),+ ('0', 492, InTerms, Just "GHC.Internal.TH.Lib", "moduleAnnotation"),+ ('0', 493, InTerms, Just "GHC.Internal.TH.Lib", "derivClause"),+ ('0', 498, InTerms, Just "GHC.Internal.TH.Lib", "specifiedSpec"),+ ('0', 499, InTerms, Just "GHC.Internal.TH.Lib", "inferredSpec"),+ ('0', 500, InTerms, Just "GHC.Internal.IsList", "fromListN"),+ ('0', 501, InTerms, Just "GHC.Internal.IsList", "toList"),+ ('0', 502, InTerms, Just "GHC.Prim", "proxy#"),+ ('0', 504, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrType"),+ ('0', 505, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrCon"),+ ('0', 506, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrApp"),+ ('0', 507, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeNatTypeRep"),+ ('0', 508, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeSymbolTypeRep"),+ ('0', 509, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeCharTypeRep"),+ ('0', 510, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeRep#"),+ ('0', 511, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrFun"),+ ('0', 520, InTerms, Just "GHC.Types", "krep$*"),+ ('0', 521, InTerms, Just "GHC.Types", "krep$*Arr*"),+ ('0', 522, InTerms, Just "GHC.Types", "krep$*->*->*"),+ ('0', 523, InTerms, Just "GHC.Types", "krep$Constraint"),+ ('0', 530, InTerms, Just "GHC.Internal.Data.Dynamic", "toDyn"),+ ('0', 551, InTerms, Just "GHC.Types", "eq_sel"),+ ('0', 552, InTerms, Just "GHC.Types", "heq_sel"),+ ('0', 553, InTerms, Just "GHC.Types", "coercible_sel"),+ ('0', 554, InTerms, Just "GHC.Internal.Base", "<>"),+ ('0', 555, InTerms, Just "GHC.Internal.Base", "mempty"),+ ('0', 556, InTerms, Just "GHC.Internal.Base", "mappend"),+ ('0', 557, InTerms, Just "GHC.Internal.Base", "mconcat"),+ ('0', 558, InTerms, Just "GHC.Internal.Stack.Types", "emptyCallStack"),+ ('0', 559, InTerms, Just "GHC.Internal.Stack.Types", "pushCallStack"),+ ('0', 560, InTerms, Just "GHC.Internal.StaticPtr", "fromStaticPtr"),+ ('0', 561, InTerms, Just "GHC.Internal.StaticPtr.Internal", "makeStatic"),+ ('0', 562, InTerms, Just "GHC.Internal.Exception.Context", "emptyExceptionContext"),+ ('0', 570, InTerms, Just "GHC.Internal.Unsafe.Coerce", "unsafeEqualityProof"),+ ('0', 571, InTerms, Just "GHC.Internal.Unsafe.Coerce", "unsafeCoerce#"),+ ('0', 572, InTerms, Just "GHC.Internal.Records", "getField"),+ ('0', 573, InTerms, Just "GHC.Internal.Records", "setField"),+ ('0', 580, InTerms, Just "GHC.Internal.TypeError", "unsatisfiable"),+ ('0', 600, InTerms, Just "GHC.Num.Integer", "integerFromNatural"),+ ('0', 601, InTerms, Just "GHC.Num.Integer", "integerToNaturalClamp"),+ ('0', 602, InTerms, Just "GHC.Num.Integer", "integerToNaturalThrow"),+ ('0', 603, InTerms, Just "GHC.Num.Integer", "integerToNatural"),+ ('0', 604, InTerms, Just "GHC.Num.Integer", "integerToWord#"),+ ('0', 605, InTerms, Just "GHC.Num.Integer", "integerToInt#"),+ ('0', 606, InTerms, Just "GHC.Num.Integer", "integerToWord64#"),+ ('0', 607, InTerms, Just "GHC.Num.Integer", "integerToInt64#"),+ ('0', 608, InTerms, Just "GHC.Num.Integer", "integerAdd"),+ ('0', 609, InTerms, Just "GHC.Num.Integer", "integerMul"),+ ('0', 610, InTerms, Just "GHC.Num.Integer", "integerSub"),+ ('0', 611, InTerms, Just "GHC.Num.Integer", "integerNegate"),+ ('0', 618, InTerms, Just "GHC.Num.Integer", "integerAbs"),+ ('0', 621, InTerms, Just "GHC.Num.Integer", "integerPopCount#"),+ ('0', 622, InTerms, Just "GHC.Num.Integer", "integerQuot"),+ ('0', 623, InTerms, Just "GHC.Num.Integer", "integerRem"),+ ('0', 624, InTerms, Just "GHC.Num.Integer", "integerDiv"),+ ('0', 625, InTerms, Just "GHC.Num.Integer", "integerMod"),+ ('0', 626, InTerms, Just "GHC.Num.Integer", "integerDivMod#"),+ ('0', 627, InTerms, Just "GHC.Num.Integer", "integerQuotRem#"),+ ('0', 630, InTerms, Just "GHC.Num.Integer", "integerEncodeFloat#"),+ ('0', 631, InTerms, Just "GHC.Num.Integer", "integerEncodeDouble#"),+ ('0', 632, InTerms, Just "GHC.Num.Integer", "integerGcd"),+ ('0', 633, InTerms, Just "GHC.Num.Integer", "integerLcm"),+ ('0', 634, InTerms, Just "GHC.Num.Integer", "integerAnd"),+ ('0', 635, InTerms, Just "GHC.Num.Integer", "integerOr"),+ ('0', 636, InTerms, Just "GHC.Num.Integer", "integerXor"),+ ('0', 637, InTerms, Just "GHC.Num.Integer", "integerComplement"),+ ('0', 638, InTerms, Just "GHC.Num.Integer", "integerBit#"),+ ('0', 639, InTerms, Just "GHC.Num.Integer", "integerTestBit#"),+ ('0', 640, InTerms, Just "GHC.Num.Integer", "integerShiftL#"),+ ('0', 641, InTerms, Just "GHC.Num.Integer", "integerShiftR#"),+ ('0', 642, InTerms, Just "GHC.Num.Integer", "integerFromWord#"),+ ('0', 643, InTerms, Just "GHC.Num.Integer", "integerFromWord64#"),+ ('0', 644, InTerms, Just "GHC.Num.Integer", "integerFromInt64#"),+ ('0', 650, InTerms, Just "GHC.Num.Natural", "naturalToWord#"),+ ('0', 659, InTerms, Just "GHC.Num.Natural", "naturalPopCount#"),+ ('0', 660, InTerms, Just "GHC.Num.Natural", "naturalShiftR#"),+ ('0', 661, InTerms, Just "GHC.Num.Natural", "naturalShiftL#"),+ ('0', 662, InTerms, Just "GHC.Num.Natural", "naturalAdd"),+ ('0', 663, InTerms, Just "GHC.Num.Natural", "naturalSub"),+ ('0', 664, InTerms, Just "GHC.Num.Natural", "naturalSubThrow"),+ ('0', 665, InTerms, Just "GHC.Num.Natural", "naturalSubUnsafe"),+ ('0', 666, InTerms, Just "GHC.Num.Natural", "naturalMul"),+ ('0', 669, InTerms, Just "GHC.Num.Natural", "naturalQuotRem#"),+ ('0', 670, InTerms, Just "GHC.Num.Natural", "naturalQuot"),+ ('0', 671, InTerms, Just "GHC.Num.Natural", "naturalRem"),+ ('0', 672, InTerms, Just "GHC.Num.Natural", "naturalAnd"),+ ('0', 673, InTerms, Just "GHC.Num.Natural", "naturalAndNot"),+ ('0', 674, InTerms, Just "GHC.Num.Natural", "naturalOr"),+ ('0', 675, InTerms, Just "GHC.Num.Natural", "naturalXor"),+ ('0', 676, InTerms, Just "GHC.Num.Natural", "naturalTestBit#"),+ ('0', 677, InTerms, Just "GHC.Num.Natural", "naturalBit#"),+ ('0', 678, InTerms, Just "GHC.Num.Natural", "naturalGcd"),+ ('0', 679, InTerms, Just "GHC.Num.Natural", "naturalLcm"),+ ('0', 680, InTerms, Just "GHC.Num.Natural", "naturalLog2#"),+ ('0', 681, InTerms, Just "GHC.Num.Natural", "naturalLogBaseWord#"),+ ('0', 682, InTerms, Just "GHC.Num.Natural", "naturalLogBase#"),+ ('0', 683, InTerms, Just "GHC.Num.Natural", "naturalPowMod"),+ ('0', 684, InTerms, Just "GHC.Num.Natural", "naturalSizeInBase#"),+ ('0', 691, InTerms, Just "GHC.Num.BigNat", "bigNatEq#"),+ ('0', 700, InTerms, Just "GHC.Internal.Real", "mkRationalBase2"),+ ('0', 701, InTerms, Just "GHC.Internal.Real", "mkRationalBase10"),+ ('0', 750, InTerms, Just "GHC.Internal.Base", "join"),+ ('0', 751, InTerms, Just "GHC.Internal.Base", "<*>"),+ ('0', 752, InTerms, Just "GHC.Internal.Base", "pure"),+ ('0', 753, InTerms, Just "GHC.Internal.Base", "*>"),+ ('0', 754, InTypes, Just "GHC.Internal.Control.Monad", "Alternative"),+ ('0', 800, InTerms, Just "GHC.Internal.TH.Lib", "bndrReq"),+ ('0', 801, InTerms, Just "GHC.Internal.TH.Lib", "bndrInvis"),+ ('0', 802, InTerms, Just "GHC.Internal.TH.Lib", "forallE"),+ ('0', 803, InTerms, Just "GHC.Internal.TH.Lib", "forallVisE"),+ ('0', 804, InTerms, Just "GHC.Internal.TH.Lib", "constrainedE"),+ ('2', 1, InTypes, Just "GHC.Internal.Enum", "Bounded"),+ ('2', 2, InTypes, Just "GHC.Internal.Enum", "Enum"),+ ('2', 3, InTypes, Just "GHC.Classes", "Eq"),+ ('2', 5, InTypes, Just "GHC.Internal.Float", "Floating"),+ ('2', 6, InTypes, Just "GHC.Internal.Real", "Fractional"),+ ('2', 7, InTypes, Just "GHC.Internal.Real", "Integral"),+ ('2', 8, InTypes, Just "GHC.Internal.Base", "Monad"),+ ('2', 9, InTypes, Just "GHC.Internal.Data.Data", "Data"),+ ('2', 10, InTypes, Just "GHC.Internal.Base", "Functor"),+ ('2', 11, InTypes, Just "GHC.Internal.Num", "Num"),+ ('2', 12, InTypes, Just "GHC.Classes", "Ord"),+ ('2', 13, InTypes, Just "GHC.Internal.Read", "Read"),+ ('2', 14, InTypes, Just "GHC.Internal.Real", "Real"),+ ('2', 15, InTypes, Just "GHC.Internal.Float", "RealFloat"),+ ('2', 16, InTypes, Just "GHC.Internal.Real", "RealFrac"),+ ('2', 17, InTypes, Just "GHC.Internal.Show", "Show"),+ ('2', 18, InTypes, Just "GHC.Internal.Ix", "Ix"),+ ('2', 20, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "Typeable"),+ ('2', 21, InTypes, Just "GHC.Magic.Dict", "WithDict"),+ ('2', 23, InTypes, Just "GHC.Magic", "DataToTag"),+ ('2', 28, InTypes, Just "GHC.Internal.Control.Monad.Fix", "MonadFix"),+ ('2', 29, InTypes, Just "GHC.Internal.Control.Monad.Fail", "MonadFail"),+ ('2', 30, InTypes, Just "GHC.Internal.Control.Monad", "MonadPlus"),+ ('2', 33, InTypes, Just "GHC.Internal.Data.String", "IsString"),+ ('2', 34, InTypes, Just "GHC.Internal.Base", "Applicative"),+ ('2', 35, InTypes, Just "GHC.Internal.Data.Foldable", "Foldable"),+ ('2', 36, InTypes, Just "GHC.Internal.Data.Traversable", "Traversable"),+ ('2', 37, InTypes, Just "GHC.Internal.Generics", "Generic"),+ ('2', 38, InTypes, Just "GHC.Internal.Generics", "Generic1"),+ ('2', 39, InTypes, Just "GHC.Internal.Generics", "Datatype"),+ ('2', 40, InTypes, Just "GHC.Internal.Generics", "Constructor"),+ ('2', 41, InTypes, Just "GHC.Internal.Generics", "Selector"),+ ('2', 42, InTypes, Just "GHC.Internal.TypeNats", "KnownNat"),+ ('2', 43, InTypes, Just "GHC.Internal.TypeLits", "KnownSymbol"),+ ('2', 44, InTypes, Just "GHC.Internal.TypeLits", "KnownChar"),+ ('2', 45, InTypes, Just "GHC.Internal.GHCi", "GHCiSandboxIO"),+ ('2', 47, InTypes, Just "GHC.Internal.Base", "Semigroup"),+ ('2', 48, InTypes, Just "GHC.Internal.Base", "Monoid"),+ ('2', 49, InTypes, Just "GHC.Classes", "IP"),+ ('2', 50, InTypes, Just "GHC.Internal.Records", "HasField"),+ ('2', 200, InTypes, Just "GHC.Internal.TH.Lift", "Lift"),+ ('2', 201, InTypes, Just "GHC.Internal.TH.Syntax", "Quote"),+ ('3', 2, InTypes, Just "GHC.Prim", "Addr#"),+ ('3', 3, InTerms, Just "GHC.Types", "$tcAddr#"),+ ('3', 6, InTypes, Just "GHC.Prim", "Array#"),+ ('3', 7, InTerms, Just "GHC.Types", "$tcArray#"),+ ('3', 8, InTypes, Just "GHC.Types", "Bool"),+ ('3', 9, InTerms, Just "GHC.Types", "$tcBool"),+ ('3', 10, InTypes, Just "GHC.Prim", "ByteArray#"),+ ('3', 11, InTerms, Just "GHC.Types", "$tcByteArray#"),+ ('3', 12, InTypes, Just "GHC.Internal.Base", "String"),+ ('3', 14, InTypes, Just "GHC.Prim", "Char#"),+ ('3', 15, InTerms, Just "GHC.Types", "$tcChar#"),+ ('3', 16, InTypes, Just "GHC.Types", "Char"),+ ('3', 17, InTerms, Just "GHC.Types", "$tcChar"),+ ('3', 18, InTypes, Just "GHC.Prim", "Double#"),+ ('3', 19, InTerms, Just "GHC.Types", "$tcDouble#"),+ ('3', 20, InTypes, Just "GHC.Types", "Double"),+ ('3', 21, InTerms, Just "GHC.Types", "$tcDouble"),+ ('3', 22, InTypes, Just "GHC.Prim", "Float#"),+ ('3', 23, InTerms, Just "GHC.Types", "$tcFloat#"),+ ('3', 24, InTypes, Just "GHC.Types", "Float"),+ ('3', 25, InTerms, Just "GHC.Types", "$tcFloat"),+ ('3', 26, InTypes, Just "GHC.Prim", "FUN"),+ ('3', 27, InTerms, Just "GHC.Types", "$tcFUN"),+ ('3', 28, InTypes, Just "GHC.Prim", "Int#"),+ ('3', 29, InTerms, Just "GHC.Types", "$tcInt#"),+ ('3', 30, InTypes, Just "GHC.Types", "Int"),+ ('3', 31, InTerms, Just "GHC.Types", "$tcInt"),+ ('3', 32, InTypes, Just "GHC.Prim", "Int8#"),+ ('3', 33, InTerms, Just "GHC.Types", "$tcInt8#"),+ ('3', 34, InTypes, Just "GHC.Internal.Int", "Int8"),+ ('3', 36, InTypes, Just "GHC.Prim", "Int16#"),+ ('3', 37, InTerms, Just "GHC.Types", "$tcInt16#"),+ ('3', 38, InTypes, Just "GHC.Internal.Int", "Int16"),+ ('3', 40, InTypes, Just "GHC.Prim", "Int32#"),+ ('3', 41, InTerms, Just "GHC.Types", "$tcInt32#"),+ ('3', 42, InTypes, Just "GHC.Internal.Int", "Int32"),+ ('3', 44, InTypes, Just "GHC.Prim", "Int64#"),+ ('3', 45, InTerms, Just "GHC.Types", "$tcInt64#"),+ ('3', 46, InTypes, Just "GHC.Internal.Int", "Int64"),+ ('3', 48, InTypes, Just "GHC.Num.Integer", "Integer"),+ ('3', 49, InTerms, Just "GHC.Num.Integer", "$tcInteger"),+ ('3', 50, InTypes, Just "GHC.Num.Natural", "Natural"),+ ('3', 51, InTerms, Just "GHC.Num.Natural", "$tcNatural"),+ ('3', 52, InTypes, Nothing, "[]"),+ ('3', 53, InTerms, Just "GHC.Types", "$tcList"),+ ('3', 56, InTypes, Just "GHC.Internal.Maybe", "Maybe"),+ ('3', 57, InTerms, Just "GHC.Internal.Maybe", "$tcMaybe"),+ ('3', 58, InTypes, Just "GHC.Prim", "Weak#"),+ ('3', 59, InTerms, Just "GHC.Types", "$tcWeak#"),+ ('3', 60, InTypes, Just "GHC.Prim", "MutableArray#"),+ ('3', 61, InTerms, Just "GHC.Types", "$tcMutableArray#"),+ ('3', 62, InTypes, Just "GHC.Prim", "MutableByteArray#"),+ ('3', 63, InTerms, Just "GHC.Types", "$tcMutableByteArray#"),+ ('3', 64, InTypes, Just "GHC.Types", "Ordering"),+ ('3', 65, InTerms, Just "GHC.Types", "$tcOrdering"),+ ('3', 66, InTypes, Just "GHC.Prim", "MVar#"),+ ('3', 67, InTerms, Just "GHC.Types", "$tcMVar#"),+ ('3', 68, InTypes, Just "GHC.Prim", "IOPort#"),+ ('3', 69, InTerms, Just "GHC.Types", "$tcIOPort#"),+ ('3', 70, InTypes, Just "GHC.Internal.Real", "Ratio"),+ ('3', 72, InTypes, Just "GHC.Internal.Real", "Rational"),+ ('3', 74, InTypes, Just "GHC.Prim", "RealWorld"),+ ('3', 75, InTerms, Just "GHC.Types", "$tcRealWorld"),+ ('3', 76, InTypes, Just "GHC.Prim", "StablePtr#"),+ ('3', 77, InTerms, Just "GHC.Types", "$tcStablePtr#"),+ ('3', 78, InTypes, Just "GHC.Internal.Stable", "StablePtr"),+ ('3', 80, InTypes, Just "GHC.Types", "~"),+ ('3', 81, InTerms, Just "GHC.Types", "$tc~"),+ ('3', 82, InTypes, Just "GHC.Types", "~~"),+ ('3', 83, InTerms, Just "GHC.Types", "$tc~~"),+ ('3', 84, InTypes, Nothing, "=>"),+ ('3', 85, InTerms, Just "GHC.Types", "$tc=>"),+ ('3', 86, InTypes, Nothing, "==>"),+ ('3', 87, InTerms, Just "GHC.Types", "$tc==>"),+ ('3', 88, InTypes, Nothing, "-=>"),+ ('3', 89, InTerms, Just "GHC.Types", "$tc-=>"),+ ('3', 100, InTypes, Just "GHC.Prim", "State#"),+ ('3', 101, InTerms, Just "GHC.Types", "$tcState#"),+ ('3', 102, InTypes, Just "GHC.Prim", "StableName#"),+ ('3', 103, InTerms, Just "GHC.Types", "$tcStableName#"),+ ('3', 106, InTypes, Just "GHC.Prim", "~#"),+ ('3', 107, InTerms, Just "GHC.Types", "$tc~#"),+ ('3', 108, InTypes, Nothing, "~R#"),+ ('3', 109, InTerms, Just "GHC.Types", "$tc~R#"),+ ('3', 110, InTypes, Nothing, "~P#"),+ ('3', 111, InTerms, Just "GHC.Types", "$tc~P#"),+ ('3', 112, InTypes, Just "GHC.Prim", "MutVar#"),+ ('3', 113, InTerms, Just "GHC.Types", "$tcMutVar#"),+ ('3', 114, InTypes, Just "GHC.Types", "IO"),+ ('3', 118, InTypes, Just "GHC.Prim", "Word#"),+ ('3', 119, InTerms, Just "GHC.Types", "$tcWord#"),+ ('3', 120, InTypes, Just "GHC.Types", "Word"),+ ('3', 121, InTerms, Just "GHC.Types", "$tcWord"),+ ('3', 122, InTypes, Just "GHC.Prim", "Word8#"),+ ('3', 123, InTerms, Just "GHC.Types", "$tcWord8#"),+ ('3', 124, InTypes, Just "GHC.Internal.Word", "Word8"),+ ('3', 126, InTypes, Just "GHC.Prim", "Word16#"),+ ('3', 127, InTerms, Just "GHC.Types", "$tcWord16#"),+ ('3', 128, InTypes, Just "GHC.Internal.Word", "Word16"),+ ('3', 130, InTypes, Just "GHC.Prim", "Word32#"),+ ('3', 131, InTerms, Just "GHC.Types", "$tcWord32#"),+ ('3', 132, InTypes, Just "GHC.Internal.Word", "Word32"),+ ('3', 134, InTypes, Just "GHC.Prim", "Word64#"),+ ('3', 135, InTerms, Just "GHC.Types", "$tcWord64#"),+ ('3', 136, InTypes, Just "GHC.Internal.Word", "Word64"),+ ('3', 150, InTypes, Just "GHC.Prim", "ThreadId#"),+ ('3', 151, InTerms, Just "GHC.Types", "$tcThreadId#"),+ ('3', 152, InTypes, Just "GHC.Prim", "BCO"),+ ('3', 153, InTerms, Just "GHC.Types", "$tcBCO"),+ ('3', 154, InTypes, Just "GHC.Internal.Ptr", "Ptr"),+ ('3', 156, InTypes, Just "GHC.Internal.Ptr", "FunPtr"),+ ('3', 158, InTypes, Just "GHC.Prim", "TVar#"),+ ('3', 159, InTerms, Just "GHC.Types", "$tcTVar#"),+ ('3', 160, InTypes, Just "GHC.Prim", "Compact#"),+ ('3', 161, InTerms, Just "GHC.Types", "$tcCompact#"),+ ('3', 162, InTypes, Just "GHC.Prim", "StackSnapshot#"),+ ('3', 163, InTerms, Just "GHC.Types", "$tcStackSnapshot#"),+ ('3', 164, InTypes, Just "GHC.Prim", "PromptTag#"),+ ('3', 165, InTerms, Just "GHC.Types", "$tcPromptTag#"),+ ('3', 168, InTypes, Just "GHC.Internal.Data.Either", "Either"),+ ('3', 170, InTypes, Just "GHC.Internal.Base", "Void"),+ ('3', 172, InTypes, Just "GHC.Internal.Base", "NonEmpty"),+ ('3', 176, InTypes, Just "GHC.Types", "Type"),+ ('3', 178, InTypes, Just "GHC.Types", "UnliftedType"),+ ('3', 182, InTypes, Just "GHC.Prim", "TYPE"),+ ('3', 183, InTerms, Just "GHC.Types", "$tcTYPE"),+ ('3', 184, InTypes, Just "GHC.Prim", "CONSTRAINT"),+ ('3', 185, InTerms, Just "GHC.Types", "$tcCONSTRAINT"),+ ('3', 186, InTypes, Just "GHC.Types", "Constraint"),+ ('3', 188, InTypes, Just "GHC.Types", "Levity"),+ ('3', 189, InTerms, Just "GHC.Types", "$tcLevity"),+ ('3', 190, InTypes, Just "GHC.Types", "RuntimeRep"),+ ('3', 191, InTerms, Just "GHC.Types", "$tcRuntimeRep"),+ ('3', 192, InTypes, Just "GHC.Types", "VecCount"),+ ('3', 193, InTerms, Just "GHC.Types", "$tcVecCount"),+ ('3', 194, InTypes, Just "GHC.Types", "VecElem"),+ ('3', 195, InTerms, Just "GHC.Types", "$tcVecElem"),+ ('3', 196, InTypes, Just "GHC.Types", "LiftedRep"),+ ('3', 198, InTypes, Just "GHC.Types", "UnliftedRep"),+ ('3', 200, InTypes, Just "GHC.Types", "ZeroBitRep"),+ ('3', 202, InTypes, Just "GHC.Types", "ZeroBitType"),+ ('3', 204, InTypes, Just "GHC.Driver.Plugins", "Plugin"),+ ('3', 206, InTypes, Just "GHC.Driver.Plugins", "FrontendPlugin"),+ ('3', 208, InTypes, Just "GHC.Types", "TyCon"),+ ('3', 210, InTypes, Just "GHC.Types", "Module"),+ ('3', 212, InTypes, Just "GHC.Types", "TrName"),+ ('3', 214, InTypes, Just "GHC.Types", "KindRep"),+ ('3', 216, InTypes, Just "GHC.Types", "TypeLitSort"),+ ('3', 270, InTypes, Just "GHC.Internal.Generics", "V1"),+ ('3', 272, InTypes, Just "GHC.Internal.Generics", "U1"),+ ('3', 274, InTypes, Just "GHC.Internal.Generics", "Par1"),+ ('3', 276, InTypes, Just "GHC.Internal.Generics", "Rec1"),+ ('3', 278, InTypes, Just "GHC.Internal.Generics", "K1"),+ ('3', 280, InTypes, Just "GHC.Internal.Generics", "M1"),+ ('3', 282, InTypes, Just "GHC.Internal.Generics", ":+:"),+ ('3', 284, InTypes, Just "GHC.Internal.Generics", ":*:"),+ ('3', 286, InTypes, Just "GHC.Internal.Generics", ":.:"),+ ('3', 288, InTypes, Just "GHC.Internal.Generics", "R"),+ ('3', 292, InTypes, Just "GHC.Internal.Generics", "D"),+ ('3', 294, InTypes, Just "GHC.Internal.Generics", "C"),+ ('3', 296, InTypes, Just "GHC.Internal.Generics", "S"),+ ('3', 298, InTypes, Just "GHC.Internal.Generics", "Rec0"),+ ('3', 302, InTypes, Just "GHC.Internal.Generics", "D1"),+ ('3', 304, InTypes, Just "GHC.Internal.Generics", "C1"),+ ('3', 306, InTypes, Just "GHC.Internal.Generics", "S1"),+ ('3', 310, InTypes, Just "GHC.Internal.Generics", "Rep"),+ ('3', 312, InTypes, Just "GHC.Internal.Generics", "Rep1"),+ ('3', 314, InTypes, Just "GHC.Internal.Generics", "URec"),+ ('3', 316, InTypes, Just "GHC.Internal.Generics", "UAddr"),+ ('3', 318, InTypes, Just "GHC.Internal.Generics", "UChar"),+ ('3', 320, InTypes, Just "GHC.Internal.Generics", "UDouble"),+ ('3', 322, InTypes, Just "GHC.Internal.Generics", "UFloat"),+ ('3', 324, InTypes, Just "GHC.Internal.Generics", "UInt"),+ ('3', 326, InTypes, Just "GHC.Internal.Generics", "UWord"),+ ('3', 340, InTypes, Just "GHC.Internal.TypeError", "Unsatisfiable"),+ ('3', 342, InTypes, Just "GHC.Types", "Any"),+ ('3', 344, InTypes, Just "GHC.Types", "ZonkAny"),+ ('3', 362, InTypes, Just "GHC.Internal.TypeError", "TypeError"),+ ('3', 366, InTypes, Just "GHC.Types", "Coercible"),+ ('3', 367, InTerms, Just "GHC.Types", "$tcCoercible"),+ ('3', 368, InTypes, Just "GHC.Prim", "Proxy#"),+ ('3', 369, InTerms, Just "GHC.Types", "$tcProxy#"),+ ('3', 370, InTypes, Just "GHC.Types", "SPEC"),+ ('3', 374, InTypes, Just "GHC.Prim", "SmallArray#"),+ ('3', 375, InTerms, Just "GHC.Types", "$tcSmallArray#"),+ ('3', 376, InTypes, Just "GHC.Prim", "SmallMutableArray#"),+ ('3', 377, InTerms, Just "GHC.Types", "$tcSmallMutableArray#"),+ ('3', 378, InTypes, Just "GHC.Internal.StaticPtr", "StaticPtr"),+ ('3', 382, InTypes, Just "GHC.Internal.Stack.Types", "CallStack"),+ ('3', 384, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "TypeRep"),+ ('3', 386, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "SomeTypeRep"),+ ('3', 388, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "SomeTypeRep"),+ ('3', 390, InTypes, Just "GHC.Internal.TypeLits", "AppendSymbol"),+ ('3', 392, InTypes, Just "GHC.Internal.Unsafe.Coerce", "UnsafeEquality"),+ ('3', 394, InTypes, Just "GHC.Types", "Multiplicity"),+ ('3', 395, InTerms, Just "GHC.Types", "$tcMultiplicity"),+ ('3', 400, InTypes, Just "GHC.Internal.TH.Syntax", "Exp"),+ ('3', 402, InTypes, Just "GHC.Internal.TH.Syntax", "Match"),+ ('3', 404, InTypes, Just "GHC.Internal.TH.Syntax", "Clause"),+ ('3', 406, InTypes, Just "GHC.Internal.TH.Syntax", "Q"),+ ('3', 408, InTypes, Just "GHC.Internal.TH.Lib", "ExpQ"),+ ('3', 412, InTypes, Just "GHC.Internal.TH.Syntax", "Pat"),+ ('3', 418, InTypes, Just "GHC.Internal.TH.Syntax", "Stmt"),+ ('3', 420, InTypes, Just "GHC.Internal.TH.Syntax", "Con"),+ ('3', 422, InTypes, Just "GHC.Internal.TH.Lib", "TypeQ"),+ ('3', 424, InTypes, Just "GHC.Internal.TH.Syntax", "Type"),+ ('3', 426, InTypes, Just "GHC.Internal.TH.Syntax", "Dec"),+ ('3', 428, InTypes, Just "GHC.Internal.TH.Syntax", "BangType"),+ ('3', 430, InTypes, Just "GHC.Internal.TH.Syntax", "VarBangType"),+ ('3', 432, InTypes, Just "GHC.Internal.TH.Syntax", "FieldExp"),+ ('3', 434, InTypes, Just "GHC.Internal.TH.Syntax", "FieldPat"),+ ('3', 436, InTypes, Just "GHC.Internal.TH.Syntax", "Name"),+ ('3', 438, InTypes, Just "GHC.Internal.TH.Lib", "PatQ"),+ ('3', 444, InTypes, Just "GHC.Internal.TH.Syntax", "FunDep"),+ ('3', 446, InTypes, Just "GHC.Internal.TH.Syntax", "Pred"),+ ('3', 450, InTypes, Just "GHC.Internal.TH.Lib", "TyVarBndrUnit"),+ ('3', 452, InTypes, Just "GHC.Internal.TH.Lib", "DecsQ"),+ ('3', 454, InTypes, Just "GHC.Internal.TH.Syntax", "RuleBndr"),+ ('3', 456, InTypes, Just "GHC.Internal.TH.Syntax", "TySynEqn"),+ ('3', 458, InTypes, Just "GHC.Internal.TH.Lib", "Role"),+ ('3', 462, InTypes, Just "GHC.Internal.TH.Syntax", "InjectivityAnn"),+ ('3', 464, InTypes, Just "GHC.Internal.TH.Syntax", "Kind"),+ ('3', 466, InTypes, Just "GHC.Internal.TH.Syntax", "Overlap"),+ ('3', 468, InTypes, Just "GHC.Internal.TH.Syntax", "DerivClause"),+ ('3', 470, InTypes, Just "GHC.Internal.TH.Syntax", "DerivStrategy"),+ ('3', 472, InTypes, Just "GHC.Internal.TH.Lib", "Decs"),+ ('3', 474, InTypes, Just "GHC.Internal.TH.Lib", "TyVarBndrSpec"),+ ('3', 476, InTypes, Just "GHC.Internal.TH.Syntax", "Code"),+ ('3', 478, InTypes, Just "GHC.Internal.TH.Syntax", "ModName"),+ ('3', 480, InTypes, Just "GHC.Internal.TH.Lib", "TyVarBndrVis"),+ ('3', 600, InTypes, Just "GHC.Prim", "Int8X16#"),+ ('3', 601, InTerms, Just "GHC.Types", "$tcInt8X16#"),+ ('3', 602, InTypes, Just "GHC.Prim", "Int16X8#"),+ ('3', 603, InTerms, Just "GHC.Types", "$tcInt16X8#"),+ ('3', 604, InTypes, Just "GHC.Prim", "Int32X4#"),+ ('3', 605, InTerms, Just "GHC.Types", "$tcInt32X4#"),+ ('3', 606, InTypes, Just "GHC.Prim", "Int64X2#"),+ ('3', 607, InTerms, Just "GHC.Types", "$tcInt64X2#"),+ ('3', 608, InTypes, Just "GHC.Prim", "Int8X32#"),+ ('3', 609, InTerms, Just "GHC.Types", "$tcInt8X32#"),+ ('3', 610, InTypes, Just "GHC.Prim", "Int16X16#"),+ ('3', 611, InTerms, Just "GHC.Types", "$tcInt16X16#"),+ ('3', 612, InTypes, Just "GHC.Prim", "Int32X8#"),+ ('3', 613, InTerms, Just "GHC.Types", "$tcInt32X8#"),+ ('3', 614, InTypes, Just "GHC.Prim", "Int64X4#"),+ ('3', 615, InTerms, Just "GHC.Types", "$tcInt64X4#"),+ ('3', 616, InTypes, Just "GHC.Prim", "Int8X64#"),+ ('3', 617, InTerms, Just "GHC.Types", "$tcInt8X64#"),+ ('3', 618, InTypes, Just "GHC.Prim", "Int16X32#"),+ ('3', 619, InTerms, Just "GHC.Types", "$tcInt16X32#"),+ ('3', 620, InTypes, Just "GHC.Prim", "Int32X16#"),+ ('3', 621, InTerms, Just "GHC.Types", "$tcInt32X16#"),+ ('3', 622, InTypes, Just "GHC.Prim", "Int64X8#"),+ ('3', 623, InTerms, Just "GHC.Types", "$tcInt64X8#"),+ ('3', 624, InTypes, Just "GHC.Prim", "Word8X16#"),+ ('3', 625, InTerms, Just "GHC.Types", "$tcWord8X16#"),+ ('3', 626, InTypes, Just "GHC.Prim", "Word16X8#"),+ ('3', 627, InTerms, Just "GHC.Types", "$tcWord16X8#"),+ ('3', 628, InTypes, Just "GHC.Prim", "Word32X4#"),+ ('3', 629, InTerms, Just "GHC.Types", "$tcWord32X4#"),+ ('3', 630, InTypes, Just "GHC.Prim", "Word64X2#"),+ ('3', 631, InTerms, Just "GHC.Types", "$tcWord64X2#"),+ ('3', 632, InTypes, Just "GHC.Prim", "Word8X32#"),+ ('3', 633, InTerms, Just "GHC.Types", "$tcWord8X32#"),+ ('3', 634, InTypes, Just "GHC.Prim", "Word16X16#"),+ ('3', 635, InTerms, Just "GHC.Types", "$tcWord16X16#"),+ ('3', 636, InTypes, Just "GHC.Prim", "Word32X8#"),+ ('3', 637, InTerms, Just "GHC.Types", "$tcWord32X8#"),+ ('3', 638, InTypes, Just "GHC.Prim", "Word64X4#"),+ ('3', 639, InTerms, Just "GHC.Types", "$tcWord64X4#"),+ ('3', 640, InTypes, Just "GHC.Prim", "Word8X64#"),+ ('3', 641, InTerms, Just "GHC.Types", "$tcWord8X64#"),+ ('3', 642, InTypes, Just "GHC.Prim", "Word16X32#"),+ ('3', 643, InTerms, Just "GHC.Types", "$tcWord16X32#"),+ ('3', 644, InTypes, Just "GHC.Prim", "Word32X16#"),+ ('3', 645, InTerms, Just "GHC.Types", "$tcWord32X16#"),+ ('3', 646, InTypes, Just "GHC.Prim", "Word64X8#"),+ ('3', 647, InTerms, Just "GHC.Types", "$tcWord64X8#"),+ ('3', 648, InTypes, Just "GHC.Prim", "FloatX4#"),+ ('3', 649, InTerms, Just "GHC.Types", "$tcFloatX4#"),+ ('3', 650, InTypes, Just "GHC.Prim", "DoubleX2#"),+ ('3', 651, InTerms, Just "GHC.Types", "$tcDoubleX2#"),+ ('3', 652, InTypes, Just "GHC.Prim", "FloatX8#"),+ ('3', 653, InTerms, Just "GHC.Types", "$tcFloatX8#"),+ ('3', 654, InTypes, Just "GHC.Prim", "DoubleX4#"),+ ('3', 655, InTerms, Just "GHC.Types", "$tcDoubleX4#"),+ ('3', 656, InTypes, Just "GHC.Prim", "FloatX16#"),+ ('3', 657, InTerms, Just "GHC.Types", "$tcFloatX16#"),+ ('3', 658, InTypes, Just "GHC.Prim", "DoubleX8#"),+ ('3', 659, InTerms, Just "GHC.Types", "$tcDoubleX8#"),+ ('3', 800, InTypes, Just "GHC.Types", "Symbol"),+ ('3', 801, InTerms, Just "GHC.Types", "$tcSymbol"),+ ('3', 804, InTypes, Just "GHC.Internal.TypeNats", "+"),+ ('3', 806, InTypes, Just "GHC.Internal.TypeNats", "*"),+ ('3', 808, InTypes, Just "GHC.Internal.TypeNats", "^"),+ ('3', 810, InTypes, Just "GHC.Internal.TypeNats", "-"),+ ('3', 812, InTypes, Just "GHC.Internal.TypeLits.Internal", "CmpSymbol"),+ ('3', 814, InTypes, Just "GHC.Internal.TypeNats.Internal", "CmpNat"),+ ('3', 816, InTypes, Just "GHC.Internal.TypeLits.Internal", "CmpChar"),+ ('3', 820, InTypes, Just "GHC.Internal.TypeNats", "Div"),+ ('3', 822, InTypes, Just "GHC.Internal.TypeNats", "Mod"),+ ('3', 824, InTypes, Just "GHC.Internal.TypeNats", "Log2"),+ ('3', 826, InTypes, Just "GHC.Internal.TypeLits", "ConsSymbol"),+ ('3', 828, InTypes, Just "GHC.Internal.TypeLits", "UnconsSymbol"),+ ('3', 830, InTypes, Just "GHC.Internal.TypeLits", "CharToNat"),+ ('3', 832, InTypes, Just "GHC.Internal.TypeLits", "NatToChar"),+ ('3', 834, InTypes, Just "GHC.Internal.Foreign.C.ConstPtr", "ConstPtr"),+ ('3', 836, InTypes, Just "GHC.Internal.Wasm.Prim.Types", "JSVal"),+ ('3', 840, InTypes, Just "GHC.Internal.Exception.Context", "ExceptionContext"),+ ('4', 0, InTypes, Nothing, "()"),+ ('4', 1, InTerms, Just "GHC.Tuple", "$tcUnit"),+ ('4', 2, InTypes, Just "GHC.Tuple", "Solo"),+ ('4', 3, InTerms, Just "GHC.Tuple", "$tcSolo"),+ ('5', 0, InTypes, Nothing, "(##)"),+ ('5', 1, InTerms, Just "GHC.Types", "$tcUnit#"),+ ('6', 3, InTerms, Just "GHC.Types", "C#"),+ ('6', 4, InTerms, Just "GHC.Types", "C#"),+ ('6', 5, InTerms, Just "GHC.Types", "$tc'C#"),+ ('6', 6, InTerms, Nothing, ":"),+ ('6', 7, InTerms, Just "GHC.Types", ":"),+ ('6', 8, InTerms, Just "GHC.Types", "$tc':"),+ ('6', 9, InTerms, Just "GHC.Types", "D#"),+ ('6', 10, InTerms, Just "GHC.Types", "D#"),+ ('6', 11, InTerms, Just "GHC.Types", "$tc'D#"),+ ('6', 12, InTerms, Just "GHC.Types", "False"),+ ('6', 13, InTerms, Just "GHC.Types", "False"),+ ('6', 14, InTerms, Just "GHC.Types", "$tc'False"),+ ('6', 15, InTerms, Just "GHC.Types", "F#"),+ ('6', 16, InTerms, Just "GHC.Types", "F#"),+ ('6', 17, InTerms, Just "GHC.Types", "$tc'F#"),+ ('6', 18, InTerms, Just "GHC.Types", "I#"),+ ('6', 19, InTerms, Just "GHC.Types", "I#"),+ ('6', 20, InTerms, Just "GHC.Types", "$tc'I#"),+ ('6', 21, InTerms, Just "GHC.Internal.Maybe", "Nothing"),+ ('6', 22, InTerms, Just "GHC.Internal.Maybe", "Nothing"),+ ('6', 23, InTerms, Just "GHC.Internal.Maybe", "$tc'Nothing"),+ ('6', 24, InTerms, Just "GHC.Internal.Maybe", "Just"),+ ('6', 25, InTerms, Just "GHC.Internal.Maybe", "Just"),+ ('6', 26, InTerms, Just "GHC.Internal.Maybe", "$tc'Just"),+ ('6', 27, InTerms, Just "GHC.Types", "Eq#"),+ ('6', 28, InTerms, Just "GHC.Types", "Eq#"),+ ('6', 29, InTerms, Just "GHC.Types", "$tc'Eq#"),+ ('6', 30, InTerms, Nothing, "[]"),+ ('6', 31, InTerms, Just "GHC.Types", "[]"),+ ('6', 32, InTerms, Just "GHC.Types", "$tc'[]"),+ ('6', 33, InTerms, Just "GHC.Internal.Real", ":%"),+ ('6', 42, InTerms, Just "GHC.Types", "True"),+ ('6', 43, InTerms, Just "GHC.Types", "True"),+ ('6', 44, InTerms, Just "GHC.Types", "$tc'True"),+ ('6', 45, InTerms, Just "GHC.Types", "W#"),+ ('6', 46, InTerms, Just "GHC.Types", "W#"),+ ('6', 47, InTerms, Just "GHC.Types", "$tc'W#"),+ ('6', 48, InTerms, Just "GHC.Types", "IO"),+ ('6', 54, InTerms, Just "GHC.Types", "HEq#"),+ ('6', 55, InTerms, Just "GHC.Types", "HEq#"),+ ('6', 56, InTerms, Just "GHC.Types", "$tc'HEq#"),+ ('6', 75, InTerms, Just "GHC.Internal.Data.Either", "Left"),+ ('6', 78, InTerms, Just "GHC.Internal.Data.Either", "Right"),+ ('6', 81, InTerms, Just "GHC.Types", "LT"),+ ('6', 82, InTerms, Just "GHC.Types", "LT"),+ ('6', 83, InTerms, Just "GHC.Types", "$tc'LT"),+ ('6', 84, InTerms, Just "GHC.Types", "EQ"),+ ('6', 85, InTerms, Just "GHC.Types", "EQ"),+ ('6', 86, InTerms, Just "GHC.Types", "$tc'EQ"),+ ('6', 87, InTerms, Just "GHC.Types", "GT"),+ ('6', 88, InTerms, Just "GHC.Types", "GT"),+ ('6', 89, InTerms, Just "GHC.Types", "$tc'GT"),+ ('6', 96, InTerms, Just "GHC.Types", "MkCoercible"),+ ('6', 97, InTerms, Just "GHC.Types", "MkCoercible"),+ ('6', 98, InTerms, Just "GHC.Types", "$tc'MkCoercible"),+ ('6', 99, InTerms, Just "GHC.Internal.StaticPtr", "StaticPtr"),+ ('6', 102, InTerms, Just "GHC.Internal.StaticPtr", "StaticPtrInfo"),+ ('6', 105, InTerms, Just "GHC.Internal.Fingerprint.Type", "Fingerprint"),+ ('6', 111, InTerms, Just "GHC.Internal.Stack.Types", "SrcLoc"),+ ('6', 123, InTerms, Just "GHC.Types", "TyCon"),+ ('6', 129, InTerms, Just "GHC.Types", "Module"),+ ('6', 135, InTerms, Just "GHC.Types", "TrNameS"),+ ('6', 138, InTerms, Just "GHC.Types", "TrNameD"),+ ('6', 141, InTerms, Just "GHC.Types", "tr$ModuleGHCPrim"),+ ('6', 150, InTerms, Just "GHC.Internal.TypeError", "Text"),+ ('6', 153, InTerms, Just "GHC.Internal.TypeError", ":<>:"),+ ('6', 156, InTerms, Just "GHC.Internal.TypeError", ":$$:"),+ ('6', 159, InTerms, Just "GHC.Internal.TypeError", "ShowType"),+ ('6', 162, InTerms, Just "GHC.Internal.Generics", "PrefixI"),+ ('6', 165, InTerms, Just "GHC.Internal.Generics", "InfixI"),+ ('6', 168, InTerms, Just "GHC.Internal.Generics", "LeftAssociative"),+ ('6', 171, InTerms, Just "GHC.Internal.Generics", "RightAssociative"),+ ('6', 174, InTerms, Just "GHC.Internal.Generics", "NotAssociative"),+ ('6', 177, InTerms, Just "GHC.Internal.Generics", "SourceUnpack"),+ ('6', 180, InTerms, Just "GHC.Internal.Generics", "SourceNoUnpack"),+ ('6', 183, InTerms, Just "GHC.Internal.Generics", "NoSourceUnpackedness"),+ ('6', 186, InTerms, Just "GHC.Internal.Generics", "SourceLazy"),+ ('6', 189, InTerms, Just "GHC.Internal.Generics", "SourceStrict"),+ ('6', 192, InTerms, Just "GHC.Internal.Generics", "NoSourceStrictness"),+ ('6', 195, InTerms, Just "GHC.Internal.Generics", "DecidedLazy"),+ ('6', 198, InTerms, Just "GHC.Internal.Generics", "DecidedStrict"),+ ('6', 201, InTerms, Just "GHC.Internal.Generics", "DecidedUnpack"),+ ('6', 204, InTerms, Just "GHC.Internal.Generics", "MetaData"),+ ('6', 207, InTerms, Just "GHC.Internal.Generics", "MetaCons"),+ ('6', 210, InTerms, Just "GHC.Internal.Generics", "MetaSel"),+ ('6', 213, InTerms, Just "GHC.Types", "VecRep"),+ ('6', 214, InTerms, Just "GHC.Types", "VecRep"),+ ('6', 215, InTerms, Just "GHC.Types", "$tc'VecRep"),+ ('6', 216, InTerms, Just "GHC.Types", "TupleRep"),+ ('6', 217, InTerms, Just "GHC.Types", "TupleRep"),+ ('6', 218, InTerms, Just "GHC.Types", "$tc'TupleRep"),+ ('6', 219, InTerms, Just "GHC.Types", "SumRep"),+ ('6', 220, InTerms, Just "GHC.Types", "SumRep"),+ ('6', 221, InTerms, Just "GHC.Types", "$tc'SumRep"),+ ('6', 222, InTerms, Just "GHC.Types", "BoxedRep"),+ ('6', 223, InTerms, Just "GHC.Types", "BoxedRep"),+ ('6', 224, InTerms, Just "GHC.Types", "$tc'BoxedRep"),+ ('6', 225, InTerms, Just "GHC.Types", "IntRep"),+ ('6', 226, InTerms, Just "GHC.Types", "IntRep"),+ ('6', 227, InTerms, Just "GHC.Types", "$tc'IntRep"),+ ('6', 228, InTerms, Just "GHC.Types", "Int8Rep"),+ ('6', 229, InTerms, Just "GHC.Types", "Int8Rep"),+ ('6', 230, InTerms, Just "GHC.Types", "$tc'Int8Rep"),+ ('6', 231, InTerms, Just "GHC.Types", "Int16Rep"),+ ('6', 232, InTerms, Just "GHC.Types", "Int16Rep"),+ ('6', 233, InTerms, Just "GHC.Types", "$tc'Int16Rep"),+ ('6', 234, InTerms, Just "GHC.Types", "Int32Rep"),+ ('6', 235, InTerms, Just "GHC.Types", "Int32Rep"),+ ('6', 236, InTerms, Just "GHC.Types", "$tc'Int32Rep"),+ ('6', 237, InTerms, Just "GHC.Types", "Int64Rep"),+ ('6', 238, InTerms, Just "GHC.Types", "Int64Rep"),+ ('6', 239, InTerms, Just "GHC.Types", "$tc'Int64Rep"),+ ('6', 240, InTerms, Just "GHC.Types", "WordRep"),+ ('6', 241, InTerms, Just "GHC.Types", "WordRep"),+ ('6', 242, InTerms, Just "GHC.Types", "$tc'WordRep"),+ ('6', 243, InTerms, Just "GHC.Types", "Word8Rep"),+ ('6', 244, InTerms, Just "GHC.Types", "Word8Rep"),+ ('6', 245, InTerms, Just "GHC.Types", "$tc'Word8Rep"),+ ('6', 246, InTerms, Just "GHC.Types", "Word16Rep"),+ ('6', 247, InTerms, Just "GHC.Types", "Word16Rep"),+ ('6', 248, InTerms, Just "GHC.Types", "$tc'Word16Rep"),+ ('6', 249, InTerms, Just "GHC.Types", "Word32Rep"),+ ('6', 250, InTerms, Just "GHC.Types", "Word32Rep"),+ ('6', 251, InTerms, Just "GHC.Types", "$tc'Word32Rep"),+ ('6', 252, InTerms, Just "GHC.Types", "Word64Rep"),+ ('6', 253, InTerms, Just "GHC.Types", "Word64Rep"),+ ('6', 254, InTerms, Just "GHC.Types", "$tc'Word64Rep"),+ ('6', 255, InTerms, Just "GHC.Types", "AddrRep"),+ ('6', 256, InTerms, Just "GHC.Types", "AddrRep"),+ ('6', 257, InTerms, Just "GHC.Types", "$tc'AddrRep"),+ ('6', 258, InTerms, Just "GHC.Types", "FloatRep"),+ ('6', 259, InTerms, Just "GHC.Types", "FloatRep"),+ ('6', 260, InTerms, Just "GHC.Types", "$tc'FloatRep"),+ ('6', 261, InTerms, Just "GHC.Types", "DoubleRep"),+ ('6', 262, InTerms, Just "GHC.Types", "DoubleRep"),+ ('6', 263, InTerms, Just "GHC.Types", "$tc'DoubleRep"),+ ('6', 264, InTerms, Just "GHC.Types", "Lifted"),+ ('6', 265, InTerms, Just "GHC.Types", "Lifted"),+ ('6', 266, InTerms, Just "GHC.Types", "$tc'Lifted"),+ ('6', 267, InTerms, Just "GHC.Types", "Unlifted"),+ ('6', 268, InTerms, Just "GHC.Types", "Unlifted"),+ ('6', 269, InTerms, Just "GHC.Types", "$tc'Unlifted"),+ ('6', 270, InTerms, Just "GHC.Types", "Vec2"),+ ('6', 271, InTerms, Just "GHC.Types", "Vec2"),+ ('6', 272, InTerms, Just "GHC.Types", "$tc'Vec2"),+ ('6', 273, InTerms, Just "GHC.Types", "Vec4"),+ ('6', 274, InTerms, Just "GHC.Types", "Vec4"),+ ('6', 275, InTerms, Just "GHC.Types", "$tc'Vec4"),+ ('6', 276, InTerms, Just "GHC.Types", "Vec8"),+ ('6', 277, InTerms, Just "GHC.Types", "Vec8"),+ ('6', 278, InTerms, Just "GHC.Types", "$tc'Vec8"),+ ('6', 279, InTerms, Just "GHC.Types", "Vec16"),+ ('6', 280, InTerms, Just "GHC.Types", "Vec16"),+ ('6', 281, InTerms, Just "GHC.Types", "$tc'Vec16"),+ ('6', 282, InTerms, Just "GHC.Types", "Vec32"),+ ('6', 283, InTerms, Just "GHC.Types", "Vec32"),+ ('6', 284, InTerms, Just "GHC.Types", "$tc'Vec32"),+ ('6', 285, InTerms, Just "GHC.Types", "Vec64"),+ ('6', 286, InTerms, Just "GHC.Types", "Vec64"),+ ('6', 287, InTerms, Just "GHC.Types", "$tc'Vec64"),+ ('6', 288, InTerms, Just "GHC.Types", "Int8ElemRep"),+ ('6', 289, InTerms, Just "GHC.Types", "Int8ElemRep"),+ ('6', 290, InTerms, Just "GHC.Types", "$tc'Int8ElemRep"),+ ('6', 291, InTerms, Just "GHC.Types", "Int16ElemRep"),+ ('6', 292, InTerms, Just "GHC.Types", "Int16ElemRep"),+ ('6', 293, InTerms, Just "GHC.Types", "$tc'Int16ElemRep"),+ ('6', 294, InTerms, Just "GHC.Types", "Int32ElemRep"),+ ('6', 295, InTerms, Just "GHC.Types", "Int32ElemRep"),+ ('6', 296, InTerms, Just "GHC.Types", "$tc'Int32ElemRep"),+ ('6', 297, InTerms, Just "GHC.Types", "Int64ElemRep"),+ ('6', 298, InTerms, Just "GHC.Types", "Int64ElemRep"),+ ('6', 299, InTerms, Just "GHC.Types", "$tc'Int64ElemRep"),+ ('6', 300, InTerms, Just "GHC.Types", "Word8ElemRep"),+ ('6', 301, InTerms, Just "GHC.Types", "Word8ElemRep"),+ ('6', 302, InTerms, Just "GHC.Types", "$tc'Word8ElemRep"),+ ('6', 303, InTerms, Just "GHC.Types", "Word16ElemRep"),+ ('6', 304, InTerms, Just "GHC.Types", "Word16ElemRep"),+ ('6', 305, InTerms, Just "GHC.Types", "$tc'Word16ElemRep"),+ ('6', 306, InTerms, Just "GHC.Types", "Word32ElemRep"),+ ('6', 307, InTerms, Just "GHC.Types", "Word32ElemRep"),+ ('6', 308, InTerms, Just "GHC.Types", "$tc'Word32ElemRep"),+ ('6', 309, InTerms, Just "GHC.Types", "Word64ElemRep"),+ ('6', 310, InTerms, Just "GHC.Types", "Word64ElemRep"),+ ('6', 311, InTerms, Just "GHC.Types", "$tc'Word64ElemRep"),+ ('6', 312, InTerms, Just "GHC.Types", "FloatElemRep"),+ ('6', 313, InTerms, Just "GHC.Types", "FloatElemRep"),+ ('6', 314, InTerms, Just "GHC.Types", "$tc'FloatElemRep"),+ ('6', 315, InTerms, Just "GHC.Types", "DoubleElemRep"),+ ('6', 316, InTerms, Just "GHC.Types", "DoubleElemRep"),+ ('6', 317, InTerms, Just "GHC.Types", "$tc'DoubleElemRep"),+ ('6', 318, InTerms, Just "GHC.Types", "KindRepTyConApp"),+ ('6', 321, InTerms, Just "GHC.Types", "KindRepVar"),+ ('6', 324, InTerms, Just "GHC.Types", "KindRepApp"),+ ('6', 327, InTerms, Just "GHC.Types", "KindRepFun"),+ ('6', 330, InTerms, Just "GHC.Types", "KindRepTYPE"),+ ('6', 333, InTerms, Just "GHC.Types", "KindRepTypeLitS"),+ ('6', 336, InTerms, Just "GHC.Types", "KindRepTypeLitD"),+ ('6', 339, InTerms, Just "GHC.Types", "TypeLitSymbol"),+ ('6', 342, InTerms, Just "GHC.Types", "TypeLitNat"),+ ('6', 345, InTerms, Just "GHC.Types", "TypeLitChar"),+ ('6', 348, InTerms, Just "GHC.Internal.Unsafe.Coerce", "UnsafeRefl"),+ ('6', 351, InTerms, Just "GHC.Types", "One"),+ ('6', 352, InTerms, Just "GHC.Types", "One"),+ ('6', 353, InTerms, Just "GHC.Types", "$tc'One"),+ ('6', 354, InTerms, Just "GHC.Types", "Many"),+ ('6', 355, InTerms, Just "GHC.Types", "Many"),+ ('6', 356, InTerms, Just "GHC.Types", "$tc'Many"),+ ('6', 360, InTerms, Just "GHC.Num.Integer", "IS"),+ ('6', 361, InTerms, Just "GHC.Num.Integer", "IS"),+ ('6', 362, InTerms, Just "GHC.Num.Integer", "$tc'IS"),+ ('6', 363, InTerms, Just "GHC.Num.Integer", "IN"),+ ('6', 364, InTerms, Just "GHC.Num.Integer", "IN"),+ ('6', 365, InTerms, Just "GHC.Num.Integer", "$tc'IN"),+ ('6', 366, InTerms, Just "GHC.Num.Integer", "IP"),+ ('6', 367, InTerms, Just "GHC.Num.Integer", "IP"),+ ('6', 368, InTerms, Just "GHC.Num.Integer", "$tc'IP"),+ ('6', 369, InTerms, Just "GHC.Num.Natural", "NS"),+ ('6', 370, InTerms, Just "GHC.Num.Natural", "NS"),+ ('6', 371, InTerms, Just "GHC.Num.Natural", "$tc'NS"),+ ('6', 372, InTerms, Just "GHC.Num.Natural", "NB"),+ ('6', 373, InTerms, Just "GHC.Num.Natural", "NB"),+ ('6', 374, InTerms, Just "GHC.Num.Natural", "$tc'NB"),+ ('6', 600, InTerms, Just "GHC.Internal.TH.Syntax", "NoInline"),+ ('6', 603, InTerms, Just "GHC.Internal.TH.Syntax", "Inline"),+ ('6', 606, InTerms, Just "GHC.Internal.TH.Syntax", "Inlinable"),+ ('6', 612, InTerms, Just "GHC.Internal.TH.Syntax", "ConLike"),+ ('6', 615, InTerms, Just "GHC.Internal.TH.Syntax", "FunLike"),+ ('6', 618, InTerms, Just "GHC.Internal.TH.Syntax", "AllPhases"),+ ('6', 621, InTerms, Just "GHC.Internal.TH.Syntax", "FromPhase"),+ ('6', 624, InTerms, Just "GHC.Internal.TH.Syntax", "BeforePhase"),+ ('6', 627, InTerms, Just "GHC.Internal.TH.Syntax", "Overlappable"),+ ('6', 630, InTerms, Just "GHC.Internal.TH.Syntax", "Overlapping"),+ ('6', 633, InTerms, Just "GHC.Internal.TH.Syntax", "Overlaps"),+ ('6', 636, InTerms, Just "GHC.Internal.TH.Syntax", "Incoherent"),+ ('6', 639, InTerms, Just "GHC.Internal.TH.Syntax", "NoNamespaceSpecifier"),+ ('6', 642, InTerms, Just "GHC.Internal.TH.Syntax", "TypeNamespaceSpecifier"),+ ('6', 645, InTerms, Just "GHC.Internal.TH.Syntax", "DataNamespaceSpecifier"),+ ('6', 1482, InTerms, Just "GHC.Internal.TH.Lib", "stockStrategy"),+ ('6', 1485, InTerms, Just "GHC.Internal.TH.Lib", "anyclassStrategy"),+ ('6', 1488, InTerms, Just "GHC.Internal.TH.Lib", "newtypeStrategy"),+ ('6', 1491, InTerms, Just "GHC.Internal.TH.Lib", "viaStrategy"),+ ('7', 0, InTerms, Nothing, "()"),+ ('7', 1, InTerms, Just "GHC.Tuple", "()"),+ ('7', 2, InTerms, Just "GHC.Tuple", "$tc'()"),+ ('7', 3, InTerms, Nothing, "MkSolo"),+ ('7', 4, InTerms, Just "GHC.Tuple", "MkSolo"),+ ('7', 5, InTerms, Just "GHC.Tuple", "$tc'MkSolo"),+ ('8', 0, InTerms, Nothing, "(##)"),+ ('8', 1, InTerms, Just "GHC.Types", "(##)"),+ ('8', 2, InTerms, Just "GHC.Types", "$tc'(##)"),+ ('9', 0, InTerms, Just "GHC.Prim", "gtChar#"),+ ('9', 1, InTerms, Just "GHC.PrimopWrappers", "gtChar#"),+ ('9', 2, InTerms, Just "GHC.Prim", "geChar#"),+ ('9', 3, InTerms, Just "GHC.PrimopWrappers", "geChar#"),+ ('9', 4, InTerms, Just "GHC.Prim", "eqChar#"),+ ('9', 5, InTerms, Just "GHC.PrimopWrappers", "eqChar#"),+ ('9', 6, InTerms, Just "GHC.Prim", "neChar#"),+ ('9', 7, InTerms, Just "GHC.PrimopWrappers", "neChar#"),+ ('9', 8, InTerms, Just "GHC.Prim", "ltChar#"),+ ('9', 9, InTerms, Just "GHC.PrimopWrappers", "ltChar#"),+ ('9', 10, InTerms, Just "GHC.Prim", "leChar#"),+ ('9', 11, InTerms, Just "GHC.PrimopWrappers", "leChar#"),+ ('9', 12, InTerms, Just "GHC.Prim", "ord#"),+ ('9', 13, InTerms, Just "GHC.PrimopWrappers", "ord#"),+ ('9', 14, InTerms, Just "GHC.Prim", "int8ToInt#"),+ ('9', 15, InTerms, Just "GHC.PrimopWrappers", "int8ToInt#"),+ ('9', 16, InTerms, Just "GHC.Prim", "intToInt8#"),+ ('9', 17, InTerms, Just "GHC.PrimopWrappers", "intToInt8#"),+ ('9', 18, InTerms, Just "GHC.Prim", "negateInt8#"),+ ('9', 19, InTerms, Just "GHC.PrimopWrappers", "negateInt8#"),+ ('9', 20, InTerms, Just "GHC.Prim", "plusInt8#"),+ ('9', 21, InTerms, Just "GHC.PrimopWrappers", "plusInt8#"),+ ('9', 22, InTerms, Just "GHC.Prim", "subInt8#"),+ ('9', 23, InTerms, Just "GHC.PrimopWrappers", "subInt8#"),+ ('9', 24, InTerms, Just "GHC.Prim", "timesInt8#"),+ ('9', 25, InTerms, Just "GHC.PrimopWrappers", "timesInt8#"),+ ('9', 26, InTerms, Just "GHC.Prim", "quotInt8#"),+ ('9', 27, InTerms, Just "GHC.PrimopWrappers", "quotInt8#"),+ ('9', 28, InTerms, Just "GHC.Prim", "remInt8#"),+ ('9', 29, InTerms, Just "GHC.PrimopWrappers", "remInt8#"),+ ('9', 30, InTerms, Just "GHC.Prim", "quotRemInt8#"),+ ('9', 31, InTerms, Just "GHC.PrimopWrappers", "quotRemInt8#"),+ ('9', 32, InTerms, Just "GHC.Prim", "uncheckedShiftLInt8#"),+ ('9', 33, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLInt8#"),+ ('9', 34, InTerms, Just "GHC.Prim", "uncheckedShiftRAInt8#"),+ ('9', 35, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRAInt8#"),+ ('9', 36, InTerms, Just "GHC.Prim", "uncheckedShiftRLInt8#"),+ ('9', 37, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLInt8#"),+ ('9', 38, InTerms, Just "GHC.Prim", "int8ToWord8#"),+ ('9', 39, InTerms, Just "GHC.PrimopWrappers", "int8ToWord8#"),+ ('9', 40, InTerms, Just "GHC.Prim", "eqInt8#"),+ ('9', 41, InTerms, Just "GHC.PrimopWrappers", "eqInt8#"),+ ('9', 42, InTerms, Just "GHC.Prim", "geInt8#"),+ ('9', 43, InTerms, Just "GHC.PrimopWrappers", "geInt8#"),+ ('9', 44, InTerms, Just "GHC.Prim", "gtInt8#"),+ ('9', 45, InTerms, Just "GHC.PrimopWrappers", "gtInt8#"),+ ('9', 46, InTerms, Just "GHC.Prim", "leInt8#"),+ ('9', 47, InTerms, Just "GHC.PrimopWrappers", "leInt8#"),+ ('9', 48, InTerms, Just "GHC.Prim", "ltInt8#"),+ ('9', 49, InTerms, Just "GHC.PrimopWrappers", "ltInt8#"),+ ('9', 50, InTerms, Just "GHC.Prim", "neInt8#"),+ ('9', 51, InTerms, Just "GHC.PrimopWrappers", "neInt8#"),+ ('9', 52, InTerms, Just "GHC.Prim", "word8ToWord#"),+ ('9', 53, InTerms, Just "GHC.PrimopWrappers", "word8ToWord#"),+ ('9', 54, InTerms, Just "GHC.Prim", "wordToWord8#"),+ ('9', 55, InTerms, Just "GHC.PrimopWrappers", "wordToWord8#"),+ ('9', 56, InTerms, Just "GHC.Prim", "plusWord8#"),+ ('9', 57, InTerms, Just "GHC.PrimopWrappers", "plusWord8#"),+ ('9', 58, InTerms, Just "GHC.Prim", "subWord8#"),+ ('9', 59, InTerms, Just "GHC.PrimopWrappers", "subWord8#"),+ ('9', 60, InTerms, Just "GHC.Prim", "timesWord8#"),+ ('9', 61, InTerms, Just "GHC.PrimopWrappers", "timesWord8#"),+ ('9', 62, InTerms, Just "GHC.Prim", "quotWord8#"),+ ('9', 63, InTerms, Just "GHC.PrimopWrappers", "quotWord8#"),+ ('9', 64, InTerms, Just "GHC.Prim", "remWord8#"),+ ('9', 65, InTerms, Just "GHC.PrimopWrappers", "remWord8#"),+ ('9', 66, InTerms, Just "GHC.Prim", "quotRemWord8#"),+ ('9', 67, InTerms, Just "GHC.PrimopWrappers", "quotRemWord8#"),+ ('9', 68, InTerms, Just "GHC.Prim", "andWord8#"),+ ('9', 69, InTerms, Just "GHC.PrimopWrappers", "andWord8#"),+ ('9', 70, InTerms, Just "GHC.Prim", "orWord8#"),+ ('9', 71, InTerms, Just "GHC.PrimopWrappers", "orWord8#"),+ ('9', 72, InTerms, Just "GHC.Prim", "xorWord8#"),+ ('9', 73, InTerms, Just "GHC.PrimopWrappers", "xorWord8#"),+ ('9', 74, InTerms, Just "GHC.Prim", "notWord8#"),+ ('9', 75, InTerms, Just "GHC.PrimopWrappers", "notWord8#"),+ ('9', 76, InTerms, Just "GHC.Prim", "uncheckedShiftLWord8#"),+ ('9', 77, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLWord8#"),+ ('9', 78, InTerms, Just "GHC.Prim", "uncheckedShiftRLWord8#"),+ ('9', 79, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLWord8#"),+ ('9', 80, InTerms, Just "GHC.Prim", "word8ToInt8#"),+ ('9', 81, InTerms, Just "GHC.PrimopWrappers", "word8ToInt8#"),+ ('9', 82, InTerms, Just "GHC.Prim", "eqWord8#"),+ ('9', 83, InTerms, Just "GHC.PrimopWrappers", "eqWord8#"),+ ('9', 84, InTerms, Just "GHC.Prim", "geWord8#"),+ ('9', 85, InTerms, Just "GHC.PrimopWrappers", "geWord8#"),+ ('9', 86, InTerms, Just "GHC.Prim", "gtWord8#"),+ ('9', 87, InTerms, Just "GHC.PrimopWrappers", "gtWord8#"),+ ('9', 88, InTerms, Just "GHC.Prim", "leWord8#"),+ ('9', 89, InTerms, Just "GHC.PrimopWrappers", "leWord8#"),+ ('9', 90, InTerms, Just "GHC.Prim", "ltWord8#"),+ ('9', 91, InTerms, Just "GHC.PrimopWrappers", "ltWord8#"),+ ('9', 92, InTerms, Just "GHC.Prim", "neWord8#"),+ ('9', 93, InTerms, Just "GHC.PrimopWrappers", "neWord8#"),+ ('9', 94, InTerms, Just "GHC.Prim", "int16ToInt#"),+ ('9', 95, InTerms, Just "GHC.PrimopWrappers", "int16ToInt#"),+ ('9', 96, InTerms, Just "GHC.Prim", "intToInt16#"),+ ('9', 97, InTerms, Just "GHC.PrimopWrappers", "intToInt16#"),+ ('9', 98, InTerms, Just "GHC.Prim", "negateInt16#"),+ ('9', 99, InTerms, Just "GHC.PrimopWrappers", "negateInt16#"),+ ('9', 100, InTerms, Just "GHC.Prim", "plusInt16#"),+ ('9', 101, InTerms, Just "GHC.PrimopWrappers", "plusInt16#"),+ ('9', 102, InTerms, Just "GHC.Prim", "subInt16#"),+ ('9', 103, InTerms, Just "GHC.PrimopWrappers", "subInt16#"),+ ('9', 104, InTerms, Just "GHC.Prim", "timesInt16#"),+ ('9', 105, InTerms, Just "GHC.PrimopWrappers", "timesInt16#"),+ ('9', 106, InTerms, Just "GHC.Prim", "quotInt16#"),+ ('9', 107, InTerms, Just "GHC.PrimopWrappers", "quotInt16#"),+ ('9', 108, InTerms, Just "GHC.Prim", "remInt16#"),+ ('9', 109, InTerms, Just "GHC.PrimopWrappers", "remInt16#"),+ ('9', 110, InTerms, Just "GHC.Prim", "quotRemInt16#"),+ ('9', 111, InTerms, Just "GHC.PrimopWrappers", "quotRemInt16#"),+ ('9', 112, InTerms, Just "GHC.Prim", "uncheckedShiftLInt16#"),+ ('9', 113, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLInt16#"),+ ('9', 114, InTerms, Just "GHC.Prim", "uncheckedShiftRAInt16#"),+ ('9', 115, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRAInt16#"),+ ('9', 116, InTerms, Just "GHC.Prim", "uncheckedShiftRLInt16#"),+ ('9', 117, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLInt16#"),+ ('9', 118, InTerms, Just "GHC.Prim", "int16ToWord16#"),+ ('9', 119, InTerms, Just "GHC.PrimopWrappers", "int16ToWord16#"),+ ('9', 120, InTerms, Just "GHC.Prim", "eqInt16#"),+ ('9', 121, InTerms, Just "GHC.PrimopWrappers", "eqInt16#"),+ ('9', 122, InTerms, Just "GHC.Prim", "geInt16#"),+ ('9', 123, InTerms, Just "GHC.PrimopWrappers", "geInt16#"),+ ('9', 124, InTerms, Just "GHC.Prim", "gtInt16#"),+ ('9', 125, InTerms, Just "GHC.PrimopWrappers", "gtInt16#"),+ ('9', 126, InTerms, Just "GHC.Prim", "leInt16#"),+ ('9', 127, InTerms, Just "GHC.PrimopWrappers", "leInt16#"),+ ('9', 128, InTerms, Just "GHC.Prim", "ltInt16#"),+ ('9', 129, InTerms, Just "GHC.PrimopWrappers", "ltInt16#"),+ ('9', 130, InTerms, Just "GHC.Prim", "neInt16#"),+ ('9', 131, InTerms, Just "GHC.PrimopWrappers", "neInt16#"),+ ('9', 132, InTerms, Just "GHC.Prim", "word16ToWord#"),+ ('9', 133, InTerms, Just "GHC.PrimopWrappers", "word16ToWord#"),+ ('9', 134, InTerms, Just "GHC.Prim", "wordToWord16#"),+ ('9', 135, InTerms, Just "GHC.PrimopWrappers", "wordToWord16#"),+ ('9', 136, InTerms, Just "GHC.Prim", "plusWord16#"),+ ('9', 137, InTerms, Just "GHC.PrimopWrappers", "plusWord16#"),+ ('9', 138, InTerms, Just "GHC.Prim", "subWord16#"),+ ('9', 139, InTerms, Just "GHC.PrimopWrappers", "subWord16#"),+ ('9', 140, InTerms, Just "GHC.Prim", "timesWord16#"),+ ('9', 141, InTerms, Just "GHC.PrimopWrappers", "timesWord16#"),+ ('9', 142, InTerms, Just "GHC.Prim", "quotWord16#"),+ ('9', 143, InTerms, Just "GHC.PrimopWrappers", "quotWord16#"),+ ('9', 144, InTerms, Just "GHC.Prim", "remWord16#"),+ ('9', 145, InTerms, Just "GHC.PrimopWrappers", "remWord16#"),+ ('9', 146, InTerms, Just "GHC.Prim", "quotRemWord16#"),+ ('9', 147, InTerms, Just "GHC.PrimopWrappers", "quotRemWord16#"),+ ('9', 148, InTerms, Just "GHC.Prim", "andWord16#"),+ ('9', 149, InTerms, Just "GHC.PrimopWrappers", "andWord16#"),+ ('9', 150, InTerms, Just "GHC.Prim", "orWord16#"),+ ('9', 151, InTerms, Just "GHC.PrimopWrappers", "orWord16#"),+ ('9', 152, InTerms, Just "GHC.Prim", "xorWord16#"),+ ('9', 153, InTerms, Just "GHC.PrimopWrappers", "xorWord16#"),+ ('9', 154, InTerms, Just "GHC.Prim", "notWord16#"),+ ('9', 155, InTerms, Just "GHC.PrimopWrappers", "notWord16#"),+ ('9', 156, InTerms, Just "GHC.Prim", "uncheckedShiftLWord16#"),+ ('9', 157, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLWord16#"),+ ('9', 158, InTerms, Just "GHC.Prim", "uncheckedShiftRLWord16#"),+ ('9', 159, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLWord16#"),+ ('9', 160, InTerms, Just "GHC.Prim", "word16ToInt16#"),+ ('9', 161, InTerms, Just "GHC.PrimopWrappers", "word16ToInt16#"),+ ('9', 162, InTerms, Just "GHC.Prim", "eqWord16#"),+ ('9', 163, InTerms, Just "GHC.PrimopWrappers", "eqWord16#"),+ ('9', 164, InTerms, Just "GHC.Prim", "geWord16#"),+ ('9', 165, InTerms, Just "GHC.PrimopWrappers", "geWord16#"),+ ('9', 166, InTerms, Just "GHC.Prim", "gtWord16#"),+ ('9', 167, InTerms, Just "GHC.PrimopWrappers", "gtWord16#"),+ ('9', 168, InTerms, Just "GHC.Prim", "leWord16#"),+ ('9', 169, InTerms, Just "GHC.PrimopWrappers", "leWord16#"),+ ('9', 170, InTerms, Just "GHC.Prim", "ltWord16#"),+ ('9', 171, InTerms, Just "GHC.PrimopWrappers", "ltWord16#"),+ ('9', 172, InTerms, Just "GHC.Prim", "neWord16#"),+ ('9', 173, InTerms, Just "GHC.PrimopWrappers", "neWord16#"),+ ('9', 174, InTerms, Just "GHC.Prim", "int32ToInt#"),+ ('9', 175, InTerms, Just "GHC.PrimopWrappers", "int32ToInt#"),+ ('9', 176, InTerms, Just "GHC.Prim", "intToInt32#"),+ ('9', 177, InTerms, Just "GHC.PrimopWrappers", "intToInt32#"),+ ('9', 178, InTerms, Just "GHC.Prim", "negateInt32#"),+ ('9', 179, InTerms, Just "GHC.PrimopWrappers", "negateInt32#"),+ ('9', 180, InTerms, Just "GHC.Prim", "plusInt32#"),+ ('9', 181, InTerms, Just "GHC.PrimopWrappers", "plusInt32#"),+ ('9', 182, InTerms, Just "GHC.Prim", "subInt32#"),+ ('9', 183, InTerms, Just "GHC.PrimopWrappers", "subInt32#"),+ ('9', 184, InTerms, Just "GHC.Prim", "timesInt32#"),+ ('9', 185, InTerms, Just "GHC.PrimopWrappers", "timesInt32#"),+ ('9', 186, InTerms, Just "GHC.Prim", "quotInt32#"),+ ('9', 187, InTerms, Just "GHC.PrimopWrappers", "quotInt32#"),+ ('9', 188, InTerms, Just "GHC.Prim", "remInt32#"),+ ('9', 189, InTerms, Just "GHC.PrimopWrappers", "remInt32#"),+ ('9', 190, InTerms, Just "GHC.Prim", "quotRemInt32#"),+ ('9', 191, InTerms, Just "GHC.PrimopWrappers", "quotRemInt32#"),+ ('9', 192, InTerms, Just "GHC.Prim", "uncheckedShiftLInt32#"),+ ('9', 193, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLInt32#"),+ ('9', 194, InTerms, Just "GHC.Prim", "uncheckedShiftRAInt32#"),+ ('9', 195, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRAInt32#"),+ ('9', 196, InTerms, Just "GHC.Prim", "uncheckedShiftRLInt32#"),+ ('9', 197, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLInt32#"),+ ('9', 198, InTerms, Just "GHC.Prim", "int32ToWord32#"),+ ('9', 199, InTerms, Just "GHC.PrimopWrappers", "int32ToWord32#"),+ ('9', 200, InTerms, Just "GHC.Prim", "eqInt32#"),+ ('9', 201, InTerms, Just "GHC.PrimopWrappers", "eqInt32#"),+ ('9', 202, InTerms, Just "GHC.Prim", "geInt32#"),+ ('9', 203, InTerms, Just "GHC.PrimopWrappers", "geInt32#"),+ ('9', 204, InTerms, Just "GHC.Prim", "gtInt32#"),+ ('9', 205, InTerms, Just "GHC.PrimopWrappers", "gtInt32#"),+ ('9', 206, InTerms, Just "GHC.Prim", "leInt32#"),+ ('9', 207, InTerms, Just "GHC.PrimopWrappers", "leInt32#"),+ ('9', 208, InTerms, Just "GHC.Prim", "ltInt32#"),+ ('9', 209, InTerms, Just "GHC.PrimopWrappers", "ltInt32#"),+ ('9', 210, InTerms, Just "GHC.Prim", "neInt32#"),+ ('9', 211, InTerms, Just "GHC.PrimopWrappers", "neInt32#"),+ ('9', 212, InTerms, Just "GHC.Prim", "word32ToWord#"),+ ('9', 213, InTerms, Just "GHC.PrimopWrappers", "word32ToWord#"),+ ('9', 214, InTerms, Just "GHC.Prim", "wordToWord32#"),+ ('9', 215, InTerms, Just "GHC.PrimopWrappers", "wordToWord32#"),+ ('9', 216, InTerms, Just "GHC.Prim", "plusWord32#"),+ ('9', 217, InTerms, Just "GHC.PrimopWrappers", "plusWord32#"),+ ('9', 218, InTerms, Just "GHC.Prim", "subWord32#"),+ ('9', 219, InTerms, Just "GHC.PrimopWrappers", "subWord32#"),+ ('9', 220, InTerms, Just "GHC.Prim", "timesWord32#"),+ ('9', 221, InTerms, Just "GHC.PrimopWrappers", "timesWord32#"),+ ('9', 222, InTerms, Just "GHC.Prim", "quotWord32#"),+ ('9', 223, InTerms, Just "GHC.PrimopWrappers", "quotWord32#"),+ ('9', 224, InTerms, Just "GHC.Prim", "remWord32#"),+ ('9', 225, InTerms, Just "GHC.PrimopWrappers", "remWord32#"),+ ('9', 226, InTerms, Just "GHC.Prim", "quotRemWord32#"),+ ('9', 227, InTerms, Just "GHC.PrimopWrappers", "quotRemWord32#"),+ ('9', 228, InTerms, Just "GHC.Prim", "andWord32#"),+ ('9', 229, InTerms, Just "GHC.PrimopWrappers", "andWord32#"),+ ('9', 230, InTerms, Just "GHC.Prim", "orWord32#"),+ ('9', 231, InTerms, Just "GHC.PrimopWrappers", "orWord32#"),+ ('9', 232, InTerms, Just "GHC.Prim", "xorWord32#"),+ ('9', 233, InTerms, Just "GHC.PrimopWrappers", "xorWord32#"),+ ('9', 234, InTerms, Just "GHC.Prim", "notWord32#"),+ ('9', 235, InTerms, Just "GHC.PrimopWrappers", "notWord32#"),+ ('9', 236, InTerms, Just "GHC.Prim", "uncheckedShiftLWord32#"),+ ('9', 237, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftLWord32#"),+ ('9', 238, InTerms, Just "GHC.Prim", "uncheckedShiftRLWord32#"),+ ('9', 239, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRLWord32#"),+ ('9', 240, InTerms, Just "GHC.Prim", "word32ToInt32#"),+ ('9', 241, InTerms, Just "GHC.PrimopWrappers", "word32ToInt32#"),+ ('9', 242, InTerms, Just "GHC.Prim", "eqWord32#"),+ ('9', 243, InTerms, Just "GHC.PrimopWrappers", "eqWord32#"),+ ('9', 244, InTerms, Just "GHC.Prim", "geWord32#"),+ ('9', 245, InTerms, Just "GHC.PrimopWrappers", "geWord32#"),+ ('9', 246, InTerms, Just "GHC.Prim", "gtWord32#"),+ ('9', 247, InTerms, Just "GHC.PrimopWrappers", "gtWord32#"),+ ('9', 248, InTerms, Just "GHC.Prim", "leWord32#"),+ ('9', 249, InTerms, Just "GHC.PrimopWrappers", "leWord32#"),+ ('9', 250, InTerms, Just "GHC.Prim", "ltWord32#"),+ ('9', 251, InTerms, Just "GHC.PrimopWrappers", "ltWord32#"),+ ('9', 252, InTerms, Just "GHC.Prim", "neWord32#"),+ ('9', 253, InTerms, Just "GHC.PrimopWrappers", "neWord32#"),+ ('9', 254, InTerms, Just "GHC.Prim", "int64ToInt#"),+ ('9', 255, InTerms, Just "GHC.PrimopWrappers", "int64ToInt#"),+ ('9', 256, InTerms, Just "GHC.Prim", "intToInt64#"),+ ('9', 257, InTerms, Just "GHC.PrimopWrappers", "intToInt64#"),+ ('9', 258, InTerms, Just "GHC.Prim", "negateInt64#"),+ ('9', 259, InTerms, Just "GHC.PrimopWrappers", "negateInt64#"),+ ('9', 260, InTerms, Just "GHC.Prim", "plusInt64#"),+ ('9', 261, InTerms, Just "GHC.PrimopWrappers", "plusInt64#"),+ ('9', 262, InTerms, Just "GHC.Prim", "subInt64#"),+ ('9', 263, InTerms, Just "GHC.PrimopWrappers", "subInt64#"),+ ('9', 264, InTerms, Just "GHC.Prim", "timesInt64#"),+ ('9', 265, InTerms, Just "GHC.PrimopWrappers", "timesInt64#"),+ ('9', 266, InTerms, Just "GHC.Prim", "quotInt64#"),+ ('9', 267, InTerms, Just "GHC.PrimopWrappers", "quotInt64#"),+ ('9', 268, InTerms, Just "GHC.Prim", "remInt64#"),+ ('9', 269, InTerms, Just "GHC.PrimopWrappers", "remInt64#"),+ ('9', 270, InTerms, Just "GHC.Prim", "uncheckedIShiftL64#"),+ ('9', 271, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftL64#"),+ ('9', 272, InTerms, Just "GHC.Prim", "uncheckedIShiftRA64#"),+ ('9', 273, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRA64#"),+ ('9', 274, InTerms, Just "GHC.Prim", "uncheckedIShiftRL64#"),+ ('9', 275, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRL64#"),+ ('9', 276, InTerms, Just "GHC.Prim", "int64ToWord64#"),+ ('9', 277, InTerms, Just "GHC.PrimopWrappers", "int64ToWord64#"),+ ('9', 278, InTerms, Just "GHC.Prim", "eqInt64#"),+ ('9', 279, InTerms, Just "GHC.PrimopWrappers", "eqInt64#"),+ ('9', 280, InTerms, Just "GHC.Prim", "geInt64#"),+ ('9', 281, InTerms, Just "GHC.PrimopWrappers", "geInt64#"),+ ('9', 282, InTerms, Just "GHC.Prim", "gtInt64#"),+ ('9', 283, InTerms, Just "GHC.PrimopWrappers", "gtInt64#"),+ ('9', 284, InTerms, Just "GHC.Prim", "leInt64#"),+ ('9', 285, InTerms, Just "GHC.PrimopWrappers", "leInt64#"),+ ('9', 286, InTerms, Just "GHC.Prim", "ltInt64#"),+ ('9', 287, InTerms, Just "GHC.PrimopWrappers", "ltInt64#"),+ ('9', 288, InTerms, Just "GHC.Prim", "neInt64#"),+ ('9', 289, InTerms, Just "GHC.PrimopWrappers", "neInt64#"),+ ('9', 290, InTerms, Just "GHC.Prim", "word64ToWord#"),+ ('9', 291, InTerms, Just "GHC.PrimopWrappers", "word64ToWord#"),+ ('9', 292, InTerms, Just "GHC.Prim", "wordToWord64#"),+ ('9', 293, InTerms, Just "GHC.PrimopWrappers", "wordToWord64#"),+ ('9', 294, InTerms, Just "GHC.Prim", "plusWord64#"),+ ('9', 295, InTerms, Just "GHC.PrimopWrappers", "plusWord64#"),+ ('9', 296, InTerms, Just "GHC.Prim", "subWord64#"),+ ('9', 297, InTerms, Just "GHC.PrimopWrappers", "subWord64#"),+ ('9', 298, InTerms, Just "GHC.Prim", "timesWord64#"),+ ('9', 299, InTerms, Just "GHC.PrimopWrappers", "timesWord64#"),+ ('9', 300, InTerms, Just "GHC.Prim", "quotWord64#"),+ ('9', 301, InTerms, Just "GHC.PrimopWrappers", "quotWord64#"),+ ('9', 302, InTerms, Just "GHC.Prim", "remWord64#"),+ ('9', 303, InTerms, Just "GHC.PrimopWrappers", "remWord64#"),+ ('9', 304, InTerms, Just "GHC.Prim", "and64#"),+ ('9', 305, InTerms, Just "GHC.PrimopWrappers", "and64#"),+ ('9', 306, InTerms, Just "GHC.Prim", "or64#"),+ ('9', 307, InTerms, Just "GHC.PrimopWrappers", "or64#"),+ ('9', 308, InTerms, Just "GHC.Prim", "xor64#"),+ ('9', 309, InTerms, Just "GHC.PrimopWrappers", "xor64#"),+ ('9', 310, InTerms, Just "GHC.Prim", "not64#"),+ ('9', 311, InTerms, Just "GHC.PrimopWrappers", "not64#"),+ ('9', 312, InTerms, Just "GHC.Prim", "uncheckedShiftL64#"),+ ('9', 313, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftL64#"),+ ('9', 314, InTerms, Just "GHC.Prim", "uncheckedShiftRL64#"),+ ('9', 315, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRL64#"),+ ('9', 316, InTerms, Just "GHC.Prim", "word64ToInt64#"),+ ('9', 317, InTerms, Just "GHC.PrimopWrappers", "word64ToInt64#"),+ ('9', 318, InTerms, Just "GHC.Prim", "eqWord64#"),+ ('9', 319, InTerms, Just "GHC.PrimopWrappers", "eqWord64#"),+ ('9', 320, InTerms, Just "GHC.Prim", "geWord64#"),+ ('9', 321, InTerms, Just "GHC.PrimopWrappers", "geWord64#"),+ ('9', 322, InTerms, Just "GHC.Prim", "gtWord64#"),+ ('9', 323, InTerms, Just "GHC.PrimopWrappers", "gtWord64#"),+ ('9', 324, InTerms, Just "GHC.Prim", "leWord64#"),+ ('9', 325, InTerms, Just "GHC.PrimopWrappers", "leWord64#"),+ ('9', 326, InTerms, Just "GHC.Prim", "ltWord64#"),+ ('9', 327, InTerms, Just "GHC.PrimopWrappers", "ltWord64#"),+ ('9', 328, InTerms, Just "GHC.Prim", "neWord64#"),+ ('9', 329, InTerms, Just "GHC.PrimopWrappers", "neWord64#"),+ ('9', 330, InTerms, Just "GHC.Prim", "+#"),+ ('9', 331, InTerms, Just "GHC.PrimopWrappers", "+#"),+ ('9', 332, InTerms, Just "GHC.Prim", "-#"),+ ('9', 333, InTerms, Just "GHC.PrimopWrappers", "-#"),+ ('9', 334, InTerms, Just "GHC.Prim", "*#"),+ ('9', 335, InTerms, Just "GHC.PrimopWrappers", "*#"),+ ('9', 336, InTerms, Just "GHC.Prim", "timesInt2#"),+ ('9', 337, InTerms, Just "GHC.PrimopWrappers", "timesInt2#"),+ ('9', 338, InTerms, Just "GHC.Prim", "mulIntMayOflo#"),+ ('9', 339, InTerms, Just "GHC.PrimopWrappers", "mulIntMayOflo#"),+ ('9', 340, InTerms, Just "GHC.Prim", "quotInt#"),+ ('9', 341, InTerms, Just "GHC.PrimopWrappers", "quotInt#"),+ ('9', 342, InTerms, Just "GHC.Prim", "remInt#"),+ ('9', 343, InTerms, Just "GHC.PrimopWrappers", "remInt#"),+ ('9', 344, InTerms, Just "GHC.Prim", "quotRemInt#"),+ ('9', 345, InTerms, Just "GHC.PrimopWrappers", "quotRemInt#"),+ ('9', 346, InTerms, Just "GHC.Prim", "andI#"),+ ('9', 347, InTerms, Just "GHC.PrimopWrappers", "andI#"),+ ('9', 348, InTerms, Just "GHC.Prim", "orI#"),+ ('9', 349, InTerms, Just "GHC.PrimopWrappers", "orI#"),+ ('9', 350, InTerms, Just "GHC.Prim", "xorI#"),+ ('9', 351, InTerms, Just "GHC.PrimopWrappers", "xorI#"),+ ('9', 352, InTerms, Just "GHC.Prim", "notI#"),+ ('9', 353, InTerms, Just "GHC.PrimopWrappers", "notI#"),+ ('9', 354, InTerms, Just "GHC.Prim", "negateInt#"),+ ('9', 355, InTerms, Just "GHC.PrimopWrappers", "negateInt#"),+ ('9', 356, InTerms, Just "GHC.Prim", "addIntC#"),+ ('9', 357, InTerms, Just "GHC.PrimopWrappers", "addIntC#"),+ ('9', 358, InTerms, Just "GHC.Prim", "subIntC#"),+ ('9', 359, InTerms, Just "GHC.PrimopWrappers", "subIntC#"),+ ('9', 360, InTerms, Just "GHC.Prim", ">#"),+ ('9', 361, InTerms, Just "GHC.PrimopWrappers", ">#"),+ ('9', 362, InTerms, Just "GHC.Prim", ">=#"),+ ('9', 363, InTerms, Just "GHC.PrimopWrappers", ">=#"),+ ('9', 364, InTerms, Just "GHC.Prim", "==#"),+ ('9', 365, InTerms, Just "GHC.PrimopWrappers", "==#"),+ ('9', 366, InTerms, Just "GHC.Prim", "/=#"),+ ('9', 367, InTerms, Just "GHC.PrimopWrappers", "/=#"),+ ('9', 368, InTerms, Just "GHC.Prim", "<#"),+ ('9', 369, InTerms, Just "GHC.PrimopWrappers", "<#"),+ ('9', 370, InTerms, Just "GHC.Prim", "<=#"),+ ('9', 371, InTerms, Just "GHC.PrimopWrappers", "<=#"),+ ('9', 372, InTerms, Just "GHC.Prim", "chr#"),+ ('9', 373, InTerms, Just "GHC.PrimopWrappers", "chr#"),+ ('9', 374, InTerms, Just "GHC.Prim", "int2Word#"),+ ('9', 375, InTerms, Just "GHC.PrimopWrappers", "int2Word#"),+ ('9', 376, InTerms, Just "GHC.Prim", "int2Float#"),+ ('9', 377, InTerms, Just "GHC.PrimopWrappers", "int2Float#"),+ ('9', 378, InTerms, Just "GHC.Prim", "int2Double#"),+ ('9', 379, InTerms, Just "GHC.PrimopWrappers", "int2Double#"),+ ('9', 380, InTerms, Just "GHC.Prim", "word2Float#"),+ ('9', 381, InTerms, Just "GHC.PrimopWrappers", "word2Float#"),+ ('9', 382, InTerms, Just "GHC.Prim", "word2Double#"),+ ('9', 383, InTerms, Just "GHC.PrimopWrappers", "word2Double#"),+ ('9', 384, InTerms, Just "GHC.Prim", "uncheckedIShiftL#"),+ ('9', 385, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftL#"),+ ('9', 386, InTerms, Just "GHC.Prim", "uncheckedIShiftRA#"),+ ('9', 387, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRA#"),+ ('9', 388, InTerms, Just "GHC.Prim", "uncheckedIShiftRL#"),+ ('9', 389, InTerms, Just "GHC.PrimopWrappers", "uncheckedIShiftRL#"),+ ('9', 390, InTerms, Just "GHC.Prim", "plusWord#"),+ ('9', 391, InTerms, Just "GHC.PrimopWrappers", "plusWord#"),+ ('9', 392, InTerms, Just "GHC.Prim", "addWordC#"),+ ('9', 393, InTerms, Just "GHC.PrimopWrappers", "addWordC#"),+ ('9', 394, InTerms, Just "GHC.Prim", "subWordC#"),+ ('9', 395, InTerms, Just "GHC.PrimopWrappers", "subWordC#"),+ ('9', 396, InTerms, Just "GHC.Prim", "plusWord2#"),+ ('9', 397, InTerms, Just "GHC.PrimopWrappers", "plusWord2#"),+ ('9', 398, InTerms, Just "GHC.Prim", "minusWord#"),+ ('9', 399, InTerms, Just "GHC.PrimopWrappers", "minusWord#"),+ ('9', 400, InTerms, Just "GHC.Prim", "timesWord#"),+ ('9', 401, InTerms, Just "GHC.PrimopWrappers", "timesWord#"),+ ('9', 402, InTerms, Just "GHC.Prim", "timesWord2#"),+ ('9', 403, InTerms, Just "GHC.PrimopWrappers", "timesWord2#"),+ ('9', 404, InTerms, Just "GHC.Prim", "quotWord#"),+ ('9', 405, InTerms, Just "GHC.PrimopWrappers", "quotWord#"),+ ('9', 406, InTerms, Just "GHC.Prim", "remWord#"),+ ('9', 407, InTerms, Just "GHC.PrimopWrappers", "remWord#"),+ ('9', 408, InTerms, Just "GHC.Prim", "quotRemWord#"),+ ('9', 409, InTerms, Just "GHC.PrimopWrappers", "quotRemWord#"),+ ('9', 410, InTerms, Just "GHC.Prim", "quotRemWord2#"),+ ('9', 411, InTerms, Just "GHC.PrimopWrappers", "quotRemWord2#"),+ ('9', 412, InTerms, Just "GHC.Prim", "and#"),+ ('9', 413, InTerms, Just "GHC.PrimopWrappers", "and#"),+ ('9', 414, InTerms, Just "GHC.Prim", "or#"),+ ('9', 415, InTerms, Just "GHC.PrimopWrappers", "or#"),+ ('9', 416, InTerms, Just "GHC.Prim", "xor#"),+ ('9', 417, InTerms, Just "GHC.PrimopWrappers", "xor#"),+ ('9', 418, InTerms, Just "GHC.Prim", "not#"),+ ('9', 419, InTerms, Just "GHC.PrimopWrappers", "not#"),+ ('9', 420, InTerms, Just "GHC.Prim", "uncheckedShiftL#"),+ ('9', 421, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftL#"),+ ('9', 422, InTerms, Just "GHC.Prim", "uncheckedShiftRL#"),+ ('9', 423, InTerms, Just "GHC.PrimopWrappers", "uncheckedShiftRL#"),+ ('9', 424, InTerms, Just "GHC.Prim", "word2Int#"),+ ('9', 425, InTerms, Just "GHC.PrimopWrappers", "word2Int#"),+ ('9', 426, InTerms, Just "GHC.Prim", "gtWord#"),+ ('9', 427, InTerms, Just "GHC.PrimopWrappers", "gtWord#"),+ ('9', 428, InTerms, Just "GHC.Prim", "geWord#"),+ ('9', 429, InTerms, Just "GHC.PrimopWrappers", "geWord#"),+ ('9', 430, InTerms, Just "GHC.Prim", "eqWord#"),+ ('9', 431, InTerms, Just "GHC.PrimopWrappers", "eqWord#"),+ ('9', 432, InTerms, Just "GHC.Prim", "neWord#"),+ ('9', 433, InTerms, Just "GHC.PrimopWrappers", "neWord#"),+ ('9', 434, InTerms, Just "GHC.Prim", "ltWord#"),+ ('9', 435, InTerms, Just "GHC.PrimopWrappers", "ltWord#"),+ ('9', 436, InTerms, Just "GHC.Prim", "leWord#"),+ ('9', 437, InTerms, Just "GHC.PrimopWrappers", "leWord#"),+ ('9', 438, InTerms, Just "GHC.Prim", "popCnt8#"),+ ('9', 439, InTerms, Just "GHC.PrimopWrappers", "popCnt8#"),+ ('9', 440, InTerms, Just "GHC.Prim", "popCnt16#"),+ ('9', 441, InTerms, Just "GHC.PrimopWrappers", "popCnt16#"),+ ('9', 442, InTerms, Just "GHC.Prim", "popCnt32#"),+ ('9', 443, InTerms, Just "GHC.PrimopWrappers", "popCnt32#"),+ ('9', 444, InTerms, Just "GHC.Prim", "popCnt64#"),+ ('9', 445, InTerms, Just "GHC.PrimopWrappers", "popCnt64#"),+ ('9', 446, InTerms, Just "GHC.Prim", "popCnt#"),+ ('9', 447, InTerms, Just "GHC.PrimopWrappers", "popCnt#"),+ ('9', 448, InTerms, Just "GHC.Prim", "pdep8#"),+ ('9', 449, InTerms, Just "GHC.PrimopWrappers", "pdep8#"),+ ('9', 450, InTerms, Just "GHC.Prim", "pdep16#"),+ ('9', 451, InTerms, Just "GHC.PrimopWrappers", "pdep16#"),+ ('9', 452, InTerms, Just "GHC.Prim", "pdep32#"),+ ('9', 453, InTerms, Just "GHC.PrimopWrappers", "pdep32#"),+ ('9', 454, InTerms, Just "GHC.Prim", "pdep64#"),+ ('9', 455, InTerms, Just "GHC.PrimopWrappers", "pdep64#"),+ ('9', 456, InTerms, Just "GHC.Prim", "pdep#"),+ ('9', 457, InTerms, Just "GHC.PrimopWrappers", "pdep#"),+ ('9', 458, InTerms, Just "GHC.Prim", "pext8#"),+ ('9', 459, InTerms, Just "GHC.PrimopWrappers", "pext8#"),+ ('9', 460, InTerms, Just "GHC.Prim", "pext16#"),+ ('9', 461, InTerms, Just "GHC.PrimopWrappers", "pext16#"),+ ('9', 462, InTerms, Just "GHC.Prim", "pext32#"),+ ('9', 463, InTerms, Just "GHC.PrimopWrappers", "pext32#"),+ ('9', 464, InTerms, Just "GHC.Prim", "pext64#"),+ ('9', 465, InTerms, Just "GHC.PrimopWrappers", "pext64#"),+ ('9', 466, InTerms, Just "GHC.Prim", "pext#"),+ ('9', 467, InTerms, Just "GHC.PrimopWrappers", "pext#"),+ ('9', 468, InTerms, Just "GHC.Prim", "clz8#"),+ ('9', 469, InTerms, Just "GHC.PrimopWrappers", "clz8#"),+ ('9', 470, InTerms, Just "GHC.Prim", "clz16#"),+ ('9', 471, InTerms, Just "GHC.PrimopWrappers", "clz16#"),+ ('9', 472, InTerms, Just "GHC.Prim", "clz32#"),+ ('9', 473, InTerms, Just "GHC.PrimopWrappers", "clz32#"),+ ('9', 474, InTerms, Just "GHC.Prim", "clz64#"),+ ('9', 475, InTerms, Just "GHC.PrimopWrappers", "clz64#"),+ ('9', 476, InTerms, Just "GHC.Prim", "clz#"),+ ('9', 477, InTerms, Just "GHC.PrimopWrappers", "clz#"),+ ('9', 478, InTerms, Just "GHC.Prim", "ctz8#"),+ ('9', 479, InTerms, Just "GHC.PrimopWrappers", "ctz8#"),+ ('9', 480, InTerms, Just "GHC.Prim", "ctz16#"),+ ('9', 481, InTerms, Just "GHC.PrimopWrappers", "ctz16#"),+ ('9', 482, InTerms, Just "GHC.Prim", "ctz32#"),+ ('9', 483, InTerms, Just "GHC.PrimopWrappers", "ctz32#"),+ ('9', 484, InTerms, Just "GHC.Prim", "ctz64#"),+ ('9', 485, InTerms, Just "GHC.PrimopWrappers", "ctz64#"),+ ('9', 486, InTerms, Just "GHC.Prim", "ctz#"),+ ('9', 487, InTerms, Just "GHC.PrimopWrappers", "ctz#"),+ ('9', 488, InTerms, Just "GHC.Prim", "byteSwap16#"),+ ('9', 489, InTerms, Just "GHC.PrimopWrappers", "byteSwap16#"),+ ('9', 490, InTerms, Just "GHC.Prim", "byteSwap32#"),+ ('9', 491, InTerms, Just "GHC.PrimopWrappers", "byteSwap32#"),+ ('9', 492, InTerms, Just "GHC.Prim", "byteSwap64#"),+ ('9', 493, InTerms, Just "GHC.PrimopWrappers", "byteSwap64#"),+ ('9', 494, InTerms, Just "GHC.Prim", "byteSwap#"),+ ('9', 495, InTerms, Just "GHC.PrimopWrappers", "byteSwap#"),+ ('9', 496, InTerms, Just "GHC.Prim", "bitReverse8#"),+ ('9', 497, InTerms, Just "GHC.PrimopWrappers", "bitReverse8#"),+ ('9', 498, InTerms, Just "GHC.Prim", "bitReverse16#"),+ ('9', 499, InTerms, Just "GHC.PrimopWrappers", "bitReverse16#"),+ ('9', 500, InTerms, Just "GHC.Prim", "bitReverse32#"),+ ('9', 501, InTerms, Just "GHC.PrimopWrappers", "bitReverse32#"),+ ('9', 502, InTerms, Just "GHC.Prim", "bitReverse64#"),+ ('9', 503, InTerms, Just "GHC.PrimopWrappers", "bitReverse64#"),+ ('9', 504, InTerms, Just "GHC.Prim", "bitReverse#"),+ ('9', 505, InTerms, Just "GHC.PrimopWrappers", "bitReverse#"),+ ('9', 506, InTerms, Just "GHC.Prim", "narrow8Int#"),+ ('9', 507, InTerms, Just "GHC.PrimopWrappers", "narrow8Int#"),+ ('9', 508, InTerms, Just "GHC.Prim", "narrow16Int#"),+ ('9', 509, InTerms, Just "GHC.PrimopWrappers", "narrow16Int#"),+ ('9', 510, InTerms, Just "GHC.Prim", "narrow32Int#"),+ ('9', 511, InTerms, Just "GHC.PrimopWrappers", "narrow32Int#"),+ ('9', 512, InTerms, Just "GHC.Prim", "narrow8Word#"),+ ('9', 513, InTerms, Just "GHC.PrimopWrappers", "narrow8Word#"),+ ('9', 514, InTerms, Just "GHC.Prim", "narrow16Word#"),+ ('9', 515, InTerms, Just "GHC.PrimopWrappers", "narrow16Word#"),+ ('9', 516, InTerms, Just "GHC.Prim", "narrow32Word#"),+ ('9', 517, InTerms, Just "GHC.PrimopWrappers", "narrow32Word#"),+ ('9', 518, InTerms, Just "GHC.Prim", ">##"),+ ('9', 519, InTerms, Just "GHC.PrimopWrappers", ">##"),+ ('9', 520, InTerms, Just "GHC.Prim", ">=##"),+ ('9', 521, InTerms, Just "GHC.PrimopWrappers", ">=##"),+ ('9', 522, InTerms, Just "GHC.Prim", "==##"),+ ('9', 523, InTerms, Just "GHC.PrimopWrappers", "==##"),+ ('9', 524, InTerms, Just "GHC.Prim", "/=##"),+ ('9', 525, InTerms, Just "GHC.PrimopWrappers", "/=##"),+ ('9', 526, InTerms, Just "GHC.Prim", "<##"),+ ('9', 527, InTerms, Just "GHC.PrimopWrappers", "<##"),+ ('9', 528, InTerms, Just "GHC.Prim", "<=##"),+ ('9', 529, InTerms, Just "GHC.PrimopWrappers", "<=##"),+ ('9', 530, InTerms, Just "GHC.Prim", "minDouble#"),+ ('9', 531, InTerms, Just "GHC.PrimopWrappers", "minDouble#"),+ ('9', 532, InTerms, Just "GHC.Prim", "maxDouble#"),+ ('9', 533, InTerms, Just "GHC.PrimopWrappers", "maxDouble#"),+ ('9', 534, InTerms, Just "GHC.Prim", "+##"),+ ('9', 535, InTerms, Just "GHC.PrimopWrappers", "+##"),+ ('9', 536, InTerms, Just "GHC.Prim", "-##"),+ ('9', 537, InTerms, Just "GHC.PrimopWrappers", "-##"),+ ('9', 538, InTerms, Just "GHC.Prim", "*##"),+ ('9', 539, InTerms, Just "GHC.PrimopWrappers", "*##"),+ ('9', 540, InTerms, Just "GHC.Prim", "/##"),+ ('9', 541, InTerms, Just "GHC.PrimopWrappers", "/##"),+ ('9', 542, InTerms, Just "GHC.Prim", "negateDouble#"),+ ('9', 543, InTerms, Just "GHC.PrimopWrappers", "negateDouble#"),+ ('9', 544, InTerms, Just "GHC.Prim", "fabsDouble#"),+ ('9', 545, InTerms, Just "GHC.PrimopWrappers", "fabsDouble#"),+ ('9', 546, InTerms, Just "GHC.Prim", "double2Int#"),+ ('9', 547, InTerms, Just "GHC.PrimopWrappers", "double2Int#"),+ ('9', 548, InTerms, Just "GHC.Prim", "double2Float#"),+ ('9', 549, InTerms, Just "GHC.PrimopWrappers", "double2Float#"),+ ('9', 550, InTerms, Just "GHC.Prim", "expDouble#"),+ ('9', 551, InTerms, Just "GHC.PrimopWrappers", "expDouble#"),+ ('9', 552, InTerms, Just "GHC.Prim", "expm1Double#"),+ ('9', 553, InTerms, Just "GHC.PrimopWrappers", "expm1Double#"),+ ('9', 554, InTerms, Just "GHC.Prim", "logDouble#"),+ ('9', 555, InTerms, Just "GHC.PrimopWrappers", "logDouble#"),+ ('9', 556, InTerms, Just "GHC.Prim", "log1pDouble#"),+ ('9', 557, InTerms, Just "GHC.PrimopWrappers", "log1pDouble#"),+ ('9', 558, InTerms, Just "GHC.Prim", "sqrtDouble#"),+ ('9', 559, InTerms, Just "GHC.PrimopWrappers", "sqrtDouble#"),+ ('9', 560, InTerms, Just "GHC.Prim", "sinDouble#"),+ ('9', 561, InTerms, Just "GHC.PrimopWrappers", "sinDouble#"),+ ('9', 562, InTerms, Just "GHC.Prim", "cosDouble#"),+ ('9', 563, InTerms, Just "GHC.PrimopWrappers", "cosDouble#"),+ ('9', 564, InTerms, Just "GHC.Prim", "tanDouble#"),+ ('9', 565, InTerms, Just "GHC.PrimopWrappers", "tanDouble#"),+ ('9', 566, InTerms, Just "GHC.Prim", "asinDouble#"),+ ('9', 567, InTerms, Just "GHC.PrimopWrappers", "asinDouble#"),+ ('9', 568, InTerms, Just "GHC.Prim", "acosDouble#"),+ ('9', 569, InTerms, Just "GHC.PrimopWrappers", "acosDouble#"),+ ('9', 570, InTerms, Just "GHC.Prim", "atanDouble#"),+ ('9', 571, InTerms, Just "GHC.PrimopWrappers", "atanDouble#"),+ ('9', 572, InTerms, Just "GHC.Prim", "sinhDouble#"),+ ('9', 573, InTerms, Just "GHC.PrimopWrappers", "sinhDouble#"),+ ('9', 574, InTerms, Just "GHC.Prim", "coshDouble#"),+ ('9', 575, InTerms, Just "GHC.PrimopWrappers", "coshDouble#"),+ ('9', 576, InTerms, Just "GHC.Prim", "tanhDouble#"),+ ('9', 577, InTerms, Just "GHC.PrimopWrappers", "tanhDouble#"),+ ('9', 578, InTerms, Just "GHC.Prim", "asinhDouble#"),+ ('9', 579, InTerms, Just "GHC.PrimopWrappers", "asinhDouble#"),+ ('9', 580, InTerms, Just "GHC.Prim", "acoshDouble#"),+ ('9', 581, InTerms, Just "GHC.PrimopWrappers", "acoshDouble#"),+ ('9', 582, InTerms, Just "GHC.Prim", "atanhDouble#"),+ ('9', 583, InTerms, Just "GHC.PrimopWrappers", "atanhDouble#"),+ ('9', 584, InTerms, Just "GHC.Prim", "**##"),+ ('9', 585, InTerms, Just "GHC.PrimopWrappers", "**##"),+ ('9', 586, InTerms, Just "GHC.Prim", "decodeDouble_2Int#"),+ ('9', 587, InTerms, Just "GHC.PrimopWrappers", "decodeDouble_2Int#"),+ ('9', 588, InTerms, Just "GHC.Prim", "decodeDouble_Int64#"),+ ('9', 589, InTerms, Just "GHC.PrimopWrappers", "decodeDouble_Int64#"),+ ('9', 590, InTerms, Just "GHC.Prim", "castDoubleToWord64#"),+ ('9', 591, InTerms, Just "GHC.PrimopWrappers", "castDoubleToWord64#"),+ ('9', 592, InTerms, Just "GHC.Prim", "castWord64ToDouble#"),+ ('9', 593, InTerms, Just "GHC.PrimopWrappers", "castWord64ToDouble#"),+ ('9', 594, InTerms, Just "GHC.Prim", "gtFloat#"),+ ('9', 595, InTerms, Just "GHC.PrimopWrappers", "gtFloat#"),+ ('9', 596, InTerms, Just "GHC.Prim", "geFloat#"),+ ('9', 597, InTerms, Just "GHC.PrimopWrappers", "geFloat#"),+ ('9', 598, InTerms, Just "GHC.Prim", "eqFloat#"),+ ('9', 599, InTerms, Just "GHC.PrimopWrappers", "eqFloat#"),+ ('9', 600, InTerms, Just "GHC.Prim", "neFloat#"),+ ('9', 601, InTerms, Just "GHC.PrimopWrappers", "neFloat#"),+ ('9', 602, InTerms, Just "GHC.Prim", "ltFloat#"),+ ('9', 603, InTerms, Just "GHC.PrimopWrappers", "ltFloat#"),+ ('9', 604, InTerms, Just "GHC.Prim", "leFloat#"),+ ('9', 605, InTerms, Just "GHC.PrimopWrappers", "leFloat#"),+ ('9', 606, InTerms, Just "GHC.Prim", "minFloat#"),+ ('9', 607, InTerms, Just "GHC.PrimopWrappers", "minFloat#"),+ ('9', 608, InTerms, Just "GHC.Prim", "maxFloat#"),+ ('9', 609, InTerms, Just "GHC.PrimopWrappers", "maxFloat#"),+ ('9', 610, InTerms, Just "GHC.Prim", "plusFloat#"),+ ('9', 611, InTerms, Just "GHC.PrimopWrappers", "plusFloat#"),+ ('9', 612, InTerms, Just "GHC.Prim", "minusFloat#"),+ ('9', 613, InTerms, Just "GHC.PrimopWrappers", "minusFloat#"),+ ('9', 614, InTerms, Just "GHC.Prim", "timesFloat#"),+ ('9', 615, InTerms, Just "GHC.PrimopWrappers", "timesFloat#"),+ ('9', 616, InTerms, Just "GHC.Prim", "divideFloat#"),+ ('9', 617, InTerms, Just "GHC.PrimopWrappers", "divideFloat#"),+ ('9', 618, InTerms, Just "GHC.Prim", "negateFloat#"),+ ('9', 619, InTerms, Just "GHC.PrimopWrappers", "negateFloat#"),+ ('9', 620, InTerms, Just "GHC.Prim", "fabsFloat#"),+ ('9', 621, InTerms, Just "GHC.PrimopWrappers", "fabsFloat#"),+ ('9', 622, InTerms, Just "GHC.Prim", "float2Int#"),+ ('9', 623, InTerms, Just "GHC.PrimopWrappers", "float2Int#"),+ ('9', 624, InTerms, Just "GHC.Prim", "expFloat#"),+ ('9', 625, InTerms, Just "GHC.PrimopWrappers", "expFloat#"),+ ('9', 626, InTerms, Just "GHC.Prim", "expm1Float#"),+ ('9', 627, InTerms, Just "GHC.PrimopWrappers", "expm1Float#"),+ ('9', 628, InTerms, Just "GHC.Prim", "logFloat#"),+ ('9', 629, InTerms, Just "GHC.PrimopWrappers", "logFloat#"),+ ('9', 630, InTerms, Just "GHC.Prim", "log1pFloat#"),+ ('9', 631, InTerms, Just "GHC.PrimopWrappers", "log1pFloat#"),+ ('9', 632, InTerms, Just "GHC.Prim", "sqrtFloat#"),+ ('9', 633, InTerms, Just "GHC.PrimopWrappers", "sqrtFloat#"),+ ('9', 634, InTerms, Just "GHC.Prim", "sinFloat#"),+ ('9', 635, InTerms, Just "GHC.PrimopWrappers", "sinFloat#"),+ ('9', 636, InTerms, Just "GHC.Prim", "cosFloat#"),+ ('9', 637, InTerms, Just "GHC.PrimopWrappers", "cosFloat#"),+ ('9', 638, InTerms, Just "GHC.Prim", "tanFloat#"),+ ('9', 639, InTerms, Just "GHC.PrimopWrappers", "tanFloat#"),+ ('9', 640, InTerms, Just "GHC.Prim", "asinFloat#"),+ ('9', 641, InTerms, Just "GHC.PrimopWrappers", "asinFloat#"),+ ('9', 642, InTerms, Just "GHC.Prim", "acosFloat#"),+ ('9', 643, InTerms, Just "GHC.PrimopWrappers", "acosFloat#"),+ ('9', 644, InTerms, Just "GHC.Prim", "atanFloat#"),+ ('9', 645, InTerms, Just "GHC.PrimopWrappers", "atanFloat#"),+ ('9', 646, InTerms, Just "GHC.Prim", "sinhFloat#"),+ ('9', 647, InTerms, Just "GHC.PrimopWrappers", "sinhFloat#"),+ ('9', 648, InTerms, Just "GHC.Prim", "coshFloat#"),+ ('9', 649, InTerms, Just "GHC.PrimopWrappers", "coshFloat#"),+ ('9', 650, InTerms, Just "GHC.Prim", "tanhFloat#"),+ ('9', 651, InTerms, Just "GHC.PrimopWrappers", "tanhFloat#"),+ ('9', 652, InTerms, Just "GHC.Prim", "asinhFloat#"),+ ('9', 653, InTerms, Just "GHC.PrimopWrappers", "asinhFloat#"),+ ('9', 654, InTerms, Just "GHC.Prim", "acoshFloat#"),+ ('9', 655, InTerms, Just "GHC.PrimopWrappers", "acoshFloat#"),+ ('9', 656, InTerms, Just "GHC.Prim", "atanhFloat#"),+ ('9', 657, InTerms, Just "GHC.PrimopWrappers", "atanhFloat#"),+ ('9', 658, InTerms, Just "GHC.Prim", "powerFloat#"),+ ('9', 659, InTerms, Just "GHC.PrimopWrappers", "powerFloat#"),+ ('9', 660, InTerms, Just "GHC.Prim", "float2Double#"),+ ('9', 661, InTerms, Just "GHC.PrimopWrappers", "float2Double#"),+ ('9', 662, InTerms, Just "GHC.Prim", "decodeFloat_Int#"),+ ('9', 663, InTerms, Just "GHC.PrimopWrappers", "decodeFloat_Int#"),+ ('9', 664, InTerms, Just "GHC.Prim", "castFloatToWord32#"),+ ('9', 665, InTerms, Just "GHC.PrimopWrappers", "castFloatToWord32#"),+ ('9', 666, InTerms, Just "GHC.Prim", "castWord32ToFloat#"),+ ('9', 667, InTerms, Just "GHC.PrimopWrappers", "castWord32ToFloat#"),+ ('9', 668, InTerms, Just "GHC.Prim", "fmaddFloat#"),+ ('9', 669, InTerms, Just "GHC.PrimopWrappers", "fmaddFloat#"),+ ('9', 670, InTerms, Just "GHC.Prim", "fmsubFloat#"),+ ('9', 671, InTerms, Just "GHC.PrimopWrappers", "fmsubFloat#"),+ ('9', 672, InTerms, Just "GHC.Prim", "fnmaddFloat#"),+ ('9', 673, InTerms, Just "GHC.PrimopWrappers", "fnmaddFloat#"),+ ('9', 674, InTerms, Just "GHC.Prim", "fnmsubFloat#"),+ ('9', 675, InTerms, Just "GHC.PrimopWrappers", "fnmsubFloat#"),+ ('9', 676, InTerms, Just "GHC.Prim", "fmaddDouble#"),+ ('9', 677, InTerms, Just "GHC.PrimopWrappers", "fmaddDouble#"),+ ('9', 678, InTerms, Just "GHC.Prim", "fmsubDouble#"),+ ('9', 679, InTerms, Just "GHC.PrimopWrappers", "fmsubDouble#"),+ ('9', 680, InTerms, Just "GHC.Prim", "fnmaddDouble#"),+ ('9', 681, InTerms, Just "GHC.PrimopWrappers", "fnmaddDouble#"),+ ('9', 682, InTerms, Just "GHC.Prim", "fnmsubDouble#"),+ ('9', 683, InTerms, Just "GHC.PrimopWrappers", "fnmsubDouble#"),+ ('9', 684, InTerms, Just "GHC.Prim", "newArray#"),+ ('9', 685, InTerms, Just "GHC.PrimopWrappers", "newArray#"),+ ('9', 686, InTerms, Just "GHC.Prim", "readArray#"),+ ('9', 687, InTerms, Just "GHC.PrimopWrappers", "readArray#"),+ ('9', 688, InTerms, Just "GHC.Prim", "writeArray#"),+ ('9', 689, InTerms, Just "GHC.PrimopWrappers", "writeArray#"),+ ('9', 690, InTerms, Just "GHC.Prim", "sizeofArray#"),+ ('9', 691, InTerms, Just "GHC.PrimopWrappers", "sizeofArray#"),+ ('9', 692, InTerms, Just "GHC.Prim", "sizeofMutableArray#"),+ ('9', 693, InTerms, Just "GHC.PrimopWrappers", "sizeofMutableArray#"),+ ('9', 694, InTerms, Just "GHC.Prim", "indexArray#"),+ ('9', 695, InTerms, Just "GHC.PrimopWrappers", "indexArray#"),+ ('9', 696, InTerms, Just "GHC.Prim", "unsafeFreezeArray#"),+ ('9', 697, InTerms, Just "GHC.PrimopWrappers", "unsafeFreezeArray#"),+ ('9', 698, InTerms, Just "GHC.Prim", "unsafeThawArray#"),+ ('9', 699, InTerms, Just "GHC.PrimopWrappers", "unsafeThawArray#"),+ ('9', 700, InTerms, Just "GHC.Prim", "copyArray#"),+ ('9', 701, InTerms, Just "GHC.PrimopWrappers", "copyArray#"),+ ('9', 702, InTerms, Just "GHC.Prim", "copyMutableArray#"),+ ('9', 703, InTerms, Just "GHC.PrimopWrappers", "copyMutableArray#"),+ ('9', 704, InTerms, Just "GHC.Prim", "cloneArray#"),+ ('9', 705, InTerms, Just "GHC.PrimopWrappers", "cloneArray#"),+ ('9', 706, InTerms, Just "GHC.Prim", "cloneMutableArray#"),+ ('9', 707, InTerms, Just "GHC.PrimopWrappers", "cloneMutableArray#"),+ ('9', 708, InTerms, Just "GHC.Prim", "freezeArray#"),+ ('9', 709, InTerms, Just "GHC.PrimopWrappers", "freezeArray#"),+ ('9', 710, InTerms, Just "GHC.Prim", "thawArray#"),+ ('9', 711, InTerms, Just "GHC.PrimopWrappers", "thawArray#"),+ ('9', 712, InTerms, Just "GHC.Prim", "casArray#"),+ ('9', 713, InTerms, Just "GHC.PrimopWrappers", "casArray#"),+ ('9', 714, InTerms, Just "GHC.Prim", "newSmallArray#"),+ ('9', 715, InTerms, Just "GHC.PrimopWrappers", "newSmallArray#"),+ ('9', 716, InTerms, Just "GHC.Prim", "shrinkSmallMutableArray#"),+ ('9', 717, InTerms, Just "GHC.PrimopWrappers", "shrinkSmallMutableArray#"),+ ('9', 718, InTerms, Just "GHC.Prim", "readSmallArray#"),+ ('9', 719, InTerms, Just "GHC.PrimopWrappers", "readSmallArray#"),+ ('9', 720, InTerms, Just "GHC.Prim", "writeSmallArray#"),+ ('9', 721, InTerms, Just "GHC.PrimopWrappers", "writeSmallArray#"),+ ('9', 722, InTerms, Just "GHC.Prim", "sizeofSmallArray#"),+ ('9', 723, InTerms, Just "GHC.PrimopWrappers", "sizeofSmallArray#"),+ ('9', 724, InTerms, Just "GHC.Prim", "sizeofSmallMutableArray#"),+ ('9', 725, InTerms, Just "GHC.PrimopWrappers", "sizeofSmallMutableArray#"),+ ('9', 726, InTerms, Just "GHC.Prim", "getSizeofSmallMutableArray#"),+ ('9', 727, InTerms, Just "GHC.PrimopWrappers", "getSizeofSmallMutableArray#"),+ ('9', 728, InTerms, Just "GHC.Prim", "indexSmallArray#"),+ ('9', 729, InTerms, Just "GHC.PrimopWrappers", "indexSmallArray#"),+ ('9', 730, InTerms, Just "GHC.Prim", "unsafeFreezeSmallArray#"),+ ('9', 731, InTerms, Just "GHC.PrimopWrappers", "unsafeFreezeSmallArray#"),+ ('9', 732, InTerms, Just "GHC.Prim", "unsafeThawSmallArray#"),+ ('9', 733, InTerms, Just "GHC.PrimopWrappers", "unsafeThawSmallArray#"),+ ('9', 734, InTerms, Just "GHC.Prim", "copySmallArray#"),+ ('9', 735, InTerms, Just "GHC.PrimopWrappers", "copySmallArray#"),+ ('9', 736, InTerms, Just "GHC.Prim", "copySmallMutableArray#"),+ ('9', 737, InTerms, Just "GHC.PrimopWrappers", "copySmallMutableArray#"),+ ('9', 738, InTerms, Just "GHC.Prim", "cloneSmallArray#"),+ ('9', 739, InTerms, Just "GHC.PrimopWrappers", "cloneSmallArray#"),+ ('9', 740, InTerms, Just "GHC.Prim", "cloneSmallMutableArray#"),+ ('9', 741, InTerms, Just "GHC.PrimopWrappers", "cloneSmallMutableArray#"),+ ('9', 742, InTerms, Just "GHC.Prim", "freezeSmallArray#"),+ ('9', 743, InTerms, Just "GHC.PrimopWrappers", "freezeSmallArray#"),+ ('9', 744, InTerms, Just "GHC.Prim", "thawSmallArray#"),+ ('9', 745, InTerms, Just "GHC.PrimopWrappers", "thawSmallArray#"),+ ('9', 746, InTerms, Just "GHC.Prim", "casSmallArray#"),+ ('9', 747, InTerms, Just "GHC.PrimopWrappers", "casSmallArray#"),+ ('9', 748, InTerms, Just "GHC.Prim", "newByteArray#"),+ ('9', 749, InTerms, Just "GHC.PrimopWrappers", "newByteArray#"),+ ('9', 750, InTerms, Just "GHC.Prim", "newPinnedByteArray#"),+ ('9', 751, InTerms, Just "GHC.PrimopWrappers", "newPinnedByteArray#"),+ ('9', 752, InTerms, Just "GHC.Prim", "newAlignedPinnedByteArray#"),+ ('9', 753, InTerms, Just "GHC.PrimopWrappers", "newAlignedPinnedByteArray#"),+ ('9', 754, InTerms, Just "GHC.Prim", "isMutableByteArrayPinned#"),+ ('9', 755, InTerms, Just "GHC.PrimopWrappers", "isMutableByteArrayPinned#"),+ ('9', 756, InTerms, Just "GHC.Prim", "isByteArrayPinned#"),+ ('9', 757, InTerms, Just "GHC.PrimopWrappers", "isByteArrayPinned#"),+ ('9', 758, InTerms, Just "GHC.Prim", "isByteArrayWeaklyPinned#"),+ ('9', 759, InTerms, Just "GHC.PrimopWrappers", "isByteArrayWeaklyPinned#"),+ ('9', 760, InTerms, Just "GHC.Prim", "isMutableByteArrayWeaklyPinned#"),+ ('9', 761, InTerms, Just "GHC.PrimopWrappers", "isMutableByteArrayWeaklyPinned#"),+ ('9', 762, InTerms, Just "GHC.Prim", "byteArrayContents#"),+ ('9', 763, InTerms, Just "GHC.PrimopWrappers", "byteArrayContents#"),+ ('9', 764, InTerms, Just "GHC.Prim", "mutableByteArrayContents#"),+ ('9', 765, InTerms, Just "GHC.PrimopWrappers", "mutableByteArrayContents#"),+ ('9', 766, InTerms, Just "GHC.Prim", "shrinkMutableByteArray#"),+ ('9', 767, InTerms, Just "GHC.PrimopWrappers", "shrinkMutableByteArray#"),+ ('9', 768, InTerms, Just "GHC.Prim", "resizeMutableByteArray#"),+ ('9', 769, InTerms, Just "GHC.PrimopWrappers", "resizeMutableByteArray#"),+ ('9', 770, InTerms, Just "GHC.Prim", "unsafeFreezeByteArray#"),+ ('9', 771, InTerms, Just "GHC.PrimopWrappers", "unsafeFreezeByteArray#"),+ ('9', 772, InTerms, Just "GHC.Prim", "unsafeThawByteArray#"),+ ('9', 773, InTerms, Just "GHC.PrimopWrappers", "unsafeThawByteArray#"),+ ('9', 774, InTerms, Just "GHC.Prim", "sizeofByteArray#"),+ ('9', 775, InTerms, Just "GHC.PrimopWrappers", "sizeofByteArray#"),+ ('9', 776, InTerms, Just "GHC.Prim", "sizeofMutableByteArray#"),+ ('9', 777, InTerms, Just "GHC.PrimopWrappers", "sizeofMutableByteArray#"),+ ('9', 778, InTerms, Just "GHC.Prim", "getSizeofMutableByteArray#"),+ ('9', 779, InTerms, Just "GHC.PrimopWrappers", "getSizeofMutableByteArray#"),+ ('9', 780, InTerms, Just "GHC.Prim", "indexCharArray#"),+ ('9', 781, InTerms, Just "GHC.PrimopWrappers", "indexCharArray#"),+ ('9', 782, InTerms, Just "GHC.Prim", "indexWideCharArray#"),+ ('9', 783, InTerms, Just "GHC.PrimopWrappers", "indexWideCharArray#"),+ ('9', 784, InTerms, Just "GHC.Prim", "indexIntArray#"),+ ('9', 785, InTerms, Just "GHC.PrimopWrappers", "indexIntArray#"),+ ('9', 786, InTerms, Just "GHC.Prim", "indexWordArray#"),+ ('9', 787, InTerms, Just "GHC.PrimopWrappers", "indexWordArray#"),+ ('9', 788, InTerms, Just "GHC.Prim", "indexAddrArray#"),+ ('9', 789, InTerms, Just "GHC.PrimopWrappers", "indexAddrArray#"),+ ('9', 790, InTerms, Just "GHC.Prim", "indexFloatArray#"),+ ('9', 791, InTerms, Just "GHC.PrimopWrappers", "indexFloatArray#"),+ ('9', 792, InTerms, Just "GHC.Prim", "indexDoubleArray#"),+ ('9', 793, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArray#"),+ ('9', 794, InTerms, Just "GHC.Prim", "indexStablePtrArray#"),+ ('9', 795, InTerms, Just "GHC.PrimopWrappers", "indexStablePtrArray#"),+ ('9', 796, InTerms, Just "GHC.Prim", "indexInt8Array#"),+ ('9', 797, InTerms, Just "GHC.PrimopWrappers", "indexInt8Array#"),+ ('9', 798, InTerms, Just "GHC.Prim", "indexWord8Array#"),+ ('9', 799, InTerms, Just "GHC.PrimopWrappers", "indexWord8Array#"),+ ('9', 800, InTerms, Just "GHC.Prim", "indexInt16Array#"),+ ('9', 801, InTerms, Just "GHC.PrimopWrappers", "indexInt16Array#"),+ ('9', 802, InTerms, Just "GHC.Prim", "indexWord16Array#"),+ ('9', 803, InTerms, Just "GHC.PrimopWrappers", "indexWord16Array#"),+ ('9', 804, InTerms, Just "GHC.Prim", "indexInt32Array#"),+ ('9', 805, InTerms, Just "GHC.PrimopWrappers", "indexInt32Array#"),+ ('9', 806, InTerms, Just "GHC.Prim", "indexWord32Array#"),+ ('9', 807, InTerms, Just "GHC.PrimopWrappers", "indexWord32Array#"),+ ('9', 808, InTerms, Just "GHC.Prim", "indexInt64Array#"),+ ('9', 809, InTerms, Just "GHC.PrimopWrappers", "indexInt64Array#"),+ ('9', 810, InTerms, Just "GHC.Prim", "indexWord64Array#"),+ ('9', 811, InTerms, Just "GHC.PrimopWrappers", "indexWord64Array#"),+ ('9', 812, InTerms, Just "GHC.Prim", "indexWord8ArrayAsChar#"),+ ('9', 813, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsChar#"),+ ('9', 814, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWideChar#"),+ ('9', 815, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWideChar#"),+ ('9', 816, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt#"),+ ('9', 817, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt#"),+ ('9', 818, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord#"),+ ('9', 819, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord#"),+ ('9', 820, InTerms, Just "GHC.Prim", "indexWord8ArrayAsAddr#"),+ ('9', 821, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsAddr#"),+ ('9', 822, InTerms, Just "GHC.Prim", "indexWord8ArrayAsFloat#"),+ ('9', 823, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsFloat#"),+ ('9', 824, InTerms, Just "GHC.Prim", "indexWord8ArrayAsDouble#"),+ ('9', 825, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsDouble#"),+ ('9', 826, InTerms, Just "GHC.Prim", "indexWord8ArrayAsStablePtr#"),+ ('9', 827, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsStablePtr#"),+ ('9', 828, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt16#"),+ ('9', 829, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt16#"),+ ('9', 830, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord16#"),+ ('9', 831, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord16#"),+ ('9', 832, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt32#"),+ ('9', 833, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt32#"),+ ('9', 834, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord32#"),+ ('9', 835, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord32#"),+ ('9', 836, InTerms, Just "GHC.Prim", "indexWord8ArrayAsInt64#"),+ ('9', 837, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsInt64#"),+ ('9', 838, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord64#"),+ ('9', 839, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord64#"),+ ('9', 840, InTerms, Just "GHC.Prim", "readCharArray#"),+ ('9', 841, InTerms, Just "GHC.PrimopWrappers", "readCharArray#"),+ ('9', 842, InTerms, Just "GHC.Prim", "readWideCharArray#"),+ ('9', 843, InTerms, Just "GHC.PrimopWrappers", "readWideCharArray#"),+ ('9', 844, InTerms, Just "GHC.Prim", "readIntArray#"),+ ('9', 845, InTerms, Just "GHC.PrimopWrappers", "readIntArray#"),+ ('9', 846, InTerms, Just "GHC.Prim", "readWordArray#"),+ ('9', 847, InTerms, Just "GHC.PrimopWrappers", "readWordArray#"),+ ('9', 848, InTerms, Just "GHC.Prim", "readAddrArray#"),+ ('9', 849, InTerms, Just "GHC.PrimopWrappers", "readAddrArray#"),+ ('9', 850, InTerms, Just "GHC.Prim", "readFloatArray#"),+ ('9', 851, InTerms, Just "GHC.PrimopWrappers", "readFloatArray#"),+ ('9', 852, InTerms, Just "GHC.Prim", "readDoubleArray#"),+ ('9', 853, InTerms, Just "GHC.PrimopWrappers", "readDoubleArray#"),+ ('9', 854, InTerms, Just "GHC.Prim", "readStablePtrArray#"),+ ('9', 855, InTerms, Just "GHC.PrimopWrappers", "readStablePtrArray#"),+ ('9', 856, InTerms, Just "GHC.Prim", "readInt8Array#"),+ ('9', 857, InTerms, Just "GHC.PrimopWrappers", "readInt8Array#"),+ ('9', 858, InTerms, Just "GHC.Prim", "readWord8Array#"),+ ('9', 859, InTerms, Just "GHC.PrimopWrappers", "readWord8Array#"),+ ('9', 860, InTerms, Just "GHC.Prim", "readInt16Array#"),+ ('9', 861, InTerms, Just "GHC.PrimopWrappers", "readInt16Array#"),+ ('9', 862, InTerms, Just "GHC.Prim", "readWord16Array#"),+ ('9', 863, InTerms, Just "GHC.PrimopWrappers", "readWord16Array#"),+ ('9', 864, InTerms, Just "GHC.Prim", "readInt32Array#"),+ ('9', 865, InTerms, Just "GHC.PrimopWrappers", "readInt32Array#"),+ ('9', 866, InTerms, Just "GHC.Prim", "readWord32Array#"),+ ('9', 867, InTerms, Just "GHC.PrimopWrappers", "readWord32Array#"),+ ('9', 868, InTerms, Just "GHC.Prim", "readInt64Array#"),+ ('9', 869, InTerms, Just "GHC.PrimopWrappers", "readInt64Array#"),+ ('9', 870, InTerms, Just "GHC.Prim", "readWord64Array#"),+ ('9', 871, InTerms, Just "GHC.PrimopWrappers", "readWord64Array#"),+ ('9', 872, InTerms, Just "GHC.Prim", "readWord8ArrayAsChar#"),+ ('9', 873, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsChar#"),+ ('9', 874, InTerms, Just "GHC.Prim", "readWord8ArrayAsWideChar#"),+ ('9', 875, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWideChar#"),+ ('9', 876, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt#"),+ ('9', 877, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt#"),+ ('9', 878, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord#"),+ ('9', 879, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord#"),+ ('9', 880, InTerms, Just "GHC.Prim", "readWord8ArrayAsAddr#"),+ ('9', 881, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsAddr#"),+ ('9', 882, InTerms, Just "GHC.Prim", "readWord8ArrayAsFloat#"),+ ('9', 883, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsFloat#"),+ ('9', 884, InTerms, Just "GHC.Prim", "readWord8ArrayAsDouble#"),+ ('9', 885, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsDouble#"),+ ('9', 886, InTerms, Just "GHC.Prim", "readWord8ArrayAsStablePtr#"),+ ('9', 887, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsStablePtr#"),+ ('9', 888, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt16#"),+ ('9', 889, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt16#"),+ ('9', 890, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord16#"),+ ('9', 891, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord16#"),+ ('9', 892, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt32#"),+ ('9', 893, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt32#"),+ ('9', 894, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord32#"),+ ('9', 895, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord32#"),+ ('9', 896, InTerms, Just "GHC.Prim", "readWord8ArrayAsInt64#"),+ ('9', 897, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsInt64#"),+ ('9', 898, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord64#"),+ ('9', 899, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord64#"),+ ('9', 900, InTerms, Just "GHC.Prim", "writeCharArray#"),+ ('9', 901, InTerms, Just "GHC.PrimopWrappers", "writeCharArray#"),+ ('9', 902, InTerms, Just "GHC.Prim", "writeWideCharArray#"),+ ('9', 903, InTerms, Just "GHC.PrimopWrappers", "writeWideCharArray#"),+ ('9', 904, InTerms, Just "GHC.Prim", "writeIntArray#"),+ ('9', 905, InTerms, Just "GHC.PrimopWrappers", "writeIntArray#"),+ ('9', 906, InTerms, Just "GHC.Prim", "writeWordArray#"),+ ('9', 907, InTerms, Just "GHC.PrimopWrappers", "writeWordArray#"),+ ('9', 908, InTerms, Just "GHC.Prim", "writeAddrArray#"),+ ('9', 909, InTerms, Just "GHC.PrimopWrappers", "writeAddrArray#"),+ ('9', 910, InTerms, Just "GHC.Prim", "writeFloatArray#"),+ ('9', 911, InTerms, Just "GHC.PrimopWrappers", "writeFloatArray#"),+ ('9', 912, InTerms, Just "GHC.Prim", "writeDoubleArray#"),+ ('9', 913, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArray#"),+ ('9', 914, InTerms, Just "GHC.Prim", "writeStablePtrArray#"),+ ('9', 915, InTerms, Just "GHC.PrimopWrappers", "writeStablePtrArray#"),+ ('9', 916, InTerms, Just "GHC.Prim", "writeInt8Array#"),+ ('9', 917, InTerms, Just "GHC.PrimopWrappers", "writeInt8Array#"),+ ('9', 918, InTerms, Just "GHC.Prim", "writeWord8Array#"),+ ('9', 919, InTerms, Just "GHC.PrimopWrappers", "writeWord8Array#"),+ ('9', 920, InTerms, Just "GHC.Prim", "writeInt16Array#"),+ ('9', 921, InTerms, Just "GHC.PrimopWrappers", "writeInt16Array#"),+ ('9', 922, InTerms, Just "GHC.Prim", "writeWord16Array#"),+ ('9', 923, InTerms, Just "GHC.PrimopWrappers", "writeWord16Array#"),+ ('9', 924, InTerms, Just "GHC.Prim", "writeInt32Array#"),+ ('9', 925, InTerms, Just "GHC.PrimopWrappers", "writeInt32Array#"),+ ('9', 926, InTerms, Just "GHC.Prim", "writeWord32Array#"),+ ('9', 927, InTerms, Just "GHC.PrimopWrappers", "writeWord32Array#"),+ ('9', 928, InTerms, Just "GHC.Prim", "writeInt64Array#"),+ ('9', 929, InTerms, Just "GHC.PrimopWrappers", "writeInt64Array#"),+ ('9', 930, InTerms, Just "GHC.Prim", "writeWord64Array#"),+ ('9', 931, InTerms, Just "GHC.PrimopWrappers", "writeWord64Array#"),+ ('9', 932, InTerms, Just "GHC.Prim", "writeWord8ArrayAsChar#"),+ ('9', 933, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsChar#"),+ ('9', 934, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWideChar#"),+ ('9', 935, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWideChar#"),+ ('9', 936, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt#"),+ ('9', 937, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt#"),+ ('9', 938, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord#"),+ ('9', 939, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord#"),+ ('9', 940, InTerms, Just "GHC.Prim", "writeWord8ArrayAsAddr#"),+ ('9', 941, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsAddr#"),+ ('9', 942, InTerms, Just "GHC.Prim", "writeWord8ArrayAsFloat#"),+ ('9', 943, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsFloat#"),+ ('9', 944, InTerms, Just "GHC.Prim", "writeWord8ArrayAsDouble#"),+ ('9', 945, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsDouble#"),+ ('9', 946, InTerms, Just "GHC.Prim", "writeWord8ArrayAsStablePtr#"),+ ('9', 947, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsStablePtr#"),+ ('9', 948, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt16#"),+ ('9', 949, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt16#"),+ ('9', 950, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord16#"),+ ('9', 951, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord16#"),+ ('9', 952, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt32#"),+ ('9', 953, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt32#"),+ ('9', 954, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord32#"),+ ('9', 955, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord32#"),+ ('9', 956, InTerms, Just "GHC.Prim", "writeWord8ArrayAsInt64#"),+ ('9', 957, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsInt64#"),+ ('9', 958, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord64#"),+ ('9', 959, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord64#"),+ ('9', 960, InTerms, Just "GHC.Prim", "compareByteArrays#"),+ ('9', 961, InTerms, Just "GHC.PrimopWrappers", "compareByteArrays#"),+ ('9', 962, InTerms, Just "GHC.Prim", "copyByteArray#"),+ ('9', 963, InTerms, Just "GHC.PrimopWrappers", "copyByteArray#"),+ ('9', 964, InTerms, Just "GHC.Prim", "copyMutableByteArray#"),+ ('9', 965, InTerms, Just "GHC.PrimopWrappers", "copyMutableByteArray#"),+ ('9', 966, InTerms, Just "GHC.Prim", "copyMutableByteArrayNonOverlapping#"),+ ('9', 967, InTerms, Just "GHC.PrimopWrappers", "copyMutableByteArrayNonOverlapping#"),+ ('9', 968, InTerms, Just "GHC.Prim", "copyByteArrayToAddr#"),+ ('9', 969, InTerms, Just "GHC.PrimopWrappers", "copyByteArrayToAddr#"),+ ('9', 970, InTerms, Just "GHC.Prim", "copyMutableByteArrayToAddr#"),+ ('9', 971, InTerms, Just "GHC.PrimopWrappers", "copyMutableByteArrayToAddr#"),+ ('9', 972, InTerms, Just "GHC.Prim", "copyAddrToByteArray#"),+ ('9', 973, InTerms, Just "GHC.PrimopWrappers", "copyAddrToByteArray#"),+ ('9', 974, InTerms, Just "GHC.Prim", "copyAddrToAddr#"),+ ('9', 975, InTerms, Just "GHC.PrimopWrappers", "copyAddrToAddr#"),+ ('9', 976, InTerms, Just "GHC.Prim", "copyAddrToAddrNonOverlapping#"),+ ('9', 977, InTerms, Just "GHC.PrimopWrappers", "copyAddrToAddrNonOverlapping#"),+ ('9', 978, InTerms, Just "GHC.Prim", "setByteArray#"),+ ('9', 979, InTerms, Just "GHC.PrimopWrappers", "setByteArray#"),+ ('9', 980, InTerms, Just "GHC.Prim", "setAddrRange#"),+ ('9', 981, InTerms, Just "GHC.PrimopWrappers", "setAddrRange#"),+ ('9', 982, InTerms, Just "GHC.Prim", "atomicReadIntArray#"),+ ('9', 983, InTerms, Just "GHC.PrimopWrappers", "atomicReadIntArray#"),+ ('9', 984, InTerms, Just "GHC.Prim", "atomicWriteIntArray#"),+ ('9', 985, InTerms, Just "GHC.PrimopWrappers", "atomicWriteIntArray#"),+ ('9', 986, InTerms, Just "GHC.Prim", "casIntArray#"),+ ('9', 987, InTerms, Just "GHC.PrimopWrappers", "casIntArray#"),+ ('9', 988, InTerms, Just "GHC.Prim", "casInt8Array#"),+ ('9', 989, InTerms, Just "GHC.PrimopWrappers", "casInt8Array#"),+ ('9', 990, InTerms, Just "GHC.Prim", "casInt16Array#"),+ ('9', 991, InTerms, Just "GHC.PrimopWrappers", "casInt16Array#"),+ ('9', 992, InTerms, Just "GHC.Prim", "casInt32Array#"),+ ('9', 993, InTerms, Just "GHC.PrimopWrappers", "casInt32Array#"),+ ('9', 994, InTerms, Just "GHC.Prim", "casInt64Array#"),+ ('9', 995, InTerms, Just "GHC.PrimopWrappers", "casInt64Array#"),+ ('9', 996, InTerms, Just "GHC.Prim", "fetchAddIntArray#"),+ ('9', 997, InTerms, Just "GHC.PrimopWrappers", "fetchAddIntArray#"),+ ('9', 998, InTerms, Just "GHC.Prim", "fetchSubIntArray#"),+ ('9', 999, InTerms, Just "GHC.PrimopWrappers", "fetchSubIntArray#"),+ ('9', 1000, InTerms, Just "GHC.Prim", "fetchAndIntArray#"),+ ('9', 1001, InTerms, Just "GHC.PrimopWrappers", "fetchAndIntArray#"),+ ('9', 1002, InTerms, Just "GHC.Prim", "fetchNandIntArray#"),+ ('9', 1003, InTerms, Just "GHC.PrimopWrappers", "fetchNandIntArray#"),+ ('9', 1004, InTerms, Just "GHC.Prim", "fetchOrIntArray#"),+ ('9', 1005, InTerms, Just "GHC.PrimopWrappers", "fetchOrIntArray#"),+ ('9', 1006, InTerms, Just "GHC.Prim", "fetchXorIntArray#"),+ ('9', 1007, InTerms, Just "GHC.PrimopWrappers", "fetchXorIntArray#"),+ ('9', 1008, InTerms, Just "GHC.Prim", "plusAddr#"),+ ('9', 1009, InTerms, Just "GHC.PrimopWrappers", "plusAddr#"),+ ('9', 1010, InTerms, Just "GHC.Prim", "minusAddr#"),+ ('9', 1011, InTerms, Just "GHC.PrimopWrappers", "minusAddr#"),+ ('9', 1012, InTerms, Just "GHC.Prim", "remAddr#"),+ ('9', 1013, InTerms, Just "GHC.PrimopWrappers", "remAddr#"),+ ('9', 1014, InTerms, Just "GHC.Prim", "addr2Int#"),+ ('9', 1015, InTerms, Just "GHC.PrimopWrappers", "addr2Int#"),+ ('9', 1016, InTerms, Just "GHC.Prim", "int2Addr#"),+ ('9', 1017, InTerms, Just "GHC.PrimopWrappers", "int2Addr#"),+ ('9', 1018, InTerms, Just "GHC.Prim", "gtAddr#"),+ ('9', 1019, InTerms, Just "GHC.PrimopWrappers", "gtAddr#"),+ ('9', 1020, InTerms, Just "GHC.Prim", "geAddr#"),+ ('9', 1021, InTerms, Just "GHC.PrimopWrappers", "geAddr#"),+ ('9', 1022, InTerms, Just "GHC.Prim", "eqAddr#"),+ ('9', 1023, InTerms, Just "GHC.PrimopWrappers", "eqAddr#"),+ ('9', 1024, InTerms, Just "GHC.Prim", "neAddr#"),+ ('9', 1025, InTerms, Just "GHC.PrimopWrappers", "neAddr#"),+ ('9', 1026, InTerms, Just "GHC.Prim", "ltAddr#"),+ ('9', 1027, InTerms, Just "GHC.PrimopWrappers", "ltAddr#"),+ ('9', 1028, InTerms, Just "GHC.Prim", "leAddr#"),+ ('9', 1029, InTerms, Just "GHC.PrimopWrappers", "leAddr#"),+ ('9', 1030, InTerms, Just "GHC.Prim", "indexCharOffAddr#"),+ ('9', 1031, InTerms, Just "GHC.PrimopWrappers", "indexCharOffAddr#"),+ ('9', 1032, InTerms, Just "GHC.Prim", "indexWideCharOffAddr#"),+ ('9', 1033, InTerms, Just "GHC.PrimopWrappers", "indexWideCharOffAddr#"),+ ('9', 1034, InTerms, Just "GHC.Prim", "indexIntOffAddr#"),+ ('9', 1035, InTerms, Just "GHC.PrimopWrappers", "indexIntOffAddr#"),+ ('9', 1036, InTerms, Just "GHC.Prim", "indexWordOffAddr#"),+ ('9', 1037, InTerms, Just "GHC.PrimopWrappers", "indexWordOffAddr#"),+ ('9', 1038, InTerms, Just "GHC.Prim", "indexAddrOffAddr#"),+ ('9', 1039, InTerms, Just "GHC.PrimopWrappers", "indexAddrOffAddr#"),+ ('9', 1040, InTerms, Just "GHC.Prim", "indexFloatOffAddr#"),+ ('9', 1041, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddr#"),+ ('9', 1042, InTerms, Just "GHC.Prim", "indexDoubleOffAddr#"),+ ('9', 1043, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddr#"),+ ('9', 1044, InTerms, Just "GHC.Prim", "indexStablePtrOffAddr#"),+ ('9', 1045, InTerms, Just "GHC.PrimopWrappers", "indexStablePtrOffAddr#"),+ ('9', 1046, InTerms, Just "GHC.Prim", "indexInt8OffAddr#"),+ ('9', 1047, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddr#"),+ ('9', 1048, InTerms, Just "GHC.Prim", "indexWord8OffAddr#"),+ ('9', 1049, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddr#"),+ ('9', 1050, InTerms, Just "GHC.Prim", "indexInt16OffAddr#"),+ ('9', 1051, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddr#"),+ ('9', 1052, InTerms, Just "GHC.Prim", "indexWord16OffAddr#"),+ ('9', 1053, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddr#"),+ ('9', 1054, InTerms, Just "GHC.Prim", "indexInt32OffAddr#"),+ ('9', 1055, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddr#"),+ ('9', 1056, InTerms, Just "GHC.Prim", "indexWord32OffAddr#"),+ ('9', 1057, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddr#"),+ ('9', 1058, InTerms, Just "GHC.Prim", "indexInt64OffAddr#"),+ ('9', 1059, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddr#"),+ ('9', 1060, InTerms, Just "GHC.Prim", "indexWord64OffAddr#"),+ ('9', 1061, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddr#"),+ ('9', 1062, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsChar#"),+ ('9', 1063, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsChar#"),+ ('9', 1064, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWideChar#"),+ ('9', 1065, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWideChar#"),+ ('9', 1066, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt#"),+ ('9', 1067, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt#"),+ ('9', 1068, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord#"),+ ('9', 1069, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord#"),+ ('9', 1070, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsAddr#"),+ ('9', 1071, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsAddr#"),+ ('9', 1072, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsFloat#"),+ ('9', 1073, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsFloat#"),+ ('9', 1074, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsDouble#"),+ ('9', 1075, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsDouble#"),+ ('9', 1076, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsStablePtr#"),+ ('9', 1077, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsStablePtr#"),+ ('9', 1078, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt16#"),+ ('9', 1079, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt16#"),+ ('9', 1080, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord16#"),+ ('9', 1081, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord16#"),+ ('9', 1082, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt32#"),+ ('9', 1083, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt32#"),+ ('9', 1084, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord32#"),+ ('9', 1085, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord32#"),+ ('9', 1086, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsInt64#"),+ ('9', 1087, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsInt64#"),+ ('9', 1088, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord64#"),+ ('9', 1089, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord64#"),+ ('9', 1090, InTerms, Just "GHC.Prim", "readCharOffAddr#"),+ ('9', 1091, InTerms, Just "GHC.PrimopWrappers", "readCharOffAddr#"),+ ('9', 1092, InTerms, Just "GHC.Prim", "readWideCharOffAddr#"),+ ('9', 1093, InTerms, Just "GHC.PrimopWrappers", "readWideCharOffAddr#"),+ ('9', 1094, InTerms, Just "GHC.Prim", "readIntOffAddr#"),+ ('9', 1095, InTerms, Just "GHC.PrimopWrappers", "readIntOffAddr#"),+ ('9', 1096, InTerms, Just "GHC.Prim", "readWordOffAddr#"),+ ('9', 1097, InTerms, Just "GHC.PrimopWrappers", "readWordOffAddr#"),+ ('9', 1098, InTerms, Just "GHC.Prim", "readAddrOffAddr#"),+ ('9', 1099, InTerms, Just "GHC.PrimopWrappers", "readAddrOffAddr#"),+ ('9', 1100, InTerms, Just "GHC.Prim", "readFloatOffAddr#"),+ ('9', 1101, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddr#"),+ ('9', 1102, InTerms, Just "GHC.Prim", "readDoubleOffAddr#"),+ ('9', 1103, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddr#"),+ ('9', 1104, InTerms, Just "GHC.Prim", "readStablePtrOffAddr#"),+ ('9', 1105, InTerms, Just "GHC.PrimopWrappers", "readStablePtrOffAddr#"),+ ('9', 1106, InTerms, Just "GHC.Prim", "readInt8OffAddr#"),+ ('9', 1107, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddr#"),+ ('9', 1108, InTerms, Just "GHC.Prim", "readWord8OffAddr#"),+ ('9', 1109, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddr#"),+ ('9', 1110, InTerms, Just "GHC.Prim", "readInt16OffAddr#"),+ ('9', 1111, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddr#"),+ ('9', 1112, InTerms, Just "GHC.Prim", "readWord16OffAddr#"),+ ('9', 1113, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddr#"),+ ('9', 1114, InTerms, Just "GHC.Prim", "readInt32OffAddr#"),+ ('9', 1115, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddr#"),+ ('9', 1116, InTerms, Just "GHC.Prim", "readWord32OffAddr#"),+ ('9', 1117, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddr#"),+ ('9', 1118, InTerms, Just "GHC.Prim", "readInt64OffAddr#"),+ ('9', 1119, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddr#"),+ ('9', 1120, InTerms, Just "GHC.Prim", "readWord64OffAddr#"),+ ('9', 1121, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddr#"),+ ('9', 1122, InTerms, Just "GHC.Prim", "readWord8OffAddrAsChar#"),+ ('9', 1123, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsChar#"),+ ('9', 1124, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWideChar#"),+ ('9', 1125, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWideChar#"),+ ('9', 1126, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt#"),+ ('9', 1127, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt#"),+ ('9', 1128, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord#"),+ ('9', 1129, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord#"),+ ('9', 1130, InTerms, Just "GHC.Prim", "readWord8OffAddrAsAddr#"),+ ('9', 1131, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsAddr#"),+ ('9', 1132, InTerms, Just "GHC.Prim", "readWord8OffAddrAsFloat#"),+ ('9', 1133, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsFloat#"),+ ('9', 1134, InTerms, Just "GHC.Prim", "readWord8OffAddrAsDouble#"),+ ('9', 1135, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsDouble#"),+ ('9', 1136, InTerms, Just "GHC.Prim", "readWord8OffAddrAsStablePtr#"),+ ('9', 1137, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsStablePtr#"),+ ('9', 1138, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt16#"),+ ('9', 1139, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt16#"),+ ('9', 1140, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord16#"),+ ('9', 1141, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord16#"),+ ('9', 1142, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt32#"),+ ('9', 1143, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt32#"),+ ('9', 1144, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord32#"),+ ('9', 1145, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord32#"),+ ('9', 1146, InTerms, Just "GHC.Prim", "readWord8OffAddrAsInt64#"),+ ('9', 1147, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsInt64#"),+ ('9', 1148, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord64#"),+ ('9', 1149, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord64#"),+ ('9', 1150, InTerms, Just "GHC.Prim", "writeCharOffAddr#"),+ ('9', 1151, InTerms, Just "GHC.PrimopWrappers", "writeCharOffAddr#"),+ ('9', 1152, InTerms, Just "GHC.Prim", "writeWideCharOffAddr#"),+ ('9', 1153, InTerms, Just "GHC.PrimopWrappers", "writeWideCharOffAddr#"),+ ('9', 1154, InTerms, Just "GHC.Prim", "writeIntOffAddr#"),+ ('9', 1155, InTerms, Just "GHC.PrimopWrappers", "writeIntOffAddr#"),+ ('9', 1156, InTerms, Just "GHC.Prim", "writeWordOffAddr#"),+ ('9', 1157, InTerms, Just "GHC.PrimopWrappers", "writeWordOffAddr#"),+ ('9', 1158, InTerms, Just "GHC.Prim", "writeAddrOffAddr#"),+ ('9', 1159, InTerms, Just "GHC.PrimopWrappers", "writeAddrOffAddr#"),+ ('9', 1160, InTerms, Just "GHC.Prim", "writeFloatOffAddr#"),+ ('9', 1161, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddr#"),+ ('9', 1162, InTerms, Just "GHC.Prim", "writeDoubleOffAddr#"),+ ('9', 1163, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddr#"),+ ('9', 1164, InTerms, Just "GHC.Prim", "writeStablePtrOffAddr#"),+ ('9', 1165, InTerms, Just "GHC.PrimopWrappers", "writeStablePtrOffAddr#"),+ ('9', 1166, InTerms, Just "GHC.Prim", "writeInt8OffAddr#"),+ ('9', 1167, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddr#"),+ ('9', 1168, InTerms, Just "GHC.Prim", "writeWord8OffAddr#"),+ ('9', 1169, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddr#"),+ ('9', 1170, InTerms, Just "GHC.Prim", "writeInt16OffAddr#"),+ ('9', 1171, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddr#"),+ ('9', 1172, InTerms, Just "GHC.Prim", "writeWord16OffAddr#"),+ ('9', 1173, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddr#"),+ ('9', 1174, InTerms, Just "GHC.Prim", "writeInt32OffAddr#"),+ ('9', 1175, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddr#"),+ ('9', 1176, InTerms, Just "GHC.Prim", "writeWord32OffAddr#"),+ ('9', 1177, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddr#"),+ ('9', 1178, InTerms, Just "GHC.Prim", "writeInt64OffAddr#"),+ ('9', 1179, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddr#"),+ ('9', 1180, InTerms, Just "GHC.Prim", "writeWord64OffAddr#"),+ ('9', 1181, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddr#"),+ ('9', 1182, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsChar#"),+ ('9', 1183, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsChar#"),+ ('9', 1184, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWideChar#"),+ ('9', 1185, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWideChar#"),+ ('9', 1186, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt#"),+ ('9', 1187, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt#"),+ ('9', 1188, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord#"),+ ('9', 1189, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord#"),+ ('9', 1190, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsAddr#"),+ ('9', 1191, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsAddr#"),+ ('9', 1192, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsFloat#"),+ ('9', 1193, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsFloat#"),+ ('9', 1194, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsDouble#"),+ ('9', 1195, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsDouble#"),+ ('9', 1196, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsStablePtr#"),+ ('9', 1197, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsStablePtr#"),+ ('9', 1198, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt16#"),+ ('9', 1199, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt16#"),+ ('9', 1200, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord16#"),+ ('9', 1201, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord16#"),+ ('9', 1202, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt32#"),+ ('9', 1203, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt32#"),+ ('9', 1204, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord32#"),+ ('9', 1205, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord32#"),+ ('9', 1206, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsInt64#"),+ ('9', 1207, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsInt64#"),+ ('9', 1208, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord64#"),+ ('9', 1209, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord64#"),+ ('9', 1210, InTerms, Just "GHC.Prim", "atomicExchangeAddrAddr#"),+ ('9', 1211, InTerms, Just "GHC.PrimopWrappers", "atomicExchangeAddrAddr#"),+ ('9', 1212, InTerms, Just "GHC.Prim", "atomicExchangeWordAddr#"),+ ('9', 1213, InTerms, Just "GHC.PrimopWrappers", "atomicExchangeWordAddr#"),+ ('9', 1214, InTerms, Just "GHC.Prim", "atomicCasAddrAddr#"),+ ('9', 1215, InTerms, Just "GHC.PrimopWrappers", "atomicCasAddrAddr#"),+ ('9', 1216, InTerms, Just "GHC.Prim", "atomicCasWordAddr#"),+ ('9', 1217, InTerms, Just "GHC.PrimopWrappers", "atomicCasWordAddr#"),+ ('9', 1218, InTerms, Just "GHC.Prim", "atomicCasWord8Addr#"),+ ('9', 1219, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord8Addr#"),+ ('9', 1220, InTerms, Just "GHC.Prim", "atomicCasWord16Addr#"),+ ('9', 1221, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord16Addr#"),+ ('9', 1222, InTerms, Just "GHC.Prim", "atomicCasWord32Addr#"),+ ('9', 1223, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord32Addr#"),+ ('9', 1224, InTerms, Just "GHC.Prim", "atomicCasWord64Addr#"),+ ('9', 1225, InTerms, Just "GHC.PrimopWrappers", "atomicCasWord64Addr#"),+ ('9', 1226, InTerms, Just "GHC.Prim", "fetchAddWordAddr#"),+ ('9', 1227, InTerms, Just "GHC.PrimopWrappers", "fetchAddWordAddr#"),+ ('9', 1228, InTerms, Just "GHC.Prim", "fetchSubWordAddr#"),+ ('9', 1229, InTerms, Just "GHC.PrimopWrappers", "fetchSubWordAddr#"),+ ('9', 1230, InTerms, Just "GHC.Prim", "fetchAndWordAddr#"),+ ('9', 1231, InTerms, Just "GHC.PrimopWrappers", "fetchAndWordAddr#"),+ ('9', 1232, InTerms, Just "GHC.Prim", "fetchNandWordAddr#"),+ ('9', 1233, InTerms, Just "GHC.PrimopWrappers", "fetchNandWordAddr#"),+ ('9', 1234, InTerms, Just "GHC.Prim", "fetchOrWordAddr#"),+ ('9', 1235, InTerms, Just "GHC.PrimopWrappers", "fetchOrWordAddr#"),+ ('9', 1236, InTerms, Just "GHC.Prim", "fetchXorWordAddr#"),+ ('9', 1237, InTerms, Just "GHC.PrimopWrappers", "fetchXorWordAddr#"),+ ('9', 1238, InTerms, Just "GHC.Prim", "atomicReadWordAddr#"),+ ('9', 1239, InTerms, Just "GHC.PrimopWrappers", "atomicReadWordAddr#"),+ ('9', 1240, InTerms, Just "GHC.Prim", "atomicWriteWordAddr#"),+ ('9', 1241, InTerms, Just "GHC.PrimopWrappers", "atomicWriteWordAddr#"),+ ('9', 1242, InTerms, Just "GHC.Prim", "newMutVar#"),+ ('9', 1243, InTerms, Just "GHC.PrimopWrappers", "newMutVar#"),+ ('9', 1244, InTerms, Just "GHC.Prim", "readMutVar#"),+ ('9', 1245, InTerms, Just "GHC.PrimopWrappers", "readMutVar#"),+ ('9', 1246, InTerms, Just "GHC.Prim", "writeMutVar#"),+ ('9', 1247, InTerms, Just "GHC.PrimopWrappers", "writeMutVar#"),+ ('9', 1248, InTerms, Just "GHC.Prim", "atomicSwapMutVar#"),+ ('9', 1249, InTerms, Just "GHC.PrimopWrappers", "atomicSwapMutVar#"),+ ('9', 1250, InTerms, Just "GHC.Prim", "atomicModifyMutVar2#"),+ ('9', 1251, InTerms, Just "GHC.PrimopWrappers", "atomicModifyMutVar2#"),+ ('9', 1252, InTerms, Just "GHC.Prim", "atomicModifyMutVar_#"),+ ('9', 1253, InTerms, Just "GHC.PrimopWrappers", "atomicModifyMutVar_#"),+ ('9', 1254, InTerms, Just "GHC.Prim", "casMutVar#"),+ ('9', 1255, InTerms, Just "GHC.PrimopWrappers", "casMutVar#"),+ ('9', 1256, InTerms, Just "GHC.Prim", "catch#"),+ ('9', 1257, InTerms, Just "GHC.PrimopWrappers", "catch#"),+ ('9', 1258, InTerms, Just "GHC.Prim", "raise#"),+ ('9', 1259, InTerms, Just "GHC.PrimopWrappers", "raise#"),+ ('9', 1260, InTerms, Just "GHC.Prim", "raiseUnderflow#"),+ ('9', 1261, InTerms, Just "GHC.PrimopWrappers", "raiseUnderflow#"),+ ('9', 1262, InTerms, Just "GHC.Prim", "raiseOverflow#"),+ ('9', 1263, InTerms, Just "GHC.PrimopWrappers", "raiseOverflow#"),+ ('9', 1264, InTerms, Just "GHC.Prim", "raiseDivZero#"),+ ('9', 1265, InTerms, Just "GHC.PrimopWrappers", "raiseDivZero#"),+ ('9', 1266, InTerms, Just "GHC.Prim", "raiseIO#"),+ ('9', 1267, InTerms, Just "GHC.PrimopWrappers", "raiseIO#"),+ ('9', 1268, InTerms, Just "GHC.Prim", "maskAsyncExceptions#"),+ ('9', 1269, InTerms, Just "GHC.PrimopWrappers", "maskAsyncExceptions#"),+ ('9', 1270, InTerms, Just "GHC.Prim", "maskUninterruptible#"),+ ('9', 1271, InTerms, Just "GHC.PrimopWrappers", "maskUninterruptible#"),+ ('9', 1272, InTerms, Just "GHC.Prim", "unmaskAsyncExceptions#"),+ ('9', 1273, InTerms, Just "GHC.PrimopWrappers", "unmaskAsyncExceptions#"),+ ('9', 1274, InTerms, Just "GHC.Prim", "getMaskingState#"),+ ('9', 1275, InTerms, Just "GHC.PrimopWrappers", "getMaskingState#"),+ ('9', 1276, InTerms, Just "GHC.Prim", "newPromptTag#"),+ ('9', 1277, InTerms, Just "GHC.PrimopWrappers", "newPromptTag#"),+ ('9', 1278, InTerms, Just "GHC.Prim", "prompt#"),+ ('9', 1279, InTerms, Just "GHC.PrimopWrappers", "prompt#"),+ ('9', 1280, InTerms, Just "GHC.Prim", "control0#"),+ ('9', 1281, InTerms, Just "GHC.PrimopWrappers", "control0#"),+ ('9', 1282, InTerms, Just "GHC.Prim", "atomically#"),+ ('9', 1283, InTerms, Just "GHC.PrimopWrappers", "atomically#"),+ ('9', 1284, InTerms, Just "GHC.Prim", "retry#"),+ ('9', 1285, InTerms, Just "GHC.PrimopWrappers", "retry#"),+ ('9', 1286, InTerms, Just "GHC.Prim", "catchRetry#"),+ ('9', 1287, InTerms, Just "GHC.PrimopWrappers", "catchRetry#"),+ ('9', 1288, InTerms, Just "GHC.Prim", "catchSTM#"),+ ('9', 1289, InTerms, Just "GHC.PrimopWrappers", "catchSTM#"),+ ('9', 1290, InTerms, Just "GHC.Prim", "newTVar#"),+ ('9', 1291, InTerms, Just "GHC.PrimopWrappers", "newTVar#"),+ ('9', 1292, InTerms, Just "GHC.Prim", "readTVar#"),+ ('9', 1293, InTerms, Just "GHC.PrimopWrappers", "readTVar#"),+ ('9', 1294, InTerms, Just "GHC.Prim", "readTVarIO#"),+ ('9', 1295, InTerms, Just "GHC.PrimopWrappers", "readTVarIO#"),+ ('9', 1296, InTerms, Just "GHC.Prim", "writeTVar#"),+ ('9', 1297, InTerms, Just "GHC.PrimopWrappers", "writeTVar#"),+ ('9', 1298, InTerms, Just "GHC.Prim", "newMVar#"),+ ('9', 1299, InTerms, Just "GHC.PrimopWrappers", "newMVar#"),+ ('9', 1300, InTerms, Just "GHC.Prim", "takeMVar#"),+ ('9', 1301, InTerms, Just "GHC.PrimopWrappers", "takeMVar#"),+ ('9', 1302, InTerms, Just "GHC.Prim", "tryTakeMVar#"),+ ('9', 1303, InTerms, Just "GHC.PrimopWrappers", "tryTakeMVar#"),+ ('9', 1304, InTerms, Just "GHC.Prim", "putMVar#"),+ ('9', 1305, InTerms, Just "GHC.PrimopWrappers", "putMVar#"),+ ('9', 1306, InTerms, Just "GHC.Prim", "tryPutMVar#"),+ ('9', 1307, InTerms, Just "GHC.PrimopWrappers", "tryPutMVar#"),+ ('9', 1308, InTerms, Just "GHC.Prim", "readMVar#"),+ ('9', 1309, InTerms, Just "GHC.PrimopWrappers", "readMVar#"),+ ('9', 1310, InTerms, Just "GHC.Prim", "tryReadMVar#"),+ ('9', 1311, InTerms, Just "GHC.PrimopWrappers", "tryReadMVar#"),+ ('9', 1312, InTerms, Just "GHC.Prim", "isEmptyMVar#"),+ ('9', 1313, InTerms, Just "GHC.PrimopWrappers", "isEmptyMVar#"),+ ('9', 1314, InTerms, Just "GHC.Prim", "newIOPort#"),+ ('9', 1315, InTerms, Just "GHC.PrimopWrappers", "newIOPort#"),+ ('9', 1316, InTerms, Just "GHC.Prim", "readIOPort#"),+ ('9', 1317, InTerms, Just "GHC.PrimopWrappers", "readIOPort#"),+ ('9', 1318, InTerms, Just "GHC.Prim", "writeIOPort#"),+ ('9', 1319, InTerms, Just "GHC.PrimopWrappers", "writeIOPort#"),+ ('9', 1320, InTerms, Just "GHC.Prim", "delay#"),+ ('9', 1321, InTerms, Just "GHC.PrimopWrappers", "delay#"),+ ('9', 1322, InTerms, Just "GHC.Prim", "waitRead#"),+ ('9', 1323, InTerms, Just "GHC.PrimopWrappers", "waitRead#"),+ ('9', 1324, InTerms, Just "GHC.Prim", "waitWrite#"),+ ('9', 1325, InTerms, Just "GHC.PrimopWrappers", "waitWrite#"),+ ('9', 1326, InTerms, Just "GHC.Prim", "fork#"),+ ('9', 1327, InTerms, Just "GHC.PrimopWrappers", "fork#"),+ ('9', 1328, InTerms, Just "GHC.Prim", "forkOn#"),+ ('9', 1329, InTerms, Just "GHC.PrimopWrappers", "forkOn#"),+ ('9', 1330, InTerms, Just "GHC.Prim", "killThread#"),+ ('9', 1331, InTerms, Just "GHC.PrimopWrappers", "killThread#"),+ ('9', 1332, InTerms, Just "GHC.Prim", "yield#"),+ ('9', 1333, InTerms, Just "GHC.PrimopWrappers", "yield#"),+ ('9', 1334, InTerms, Just "GHC.Prim", "myThreadId#"),+ ('9', 1335, InTerms, Just "GHC.PrimopWrappers", "myThreadId#"),+ ('9', 1336, InTerms, Just "GHC.Prim", "labelThread#"),+ ('9', 1337, InTerms, Just "GHC.PrimopWrappers", "labelThread#"),+ ('9', 1338, InTerms, Just "GHC.Prim", "isCurrentThreadBound#"),+ ('9', 1339, InTerms, Just "GHC.PrimopWrappers", "isCurrentThreadBound#"),+ ('9', 1340, InTerms, Just "GHC.Prim", "noDuplicate#"),+ ('9', 1341, InTerms, Just "GHC.PrimopWrappers", "noDuplicate#"),+ ('9', 1342, InTerms, Just "GHC.Prim", "threadLabel#"),+ ('9', 1343, InTerms, Just "GHC.PrimopWrappers", "threadLabel#"),+ ('9', 1344, InTerms, Just "GHC.Prim", "threadStatus#"),+ ('9', 1345, InTerms, Just "GHC.PrimopWrappers", "threadStatus#"),+ ('9', 1346, InTerms, Just "GHC.Prim", "listThreads#"),+ ('9', 1347, InTerms, Just "GHC.PrimopWrappers", "listThreads#"),+ ('9', 1348, InTerms, Just "GHC.Prim", "mkWeak#"),+ ('9', 1349, InTerms, Just "GHC.PrimopWrappers", "mkWeak#"),+ ('9', 1350, InTerms, Just "GHC.Prim", "mkWeakNoFinalizer#"),+ ('9', 1351, InTerms, Just "GHC.PrimopWrappers", "mkWeakNoFinalizer#"),+ ('9', 1352, InTerms, Just "GHC.Prim", "addCFinalizerToWeak#"),+ ('9', 1353, InTerms, Just "GHC.PrimopWrappers", "addCFinalizerToWeak#"),+ ('9', 1354, InTerms, Just "GHC.Prim", "deRefWeak#"),+ ('9', 1355, InTerms, Just "GHC.PrimopWrappers", "deRefWeak#"),+ ('9', 1356, InTerms, Just "GHC.Prim", "finalizeWeak#"),+ ('9', 1357, InTerms, Just "GHC.PrimopWrappers", "finalizeWeak#"),+ ('9', 1358, InTerms, Just "GHC.Prim", "touch#"),+ ('9', 1359, InTerms, Just "GHC.PrimopWrappers", "touch#"),+ ('9', 1360, InTerms, Just "GHC.Prim", "makeStablePtr#"),+ ('9', 1361, InTerms, Just "GHC.PrimopWrappers", "makeStablePtr#"),+ ('9', 1362, InTerms, Just "GHC.Prim", "deRefStablePtr#"),+ ('9', 1363, InTerms, Just "GHC.PrimopWrappers", "deRefStablePtr#"),+ ('9', 1364, InTerms, Just "GHC.Prim", "eqStablePtr#"),+ ('9', 1365, InTerms, Just "GHC.PrimopWrappers", "eqStablePtr#"),+ ('9', 1366, InTerms, Just "GHC.Prim", "makeStableName#"),+ ('9', 1367, InTerms, Just "GHC.PrimopWrappers", "makeStableName#"),+ ('9', 1368, InTerms, Just "GHC.Prim", "stableNameToInt#"),+ ('9', 1369, InTerms, Just "GHC.PrimopWrappers", "stableNameToInt#"),+ ('9', 1370, InTerms, Just "GHC.Prim", "compactNew#"),+ ('9', 1371, InTerms, Just "GHC.PrimopWrappers", "compactNew#"),+ ('9', 1372, InTerms, Just "GHC.Prim", "compactResize#"),+ ('9', 1373, InTerms, Just "GHC.PrimopWrappers", "compactResize#"),+ ('9', 1374, InTerms, Just "GHC.Prim", "compactContains#"),+ ('9', 1375, InTerms, Just "GHC.PrimopWrappers", "compactContains#"),+ ('9', 1376, InTerms, Just "GHC.Prim", "compactContainsAny#"),+ ('9', 1377, InTerms, Just "GHC.PrimopWrappers", "compactContainsAny#"),+ ('9', 1378, InTerms, Just "GHC.Prim", "compactGetFirstBlock#"),+ ('9', 1379, InTerms, Just "GHC.PrimopWrappers", "compactGetFirstBlock#"),+ ('9', 1380, InTerms, Just "GHC.Prim", "compactGetNextBlock#"),+ ('9', 1381, InTerms, Just "GHC.PrimopWrappers", "compactGetNextBlock#"),+ ('9', 1382, InTerms, Just "GHC.Prim", "compactAllocateBlock#"),+ ('9', 1383, InTerms, Just "GHC.PrimopWrappers", "compactAllocateBlock#"),+ ('9', 1384, InTerms, Just "GHC.Prim", "compactFixupPointers#"),+ ('9', 1385, InTerms, Just "GHC.PrimopWrappers", "compactFixupPointers#"),+ ('9', 1386, InTerms, Just "GHC.Prim", "compactAdd#"),+ ('9', 1387, InTerms, Just "GHC.PrimopWrappers", "compactAdd#"),+ ('9', 1388, InTerms, Just "GHC.Prim", "compactAddWithSharing#"),+ ('9', 1389, InTerms, Just "GHC.PrimopWrappers", "compactAddWithSharing#"),+ ('9', 1390, InTerms, Just "GHC.Prim", "compactSize#"),+ ('9', 1391, InTerms, Just "GHC.PrimopWrappers", "compactSize#"),+ ('9', 1392, InTerms, Just "GHC.Prim", "reallyUnsafePtrEquality#"),+ ('9', 1393, InTerms, Just "GHC.PrimopWrappers", "reallyUnsafePtrEquality#"),+ ('9', 1394, InTerms, Just "GHC.Prim", "par#"),+ ('9', 1395, InTerms, Just "GHC.PrimopWrappers", "par#"),+ ('9', 1396, InTerms, Just "GHC.Prim", "spark#"),+ ('9', 1397, InTerms, Just "GHC.PrimopWrappers", "spark#"),+ ('9', 1398, InTerms, Just "GHC.Prim", "getSpark#"),+ ('9', 1399, InTerms, Just "GHC.PrimopWrappers", "getSpark#"),+ ('9', 1400, InTerms, Just "GHC.Prim", "numSparks#"),+ ('9', 1401, InTerms, Just "GHC.PrimopWrappers", "numSparks#"),+ ('9', 1402, InTerms, Just "GHC.Prim", "keepAlive#"),+ ('9', 1403, InTerms, Just "GHC.PrimopWrappers", "keepAlive#"),+ ('9', 1404, InTerms, Just "GHC.Prim", "dataToTagSmall#"),+ ('9', 1405, InTerms, Just "GHC.PrimopWrappers", "dataToTagSmall#"),+ ('9', 1406, InTerms, Just "GHC.Prim", "dataToTagLarge#"),+ ('9', 1407, InTerms, Just "GHC.PrimopWrappers", "dataToTagLarge#"),+ ('9', 1408, InTerms, Just "GHC.Prim", "tagToEnum#"),+ ('9', 1409, InTerms, Just "GHC.PrimopWrappers", "tagToEnum#"),+ ('9', 1410, InTerms, Just "GHC.Prim", "addrToAny#"),+ ('9', 1411, InTerms, Just "GHC.PrimopWrappers", "addrToAny#"),+ ('9', 1412, InTerms, Just "GHC.Prim", "anyToAddr#"),+ ('9', 1413, InTerms, Just "GHC.PrimopWrappers", "anyToAddr#"),+ ('9', 1414, InTerms, Just "GHC.Prim", "mkApUpd0#"),+ ('9', 1415, InTerms, Just "GHC.PrimopWrappers", "mkApUpd0#"),+ ('9', 1416, InTerms, Just "GHC.Prim", "newBCO#"),+ ('9', 1417, InTerms, Just "GHC.PrimopWrappers", "newBCO#"),+ ('9', 1418, InTerms, Just "GHC.Prim", "unpackClosure#"),+ ('9', 1419, InTerms, Just "GHC.PrimopWrappers", "unpackClosure#"),+ ('9', 1420, InTerms, Just "GHC.Prim", "closureSize#"),+ ('9', 1421, InTerms, Just "GHC.PrimopWrappers", "closureSize#"),+ ('9', 1422, InTerms, Just "GHC.Prim", "getApStackVal#"),+ ('9', 1423, InTerms, Just "GHC.PrimopWrappers", "getApStackVal#"),+ ('9', 1424, InTerms, Just "GHC.Prim", "getCCSOf#"),+ ('9', 1425, InTerms, Just "GHC.PrimopWrappers", "getCCSOf#"),+ ('9', 1426, InTerms, Just "GHC.Prim", "getCurrentCCS#"),+ ('9', 1427, InTerms, Just "GHC.PrimopWrappers", "getCurrentCCS#"),+ ('9', 1428, InTerms, Just "GHC.Prim", "clearCCS#"),+ ('9', 1429, InTerms, Just "GHC.PrimopWrappers", "clearCCS#"),+ ('9', 1430, InTerms, Just "GHC.Prim", "whereFrom#"),+ ('9', 1431, InTerms, Just "GHC.PrimopWrappers", "whereFrom#"),+ ('9', 1432, InTerms, Just "GHC.Prim", "traceEvent#"),+ ('9', 1433, InTerms, Just "GHC.PrimopWrappers", "traceEvent#"),+ ('9', 1434, InTerms, Just "GHC.Prim", "traceBinaryEvent#"),+ ('9', 1435, InTerms, Just "GHC.PrimopWrappers", "traceBinaryEvent#"),+ ('9', 1436, InTerms, Just "GHC.Prim", "traceMarker#"),+ ('9', 1437, InTerms, Just "GHC.PrimopWrappers", "traceMarker#"),+ ('9', 1438, InTerms, Just "GHC.Prim", "setThreadAllocationCounter#"),+ ('9', 1439, InTerms, Just "GHC.PrimopWrappers", "setThreadAllocationCounter#"),+ ('9', 1440, InTerms, Just "GHC.Prim", "broadcastInt8X16#"),+ ('9', 1441, InTerms, Just "GHC.PrimopWrappers", "broadcastInt8X16#"),+ ('9', 1442, InTerms, Just "GHC.Prim", "broadcastInt16X8#"),+ ('9', 1443, InTerms, Just "GHC.PrimopWrappers", "broadcastInt16X8#"),+ ('9', 1444, InTerms, Just "GHC.Prim", "broadcastInt32X4#"),+ ('9', 1445, InTerms, Just "GHC.PrimopWrappers", "broadcastInt32X4#"),+ ('9', 1446, InTerms, Just "GHC.Prim", "broadcastInt64X2#"),+ ('9', 1447, InTerms, Just "GHC.PrimopWrappers", "broadcastInt64X2#"),+ ('9', 1448, InTerms, Just "GHC.Prim", "broadcastInt8X32#"),+ ('9', 1449, InTerms, Just "GHC.PrimopWrappers", "broadcastInt8X32#"),+ ('9', 1450, InTerms, Just "GHC.Prim", "broadcastInt16X16#"),+ ('9', 1451, InTerms, Just "GHC.PrimopWrappers", "broadcastInt16X16#"),+ ('9', 1452, InTerms, Just "GHC.Prim", "broadcastInt32X8#"),+ ('9', 1453, InTerms, Just "GHC.PrimopWrappers", "broadcastInt32X8#"),+ ('9', 1454, InTerms, Just "GHC.Prim", "broadcastInt64X4#"),+ ('9', 1455, InTerms, Just "GHC.PrimopWrappers", "broadcastInt64X4#"),+ ('9', 1456, InTerms, Just "GHC.Prim", "broadcastInt8X64#"),+ ('9', 1457, InTerms, Just "GHC.PrimopWrappers", "broadcastInt8X64#"),+ ('9', 1458, InTerms, Just "GHC.Prim", "broadcastInt16X32#"),+ ('9', 1459, InTerms, Just "GHC.PrimopWrappers", "broadcastInt16X32#"),+ ('9', 1460, InTerms, Just "GHC.Prim", "broadcastInt32X16#"),+ ('9', 1461, InTerms, Just "GHC.PrimopWrappers", "broadcastInt32X16#"),+ ('9', 1462, InTerms, Just "GHC.Prim", "broadcastInt64X8#"),+ ('9', 1463, InTerms, Just "GHC.PrimopWrappers", "broadcastInt64X8#"),+ ('9', 1464, InTerms, Just "GHC.Prim", "broadcastWord8X16#"),+ ('9', 1465, InTerms, Just "GHC.PrimopWrappers", "broadcastWord8X16#"),+ ('9', 1466, InTerms, Just "GHC.Prim", "broadcastWord16X8#"),+ ('9', 1467, InTerms, Just "GHC.PrimopWrappers", "broadcastWord16X8#"),+ ('9', 1468, InTerms, Just "GHC.Prim", "broadcastWord32X4#"),+ ('9', 1469, InTerms, Just "GHC.PrimopWrappers", "broadcastWord32X4#"),+ ('9', 1470, InTerms, Just "GHC.Prim", "broadcastWord64X2#"),+ ('9', 1471, InTerms, Just "GHC.PrimopWrappers", "broadcastWord64X2#"),+ ('9', 1472, InTerms, Just "GHC.Prim", "broadcastWord8X32#"),+ ('9', 1473, InTerms, Just "GHC.PrimopWrappers", "broadcastWord8X32#"),+ ('9', 1474, InTerms, Just "GHC.Prim", "broadcastWord16X16#"),+ ('9', 1475, InTerms, Just "GHC.PrimopWrappers", "broadcastWord16X16#"),+ ('9', 1476, InTerms, Just "GHC.Prim", "broadcastWord32X8#"),+ ('9', 1477, InTerms, Just "GHC.PrimopWrappers", "broadcastWord32X8#"),+ ('9', 1478, InTerms, Just "GHC.Prim", "broadcastWord64X4#"),+ ('9', 1479, InTerms, Just "GHC.PrimopWrappers", "broadcastWord64X4#"),+ ('9', 1480, InTerms, Just "GHC.Prim", "broadcastWord8X64#"),+ ('9', 1481, InTerms, Just "GHC.PrimopWrappers", "broadcastWord8X64#"),+ ('9', 1482, InTerms, Just "GHC.Prim", "broadcastWord16X32#"),+ ('9', 1483, InTerms, Just "GHC.PrimopWrappers", "broadcastWord16X32#"),+ ('9', 1484, InTerms, Just "GHC.Prim", "broadcastWord32X16#"),+ ('9', 1485, InTerms, Just "GHC.PrimopWrappers", "broadcastWord32X16#"),+ ('9', 1486, InTerms, Just "GHC.Prim", "broadcastWord64X8#"),+ ('9', 1487, InTerms, Just "GHC.PrimopWrappers", "broadcastWord64X8#"),+ ('9', 1488, InTerms, Just "GHC.Prim", "broadcastFloatX4#"),+ ('9', 1489, InTerms, Just "GHC.PrimopWrappers", "broadcastFloatX4#"),+ ('9', 1490, InTerms, Just "GHC.Prim", "broadcastDoubleX2#"),+ ('9', 1491, InTerms, Just "GHC.PrimopWrappers", "broadcastDoubleX2#"),+ ('9', 1492, InTerms, Just "GHC.Prim", "broadcastFloatX8#"),+ ('9', 1493, InTerms, Just "GHC.PrimopWrappers", "broadcastFloatX8#"),+ ('9', 1494, InTerms, Just "GHC.Prim", "broadcastDoubleX4#"),+ ('9', 1495, InTerms, Just "GHC.PrimopWrappers", "broadcastDoubleX4#"),+ ('9', 1496, InTerms, Just "GHC.Prim", "broadcastFloatX16#"),+ ('9', 1497, InTerms, Just "GHC.PrimopWrappers", "broadcastFloatX16#"),+ ('9', 1498, InTerms, Just "GHC.Prim", "broadcastDoubleX8#"),+ ('9', 1499, InTerms, Just "GHC.PrimopWrappers", "broadcastDoubleX8#"),+ ('9', 1500, InTerms, Just "GHC.Prim", "packInt8X16#"),+ ('9', 1501, InTerms, Just "GHC.PrimopWrappers", "packInt8X16#"),+ ('9', 1502, InTerms, Just "GHC.Prim", "packInt16X8#"),+ ('9', 1503, InTerms, Just "GHC.PrimopWrappers", "packInt16X8#"),+ ('9', 1504, InTerms, Just "GHC.Prim", "packInt32X4#"),+ ('9', 1505, InTerms, Just "GHC.PrimopWrappers", "packInt32X4#"),+ ('9', 1506, InTerms, Just "GHC.Prim", "packInt64X2#"),+ ('9', 1507, InTerms, Just "GHC.PrimopWrappers", "packInt64X2#"),+ ('9', 1508, InTerms, Just "GHC.Prim", "packInt8X32#"),+ ('9', 1509, InTerms, Just "GHC.PrimopWrappers", "packInt8X32#"),+ ('9', 1510, InTerms, Just "GHC.Prim", "packInt16X16#"),+ ('9', 1511, InTerms, Just "GHC.PrimopWrappers", "packInt16X16#"),+ ('9', 1512, InTerms, Just "GHC.Prim", "packInt32X8#"),+ ('9', 1513, InTerms, Just "GHC.PrimopWrappers", "packInt32X8#"),+ ('9', 1514, InTerms, Just "GHC.Prim", "packInt64X4#"),+ ('9', 1515, InTerms, Just "GHC.PrimopWrappers", "packInt64X4#"),+ ('9', 1516, InTerms, Just "GHC.Prim", "packInt8X64#"),+ ('9', 1517, InTerms, Just "GHC.PrimopWrappers", "packInt8X64#"),+ ('9', 1518, InTerms, Just "GHC.Prim", "packInt16X32#"),+ ('9', 1519, InTerms, Just "GHC.PrimopWrappers", "packInt16X32#"),+ ('9', 1520, InTerms, Just "GHC.Prim", "packInt32X16#"),+ ('9', 1521, InTerms, Just "GHC.PrimopWrappers", "packInt32X16#"),+ ('9', 1522, InTerms, Just "GHC.Prim", "packInt64X8#"),+ ('9', 1523, InTerms, Just "GHC.PrimopWrappers", "packInt64X8#"),+ ('9', 1524, InTerms, Just "GHC.Prim", "packWord8X16#"),+ ('9', 1525, InTerms, Just "GHC.PrimopWrappers", "packWord8X16#"),+ ('9', 1526, InTerms, Just "GHC.Prim", "packWord16X8#"),+ ('9', 1527, InTerms, Just "GHC.PrimopWrappers", "packWord16X8#"),+ ('9', 1528, InTerms, Just "GHC.Prim", "packWord32X4#"),+ ('9', 1529, InTerms, Just "GHC.PrimopWrappers", "packWord32X4#"),+ ('9', 1530, InTerms, Just "GHC.Prim", "packWord64X2#"),+ ('9', 1531, InTerms, Just "GHC.PrimopWrappers", "packWord64X2#"),+ ('9', 1532, InTerms, Just "GHC.Prim", "packWord8X32#"),+ ('9', 1533, InTerms, Just "GHC.PrimopWrappers", "packWord8X32#"),+ ('9', 1534, InTerms, Just "GHC.Prim", "packWord16X16#"),+ ('9', 1535, InTerms, Just "GHC.PrimopWrappers", "packWord16X16#"),+ ('9', 1536, InTerms, Just "GHC.Prim", "packWord32X8#"),+ ('9', 1537, InTerms, Just "GHC.PrimopWrappers", "packWord32X8#"),+ ('9', 1538, InTerms, Just "GHC.Prim", "packWord64X4#"),+ ('9', 1539, InTerms, Just "GHC.PrimopWrappers", "packWord64X4#"),+ ('9', 1540, InTerms, Just "GHC.Prim", "packWord8X64#"),+ ('9', 1541, InTerms, Just "GHC.PrimopWrappers", "packWord8X64#"),+ ('9', 1542, InTerms, Just "GHC.Prim", "packWord16X32#"),+ ('9', 1543, InTerms, Just "GHC.PrimopWrappers", "packWord16X32#"),+ ('9', 1544, InTerms, Just "GHC.Prim", "packWord32X16#"),+ ('9', 1545, InTerms, Just "GHC.PrimopWrappers", "packWord32X16#"),+ ('9', 1546, InTerms, Just "GHC.Prim", "packWord64X8#"),+ ('9', 1547, InTerms, Just "GHC.PrimopWrappers", "packWord64X8#"),+ ('9', 1548, InTerms, Just "GHC.Prim", "packFloatX4#"),+ ('9', 1549, InTerms, Just "GHC.PrimopWrappers", "packFloatX4#"),+ ('9', 1550, InTerms, Just "GHC.Prim", "packDoubleX2#"),+ ('9', 1551, InTerms, Just "GHC.PrimopWrappers", "packDoubleX2#"),+ ('9', 1552, InTerms, Just "GHC.Prim", "packFloatX8#"),+ ('9', 1553, InTerms, Just "GHC.PrimopWrappers", "packFloatX8#"),+ ('9', 1554, InTerms, Just "GHC.Prim", "packDoubleX4#"),+ ('9', 1555, InTerms, Just "GHC.PrimopWrappers", "packDoubleX4#"),+ ('9', 1556, InTerms, Just "GHC.Prim", "packFloatX16#"),+ ('9', 1557, InTerms, Just "GHC.PrimopWrappers", "packFloatX16#"),+ ('9', 1558, InTerms, Just "GHC.Prim", "packDoubleX8#"),+ ('9', 1559, InTerms, Just "GHC.PrimopWrappers", "packDoubleX8#"),+ ('9', 1560, InTerms, Just "GHC.Prim", "unpackInt8X16#"),+ ('9', 1561, InTerms, Just "GHC.PrimopWrappers", "unpackInt8X16#"),+ ('9', 1562, InTerms, Just "GHC.Prim", "unpackInt16X8#"),+ ('9', 1563, InTerms, Just "GHC.PrimopWrappers", "unpackInt16X8#"),+ ('9', 1564, InTerms, Just "GHC.Prim", "unpackInt32X4#"),+ ('9', 1565, InTerms, Just "GHC.PrimopWrappers", "unpackInt32X4#"),+ ('9', 1566, InTerms, Just "GHC.Prim", "unpackInt64X2#"),+ ('9', 1567, InTerms, Just "GHC.PrimopWrappers", "unpackInt64X2#"),+ ('9', 1568, InTerms, Just "GHC.Prim", "unpackInt8X32#"),+ ('9', 1569, InTerms, Just "GHC.PrimopWrappers", "unpackInt8X32#"),+ ('9', 1570, InTerms, Just "GHC.Prim", "unpackInt16X16#"),+ ('9', 1571, InTerms, Just "GHC.PrimopWrappers", "unpackInt16X16#"),+ ('9', 1572, InTerms, Just "GHC.Prim", "unpackInt32X8#"),+ ('9', 1573, InTerms, Just "GHC.PrimopWrappers", "unpackInt32X8#"),+ ('9', 1574, InTerms, Just "GHC.Prim", "unpackInt64X4#"),+ ('9', 1575, InTerms, Just "GHC.PrimopWrappers", "unpackInt64X4#"),+ ('9', 1576, InTerms, Just "GHC.Prim", "unpackInt8X64#"),+ ('9', 1577, InTerms, Just "GHC.PrimopWrappers", "unpackInt8X64#"),+ ('9', 1578, InTerms, Just "GHC.Prim", "unpackInt16X32#"),+ ('9', 1579, InTerms, Just "GHC.PrimopWrappers", "unpackInt16X32#"),+ ('9', 1580, InTerms, Just "GHC.Prim", "unpackInt32X16#"),+ ('9', 1581, InTerms, Just "GHC.PrimopWrappers", "unpackInt32X16#"),+ ('9', 1582, InTerms, Just "GHC.Prim", "unpackInt64X8#"),+ ('9', 1583, InTerms, Just "GHC.PrimopWrappers", "unpackInt64X8#"),+ ('9', 1584, InTerms, Just "GHC.Prim", "unpackWord8X16#"),+ ('9', 1585, InTerms, Just "GHC.PrimopWrappers", "unpackWord8X16#"),+ ('9', 1586, InTerms, Just "GHC.Prim", "unpackWord16X8#"),+ ('9', 1587, InTerms, Just "GHC.PrimopWrappers", "unpackWord16X8#"),+ ('9', 1588, InTerms, Just "GHC.Prim", "unpackWord32X4#"),+ ('9', 1589, InTerms, Just "GHC.PrimopWrappers", "unpackWord32X4#"),+ ('9', 1590, InTerms, Just "GHC.Prim", "unpackWord64X2#"),+ ('9', 1591, InTerms, Just "GHC.PrimopWrappers", "unpackWord64X2#"),+ ('9', 1592, InTerms, Just "GHC.Prim", "unpackWord8X32#"),+ ('9', 1593, InTerms, Just "GHC.PrimopWrappers", "unpackWord8X32#"),+ ('9', 1594, InTerms, Just "GHC.Prim", "unpackWord16X16#"),+ ('9', 1595, InTerms, Just "GHC.PrimopWrappers", "unpackWord16X16#"),+ ('9', 1596, InTerms, Just "GHC.Prim", "unpackWord32X8#"),+ ('9', 1597, InTerms, Just "GHC.PrimopWrappers", "unpackWord32X8#"),+ ('9', 1598, InTerms, Just "GHC.Prim", "unpackWord64X4#"),+ ('9', 1599, InTerms, Just "GHC.PrimopWrappers", "unpackWord64X4#"),+ ('9', 1600, InTerms, Just "GHC.Prim", "unpackWord8X64#"),+ ('9', 1601, InTerms, Just "GHC.PrimopWrappers", "unpackWord8X64#"),+ ('9', 1602, InTerms, Just "GHC.Prim", "unpackWord16X32#"),+ ('9', 1603, InTerms, Just "GHC.PrimopWrappers", "unpackWord16X32#"),+ ('9', 1604, InTerms, Just "GHC.Prim", "unpackWord32X16#"),+ ('9', 1605, InTerms, Just "GHC.PrimopWrappers", "unpackWord32X16#"),+ ('9', 1606, InTerms, Just "GHC.Prim", "unpackWord64X8#"),+ ('9', 1607, InTerms, Just "GHC.PrimopWrappers", "unpackWord64X8#"),+ ('9', 1608, InTerms, Just "GHC.Prim", "unpackFloatX4#"),+ ('9', 1609, InTerms, Just "GHC.PrimopWrappers", "unpackFloatX4#"),+ ('9', 1610, InTerms, Just "GHC.Prim", "unpackDoubleX2#"),+ ('9', 1611, InTerms, Just "GHC.PrimopWrappers", "unpackDoubleX2#"),+ ('9', 1612, InTerms, Just "GHC.Prim", "unpackFloatX8#"),+ ('9', 1613, InTerms, Just "GHC.PrimopWrappers", "unpackFloatX8#"),+ ('9', 1614, InTerms, Just "GHC.Prim", "unpackDoubleX4#"),+ ('9', 1615, InTerms, Just "GHC.PrimopWrappers", "unpackDoubleX4#"),+ ('9', 1616, InTerms, Just "GHC.Prim", "unpackFloatX16#"),+ ('9', 1617, InTerms, Just "GHC.PrimopWrappers", "unpackFloatX16#"),+ ('9', 1618, InTerms, Just "GHC.Prim", "unpackDoubleX8#"),+ ('9', 1619, InTerms, Just "GHC.PrimopWrappers", "unpackDoubleX8#"),+ ('9', 1620, InTerms, Just "GHC.Prim", "insertInt8X16#"),+ ('9', 1621, InTerms, Just "GHC.PrimopWrappers", "insertInt8X16#"),+ ('9', 1622, InTerms, Just "GHC.Prim", "insertInt16X8#"),+ ('9', 1623, InTerms, Just "GHC.PrimopWrappers", "insertInt16X8#"),+ ('9', 1624, InTerms, Just "GHC.Prim", "insertInt32X4#"),+ ('9', 1625, InTerms, Just "GHC.PrimopWrappers", "insertInt32X4#"),+ ('9', 1626, InTerms, Just "GHC.Prim", "insertInt64X2#"),+ ('9', 1627, InTerms, Just "GHC.PrimopWrappers", "insertInt64X2#"),+ ('9', 1628, InTerms, Just "GHC.Prim", "insertInt8X32#"),+ ('9', 1629, InTerms, Just "GHC.PrimopWrappers", "insertInt8X32#"),+ ('9', 1630, InTerms, Just "GHC.Prim", "insertInt16X16#"),+ ('9', 1631, InTerms, Just "GHC.PrimopWrappers", "insertInt16X16#"),+ ('9', 1632, InTerms, Just "GHC.Prim", "insertInt32X8#"),+ ('9', 1633, InTerms, Just "GHC.PrimopWrappers", "insertInt32X8#"),+ ('9', 1634, InTerms, Just "GHC.Prim", "insertInt64X4#"),+ ('9', 1635, InTerms, Just "GHC.PrimopWrappers", "insertInt64X4#"),+ ('9', 1636, InTerms, Just "GHC.Prim", "insertInt8X64#"),+ ('9', 1637, InTerms, Just "GHC.PrimopWrappers", "insertInt8X64#"),+ ('9', 1638, InTerms, Just "GHC.Prim", "insertInt16X32#"),+ ('9', 1639, InTerms, Just "GHC.PrimopWrappers", "insertInt16X32#"),+ ('9', 1640, InTerms, Just "GHC.Prim", "insertInt32X16#"),+ ('9', 1641, InTerms, Just "GHC.PrimopWrappers", "insertInt32X16#"),+ ('9', 1642, InTerms, Just "GHC.Prim", "insertInt64X8#"),+ ('9', 1643, InTerms, Just "GHC.PrimopWrappers", "insertInt64X8#"),+ ('9', 1644, InTerms, Just "GHC.Prim", "insertWord8X16#"),+ ('9', 1645, InTerms, Just "GHC.PrimopWrappers", "insertWord8X16#"),+ ('9', 1646, InTerms, Just "GHC.Prim", "insertWord16X8#"),+ ('9', 1647, InTerms, Just "GHC.PrimopWrappers", "insertWord16X8#"),+ ('9', 1648, InTerms, Just "GHC.Prim", "insertWord32X4#"),+ ('9', 1649, InTerms, Just "GHC.PrimopWrappers", "insertWord32X4#"),+ ('9', 1650, InTerms, Just "GHC.Prim", "insertWord64X2#"),+ ('9', 1651, InTerms, Just "GHC.PrimopWrappers", "insertWord64X2#"),+ ('9', 1652, InTerms, Just "GHC.Prim", "insertWord8X32#"),+ ('9', 1653, InTerms, Just "GHC.PrimopWrappers", "insertWord8X32#"),+ ('9', 1654, InTerms, Just "GHC.Prim", "insertWord16X16#"),+ ('9', 1655, InTerms, Just "GHC.PrimopWrappers", "insertWord16X16#"),+ ('9', 1656, InTerms, Just "GHC.Prim", "insertWord32X8#"),+ ('9', 1657, InTerms, Just "GHC.PrimopWrappers", "insertWord32X8#"),+ ('9', 1658, InTerms, Just "GHC.Prim", "insertWord64X4#"),+ ('9', 1659, InTerms, Just "GHC.PrimopWrappers", "insertWord64X4#"),+ ('9', 1660, InTerms, Just "GHC.Prim", "insertWord8X64#"),+ ('9', 1661, InTerms, Just "GHC.PrimopWrappers", "insertWord8X64#"),+ ('9', 1662, InTerms, Just "GHC.Prim", "insertWord16X32#"),+ ('9', 1663, InTerms, Just "GHC.PrimopWrappers", "insertWord16X32#"),+ ('9', 1664, InTerms, Just "GHC.Prim", "insertWord32X16#"),+ ('9', 1665, InTerms, Just "GHC.PrimopWrappers", "insertWord32X16#"),+ ('9', 1666, InTerms, Just "GHC.Prim", "insertWord64X8#"),+ ('9', 1667, InTerms, Just "GHC.PrimopWrappers", "insertWord64X8#"),+ ('9', 1668, InTerms, Just "GHC.Prim", "insertFloatX4#"),+ ('9', 1669, InTerms, Just "GHC.PrimopWrappers", "insertFloatX4#"),+ ('9', 1670, InTerms, Just "GHC.Prim", "insertDoubleX2#"),+ ('9', 1671, InTerms, Just "GHC.PrimopWrappers", "insertDoubleX2#"),+ ('9', 1672, InTerms, Just "GHC.Prim", "insertFloatX8#"),+ ('9', 1673, InTerms, Just "GHC.PrimopWrappers", "insertFloatX8#"),+ ('9', 1674, InTerms, Just "GHC.Prim", "insertDoubleX4#"),+ ('9', 1675, InTerms, Just "GHC.PrimopWrappers", "insertDoubleX4#"),+ ('9', 1676, InTerms, Just "GHC.Prim", "insertFloatX16#"),+ ('9', 1677, InTerms, Just "GHC.PrimopWrappers", "insertFloatX16#"),+ ('9', 1678, InTerms, Just "GHC.Prim", "insertDoubleX8#"),+ ('9', 1679, InTerms, Just "GHC.PrimopWrappers", "insertDoubleX8#"),+ ('9', 1680, InTerms, Just "GHC.Prim", "plusInt8X16#"),+ ('9', 1681, InTerms, Just "GHC.PrimopWrappers", "plusInt8X16#"),+ ('9', 1682, InTerms, Just "GHC.Prim", "plusInt16X8#"),+ ('9', 1683, InTerms, Just "GHC.PrimopWrappers", "plusInt16X8#"),+ ('9', 1684, InTerms, Just "GHC.Prim", "plusInt32X4#"),+ ('9', 1685, InTerms, Just "GHC.PrimopWrappers", "plusInt32X4#"),+ ('9', 1686, InTerms, Just "GHC.Prim", "plusInt64X2#"),+ ('9', 1687, InTerms, Just "GHC.PrimopWrappers", "plusInt64X2#"),+ ('9', 1688, InTerms, Just "GHC.Prim", "plusInt8X32#"),+ ('9', 1689, InTerms, Just "GHC.PrimopWrappers", "plusInt8X32#"),+ ('9', 1690, InTerms, Just "GHC.Prim", "plusInt16X16#"),+ ('9', 1691, InTerms, Just "GHC.PrimopWrappers", "plusInt16X16#"),+ ('9', 1692, InTerms, Just "GHC.Prim", "plusInt32X8#"),+ ('9', 1693, InTerms, Just "GHC.PrimopWrappers", "plusInt32X8#"),+ ('9', 1694, InTerms, Just "GHC.Prim", "plusInt64X4#"),+ ('9', 1695, InTerms, Just "GHC.PrimopWrappers", "plusInt64X4#"),+ ('9', 1696, InTerms, Just "GHC.Prim", "plusInt8X64#"),+ ('9', 1697, InTerms, Just "GHC.PrimopWrappers", "plusInt8X64#"),+ ('9', 1698, InTerms, Just "GHC.Prim", "plusInt16X32#"),+ ('9', 1699, InTerms, Just "GHC.PrimopWrappers", "plusInt16X32#"),+ ('9', 1700, InTerms, Just "GHC.Prim", "plusInt32X16#"),+ ('9', 1701, InTerms, Just "GHC.PrimopWrappers", "plusInt32X16#"),+ ('9', 1702, InTerms, Just "GHC.Prim", "plusInt64X8#"),+ ('9', 1703, InTerms, Just "GHC.PrimopWrappers", "plusInt64X8#"),+ ('9', 1704, InTerms, Just "GHC.Prim", "plusWord8X16#"),+ ('9', 1705, InTerms, Just "GHC.PrimopWrappers", "plusWord8X16#"),+ ('9', 1706, InTerms, Just "GHC.Prim", "plusWord16X8#"),+ ('9', 1707, InTerms, Just "GHC.PrimopWrappers", "plusWord16X8#"),+ ('9', 1708, InTerms, Just "GHC.Prim", "plusWord32X4#"),+ ('9', 1709, InTerms, Just "GHC.PrimopWrappers", "plusWord32X4#"),+ ('9', 1710, InTerms, Just "GHC.Prim", "plusWord64X2#"),+ ('9', 1711, InTerms, Just "GHC.PrimopWrappers", "plusWord64X2#"),+ ('9', 1712, InTerms, Just "GHC.Prim", "plusWord8X32#"),+ ('9', 1713, InTerms, Just "GHC.PrimopWrappers", "plusWord8X32#"),+ ('9', 1714, InTerms, Just "GHC.Prim", "plusWord16X16#"),+ ('9', 1715, InTerms, Just "GHC.PrimopWrappers", "plusWord16X16#"),+ ('9', 1716, InTerms, Just "GHC.Prim", "plusWord32X8#"),+ ('9', 1717, InTerms, Just "GHC.PrimopWrappers", "plusWord32X8#"),+ ('9', 1718, InTerms, Just "GHC.Prim", "plusWord64X4#"),+ ('9', 1719, InTerms, Just "GHC.PrimopWrappers", "plusWord64X4#"),+ ('9', 1720, InTerms, Just "GHC.Prim", "plusWord8X64#"),+ ('9', 1721, InTerms, Just "GHC.PrimopWrappers", "plusWord8X64#"),+ ('9', 1722, InTerms, Just "GHC.Prim", "plusWord16X32#"),+ ('9', 1723, InTerms, Just "GHC.PrimopWrappers", "plusWord16X32#"),+ ('9', 1724, InTerms, Just "GHC.Prim", "plusWord32X16#"),+ ('9', 1725, InTerms, Just "GHC.PrimopWrappers", "plusWord32X16#"),+ ('9', 1726, InTerms, Just "GHC.Prim", "plusWord64X8#"),+ ('9', 1727, InTerms, Just "GHC.PrimopWrappers", "plusWord64X8#"),+ ('9', 1728, InTerms, Just "GHC.Prim", "plusFloatX4#"),+ ('9', 1729, InTerms, Just "GHC.PrimopWrappers", "plusFloatX4#"),+ ('9', 1730, InTerms, Just "GHC.Prim", "plusDoubleX2#"),+ ('9', 1731, InTerms, Just "GHC.PrimopWrappers", "plusDoubleX2#"),+ ('9', 1732, InTerms, Just "GHC.Prim", "plusFloatX8#"),+ ('9', 1733, InTerms, Just "GHC.PrimopWrappers", "plusFloatX8#"),+ ('9', 1734, InTerms, Just "GHC.Prim", "plusDoubleX4#"),+ ('9', 1735, InTerms, Just "GHC.PrimopWrappers", "plusDoubleX4#"),+ ('9', 1736, InTerms, Just "GHC.Prim", "plusFloatX16#"),+ ('9', 1737, InTerms, Just "GHC.PrimopWrappers", "plusFloatX16#"),+ ('9', 1738, InTerms, Just "GHC.Prim", "plusDoubleX8#"),+ ('9', 1739, InTerms, Just "GHC.PrimopWrappers", "plusDoubleX8#"),+ ('9', 1740, InTerms, Just "GHC.Prim", "minusInt8X16#"),+ ('9', 1741, InTerms, Just "GHC.PrimopWrappers", "minusInt8X16#"),+ ('9', 1742, InTerms, Just "GHC.Prim", "minusInt16X8#"),+ ('9', 1743, InTerms, Just "GHC.PrimopWrappers", "minusInt16X8#"),+ ('9', 1744, InTerms, Just "GHC.Prim", "minusInt32X4#"),+ ('9', 1745, InTerms, Just "GHC.PrimopWrappers", "minusInt32X4#"),+ ('9', 1746, InTerms, Just "GHC.Prim", "minusInt64X2#"),+ ('9', 1747, InTerms, Just "GHC.PrimopWrappers", "minusInt64X2#"),+ ('9', 1748, InTerms, Just "GHC.Prim", "minusInt8X32#"),+ ('9', 1749, InTerms, Just "GHC.PrimopWrappers", "minusInt8X32#"),+ ('9', 1750, InTerms, Just "GHC.Prim", "minusInt16X16#"),+ ('9', 1751, InTerms, Just "GHC.PrimopWrappers", "minusInt16X16#"),+ ('9', 1752, InTerms, Just "GHC.Prim", "minusInt32X8#"),+ ('9', 1753, InTerms, Just "GHC.PrimopWrappers", "minusInt32X8#"),+ ('9', 1754, InTerms, Just "GHC.Prim", "minusInt64X4#"),+ ('9', 1755, InTerms, Just "GHC.PrimopWrappers", "minusInt64X4#"),+ ('9', 1756, InTerms, Just "GHC.Prim", "minusInt8X64#"),+ ('9', 1757, InTerms, Just "GHC.PrimopWrappers", "minusInt8X64#"),+ ('9', 1758, InTerms, Just "GHC.Prim", "minusInt16X32#"),+ ('9', 1759, InTerms, Just "GHC.PrimopWrappers", "minusInt16X32#"),+ ('9', 1760, InTerms, Just "GHC.Prim", "minusInt32X16#"),+ ('9', 1761, InTerms, Just "GHC.PrimopWrappers", "minusInt32X16#"),+ ('9', 1762, InTerms, Just "GHC.Prim", "minusInt64X8#"),+ ('9', 1763, InTerms, Just "GHC.PrimopWrappers", "minusInt64X8#"),+ ('9', 1764, InTerms, Just "GHC.Prim", "minusWord8X16#"),+ ('9', 1765, InTerms, Just "GHC.PrimopWrappers", "minusWord8X16#"),+ ('9', 1766, InTerms, Just "GHC.Prim", "minusWord16X8#"),+ ('9', 1767, InTerms, Just "GHC.PrimopWrappers", "minusWord16X8#"),+ ('9', 1768, InTerms, Just "GHC.Prim", "minusWord32X4#"),+ ('9', 1769, InTerms, Just "GHC.PrimopWrappers", "minusWord32X4#"),+ ('9', 1770, InTerms, Just "GHC.Prim", "minusWord64X2#"),+ ('9', 1771, InTerms, Just "GHC.PrimopWrappers", "minusWord64X2#"),+ ('9', 1772, InTerms, Just "GHC.Prim", "minusWord8X32#"),+ ('9', 1773, InTerms, Just "GHC.PrimopWrappers", "minusWord8X32#"),+ ('9', 1774, InTerms, Just "GHC.Prim", "minusWord16X16#"),+ ('9', 1775, InTerms, Just "GHC.PrimopWrappers", "minusWord16X16#"),+ ('9', 1776, InTerms, Just "GHC.Prim", "minusWord32X8#"),+ ('9', 1777, InTerms, Just "GHC.PrimopWrappers", "minusWord32X8#"),+ ('9', 1778, InTerms, Just "GHC.Prim", "minusWord64X4#"),+ ('9', 1779, InTerms, Just "GHC.PrimopWrappers", "minusWord64X4#"),+ ('9', 1780, InTerms, Just "GHC.Prim", "minusWord8X64#"),+ ('9', 1781, InTerms, Just "GHC.PrimopWrappers", "minusWord8X64#"),+ ('9', 1782, InTerms, Just "GHC.Prim", "minusWord16X32#"),+ ('9', 1783, InTerms, Just "GHC.PrimopWrappers", "minusWord16X32#"),+ ('9', 1784, InTerms, Just "GHC.Prim", "minusWord32X16#"),+ ('9', 1785, InTerms, Just "GHC.PrimopWrappers", "minusWord32X16#"),+ ('9', 1786, InTerms, Just "GHC.Prim", "minusWord64X8#"),+ ('9', 1787, InTerms, Just "GHC.PrimopWrappers", "minusWord64X8#"),+ ('9', 1788, InTerms, Just "GHC.Prim", "minusFloatX4#"),+ ('9', 1789, InTerms, Just "GHC.PrimopWrappers", "minusFloatX4#"),+ ('9', 1790, InTerms, Just "GHC.Prim", "minusDoubleX2#"),+ ('9', 1791, InTerms, Just "GHC.PrimopWrappers", "minusDoubleX2#"),+ ('9', 1792, InTerms, Just "GHC.Prim", "minusFloatX8#"),+ ('9', 1793, InTerms, Just "GHC.PrimopWrappers", "minusFloatX8#"),+ ('9', 1794, InTerms, Just "GHC.Prim", "minusDoubleX4#"),+ ('9', 1795, InTerms, Just "GHC.PrimopWrappers", "minusDoubleX4#"),+ ('9', 1796, InTerms, Just "GHC.Prim", "minusFloatX16#"),+ ('9', 1797, InTerms, Just "GHC.PrimopWrappers", "minusFloatX16#"),+ ('9', 1798, InTerms, Just "GHC.Prim", "minusDoubleX8#"),+ ('9', 1799, InTerms, Just "GHC.PrimopWrappers", "minusDoubleX8#"),+ ('9', 1800, InTerms, Just "GHC.Prim", "timesInt8X16#"),+ ('9', 1801, InTerms, Just "GHC.PrimopWrappers", "timesInt8X16#"),+ ('9', 1802, InTerms, Just "GHC.Prim", "timesInt16X8#"),+ ('9', 1803, InTerms, Just "GHC.PrimopWrappers", "timesInt16X8#"),+ ('9', 1804, InTerms, Just "GHC.Prim", "timesInt32X4#"),+ ('9', 1805, InTerms, Just "GHC.PrimopWrappers", "timesInt32X4#"),+ ('9', 1806, InTerms, Just "GHC.Prim", "timesInt64X2#"),+ ('9', 1807, InTerms, Just "GHC.PrimopWrappers", "timesInt64X2#"),+ ('9', 1808, InTerms, Just "GHC.Prim", "timesInt8X32#"),+ ('9', 1809, InTerms, Just "GHC.PrimopWrappers", "timesInt8X32#"),+ ('9', 1810, InTerms, Just "GHC.Prim", "timesInt16X16#"),+ ('9', 1811, InTerms, Just "GHC.PrimopWrappers", "timesInt16X16#"),+ ('9', 1812, InTerms, Just "GHC.Prim", "timesInt32X8#"),+ ('9', 1813, InTerms, Just "GHC.PrimopWrappers", "timesInt32X8#"),+ ('9', 1814, InTerms, Just "GHC.Prim", "timesInt64X4#"),+ ('9', 1815, InTerms, Just "GHC.PrimopWrappers", "timesInt64X4#"),+ ('9', 1816, InTerms, Just "GHC.Prim", "timesInt8X64#"),+ ('9', 1817, InTerms, Just "GHC.PrimopWrappers", "timesInt8X64#"),+ ('9', 1818, InTerms, Just "GHC.Prim", "timesInt16X32#"),+ ('9', 1819, InTerms, Just "GHC.PrimopWrappers", "timesInt16X32#"),+ ('9', 1820, InTerms, Just "GHC.Prim", "timesInt32X16#"),+ ('9', 1821, InTerms, Just "GHC.PrimopWrappers", "timesInt32X16#"),+ ('9', 1822, InTerms, Just "GHC.Prim", "timesInt64X8#"),+ ('9', 1823, InTerms, Just "GHC.PrimopWrappers", "timesInt64X8#"),+ ('9', 1824, InTerms, Just "GHC.Prim", "timesWord8X16#"),+ ('9', 1825, InTerms, Just "GHC.PrimopWrappers", "timesWord8X16#"),+ ('9', 1826, InTerms, Just "GHC.Prim", "timesWord16X8#"),+ ('9', 1827, InTerms, Just "GHC.PrimopWrappers", "timesWord16X8#"),+ ('9', 1828, InTerms, Just "GHC.Prim", "timesWord32X4#"),+ ('9', 1829, InTerms, Just "GHC.PrimopWrappers", "timesWord32X4#"),+ ('9', 1830, InTerms, Just "GHC.Prim", "timesWord64X2#"),+ ('9', 1831, InTerms, Just "GHC.PrimopWrappers", "timesWord64X2#"),+ ('9', 1832, InTerms, Just "GHC.Prim", "timesWord8X32#"),+ ('9', 1833, InTerms, Just "GHC.PrimopWrappers", "timesWord8X32#"),+ ('9', 1834, InTerms, Just "GHC.Prim", "timesWord16X16#"),+ ('9', 1835, InTerms, Just "GHC.PrimopWrappers", "timesWord16X16#"),+ ('9', 1836, InTerms, Just "GHC.Prim", "timesWord32X8#"),+ ('9', 1837, InTerms, Just "GHC.PrimopWrappers", "timesWord32X8#"),+ ('9', 1838, InTerms, Just "GHC.Prim", "timesWord64X4#"),+ ('9', 1839, InTerms, Just "GHC.PrimopWrappers", "timesWord64X4#"),+ ('9', 1840, InTerms, Just "GHC.Prim", "timesWord8X64#"),+ ('9', 1841, InTerms, Just "GHC.PrimopWrappers", "timesWord8X64#"),+ ('9', 1842, InTerms, Just "GHC.Prim", "timesWord16X32#"),+ ('9', 1843, InTerms, Just "GHC.PrimopWrappers", "timesWord16X32#"),+ ('9', 1844, InTerms, Just "GHC.Prim", "timesWord32X16#"),+ ('9', 1845, InTerms, Just "GHC.PrimopWrappers", "timesWord32X16#"),+ ('9', 1846, InTerms, Just "GHC.Prim", "timesWord64X8#"),+ ('9', 1847, InTerms, Just "GHC.PrimopWrappers", "timesWord64X8#"),+ ('9', 1848, InTerms, Just "GHC.Prim", "timesFloatX4#"),+ ('9', 1849, InTerms, Just "GHC.PrimopWrappers", "timesFloatX4#"),+ ('9', 1850, InTerms, Just "GHC.Prim", "timesDoubleX2#"),+ ('9', 1851, InTerms, Just "GHC.PrimopWrappers", "timesDoubleX2#"),+ ('9', 1852, InTerms, Just "GHC.Prim", "timesFloatX8#"),+ ('9', 1853, InTerms, Just "GHC.PrimopWrappers", "timesFloatX8#"),+ ('9', 1854, InTerms, Just "GHC.Prim", "timesDoubleX4#"),+ ('9', 1855, InTerms, Just "GHC.PrimopWrappers", "timesDoubleX4#"),+ ('9', 1856, InTerms, Just "GHC.Prim", "timesFloatX16#"),+ ('9', 1857, InTerms, Just "GHC.PrimopWrappers", "timesFloatX16#"),+ ('9', 1858, InTerms, Just "GHC.Prim", "timesDoubleX8#"),+ ('9', 1859, InTerms, Just "GHC.PrimopWrappers", "timesDoubleX8#"),+ ('9', 1860, InTerms, Just "GHC.Prim", "divideFloatX4#"),+ ('9', 1861, InTerms, Just "GHC.PrimopWrappers", "divideFloatX4#"),+ ('9', 1862, InTerms, Just "GHC.Prim", "divideDoubleX2#"),+ ('9', 1863, InTerms, Just "GHC.PrimopWrappers", "divideDoubleX2#"),+ ('9', 1864, InTerms, Just "GHC.Prim", "divideFloatX8#"),+ ('9', 1865, InTerms, Just "GHC.PrimopWrappers", "divideFloatX8#"),+ ('9', 1866, InTerms, Just "GHC.Prim", "divideDoubleX4#"),+ ('9', 1867, InTerms, Just "GHC.PrimopWrappers", "divideDoubleX4#"),+ ('9', 1868, InTerms, Just "GHC.Prim", "divideFloatX16#"),+ ('9', 1869, InTerms, Just "GHC.PrimopWrappers", "divideFloatX16#"),+ ('9', 1870, InTerms, Just "GHC.Prim", "divideDoubleX8#"),+ ('9', 1871, InTerms, Just "GHC.PrimopWrappers", "divideDoubleX8#"),+ ('9', 1872, InTerms, Just "GHC.Prim", "quotInt8X16#"),+ ('9', 1873, InTerms, Just "GHC.PrimopWrappers", "quotInt8X16#"),+ ('9', 1874, InTerms, Just "GHC.Prim", "quotInt16X8#"),+ ('9', 1875, InTerms, Just "GHC.PrimopWrappers", "quotInt16X8#"),+ ('9', 1876, InTerms, Just "GHC.Prim", "quotInt32X4#"),+ ('9', 1877, InTerms, Just "GHC.PrimopWrappers", "quotInt32X4#"),+ ('9', 1878, InTerms, Just "GHC.Prim", "quotInt64X2#"),+ ('9', 1879, InTerms, Just "GHC.PrimopWrappers", "quotInt64X2#"),+ ('9', 1880, InTerms, Just "GHC.Prim", "quotInt8X32#"),+ ('9', 1881, InTerms, Just "GHC.PrimopWrappers", "quotInt8X32#"),+ ('9', 1882, InTerms, Just "GHC.Prim", "quotInt16X16#"),+ ('9', 1883, InTerms, Just "GHC.PrimopWrappers", "quotInt16X16#"),+ ('9', 1884, InTerms, Just "GHC.Prim", "quotInt32X8#"),+ ('9', 1885, InTerms, Just "GHC.PrimopWrappers", "quotInt32X8#"),+ ('9', 1886, InTerms, Just "GHC.Prim", "quotInt64X4#"),+ ('9', 1887, InTerms, Just "GHC.PrimopWrappers", "quotInt64X4#"),+ ('9', 1888, InTerms, Just "GHC.Prim", "quotInt8X64#"),+ ('9', 1889, InTerms, Just "GHC.PrimopWrappers", "quotInt8X64#"),+ ('9', 1890, InTerms, Just "GHC.Prim", "quotInt16X32#"),+ ('9', 1891, InTerms, Just "GHC.PrimopWrappers", "quotInt16X32#"),+ ('9', 1892, InTerms, Just "GHC.Prim", "quotInt32X16#"),+ ('9', 1893, InTerms, Just "GHC.PrimopWrappers", "quotInt32X16#"),+ ('9', 1894, InTerms, Just "GHC.Prim", "quotInt64X8#"),+ ('9', 1895, InTerms, Just "GHC.PrimopWrappers", "quotInt64X8#"),+ ('9', 1896, InTerms, Just "GHC.Prim", "quotWord8X16#"),+ ('9', 1897, InTerms, Just "GHC.PrimopWrappers", "quotWord8X16#"),+ ('9', 1898, InTerms, Just "GHC.Prim", "quotWord16X8#"),+ ('9', 1899, InTerms, Just "GHC.PrimopWrappers", "quotWord16X8#"),+ ('9', 1900, InTerms, Just "GHC.Prim", "quotWord32X4#"),+ ('9', 1901, InTerms, Just "GHC.PrimopWrappers", "quotWord32X4#"),+ ('9', 1902, InTerms, Just "GHC.Prim", "quotWord64X2#"),+ ('9', 1903, InTerms, Just "GHC.PrimopWrappers", "quotWord64X2#"),+ ('9', 1904, InTerms, Just "GHC.Prim", "quotWord8X32#"),+ ('9', 1905, InTerms, Just "GHC.PrimopWrappers", "quotWord8X32#"),+ ('9', 1906, InTerms, Just "GHC.Prim", "quotWord16X16#"),+ ('9', 1907, InTerms, Just "GHC.PrimopWrappers", "quotWord16X16#"),+ ('9', 1908, InTerms, Just "GHC.Prim", "quotWord32X8#"),+ ('9', 1909, InTerms, Just "GHC.PrimopWrappers", "quotWord32X8#"),+ ('9', 1910, InTerms, Just "GHC.Prim", "quotWord64X4#"),+ ('9', 1911, InTerms, Just "GHC.PrimopWrappers", "quotWord64X4#"),+ ('9', 1912, InTerms, Just "GHC.Prim", "quotWord8X64#"),+ ('9', 1913, InTerms, Just "GHC.PrimopWrappers", "quotWord8X64#"),+ ('9', 1914, InTerms, Just "GHC.Prim", "quotWord16X32#"),+ ('9', 1915, InTerms, Just "GHC.PrimopWrappers", "quotWord16X32#"),+ ('9', 1916, InTerms, Just "GHC.Prim", "quotWord32X16#"),+ ('9', 1917, InTerms, Just "GHC.PrimopWrappers", "quotWord32X16#"),+ ('9', 1918, InTerms, Just "GHC.Prim", "quotWord64X8#"),+ ('9', 1919, InTerms, Just "GHC.PrimopWrappers", "quotWord64X8#"),+ ('9', 1920, InTerms, Just "GHC.Prim", "remInt8X16#"),+ ('9', 1921, InTerms, Just "GHC.PrimopWrappers", "remInt8X16#"),+ ('9', 1922, InTerms, Just "GHC.Prim", "remInt16X8#"),+ ('9', 1923, InTerms, Just "GHC.PrimopWrappers", "remInt16X8#"),+ ('9', 1924, InTerms, Just "GHC.Prim", "remInt32X4#"),+ ('9', 1925, InTerms, Just "GHC.PrimopWrappers", "remInt32X4#"),+ ('9', 1926, InTerms, Just "GHC.Prim", "remInt64X2#"),+ ('9', 1927, InTerms, Just "GHC.PrimopWrappers", "remInt64X2#"),+ ('9', 1928, InTerms, Just "GHC.Prim", "remInt8X32#"),+ ('9', 1929, InTerms, Just "GHC.PrimopWrappers", "remInt8X32#"),+ ('9', 1930, InTerms, Just "GHC.Prim", "remInt16X16#"),+ ('9', 1931, InTerms, Just "GHC.PrimopWrappers", "remInt16X16#"),+ ('9', 1932, InTerms, Just "GHC.Prim", "remInt32X8#"),+ ('9', 1933, InTerms, Just "GHC.PrimopWrappers", "remInt32X8#"),+ ('9', 1934, InTerms, Just "GHC.Prim", "remInt64X4#"),+ ('9', 1935, InTerms, Just "GHC.PrimopWrappers", "remInt64X4#"),+ ('9', 1936, InTerms, Just "GHC.Prim", "remInt8X64#"),+ ('9', 1937, InTerms, Just "GHC.PrimopWrappers", "remInt8X64#"),+ ('9', 1938, InTerms, Just "GHC.Prim", "remInt16X32#"),+ ('9', 1939, InTerms, Just "GHC.PrimopWrappers", "remInt16X32#"),+ ('9', 1940, InTerms, Just "GHC.Prim", "remInt32X16#"),+ ('9', 1941, InTerms, Just "GHC.PrimopWrappers", "remInt32X16#"),+ ('9', 1942, InTerms, Just "GHC.Prim", "remInt64X8#"),+ ('9', 1943, InTerms, Just "GHC.PrimopWrappers", "remInt64X8#"),+ ('9', 1944, InTerms, Just "GHC.Prim", "remWord8X16#"),+ ('9', 1945, InTerms, Just "GHC.PrimopWrappers", "remWord8X16#"),+ ('9', 1946, InTerms, Just "GHC.Prim", "remWord16X8#"),+ ('9', 1947, InTerms, Just "GHC.PrimopWrappers", "remWord16X8#"),+ ('9', 1948, InTerms, Just "GHC.Prim", "remWord32X4#"),+ ('9', 1949, InTerms, Just "GHC.PrimopWrappers", "remWord32X4#"),+ ('9', 1950, InTerms, Just "GHC.Prim", "remWord64X2#"),+ ('9', 1951, InTerms, Just "GHC.PrimopWrappers", "remWord64X2#"),+ ('9', 1952, InTerms, Just "GHC.Prim", "remWord8X32#"),+ ('9', 1953, InTerms, Just "GHC.PrimopWrappers", "remWord8X32#"),+ ('9', 1954, InTerms, Just "GHC.Prim", "remWord16X16#"),+ ('9', 1955, InTerms, Just "GHC.PrimopWrappers", "remWord16X16#"),+ ('9', 1956, InTerms, Just "GHC.Prim", "remWord32X8#"),+ ('9', 1957, InTerms, Just "GHC.PrimopWrappers", "remWord32X8#"),+ ('9', 1958, InTerms, Just "GHC.Prim", "remWord64X4#"),+ ('9', 1959, InTerms, Just "GHC.PrimopWrappers", "remWord64X4#"),+ ('9', 1960, InTerms, Just "GHC.Prim", "remWord8X64#"),+ ('9', 1961, InTerms, Just "GHC.PrimopWrappers", "remWord8X64#"),+ ('9', 1962, InTerms, Just "GHC.Prim", "remWord16X32#"),+ ('9', 1963, InTerms, Just "GHC.PrimopWrappers", "remWord16X32#"),+ ('9', 1964, InTerms, Just "GHC.Prim", "remWord32X16#"),+ ('9', 1965, InTerms, Just "GHC.PrimopWrappers", "remWord32X16#"),+ ('9', 1966, InTerms, Just "GHC.Prim", "remWord64X8#"),+ ('9', 1967, InTerms, Just "GHC.PrimopWrappers", "remWord64X8#"),+ ('9', 1968, InTerms, Just "GHC.Prim", "negateInt8X16#"),+ ('9', 1969, InTerms, Just "GHC.PrimopWrappers", "negateInt8X16#"),+ ('9', 1970, InTerms, Just "GHC.Prim", "negateInt16X8#"),+ ('9', 1971, InTerms, Just "GHC.PrimopWrappers", "negateInt16X8#"),+ ('9', 1972, InTerms, Just "GHC.Prim", "negateInt32X4#"),+ ('9', 1973, InTerms, Just "GHC.PrimopWrappers", "negateInt32X4#"),+ ('9', 1974, InTerms, Just "GHC.Prim", "negateInt64X2#"),+ ('9', 1975, InTerms, Just "GHC.PrimopWrappers", "negateInt64X2#"),+ ('9', 1976, InTerms, Just "GHC.Prim", "negateInt8X32#"),+ ('9', 1977, InTerms, Just "GHC.PrimopWrappers", "negateInt8X32#"),+ ('9', 1978, InTerms, Just "GHC.Prim", "negateInt16X16#"),+ ('9', 1979, InTerms, Just "GHC.PrimopWrappers", "negateInt16X16#"),+ ('9', 1980, InTerms, Just "GHC.Prim", "negateInt32X8#"),+ ('9', 1981, InTerms, Just "GHC.PrimopWrappers", "negateInt32X8#"),+ ('9', 1982, InTerms, Just "GHC.Prim", "negateInt64X4#"),+ ('9', 1983, InTerms, Just "GHC.PrimopWrappers", "negateInt64X4#"),+ ('9', 1984, InTerms, Just "GHC.Prim", "negateInt8X64#"),+ ('9', 1985, InTerms, Just "GHC.PrimopWrappers", "negateInt8X64#"),+ ('9', 1986, InTerms, Just "GHC.Prim", "negateInt16X32#"),+ ('9', 1987, InTerms, Just "GHC.PrimopWrappers", "negateInt16X32#"),+ ('9', 1988, InTerms, Just "GHC.Prim", "negateInt32X16#"),+ ('9', 1989, InTerms, Just "GHC.PrimopWrappers", "negateInt32X16#"),+ ('9', 1990, InTerms, Just "GHC.Prim", "negateInt64X8#"),+ ('9', 1991, InTerms, Just "GHC.PrimopWrappers", "negateInt64X8#"),+ ('9', 1992, InTerms, Just "GHC.Prim", "negateFloatX4#"),+ ('9', 1993, InTerms, Just "GHC.PrimopWrappers", "negateFloatX4#"),+ ('9', 1994, InTerms, Just "GHC.Prim", "negateDoubleX2#"),+ ('9', 1995, InTerms, Just "GHC.PrimopWrappers", "negateDoubleX2#"),+ ('9', 1996, InTerms, Just "GHC.Prim", "negateFloatX8#"),+ ('9', 1997, InTerms, Just "GHC.PrimopWrappers", "negateFloatX8#"),+ ('9', 1998, InTerms, Just "GHC.Prim", "negateDoubleX4#"),+ ('9', 1999, InTerms, Just "GHC.PrimopWrappers", "negateDoubleX4#"),+ ('9', 2000, InTerms, Just "GHC.Prim", "negateFloatX16#"),+ ('9', 2001, InTerms, Just "GHC.PrimopWrappers", "negateFloatX16#"),+ ('9', 2002, InTerms, Just "GHC.Prim", "negateDoubleX8#"),+ ('9', 2003, InTerms, Just "GHC.PrimopWrappers", "negateDoubleX8#"),+ ('9', 2004, InTerms, Just "GHC.Prim", "indexInt8X16Array#"),+ ('9', 2005, InTerms, Just "GHC.PrimopWrappers", "indexInt8X16Array#"),+ ('9', 2006, InTerms, Just "GHC.Prim", "indexInt16X8Array#"),+ ('9', 2007, InTerms, Just "GHC.PrimopWrappers", "indexInt16X8Array#"),+ ('9', 2008, InTerms, Just "GHC.Prim", "indexInt32X4Array#"),+ ('9', 2009, InTerms, Just "GHC.PrimopWrappers", "indexInt32X4Array#"),+ ('9', 2010, InTerms, Just "GHC.Prim", "indexInt64X2Array#"),+ ('9', 2011, InTerms, Just "GHC.PrimopWrappers", "indexInt64X2Array#"),+ ('9', 2012, InTerms, Just "GHC.Prim", "indexInt8X32Array#"),+ ('9', 2013, InTerms, Just "GHC.PrimopWrappers", "indexInt8X32Array#"),+ ('9', 2014, InTerms, Just "GHC.Prim", "indexInt16X16Array#"),+ ('9', 2015, InTerms, Just "GHC.PrimopWrappers", "indexInt16X16Array#"),+ ('9', 2016, InTerms, Just "GHC.Prim", "indexInt32X8Array#"),+ ('9', 2017, InTerms, Just "GHC.PrimopWrappers", "indexInt32X8Array#"),+ ('9', 2018, InTerms, Just "GHC.Prim", "indexInt64X4Array#"),+ ('9', 2019, InTerms, Just "GHC.PrimopWrappers", "indexInt64X4Array#"),+ ('9', 2020, InTerms, Just "GHC.Prim", "indexInt8X64Array#"),+ ('9', 2021, InTerms, Just "GHC.PrimopWrappers", "indexInt8X64Array#"),+ ('9', 2022, InTerms, Just "GHC.Prim", "indexInt16X32Array#"),+ ('9', 2023, InTerms, Just "GHC.PrimopWrappers", "indexInt16X32Array#"),+ ('9', 2024, InTerms, Just "GHC.Prim", "indexInt32X16Array#"),+ ('9', 2025, InTerms, Just "GHC.PrimopWrappers", "indexInt32X16Array#"),+ ('9', 2026, InTerms, Just "GHC.Prim", "indexInt64X8Array#"),+ ('9', 2027, InTerms, Just "GHC.PrimopWrappers", "indexInt64X8Array#"),+ ('9', 2028, InTerms, Just "GHC.Prim", "indexWord8X16Array#"),+ ('9', 2029, InTerms, Just "GHC.PrimopWrappers", "indexWord8X16Array#"),+ ('9', 2030, InTerms, Just "GHC.Prim", "indexWord16X8Array#"),+ ('9', 2031, InTerms, Just "GHC.PrimopWrappers", "indexWord16X8Array#"),+ ('9', 2032, InTerms, Just "GHC.Prim", "indexWord32X4Array#"),+ ('9', 2033, InTerms, Just "GHC.PrimopWrappers", "indexWord32X4Array#"),+ ('9', 2034, InTerms, Just "GHC.Prim", "indexWord64X2Array#"),+ ('9', 2035, InTerms, Just "GHC.PrimopWrappers", "indexWord64X2Array#"),+ ('9', 2036, InTerms, Just "GHC.Prim", "indexWord8X32Array#"),+ ('9', 2037, InTerms, Just "GHC.PrimopWrappers", "indexWord8X32Array#"),+ ('9', 2038, InTerms, Just "GHC.Prim", "indexWord16X16Array#"),+ ('9', 2039, InTerms, Just "GHC.PrimopWrappers", "indexWord16X16Array#"),+ ('9', 2040, InTerms, Just "GHC.Prim", "indexWord32X8Array#"),+ ('9', 2041, InTerms, Just "GHC.PrimopWrappers", "indexWord32X8Array#"),+ ('9', 2042, InTerms, Just "GHC.Prim", "indexWord64X4Array#"),+ ('9', 2043, InTerms, Just "GHC.PrimopWrappers", "indexWord64X4Array#"),+ ('9', 2044, InTerms, Just "GHC.Prim", "indexWord8X64Array#"),+ ('9', 2045, InTerms, Just "GHC.PrimopWrappers", "indexWord8X64Array#"),+ ('9', 2046, InTerms, Just "GHC.Prim", "indexWord16X32Array#"),+ ('9', 2047, InTerms, Just "GHC.PrimopWrappers", "indexWord16X32Array#"),+ ('9', 2048, InTerms, Just "GHC.Prim", "indexWord32X16Array#"),+ ('9', 2049, InTerms, Just "GHC.PrimopWrappers", "indexWord32X16Array#"),+ ('9', 2050, InTerms, Just "GHC.Prim", "indexWord64X8Array#"),+ ('9', 2051, InTerms, Just "GHC.PrimopWrappers", "indexWord64X8Array#"),+ ('9', 2052, InTerms, Just "GHC.Prim", "indexFloatX4Array#"),+ ('9', 2053, InTerms, Just "GHC.PrimopWrappers", "indexFloatX4Array#"),+ ('9', 2054, InTerms, Just "GHC.Prim", "indexDoubleX2Array#"),+ ('9', 2055, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX2Array#"),+ ('9', 2056, InTerms, Just "GHC.Prim", "indexFloatX8Array#"),+ ('9', 2057, InTerms, Just "GHC.PrimopWrappers", "indexFloatX8Array#"),+ ('9', 2058, InTerms, Just "GHC.Prim", "indexDoubleX4Array#"),+ ('9', 2059, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX4Array#"),+ ('9', 2060, InTerms, Just "GHC.Prim", "indexFloatX16Array#"),+ ('9', 2061, InTerms, Just "GHC.PrimopWrappers", "indexFloatX16Array#"),+ ('9', 2062, InTerms, Just "GHC.Prim", "indexDoubleX8Array#"),+ ('9', 2063, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX8Array#"),+ ('9', 2064, InTerms, Just "GHC.Prim", "readInt8X16Array#"),+ ('9', 2065, InTerms, Just "GHC.PrimopWrappers", "readInt8X16Array#"),+ ('9', 2066, InTerms, Just "GHC.Prim", "readInt16X8Array#"),+ ('9', 2067, InTerms, Just "GHC.PrimopWrappers", "readInt16X8Array#"),+ ('9', 2068, InTerms, Just "GHC.Prim", "readInt32X4Array#"),+ ('9', 2069, InTerms, Just "GHC.PrimopWrappers", "readInt32X4Array#"),+ ('9', 2070, InTerms, Just "GHC.Prim", "readInt64X2Array#"),+ ('9', 2071, InTerms, Just "GHC.PrimopWrappers", "readInt64X2Array#"),+ ('9', 2072, InTerms, Just "GHC.Prim", "readInt8X32Array#"),+ ('9', 2073, InTerms, Just "GHC.PrimopWrappers", "readInt8X32Array#"),+ ('9', 2074, InTerms, Just "GHC.Prim", "readInt16X16Array#"),+ ('9', 2075, InTerms, Just "GHC.PrimopWrappers", "readInt16X16Array#"),+ ('9', 2076, InTerms, Just "GHC.Prim", "readInt32X8Array#"),+ ('9', 2077, InTerms, Just "GHC.PrimopWrappers", "readInt32X8Array#"),+ ('9', 2078, InTerms, Just "GHC.Prim", "readInt64X4Array#"),+ ('9', 2079, InTerms, Just "GHC.PrimopWrappers", "readInt64X4Array#"),+ ('9', 2080, InTerms, Just "GHC.Prim", "readInt8X64Array#"),+ ('9', 2081, InTerms, Just "GHC.PrimopWrappers", "readInt8X64Array#"),+ ('9', 2082, InTerms, Just "GHC.Prim", "readInt16X32Array#"),+ ('9', 2083, InTerms, Just "GHC.PrimopWrappers", "readInt16X32Array#"),+ ('9', 2084, InTerms, Just "GHC.Prim", "readInt32X16Array#"),+ ('9', 2085, InTerms, Just "GHC.PrimopWrappers", "readInt32X16Array#"),+ ('9', 2086, InTerms, Just "GHC.Prim", "readInt64X8Array#"),+ ('9', 2087, InTerms, Just "GHC.PrimopWrappers", "readInt64X8Array#"),+ ('9', 2088, InTerms, Just "GHC.Prim", "readWord8X16Array#"),+ ('9', 2089, InTerms, Just "GHC.PrimopWrappers", "readWord8X16Array#"),+ ('9', 2090, InTerms, Just "GHC.Prim", "readWord16X8Array#"),+ ('9', 2091, InTerms, Just "GHC.PrimopWrappers", "readWord16X8Array#"),+ ('9', 2092, InTerms, Just "GHC.Prim", "readWord32X4Array#"),+ ('9', 2093, InTerms, Just "GHC.PrimopWrappers", "readWord32X4Array#"),+ ('9', 2094, InTerms, Just "GHC.Prim", "readWord64X2Array#"),+ ('9', 2095, InTerms, Just "GHC.PrimopWrappers", "readWord64X2Array#"),+ ('9', 2096, InTerms, Just "GHC.Prim", "readWord8X32Array#"),+ ('9', 2097, InTerms, Just "GHC.PrimopWrappers", "readWord8X32Array#"),+ ('9', 2098, InTerms, Just "GHC.Prim", "readWord16X16Array#"),+ ('9', 2099, InTerms, Just "GHC.PrimopWrappers", "readWord16X16Array#"),+ ('9', 2100, InTerms, Just "GHC.Prim", "readWord32X8Array#"),+ ('9', 2101, InTerms, Just "GHC.PrimopWrappers", "readWord32X8Array#"),+ ('9', 2102, InTerms, Just "GHC.Prim", "readWord64X4Array#"),+ ('9', 2103, InTerms, Just "GHC.PrimopWrappers", "readWord64X4Array#"),+ ('9', 2104, InTerms, Just "GHC.Prim", "readWord8X64Array#"),+ ('9', 2105, InTerms, Just "GHC.PrimopWrappers", "readWord8X64Array#"),+ ('9', 2106, InTerms, Just "GHC.Prim", "readWord16X32Array#"),+ ('9', 2107, InTerms, Just "GHC.PrimopWrappers", "readWord16X32Array#"),+ ('9', 2108, InTerms, Just "GHC.Prim", "readWord32X16Array#"),+ ('9', 2109, InTerms, Just "GHC.PrimopWrappers", "readWord32X16Array#"),+ ('9', 2110, InTerms, Just "GHC.Prim", "readWord64X8Array#"),+ ('9', 2111, InTerms, Just "GHC.PrimopWrappers", "readWord64X8Array#"),+ ('9', 2112, InTerms, Just "GHC.Prim", "readFloatX4Array#"),+ ('9', 2113, InTerms, Just "GHC.PrimopWrappers", "readFloatX4Array#"),+ ('9', 2114, InTerms, Just "GHC.Prim", "readDoubleX2Array#"),+ ('9', 2115, InTerms, Just "GHC.PrimopWrappers", "readDoubleX2Array#"),+ ('9', 2116, InTerms, Just "GHC.Prim", "readFloatX8Array#"),+ ('9', 2117, InTerms, Just "GHC.PrimopWrappers", "readFloatX8Array#"),+ ('9', 2118, InTerms, Just "GHC.Prim", "readDoubleX4Array#"),+ ('9', 2119, InTerms, Just "GHC.PrimopWrappers", "readDoubleX4Array#"),+ ('9', 2120, InTerms, Just "GHC.Prim", "readFloatX16Array#"),+ ('9', 2121, InTerms, Just "GHC.PrimopWrappers", "readFloatX16Array#"),+ ('9', 2122, InTerms, Just "GHC.Prim", "readDoubleX8Array#"),+ ('9', 2123, InTerms, Just "GHC.PrimopWrappers", "readDoubleX8Array#"),+ ('9', 2124, InTerms, Just "GHC.Prim", "writeInt8X16Array#"),+ ('9', 2125, InTerms, Just "GHC.PrimopWrappers", "writeInt8X16Array#"),+ ('9', 2126, InTerms, Just "GHC.Prim", "writeInt16X8Array#"),+ ('9', 2127, InTerms, Just "GHC.PrimopWrappers", "writeInt16X8Array#"),+ ('9', 2128, InTerms, Just "GHC.Prim", "writeInt32X4Array#"),+ ('9', 2129, InTerms, Just "GHC.PrimopWrappers", "writeInt32X4Array#"),+ ('9', 2130, InTerms, Just "GHC.Prim", "writeInt64X2Array#"),+ ('9', 2131, InTerms, Just "GHC.PrimopWrappers", "writeInt64X2Array#"),+ ('9', 2132, InTerms, Just "GHC.Prim", "writeInt8X32Array#"),+ ('9', 2133, InTerms, Just "GHC.PrimopWrappers", "writeInt8X32Array#"),+ ('9', 2134, InTerms, Just "GHC.Prim", "writeInt16X16Array#"),+ ('9', 2135, InTerms, Just "GHC.PrimopWrappers", "writeInt16X16Array#"),+ ('9', 2136, InTerms, Just "GHC.Prim", "writeInt32X8Array#"),+ ('9', 2137, InTerms, Just "GHC.PrimopWrappers", "writeInt32X8Array#"),+ ('9', 2138, InTerms, Just "GHC.Prim", "writeInt64X4Array#"),+ ('9', 2139, InTerms, Just "GHC.PrimopWrappers", "writeInt64X4Array#"),+ ('9', 2140, InTerms, Just "GHC.Prim", "writeInt8X64Array#"),+ ('9', 2141, InTerms, Just "GHC.PrimopWrappers", "writeInt8X64Array#"),+ ('9', 2142, InTerms, Just "GHC.Prim", "writeInt16X32Array#"),+ ('9', 2143, InTerms, Just "GHC.PrimopWrappers", "writeInt16X32Array#"),+ ('9', 2144, InTerms, Just "GHC.Prim", "writeInt32X16Array#"),+ ('9', 2145, InTerms, Just "GHC.PrimopWrappers", "writeInt32X16Array#"),+ ('9', 2146, InTerms, Just "GHC.Prim", "writeInt64X8Array#"),+ ('9', 2147, InTerms, Just "GHC.PrimopWrappers", "writeInt64X8Array#"),+ ('9', 2148, InTerms, Just "GHC.Prim", "writeWord8X16Array#"),+ ('9', 2149, InTerms, Just "GHC.PrimopWrappers", "writeWord8X16Array#"),+ ('9', 2150, InTerms, Just "GHC.Prim", "writeWord16X8Array#"),+ ('9', 2151, InTerms, Just "GHC.PrimopWrappers", "writeWord16X8Array#"),+ ('9', 2152, InTerms, Just "GHC.Prim", "writeWord32X4Array#"),+ ('9', 2153, InTerms, Just "GHC.PrimopWrappers", "writeWord32X4Array#"),+ ('9', 2154, InTerms, Just "GHC.Prim", "writeWord64X2Array#"),+ ('9', 2155, InTerms, Just "GHC.PrimopWrappers", "writeWord64X2Array#"),+ ('9', 2156, InTerms, Just "GHC.Prim", "writeWord8X32Array#"),+ ('9', 2157, InTerms, Just "GHC.PrimopWrappers", "writeWord8X32Array#"),+ ('9', 2158, InTerms, Just "GHC.Prim", "writeWord16X16Array#"),+ ('9', 2159, InTerms, Just "GHC.PrimopWrappers", "writeWord16X16Array#"),+ ('9', 2160, InTerms, Just "GHC.Prim", "writeWord32X8Array#"),+ ('9', 2161, InTerms, Just "GHC.PrimopWrappers", "writeWord32X8Array#"),+ ('9', 2162, InTerms, Just "GHC.Prim", "writeWord64X4Array#"),+ ('9', 2163, InTerms, Just "GHC.PrimopWrappers", "writeWord64X4Array#"),+ ('9', 2164, InTerms, Just "GHC.Prim", "writeWord8X64Array#"),+ ('9', 2165, InTerms, Just "GHC.PrimopWrappers", "writeWord8X64Array#"),+ ('9', 2166, InTerms, Just "GHC.Prim", "writeWord16X32Array#"),+ ('9', 2167, InTerms, Just "GHC.PrimopWrappers", "writeWord16X32Array#"),+ ('9', 2168, InTerms, Just "GHC.Prim", "writeWord32X16Array#"),+ ('9', 2169, InTerms, Just "GHC.PrimopWrappers", "writeWord32X16Array#"),+ ('9', 2170, InTerms, Just "GHC.Prim", "writeWord64X8Array#"),+ ('9', 2171, InTerms, Just "GHC.PrimopWrappers", "writeWord64X8Array#"),+ ('9', 2172, InTerms, Just "GHC.Prim", "writeFloatX4Array#"),+ ('9', 2173, InTerms, Just "GHC.PrimopWrappers", "writeFloatX4Array#"),+ ('9', 2174, InTerms, Just "GHC.Prim", "writeDoubleX2Array#"),+ ('9', 2175, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX2Array#"),+ ('9', 2176, InTerms, Just "GHC.Prim", "writeFloatX8Array#"),+ ('9', 2177, InTerms, Just "GHC.PrimopWrappers", "writeFloatX8Array#"),+ ('9', 2178, InTerms, Just "GHC.Prim", "writeDoubleX4Array#"),+ ('9', 2179, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX4Array#"),+ ('9', 2180, InTerms, Just "GHC.Prim", "writeFloatX16Array#"),+ ('9', 2181, InTerms, Just "GHC.PrimopWrappers", "writeFloatX16Array#"),+ ('9', 2182, InTerms, Just "GHC.Prim", "writeDoubleX8Array#"),+ ('9', 2183, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX8Array#"),+ ('9', 2184, InTerms, Just "GHC.Prim", "indexInt8X16OffAddr#"),+ ('9', 2185, InTerms, Just "GHC.PrimopWrappers", "indexInt8X16OffAddr#"),+ ('9', 2186, InTerms, Just "GHC.Prim", "indexInt16X8OffAddr#"),+ ('9', 2187, InTerms, Just "GHC.PrimopWrappers", "indexInt16X8OffAddr#"),+ ('9', 2188, InTerms, Just "GHC.Prim", "indexInt32X4OffAddr#"),+ ('9', 2189, InTerms, Just "GHC.PrimopWrappers", "indexInt32X4OffAddr#"),+ ('9', 2190, InTerms, Just "GHC.Prim", "indexInt64X2OffAddr#"),+ ('9', 2191, InTerms, Just "GHC.PrimopWrappers", "indexInt64X2OffAddr#"),+ ('9', 2192, InTerms, Just "GHC.Prim", "indexInt8X32OffAddr#"),+ ('9', 2193, InTerms, Just "GHC.PrimopWrappers", "indexInt8X32OffAddr#"),+ ('9', 2194, InTerms, Just "GHC.Prim", "indexInt16X16OffAddr#"),+ ('9', 2195, InTerms, Just "GHC.PrimopWrappers", "indexInt16X16OffAddr#"),+ ('9', 2196, InTerms, Just "GHC.Prim", "indexInt32X8OffAddr#"),+ ('9', 2197, InTerms, Just "GHC.PrimopWrappers", "indexInt32X8OffAddr#"),+ ('9', 2198, InTerms, Just "GHC.Prim", "indexInt64X4OffAddr#"),+ ('9', 2199, InTerms, Just "GHC.PrimopWrappers", "indexInt64X4OffAddr#"),+ ('9', 2200, InTerms, Just "GHC.Prim", "indexInt8X64OffAddr#"),+ ('9', 2201, InTerms, Just "GHC.PrimopWrappers", "indexInt8X64OffAddr#"),+ ('9', 2202, InTerms, Just "GHC.Prim", "indexInt16X32OffAddr#"),+ ('9', 2203, InTerms, Just "GHC.PrimopWrappers", "indexInt16X32OffAddr#"),+ ('9', 2204, InTerms, Just "GHC.Prim", "indexInt32X16OffAddr#"),+ ('9', 2205, InTerms, Just "GHC.PrimopWrappers", "indexInt32X16OffAddr#"),+ ('9', 2206, InTerms, Just "GHC.Prim", "indexInt64X8OffAddr#"),+ ('9', 2207, InTerms, Just "GHC.PrimopWrappers", "indexInt64X8OffAddr#"),+ ('9', 2208, InTerms, Just "GHC.Prim", "indexWord8X16OffAddr#"),+ ('9', 2209, InTerms, Just "GHC.PrimopWrappers", "indexWord8X16OffAddr#"),+ ('9', 2210, InTerms, Just "GHC.Prim", "indexWord16X8OffAddr#"),+ ('9', 2211, InTerms, Just "GHC.PrimopWrappers", "indexWord16X8OffAddr#"),+ ('9', 2212, InTerms, Just "GHC.Prim", "indexWord32X4OffAddr#"),+ ('9', 2213, InTerms, Just "GHC.PrimopWrappers", "indexWord32X4OffAddr#"),+ ('9', 2214, InTerms, Just "GHC.Prim", "indexWord64X2OffAddr#"),+ ('9', 2215, InTerms, Just "GHC.PrimopWrappers", "indexWord64X2OffAddr#"),+ ('9', 2216, InTerms, Just "GHC.Prim", "indexWord8X32OffAddr#"),+ ('9', 2217, InTerms, Just "GHC.PrimopWrappers", "indexWord8X32OffAddr#"),+ ('9', 2218, InTerms, Just "GHC.Prim", "indexWord16X16OffAddr#"),+ ('9', 2219, InTerms, Just "GHC.PrimopWrappers", "indexWord16X16OffAddr#"),+ ('9', 2220, InTerms, Just "GHC.Prim", "indexWord32X8OffAddr#"),+ ('9', 2221, InTerms, Just "GHC.PrimopWrappers", "indexWord32X8OffAddr#"),+ ('9', 2222, InTerms, Just "GHC.Prim", "indexWord64X4OffAddr#"),+ ('9', 2223, InTerms, Just "GHC.PrimopWrappers", "indexWord64X4OffAddr#"),+ ('9', 2224, InTerms, Just "GHC.Prim", "indexWord8X64OffAddr#"),+ ('9', 2225, InTerms, Just "GHC.PrimopWrappers", "indexWord8X64OffAddr#"),+ ('9', 2226, InTerms, Just "GHC.Prim", "indexWord16X32OffAddr#"),+ ('9', 2227, InTerms, Just "GHC.PrimopWrappers", "indexWord16X32OffAddr#"),+ ('9', 2228, InTerms, Just "GHC.Prim", "indexWord32X16OffAddr#"),+ ('9', 2229, InTerms, Just "GHC.PrimopWrappers", "indexWord32X16OffAddr#"),+ ('9', 2230, InTerms, Just "GHC.Prim", "indexWord64X8OffAddr#"),+ ('9', 2231, InTerms, Just "GHC.PrimopWrappers", "indexWord64X8OffAddr#"),+ ('9', 2232, InTerms, Just "GHC.Prim", "indexFloatX4OffAddr#"),+ ('9', 2233, InTerms, Just "GHC.PrimopWrappers", "indexFloatX4OffAddr#"),+ ('9', 2234, InTerms, Just "GHC.Prim", "indexDoubleX2OffAddr#"),+ ('9', 2235, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX2OffAddr#"),+ ('9', 2236, InTerms, Just "GHC.Prim", "indexFloatX8OffAddr#"),+ ('9', 2237, InTerms, Just "GHC.PrimopWrappers", "indexFloatX8OffAddr#"),+ ('9', 2238, InTerms, Just "GHC.Prim", "indexDoubleX4OffAddr#"),+ ('9', 2239, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX4OffAddr#"),+ ('9', 2240, InTerms, Just "GHC.Prim", "indexFloatX16OffAddr#"),+ ('9', 2241, InTerms, Just "GHC.PrimopWrappers", "indexFloatX16OffAddr#"),+ ('9', 2242, InTerms, Just "GHC.Prim", "indexDoubleX8OffAddr#"),+ ('9', 2243, InTerms, Just "GHC.PrimopWrappers", "indexDoubleX8OffAddr#"),+ ('9', 2244, InTerms, Just "GHC.Prim", "readInt8X16OffAddr#"),+ ('9', 2245, InTerms, Just "GHC.PrimopWrappers", "readInt8X16OffAddr#"),+ ('9', 2246, InTerms, Just "GHC.Prim", "readInt16X8OffAddr#"),+ ('9', 2247, InTerms, Just "GHC.PrimopWrappers", "readInt16X8OffAddr#"),+ ('9', 2248, InTerms, Just "GHC.Prim", "readInt32X4OffAddr#"),+ ('9', 2249, InTerms, Just "GHC.PrimopWrappers", "readInt32X4OffAddr#"),+ ('9', 2250, InTerms, Just "GHC.Prim", "readInt64X2OffAddr#"),+ ('9', 2251, InTerms, Just "GHC.PrimopWrappers", "readInt64X2OffAddr#"),+ ('9', 2252, InTerms, Just "GHC.Prim", "readInt8X32OffAddr#"),+ ('9', 2253, InTerms, Just "GHC.PrimopWrappers", "readInt8X32OffAddr#"),+ ('9', 2254, InTerms, Just "GHC.Prim", "readInt16X16OffAddr#"),+ ('9', 2255, InTerms, Just "GHC.PrimopWrappers", "readInt16X16OffAddr#"),+ ('9', 2256, InTerms, Just "GHC.Prim", "readInt32X8OffAddr#"),+ ('9', 2257, InTerms, Just "GHC.PrimopWrappers", "readInt32X8OffAddr#"),+ ('9', 2258, InTerms, Just "GHC.Prim", "readInt64X4OffAddr#"),+ ('9', 2259, InTerms, Just "GHC.PrimopWrappers", "readInt64X4OffAddr#"),+ ('9', 2260, InTerms, Just "GHC.Prim", "readInt8X64OffAddr#"),+ ('9', 2261, InTerms, Just "GHC.PrimopWrappers", "readInt8X64OffAddr#"),+ ('9', 2262, InTerms, Just "GHC.Prim", "readInt16X32OffAddr#"),+ ('9', 2263, InTerms, Just "GHC.PrimopWrappers", "readInt16X32OffAddr#"),+ ('9', 2264, InTerms, Just "GHC.Prim", "readInt32X16OffAddr#"),+ ('9', 2265, InTerms, Just "GHC.PrimopWrappers", "readInt32X16OffAddr#"),+ ('9', 2266, InTerms, Just "GHC.Prim", "readInt64X8OffAddr#"),+ ('9', 2267, InTerms, Just "GHC.PrimopWrappers", "readInt64X8OffAddr#"),+ ('9', 2268, InTerms, Just "GHC.Prim", "readWord8X16OffAddr#"),+ ('9', 2269, InTerms, Just "GHC.PrimopWrappers", "readWord8X16OffAddr#"),+ ('9', 2270, InTerms, Just "GHC.Prim", "readWord16X8OffAddr#"),+ ('9', 2271, InTerms, Just "GHC.PrimopWrappers", "readWord16X8OffAddr#"),+ ('9', 2272, InTerms, Just "GHC.Prim", "readWord32X4OffAddr#"),+ ('9', 2273, InTerms, Just "GHC.PrimopWrappers", "readWord32X4OffAddr#"),+ ('9', 2274, InTerms, Just "GHC.Prim", "readWord64X2OffAddr#"),+ ('9', 2275, InTerms, Just "GHC.PrimopWrappers", "readWord64X2OffAddr#"),+ ('9', 2276, InTerms, Just "GHC.Prim", "readWord8X32OffAddr#"),+ ('9', 2277, InTerms, Just "GHC.PrimopWrappers", "readWord8X32OffAddr#"),+ ('9', 2278, InTerms, Just "GHC.Prim", "readWord16X16OffAddr#"),+ ('9', 2279, InTerms, Just "GHC.PrimopWrappers", "readWord16X16OffAddr#"),+ ('9', 2280, InTerms, Just "GHC.Prim", "readWord32X8OffAddr#"),+ ('9', 2281, InTerms, Just "GHC.PrimopWrappers", "readWord32X8OffAddr#"),+ ('9', 2282, InTerms, Just "GHC.Prim", "readWord64X4OffAddr#"),+ ('9', 2283, InTerms, Just "GHC.PrimopWrappers", "readWord64X4OffAddr#"),+ ('9', 2284, InTerms, Just "GHC.Prim", "readWord8X64OffAddr#"),+ ('9', 2285, InTerms, Just "GHC.PrimopWrappers", "readWord8X64OffAddr#"),+ ('9', 2286, InTerms, Just "GHC.Prim", "readWord16X32OffAddr#"),+ ('9', 2287, InTerms, Just "GHC.PrimopWrappers", "readWord16X32OffAddr#"),+ ('9', 2288, InTerms, Just "GHC.Prim", "readWord32X16OffAddr#"),+ ('9', 2289, InTerms, Just "GHC.PrimopWrappers", "readWord32X16OffAddr#"),+ ('9', 2290, InTerms, Just "GHC.Prim", "readWord64X8OffAddr#"),+ ('9', 2291, InTerms, Just "GHC.PrimopWrappers", "readWord64X8OffAddr#"),+ ('9', 2292, InTerms, Just "GHC.Prim", "readFloatX4OffAddr#"),+ ('9', 2293, InTerms, Just "GHC.PrimopWrappers", "readFloatX4OffAddr#"),+ ('9', 2294, InTerms, Just "GHC.Prim", "readDoubleX2OffAddr#"),+ ('9', 2295, InTerms, Just "GHC.PrimopWrappers", "readDoubleX2OffAddr#"),+ ('9', 2296, InTerms, Just "GHC.Prim", "readFloatX8OffAddr#"),+ ('9', 2297, InTerms, Just "GHC.PrimopWrappers", "readFloatX8OffAddr#"),+ ('9', 2298, InTerms, Just "GHC.Prim", "readDoubleX4OffAddr#"),+ ('9', 2299, InTerms, Just "GHC.PrimopWrappers", "readDoubleX4OffAddr#"),+ ('9', 2300, InTerms, Just "GHC.Prim", "readFloatX16OffAddr#"),+ ('9', 2301, InTerms, Just "GHC.PrimopWrappers", "readFloatX16OffAddr#"),+ ('9', 2302, InTerms, Just "GHC.Prim", "readDoubleX8OffAddr#"),+ ('9', 2303, InTerms, Just "GHC.PrimopWrappers", "readDoubleX8OffAddr#"),+ ('9', 2304, InTerms, Just "GHC.Prim", "writeInt8X16OffAddr#"),+ ('9', 2305, InTerms, Just "GHC.PrimopWrappers", "writeInt8X16OffAddr#"),+ ('9', 2306, InTerms, Just "GHC.Prim", "writeInt16X8OffAddr#"),+ ('9', 2307, InTerms, Just "GHC.PrimopWrappers", "writeInt16X8OffAddr#"),+ ('9', 2308, InTerms, Just "GHC.Prim", "writeInt32X4OffAddr#"),+ ('9', 2309, InTerms, Just "GHC.PrimopWrappers", "writeInt32X4OffAddr#"),+ ('9', 2310, InTerms, Just "GHC.Prim", "writeInt64X2OffAddr#"),+ ('9', 2311, InTerms, Just "GHC.PrimopWrappers", "writeInt64X2OffAddr#"),+ ('9', 2312, InTerms, Just "GHC.Prim", "writeInt8X32OffAddr#"),+ ('9', 2313, InTerms, Just "GHC.PrimopWrappers", "writeInt8X32OffAddr#"),+ ('9', 2314, InTerms, Just "GHC.Prim", "writeInt16X16OffAddr#"),+ ('9', 2315, InTerms, Just "GHC.PrimopWrappers", "writeInt16X16OffAddr#"),+ ('9', 2316, InTerms, Just "GHC.Prim", "writeInt32X8OffAddr#"),+ ('9', 2317, InTerms, Just "GHC.PrimopWrappers", "writeInt32X8OffAddr#"),+ ('9', 2318, InTerms, Just "GHC.Prim", "writeInt64X4OffAddr#"),+ ('9', 2319, InTerms, Just "GHC.PrimopWrappers", "writeInt64X4OffAddr#"),+ ('9', 2320, InTerms, Just "GHC.Prim", "writeInt8X64OffAddr#"),+ ('9', 2321, InTerms, Just "GHC.PrimopWrappers", "writeInt8X64OffAddr#"),+ ('9', 2322, InTerms, Just "GHC.Prim", "writeInt16X32OffAddr#"),+ ('9', 2323, InTerms, Just "GHC.PrimopWrappers", "writeInt16X32OffAddr#"),+ ('9', 2324, InTerms, Just "GHC.Prim", "writeInt32X16OffAddr#"),+ ('9', 2325, InTerms, Just "GHC.PrimopWrappers", "writeInt32X16OffAddr#"),+ ('9', 2326, InTerms, Just "GHC.Prim", "writeInt64X8OffAddr#"),+ ('9', 2327, InTerms, Just "GHC.PrimopWrappers", "writeInt64X8OffAddr#"),+ ('9', 2328, InTerms, Just "GHC.Prim", "writeWord8X16OffAddr#"),+ ('9', 2329, InTerms, Just "GHC.PrimopWrappers", "writeWord8X16OffAddr#"),+ ('9', 2330, InTerms, Just "GHC.Prim", "writeWord16X8OffAddr#"),+ ('9', 2331, InTerms, Just "GHC.PrimopWrappers", "writeWord16X8OffAddr#"),+ ('9', 2332, InTerms, Just "GHC.Prim", "writeWord32X4OffAddr#"),+ ('9', 2333, InTerms, Just "GHC.PrimopWrappers", "writeWord32X4OffAddr#"),+ ('9', 2334, InTerms, Just "GHC.Prim", "writeWord64X2OffAddr#"),+ ('9', 2335, InTerms, Just "GHC.PrimopWrappers", "writeWord64X2OffAddr#"),+ ('9', 2336, InTerms, Just "GHC.Prim", "writeWord8X32OffAddr#"),+ ('9', 2337, InTerms, Just "GHC.PrimopWrappers", "writeWord8X32OffAddr#"),+ ('9', 2338, InTerms, Just "GHC.Prim", "writeWord16X16OffAddr#"),+ ('9', 2339, InTerms, Just "GHC.PrimopWrappers", "writeWord16X16OffAddr#"),+ ('9', 2340, InTerms, Just "GHC.Prim", "writeWord32X8OffAddr#"),+ ('9', 2341, InTerms, Just "GHC.PrimopWrappers", "writeWord32X8OffAddr#"),+ ('9', 2342, InTerms, Just "GHC.Prim", "writeWord64X4OffAddr#"),+ ('9', 2343, InTerms, Just "GHC.PrimopWrappers", "writeWord64X4OffAddr#"),+ ('9', 2344, InTerms, Just "GHC.Prim", "writeWord8X64OffAddr#"),+ ('9', 2345, InTerms, Just "GHC.PrimopWrappers", "writeWord8X64OffAddr#"),+ ('9', 2346, InTerms, Just "GHC.Prim", "writeWord16X32OffAddr#"),+ ('9', 2347, InTerms, Just "GHC.PrimopWrappers", "writeWord16X32OffAddr#"),+ ('9', 2348, InTerms, Just "GHC.Prim", "writeWord32X16OffAddr#"),+ ('9', 2349, InTerms, Just "GHC.PrimopWrappers", "writeWord32X16OffAddr#"),+ ('9', 2350, InTerms, Just "GHC.Prim", "writeWord64X8OffAddr#"),+ ('9', 2351, InTerms, Just "GHC.PrimopWrappers", "writeWord64X8OffAddr#"),+ ('9', 2352, InTerms, Just "GHC.Prim", "writeFloatX4OffAddr#"),+ ('9', 2353, InTerms, Just "GHC.PrimopWrappers", "writeFloatX4OffAddr#"),+ ('9', 2354, InTerms, Just "GHC.Prim", "writeDoubleX2OffAddr#"),+ ('9', 2355, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX2OffAddr#"),+ ('9', 2356, InTerms, Just "GHC.Prim", "writeFloatX8OffAddr#"),+ ('9', 2357, InTerms, Just "GHC.PrimopWrappers", "writeFloatX8OffAddr#"),+ ('9', 2358, InTerms, Just "GHC.Prim", "writeDoubleX4OffAddr#"),+ ('9', 2359, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX4OffAddr#"),+ ('9', 2360, InTerms, Just "GHC.Prim", "writeFloatX16OffAddr#"),+ ('9', 2361, InTerms, Just "GHC.PrimopWrappers", "writeFloatX16OffAddr#"),+ ('9', 2362, InTerms, Just "GHC.Prim", "writeDoubleX8OffAddr#"),+ ('9', 2363, InTerms, Just "GHC.PrimopWrappers", "writeDoubleX8OffAddr#"),+ ('9', 2364, InTerms, Just "GHC.Prim", "indexInt8ArrayAsInt8X16#"),+ ('9', 2365, InTerms, Just "GHC.PrimopWrappers", "indexInt8ArrayAsInt8X16#"),+ ('9', 2366, InTerms, Just "GHC.Prim", "indexInt16ArrayAsInt16X8#"),+ ('9', 2367, InTerms, Just "GHC.PrimopWrappers", "indexInt16ArrayAsInt16X8#"),+ ('9', 2368, InTerms, Just "GHC.Prim", "indexInt32ArrayAsInt32X4#"),+ ('9', 2369, InTerms, Just "GHC.PrimopWrappers", "indexInt32ArrayAsInt32X4#"),+ ('9', 2370, InTerms, Just "GHC.Prim", "indexInt64ArrayAsInt64X2#"),+ ('9', 2371, InTerms, Just "GHC.PrimopWrappers", "indexInt64ArrayAsInt64X2#"),+ ('9', 2372, InTerms, Just "GHC.Prim", "indexInt8ArrayAsInt8X32#"),+ ('9', 2373, InTerms, Just "GHC.PrimopWrappers", "indexInt8ArrayAsInt8X32#"),+ ('9', 2374, InTerms, Just "GHC.Prim", "indexInt16ArrayAsInt16X16#"),+ ('9', 2375, InTerms, Just "GHC.PrimopWrappers", "indexInt16ArrayAsInt16X16#"),+ ('9', 2376, InTerms, Just "GHC.Prim", "indexInt32ArrayAsInt32X8#"),+ ('9', 2377, InTerms, Just "GHC.PrimopWrappers", "indexInt32ArrayAsInt32X8#"),+ ('9', 2378, InTerms, Just "GHC.Prim", "indexInt64ArrayAsInt64X4#"),+ ('9', 2379, InTerms, Just "GHC.PrimopWrappers", "indexInt64ArrayAsInt64X4#"),+ ('9', 2380, InTerms, Just "GHC.Prim", "indexInt8ArrayAsInt8X64#"),+ ('9', 2381, InTerms, Just "GHC.PrimopWrappers", "indexInt8ArrayAsInt8X64#"),+ ('9', 2382, InTerms, Just "GHC.Prim", "indexInt16ArrayAsInt16X32#"),+ ('9', 2383, InTerms, Just "GHC.PrimopWrappers", "indexInt16ArrayAsInt16X32#"),+ ('9', 2384, InTerms, Just "GHC.Prim", "indexInt32ArrayAsInt32X16#"),+ ('9', 2385, InTerms, Just "GHC.PrimopWrappers", "indexInt32ArrayAsInt32X16#"),+ ('9', 2386, InTerms, Just "GHC.Prim", "indexInt64ArrayAsInt64X8#"),+ ('9', 2387, InTerms, Just "GHC.PrimopWrappers", "indexInt64ArrayAsInt64X8#"),+ ('9', 2388, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord8X16#"),+ ('9', 2389, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord8X16#"),+ ('9', 2390, InTerms, Just "GHC.Prim", "indexWord16ArrayAsWord16X8#"),+ ('9', 2391, InTerms, Just "GHC.PrimopWrappers", "indexWord16ArrayAsWord16X8#"),+ ('9', 2392, InTerms, Just "GHC.Prim", "indexWord32ArrayAsWord32X4#"),+ ('9', 2393, InTerms, Just "GHC.PrimopWrappers", "indexWord32ArrayAsWord32X4#"),+ ('9', 2394, InTerms, Just "GHC.Prim", "indexWord64ArrayAsWord64X2#"),+ ('9', 2395, InTerms, Just "GHC.PrimopWrappers", "indexWord64ArrayAsWord64X2#"),+ ('9', 2396, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord8X32#"),+ ('9', 2397, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord8X32#"),+ ('9', 2398, InTerms, Just "GHC.Prim", "indexWord16ArrayAsWord16X16#"),+ ('9', 2399, InTerms, Just "GHC.PrimopWrappers", "indexWord16ArrayAsWord16X16#"),+ ('9', 2400, InTerms, Just "GHC.Prim", "indexWord32ArrayAsWord32X8#"),+ ('9', 2401, InTerms, Just "GHC.PrimopWrappers", "indexWord32ArrayAsWord32X8#"),+ ('9', 2402, InTerms, Just "GHC.Prim", "indexWord64ArrayAsWord64X4#"),+ ('9', 2403, InTerms, Just "GHC.PrimopWrappers", "indexWord64ArrayAsWord64X4#"),+ ('9', 2404, InTerms, Just "GHC.Prim", "indexWord8ArrayAsWord8X64#"),+ ('9', 2405, InTerms, Just "GHC.PrimopWrappers", "indexWord8ArrayAsWord8X64#"),+ ('9', 2406, InTerms, Just "GHC.Prim", "indexWord16ArrayAsWord16X32#"),+ ('9', 2407, InTerms, Just "GHC.PrimopWrappers", "indexWord16ArrayAsWord16X32#"),+ ('9', 2408, InTerms, Just "GHC.Prim", "indexWord32ArrayAsWord32X16#"),+ ('9', 2409, InTerms, Just "GHC.PrimopWrappers", "indexWord32ArrayAsWord32X16#"),+ ('9', 2410, InTerms, Just "GHC.Prim", "indexWord64ArrayAsWord64X8#"),+ ('9', 2411, InTerms, Just "GHC.PrimopWrappers", "indexWord64ArrayAsWord64X8#"),+ ('9', 2412, InTerms, Just "GHC.Prim", "indexFloatArrayAsFloatX4#"),+ ('9', 2413, InTerms, Just "GHC.PrimopWrappers", "indexFloatArrayAsFloatX4#"),+ ('9', 2414, InTerms, Just "GHC.Prim", "indexDoubleArrayAsDoubleX2#"),+ ('9', 2415, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArrayAsDoubleX2#"),+ ('9', 2416, InTerms, Just "GHC.Prim", "indexFloatArrayAsFloatX8#"),+ ('9', 2417, InTerms, Just "GHC.PrimopWrappers", "indexFloatArrayAsFloatX8#"),+ ('9', 2418, InTerms, Just "GHC.Prim", "indexDoubleArrayAsDoubleX4#"),+ ('9', 2419, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArrayAsDoubleX4#"),+ ('9', 2420, InTerms, Just "GHC.Prim", "indexFloatArrayAsFloatX16#"),+ ('9', 2421, InTerms, Just "GHC.PrimopWrappers", "indexFloatArrayAsFloatX16#"),+ ('9', 2422, InTerms, Just "GHC.Prim", "indexDoubleArrayAsDoubleX8#"),+ ('9', 2423, InTerms, Just "GHC.PrimopWrappers", "indexDoubleArrayAsDoubleX8#"),+ ('9', 2424, InTerms, Just "GHC.Prim", "readInt8ArrayAsInt8X16#"),+ ('9', 2425, InTerms, Just "GHC.PrimopWrappers", "readInt8ArrayAsInt8X16#"),+ ('9', 2426, InTerms, Just "GHC.Prim", "readInt16ArrayAsInt16X8#"),+ ('9', 2427, InTerms, Just "GHC.PrimopWrappers", "readInt16ArrayAsInt16X8#"),+ ('9', 2428, InTerms, Just "GHC.Prim", "readInt32ArrayAsInt32X4#"),+ ('9', 2429, InTerms, Just "GHC.PrimopWrappers", "readInt32ArrayAsInt32X4#"),+ ('9', 2430, InTerms, Just "GHC.Prim", "readInt64ArrayAsInt64X2#"),+ ('9', 2431, InTerms, Just "GHC.PrimopWrappers", "readInt64ArrayAsInt64X2#"),+ ('9', 2432, InTerms, Just "GHC.Prim", "readInt8ArrayAsInt8X32#"),+ ('9', 2433, InTerms, Just "GHC.PrimopWrappers", "readInt8ArrayAsInt8X32#"),+ ('9', 2434, InTerms, Just "GHC.Prim", "readInt16ArrayAsInt16X16#"),+ ('9', 2435, InTerms, Just "GHC.PrimopWrappers", "readInt16ArrayAsInt16X16#"),+ ('9', 2436, InTerms, Just "GHC.Prim", "readInt32ArrayAsInt32X8#"),+ ('9', 2437, InTerms, Just "GHC.PrimopWrappers", "readInt32ArrayAsInt32X8#"),+ ('9', 2438, InTerms, Just "GHC.Prim", "readInt64ArrayAsInt64X4#"),+ ('9', 2439, InTerms, Just "GHC.PrimopWrappers", "readInt64ArrayAsInt64X4#"),+ ('9', 2440, InTerms, Just "GHC.Prim", "readInt8ArrayAsInt8X64#"),+ ('9', 2441, InTerms, Just "GHC.PrimopWrappers", "readInt8ArrayAsInt8X64#"),+ ('9', 2442, InTerms, Just "GHC.Prim", "readInt16ArrayAsInt16X32#"),+ ('9', 2443, InTerms, Just "GHC.PrimopWrappers", "readInt16ArrayAsInt16X32#"),+ ('9', 2444, InTerms, Just "GHC.Prim", "readInt32ArrayAsInt32X16#"),+ ('9', 2445, InTerms, Just "GHC.PrimopWrappers", "readInt32ArrayAsInt32X16#"),+ ('9', 2446, InTerms, Just "GHC.Prim", "readInt64ArrayAsInt64X8#"),+ ('9', 2447, InTerms, Just "GHC.PrimopWrappers", "readInt64ArrayAsInt64X8#"),+ ('9', 2448, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord8X16#"),+ ('9', 2449, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord8X16#"),+ ('9', 2450, InTerms, Just "GHC.Prim", "readWord16ArrayAsWord16X8#"),+ ('9', 2451, InTerms, Just "GHC.PrimopWrappers", "readWord16ArrayAsWord16X8#"),+ ('9', 2452, InTerms, Just "GHC.Prim", "readWord32ArrayAsWord32X4#"),+ ('9', 2453, InTerms, Just "GHC.PrimopWrappers", "readWord32ArrayAsWord32X4#"),+ ('9', 2454, InTerms, Just "GHC.Prim", "readWord64ArrayAsWord64X2#"),+ ('9', 2455, InTerms, Just "GHC.PrimopWrappers", "readWord64ArrayAsWord64X2#"),+ ('9', 2456, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord8X32#"),+ ('9', 2457, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord8X32#"),+ ('9', 2458, InTerms, Just "GHC.Prim", "readWord16ArrayAsWord16X16#"),+ ('9', 2459, InTerms, Just "GHC.PrimopWrappers", "readWord16ArrayAsWord16X16#"),+ ('9', 2460, InTerms, Just "GHC.Prim", "readWord32ArrayAsWord32X8#"),+ ('9', 2461, InTerms, Just "GHC.PrimopWrappers", "readWord32ArrayAsWord32X8#"),+ ('9', 2462, InTerms, Just "GHC.Prim", "readWord64ArrayAsWord64X4#"),+ ('9', 2463, InTerms, Just "GHC.PrimopWrappers", "readWord64ArrayAsWord64X4#"),+ ('9', 2464, InTerms, Just "GHC.Prim", "readWord8ArrayAsWord8X64#"),+ ('9', 2465, InTerms, Just "GHC.PrimopWrappers", "readWord8ArrayAsWord8X64#"),+ ('9', 2466, InTerms, Just "GHC.Prim", "readWord16ArrayAsWord16X32#"),+ ('9', 2467, InTerms, Just "GHC.PrimopWrappers", "readWord16ArrayAsWord16X32#"),+ ('9', 2468, InTerms, Just "GHC.Prim", "readWord32ArrayAsWord32X16#"),+ ('9', 2469, InTerms, Just "GHC.PrimopWrappers", "readWord32ArrayAsWord32X16#"),+ ('9', 2470, InTerms, Just "GHC.Prim", "readWord64ArrayAsWord64X8#"),+ ('9', 2471, InTerms, Just "GHC.PrimopWrappers", "readWord64ArrayAsWord64X8#"),+ ('9', 2472, InTerms, Just "GHC.Prim", "readFloatArrayAsFloatX4#"),+ ('9', 2473, InTerms, Just "GHC.PrimopWrappers", "readFloatArrayAsFloatX4#"),+ ('9', 2474, InTerms, Just "GHC.Prim", "readDoubleArrayAsDoubleX2#"),+ ('9', 2475, InTerms, Just "GHC.PrimopWrappers", "readDoubleArrayAsDoubleX2#"),+ ('9', 2476, InTerms, Just "GHC.Prim", "readFloatArrayAsFloatX8#"),+ ('9', 2477, InTerms, Just "GHC.PrimopWrappers", "readFloatArrayAsFloatX8#"),+ ('9', 2478, InTerms, Just "GHC.Prim", "readDoubleArrayAsDoubleX4#"),+ ('9', 2479, InTerms, Just "GHC.PrimopWrappers", "readDoubleArrayAsDoubleX4#"),+ ('9', 2480, InTerms, Just "GHC.Prim", "readFloatArrayAsFloatX16#"),+ ('9', 2481, InTerms, Just "GHC.PrimopWrappers", "readFloatArrayAsFloatX16#"),+ ('9', 2482, InTerms, Just "GHC.Prim", "readDoubleArrayAsDoubleX8#"),+ ('9', 2483, InTerms, Just "GHC.PrimopWrappers", "readDoubleArrayAsDoubleX8#"),+ ('9', 2484, InTerms, Just "GHC.Prim", "writeInt8ArrayAsInt8X16#"),+ ('9', 2485, InTerms, Just "GHC.PrimopWrappers", "writeInt8ArrayAsInt8X16#"),+ ('9', 2486, InTerms, Just "GHC.Prim", "writeInt16ArrayAsInt16X8#"),+ ('9', 2487, InTerms, Just "GHC.PrimopWrappers", "writeInt16ArrayAsInt16X8#"),+ ('9', 2488, InTerms, Just "GHC.Prim", "writeInt32ArrayAsInt32X4#"),+ ('9', 2489, InTerms, Just "GHC.PrimopWrappers", "writeInt32ArrayAsInt32X4#"),+ ('9', 2490, InTerms, Just "GHC.Prim", "writeInt64ArrayAsInt64X2#"),+ ('9', 2491, InTerms, Just "GHC.PrimopWrappers", "writeInt64ArrayAsInt64X2#"),+ ('9', 2492, InTerms, Just "GHC.Prim", "writeInt8ArrayAsInt8X32#"),+ ('9', 2493, InTerms, Just "GHC.PrimopWrappers", "writeInt8ArrayAsInt8X32#"),+ ('9', 2494, InTerms, Just "GHC.Prim", "writeInt16ArrayAsInt16X16#"),+ ('9', 2495, InTerms, Just "GHC.PrimopWrappers", "writeInt16ArrayAsInt16X16#"),+ ('9', 2496, InTerms, Just "GHC.Prim", "writeInt32ArrayAsInt32X8#"),+ ('9', 2497, InTerms, Just "GHC.PrimopWrappers", "writeInt32ArrayAsInt32X8#"),+ ('9', 2498, InTerms, Just "GHC.Prim", "writeInt64ArrayAsInt64X4#"),+ ('9', 2499, InTerms, Just "GHC.PrimopWrappers", "writeInt64ArrayAsInt64X4#"),+ ('9', 2500, InTerms, Just "GHC.Prim", "writeInt8ArrayAsInt8X64#"),+ ('9', 2501, InTerms, Just "GHC.PrimopWrappers", "writeInt8ArrayAsInt8X64#"),+ ('9', 2502, InTerms, Just "GHC.Prim", "writeInt16ArrayAsInt16X32#"),+ ('9', 2503, InTerms, Just "GHC.PrimopWrappers", "writeInt16ArrayAsInt16X32#"),+ ('9', 2504, InTerms, Just "GHC.Prim", "writeInt32ArrayAsInt32X16#"),+ ('9', 2505, InTerms, Just "GHC.PrimopWrappers", "writeInt32ArrayAsInt32X16#"),+ ('9', 2506, InTerms, Just "GHC.Prim", "writeInt64ArrayAsInt64X8#"),+ ('9', 2507, InTerms, Just "GHC.PrimopWrappers", "writeInt64ArrayAsInt64X8#"),+ ('9', 2508, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord8X16#"),+ ('9', 2509, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord8X16#"),+ ('9', 2510, InTerms, Just "GHC.Prim", "writeWord16ArrayAsWord16X8#"),+ ('9', 2511, InTerms, Just "GHC.PrimopWrappers", "writeWord16ArrayAsWord16X8#"),+ ('9', 2512, InTerms, Just "GHC.Prim", "writeWord32ArrayAsWord32X4#"),+ ('9', 2513, InTerms, Just "GHC.PrimopWrappers", "writeWord32ArrayAsWord32X4#"),+ ('9', 2514, InTerms, Just "GHC.Prim", "writeWord64ArrayAsWord64X2#"),+ ('9', 2515, InTerms, Just "GHC.PrimopWrappers", "writeWord64ArrayAsWord64X2#"),+ ('9', 2516, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord8X32#"),+ ('9', 2517, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord8X32#"),+ ('9', 2518, InTerms, Just "GHC.Prim", "writeWord16ArrayAsWord16X16#"),+ ('9', 2519, InTerms, Just "GHC.PrimopWrappers", "writeWord16ArrayAsWord16X16#"),+ ('9', 2520, InTerms, Just "GHC.Prim", "writeWord32ArrayAsWord32X8#"),+ ('9', 2521, InTerms, Just "GHC.PrimopWrappers", "writeWord32ArrayAsWord32X8#"),+ ('9', 2522, InTerms, Just "GHC.Prim", "writeWord64ArrayAsWord64X4#"),+ ('9', 2523, InTerms, Just "GHC.PrimopWrappers", "writeWord64ArrayAsWord64X4#"),+ ('9', 2524, InTerms, Just "GHC.Prim", "writeWord8ArrayAsWord8X64#"),+ ('9', 2525, InTerms, Just "GHC.PrimopWrappers", "writeWord8ArrayAsWord8X64#"),+ ('9', 2526, InTerms, Just "GHC.Prim", "writeWord16ArrayAsWord16X32#"),+ ('9', 2527, InTerms, Just "GHC.PrimopWrappers", "writeWord16ArrayAsWord16X32#"),+ ('9', 2528, InTerms, Just "GHC.Prim", "writeWord32ArrayAsWord32X16#"),+ ('9', 2529, InTerms, Just "GHC.PrimopWrappers", "writeWord32ArrayAsWord32X16#"),+ ('9', 2530, InTerms, Just "GHC.Prim", "writeWord64ArrayAsWord64X8#"),+ ('9', 2531, InTerms, Just "GHC.PrimopWrappers", "writeWord64ArrayAsWord64X8#"),+ ('9', 2532, InTerms, Just "GHC.Prim", "writeFloatArrayAsFloatX4#"),+ ('9', 2533, InTerms, Just "GHC.PrimopWrappers", "writeFloatArrayAsFloatX4#"),+ ('9', 2534, InTerms, Just "GHC.Prim", "writeDoubleArrayAsDoubleX2#"),+ ('9', 2535, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArrayAsDoubleX2#"),+ ('9', 2536, InTerms, Just "GHC.Prim", "writeFloatArrayAsFloatX8#"),+ ('9', 2537, InTerms, Just "GHC.PrimopWrappers", "writeFloatArrayAsFloatX8#"),+ ('9', 2538, InTerms, Just "GHC.Prim", "writeDoubleArrayAsDoubleX4#"),+ ('9', 2539, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArrayAsDoubleX4#"),+ ('9', 2540, InTerms, Just "GHC.Prim", "writeFloatArrayAsFloatX16#"),+ ('9', 2541, InTerms, Just "GHC.PrimopWrappers", "writeFloatArrayAsFloatX16#"),+ ('9', 2542, InTerms, Just "GHC.Prim", "writeDoubleArrayAsDoubleX8#"),+ ('9', 2543, InTerms, Just "GHC.PrimopWrappers", "writeDoubleArrayAsDoubleX8#"),+ ('9', 2544, InTerms, Just "GHC.Prim", "indexInt8OffAddrAsInt8X16#"),+ ('9', 2545, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddrAsInt8X16#"),+ ('9', 2546, InTerms, Just "GHC.Prim", "indexInt16OffAddrAsInt16X8#"),+ ('9', 2547, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddrAsInt16X8#"),+ ('9', 2548, InTerms, Just "GHC.Prim", "indexInt32OffAddrAsInt32X4#"),+ ('9', 2549, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddrAsInt32X4#"),+ ('9', 2550, InTerms, Just "GHC.Prim", "indexInt64OffAddrAsInt64X2#"),+ ('9', 2551, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddrAsInt64X2#"),+ ('9', 2552, InTerms, Just "GHC.Prim", "indexInt8OffAddrAsInt8X32#"),+ ('9', 2553, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddrAsInt8X32#"),+ ('9', 2554, InTerms, Just "GHC.Prim", "indexInt16OffAddrAsInt16X16#"),+ ('9', 2555, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddrAsInt16X16#"),+ ('9', 2556, InTerms, Just "GHC.Prim", "indexInt32OffAddrAsInt32X8#"),+ ('9', 2557, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddrAsInt32X8#"),+ ('9', 2558, InTerms, Just "GHC.Prim", "indexInt64OffAddrAsInt64X4#"),+ ('9', 2559, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddrAsInt64X4#"),+ ('9', 2560, InTerms, Just "GHC.Prim", "indexInt8OffAddrAsInt8X64#"),+ ('9', 2561, InTerms, Just "GHC.PrimopWrappers", "indexInt8OffAddrAsInt8X64#"),+ ('9', 2562, InTerms, Just "GHC.Prim", "indexInt16OffAddrAsInt16X32#"),+ ('9', 2563, InTerms, Just "GHC.PrimopWrappers", "indexInt16OffAddrAsInt16X32#"),+ ('9', 2564, InTerms, Just "GHC.Prim", "indexInt32OffAddrAsInt32X16#"),+ ('9', 2565, InTerms, Just "GHC.PrimopWrappers", "indexInt32OffAddrAsInt32X16#"),+ ('9', 2566, InTerms, Just "GHC.Prim", "indexInt64OffAddrAsInt64X8#"),+ ('9', 2567, InTerms, Just "GHC.PrimopWrappers", "indexInt64OffAddrAsInt64X8#"),+ ('9', 2568, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord8X16#"),+ ('9', 2569, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord8X16#"),+ ('9', 2570, InTerms, Just "GHC.Prim", "indexWord16OffAddrAsWord16X8#"),+ ('9', 2571, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddrAsWord16X8#"),+ ('9', 2572, InTerms, Just "GHC.Prim", "indexWord32OffAddrAsWord32X4#"),+ ('9', 2573, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddrAsWord32X4#"),+ ('9', 2574, InTerms, Just "GHC.Prim", "indexWord64OffAddrAsWord64X2#"),+ ('9', 2575, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddrAsWord64X2#"),+ ('9', 2576, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord8X32#"),+ ('9', 2577, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord8X32#"),+ ('9', 2578, InTerms, Just "GHC.Prim", "indexWord16OffAddrAsWord16X16#"),+ ('9', 2579, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddrAsWord16X16#"),+ ('9', 2580, InTerms, Just "GHC.Prim", "indexWord32OffAddrAsWord32X8#"),+ ('9', 2581, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddrAsWord32X8#"),+ ('9', 2582, InTerms, Just "GHC.Prim", "indexWord64OffAddrAsWord64X4#"),+ ('9', 2583, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddrAsWord64X4#"),+ ('9', 2584, InTerms, Just "GHC.Prim", "indexWord8OffAddrAsWord8X64#"),+ ('9', 2585, InTerms, Just "GHC.PrimopWrappers", "indexWord8OffAddrAsWord8X64#"),+ ('9', 2586, InTerms, Just "GHC.Prim", "indexWord16OffAddrAsWord16X32#"),+ ('9', 2587, InTerms, Just "GHC.PrimopWrappers", "indexWord16OffAddrAsWord16X32#"),+ ('9', 2588, InTerms, Just "GHC.Prim", "indexWord32OffAddrAsWord32X16#"),+ ('9', 2589, InTerms, Just "GHC.PrimopWrappers", "indexWord32OffAddrAsWord32X16#"),+ ('9', 2590, InTerms, Just "GHC.Prim", "indexWord64OffAddrAsWord64X8#"),+ ('9', 2591, InTerms, Just "GHC.PrimopWrappers", "indexWord64OffAddrAsWord64X8#"),+ ('9', 2592, InTerms, Just "GHC.Prim", "indexFloatOffAddrAsFloatX4#"),+ ('9', 2593, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddrAsFloatX4#"),+ ('9', 2594, InTerms, Just "GHC.Prim", "indexDoubleOffAddrAsDoubleX2#"),+ ('9', 2595, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddrAsDoubleX2#"),+ ('9', 2596, InTerms, Just "GHC.Prim", "indexFloatOffAddrAsFloatX8#"),+ ('9', 2597, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddrAsFloatX8#"),+ ('9', 2598, InTerms, Just "GHC.Prim", "indexDoubleOffAddrAsDoubleX4#"),+ ('9', 2599, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddrAsDoubleX4#"),+ ('9', 2600, InTerms, Just "GHC.Prim", "indexFloatOffAddrAsFloatX16#"),+ ('9', 2601, InTerms, Just "GHC.PrimopWrappers", "indexFloatOffAddrAsFloatX16#"),+ ('9', 2602, InTerms, Just "GHC.Prim", "indexDoubleOffAddrAsDoubleX8#"),+ ('9', 2603, InTerms, Just "GHC.PrimopWrappers", "indexDoubleOffAddrAsDoubleX8#"),+ ('9', 2604, InTerms, Just "GHC.Prim", "readInt8OffAddrAsInt8X16#"),+ ('9', 2605, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddrAsInt8X16#"),+ ('9', 2606, InTerms, Just "GHC.Prim", "readInt16OffAddrAsInt16X8#"),+ ('9', 2607, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddrAsInt16X8#"),+ ('9', 2608, InTerms, Just "GHC.Prim", "readInt32OffAddrAsInt32X4#"),+ ('9', 2609, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddrAsInt32X4#"),+ ('9', 2610, InTerms, Just "GHC.Prim", "readInt64OffAddrAsInt64X2#"),+ ('9', 2611, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddrAsInt64X2#"),+ ('9', 2612, InTerms, Just "GHC.Prim", "readInt8OffAddrAsInt8X32#"),+ ('9', 2613, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddrAsInt8X32#"),+ ('9', 2614, InTerms, Just "GHC.Prim", "readInt16OffAddrAsInt16X16#"),+ ('9', 2615, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddrAsInt16X16#"),+ ('9', 2616, InTerms, Just "GHC.Prim", "readInt32OffAddrAsInt32X8#"),+ ('9', 2617, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddrAsInt32X8#"),+ ('9', 2618, InTerms, Just "GHC.Prim", "readInt64OffAddrAsInt64X4#"),+ ('9', 2619, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddrAsInt64X4#"),+ ('9', 2620, InTerms, Just "GHC.Prim", "readInt8OffAddrAsInt8X64#"),+ ('9', 2621, InTerms, Just "GHC.PrimopWrappers", "readInt8OffAddrAsInt8X64#"),+ ('9', 2622, InTerms, Just "GHC.Prim", "readInt16OffAddrAsInt16X32#"),+ ('9', 2623, InTerms, Just "GHC.PrimopWrappers", "readInt16OffAddrAsInt16X32#"),+ ('9', 2624, InTerms, Just "GHC.Prim", "readInt32OffAddrAsInt32X16#"),+ ('9', 2625, InTerms, Just "GHC.PrimopWrappers", "readInt32OffAddrAsInt32X16#"),+ ('9', 2626, InTerms, Just "GHC.Prim", "readInt64OffAddrAsInt64X8#"),+ ('9', 2627, InTerms, Just "GHC.PrimopWrappers", "readInt64OffAddrAsInt64X8#"),+ ('9', 2628, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord8X16#"),+ ('9', 2629, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord8X16#"),+ ('9', 2630, InTerms, Just "GHC.Prim", "readWord16OffAddrAsWord16X8#"),+ ('9', 2631, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddrAsWord16X8#"),+ ('9', 2632, InTerms, Just "GHC.Prim", "readWord32OffAddrAsWord32X4#"),+ ('9', 2633, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddrAsWord32X4#"),+ ('9', 2634, InTerms, Just "GHC.Prim", "readWord64OffAddrAsWord64X2#"),+ ('9', 2635, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddrAsWord64X2#"),+ ('9', 2636, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord8X32#"),+ ('9', 2637, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord8X32#"),+ ('9', 2638, InTerms, Just "GHC.Prim", "readWord16OffAddrAsWord16X16#"),+ ('9', 2639, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddrAsWord16X16#"),+ ('9', 2640, InTerms, Just "GHC.Prim", "readWord32OffAddrAsWord32X8#"),+ ('9', 2641, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddrAsWord32X8#"),+ ('9', 2642, InTerms, Just "GHC.Prim", "readWord64OffAddrAsWord64X4#"),+ ('9', 2643, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddrAsWord64X4#"),+ ('9', 2644, InTerms, Just "GHC.Prim", "readWord8OffAddrAsWord8X64#"),+ ('9', 2645, InTerms, Just "GHC.PrimopWrappers", "readWord8OffAddrAsWord8X64#"),+ ('9', 2646, InTerms, Just "GHC.Prim", "readWord16OffAddrAsWord16X32#"),+ ('9', 2647, InTerms, Just "GHC.PrimopWrappers", "readWord16OffAddrAsWord16X32#"),+ ('9', 2648, InTerms, Just "GHC.Prim", "readWord32OffAddrAsWord32X16#"),+ ('9', 2649, InTerms, Just "GHC.PrimopWrappers", "readWord32OffAddrAsWord32X16#"),+ ('9', 2650, InTerms, Just "GHC.Prim", "readWord64OffAddrAsWord64X8#"),+ ('9', 2651, InTerms, Just "GHC.PrimopWrappers", "readWord64OffAddrAsWord64X8#"),+ ('9', 2652, InTerms, Just "GHC.Prim", "readFloatOffAddrAsFloatX4#"),+ ('9', 2653, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddrAsFloatX4#"),+ ('9', 2654, InTerms, Just "GHC.Prim", "readDoubleOffAddrAsDoubleX2#"),+ ('9', 2655, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddrAsDoubleX2#"),+ ('9', 2656, InTerms, Just "GHC.Prim", "readFloatOffAddrAsFloatX8#"),+ ('9', 2657, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddrAsFloatX8#"),+ ('9', 2658, InTerms, Just "GHC.Prim", "readDoubleOffAddrAsDoubleX4#"),+ ('9', 2659, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddrAsDoubleX4#"),+ ('9', 2660, InTerms, Just "GHC.Prim", "readFloatOffAddrAsFloatX16#"),+ ('9', 2661, InTerms, Just "GHC.PrimopWrappers", "readFloatOffAddrAsFloatX16#"),+ ('9', 2662, InTerms, Just "GHC.Prim", "readDoubleOffAddrAsDoubleX8#"),+ ('9', 2663, InTerms, Just "GHC.PrimopWrappers", "readDoubleOffAddrAsDoubleX8#"),+ ('9', 2664, InTerms, Just "GHC.Prim", "writeInt8OffAddrAsInt8X16#"),+ ('9', 2665, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddrAsInt8X16#"),+ ('9', 2666, InTerms, Just "GHC.Prim", "writeInt16OffAddrAsInt16X8#"),+ ('9', 2667, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddrAsInt16X8#"),+ ('9', 2668, InTerms, Just "GHC.Prim", "writeInt32OffAddrAsInt32X4#"),+ ('9', 2669, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddrAsInt32X4#"),+ ('9', 2670, InTerms, Just "GHC.Prim", "writeInt64OffAddrAsInt64X2#"),+ ('9', 2671, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddrAsInt64X2#"),+ ('9', 2672, InTerms, Just "GHC.Prim", "writeInt8OffAddrAsInt8X32#"),+ ('9', 2673, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddrAsInt8X32#"),+ ('9', 2674, InTerms, Just "GHC.Prim", "writeInt16OffAddrAsInt16X16#"),+ ('9', 2675, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddrAsInt16X16#"),+ ('9', 2676, InTerms, Just "GHC.Prim", "writeInt32OffAddrAsInt32X8#"),+ ('9', 2677, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddrAsInt32X8#"),+ ('9', 2678, InTerms, Just "GHC.Prim", "writeInt64OffAddrAsInt64X4#"),+ ('9', 2679, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddrAsInt64X4#"),+ ('9', 2680, InTerms, Just "GHC.Prim", "writeInt8OffAddrAsInt8X64#"),+ ('9', 2681, InTerms, Just "GHC.PrimopWrappers", "writeInt8OffAddrAsInt8X64#"),+ ('9', 2682, InTerms, Just "GHC.Prim", "writeInt16OffAddrAsInt16X32#"),+ ('9', 2683, InTerms, Just "GHC.PrimopWrappers", "writeInt16OffAddrAsInt16X32#"),+ ('9', 2684, InTerms, Just "GHC.Prim", "writeInt32OffAddrAsInt32X16#"),+ ('9', 2685, InTerms, Just "GHC.PrimopWrappers", "writeInt32OffAddrAsInt32X16#"),+ ('9', 2686, InTerms, Just "GHC.Prim", "writeInt64OffAddrAsInt64X8#"),+ ('9', 2687, InTerms, Just "GHC.PrimopWrappers", "writeInt64OffAddrAsInt64X8#"),+ ('9', 2688, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord8X16#"),+ ('9', 2689, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord8X16#"),+ ('9', 2690, InTerms, Just "GHC.Prim", "writeWord16OffAddrAsWord16X8#"),+ ('9', 2691, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddrAsWord16X8#"),+ ('9', 2692, InTerms, Just "GHC.Prim", "writeWord32OffAddrAsWord32X4#"),+ ('9', 2693, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddrAsWord32X4#"),+ ('9', 2694, InTerms, Just "GHC.Prim", "writeWord64OffAddrAsWord64X2#"),+ ('9', 2695, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddrAsWord64X2#"),+ ('9', 2696, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord8X32#"),+ ('9', 2697, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord8X32#"),+ ('9', 2698, InTerms, Just "GHC.Prim", "writeWord16OffAddrAsWord16X16#"),+ ('9', 2699, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddrAsWord16X16#"),+ ('9', 2700, InTerms, Just "GHC.Prim", "writeWord32OffAddrAsWord32X8#"),+ ('9', 2701, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddrAsWord32X8#"),+ ('9', 2702, InTerms, Just "GHC.Prim", "writeWord64OffAddrAsWord64X4#"),+ ('9', 2703, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddrAsWord64X4#"),+ ('9', 2704, InTerms, Just "GHC.Prim", "writeWord8OffAddrAsWord8X64#"),+ ('9', 2705, InTerms, Just "GHC.PrimopWrappers", "writeWord8OffAddrAsWord8X64#"),+ ('9', 2706, InTerms, Just "GHC.Prim", "writeWord16OffAddrAsWord16X32#"),+ ('9', 2707, InTerms, Just "GHC.PrimopWrappers", "writeWord16OffAddrAsWord16X32#"),+ ('9', 2708, InTerms, Just "GHC.Prim", "writeWord32OffAddrAsWord32X16#"),+ ('9', 2709, InTerms, Just "GHC.PrimopWrappers", "writeWord32OffAddrAsWord32X16#"),+ ('9', 2710, InTerms, Just "GHC.Prim", "writeWord64OffAddrAsWord64X8#"),+ ('9', 2711, InTerms, Just "GHC.PrimopWrappers", "writeWord64OffAddrAsWord64X8#"),+ ('9', 2712, InTerms, Just "GHC.Prim", "writeFloatOffAddrAsFloatX4#"),+ ('9', 2713, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddrAsFloatX4#"),+ ('9', 2714, InTerms, Just "GHC.Prim", "writeDoubleOffAddrAsDoubleX2#"),+ ('9', 2715, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddrAsDoubleX2#"),+ ('9', 2716, InTerms, Just "GHC.Prim", "writeFloatOffAddrAsFloatX8#"),+ ('9', 2717, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddrAsFloatX8#"),+ ('9', 2718, InTerms, Just "GHC.Prim", "writeDoubleOffAddrAsDoubleX4#"),+ ('9', 2719, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddrAsDoubleX4#"),+ ('9', 2720, InTerms, Just "GHC.Prim", "writeFloatOffAddrAsFloatX16#"),+ ('9', 2721, InTerms, Just "GHC.PrimopWrappers", "writeFloatOffAddrAsFloatX16#"),+ ('9', 2722, InTerms, Just "GHC.Prim", "writeDoubleOffAddrAsDoubleX8#"),+ ('9', 2723, InTerms, Just "GHC.PrimopWrappers", "writeDoubleOffAddrAsDoubleX8#"),+ ('9', 2724, InTerms, Just "GHC.Prim", "fmaddFloatX4#"),+ ('9', 2725, InTerms, Just "GHC.PrimopWrappers", "fmaddFloatX4#"),+ ('9', 2726, InTerms, Just "GHC.Prim", "fmaddDoubleX2#"),+ ('9', 2727, InTerms, Just "GHC.PrimopWrappers", "fmaddDoubleX2#"),+ ('9', 2728, InTerms, Just "GHC.Prim", "fmaddFloatX8#"),+ ('9', 2729, InTerms, Just "GHC.PrimopWrappers", "fmaddFloatX8#"),+ ('9', 2730, InTerms, Just "GHC.Prim", "fmaddDoubleX4#"),+ ('9', 2731, InTerms, Just "GHC.PrimopWrappers", "fmaddDoubleX4#"),+ ('9', 2732, InTerms, Just "GHC.Prim", "fmaddFloatX16#"),+ ('9', 2733, InTerms, Just "GHC.PrimopWrappers", "fmaddFloatX16#"),+ ('9', 2734, InTerms, Just "GHC.Prim", "fmaddDoubleX8#"),+ ('9', 2735, InTerms, Just "GHC.PrimopWrappers", "fmaddDoubleX8#"),+ ('9', 2736, InTerms, Just "GHC.Prim", "fmsubFloatX4#"),+ ('9', 2737, InTerms, Just "GHC.PrimopWrappers", "fmsubFloatX4#"),+ ('9', 2738, InTerms, Just "GHC.Prim", "fmsubDoubleX2#"),+ ('9', 2739, InTerms, Just "GHC.PrimopWrappers", "fmsubDoubleX2#"),+ ('9', 2740, InTerms, Just "GHC.Prim", "fmsubFloatX8#"),+ ('9', 2741, InTerms, Just "GHC.PrimopWrappers", "fmsubFloatX8#"),+ ('9', 2742, InTerms, Just "GHC.Prim", "fmsubDoubleX4#"),+ ('9', 2743, InTerms, Just "GHC.PrimopWrappers", "fmsubDoubleX4#"),+ ('9', 2744, InTerms, Just "GHC.Prim", "fmsubFloatX16#"),+ ('9', 2745, InTerms, Just "GHC.PrimopWrappers", "fmsubFloatX16#"),+ ('9', 2746, InTerms, Just "GHC.Prim", "fmsubDoubleX8#"),+ ('9', 2747, InTerms, Just "GHC.PrimopWrappers", "fmsubDoubleX8#"),+ ('9', 2748, InTerms, Just "GHC.Prim", "fnmaddFloatX4#"),+ ('9', 2749, InTerms, Just "GHC.PrimopWrappers", "fnmaddFloatX4#"),+ ('9', 2750, InTerms, Just "GHC.Prim", "fnmaddDoubleX2#"),+ ('9', 2751, InTerms, Just "GHC.PrimopWrappers", "fnmaddDoubleX2#"),+ ('9', 2752, InTerms, Just "GHC.Prim", "fnmaddFloatX8#"),+ ('9', 2753, InTerms, Just "GHC.PrimopWrappers", "fnmaddFloatX8#"),+ ('9', 2754, InTerms, Just "GHC.Prim", "fnmaddDoubleX4#"),+ ('9', 2755, InTerms, Just "GHC.PrimopWrappers", "fnmaddDoubleX4#"),+ ('9', 2756, InTerms, Just "GHC.Prim", "fnmaddFloatX16#"),+ ('9', 2757, InTerms, Just "GHC.PrimopWrappers", "fnmaddFloatX16#"),+ ('9', 2758, InTerms, Just "GHC.Prim", "fnmaddDoubleX8#"),+ ('9', 2759, InTerms, Just "GHC.PrimopWrappers", "fnmaddDoubleX8#"),+ ('9', 2760, InTerms, Just "GHC.Prim", "fnmsubFloatX4#"),+ ('9', 2761, InTerms, Just "GHC.PrimopWrappers", "fnmsubFloatX4#"),+ ('9', 2762, InTerms, Just "GHC.Prim", "fnmsubDoubleX2#"),+ ('9', 2763, InTerms, Just "GHC.PrimopWrappers", "fnmsubDoubleX2#"),+ ('9', 2764, InTerms, Just "GHC.Prim", "fnmsubFloatX8#"),+ ('9', 2765, InTerms, Just "GHC.PrimopWrappers", "fnmsubFloatX8#"),+ ('9', 2766, InTerms, Just "GHC.Prim", "fnmsubDoubleX4#"),+ ('9', 2767, InTerms, Just "GHC.PrimopWrappers", "fnmsubDoubleX4#"),+ ('9', 2768, InTerms, Just "GHC.Prim", "fnmsubFloatX16#"),+ ('9', 2769, InTerms, Just "GHC.PrimopWrappers", "fnmsubFloatX16#"),+ ('9', 2770, InTerms, Just "GHC.Prim", "fnmsubDoubleX8#"),+ ('9', 2771, InTerms, Just "GHC.PrimopWrappers", "fnmsubDoubleX8#"),+ ('9', 2772, InTerms, Just "GHC.Prim", "shuffleInt8X16#"),+ ('9', 2773, InTerms, Just "GHC.PrimopWrappers", "shuffleInt8X16#"),+ ('9', 2774, InTerms, Just "GHC.Prim", "shuffleInt16X8#"),+ ('9', 2775, InTerms, Just "GHC.PrimopWrappers", "shuffleInt16X8#"),+ ('9', 2776, InTerms, Just "GHC.Prim", "shuffleInt32X4#"),+ ('9', 2777, InTerms, Just "GHC.PrimopWrappers", "shuffleInt32X4#"),+ ('9', 2778, InTerms, Just "GHC.Prim", "shuffleInt64X2#"),+ ('9', 2779, InTerms, Just "GHC.PrimopWrappers", "shuffleInt64X2#"),+ ('9', 2780, InTerms, Just "GHC.Prim", "shuffleInt8X32#"),+ ('9', 2781, InTerms, Just "GHC.PrimopWrappers", "shuffleInt8X32#"),+ ('9', 2782, InTerms, Just "GHC.Prim", "shuffleInt16X16#"),+ ('9', 2783, InTerms, Just "GHC.PrimopWrappers", "shuffleInt16X16#"),+ ('9', 2784, InTerms, Just "GHC.Prim", "shuffleInt32X8#"),+ ('9', 2785, InTerms, Just "GHC.PrimopWrappers", "shuffleInt32X8#"),+ ('9', 2786, InTerms, Just "GHC.Prim", "shuffleInt64X4#"),+ ('9', 2787, InTerms, Just "GHC.PrimopWrappers", "shuffleInt64X4#"),+ ('9', 2788, InTerms, Just "GHC.Prim", "shuffleInt8X64#"),+ ('9', 2789, InTerms, Just "GHC.PrimopWrappers", "shuffleInt8X64#"),+ ('9', 2790, InTerms, Just "GHC.Prim", "shuffleInt16X32#"),+ ('9', 2791, InTerms, Just "GHC.PrimopWrappers", "shuffleInt16X32#"),+ ('9', 2792, InTerms, Just "GHC.Prim", "shuffleInt32X16#"),+ ('9', 2793, InTerms, Just "GHC.PrimopWrappers", "shuffleInt32X16#"),+ ('9', 2794, InTerms, Just "GHC.Prim", "shuffleInt64X8#"),+ ('9', 2795, InTerms, Just "GHC.PrimopWrappers", "shuffleInt64X8#"),+ ('9', 2796, InTerms, Just "GHC.Prim", "shuffleWord8X16#"),+ ('9', 2797, InTerms, Just "GHC.PrimopWrappers", "shuffleWord8X16#"),+ ('9', 2798, InTerms, Just "GHC.Prim", "shuffleWord16X8#"),+ ('9', 2799, InTerms, Just "GHC.PrimopWrappers", "shuffleWord16X8#"),+ ('9', 2800, InTerms, Just "GHC.Prim", "shuffleWord32X4#"),+ ('9', 2801, InTerms, Just "GHC.PrimopWrappers", "shuffleWord32X4#"),+ ('9', 2802, InTerms, Just "GHC.Prim", "shuffleWord64X2#"),+ ('9', 2803, InTerms, Just "GHC.PrimopWrappers", "shuffleWord64X2#"),+ ('9', 2804, InTerms, Just "GHC.Prim", "shuffleWord8X32#"),+ ('9', 2805, InTerms, Just "GHC.PrimopWrappers", "shuffleWord8X32#"),+ ('9', 2806, InTerms, Just "GHC.Prim", "shuffleWord16X16#"),+ ('9', 2807, InTerms, Just "GHC.PrimopWrappers", "shuffleWord16X16#"),+ ('9', 2808, InTerms, Just "GHC.Prim", "shuffleWord32X8#"),+ ('9', 2809, InTerms, Just "GHC.PrimopWrappers", "shuffleWord32X8#"),+ ('9', 2810, InTerms, Just "GHC.Prim", "shuffleWord64X4#"),+ ('9', 2811, InTerms, Just "GHC.PrimopWrappers", "shuffleWord64X4#"),+ ('9', 2812, InTerms, Just "GHC.Prim", "shuffleWord8X64#"),+ ('9', 2813, InTerms, Just "GHC.PrimopWrappers", "shuffleWord8X64#"),+ ('9', 2814, InTerms, Just "GHC.Prim", "shuffleWord16X32#"),+ ('9', 2815, InTerms, Just "GHC.PrimopWrappers", "shuffleWord16X32#"),+ ('9', 2816, InTerms, Just "GHC.Prim", "shuffleWord32X16#"),+ ('9', 2817, InTerms, Just "GHC.PrimopWrappers", "shuffleWord32X16#"),+ ('9', 2818, InTerms, Just "GHC.Prim", "shuffleWord64X8#"),+ ('9', 2819, InTerms, Just "GHC.PrimopWrappers", "shuffleWord64X8#"),+ ('9', 2820, InTerms, Just "GHC.Prim", "shuffleFloatX4#"),+ ('9', 2821, InTerms, Just "GHC.PrimopWrappers", "shuffleFloatX4#"),+ ('9', 2822, InTerms, Just "GHC.Prim", "shuffleDoubleX2#"),+ ('9', 2823, InTerms, Just "GHC.PrimopWrappers", "shuffleDoubleX2#"),+ ('9', 2824, InTerms, Just "GHC.Prim", "shuffleFloatX8#"),+ ('9', 2825, InTerms, Just "GHC.PrimopWrappers", "shuffleFloatX8#"),+ ('9', 2826, InTerms, Just "GHC.Prim", "shuffleDoubleX4#"),+ ('9', 2827, InTerms, Just "GHC.PrimopWrappers", "shuffleDoubleX4#"),+ ('9', 2828, InTerms, Just "GHC.Prim", "shuffleFloatX16#"),+ ('9', 2829, InTerms, Just "GHC.PrimopWrappers", "shuffleFloatX16#"),+ ('9', 2830, InTerms, Just "GHC.Prim", "shuffleDoubleX8#"),+ ('9', 2831, InTerms, Just "GHC.PrimopWrappers", "shuffleDoubleX8#"),+ ('9', 2832, InTerms, Just "GHC.Prim", "minInt8X16#"),+ ('9', 2833, InTerms, Just "GHC.PrimopWrappers", "minInt8X16#"),+ ('9', 2834, InTerms, Just "GHC.Prim", "minInt16X8#"),+ ('9', 2835, InTerms, Just "GHC.PrimopWrappers", "minInt16X8#"),+ ('9', 2836, InTerms, Just "GHC.Prim", "minInt32X4#"),+ ('9', 2837, InTerms, Just "GHC.PrimopWrappers", "minInt32X4#"),+ ('9', 2838, InTerms, Just "GHC.Prim", "minInt64X2#"),+ ('9', 2839, InTerms, Just "GHC.PrimopWrappers", "minInt64X2#"),+ ('9', 2840, InTerms, Just "GHC.Prim", "minInt8X32#"),+ ('9', 2841, InTerms, Just "GHC.PrimopWrappers", "minInt8X32#"),+ ('9', 2842, InTerms, Just "GHC.Prim", "minInt16X16#"),+ ('9', 2843, InTerms, Just "GHC.PrimopWrappers", "minInt16X16#"),+ ('9', 2844, InTerms, Just "GHC.Prim", "minInt32X8#"),+ ('9', 2845, InTerms, Just "GHC.PrimopWrappers", "minInt32X8#"),+ ('9', 2846, InTerms, Just "GHC.Prim", "minInt64X4#"),+ ('9', 2847, InTerms, Just "GHC.PrimopWrappers", "minInt64X4#"),+ ('9', 2848, InTerms, Just "GHC.Prim", "minInt8X64#"),+ ('9', 2849, InTerms, Just "GHC.PrimopWrappers", "minInt8X64#"),+ ('9', 2850, InTerms, Just "GHC.Prim", "minInt16X32#"),+ ('9', 2851, InTerms, Just "GHC.PrimopWrappers", "minInt16X32#"),+ ('9', 2852, InTerms, Just "GHC.Prim", "minInt32X16#"),+ ('9', 2853, InTerms, Just "GHC.PrimopWrappers", "minInt32X16#"),+ ('9', 2854, InTerms, Just "GHC.Prim", "minInt64X8#"),+ ('9', 2855, InTerms, Just "GHC.PrimopWrappers", "minInt64X8#"),+ ('9', 2856, InTerms, Just "GHC.Prim", "minWord8X16#"),+ ('9', 2857, InTerms, Just "GHC.PrimopWrappers", "minWord8X16#"),+ ('9', 2858, InTerms, Just "GHC.Prim", "minWord16X8#"),+ ('9', 2859, InTerms, Just "GHC.PrimopWrappers", "minWord16X8#"),+ ('9', 2860, InTerms, Just "GHC.Prim", "minWord32X4#"),+ ('9', 2861, InTerms, Just "GHC.PrimopWrappers", "minWord32X4#"),+ ('9', 2862, InTerms, Just "GHC.Prim", "minWord64X2#"),+ ('9', 2863, InTerms, Just "GHC.PrimopWrappers", "minWord64X2#"),+ ('9', 2864, InTerms, Just "GHC.Prim", "minWord8X32#"),+ ('9', 2865, InTerms, Just "GHC.PrimopWrappers", "minWord8X32#"),+ ('9', 2866, InTerms, Just "GHC.Prim", "minWord16X16#"),+ ('9', 2867, InTerms, Just "GHC.PrimopWrappers", "minWord16X16#"),+ ('9', 2868, InTerms, Just "GHC.Prim", "minWord32X8#"),+ ('9', 2869, InTerms, Just "GHC.PrimopWrappers", "minWord32X8#"),+ ('9', 2870, InTerms, Just "GHC.Prim", "minWord64X4#"),+ ('9', 2871, InTerms, Just "GHC.PrimopWrappers", "minWord64X4#"),+ ('9', 2872, InTerms, Just "GHC.Prim", "minWord8X64#"),+ ('9', 2873, InTerms, Just "GHC.PrimopWrappers", "minWord8X64#"),+ ('9', 2874, InTerms, Just "GHC.Prim", "minWord16X32#"),+ ('9', 2875, InTerms, Just "GHC.PrimopWrappers", "minWord16X32#"),+ ('9', 2876, InTerms, Just "GHC.Prim", "minWord32X16#"),+ ('9', 2877, InTerms, Just "GHC.PrimopWrappers", "minWord32X16#"),+ ('9', 2878, InTerms, Just "GHC.Prim", "minWord64X8#"),+ ('9', 2879, InTerms, Just "GHC.PrimopWrappers", "minWord64X8#"),+ ('9', 2880, InTerms, Just "GHC.Prim", "minFloatX4#"),+ ('9', 2881, InTerms, Just "GHC.PrimopWrappers", "minFloatX4#"),+ ('9', 2882, InTerms, Just "GHC.Prim", "minDoubleX2#"),+ ('9', 2883, InTerms, Just "GHC.PrimopWrappers", "minDoubleX2#"),+ ('9', 2884, InTerms, Just "GHC.Prim", "minFloatX8#"),+ ('9', 2885, InTerms, Just "GHC.PrimopWrappers", "minFloatX8#"),+ ('9', 2886, InTerms, Just "GHC.Prim", "minDoubleX4#"),+ ('9', 2887, InTerms, Just "GHC.PrimopWrappers", "minDoubleX4#"),+ ('9', 2888, InTerms, Just "GHC.Prim", "minFloatX16#"),+ ('9', 2889, InTerms, Just "GHC.PrimopWrappers", "minFloatX16#"),+ ('9', 2890, InTerms, Just "GHC.Prim", "minDoubleX8#"),+ ('9', 2891, InTerms, Just "GHC.PrimopWrappers", "minDoubleX8#"),+ ('9', 2892, InTerms, Just "GHC.Prim", "maxInt8X16#"),+ ('9', 2893, InTerms, Just "GHC.PrimopWrappers", "maxInt8X16#"),+ ('9', 2894, InTerms, Just "GHC.Prim", "maxInt16X8#"),+ ('9', 2895, InTerms, Just "GHC.PrimopWrappers", "maxInt16X8#"),+ ('9', 2896, InTerms, Just "GHC.Prim", "maxInt32X4#"),+ ('9', 2897, InTerms, Just "GHC.PrimopWrappers", "maxInt32X4#"),+ ('9', 2898, InTerms, Just "GHC.Prim", "maxInt64X2#"),+ ('9', 2899, InTerms, Just "GHC.PrimopWrappers", "maxInt64X2#"),+ ('9', 2900, InTerms, Just "GHC.Prim", "maxInt8X32#"),+ ('9', 2901, InTerms, Just "GHC.PrimopWrappers", "maxInt8X32#"),+ ('9', 2902, InTerms, Just "GHC.Prim", "maxInt16X16#"),+ ('9', 2903, InTerms, Just "GHC.PrimopWrappers", "maxInt16X16#"),+ ('9', 2904, InTerms, Just "GHC.Prim", "maxInt32X8#"),+ ('9', 2905, InTerms, Just "GHC.PrimopWrappers", "maxInt32X8#"),+ ('9', 2906, InTerms, Just "GHC.Prim", "maxInt64X4#"),+ ('9', 2907, InTerms, Just "GHC.PrimopWrappers", "maxInt64X4#"),+ ('9', 2908, InTerms, Just "GHC.Prim", "maxInt8X64#"),+ ('9', 2909, InTerms, Just "GHC.PrimopWrappers", "maxInt8X64#"),+ ('9', 2910, InTerms, Just "GHC.Prim", "maxInt16X32#"),+ ('9', 2911, InTerms, Just "GHC.PrimopWrappers", "maxInt16X32#"),+ ('9', 2912, InTerms, Just "GHC.Prim", "maxInt32X16#"),+ ('9', 2913, InTerms, Just "GHC.PrimopWrappers", "maxInt32X16#"),+ ('9', 2914, InTerms, Just "GHC.Prim", "maxInt64X8#"),+ ('9', 2915, InTerms, Just "GHC.PrimopWrappers", "maxInt64X8#"),+ ('9', 2916, InTerms, Just "GHC.Prim", "maxWord8X16#"),+ ('9', 2917, InTerms, Just "GHC.PrimopWrappers", "maxWord8X16#"),+ ('9', 2918, InTerms, Just "GHC.Prim", "maxWord16X8#"),+ ('9', 2919, InTerms, Just "GHC.PrimopWrappers", "maxWord16X8#"),+ ('9', 2920, InTerms, Just "GHC.Prim", "maxWord32X4#"),+ ('9', 2921, InTerms, Just "GHC.PrimopWrappers", "maxWord32X4#"),+ ('9', 2922, InTerms, Just "GHC.Prim", "maxWord64X2#"),+ ('9', 2923, InTerms, Just "GHC.PrimopWrappers", "maxWord64X2#"),+ ('9', 2924, InTerms, Just "GHC.Prim", "maxWord8X32#"),+ ('9', 2925, InTerms, Just "GHC.PrimopWrappers", "maxWord8X32#"),+ ('9', 2926, InTerms, Just "GHC.Prim", "maxWord16X16#"),+ ('9', 2927, InTerms, Just "GHC.PrimopWrappers", "maxWord16X16#"),+ ('9', 2928, InTerms, Just "GHC.Prim", "maxWord32X8#"),+ ('9', 2929, InTerms, Just "GHC.PrimopWrappers", "maxWord32X8#"),+ ('9', 2930, InTerms, Just "GHC.Prim", "maxWord64X4#"),+ ('9', 2931, InTerms, Just "GHC.PrimopWrappers", "maxWord64X4#"),+ ('9', 2932, InTerms, Just "GHC.Prim", "maxWord8X64#"),+ ('9', 2933, InTerms, Just "GHC.PrimopWrappers", "maxWord8X64#"),+ ('9', 2934, InTerms, Just "GHC.Prim", "maxWord16X32#"),+ ('9', 2935, InTerms, Just "GHC.PrimopWrappers", "maxWord16X32#"),+ ('9', 2936, InTerms, Just "GHC.Prim", "maxWord32X16#"),+ ('9', 2937, InTerms, Just "GHC.PrimopWrappers", "maxWord32X16#"),+ ('9', 2938, InTerms, Just "GHC.Prim", "maxWord64X8#"),+ ('9', 2939, InTerms, Just "GHC.PrimopWrappers", "maxWord64X8#"),+ ('9', 2940, InTerms, Just "GHC.Prim", "maxFloatX4#"),+ ('9', 2941, InTerms, Just "GHC.PrimopWrappers", "maxFloatX4#"),+ ('9', 2942, InTerms, Just "GHC.Prim", "maxDoubleX2#"),+ ('9', 2943, InTerms, Just "GHC.PrimopWrappers", "maxDoubleX2#"),+ ('9', 2944, InTerms, Just "GHC.Prim", "maxFloatX8#"),+ ('9', 2945, InTerms, Just "GHC.PrimopWrappers", "maxFloatX8#"),+ ('9', 2946, InTerms, Just "GHC.Prim", "maxDoubleX4#"),+ ('9', 2947, InTerms, Just "GHC.PrimopWrappers", "maxDoubleX4#"),+ ('9', 2948, InTerms, Just "GHC.Prim", "maxFloatX16#"),+ ('9', 2949, InTerms, Just "GHC.PrimopWrappers", "maxFloatX16#"),+ ('9', 2950, InTerms, Just "GHC.Prim", "maxDoubleX8#"),+ ('9', 2951, InTerms, Just "GHC.PrimopWrappers", "maxDoubleX8#"),+ ('9', 2952, InTerms, Just "GHC.Prim", "prefetchByteArray3#"),+ ('9', 2953, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray3#"),+ ('9', 2954, InTerms, Just "GHC.Prim", "prefetchMutableByteArray3#"),+ ('9', 2955, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray3#"),+ ('9', 2956, InTerms, Just "GHC.Prim", "prefetchAddr3#"),+ ('9', 2957, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr3#"),+ ('9', 2958, InTerms, Just "GHC.Prim", "prefetchValue3#"),+ ('9', 2959, InTerms, Just "GHC.PrimopWrappers", "prefetchValue3#"),+ ('9', 2960, InTerms, Just "GHC.Prim", "prefetchByteArray2#"),+ ('9', 2961, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray2#"),+ ('9', 2962, InTerms, Just "GHC.Prim", "prefetchMutableByteArray2#"),+ ('9', 2963, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray2#"),+ ('9', 2964, InTerms, Just "GHC.Prim", "prefetchAddr2#"),+ ('9', 2965, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr2#"),+ ('9', 2966, InTerms, Just "GHC.Prim", "prefetchValue2#"),+ ('9', 2967, InTerms, Just "GHC.PrimopWrappers", "prefetchValue2#"),+ ('9', 2968, InTerms, Just "GHC.Prim", "prefetchByteArray1#"),+ ('9', 2969, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray1#"),+ ('9', 2970, InTerms, Just "GHC.Prim", "prefetchMutableByteArray1#"),+ ('9', 2971, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray1#"),+ ('9', 2972, InTerms, Just "GHC.Prim", "prefetchAddr1#"),+ ('9', 2973, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr1#"),+ ('9', 2974, InTerms, Just "GHC.Prim", "prefetchValue1#"),+ ('9', 2975, InTerms, Just "GHC.PrimopWrappers", "prefetchValue1#"),+ ('9', 2976, InTerms, Just "GHC.Prim", "prefetchByteArray0#"),+ ('9', 2977, InTerms, Just "GHC.PrimopWrappers", "prefetchByteArray0#"),+ ('9', 2978, InTerms, Just "GHC.Prim", "prefetchMutableByteArray0#"),+ ('9', 2979, InTerms, Just "GHC.PrimopWrappers", "prefetchMutableByteArray0#"),+ ('9', 2980, InTerms, Just "GHC.Prim", "prefetchAddr0#"),+ ('9', 2981, InTerms, Just "GHC.PrimopWrappers", "prefetchAddr0#"),+ ('9', 2982, InTerms, Just "GHC.Prim", "prefetchValue0#"),+ ('9', 2983, InTerms, Just "GHC.PrimopWrappers", "prefetchValue0#"),+ ('b', 5, InTypes, Just "GHC.Types", "WordBox"),+ ('b', 6, InTerms, Just "GHC.Types", "$tcWordBox"),+ ('b', 7, InTerms, Just "GHC.Types", "MkWordBox"),+ ('b', 8, InTerms, Just "GHC.Types", "MkWordBox"),+ ('b', 9, InTerms, Just "GHC.Types", "$tc'MkWordBox"),+ ('b', 10, InTypes, Just "GHC.Types", "IntBox"),+ ('b', 11, InTerms, Just "GHC.Types", "$tcIntBox"),+ ('b', 12, InTerms, Just "GHC.Types", "MkIntBox"),+ ('b', 13, InTerms, Just "GHC.Types", "MkIntBox"),+ ('b', 14, InTerms, Just "GHC.Types", "$tc'MkIntBox"),+ ('b', 15, InTypes, Just "GHC.Types", "FloatBox"),+ ('b', 16, InTerms, Just "GHC.Types", "$tcFloatBox"),+ ('b', 17, InTerms, Just "GHC.Types", "MkFloatBox"),+ ('b', 18, InTerms, Just "GHC.Types", "MkFloatBox"),+ ('b', 19, InTerms, Just "GHC.Types", "$tc'MkFloatBox"),+ ('b', 20, InTypes, Just "GHC.Types", "DoubleBox"),+ ('b', 21, InTerms, Just "GHC.Types", "$tcDoubleBox"),+ ('b', 22, InTerms, Just "GHC.Types", "MkDoubleBox"),+ ('b', 23, InTerms, Just "GHC.Types", "MkDoubleBox"),+ ('b', 24, InTerms, Just "GHC.Types", "$tc'MkDoubleBox"),+ ('b', 25, InTypes, Just "GHC.Types", "Int8Box"),+ ('b', 26, InTerms, Just "GHC.Types", "$tcInt8Box"),+ ('b', 27, InTerms, Just "GHC.Types", "MkInt8Box"),+ ('b', 28, InTerms, Just "GHC.Types", "MkInt8Box"),+ ('b', 29, InTerms, Just "GHC.Types", "$tc'MkInt8Box"),+ ('b', 30, InTypes, Just "GHC.Types", "Int16Box"),+ ('b', 31, InTerms, Just "GHC.Types", "$tcInt16Box"),+ ('b', 32, InTerms, Just "GHC.Types", "MkInt16Box"),+ ('b', 33, InTerms, Just "GHC.Types", "MkInt16Box"),+ ('b', 34, InTerms, Just "GHC.Types", "$tc'MkInt16Box"),+ ('b', 35, InTypes, Just "GHC.Types", "Int32Box"),+ ('b', 36, InTerms, Just "GHC.Types", "$tcInt32Box"),+ ('b', 37, InTerms, Just "GHC.Types", "MkInt32Box"),+ ('b', 38, InTerms, Just "GHC.Types", "MkInt32Box"),+ ('b', 39, InTerms, Just "GHC.Types", "$tc'MkInt32Box"),+ ('b', 40, InTypes, Just "GHC.Types", "Int64Box"),+ ('b', 41, InTerms, Just "GHC.Types", "$tcInt64Box"),+ ('b', 42, InTerms, Just "GHC.Types", "MkInt64Box"),+ ('b', 43, InTerms, Just "GHC.Types", "MkInt64Box"),+ ('b', 44, InTerms, Just "GHC.Types", "$tc'MkInt64Box"),+ ('b', 45, InTypes, Just "GHC.Types", "Word8Box"),+ ('b', 46, InTerms, Just "GHC.Types", "$tcWord8Box"),+ ('b', 47, InTerms, Just "GHC.Types", "MkWord8Box"),+ ('b', 48, InTerms, Just "GHC.Types", "MkWord8Box"),+ ('b', 49, InTerms, Just "GHC.Types", "$tc'MkWord8Box"),+ ('b', 50, InTypes, Just "GHC.Types", "Word16Box"),+ ('b', 51, InTerms, Just "GHC.Types", "$tcWord16Box"),+ ('b', 52, InTerms, Just "GHC.Types", "MkWord16Box"),+ ('b', 53, InTerms, Just "GHC.Types", "MkWord16Box"),+ ('b', 54, InTerms, Just "GHC.Types", "$tc'MkWord16Box"),+ ('b', 55, InTypes, Just "GHC.Types", "Word32Box"),+ ('b', 56, InTerms, Just "GHC.Types", "$tcWord32Box"),+ ('b', 57, InTerms, Just "GHC.Types", "MkWord32Box"),+ ('b', 58, InTerms, Just "GHC.Types", "MkWord32Box"),+ ('b', 59, InTerms, Just "GHC.Types", "$tc'MkWord32Box"),+ ('b', 60, InTypes, Just "GHC.Types", "Word64Box"),+ ('b', 61, InTerms, Just "GHC.Types", "$tcWord64Box"),+ ('b', 62, InTerms, Just "GHC.Types", "MkWord64Box"),+ ('b', 63, InTerms, Just "GHC.Types", "MkWord64Box"),+ ('b', 64, InTerms, Just "GHC.Types", "$tc'MkWord64Box"),+ ('b', 65, InTypes, Just "GHC.Types", "LiftBox"),+ ('b', 66, InTerms, Just "GHC.Types", "$tcLiftBox"),+ ('b', 67, InTerms, Just "GHC.Types", "MkLiftBox"),+ ('b', 68, InTerms, Just "GHC.Types", "MkLiftBox"),+ ('b', 69, InTerms, Just "GHC.Types", "$tc'MkLiftBox"),+ ('b', 70, InTypes, Just "GHC.Types", "DictBox"),+ ('b', 71, InTerms, Just "GHC.Types", "$tcDictBox"),+ ('b', 72, InTerms, Just "GHC.Types", "MkDictBox"),+ ('b', 73, InTerms, Just "GHC.Types", "MkDictBox"),+ ('b', 74, InTerms, Just "GHC.Types", "$tc'MkDictBox")+ ]++-- | The module GHC keeps the primitive operations in, which has no+-- interface file, and the fixities declared there.+primops :: (Text, [(Text, Fixity)])+primops =+ ( "GHC.Prim",+ [ ("*#", Fixity LeftAssoc 7),+ ("*##", Fixity LeftAssoc 7),+ ("**##", Fixity LeftAssoc 9),+ ("+#", Fixity LeftAssoc 6),+ ("+##", Fixity LeftAssoc 6),+ ("-#", Fixity LeftAssoc 6),+ ("-##", Fixity LeftAssoc 6),+ ("/##", Fixity LeftAssoc 7),+ ("/=#", Fixity NoAssoc 4),+ ("/=##", Fixity NoAssoc 4),+ ("<#", Fixity NoAssoc 4),+ ("<##", Fixity NoAssoc 4),+ ("<=#", Fixity NoAssoc 4),+ ("<=##", Fixity NoAssoc 4),+ ("==#", Fixity NoAssoc 4),+ ("==##", Fixity NoAssoc 4),+ (">#", Fixity NoAssoc 4),+ (">##", Fixity NoAssoc 4),+ (">=#", Fixity NoAssoc 4),+ (">=##", Fixity NoAssoc 4),+ ("seq", Fixity RightAssoc 0)+ ]+ )
@@ -0,0 +1,4120 @@+{-# LANGUAGE OverloadedStrings #-}++-- | The names GHC 9.14 writes into interface files as keys, and the+-- fixities of its primitive operations.+--+-- Generated by @generate-known-keys.py@ in the root of the repository, from+-- GHC 9.14.1. Run that script again to update this table.+module Tilia.Fixity.KnownKeys.Ghc914+ ( knownKeys,+ primops,+ )+where++import Data.Text (Text)+import Tilia.Fixity (Direction (..), Fixity (..), Namespace (..))++-- | Every name a key stands for: the tag and index of its key, its+-- namespace, the module GHC prints it with, if it prints one, and its name.+knownKeys :: [(Char, Int, Namespace, Maybe Text, Text)]+knownKeys =+ [ ('0', 1, InTerms, Just "GHC.Internal.Prim.Panic", "absentError"),+ ('0', 2, InTerms, Just "GHC.Internal.Prim.Panic", "absentConstraintError"),+ ('0', 3, InTerms, Just "GHC.Internal.Base", "augment"),+ ('0', 4, InTerms, Just "GHC.Internal.Base", "++"),+ ('0', 5, InTerms, Just "GHC.Internal.Base", "build"),+ ('0', 6, InTerms, Just "GHC.Internal.Base", "foldr"),+ ('0', 7, InTerms, Just "GHC.Internal.Control.Exception.Base", "recSelError"),+ ('0', 8, InTerms, Just "GHC.Internal.Prim", "seq"),+ ('0', 9, InTerms, Just "GHC.Internal.Prim.Panic", "absentSumFieldError"),+ ('0', 10, InTerms, Just "GHC.Internal.Base", "eqString"),+ ('0', 11, InTerms, Just "GHC.Internal.Control.Exception.Base", "noMethodBindingError"),+ ('0', 12, InTerms, Just "GHC.Internal.Control.Exception.Base", "nonExhaustiveGuardsError"),+ ('0', 13, InTerms, Just "GHC.Internal.Control.Exception.Base", "impossibleError"),+ ('0', 14, InTerms, Just "GHC.Internal.Control.Exception.Base", "impossibleConstraintError"),+ ('0', 15, InTerms, Just "GHC.Internal.Control.Exception.Base", "patError"),+ ('0', 16, InTerms, Just "GHC.Internal.Prim", "realWorld#"),+ ('0', 17, InTerms, Just "GHC.Internal.Control.Exception.Base", "recConError"),+ ('0', 18, InTerms, Just "GHC.Internal.CString", "unpackCStringUtf8#"),+ ('0', 19, InTerms, Just "GHC.Internal.CString", "unpackAppendCStringUtf8#"),+ ('0', 20, InTerms, Just "GHC.Internal.CString", "unpackFoldrCStringUtf8#"),+ ('0', 21, InTerms, Just "GHC.Internal.CString", "unpackCString#"),+ ('0', 22, InTerms, Just "GHC.Internal.CString", "unpackAppendCString#"),+ ('0', 23, InTerms, Just "GHC.Internal.CString", "unpackFoldrCString#"),+ ('0', 24, InTerms, Just "GHC.Internal.Prim", "void#"),+ ('0', 25, InTerms, Just "GHC.Internal.Control.Exception.Base", "typeError"),+ ('0', 26, InTerms, Just "GHC.Internal.Classes", "divInt#"),+ ('0', 27, InTerms, Just "GHC.Internal.Classes", "modInt#"),+ ('0', 28, InTerms, Just "GHC.Internal.CString", "cstringLength#"),+ ('0', 31, InTerms, Just "GHC.Internal.List", "concat"),+ ('0', 32, InTerms, Just "GHC.Internal.List", "filter"),+ ('0', 33, InTerms, Just "GHC.Internal.List", "zip"),+ ('0', 34, InTerms, Just "GHC.Internal.Base", "bindIO"),+ ('0', 35, InTerms, Just "GHC.Internal.Base", "returnIO"),+ ('0', 36, InTerms, Just "GHC.Internal.Stable", "newStablePtr"),+ ('0', 37, InTerms, Just "GHC.Internal.System.IO", "print"),+ ('0', 38, InTerms, Just "GHC.Internal.IO", "failIO"),+ ('0', 39, InTerms, Just "GHC.Internal.Prim", "nullAddr#"),+ ('0', 43, InTerms, Just "GHC.Internal.Base", "otherwise"),+ ('0', 44, InTerms, Just "GHC.Internal.Base", "assert"),+ ('0', 45, InTerms, Just "GHC.Internal.Prim", "leftSection"),+ ('0', 46, InTerms, Just "GHC.Internal.Prim", "rightSection"),+ ('0', 102, InTerms, Just "GHC.Internal.TopHandler", "runMainIO"),+ ('0', 103, InTerms, Just "GHC.Internal.Base", "thenIO"),+ ('0', 104, InTerms, Just "GHC.Internal.Magic", "lazy"),+ ('0', 105, InTerms, Just "GHC.Internal.IO.Exception", "assertError"),+ ('0', 106, InTerms, Just "GHC.Internal.Magic", "oneShot"),+ ('0', 107, InTerms, Just "GHC.Internal.Magic", "runRW#"),+ ('0', 108, InTerms, Just "GHC.Internal.Debug.Trace", "trace"),+ ('0', 109, InTerms, Just "GHC.Internal.Magic", "nospec"),+ ('0', 120, InTerms, Just "GHC.Internal.Magic", "inline"),+ ('0', 121, InTerms, Just "GHC.Internal.Base", "map"),+ ('0', 123, InTerms, Just "GHC.Internal.Base", "$"),+ ('0', 125, InTerms, Just "GHC.Internal.Exts", "considerAccessible"),+ ('0', 126, InTerms, Just "GHC.Internal.Magic", "noinline"),+ ('0', 127, InTerms, Just "GHC.Internal.Magic", "noinlineConstraint"),+ ('0', 128, InTerms, Just "GHC.Internal.Float", "integerToFloat#"),+ ('0', 129, InTerms, Just "GHC.Internal.Float", "integerToDouble#"),+ ('0', 130, InTerms, Just "GHC.Internal.Float", "naturalToFloat#"),+ ('0', 131, InTerms, Just "GHC.Internal.Float", "naturalToDouble#"),+ ('0', 132, InTerms, Just "GHC.Internal.Float", "rationalToFloat"),+ ('0', 133, InTerms, Just "GHC.Internal.Float", "rationalToDouble"),+ ('0', 134, InTerms, Just "GHC.Internal.IO", "seq#"),+ ('0', 157, InTerms, Just "GHC.Internal.Prim", "coerce"),+ ('0', 160, InTerms, Just "GHC.Internal.Num", "fromInteger"),+ ('0', 161, InTerms, Just "GHC.Internal.Num", "-"),+ ('0', 162, InTerms, Just "GHC.Internal.Real", "fromRational"),+ ('0', 163, InTerms, Just "GHC.Internal.Enum", "enumFrom"),+ ('0', 164, InTerms, Just "GHC.Internal.Enum", "enumFromThen"),+ ('0', 165, InTerms, Just "GHC.Internal.Enum", "enumFromTo"),+ ('0', 166, InTerms, Just "GHC.Internal.Enum", "enumFromThenTo"),+ ('0', 167, InTerms, Just "GHC.Internal.Classes", "=="),+ ('0', 168, InTerms, Just "GHC.Internal.Classes", ">="),+ ('0', 169, InTerms, Just "GHC.Internal.Num", "negate"),+ ('0', 171, InTerms, Just "GHC.Internal.Base", ">>="),+ ('0', 172, InTerms, Just "GHC.Internal.Base", ">>"),+ ('0', 173, InTerms, Just "GHC.Internal.Base", "fmap"),+ ('0', 174, InTerms, Just "GHC.Internal.Base", "return"),+ ('0', 175, InTerms, Just "GHC.Internal.Control.Monad.Fix", "mfix"),+ ('0', 176, InTerms, Just "GHC.Internal.Control.Monad.Fail", "fail"),+ ('0', 177, InTerms, Just "GHC.Internal.OverloadedLabels", "fromLabel"),+ ('0', 180, InTerms, Just "GHC.Internal.Control.Arrow", "arr"),+ ('0', 181, InTerms, Just "GHC.Internal.Desugar", ">>>"),+ ('0', 182, InTerms, Just "GHC.Internal.Control.Arrow", "first"),+ ('0', 183, InTerms, Just "GHC.Internal.Control.Arrow", "app"),+ ('0', 184, InTerms, Just "GHC.Internal.Control.Arrow", "|||"),+ ('0', 185, InTerms, Just "GHC.Internal.Control.Arrow", "loop"),+ ('0', 186, InTerms, Just "GHC.Internal.Data.String", "fromString"),+ ('0', 187, InTerms, Just "GHC.Internal.Desugar", "toAnnotationWrapper"),+ ('0', 190, InTerms, Just "GHC.Internal.Real", "fromIntegral"),+ ('0', 191, InTerms, Just "GHC.Internal.Real", "realToFrac"),+ ('0', 192, InTerms, Just "GHC.Internal.Real", "toInteger"),+ ('0', 193, InTerms, Just "GHC.Internal.Real", "toRational"),+ ('0', 194, InTerms, Just "GHC.Internal.Control.Monad", "guard"),+ ('0', 195, InTerms, Just "GHC.Internal.Control.Monad", "liftM"),+ ('0', 196, InTerms, Just "GHC.Internal.Control.Monad.Zip", "mzip"),+ ('0', 197, InTerms, Just "GHC.Internal.GHCi", "ghciStepIO"),+ ('0', 198, InTypes, Just "GHC.Internal.IsList", "IsList"),+ ('0', 199, InTerms, Just "GHC.Internal.IsList", "fromList"),+ ('0', 200, InTerms, Just "GHC.Internal.TH.Syntax", "returnQ"),+ ('0', 201, InTerms, Just "GHC.Internal.TH.Syntax", "bindQ"),+ ('0', 202, InTerms, Just "GHC.Internal.TH.Syntax", "sequenceQ"),+ ('0', 203, InTerms, Just "GHC.Internal.TH.Lift", "lift"),+ ('0', 204, InTerms, Just "GHC.Internal.TH.Syntax", "newName"),+ ('0', 205, InTerms, Just "GHC.Internal.TH.Syntax", "mkName"),+ ('0', 206, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_v"),+ ('0', 207, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_d"),+ ('0', 208, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_tc"),+ ('0', 209, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameL"),+ ('0', 210, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameS"),+ ('0', 211, InTerms, Just "GHC.Internal.TH.Syntax", "unType"),+ ('0', 212, InTerms, Just "GHC.Internal.TH.Syntax", "unTypeCode"),+ ('0', 214, InTerms, Just "GHC.Internal.TH.Lift", "liftTyped"),+ ('0', 215, InTerms, Just "GHC.Internal.TH.Syntax", "mkModName"),+ ('0', 216, InTerms, Just "GHC.Internal.TH.Syntax", "unsafeCodeCoerce"),+ ('0', 217, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameQ"),+ ('0', 218, InTerms, Just "GHC.Internal.TH.Syntax", "mkNameG_fld"),+ ('0', 220, InTerms, Just "GHC.Internal.TH.Lib", "charL"),+ ('0', 221, InTerms, Just "GHC.Internal.TH.Lib", "stringL"),+ ('0', 222, InTerms, Just "GHC.Internal.TH.Lib", "integerL"),+ ('0', 223, InTerms, Just "GHC.Internal.TH.Lib", "intPrimL"),+ ('0', 224, InTerms, Just "GHC.Internal.TH.Lib", "wordPrimL"),+ ('0', 225, InTerms, Just "GHC.Internal.TH.Lib", "floatPrimL"),+ ('0', 226, InTerms, Just "GHC.Internal.TH.Lib", "doublePrimL"),+ ('0', 227, InTerms, Just "GHC.Internal.TH.Lib", "rationalL"),+ ('0', 228, InTerms, Just "GHC.Internal.TH.Lib", "stringPrimL"),+ ('0', 229, InTerms, Just "GHC.Internal.TH.Lib", "charPrimL"),+ ('0', 230, InTerms, Just "GHC.Internal.TH.Lift", "liftString"),+ ('0', 240, InTerms, Just "GHC.Internal.TH.Lib", "litP"),+ ('0', 241, InTerms, Just "GHC.Internal.TH.Lib", "varP"),+ ('0', 242, InTerms, Just "GHC.Internal.TH.Lib", "tupP"),+ ('0', 243, InTerms, Just "GHC.Internal.TH.Lib", "unboxedTupP"),+ ('0', 244, InTerms, Just "GHC.Internal.TH.Lib", "unboxedSumP"),+ ('0', 245, InTerms, Just "GHC.Internal.TH.Lib", "conP"),+ ('0', 246, InTerms, Just "GHC.Internal.TH.Lib", "infixP"),+ ('0', 247, InTerms, Just "GHC.Internal.TH.Lib", "tildeP"),+ ('0', 248, InTerms, Just "GHC.Internal.TH.Lib", "bangP"),+ ('0', 249, InTerms, Just "GHC.Internal.TH.Lib", "asP"),+ ('0', 250, InTerms, Just "GHC.Internal.TH.Lib", "wildP"),+ ('0', 251, InTerms, Just "GHC.Internal.TH.Lib", "recP"),+ ('0', 252, InTerms, Just "GHC.Internal.TH.Lib", "listP"),+ ('0', 253, InTerms, Just "GHC.Internal.TH.Lib", "sigP"),+ ('0', 254, InTerms, Just "GHC.Internal.TH.Lib", "viewP"),+ ('0', 255, InTerms, Just "GHC.Internal.TH.Lib", "typeP"),+ ('0', 256, InTerms, Just "GHC.Internal.TH.Lib", "invisP"),+ ('0', 257, InTerms, Just "GHC.Internal.TH.Lib", "orP"),+ ('0', 260, InTerms, Just "GHC.Internal.TH.Lib", "fieldPat"),+ ('0', 261, InTerms, Just "GHC.Internal.TH.Lib", "match"),+ ('0', 262, InTerms, Just "GHC.Internal.TH.Lib", "clause"),+ ('0', 270, InTerms, Just "GHC.Internal.TH.Lib", "varE"),+ ('0', 271, InTerms, Just "GHC.Internal.TH.Lib", "conE"),+ ('0', 272, InTerms, Just "GHC.Internal.TH.Lib", "litE"),+ ('0', 273, InTerms, Just "GHC.Internal.TH.Lib", "appE"),+ ('0', 274, InTerms, Just "GHC.Internal.TH.Lib", "appTypeE"),+ ('0', 275, InTerms, Just "GHC.Internal.TH.Lib", "infixE"),+ ('0', 276, InTerms, Just "GHC.Internal.TH.Lib", "infixApp"),+ ('0', 277, InTerms, Just "GHC.Internal.TH.Lib", "sectionL"),+ ('0', 278, InTerms, Just "GHC.Internal.TH.Lib", "sectionR"),+ ('0', 279, InTerms, Just "GHC.Internal.TH.Lib", "lamE"),+ ('0', 280, InTerms, Just "GHC.Internal.TH.Lib", "lamCaseE"),+ ('0', 281, InTerms, Just "GHC.Internal.TH.Lib", "lamCasesE"),+ ('0', 282, InTerms, Just "GHC.Internal.TH.Lib", "tupE"),+ ('0', 283, InTerms, Just "GHC.Internal.TH.Lib", "unboxedTupE"),+ ('0', 284, InTerms, Just "GHC.Internal.TH.Lib", "unboxedSumE"),+ ('0', 285, InTerms, Just "GHC.Internal.TH.Lib", "condE"),+ ('0', 286, InTerms, Just "GHC.Internal.TH.Lib", "multiIfE"),+ ('0', 287, InTerms, Just "GHC.Internal.TH.Lib", "letE"),+ ('0', 288, InTerms, Just "GHC.Internal.TH.Lib", "caseE"),+ ('0', 289, InTerms, Just "GHC.Internal.TH.Lib", "doE"),+ ('0', 290, InTerms, Just "GHC.Internal.TH.Lib", "compE"),+ ('0', 291, InTerms, Just "GHC.Internal.TH.Lib", "fromE"),+ ('0', 292, InTerms, Just "GHC.Internal.TH.Lib", "fromThenE"),+ ('0', 293, InTerms, Just "GHC.Internal.TH.Lib", "fromToE"),+ ('0', 294, InTerms, Just "GHC.Internal.TH.Lib", "fromThenToE"),+ ('0', 295, InTerms, Just "GHC.Internal.TH.Lib", "listE"),+ ('0', 296, InTerms, Just "GHC.Internal.TH.Lib", "sigE"),+ ('0', 297, InTerms, Just "GHC.Internal.TH.Lib", "recConE"),+ ('0', 298, InTerms, Just "GHC.Internal.TH.Lib", "recUpdE"),+ ('0', 299, InTerms, Just "GHC.Internal.TH.Lib", "staticE"),+ ('0', 300, InTerms, Just "GHC.Internal.TH.Lib", "unboundVarE"),+ ('0', 301, InTerms, Just "GHC.Internal.TH.Lib", "labelE"),+ ('0', 302, InTerms, Just "GHC.Internal.TH.Lib", "implicitParamVarE"),+ ('0', 303, InTerms, Just "GHC.Internal.TH.Lib", "mdoE"),+ ('0', 304, InTerms, Just "GHC.Internal.TH.Lib", "getFieldE"),+ ('0', 305, InTerms, Just "GHC.Internal.TH.Lib", "projectionE"),+ ('0', 306, InTerms, Just "GHC.Internal.TH.Lib", "typeE"),+ ('0', 307, InTerms, Just "GHC.Internal.TH.Lib", "fieldExp"),+ ('0', 308, InTerms, Just "GHC.Internal.TH.Lib", "guardedB"),+ ('0', 309, InTerms, Just "GHC.Internal.TH.Lib", "normalB"),+ ('0', 310, InTerms, Just "GHC.Internal.TH.Lib", "normalGE"),+ ('0', 311, InTerms, Just "GHC.Internal.TH.Lib", "patGE"),+ ('0', 312, InTerms, Just "GHC.Internal.TH.Lib", "bindS"),+ ('0', 313, InTerms, Just "GHC.Internal.TH.Lib", "letS"),+ ('0', 314, InTerms, Just "GHC.Internal.TH.Lib", "noBindS"),+ ('0', 315, InTerms, Just "GHC.Internal.TH.Lib", "parS"),+ ('0', 316, InTerms, Just "GHC.Internal.TH.Lib", "recS"),+ ('0', 320, InTerms, Just "GHC.Internal.TH.Lib", "funD"),+ ('0', 321, InTerms, Just "GHC.Internal.TH.Lib", "valD"),+ ('0', 322, InTerms, Just "GHC.Internal.TH.Lib", "dataD"),+ ('0', 323, InTerms, Just "GHC.Internal.TH.Lib", "newtypeD"),+ ('0', 324, InTerms, Just "GHC.Internal.TH.Lib", "tySynD"),+ ('0', 325, InTerms, Just "GHC.Internal.TH.Lib", "classD"),+ ('0', 326, InTerms, Just "GHC.Internal.TH.Lib", "instanceWithOverlapD"),+ ('0', 328, InTerms, Just "GHC.Internal.TH.Lib", "sigD"),+ ('0', 329, InTerms, Just "GHC.Internal.TH.Lib", "forImpD"),+ ('0', 330, InTerms, Just "GHC.Internal.TH.Lib", "pragInlD"),+ ('0', 331, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecD"),+ ('0', 332, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecInlD"),+ ('0', 333, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecInstD"),+ ('0', 334, InTerms, Just "GHC.Internal.TH.Lib", "pragRuleD"),+ ('0', 335, InTerms, Just "GHC.Internal.TH.Lib", "pragAnnD"),+ ('0', 336, InTerms, Just "GHC.Internal.TH.Lib", "dataFamilyD"),+ ('0', 337, InTerms, Just "GHC.Internal.TH.Lib", "openTypeFamilyD"),+ ('0', 338, InTerms, Just "GHC.Internal.TH.Lib", "dataInstD"),+ ('0', 339, InTerms, Just "GHC.Internal.TH.Lib", "newtypeInstD"),+ ('0', 340, InTerms, Just "GHC.Internal.TH.Lib", "tySynInstD"),+ ('0', 341, InTerms, Just "GHC.Internal.TH.Lib", "closedTypeFamilyD"),+ ('0', 342, InTerms, Just "GHC.Internal.TH.Lib", "infixLWithSpecD"),+ ('0', 343, InTerms, Just "GHC.Internal.TH.Lib", "infixRWithSpecD"),+ ('0', 344, InTerms, Just "GHC.Internal.TH.Lib", "infixNWithSpecD"),+ ('0', 345, InTerms, Just "GHC.Internal.TH.Lib", "roleAnnotD"),+ ('0', 346, InTerms, Just "GHC.Internal.TH.Lib", "standaloneDerivWithStrategyD"),+ ('0', 347, InTerms, Just "GHC.Internal.TH.Lib", "defaultSigD"),+ ('0', 348, InTerms, Just "GHC.Internal.TH.Lib", "patSynD"),+ ('0', 349, InTerms, Just "GHC.Internal.TH.Lib", "patSynSigD"),+ ('0', 350, InTerms, Just "GHC.Internal.TH.Lib", "pragCompleteD"),+ ('0', 351, InTerms, Just "GHC.Internal.TH.Lib", "implicitParamBindD"),+ ('0', 352, InTerms, Just "GHC.Internal.TH.Lib", "kiSigD"),+ ('0', 353, InTerms, Just "GHC.Internal.TH.Lib", "defaultD"),+ ('0', 354, InTerms, Just "GHC.Internal.TH.Lib", "pragOpaqueD"),+ ('0', 355, InTerms, Just "GHC.Internal.TH.Lib", "typeDataD"),+ ('0', 356, InTerms, Just "GHC.Internal.TH.Lib", "pragSCCFunD"),+ ('0', 357, InTerms, Just "GHC.Internal.TH.Lib", "pragSCCFunNamedD"),+ ('0', 358, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecED"),+ ('0', 359, InTerms, Just "GHC.Internal.TH.Lib", "pragSpecInlED"),+ ('0', 361, InTerms, Just "GHC.Internal.TH.Lib", "cxt"),+ ('0', 362, InTerms, Just "GHC.Internal.TH.Lib", "noSourceUnpackedness"),+ ('0', 363, InTerms, Just "GHC.Internal.TH.Lib", "sourceNoUnpack"),+ ('0', 364, InTerms, Just "GHC.Internal.TH.Lib", "sourceUnpack"),+ ('0', 365, InTerms, Just "GHC.Internal.TH.Lib", "noSourceStrictness"),+ ('0', 366, InTerms, Just "GHC.Internal.TH.Lib", "sourceLazy"),+ ('0', 367, InTerms, Just "GHC.Internal.TH.Lib", "sourceStrict"),+ ('0', 368, InTerms, Just "GHC.Internal.TH.Lib", "normalC"),+ ('0', 369, InTerms, Just "GHC.Internal.TH.Lib", "recC"),+ ('0', 370, InTerms, Just "GHC.Internal.TH.Lib", "infixC"),+ ('0', 371, InTerms, Just "GHC.Internal.TH.Lib", "forallC"),+ ('0', 372, InTerms, Just "GHC.Internal.TH.Lib", "gadtC"),+ ('0', 373, InTerms, Just "GHC.Internal.TH.Lib", "recGadtC"),+ ('0', 374, InTerms, Just "GHC.Internal.TH.Lib", "bang"),+ ('0', 375, InTerms, Just "GHC.Internal.TH.Lib", "bangType"),+ ('0', 376, InTerms, Just "GHC.Internal.TH.Lib", "varBangType"),+ ('0', 377, InTerms, Just "GHC.Internal.TH.Lib", "unidir"),+ ('0', 378, InTerms, Just "GHC.Internal.TH.Lib", "implBidir"),+ ('0', 379, InTerms, Just "GHC.Internal.TH.Lib", "explBidir"),+ ('0', 380, InTerms, Just "GHC.Internal.TH.Lib", "prefixPatSyn"),+ ('0', 381, InTerms, Just "GHC.Internal.TH.Lib", "infixPatSyn"),+ ('0', 382, InTerms, Just "GHC.Internal.TH.Lib", "recordPatSyn"),+ ('0', 390, InTerms, Just "GHC.Internal.TH.Lib", "forallT"),+ ('0', 391, InTerms, Just "GHC.Internal.TH.Lib", "forallVisT"),+ ('0', 392, InTerms, Just "GHC.Internal.TH.Lib", "varT"),+ ('0', 393, InTerms, Just "GHC.Internal.TH.Lib", "conT"),+ ('0', 394, InTerms, Just "GHC.Internal.TH.Lib", "tupleT"),+ ('0', 395, InTerms, Just "GHC.Internal.TH.Lib", "unboxedTupleT"),+ ('0', 396, InTerms, Just "GHC.Internal.TH.Lib", "unboxedSumT"),+ ('0', 397, InTerms, Just "GHC.Internal.TH.Lib", "arrowT"),+ ('0', 398, InTerms, Just "GHC.Internal.TH.Lib", "listT"),+ ('0', 399, InTerms, Just "GHC.Internal.TH.Lib", "appT"),+ ('0', 400, InTerms, Just "GHC.Internal.TH.Lib", "appKindT"),+ ('0', 401, InTerms, Just "GHC.Internal.TH.Lib", "sigT"),+ ('0', 402, InTerms, Just "GHC.Internal.TH.Lib", "equalityT"),+ ('0', 403, InTerms, Just "GHC.Internal.TH.Lib", "litT"),+ ('0', 404, InTerms, Just "GHC.Internal.TH.Lib", "promotedT"),+ ('0', 405, InTerms, Just "GHC.Internal.TH.Lib", "promotedTupleT"),+ ('0', 406, InTerms, Just "GHC.Internal.TH.Lib", "promotedNilT"),+ ('0', 407, InTerms, Just "GHC.Internal.TH.Lib", "promotedConsT"),+ ('0', 408, InTerms, Just "GHC.Internal.TH.Lib", "wildCardT"),+ ('0', 409, InTerms, Just "GHC.Internal.TH.Lib", "implicitParamT"),+ ('0', 410, InTerms, Just "GHC.Internal.TH.Lib", "infixT"),+ ('0', 411, InTerms, Just "GHC.Internal.TH.Lib", "numTyLit"),+ ('0', 412, InTerms, Just "GHC.Internal.TH.Lib", "strTyLit"),+ ('0', 413, InTerms, Just "GHC.Internal.TH.Lib", "charTyLit"),+ ('0', 414, InTerms, Just "GHC.Internal.TH.Lib", "plainTV"),+ ('0', 415, InTerms, Just "GHC.Internal.TH.Lib", "kindedTV"),+ ('0', 416, InTerms, Just "GHC.Internal.TH.Lib", "nominalR"),+ ('0', 417, InTerms, Just "GHC.Internal.TH.Lib", "representationalR"),+ ('0', 418, InTerms, Just "GHC.Internal.TH.Lib", "phantomR"),+ ('0', 419, InTerms, Just "GHC.Internal.TH.Lib", "inferR"),+ ('0', 425, InTerms, Just "GHC.Internal.TH.Lib", "starK"),+ ('0', 426, InTerms, Just "GHC.Internal.TH.Lib", "constraintK"),+ ('0', 427, InTerms, Just "GHC.Internal.TH.Lib", "noSig"),+ ('0', 428, InTerms, Just "GHC.Internal.TH.Lib", "kindSig"),+ ('0', 429, InTerms, Just "GHC.Internal.TH.Lib", "tyVarSig"),+ ('0', 430, InTerms, Just "GHC.Internal.TH.Lib", "injectivityAnn"),+ ('0', 431, InTerms, Just "GHC.Internal.TH.Lib", "cCall"),+ ('0', 432, InTerms, Just "GHC.Internal.TH.Lib", "stdCall"),+ ('0', 433, InTerms, Just "GHC.Internal.TH.Lib", "cApi"),+ ('0', 434, InTerms, Just "GHC.Internal.TH.Lib", "prim"),+ ('0', 435, InTerms, Just "GHC.Internal.TH.Lib", "javaScript"),+ ('0', 440, InTerms, Just "GHC.Internal.TH.Lib", "unsafe"),+ ('0', 441, InTerms, Just "GHC.Internal.TH.Lib", "safe"),+ ('0', 442, InTerms, Just "GHC.Internal.TH.Lib", "interruptible"),+ ('0', 445, InTerms, Just "GHC.Internal.TH.Lib", "funDep"),+ ('0', 446, InTerms, Just "GHC.Internal.TH.Lib", "mulArrowT"),+ ('0', 460, InTerms, Just "GHC.Internal.TH.Lib", "tySynEqn"),+ ('0', 470, InTerms, Just "GHC.Internal.TH.Quote", "quoteExp"),+ ('0', 471, InTerms, Just "GHC.Internal.TH.Quote", "quotePat"),+ ('0', 472, InTerms, Just "GHC.Internal.TH.Quote", "quoteDec"),+ ('0', 473, InTerms, Just "GHC.Internal.TH.Quote", "quoteType"),+ ('0', 480, InTerms, Just "GHC.Internal.TH.Lib", "ruleVar"),+ ('0', 481, InTerms, Just "GHC.Internal.TH.Lib", "typedRuleVar"),+ ('0', 482, InTerms, Just "GHC.Internal.TH.Lib", "plainInvisTV"),+ ('0', 483, InTerms, Just "GHC.Internal.TH.Lib", "kindedInvisTV"),+ ('0', 484, InTerms, Just "GHC.Internal.TH.Lib", "plainBndrTV"),+ ('0', 485, InTerms, Just "GHC.Internal.TH.Lib", "kindedBndrTV"),+ ('0', 490, InTerms, Just "GHC.Internal.TH.Lib", "valueAnnotation"),+ ('0', 491, InTerms, Just "GHC.Internal.TH.Lib", "typeAnnotation"),+ ('0', 492, InTerms, Just "GHC.Internal.TH.Lib", "moduleAnnotation"),+ ('0', 493, InTerms, Just "GHC.Internal.TH.Lib", "derivClause"),+ ('0', 498, InTerms, Just "GHC.Internal.TH.Lib", "specifiedSpec"),+ ('0', 499, InTerms, Just "GHC.Internal.TH.Lib", "inferredSpec"),+ ('0', 500, InTerms, Just "GHC.Internal.IsList", "fromListN"),+ ('0', 501, InTerms, Just "GHC.Internal.IsList", "toList"),+ ('0', 502, InTerms, Just "GHC.Internal.Prim", "proxy#"),+ ('0', 504, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrType"),+ ('0', 505, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrCon"),+ ('0', 506, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrAppChecked"),+ ('0', 507, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeNatTypeRep"),+ ('0', 508, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeSymbolTypeRep"),+ ('0', 509, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeCharTypeRep"),+ ('0', 510, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "typeRep#"),+ ('0', 511, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "mkTrFun"),+ ('0', 520, InTerms, Just "GHC.Internal.Types", "krep$*"),+ ('0', 521, InTerms, Just "GHC.Internal.Types", "krep$*Arr*"),+ ('0', 522, InTerms, Just "GHC.Internal.Types", "krep$*->*->*"),+ ('0', 523, InTerms, Just "GHC.Internal.Types", "krep$Constraint"),+ ('0', 530, InTerms, Just "GHC.Internal.Data.Dynamic", "toDyn"),+ ('0', 551, InTerms, Just "GHC.Internal.Types", "eq_sel"),+ ('0', 552, InTerms, Just "GHC.Internal.Types", "heq_sel"),+ ('0', 553, InTerms, Just "GHC.Internal.Types", "coercible_sel"),+ ('0', 554, InTerms, Just "GHC.Internal.Base", "<>"),+ ('0', 555, InTerms, Just "GHC.Internal.Base", "mempty"),+ ('0', 556, InTerms, Just "GHC.Internal.Base", "mappend"),+ ('0', 557, InTerms, Just "GHC.Internal.Base", "mconcat"),+ ('0', 558, InTerms, Just "GHC.Internal.Stack.Types", "emptyCallStack"),+ ('0', 559, InTerms, Just "GHC.Internal.Stack.Types", "pushCallStack"),+ ('0', 560, InTerms, Just "GHC.Internal.StaticPtr", "fromStaticPtr"),+ ('0', 561, InTerms, Just "GHC.Internal.StaticPtr.Internal", "makeStatic"),+ ('0', 562, InTerms, Just "GHC.Internal.Exception.Context", "emptyExceptionContext"),+ ('0', 570, InTerms, Just "GHC.Internal.Unsafe.Coerce", "unsafeEqualityProof"),+ ('0', 571, InTerms, Just "GHC.Internal.Unsafe.Coerce", "unsafeCoerce#"),+ ('0', 572, InTerms, Just "GHC.Internal.Records", "getField"),+ ('0', 573, InTerms, Just "GHC.Internal.Records", "setField"),+ ('0', 580, InTerms, Just "GHC.Internal.TypeError", "unsatisfiable"),+ ('0', 600, InTerms, Just "GHC.Internal.Bignum.Integer", "integerFromNatural"),+ ('0', 601, InTerms, Just "GHC.Internal.Bignum.Integer", "integerToNaturalClamp"),+ ('0', 602, InTerms, Just "GHC.Internal.Bignum.Integer", "integerToNaturalThrow"),+ ('0', 603, InTerms, Just "GHC.Internal.Bignum.Integer", "integerToNatural"),+ ('0', 604, InTerms, Just "GHC.Internal.Bignum.Integer", "integerToWord#"),+ ('0', 605, InTerms, Just "GHC.Internal.Bignum.Integer", "integerToInt#"),+ ('0', 606, InTerms, Just "GHC.Internal.Bignum.Integer", "integerToWord64#"),+ ('0', 607, InTerms, Just "GHC.Internal.Bignum.Integer", "integerToInt64#"),+ ('0', 608, InTerms, Just "GHC.Internal.Bignum.Integer", "integerAdd"),+ ('0', 609, InTerms, Just "GHC.Internal.Bignum.Integer", "integerMul"),+ ('0', 610, InTerms, Just "GHC.Internal.Bignum.Integer", "integerSub"),+ ('0', 611, InTerms, Just "GHC.Internal.Bignum.Integer", "integerNegate"),+ ('0', 618, InTerms, Just "GHC.Internal.Bignum.Integer", "integerAbs"),+ ('0', 621, InTerms, Just "GHC.Internal.Bignum.Integer", "integerPopCount#"),+ ('0', 622, InTerms, Just "GHC.Internal.Bignum.Integer", "integerQuot"),+ ('0', 623, InTerms, Just "GHC.Internal.Bignum.Integer", "integerRem"),+ ('0', 624, InTerms, Just "GHC.Internal.Bignum.Integer", "integerDiv"),+ ('0', 625, InTerms, Just "GHC.Internal.Bignum.Integer", "integerMod"),+ ('0', 626, InTerms, Just "GHC.Internal.Bignum.Integer", "integerDivMod#"),+ ('0', 627, InTerms, Just "GHC.Internal.Bignum.Integer", "integerQuotRem#"),+ ('0', 630, InTerms, Just "GHC.Internal.Bignum.Integer", "integerEncodeFloat#"),+ ('0', 631, InTerms, Just "GHC.Internal.Bignum.Integer", "integerEncodeDouble#"),+ ('0', 632, InTerms, Just "GHC.Internal.Bignum.Integer", "integerGcd"),+ ('0', 633, InTerms, Just "GHC.Internal.Bignum.Integer", "integerLcm"),+ ('0', 634, InTerms, Just "GHC.Internal.Bignum.Integer", "integerAnd"),+ ('0', 635, InTerms, Just "GHC.Internal.Bignum.Integer", "integerOr"),+ ('0', 636, InTerms, Just "GHC.Internal.Bignum.Integer", "integerXor"),+ ('0', 637, InTerms, Just "GHC.Internal.Bignum.Integer", "integerComplement"),+ ('0', 638, InTerms, Just "GHC.Internal.Bignum.Integer", "integerBit#"),+ ('0', 639, InTerms, Just "GHC.Internal.Bignum.Integer", "integerTestBit#"),+ ('0', 640, InTerms, Just "GHC.Internal.Bignum.Integer", "integerShiftL#"),+ ('0', 641, InTerms, Just "GHC.Internal.Bignum.Integer", "integerShiftR#"),+ ('0', 642, InTerms, Just "GHC.Internal.Bignum.Integer", "integerFromWord#"),+ ('0', 643, InTerms, Just "GHC.Internal.Bignum.Integer", "integerFromWord64#"),+ ('0', 644, InTerms, Just "GHC.Internal.Bignum.Integer", "integerFromInt64#"),+ ('0', 650, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalToWord#"),+ ('0', 659, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalPopCount#"),+ ('0', 660, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalShiftR#"),+ ('0', 661, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalShiftL#"),+ ('0', 662, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalAdd"),+ ('0', 663, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalSub"),+ ('0', 664, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalSubThrow"),+ ('0', 665, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalSubUnsafe"),+ ('0', 666, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalMul"),+ ('0', 669, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalQuotRem#"),+ ('0', 670, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalQuot"),+ ('0', 671, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalRem"),+ ('0', 672, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalAnd"),+ ('0', 673, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalAndNot"),+ ('0', 674, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalOr"),+ ('0', 675, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalXor"),+ ('0', 676, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalTestBit#"),+ ('0', 677, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalBit#"),+ ('0', 678, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalGcd"),+ ('0', 679, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalLcm"),+ ('0', 680, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalLog2#"),+ ('0', 681, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalLogBaseWord#"),+ ('0', 682, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalLogBase#"),+ ('0', 683, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalPowMod"),+ ('0', 684, InTerms, Just "GHC.Internal.Bignum.Natural", "naturalSizeInBase#"),+ ('0', 691, InTerms, Just "GHC.Internal.Bignum.BigNat", "bigNatEq#"),+ ('0', 700, InTerms, Just "GHC.Internal.Real", "mkRationalBase2"),+ ('0', 701, InTerms, Just "GHC.Internal.Real", "mkRationalBase10"),+ ('0', 750, InTerms, Just "GHC.Internal.Base", "join"),+ ('0', 751, InTerms, Just "GHC.Internal.Base", "<*>"),+ ('0', 752, InTerms, Just "GHC.Internal.Base", "pure"),+ ('0', 753, InTerms, Just "GHC.Internal.Base", "*>"),+ ('0', 754, InTypes, Just "GHC.Internal.Control.Monad", "Alternative"),+ ('0', 800, InTerms, Just "GHC.Internal.TH.Lib", "bndrReq"),+ ('0', 801, InTerms, Just "GHC.Internal.TH.Lib", "bndrInvis"),+ ('0', 802, InTerms, Just "GHC.Internal.TH.Lib", "forallE"),+ ('0', 803, InTerms, Just "GHC.Internal.TH.Lib", "forallVisE"),+ ('0', 804, InTerms, Just "GHC.Internal.TH.Lib", "constrainedE"),+ ('0', 805, InTerms, Just "GHC.Internal.JS.Prim", "unsafeUnpackJSStringUtf8##"),+ ('2', 1, InTypes, Just "GHC.Internal.Enum", "Bounded"),+ ('2', 2, InTypes, Just "GHC.Internal.Enum", "Enum"),+ ('2', 3, InTypes, Just "GHC.Internal.Classes", "Eq"),+ ('2', 5, InTypes, Just "GHC.Internal.Float", "Floating"),+ ('2', 6, InTypes, Just "GHC.Internal.Real", "Fractional"),+ ('2', 7, InTypes, Just "GHC.Internal.Real", "Integral"),+ ('2', 8, InTypes, Just "GHC.Internal.Base", "Monad"),+ ('2', 9, InTypes, Just "GHC.Internal.Data.Data", "Data"),+ ('2', 10, InTypes, Just "GHC.Internal.Base", "Functor"),+ ('2', 11, InTypes, Just "GHC.Internal.Num", "Num"),+ ('2', 12, InTypes, Just "GHC.Internal.Classes", "Ord"),+ ('2', 13, InTypes, Just "GHC.Internal.Read", "Read"),+ ('2', 14, InTypes, Just "GHC.Internal.Real", "Real"),+ ('2', 15, InTypes, Just "GHC.Internal.Float", "RealFloat"),+ ('2', 16, InTypes, Just "GHC.Internal.Real", "RealFrac"),+ ('2', 17, InTypes, Just "GHC.Internal.Show", "Show"),+ ('2', 18, InTypes, Just "GHC.Internal.Ix", "Ix"),+ ('2', 20, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "Typeable"),+ ('2', 21, InTypes, Just "GHC.Internal.Magic.Dict", "WithDict"),+ ('2', 23, InTypes, Just "GHC.Internal.Magic", "DataToTag"),+ ('2', 28, InTypes, Just "GHC.Internal.Control.Monad.Fix", "MonadFix"),+ ('2', 29, InTypes, Just "GHC.Internal.Control.Monad.Fail", "MonadFail"),+ ('2', 30, InTypes, Just "GHC.Internal.Control.Monad", "MonadPlus"),+ ('2', 33, InTypes, Just "GHC.Internal.Data.String", "IsString"),+ ('2', 34, InTypes, Just "GHC.Internal.Base", "Applicative"),+ ('2', 35, InTypes, Just "GHC.Internal.Data.Foldable", "Foldable"),+ ('2', 36, InTypes, Just "GHC.Internal.Data.Traversable", "Traversable"),+ ('2', 37, InTypes, Just "GHC.Internal.Generics", "Generic"),+ ('2', 38, InTypes, Just "GHC.Internal.Generics", "Generic1"),+ ('2', 39, InTypes, Just "GHC.Internal.Generics", "Datatype"),+ ('2', 40, InTypes, Just "GHC.Internal.Generics", "Constructor"),+ ('2', 41, InTypes, Just "GHC.Internal.Generics", "Selector"),+ ('2', 42, InTypes, Just "GHC.Internal.TypeNats", "KnownNat"),+ ('2', 43, InTypes, Just "GHC.Internal.TypeLits", "KnownSymbol"),+ ('2', 44, InTypes, Just "GHC.Internal.TypeLits", "KnownChar"),+ ('2', 45, InTypes, Just "GHC.Internal.GHCi", "GHCiSandboxIO"),+ ('2', 47, InTypes, Just "GHC.Internal.Base", "Semigroup"),+ ('2', 48, InTypes, Just "GHC.Internal.Base", "Monoid"),+ ('2', 49, InTypes, Just "GHC.Internal.Classes", "IP"),+ ('2', 50, InTypes, Just "GHC.Internal.Records", "HasField"),+ ('2', 200, InTypes, Just "GHC.Internal.TH.Lift", "Lift"),+ ('2', 201, InTypes, Just "GHC.Internal.TH.Syntax", "Quote"),+ ('3', 2, InTypes, Just "GHC.Internal.Prim", "Addr#"),+ ('3', 3, InTerms, Just "GHC.Internal.Types", "$tcAddr#"),+ ('3', 6, InTypes, Just "GHC.Internal.Prim", "Array#"),+ ('3', 7, InTerms, Just "GHC.Internal.Types", "$tcArray#"),+ ('3', 8, InTypes, Just "GHC.Internal.Types", "Bool"),+ ('3', 9, InTerms, Just "GHC.Internal.Types", "$tcBool"),+ ('3', 10, InTypes, Just "GHC.Internal.Prim", "ByteArray#"),+ ('3', 11, InTerms, Just "GHC.Internal.Types", "$tcByteArray#"),+ ('3', 12, InTypes, Just "GHC.Internal.Base", "String"),+ ('3', 14, InTypes, Just "GHC.Internal.Prim", "Char#"),+ ('3', 15, InTerms, Just "GHC.Internal.Types", "$tcChar#"),+ ('3', 16, InTypes, Just "GHC.Internal.Types", "Char"),+ ('3', 17, InTerms, Just "GHC.Internal.Types", "$tcChar"),+ ('3', 18, InTypes, Just "GHC.Internal.Prim", "Double#"),+ ('3', 19, InTerms, Just "GHC.Internal.Types", "$tcDouble#"),+ ('3', 20, InTypes, Just "GHC.Internal.Types", "Double"),+ ('3', 21, InTerms, Just "GHC.Internal.Types", "$tcDouble"),+ ('3', 22, InTypes, Just "GHC.Internal.Prim", "Float#"),+ ('3', 23, InTerms, Just "GHC.Internal.Types", "$tcFloat#"),+ ('3', 24, InTypes, Just "GHC.Internal.Types", "Float"),+ ('3', 25, InTerms, Just "GHC.Internal.Types", "$tcFloat"),+ ('3', 26, InTypes, Just "GHC.Internal.Prim", "FUN"),+ ('3', 27, InTerms, Just "GHC.Internal.Types", "$tcFUN"),+ ('3', 28, InTypes, Just "GHC.Internal.Prim", "Int#"),+ ('3', 29, InTerms, Just "GHC.Internal.Types", "$tcInt#"),+ ('3', 30, InTypes, Just "GHC.Internal.Types", "Int"),+ ('3', 31, InTerms, Just "GHC.Internal.Types", "$tcInt"),+ ('3', 32, InTypes, Just "GHC.Internal.Prim", "Int8#"),+ ('3', 33, InTerms, Just "GHC.Internal.Types", "$tcInt8#"),+ ('3', 34, InTypes, Just "GHC.Internal.Int", "Int8"),+ ('3', 36, InTypes, Just "GHC.Internal.Prim", "Int16#"),+ ('3', 37, InTerms, Just "GHC.Internal.Types", "$tcInt16#"),+ ('3', 38, InTypes, Just "GHC.Internal.Int", "Int16"),+ ('3', 40, InTypes, Just "GHC.Internal.Prim", "Int32#"),+ ('3', 41, InTerms, Just "GHC.Internal.Types", "$tcInt32#"),+ ('3', 42, InTypes, Just "GHC.Internal.Int", "Int32"),+ ('3', 44, InTypes, Just "GHC.Internal.Prim", "Int64#"),+ ('3', 45, InTerms, Just "GHC.Internal.Types", "$tcInt64#"),+ ('3', 46, InTypes, Just "GHC.Internal.Int", "Int64"),+ ('3', 48, InTypes, Just "GHC.Internal.Bignum.Integer", "Integer"),+ ('3', 49, InTerms, Just "GHC.Internal.Bignum.Integer", "$tcInteger"),+ ('3', 50, InTypes, Just "GHC.Internal.Bignum.Natural", "Natural"),+ ('3', 51, InTerms, Just "GHC.Internal.Bignum.Natural", "$tcNatural"),+ ('3', 52, InTypes, Nothing, "[]"),+ ('3', 53, InTerms, Just "GHC.Internal.Types", "$tcList"),+ ('3', 56, InTypes, Just "GHC.Internal.Maybe", "Maybe"),+ ('3', 57, InTerms, Just "GHC.Internal.Maybe", "$tcMaybe"),+ ('3', 58, InTypes, Just "GHC.Internal.Prim", "Weak#"),+ ('3', 59, InTerms, Just "GHC.Internal.Types", "$tcWeak#"),+ ('3', 60, InTypes, Just "GHC.Internal.Prim", "MutableArray#"),+ ('3', 61, InTerms, Just "GHC.Internal.Types", "$tcMutableArray#"),+ ('3', 62, InTypes, Just "GHC.Internal.Prim", "MutableByteArray#"),+ ('3', 63, InTerms, Just "GHC.Internal.Types", "$tcMutableByteArray#"),+ ('3', 64, InTypes, Just "GHC.Internal.Types", "Ordering"),+ ('3', 65, InTerms, Just "GHC.Internal.Types", "$tcOrdering"),+ ('3', 66, InTypes, Just "GHC.Internal.Prim", "MVar#"),+ ('3', 67, InTerms, Just "GHC.Internal.Types", "$tcMVar#"),+ ('3', 70, InTypes, Just "GHC.Internal.Real", "Ratio"),+ ('3', 72, InTypes, Just "GHC.Internal.Real", "Rational"),+ ('3', 74, InTypes, Just "GHC.Internal.Prim", "RealWorld"),+ ('3', 75, InTerms, Just "GHC.Internal.Types", "$tcRealWorld"),+ ('3', 76, InTypes, Just "GHC.Internal.Prim", "StablePtr#"),+ ('3', 77, InTerms, Just "GHC.Internal.Types", "$tcStablePtr#"),+ ('3', 78, InTypes, Just "GHC.Internal.Stable", "StablePtr"),+ ('3', 80, InTypes, Just "GHC.Internal.Types", "~"),+ ('3', 81, InTerms, Just "GHC.Internal.Types", "$tc~"),+ ('3', 82, InTypes, Just "GHC.Internal.Types", "~~"),+ ('3', 83, InTerms, Just "GHC.Internal.Types", "$tc~~"),+ ('3', 84, InTypes, Nothing, "=>"),+ ('3', 85, InTerms, Just "GHC.Internal.Types", "$tc=>"),+ ('3', 86, InTypes, Nothing, "==>"),+ ('3', 87, InTerms, Just "GHC.Internal.Types", "$tc==>"),+ ('3', 88, InTypes, Nothing, "-=>"),+ ('3', 89, InTerms, Just "GHC.Internal.Types", "$tc-=>"),+ ('3', 100, InTypes, Just "GHC.Internal.Prim", "State#"),+ ('3', 101, InTerms, Just "GHC.Internal.Types", "$tcState#"),+ ('3', 102, InTypes, Just "GHC.Internal.Prim", "StableName#"),+ ('3', 103, InTerms, Just "GHC.Internal.Types", "$tcStableName#"),+ ('3', 106, InTypes, Just "GHC.Internal.Prim", "~#"),+ ('3', 107, InTerms, Just "GHC.Internal.Types", "$tc~#"),+ ('3', 108, InTypes, Nothing, "~R#"),+ ('3', 109, InTerms, Just "GHC.Internal.Types", "$tc~R#"),+ ('3', 110, InTypes, Nothing, "~P#"),+ ('3', 111, InTerms, Just "GHC.Internal.Types", "$tc~P#"),+ ('3', 112, InTypes, Just "GHC.Internal.Prim", "MutVar#"),+ ('3', 113, InTerms, Just "GHC.Internal.Types", "$tcMutVar#"),+ ('3', 114, InTypes, Just "GHC.Internal.Types", "IO"),+ ('3', 118, InTypes, Just "GHC.Internal.Prim", "Word#"),+ ('3', 119, InTerms, Just "GHC.Internal.Types", "$tcWord#"),+ ('3', 120, InTypes, Just "GHC.Internal.Types", "Word"),+ ('3', 121, InTerms, Just "GHC.Internal.Types", "$tcWord"),+ ('3', 122, InTypes, Just "GHC.Internal.Prim", "Word8#"),+ ('3', 123, InTerms, Just "GHC.Internal.Types", "$tcWord8#"),+ ('3', 124, InTypes, Just "GHC.Internal.Word", "Word8"),+ ('3', 126, InTypes, Just "GHC.Internal.Prim", "Word16#"),+ ('3', 127, InTerms, Just "GHC.Internal.Types", "$tcWord16#"),+ ('3', 128, InTypes, Just "GHC.Internal.Word", "Word16"),+ ('3', 130, InTypes, Just "GHC.Internal.Prim", "Word32#"),+ ('3', 131, InTerms, Just "GHC.Internal.Types", "$tcWord32#"),+ ('3', 132, InTypes, Just "GHC.Internal.Word", "Word32"),+ ('3', 134, InTypes, Just "GHC.Internal.Prim", "Word64#"),+ ('3', 135, InTerms, Just "GHC.Internal.Types", "$tcWord64#"),+ ('3', 136, InTypes, Just "GHC.Internal.Word", "Word64"),+ ('3', 150, InTypes, Just "GHC.Internal.Prim", "ThreadId#"),+ ('3', 151, InTerms, Just "GHC.Internal.Types", "$tcThreadId#"),+ ('3', 152, InTypes, Just "GHC.Internal.Prim", "BCO"),+ ('3', 153, InTerms, Just "GHC.Internal.Types", "$tcBCO"),+ ('3', 154, InTypes, Just "GHC.Internal.Ptr", "Ptr"),+ ('3', 156, InTypes, Just "GHC.Internal.Ptr", "FunPtr"),+ ('3', 158, InTypes, Just "GHC.Internal.Prim", "TVar#"),+ ('3', 159, InTerms, Just "GHC.Internal.Types", "$tcTVar#"),+ ('3', 160, InTypes, Just "GHC.Internal.Prim", "Compact#"),+ ('3', 161, InTerms, Just "GHC.Internal.Types", "$tcCompact#"),+ ('3', 162, InTypes, Just "GHC.Internal.Prim", "StackSnapshot#"),+ ('3', 163, InTerms, Just "GHC.Internal.Types", "$tcStackSnapshot#"),+ ('3', 164, InTypes, Just "GHC.Internal.Prim", "PromptTag#"),+ ('3', 165, InTerms, Just "GHC.Internal.Types", "$tcPromptTag#"),+ ('3', 168, InTypes, Just "GHC.Internal.Data.Either", "Either"),+ ('3', 170, InTypes, Just "GHC.Internal.Base", "Void"),+ ('3', 172, InTypes, Just "GHC.Internal.Base", "NonEmpty"),+ ('3', 176, InTypes, Just "GHC.Internal.Types", "Type"),+ ('3', 178, InTypes, Just "GHC.Internal.Types", "UnliftedType"),+ ('3', 182, InTypes, Just "GHC.Internal.Prim", "TYPE"),+ ('3', 183, InTerms, Just "GHC.Internal.Types", "$tcTYPE"),+ ('3', 184, InTypes, Just "GHC.Internal.Prim", "CONSTRAINT"),+ ('3', 185, InTerms, Just "GHC.Internal.Types", "$tcCONSTRAINT"),+ ('3', 186, InTypes, Just "GHC.Internal.Types", "Constraint"),+ ('3', 188, InTypes, Just "GHC.Internal.Types", "Levity"),+ ('3', 189, InTerms, Just "GHC.Internal.Types", "$tcLevity"),+ ('3', 190, InTypes, Just "GHC.Internal.Types", "RuntimeRep"),+ ('3', 191, InTerms, Just "GHC.Internal.Types", "$tcRuntimeRep"),+ ('3', 192, InTypes, Just "GHC.Internal.Types", "VecCount"),+ ('3', 193, InTerms, Just "GHC.Internal.Types", "$tcVecCount"),+ ('3', 194, InTypes, Just "GHC.Internal.Types", "VecElem"),+ ('3', 195, InTerms, Just "GHC.Internal.Types", "$tcVecElem"),+ ('3', 196, InTypes, Just "GHC.Internal.Types", "LiftedRep"),+ ('3', 198, InTypes, Just "GHC.Internal.Types", "UnliftedRep"),+ ('3', 200, InTypes, Just "GHC.Internal.Types", "ZeroBitRep"),+ ('3', 202, InTypes, Just "GHC.Internal.Types", "ZeroBitType"),+ ('3', 204, InTypes, Just "GHC.Driver.Plugins", "Plugin"),+ ('3', 206, InTypes, Just "GHC.Driver.Plugins", "FrontendPlugin"),+ ('3', 208, InTypes, Just "GHC.Internal.Types", "TyCon"),+ ('3', 210, InTypes, Just "GHC.Internal.Types", "Module"),+ ('3', 212, InTypes, Just "GHC.Internal.Types", "TrName"),+ ('3', 214, InTypes, Just "GHC.Internal.Types", "KindRep"),+ ('3', 216, InTypes, Just "GHC.Internal.Types", "TypeLitSort"),+ ('3', 270, InTypes, Just "GHC.Internal.Generics", "V1"),+ ('3', 272, InTypes, Just "GHC.Internal.Generics", "U1"),+ ('3', 274, InTypes, Just "GHC.Internal.Generics", "Par1"),+ ('3', 276, InTypes, Just "GHC.Internal.Generics", "Rec1"),+ ('3', 278, InTypes, Just "GHC.Internal.Generics", "K1"),+ ('3', 280, InTypes, Just "GHC.Internal.Generics", "M1"),+ ('3', 282, InTypes, Just "GHC.Internal.Generics", ":+:"),+ ('3', 284, InTypes, Just "GHC.Internal.Generics", ":*:"),+ ('3', 286, InTypes, Just "GHC.Internal.Generics", ":.:"),+ ('3', 288, InTypes, Just "GHC.Internal.Generics", "R"),+ ('3', 292, InTypes, Just "GHC.Internal.Generics", "D"),+ ('3', 294, InTypes, Just "GHC.Internal.Generics", "C"),+ ('3', 296, InTypes, Just "GHC.Internal.Generics", "S"),+ ('3', 298, InTypes, Just "GHC.Internal.Generics", "Rec0"),+ ('3', 302, InTypes, Just "GHC.Internal.Generics", "D1"),+ ('3', 304, InTypes, Just "GHC.Internal.Generics", "C1"),+ ('3', 306, InTypes, Just "GHC.Internal.Generics", "S1"),+ ('3', 310, InTypes, Just "GHC.Internal.Generics", "Rep"),+ ('3', 312, InTypes, Just "GHC.Internal.Generics", "Rep1"),+ ('3', 314, InTypes, Just "GHC.Internal.Generics", "URec"),+ ('3', 316, InTypes, Just "GHC.Internal.Generics", "UAddr"),+ ('3', 318, InTypes, Just "GHC.Internal.Generics", "UChar"),+ ('3', 320, InTypes, Just "GHC.Internal.Generics", "UDouble"),+ ('3', 322, InTypes, Just "GHC.Internal.Generics", "UFloat"),+ ('3', 324, InTypes, Just "GHC.Internal.Generics", "UInt"),+ ('3', 326, InTypes, Just "GHC.Internal.Generics", "UWord"),+ ('3', 340, InTypes, Just "GHC.Internal.TypeError", "Unsatisfiable"),+ ('3', 342, InTypes, Just "GHC.Internal.Types", "Any"),+ ('3', 344, InTypes, Just "GHC.Internal.Types", "ZonkAny"),+ ('3', 362, InTypes, Just "GHC.Internal.TypeError", "TypeError"),+ ('3', 366, InTypes, Just "GHC.Internal.Types", "Coercible"),+ ('3', 367, InTerms, Just "GHC.Internal.Types", "$tcCoercible"),+ ('3', 368, InTypes, Just "GHC.Internal.Prim", "Proxy#"),+ ('3', 369, InTerms, Just "GHC.Internal.Types", "$tcProxy#"),+ ('3', 370, InTypes, Just "GHC.Internal.Types", "SPEC"),+ ('3', 374, InTypes, Just "GHC.Internal.Prim", "SmallArray#"),+ ('3', 375, InTerms, Just "GHC.Internal.Types", "$tcSmallArray#"),+ ('3', 376, InTypes, Just "GHC.Internal.Prim", "SmallMutableArray#"),+ ('3', 377, InTerms, Just "GHC.Internal.Types", "$tcSmallMutableArray#"),+ ('3', 378, InTypes, Just "GHC.Internal.StaticPtr", "StaticPtr"),+ ('3', 382, InTypes, Just "GHC.Internal.Stack.Types", "CallStack"),+ ('3', 384, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "TypeRep"),+ ('3', 386, InTypes, Just "GHC.Internal.Data.Typeable.Internal", "SomeTypeRep"),+ ('3', 388, InTerms, Just "GHC.Internal.Data.Typeable.Internal", "SomeTypeRep"),+ ('3', 390, InTypes, Just "GHC.Internal.TypeLits", "AppendSymbol"),+ ('3', 392, InTypes, Just "GHC.Internal.Unsafe.Coerce", "UnsafeEquality"),+ ('3', 394, InTypes, Just "GHC.Internal.Types", "Multiplicity"),+ ('3', 395, InTerms, Just "GHC.Internal.Types", "$tcMultiplicity"),+ ('3', 396, InTypes, Nothing, "->"),+ ('3', 400, InTypes, Just "GHC.Internal.TH.Syntax", "Exp"),+ ('3', 402, InTypes, Just "GHC.Internal.TH.Syntax", "Match"),+ ('3', 404, InTypes, Just "GHC.Internal.TH.Syntax", "Clause"),+ ('3', 406, InTypes, Just "GHC.Internal.TH.Syntax", "Q"),+ ('3', 408, InTypes, Just "GHC.Internal.TH.Lib", "ExpQ"),+ ('3', 412, InTypes, Just "GHC.Internal.TH.Syntax", "Pat"),+ ('3', 418, InTypes, Just "GHC.Internal.TH.Syntax", "Stmt"),+ ('3', 420, InTypes, Just "GHC.Internal.TH.Syntax", "Con"),+ ('3', 422, InTypes, Just "GHC.Internal.TH.Lib", "TypeQ"),+ ('3', 424, InTypes, Just "GHC.Internal.TH.Syntax", "Type"),+ ('3', 426, InTypes, Just "GHC.Internal.TH.Syntax", "Dec"),+ ('3', 428, InTypes, Just "GHC.Internal.TH.Syntax", "BangType"),+ ('3', 430, InTypes, Just "GHC.Internal.TH.Syntax", "VarBangType"),+ ('3', 432, InTypes, Just "GHC.Internal.TH.Syntax", "FieldExp"),+ ('3', 434, InTypes, Just "GHC.Internal.TH.Syntax", "FieldPat"),+ ('3', 436, InTypes, Just "GHC.Internal.TH.Syntax", "Name"),+ ('3', 438, InTypes, Just "GHC.Internal.TH.Lib", "PatQ"),+ ('3', 444, InTypes, Just "GHC.Internal.TH.Syntax", "FunDep"),+ ('3', 446, InTypes, Just "GHC.Internal.TH.Syntax", "Pred"),+ ('3', 450, InTypes, Just "GHC.Internal.TH.Lib", "TyVarBndrUnit"),+ ('3', 452, InTypes, Just "GHC.Internal.TH.Lib", "DecsQ"),+ ('3', 454, InTypes, Just "GHC.Internal.TH.Syntax", "RuleBndr"),+ ('3', 456, InTypes, Just "GHC.Internal.TH.Syntax", "TySynEqn"),+ ('3', 458, InTypes, Just "GHC.Internal.TH.Lib", "Role"),+ ('3', 462, InTypes, Just "GHC.Internal.TH.Syntax", "InjectivityAnn"),+ ('3', 464, InTypes, Just "GHC.Internal.TH.Syntax", "Kind"),+ ('3', 466, InTypes, Just "GHC.Internal.TH.Syntax", "Overlap"),+ ('3', 468, InTypes, Just "GHC.Internal.TH.Syntax", "DerivClause"),+ ('3', 470, InTypes, Just "GHC.Internal.TH.Syntax", "DerivStrategy"),+ ('3', 472, InTypes, Just "GHC.Internal.TH.Lib", "Decs"),+ ('3', 474, InTypes, Just "GHC.Internal.TH.Lib", "TyVarBndrSpec"),+ ('3', 476, InTypes, Just "GHC.Internal.TH.Syntax", "Code"),+ ('3', 478, InTypes, Just "GHC.Internal.TH.Syntax", "ModName"),+ ('3', 480, InTypes, Just "GHC.Internal.TH.Lib", "TyVarBndrVis"),+ ('3', 482, InTypes, Just "GHC.Internal.TH.Quote", "QuasiQuoter"),+ ('3', 600, InTypes, Just "GHC.Internal.Prim", "Int8X16#"),+ ('3', 601, InTerms, Just "GHC.Internal.Types", "$tcInt8X16#"),+ ('3', 602, InTypes, Just "GHC.Internal.Prim", "Int16X8#"),+ ('3', 603, InTerms, Just "GHC.Internal.Types", "$tcInt16X8#"),+ ('3', 604, InTypes, Just "GHC.Internal.Prim", "Int32X4#"),+ ('3', 605, InTerms, Just "GHC.Internal.Types", "$tcInt32X4#"),+ ('3', 606, InTypes, Just "GHC.Internal.Prim", "Int64X2#"),+ ('3', 607, InTerms, Just "GHC.Internal.Types", "$tcInt64X2#"),+ ('3', 608, InTypes, Just "GHC.Internal.Prim", "Int8X32#"),+ ('3', 609, InTerms, Just "GHC.Internal.Types", "$tcInt8X32#"),+ ('3', 610, InTypes, Just "GHC.Internal.Prim", "Int16X16#"),+ ('3', 611, InTerms, Just "GHC.Internal.Types", "$tcInt16X16#"),+ ('3', 612, InTypes, Just "GHC.Internal.Prim", "Int32X8#"),+ ('3', 613, InTerms, Just "GHC.Internal.Types", "$tcInt32X8#"),+ ('3', 614, InTypes, Just "GHC.Internal.Prim", "Int64X4#"),+ ('3', 615, InTerms, Just "GHC.Internal.Types", "$tcInt64X4#"),+ ('3', 616, InTypes, Just "GHC.Internal.Prim", "Int8X64#"),+ ('3', 617, InTerms, Just "GHC.Internal.Types", "$tcInt8X64#"),+ ('3', 618, InTypes, Just "GHC.Internal.Prim", "Int16X32#"),+ ('3', 619, InTerms, Just "GHC.Internal.Types", "$tcInt16X32#"),+ ('3', 620, InTypes, Just "GHC.Internal.Prim", "Int32X16#"),+ ('3', 621, InTerms, Just "GHC.Internal.Types", "$tcInt32X16#"),+ ('3', 622, InTypes, Just "GHC.Internal.Prim", "Int64X8#"),+ ('3', 623, InTerms, Just "GHC.Internal.Types", "$tcInt64X8#"),+ ('3', 624, InTypes, Just "GHC.Internal.Prim", "Word8X16#"),+ ('3', 625, InTerms, Just "GHC.Internal.Types", "$tcWord8X16#"),+ ('3', 626, InTypes, Just "GHC.Internal.Prim", "Word16X8#"),+ ('3', 627, InTerms, Just "GHC.Internal.Types", "$tcWord16X8#"),+ ('3', 628, InTypes, Just "GHC.Internal.Prim", "Word32X4#"),+ ('3', 629, InTerms, Just "GHC.Internal.Types", "$tcWord32X4#"),+ ('3', 630, InTypes, Just "GHC.Internal.Prim", "Word64X2#"),+ ('3', 631, InTerms, Just "GHC.Internal.Types", "$tcWord64X2#"),+ ('3', 632, InTypes, Just "GHC.Internal.Prim", "Word8X32#"),+ ('3', 633, InTerms, Just "GHC.Internal.Types", "$tcWord8X32#"),+ ('3', 634, InTypes, Just "GHC.Internal.Prim", "Word16X16#"),+ ('3', 635, InTerms, Just "GHC.Internal.Types", "$tcWord16X16#"),+ ('3', 636, InTypes, Just "GHC.Internal.Prim", "Word32X8#"),+ ('3', 637, InTerms, Just "GHC.Internal.Types", "$tcWord32X8#"),+ ('3', 638, InTypes, Just "GHC.Internal.Prim", "Word64X4#"),+ ('3', 639, InTerms, Just "GHC.Internal.Types", "$tcWord64X4#"),+ ('3', 640, InTypes, Just "GHC.Internal.Prim", "Word8X64#"),+ ('3', 641, InTerms, Just "GHC.Internal.Types", "$tcWord8X64#"),+ ('3', 642, InTypes, Just "GHC.Internal.Prim", "Word16X32#"),+ ('3', 643, InTerms, Just "GHC.Internal.Types", "$tcWord16X32#"),+ ('3', 644, InTypes, Just "GHC.Internal.Prim", "Word32X16#"),+ ('3', 645, InTerms, Just "GHC.Internal.Types", "$tcWord32X16#"),+ ('3', 646, InTypes, Just "GHC.Internal.Prim", "Word64X8#"),+ ('3', 647, InTerms, Just "GHC.Internal.Types", "$tcWord64X8#"),+ ('3', 648, InTypes, Just "GHC.Internal.Prim", "FloatX4#"),+ ('3', 649, InTerms, Just "GHC.Internal.Types", "$tcFloatX4#"),+ ('3', 650, InTypes, Just "GHC.Internal.Prim", "DoubleX2#"),+ ('3', 651, InTerms, Just "GHC.Internal.Types", "$tcDoubleX2#"),+ ('3', 652, InTypes, Just "GHC.Internal.Prim", "FloatX8#"),+ ('3', 653, InTerms, Just "GHC.Internal.Types", "$tcFloatX8#"),+ ('3', 654, InTypes, Just "GHC.Internal.Prim", "DoubleX4#"),+ ('3', 655, InTerms, Just "GHC.Internal.Types", "$tcDoubleX4#"),+ ('3', 656, InTypes, Just "GHC.Internal.Prim", "FloatX16#"),+ ('3', 657, InTerms, Just "GHC.Internal.Types", "$tcFloatX16#"),+ ('3', 658, InTypes, Just "GHC.Internal.Prim", "DoubleX8#"),+ ('3', 659, InTerms, Just "GHC.Internal.Types", "$tcDoubleX8#"),+ ('3', 800, InTypes, Just "GHC.Internal.Types", "Symbol"),+ ('3', 801, InTerms, Just "GHC.Internal.Types", "$tcSymbol"),+ ('3', 804, InTypes, Just "GHC.Internal.TypeNats", "+"),+ ('3', 806, InTypes, Just "GHC.Internal.TypeNats", "*"),+ ('3', 808, InTypes, Just "GHC.Internal.TypeNats", "^"),+ ('3', 810, InTypes, Just "GHC.Internal.TypeNats", "-"),+ ('3', 812, InTypes, Just "GHC.Internal.TypeLits.Internal", "CmpSymbol"),+ ('3', 814, InTypes, Just "GHC.Internal.TypeNats.Internal", "CmpNat"),+ ('3', 816, InTypes, Just "GHC.Internal.TypeLits.Internal", "CmpChar"),+ ('3', 820, InTypes, Just "GHC.Internal.TypeNats", "Div"),+ ('3', 822, InTypes, Just "GHC.Internal.TypeNats", "Mod"),+ ('3', 824, InTypes, Just "GHC.Internal.TypeNats", "Log2"),+ ('3', 826, InTypes, Just "GHC.Internal.TypeLits", "ConsSymbol"),+ ('3', 828, InTypes, Just "GHC.Internal.TypeLits", "UnconsSymbol"),+ ('3', 830, InTypes, Just "GHC.Internal.TypeLits", "CharToNat"),+ ('3', 832, InTypes, Just "GHC.Internal.TypeLits", "NatToChar"),+ ('3', 834, InTypes, Just "GHC.Internal.Foreign.C.ConstPtr", "ConstPtr"),+ ('3', 836, InTypes, Just "GHC.Internal.Wasm.Prim.Types", "JSVal"),+ ('3', 840, InTypes, Just "GHC.Internal.Exception.Context", "ExceptionContext"),+ ('6', 3, InTerms, Just "GHC.Internal.Types", "C#"),+ ('6', 4, InTerms, Just "GHC.Internal.Types", "C#"),+ ('6', 5, InTerms, Just "GHC.Internal.Types", "$tc'C#"),+ ('6', 6, InTerms, Nothing, ":"),+ ('6', 7, InTerms, Just "GHC.Internal.Types", ":"),+ ('6', 8, InTerms, Just "GHC.Internal.Types", "$tc':"),+ ('6', 9, InTerms, Just "GHC.Internal.Types", "D#"),+ ('6', 10, InTerms, Just "GHC.Internal.Types", "D#"),+ ('6', 11, InTerms, Just "GHC.Internal.Types", "$tc'D#"),+ ('6', 12, InTerms, Just "GHC.Internal.Types", "False"),+ ('6', 13, InTerms, Just "GHC.Internal.Types", "False"),+ ('6', 14, InTerms, Just "GHC.Internal.Types", "$tc'False"),+ ('6', 15, InTerms, Just "GHC.Internal.Types", "F#"),+ ('6', 16, InTerms, Just "GHC.Internal.Types", "F#"),+ ('6', 17, InTerms, Just "GHC.Internal.Types", "$tc'F#"),+ ('6', 18, InTerms, Just "GHC.Internal.Types", "I#"),+ ('6', 19, InTerms, Just "GHC.Internal.Types", "I#"),+ ('6', 20, InTerms, Just "GHC.Internal.Types", "$tc'I#"),+ ('6', 21, InTerms, Just "GHC.Internal.Maybe", "Nothing"),+ ('6', 22, InTerms, Just "GHC.Internal.Maybe", "Nothing"),+ ('6', 23, InTerms, Just "GHC.Internal.Maybe", "$tc'Nothing"),+ ('6', 24, InTerms, Just "GHC.Internal.Maybe", "Just"),+ ('6', 25, InTerms, Just "GHC.Internal.Maybe", "Just"),+ ('6', 26, InTerms, Just "GHC.Internal.Maybe", "$tc'Just"),+ ('6', 27, InTerms, Just "GHC.Internal.Types", "Eq#"),+ ('6', 28, InTerms, Just "GHC.Internal.Types", "Eq#"),+ ('6', 29, InTerms, Just "GHC.Internal.Types", "$tc'Eq#"),+ ('6', 30, InTerms, Nothing, "[]"),+ ('6', 31, InTerms, Just "GHC.Internal.Types", "[]"),+ ('6', 32, InTerms, Just "GHC.Internal.Types", "$tc'[]"),+ ('6', 33, InTerms, Just "GHC.Internal.Real", ":%"),+ ('6', 42, InTerms, Just "GHC.Internal.Types", "True"),+ ('6', 43, InTerms, Just "GHC.Internal.Types", "True"),+ ('6', 44, InTerms, Just "GHC.Internal.Types", "$tc'True"),+ ('6', 45, InTerms, Just "GHC.Internal.Types", "W#"),+ ('6', 46, InTerms, Just "GHC.Internal.Types", "W#"),+ ('6', 47, InTerms, Just "GHC.Internal.Types", "$tc'W#"),+ ('6', 48, InTerms, Just "GHC.Internal.Types", "IO"),+ ('6', 54, InTerms, Just "GHC.Internal.Types", "HEq#"),+ ('6', 55, InTerms, Just "GHC.Internal.Types", "HEq#"),+ ('6', 56, InTerms, Just "GHC.Internal.Types", "$tc'HEq#"),+ ('6', 75, InTerms, Just "GHC.Internal.Data.Either", "Left"),+ ('6', 78, InTerms, Just "GHC.Internal.Data.Either", "Right"),+ ('6', 81, InTerms, Just "GHC.Internal.Types", "LT"),+ ('6', 82, InTerms, Just "GHC.Internal.Types", "LT"),+ ('6', 83, InTerms, Just "GHC.Internal.Types", "$tc'LT"),+ ('6', 84, InTerms, Just "GHC.Internal.Types", "EQ"),+ ('6', 85, InTerms, Just "GHC.Internal.Types", "EQ"),+ ('6', 86, InTerms, Just "GHC.Internal.Types", "$tc'EQ"),+ ('6', 87, InTerms, Just "GHC.Internal.Types", "GT"),+ ('6', 88, InTerms, Just "GHC.Internal.Types", "GT"),+ ('6', 89, InTerms, Just "GHC.Internal.Types", "$tc'GT"),+ ('6', 96, InTerms, Just "GHC.Internal.Types", "MkCoercible"),+ ('6', 97, InTerms, Just "GHC.Internal.Types", "MkCoercible"),+ ('6', 98, InTerms, Just "GHC.Internal.Types", "$tc'MkCoercible"),+ ('6', 99, InTerms, Just "GHC.Internal.StaticPtr", "StaticPtr"),+ ('6', 102, InTerms, Just "GHC.Internal.StaticPtr", "StaticPtrInfo"),+ ('6', 105, InTerms, Just "GHC.Internal.Fingerprint.Type", "Fingerprint"),+ ('6', 111, InTerms, Just "GHC.Internal.Stack.Types", "SrcLoc"),+ ('6', 123, InTerms, Just "GHC.Internal.Types", "TyCon"),+ ('6', 129, InTerms, Just "GHC.Internal.Types", "Module"),+ ('6', 135, InTerms, Just "GHC.Internal.Types", "TrNameS"),+ ('6', 138, InTerms, Just "GHC.Internal.Types", "TrNameD"),+ ('6', 141, InTerms, Just "GHC.Internal.Types", "tr$ModuleGHCPrim"),+ ('6', 150, InTerms, Just "GHC.Internal.TypeError", "Text"),+ ('6', 153, InTerms, Just "GHC.Internal.TypeError", ":<>:"),+ ('6', 156, InTerms, Just "GHC.Internal.TypeError", ":$$:"),+ ('6', 159, InTerms, Just "GHC.Internal.TypeError", "ShowType"),+ ('6', 162, InTerms, Just "GHC.Internal.Generics", "PrefixI"),+ ('6', 165, InTerms, Just "GHC.Internal.Generics", "InfixI"),+ ('6', 168, InTerms, Just "GHC.Internal.Generics", "LeftAssociative"),+ ('6', 171, InTerms, Just "GHC.Internal.Generics", "RightAssociative"),+ ('6', 174, InTerms, Just "GHC.Internal.Generics", "NotAssociative"),+ ('6', 177, InTerms, Just "GHC.Internal.Generics", "SourceUnpack"),+ ('6', 180, InTerms, Just "GHC.Internal.Generics", "SourceNoUnpack"),+ ('6', 183, InTerms, Just "GHC.Internal.Generics", "NoSourceUnpackedness"),+ ('6', 186, InTerms, Just "GHC.Internal.Generics", "SourceLazy"),+ ('6', 189, InTerms, Just "GHC.Internal.Generics", "SourceStrict"),+ ('6', 192, InTerms, Just "GHC.Internal.Generics", "NoSourceStrictness"),+ ('6', 195, InTerms, Just "GHC.Internal.Generics", "DecidedLazy"),+ ('6', 198, InTerms, Just "GHC.Internal.Generics", "DecidedStrict"),+ ('6', 201, InTerms, Just "GHC.Internal.Generics", "DecidedUnpack"),+ ('6', 204, InTerms, Just "GHC.Internal.Generics", "MetaData"),+ ('6', 207, InTerms, Just "GHC.Internal.Generics", "MetaCons"),+ ('6', 210, InTerms, Just "GHC.Internal.Generics", "MetaSel"),+ ('6', 213, InTerms, Just "GHC.Internal.Types", "VecRep"),+ ('6', 214, InTerms, Just "GHC.Internal.Types", "VecRep"),+ ('6', 215, InTerms, Just "GHC.Internal.Types", "$tc'VecRep"),+ ('6', 216, InTerms, Just "GHC.Internal.Types", "TupleRep"),+ ('6', 217, InTerms, Just "GHC.Internal.Types", "TupleRep"),+ ('6', 218, InTerms, Just "GHC.Internal.Types", "$tc'TupleRep"),+ ('6', 219, InTerms, Just "GHC.Internal.Types", "SumRep"),+ ('6', 220, InTerms, Just "GHC.Internal.Types", "SumRep"),+ ('6', 221, InTerms, Just "GHC.Internal.Types", "$tc'SumRep"),+ ('6', 222, InTerms, Just "GHC.Internal.Types", "BoxedRep"),+ ('6', 223, InTerms, Just "GHC.Internal.Types", "BoxedRep"),+ ('6', 224, InTerms, Just "GHC.Internal.Types", "$tc'BoxedRep"),+ ('6', 225, InTerms, Just "GHC.Internal.Types", "IntRep"),+ ('6', 226, InTerms, Just "GHC.Internal.Types", "IntRep"),+ ('6', 227, InTerms, Just "GHC.Internal.Types", "$tc'IntRep"),+ ('6', 228, InTerms, Just "GHC.Internal.Types", "Int8Rep"),+ ('6', 229, InTerms, Just "GHC.Internal.Types", "Int8Rep"),+ ('6', 230, InTerms, Just "GHC.Internal.Types", "$tc'Int8Rep"),+ ('6', 231, InTerms, Just "GHC.Internal.Types", "Int16Rep"),+ ('6', 232, InTerms, Just "GHC.Internal.Types", "Int16Rep"),+ ('6', 233, InTerms, Just "GHC.Internal.Types", "$tc'Int16Rep"),+ ('6', 234, InTerms, Just "GHC.Internal.Types", "Int32Rep"),+ ('6', 235, InTerms, Just "GHC.Internal.Types", "Int32Rep"),+ ('6', 236, InTerms, Just "GHC.Internal.Types", "$tc'Int32Rep"),+ ('6', 237, InTerms, Just "GHC.Internal.Types", "Int64Rep"),+ ('6', 238, InTerms, Just "GHC.Internal.Types", "Int64Rep"),+ ('6', 239, InTerms, Just "GHC.Internal.Types", "$tc'Int64Rep"),+ ('6', 240, InTerms, Just "GHC.Internal.Types", "WordRep"),+ ('6', 241, InTerms, Just "GHC.Internal.Types", "WordRep"),+ ('6', 242, InTerms, Just "GHC.Internal.Types", "$tc'WordRep"),+ ('6', 243, InTerms, Just "GHC.Internal.Types", "Word8Rep"),+ ('6', 244, InTerms, Just "GHC.Internal.Types", "Word8Rep"),+ ('6', 245, InTerms, Just "GHC.Internal.Types", "$tc'Word8Rep"),+ ('6', 246, InTerms, Just "GHC.Internal.Types", "Word16Rep"),+ ('6', 247, InTerms, Just "GHC.Internal.Types", "Word16Rep"),+ ('6', 248, InTerms, Just "GHC.Internal.Types", "$tc'Word16Rep"),+ ('6', 249, InTerms, Just "GHC.Internal.Types", "Word32Rep"),+ ('6', 250, InTerms, Just "GHC.Internal.Types", "Word32Rep"),+ ('6', 251, InTerms, Just "GHC.Internal.Types", "$tc'Word32Rep"),+ ('6', 252, InTerms, Just "GHC.Internal.Types", "Word64Rep"),+ ('6', 253, InTerms, Just "GHC.Internal.Types", "Word64Rep"),+ ('6', 254, InTerms, Just "GHC.Internal.Types", "$tc'Word64Rep"),+ ('6', 255, InTerms, Just "GHC.Internal.Types", "AddrRep"),+ ('6', 256, InTerms, Just "GHC.Internal.Types", "AddrRep"),+ ('6', 257, InTerms, Just "GHC.Internal.Types", "$tc'AddrRep"),+ ('6', 258, InTerms, Just "GHC.Internal.Types", "FloatRep"),+ ('6', 259, InTerms, Just "GHC.Internal.Types", "FloatRep"),+ ('6', 260, InTerms, Just "GHC.Internal.Types", "$tc'FloatRep"),+ ('6', 261, InTerms, Just "GHC.Internal.Types", "DoubleRep"),+ ('6', 262, InTerms, Just "GHC.Internal.Types", "DoubleRep"),+ ('6', 263, InTerms, Just "GHC.Internal.Types", "$tc'DoubleRep"),+ ('6', 264, InTerms, Just "GHC.Internal.Types", "Lifted"),+ ('6', 265, InTerms, Just "GHC.Internal.Types", "Lifted"),+ ('6', 266, InTerms, Just "GHC.Internal.Types", "$tc'Lifted"),+ ('6', 267, InTerms, Just "GHC.Internal.Types", "Unlifted"),+ ('6', 268, InTerms, Just "GHC.Internal.Types", "Unlifted"),+ ('6', 269, InTerms, Just "GHC.Internal.Types", "$tc'Unlifted"),+ ('6', 270, InTerms, Just "GHC.Internal.Types", "Vec2"),+ ('6', 271, InTerms, Just "GHC.Internal.Types", "Vec2"),+ ('6', 272, InTerms, Just "GHC.Internal.Types", "$tc'Vec2"),+ ('6', 273, InTerms, Just "GHC.Internal.Types", "Vec4"),+ ('6', 274, InTerms, Just "GHC.Internal.Types", "Vec4"),+ ('6', 275, InTerms, Just "GHC.Internal.Types", "$tc'Vec4"),+ ('6', 276, InTerms, Just "GHC.Internal.Types", "Vec8"),+ ('6', 277, InTerms, Just "GHC.Internal.Types", "Vec8"),+ ('6', 278, InTerms, Just "GHC.Internal.Types", "$tc'Vec8"),+ ('6', 279, InTerms, Just "GHC.Internal.Types", "Vec16"),+ ('6', 280, InTerms, Just "GHC.Internal.Types", "Vec16"),+ ('6', 281, InTerms, Just "GHC.Internal.Types", "$tc'Vec16"),+ ('6', 282, InTerms, Just "GHC.Internal.Types", "Vec32"),+ ('6', 283, InTerms, Just "GHC.Internal.Types", "Vec32"),+ ('6', 284, InTerms, Just "GHC.Internal.Types", "$tc'Vec32"),+ ('6', 285, InTerms, Just "GHC.Internal.Types", "Vec64"),+ ('6', 286, InTerms, Just "GHC.Internal.Types", "Vec64"),+ ('6', 287, InTerms, Just "GHC.Internal.Types", "$tc'Vec64"),+ ('6', 288, InTerms, Just "GHC.Internal.Types", "Int8ElemRep"),+ ('6', 289, InTerms, Just "GHC.Internal.Types", "Int8ElemRep"),+ ('6', 290, InTerms, Just "GHC.Internal.Types", "$tc'Int8ElemRep"),+ ('6', 291, InTerms, Just "GHC.Internal.Types", "Int16ElemRep"),+ ('6', 292, InTerms, Just "GHC.Internal.Types", "Int16ElemRep"),+ ('6', 293, InTerms, Just "GHC.Internal.Types", "$tc'Int16ElemRep"),+ ('6', 294, InTerms, Just "GHC.Internal.Types", "Int32ElemRep"),+ ('6', 295, InTerms, Just "GHC.Internal.Types", "Int32ElemRep"),+ ('6', 296, InTerms, Just "GHC.Internal.Types", "$tc'Int32ElemRep"),+ ('6', 297, InTerms, Just "GHC.Internal.Types", "Int64ElemRep"),+ ('6', 298, InTerms, Just "GHC.Internal.Types", "Int64ElemRep"),+ ('6', 299, InTerms, Just "GHC.Internal.Types", "$tc'Int64ElemRep"),+ ('6', 300, InTerms, Just "GHC.Internal.Types", "Word8ElemRep"),+ ('6', 301, InTerms, Just "GHC.Internal.Types", "Word8ElemRep"),+ ('6', 302, InTerms, Just "GHC.Internal.Types", "$tc'Word8ElemRep"),+ ('6', 303, InTerms, Just "GHC.Internal.Types", "Word16ElemRep"),+ ('6', 304, InTerms, Just "GHC.Internal.Types", "Word16ElemRep"),+ ('6', 305, InTerms, Just "GHC.Internal.Types", "$tc'Word16ElemRep"),+ ('6', 306, InTerms, Just "GHC.Internal.Types", "Word32ElemRep"),+ ('6', 307, InTerms, Just "GHC.Internal.Types", "Word32ElemRep"),+ ('6', 308, InTerms, Just "GHC.Internal.Types", "$tc'Word32ElemRep"),+ ('6', 309, InTerms, Just "GHC.Internal.Types", "Word64ElemRep"),+ ('6', 310, InTerms, Just "GHC.Internal.Types", "Word64ElemRep"),+ ('6', 311, InTerms, Just "GHC.Internal.Types", "$tc'Word64ElemRep"),+ ('6', 312, InTerms, Just "GHC.Internal.Types", "FloatElemRep"),+ ('6', 313, InTerms, Just "GHC.Internal.Types", "FloatElemRep"),+ ('6', 314, InTerms, Just "GHC.Internal.Types", "$tc'FloatElemRep"),+ ('6', 315, InTerms, Just "GHC.Internal.Types", "DoubleElemRep"),+ ('6', 316, InTerms, Just "GHC.Internal.Types", "DoubleElemRep"),+ ('6', 317, InTerms, Just "GHC.Internal.Types", "$tc'DoubleElemRep"),+ ('6', 318, InTerms, Just "GHC.Internal.Types", "KindRepTyConApp"),+ ('6', 321, InTerms, Just "GHC.Internal.Types", "KindRepVar"),+ ('6', 324, InTerms, Just "GHC.Internal.Types", "KindRepApp"),+ ('6', 327, InTerms, Just "GHC.Internal.Types", "KindRepFun"),+ ('6', 330, InTerms, Just "GHC.Internal.Types", "KindRepTYPE"),+ ('6', 333, InTerms, Just "GHC.Internal.Types", "KindRepTypeLitS"),+ ('6', 336, InTerms, Just "GHC.Internal.Types", "KindRepTypeLitD"),+ ('6', 339, InTerms, Just "GHC.Internal.Types", "TypeLitSymbol"),+ ('6', 342, InTerms, Just "GHC.Internal.Types", "TypeLitNat"),+ ('6', 345, InTerms, Just "GHC.Internal.Types", "TypeLitChar"),+ ('6', 348, InTerms, Just "GHC.Internal.Unsafe.Coerce", "UnsafeRefl"),+ ('6', 351, InTerms, Just "GHC.Internal.Types", "One"),+ ('6', 352, InTerms, Just "GHC.Internal.Types", "One"),+ ('6', 353, InTerms, Just "GHC.Internal.Types", "$tc'One"),+ ('6', 354, InTerms, Just "GHC.Internal.Types", "Many"),+ ('6', 355, InTerms, Just "GHC.Internal.Types", "Many"),+ ('6', 356, InTerms, Just "GHC.Internal.Types", "$tc'Many"),+ ('6', 360, InTerms, Just "GHC.Internal.Bignum.Integer", "IS"),+ ('6', 361, InTerms, Just "GHC.Internal.Bignum.Integer", "IS"),+ ('6', 362, InTerms, Just "GHC.Internal.Bignum.Integer", "$tc'IS"),+ ('6', 363, InTerms, Just "GHC.Internal.Bignum.Integer", "IN"),+ ('6', 364, InTerms, Just "GHC.Internal.Bignum.Integer", "IN"),+ ('6', 365, InTerms, Just "GHC.Internal.Bignum.Integer", "$tc'IN"),+ ('6', 366, InTerms, Just "GHC.Internal.Bignum.Integer", "IP"),+ ('6', 367, InTerms, Just "GHC.Internal.Bignum.Integer", "IP"),+ ('6', 368, InTerms, Just "GHC.Internal.Bignum.Integer", "$tc'IP"),+ ('6', 369, InTerms, Just "GHC.Internal.Bignum.Natural", "NS"),+ ('6', 370, InTerms, Just "GHC.Internal.Bignum.Natural", "NS"),+ ('6', 371, InTerms, Just "GHC.Internal.Bignum.Natural", "$tc'NS"),+ ('6', 372, InTerms, Just "GHC.Internal.Bignum.Natural", "NB"),+ ('6', 373, InTerms, Just "GHC.Internal.Bignum.Natural", "NB"),+ ('6', 374, InTerms, Just "GHC.Internal.Bignum.Natural", "$tc'NB"),+ ('6', 600, InTerms, Just "GHC.Internal.TH.Syntax", "NoInline"),+ ('6', 603, InTerms, Just "GHC.Internal.TH.Syntax", "Inline"),+ ('6', 606, InTerms, Just "GHC.Internal.TH.Syntax", "Inlinable"),+ ('6', 612, InTerms, Just "GHC.Internal.TH.Syntax", "ConLike"),+ ('6', 615, InTerms, Just "GHC.Internal.TH.Syntax", "FunLike"),+ ('6', 618, InTerms, Just "GHC.Internal.TH.Syntax", "AllPhases"),+ ('6', 621, InTerms, Just "GHC.Internal.TH.Syntax", "FromPhase"),+ ('6', 624, InTerms, Just "GHC.Internal.TH.Syntax", "BeforePhase"),+ ('6', 627, InTerms, Just "GHC.Internal.TH.Syntax", "Overlappable"),+ ('6', 630, InTerms, Just "GHC.Internal.TH.Syntax", "Overlapping"),+ ('6', 633, InTerms, Just "GHC.Internal.TH.Syntax", "Overlaps"),+ ('6', 636, InTerms, Just "GHC.Internal.TH.Syntax", "Incoherent"),+ ('6', 639, InTerms, Just "GHC.Internal.TH.Syntax", "NoNamespaceSpecifier"),+ ('6', 642, InTerms, Just "GHC.Internal.TH.Syntax", "TypeNamespaceSpecifier"),+ ('6', 645, InTerms, Just "GHC.Internal.TH.Syntax", "DataNamespaceSpecifier"),+ ('6', 1482, InTerms, Just "GHC.Internal.TH.Lib", "stockStrategy"),+ ('6', 1485, InTerms, Just "GHC.Internal.TH.Lib", "anyclassStrategy"),+ ('6', 1488, InTerms, Just "GHC.Internal.TH.Lib", "newtypeStrategy"),+ ('6', 1491, InTerms, Just "GHC.Internal.TH.Lib", "viaStrategy"),+ ('9', 0, InTerms, Just "GHC.Internal.Prim", "gtChar#"),+ ('9', 1, InTerms, Just "GHC.Internal.PrimopWrappers", "gtChar#"),+ ('9', 2, InTerms, Just "GHC.Internal.Prim", "geChar#"),+ ('9', 3, InTerms, Just "GHC.Internal.PrimopWrappers", "geChar#"),+ ('9', 4, InTerms, Just "GHC.Internal.Prim", "eqChar#"),+ ('9', 5, InTerms, Just "GHC.Internal.PrimopWrappers", "eqChar#"),+ ('9', 6, InTerms, Just "GHC.Internal.Prim", "neChar#"),+ ('9', 7, InTerms, Just "GHC.Internal.PrimopWrappers", "neChar#"),+ ('9', 8, InTerms, Just "GHC.Internal.Prim", "ltChar#"),+ ('9', 9, InTerms, Just "GHC.Internal.PrimopWrappers", "ltChar#"),+ ('9', 10, InTerms, Just "GHC.Internal.Prim", "leChar#"),+ ('9', 11, InTerms, Just "GHC.Internal.PrimopWrappers", "leChar#"),+ ('9', 12, InTerms, Just "GHC.Internal.Prim", "ord#"),+ ('9', 13, InTerms, Just "GHC.Internal.PrimopWrappers", "ord#"),+ ('9', 14, InTerms, Just "GHC.Internal.Prim", "int8ToInt#"),+ ('9', 15, InTerms, Just "GHC.Internal.PrimopWrappers", "int8ToInt#"),+ ('9', 16, InTerms, Just "GHC.Internal.Prim", "intToInt8#"),+ ('9', 17, InTerms, Just "GHC.Internal.PrimopWrappers", "intToInt8#"),+ ('9', 18, InTerms, Just "GHC.Internal.Prim", "negateInt8#"),+ ('9', 19, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt8#"),+ ('9', 20, InTerms, Just "GHC.Internal.Prim", "plusInt8#"),+ ('9', 21, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt8#"),+ ('9', 22, InTerms, Just "GHC.Internal.Prim", "subInt8#"),+ ('9', 23, InTerms, Just "GHC.Internal.PrimopWrappers", "subInt8#"),+ ('9', 24, InTerms, Just "GHC.Internal.Prim", "timesInt8#"),+ ('9', 25, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt8#"),+ ('9', 26, InTerms, Just "GHC.Internal.Prim", "quotInt8#"),+ ('9', 27, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt8#"),+ ('9', 28, InTerms, Just "GHC.Internal.Prim", "remInt8#"),+ ('9', 29, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt8#"),+ ('9', 30, InTerms, Just "GHC.Internal.Prim", "quotRemInt8#"),+ ('9', 31, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemInt8#"),+ ('9', 32, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftLInt8#"),+ ('9', 33, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftLInt8#"),+ ('9', 34, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRAInt8#"),+ ('9', 35, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRAInt8#"),+ ('9', 36, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRLInt8#"),+ ('9', 37, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRLInt8#"),+ ('9', 38, InTerms, Just "GHC.Internal.Prim", "int8ToWord8#"),+ ('9', 39, InTerms, Just "GHC.Internal.PrimopWrappers", "int8ToWord8#"),+ ('9', 40, InTerms, Just "GHC.Internal.Prim", "eqInt8#"),+ ('9', 41, InTerms, Just "GHC.Internal.PrimopWrappers", "eqInt8#"),+ ('9', 42, InTerms, Just "GHC.Internal.Prim", "geInt8#"),+ ('9', 43, InTerms, Just "GHC.Internal.PrimopWrappers", "geInt8#"),+ ('9', 44, InTerms, Just "GHC.Internal.Prim", "gtInt8#"),+ ('9', 45, InTerms, Just "GHC.Internal.PrimopWrappers", "gtInt8#"),+ ('9', 46, InTerms, Just "GHC.Internal.Prim", "leInt8#"),+ ('9', 47, InTerms, Just "GHC.Internal.PrimopWrappers", "leInt8#"),+ ('9', 48, InTerms, Just "GHC.Internal.Prim", "ltInt8#"),+ ('9', 49, InTerms, Just "GHC.Internal.PrimopWrappers", "ltInt8#"),+ ('9', 50, InTerms, Just "GHC.Internal.Prim", "neInt8#"),+ ('9', 51, InTerms, Just "GHC.Internal.PrimopWrappers", "neInt8#"),+ ('9', 52, InTerms, Just "GHC.Internal.Prim", "word8ToWord#"),+ ('9', 53, InTerms, Just "GHC.Internal.PrimopWrappers", "word8ToWord#"),+ ('9', 54, InTerms, Just "GHC.Internal.Prim", "wordToWord8#"),+ ('9', 55, InTerms, Just "GHC.Internal.PrimopWrappers", "wordToWord8#"),+ ('9', 56, InTerms, Just "GHC.Internal.Prim", "plusWord8#"),+ ('9', 57, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord8#"),+ ('9', 58, InTerms, Just "GHC.Internal.Prim", "subWord8#"),+ ('9', 59, InTerms, Just "GHC.Internal.PrimopWrappers", "subWord8#"),+ ('9', 60, InTerms, Just "GHC.Internal.Prim", "timesWord8#"),+ ('9', 61, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord8#"),+ ('9', 62, InTerms, Just "GHC.Internal.Prim", "quotWord8#"),+ ('9', 63, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord8#"),+ ('9', 64, InTerms, Just "GHC.Internal.Prim", "remWord8#"),+ ('9', 65, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord8#"),+ ('9', 66, InTerms, Just "GHC.Internal.Prim", "quotRemWord8#"),+ ('9', 67, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemWord8#"),+ ('9', 68, InTerms, Just "GHC.Internal.Prim", "andWord8#"),+ ('9', 69, InTerms, Just "GHC.Internal.PrimopWrappers", "andWord8#"),+ ('9', 70, InTerms, Just "GHC.Internal.Prim", "orWord8#"),+ ('9', 71, InTerms, Just "GHC.Internal.PrimopWrappers", "orWord8#"),+ ('9', 72, InTerms, Just "GHC.Internal.Prim", "xorWord8#"),+ ('9', 73, InTerms, Just "GHC.Internal.PrimopWrappers", "xorWord8#"),+ ('9', 74, InTerms, Just "GHC.Internal.Prim", "notWord8#"),+ ('9', 75, InTerms, Just "GHC.Internal.PrimopWrappers", "notWord8#"),+ ('9', 76, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftLWord8#"),+ ('9', 77, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftLWord8#"),+ ('9', 78, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRLWord8#"),+ ('9', 79, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRLWord8#"),+ ('9', 80, InTerms, Just "GHC.Internal.Prim", "word8ToInt8#"),+ ('9', 81, InTerms, Just "GHC.Internal.PrimopWrappers", "word8ToInt8#"),+ ('9', 82, InTerms, Just "GHC.Internal.Prim", "eqWord8#"),+ ('9', 83, InTerms, Just "GHC.Internal.PrimopWrappers", "eqWord8#"),+ ('9', 84, InTerms, Just "GHC.Internal.Prim", "geWord8#"),+ ('9', 85, InTerms, Just "GHC.Internal.PrimopWrappers", "geWord8#"),+ ('9', 86, InTerms, Just "GHC.Internal.Prim", "gtWord8#"),+ ('9', 87, InTerms, Just "GHC.Internal.PrimopWrappers", "gtWord8#"),+ ('9', 88, InTerms, Just "GHC.Internal.Prim", "leWord8#"),+ ('9', 89, InTerms, Just "GHC.Internal.PrimopWrappers", "leWord8#"),+ ('9', 90, InTerms, Just "GHC.Internal.Prim", "ltWord8#"),+ ('9', 91, InTerms, Just "GHC.Internal.PrimopWrappers", "ltWord8#"),+ ('9', 92, InTerms, Just "GHC.Internal.Prim", "neWord8#"),+ ('9', 93, InTerms, Just "GHC.Internal.PrimopWrappers", "neWord8#"),+ ('9', 94, InTerms, Just "GHC.Internal.Prim", "int16ToInt#"),+ ('9', 95, InTerms, Just "GHC.Internal.PrimopWrappers", "int16ToInt#"),+ ('9', 96, InTerms, Just "GHC.Internal.Prim", "intToInt16#"),+ ('9', 97, InTerms, Just "GHC.Internal.PrimopWrappers", "intToInt16#"),+ ('9', 98, InTerms, Just "GHC.Internal.Prim", "negateInt16#"),+ ('9', 99, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt16#"),+ ('9', 100, InTerms, Just "GHC.Internal.Prim", "plusInt16#"),+ ('9', 101, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt16#"),+ ('9', 102, InTerms, Just "GHC.Internal.Prim", "subInt16#"),+ ('9', 103, InTerms, Just "GHC.Internal.PrimopWrappers", "subInt16#"),+ ('9', 104, InTerms, Just "GHC.Internal.Prim", "timesInt16#"),+ ('9', 105, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt16#"),+ ('9', 106, InTerms, Just "GHC.Internal.Prim", "quotInt16#"),+ ('9', 107, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt16#"),+ ('9', 108, InTerms, Just "GHC.Internal.Prim", "remInt16#"),+ ('9', 109, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt16#"),+ ('9', 110, InTerms, Just "GHC.Internal.Prim", "quotRemInt16#"),+ ('9', 111, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemInt16#"),+ ('9', 112, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftLInt16#"),+ ('9', 113, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftLInt16#"),+ ('9', 114, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRAInt16#"),+ ('9', 115, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRAInt16#"),+ ('9', 116, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRLInt16#"),+ ('9', 117, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRLInt16#"),+ ('9', 118, InTerms, Just "GHC.Internal.Prim", "int16ToWord16#"),+ ('9', 119, InTerms, Just "GHC.Internal.PrimopWrappers", "int16ToWord16#"),+ ('9', 120, InTerms, Just "GHC.Internal.Prim", "eqInt16#"),+ ('9', 121, InTerms, Just "GHC.Internal.PrimopWrappers", "eqInt16#"),+ ('9', 122, InTerms, Just "GHC.Internal.Prim", "geInt16#"),+ ('9', 123, InTerms, Just "GHC.Internal.PrimopWrappers", "geInt16#"),+ ('9', 124, InTerms, Just "GHC.Internal.Prim", "gtInt16#"),+ ('9', 125, InTerms, Just "GHC.Internal.PrimopWrappers", "gtInt16#"),+ ('9', 126, InTerms, Just "GHC.Internal.Prim", "leInt16#"),+ ('9', 127, InTerms, Just "GHC.Internal.PrimopWrappers", "leInt16#"),+ ('9', 128, InTerms, Just "GHC.Internal.Prim", "ltInt16#"),+ ('9', 129, InTerms, Just "GHC.Internal.PrimopWrappers", "ltInt16#"),+ ('9', 130, InTerms, Just "GHC.Internal.Prim", "neInt16#"),+ ('9', 131, InTerms, Just "GHC.Internal.PrimopWrappers", "neInt16#"),+ ('9', 132, InTerms, Just "GHC.Internal.Prim", "word16ToWord#"),+ ('9', 133, InTerms, Just "GHC.Internal.PrimopWrappers", "word16ToWord#"),+ ('9', 134, InTerms, Just "GHC.Internal.Prim", "wordToWord16#"),+ ('9', 135, InTerms, Just "GHC.Internal.PrimopWrappers", "wordToWord16#"),+ ('9', 136, InTerms, Just "GHC.Internal.Prim", "plusWord16#"),+ ('9', 137, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord16#"),+ ('9', 138, InTerms, Just "GHC.Internal.Prim", "subWord16#"),+ ('9', 139, InTerms, Just "GHC.Internal.PrimopWrappers", "subWord16#"),+ ('9', 140, InTerms, Just "GHC.Internal.Prim", "timesWord16#"),+ ('9', 141, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord16#"),+ ('9', 142, InTerms, Just "GHC.Internal.Prim", "quotWord16#"),+ ('9', 143, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord16#"),+ ('9', 144, InTerms, Just "GHC.Internal.Prim", "remWord16#"),+ ('9', 145, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord16#"),+ ('9', 146, InTerms, Just "GHC.Internal.Prim", "quotRemWord16#"),+ ('9', 147, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemWord16#"),+ ('9', 148, InTerms, Just "GHC.Internal.Prim", "andWord16#"),+ ('9', 149, InTerms, Just "GHC.Internal.PrimopWrappers", "andWord16#"),+ ('9', 150, InTerms, Just "GHC.Internal.Prim", "orWord16#"),+ ('9', 151, InTerms, Just "GHC.Internal.PrimopWrappers", "orWord16#"),+ ('9', 152, InTerms, Just "GHC.Internal.Prim", "xorWord16#"),+ ('9', 153, InTerms, Just "GHC.Internal.PrimopWrappers", "xorWord16#"),+ ('9', 154, InTerms, Just "GHC.Internal.Prim", "notWord16#"),+ ('9', 155, InTerms, Just "GHC.Internal.PrimopWrappers", "notWord16#"),+ ('9', 156, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftLWord16#"),+ ('9', 157, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftLWord16#"),+ ('9', 158, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRLWord16#"),+ ('9', 159, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRLWord16#"),+ ('9', 160, InTerms, Just "GHC.Internal.Prim", "word16ToInt16#"),+ ('9', 161, InTerms, Just "GHC.Internal.PrimopWrappers", "word16ToInt16#"),+ ('9', 162, InTerms, Just "GHC.Internal.Prim", "eqWord16#"),+ ('9', 163, InTerms, Just "GHC.Internal.PrimopWrappers", "eqWord16#"),+ ('9', 164, InTerms, Just "GHC.Internal.Prim", "geWord16#"),+ ('9', 165, InTerms, Just "GHC.Internal.PrimopWrappers", "geWord16#"),+ ('9', 166, InTerms, Just "GHC.Internal.Prim", "gtWord16#"),+ ('9', 167, InTerms, Just "GHC.Internal.PrimopWrappers", "gtWord16#"),+ ('9', 168, InTerms, Just "GHC.Internal.Prim", "leWord16#"),+ ('9', 169, InTerms, Just "GHC.Internal.PrimopWrappers", "leWord16#"),+ ('9', 170, InTerms, Just "GHC.Internal.Prim", "ltWord16#"),+ ('9', 171, InTerms, Just "GHC.Internal.PrimopWrappers", "ltWord16#"),+ ('9', 172, InTerms, Just "GHC.Internal.Prim", "neWord16#"),+ ('9', 173, InTerms, Just "GHC.Internal.PrimopWrappers", "neWord16#"),+ ('9', 174, InTerms, Just "GHC.Internal.Prim", "int32ToInt#"),+ ('9', 175, InTerms, Just "GHC.Internal.PrimopWrappers", "int32ToInt#"),+ ('9', 176, InTerms, Just "GHC.Internal.Prim", "intToInt32#"),+ ('9', 177, InTerms, Just "GHC.Internal.PrimopWrappers", "intToInt32#"),+ ('9', 178, InTerms, Just "GHC.Internal.Prim", "negateInt32#"),+ ('9', 179, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt32#"),+ ('9', 180, InTerms, Just "GHC.Internal.Prim", "plusInt32#"),+ ('9', 181, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt32#"),+ ('9', 182, InTerms, Just "GHC.Internal.Prim", "subInt32#"),+ ('9', 183, InTerms, Just "GHC.Internal.PrimopWrappers", "subInt32#"),+ ('9', 184, InTerms, Just "GHC.Internal.Prim", "timesInt32#"),+ ('9', 185, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt32#"),+ ('9', 186, InTerms, Just "GHC.Internal.Prim", "quotInt32#"),+ ('9', 187, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt32#"),+ ('9', 188, InTerms, Just "GHC.Internal.Prim", "remInt32#"),+ ('9', 189, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt32#"),+ ('9', 190, InTerms, Just "GHC.Internal.Prim", "quotRemInt32#"),+ ('9', 191, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemInt32#"),+ ('9', 192, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftLInt32#"),+ ('9', 193, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftLInt32#"),+ ('9', 194, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRAInt32#"),+ ('9', 195, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRAInt32#"),+ ('9', 196, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRLInt32#"),+ ('9', 197, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRLInt32#"),+ ('9', 198, InTerms, Just "GHC.Internal.Prim", "int32ToWord32#"),+ ('9', 199, InTerms, Just "GHC.Internal.PrimopWrappers", "int32ToWord32#"),+ ('9', 200, InTerms, Just "GHC.Internal.Prim", "eqInt32#"),+ ('9', 201, InTerms, Just "GHC.Internal.PrimopWrappers", "eqInt32#"),+ ('9', 202, InTerms, Just "GHC.Internal.Prim", "geInt32#"),+ ('9', 203, InTerms, Just "GHC.Internal.PrimopWrappers", "geInt32#"),+ ('9', 204, InTerms, Just "GHC.Internal.Prim", "gtInt32#"),+ ('9', 205, InTerms, Just "GHC.Internal.PrimopWrappers", "gtInt32#"),+ ('9', 206, InTerms, Just "GHC.Internal.Prim", "leInt32#"),+ ('9', 207, InTerms, Just "GHC.Internal.PrimopWrappers", "leInt32#"),+ ('9', 208, InTerms, Just "GHC.Internal.Prim", "ltInt32#"),+ ('9', 209, InTerms, Just "GHC.Internal.PrimopWrappers", "ltInt32#"),+ ('9', 210, InTerms, Just "GHC.Internal.Prim", "neInt32#"),+ ('9', 211, InTerms, Just "GHC.Internal.PrimopWrappers", "neInt32#"),+ ('9', 212, InTerms, Just "GHC.Internal.Prim", "word32ToWord#"),+ ('9', 213, InTerms, Just "GHC.Internal.PrimopWrappers", "word32ToWord#"),+ ('9', 214, InTerms, Just "GHC.Internal.Prim", "wordToWord32#"),+ ('9', 215, InTerms, Just "GHC.Internal.PrimopWrappers", "wordToWord32#"),+ ('9', 216, InTerms, Just "GHC.Internal.Prim", "plusWord32#"),+ ('9', 217, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord32#"),+ ('9', 218, InTerms, Just "GHC.Internal.Prim", "subWord32#"),+ ('9', 219, InTerms, Just "GHC.Internal.PrimopWrappers", "subWord32#"),+ ('9', 220, InTerms, Just "GHC.Internal.Prim", "timesWord32#"),+ ('9', 221, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord32#"),+ ('9', 222, InTerms, Just "GHC.Internal.Prim", "quotWord32#"),+ ('9', 223, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord32#"),+ ('9', 224, InTerms, Just "GHC.Internal.Prim", "remWord32#"),+ ('9', 225, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord32#"),+ ('9', 226, InTerms, Just "GHC.Internal.Prim", "quotRemWord32#"),+ ('9', 227, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemWord32#"),+ ('9', 228, InTerms, Just "GHC.Internal.Prim", "andWord32#"),+ ('9', 229, InTerms, Just "GHC.Internal.PrimopWrappers", "andWord32#"),+ ('9', 230, InTerms, Just "GHC.Internal.Prim", "orWord32#"),+ ('9', 231, InTerms, Just "GHC.Internal.PrimopWrappers", "orWord32#"),+ ('9', 232, InTerms, Just "GHC.Internal.Prim", "xorWord32#"),+ ('9', 233, InTerms, Just "GHC.Internal.PrimopWrappers", "xorWord32#"),+ ('9', 234, InTerms, Just "GHC.Internal.Prim", "notWord32#"),+ ('9', 235, InTerms, Just "GHC.Internal.PrimopWrappers", "notWord32#"),+ ('9', 236, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftLWord32#"),+ ('9', 237, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftLWord32#"),+ ('9', 238, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRLWord32#"),+ ('9', 239, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRLWord32#"),+ ('9', 240, InTerms, Just "GHC.Internal.Prim", "word32ToInt32#"),+ ('9', 241, InTerms, Just "GHC.Internal.PrimopWrappers", "word32ToInt32#"),+ ('9', 242, InTerms, Just "GHC.Internal.Prim", "eqWord32#"),+ ('9', 243, InTerms, Just "GHC.Internal.PrimopWrappers", "eqWord32#"),+ ('9', 244, InTerms, Just "GHC.Internal.Prim", "geWord32#"),+ ('9', 245, InTerms, Just "GHC.Internal.PrimopWrappers", "geWord32#"),+ ('9', 246, InTerms, Just "GHC.Internal.Prim", "gtWord32#"),+ ('9', 247, InTerms, Just "GHC.Internal.PrimopWrappers", "gtWord32#"),+ ('9', 248, InTerms, Just "GHC.Internal.Prim", "leWord32#"),+ ('9', 249, InTerms, Just "GHC.Internal.PrimopWrappers", "leWord32#"),+ ('9', 250, InTerms, Just "GHC.Internal.Prim", "ltWord32#"),+ ('9', 251, InTerms, Just "GHC.Internal.PrimopWrappers", "ltWord32#"),+ ('9', 252, InTerms, Just "GHC.Internal.Prim", "neWord32#"),+ ('9', 253, InTerms, Just "GHC.Internal.PrimopWrappers", "neWord32#"),+ ('9', 254, InTerms, Just "GHC.Internal.Prim", "int64ToInt#"),+ ('9', 255, InTerms, Just "GHC.Internal.PrimopWrappers", "int64ToInt#"),+ ('9', 256, InTerms, Just "GHC.Internal.Prim", "intToInt64#"),+ ('9', 257, InTerms, Just "GHC.Internal.PrimopWrappers", "intToInt64#"),+ ('9', 258, InTerms, Just "GHC.Internal.Prim", "negateInt64#"),+ ('9', 259, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt64#"),+ ('9', 260, InTerms, Just "GHC.Internal.Prim", "plusInt64#"),+ ('9', 261, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt64#"),+ ('9', 262, InTerms, Just "GHC.Internal.Prim", "subInt64#"),+ ('9', 263, InTerms, Just "GHC.Internal.PrimopWrappers", "subInt64#"),+ ('9', 264, InTerms, Just "GHC.Internal.Prim", "timesInt64#"),+ ('9', 265, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt64#"),+ ('9', 266, InTerms, Just "GHC.Internal.Prim", "quotInt64#"),+ ('9', 267, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt64#"),+ ('9', 268, InTerms, Just "GHC.Internal.Prim", "remInt64#"),+ ('9', 269, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt64#"),+ ('9', 270, InTerms, Just "GHC.Internal.Prim", "uncheckedIShiftL64#"),+ ('9', 271, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedIShiftL64#"),+ ('9', 272, InTerms, Just "GHC.Internal.Prim", "uncheckedIShiftRA64#"),+ ('9', 273, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedIShiftRA64#"),+ ('9', 274, InTerms, Just "GHC.Internal.Prim", "uncheckedIShiftRL64#"),+ ('9', 275, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedIShiftRL64#"),+ ('9', 276, InTerms, Just "GHC.Internal.Prim", "int64ToWord64#"),+ ('9', 277, InTerms, Just "GHC.Internal.PrimopWrappers", "int64ToWord64#"),+ ('9', 278, InTerms, Just "GHC.Internal.Prim", "eqInt64#"),+ ('9', 279, InTerms, Just "GHC.Internal.PrimopWrappers", "eqInt64#"),+ ('9', 280, InTerms, Just "GHC.Internal.Prim", "geInt64#"),+ ('9', 281, InTerms, Just "GHC.Internal.PrimopWrappers", "geInt64#"),+ ('9', 282, InTerms, Just "GHC.Internal.Prim", "gtInt64#"),+ ('9', 283, InTerms, Just "GHC.Internal.PrimopWrappers", "gtInt64#"),+ ('9', 284, InTerms, Just "GHC.Internal.Prim", "leInt64#"),+ ('9', 285, InTerms, Just "GHC.Internal.PrimopWrappers", "leInt64#"),+ ('9', 286, InTerms, Just "GHC.Internal.Prim", "ltInt64#"),+ ('9', 287, InTerms, Just "GHC.Internal.PrimopWrappers", "ltInt64#"),+ ('9', 288, InTerms, Just "GHC.Internal.Prim", "neInt64#"),+ ('9', 289, InTerms, Just "GHC.Internal.PrimopWrappers", "neInt64#"),+ ('9', 290, InTerms, Just "GHC.Internal.Prim", "word64ToWord#"),+ ('9', 291, InTerms, Just "GHC.Internal.PrimopWrappers", "word64ToWord#"),+ ('9', 292, InTerms, Just "GHC.Internal.Prim", "wordToWord64#"),+ ('9', 293, InTerms, Just "GHC.Internal.PrimopWrappers", "wordToWord64#"),+ ('9', 294, InTerms, Just "GHC.Internal.Prim", "plusWord64#"),+ ('9', 295, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord64#"),+ ('9', 296, InTerms, Just "GHC.Internal.Prim", "subWord64#"),+ ('9', 297, InTerms, Just "GHC.Internal.PrimopWrappers", "subWord64#"),+ ('9', 298, InTerms, Just "GHC.Internal.Prim", "timesWord64#"),+ ('9', 299, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord64#"),+ ('9', 300, InTerms, Just "GHC.Internal.Prim", "quotWord64#"),+ ('9', 301, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord64#"),+ ('9', 302, InTerms, Just "GHC.Internal.Prim", "remWord64#"),+ ('9', 303, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord64#"),+ ('9', 304, InTerms, Just "GHC.Internal.Prim", "and64#"),+ ('9', 305, InTerms, Just "GHC.Internal.PrimopWrappers", "and64#"),+ ('9', 306, InTerms, Just "GHC.Internal.Prim", "or64#"),+ ('9', 307, InTerms, Just "GHC.Internal.PrimopWrappers", "or64#"),+ ('9', 308, InTerms, Just "GHC.Internal.Prim", "xor64#"),+ ('9', 309, InTerms, Just "GHC.Internal.PrimopWrappers", "xor64#"),+ ('9', 310, InTerms, Just "GHC.Internal.Prim", "not64#"),+ ('9', 311, InTerms, Just "GHC.Internal.PrimopWrappers", "not64#"),+ ('9', 312, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftL64#"),+ ('9', 313, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftL64#"),+ ('9', 314, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRL64#"),+ ('9', 315, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRL64#"),+ ('9', 316, InTerms, Just "GHC.Internal.Prim", "word64ToInt64#"),+ ('9', 317, InTerms, Just "GHC.Internal.PrimopWrappers", "word64ToInt64#"),+ ('9', 318, InTerms, Just "GHC.Internal.Prim", "eqWord64#"),+ ('9', 319, InTerms, Just "GHC.Internal.PrimopWrappers", "eqWord64#"),+ ('9', 320, InTerms, Just "GHC.Internal.Prim", "geWord64#"),+ ('9', 321, InTerms, Just "GHC.Internal.PrimopWrappers", "geWord64#"),+ ('9', 322, InTerms, Just "GHC.Internal.Prim", "gtWord64#"),+ ('9', 323, InTerms, Just "GHC.Internal.PrimopWrappers", "gtWord64#"),+ ('9', 324, InTerms, Just "GHC.Internal.Prim", "leWord64#"),+ ('9', 325, InTerms, Just "GHC.Internal.PrimopWrappers", "leWord64#"),+ ('9', 326, InTerms, Just "GHC.Internal.Prim", "ltWord64#"),+ ('9', 327, InTerms, Just "GHC.Internal.PrimopWrappers", "ltWord64#"),+ ('9', 328, InTerms, Just "GHC.Internal.Prim", "neWord64#"),+ ('9', 329, InTerms, Just "GHC.Internal.PrimopWrappers", "neWord64#"),+ ('9', 330, InTerms, Just "GHC.Internal.Prim", "+#"),+ ('9', 331, InTerms, Just "GHC.Internal.PrimopWrappers", "+#"),+ ('9', 332, InTerms, Just "GHC.Internal.Prim", "-#"),+ ('9', 333, InTerms, Just "GHC.Internal.PrimopWrappers", "-#"),+ ('9', 334, InTerms, Just "GHC.Internal.Prim", "*#"),+ ('9', 335, InTerms, Just "GHC.Internal.PrimopWrappers", "*#"),+ ('9', 336, InTerms, Just "GHC.Internal.Prim", "timesInt2#"),+ ('9', 337, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt2#"),+ ('9', 338, InTerms, Just "GHC.Internal.Prim", "mulIntMayOflo#"),+ ('9', 339, InTerms, Just "GHC.Internal.PrimopWrappers", "mulIntMayOflo#"),+ ('9', 340, InTerms, Just "GHC.Internal.Prim", "quotInt#"),+ ('9', 341, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt#"),+ ('9', 342, InTerms, Just "GHC.Internal.Prim", "remInt#"),+ ('9', 343, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt#"),+ ('9', 344, InTerms, Just "GHC.Internal.Prim", "quotRemInt#"),+ ('9', 345, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemInt#"),+ ('9', 346, InTerms, Just "GHC.Internal.Prim", "andI#"),+ ('9', 347, InTerms, Just "GHC.Internal.PrimopWrappers", "andI#"),+ ('9', 348, InTerms, Just "GHC.Internal.Prim", "orI#"),+ ('9', 349, InTerms, Just "GHC.Internal.PrimopWrappers", "orI#"),+ ('9', 350, InTerms, Just "GHC.Internal.Prim", "xorI#"),+ ('9', 351, InTerms, Just "GHC.Internal.PrimopWrappers", "xorI#"),+ ('9', 352, InTerms, Just "GHC.Internal.Prim", "notI#"),+ ('9', 353, InTerms, Just "GHC.Internal.PrimopWrappers", "notI#"),+ ('9', 354, InTerms, Just "GHC.Internal.Prim", "negateInt#"),+ ('9', 355, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt#"),+ ('9', 356, InTerms, Just "GHC.Internal.Prim", "addIntC#"),+ ('9', 357, InTerms, Just "GHC.Internal.PrimopWrappers", "addIntC#"),+ ('9', 358, InTerms, Just "GHC.Internal.Prim", "subIntC#"),+ ('9', 359, InTerms, Just "GHC.Internal.PrimopWrappers", "subIntC#"),+ ('9', 360, InTerms, Just "GHC.Internal.Prim", ">#"),+ ('9', 361, InTerms, Just "GHC.Internal.PrimopWrappers", ">#"),+ ('9', 362, InTerms, Just "GHC.Internal.Prim", ">=#"),+ ('9', 363, InTerms, Just "GHC.Internal.PrimopWrappers", ">=#"),+ ('9', 364, InTerms, Just "GHC.Internal.Prim", "==#"),+ ('9', 365, InTerms, Just "GHC.Internal.PrimopWrappers", "==#"),+ ('9', 366, InTerms, Just "GHC.Internal.Prim", "/=#"),+ ('9', 367, InTerms, Just "GHC.Internal.PrimopWrappers", "/=#"),+ ('9', 368, InTerms, Just "GHC.Internal.Prim", "<#"),+ ('9', 369, InTerms, Just "GHC.Internal.PrimopWrappers", "<#"),+ ('9', 370, InTerms, Just "GHC.Internal.Prim", "<=#"),+ ('9', 371, InTerms, Just "GHC.Internal.PrimopWrappers", "<=#"),+ ('9', 372, InTerms, Just "GHC.Internal.Prim", "chr#"),+ ('9', 373, InTerms, Just "GHC.Internal.PrimopWrappers", "chr#"),+ ('9', 374, InTerms, Just "GHC.Internal.Prim", "int2Word#"),+ ('9', 375, InTerms, Just "GHC.Internal.PrimopWrappers", "int2Word#"),+ ('9', 376, InTerms, Just "GHC.Internal.Prim", "int2Float#"),+ ('9', 377, InTerms, Just "GHC.Internal.PrimopWrappers", "int2Float#"),+ ('9', 378, InTerms, Just "GHC.Internal.Prim", "int2Double#"),+ ('9', 379, InTerms, Just "GHC.Internal.PrimopWrappers", "int2Double#"),+ ('9', 380, InTerms, Just "GHC.Internal.Prim", "word2Float#"),+ ('9', 381, InTerms, Just "GHC.Internal.PrimopWrappers", "word2Float#"),+ ('9', 382, InTerms, Just "GHC.Internal.Prim", "word2Double#"),+ ('9', 383, InTerms, Just "GHC.Internal.PrimopWrappers", "word2Double#"),+ ('9', 384, InTerms, Just "GHC.Internal.Prim", "uncheckedIShiftL#"),+ ('9', 385, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedIShiftL#"),+ ('9', 386, InTerms, Just "GHC.Internal.Prim", "uncheckedIShiftRA#"),+ ('9', 387, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedIShiftRA#"),+ ('9', 388, InTerms, Just "GHC.Internal.Prim", "uncheckedIShiftRL#"),+ ('9', 389, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedIShiftRL#"),+ ('9', 390, InTerms, Just "GHC.Internal.Prim", "plusWord#"),+ ('9', 391, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord#"),+ ('9', 392, InTerms, Just "GHC.Internal.Prim", "addWordC#"),+ ('9', 393, InTerms, Just "GHC.Internal.PrimopWrappers", "addWordC#"),+ ('9', 394, InTerms, Just "GHC.Internal.Prim", "subWordC#"),+ ('9', 395, InTerms, Just "GHC.Internal.PrimopWrappers", "subWordC#"),+ ('9', 396, InTerms, Just "GHC.Internal.Prim", "plusWord2#"),+ ('9', 397, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord2#"),+ ('9', 398, InTerms, Just "GHC.Internal.Prim", "minusWord#"),+ ('9', 399, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord#"),+ ('9', 400, InTerms, Just "GHC.Internal.Prim", "timesWord#"),+ ('9', 401, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord#"),+ ('9', 402, InTerms, Just "GHC.Internal.Prim", "timesWord2#"),+ ('9', 403, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord2#"),+ ('9', 404, InTerms, Just "GHC.Internal.Prim", "quotWord#"),+ ('9', 405, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord#"),+ ('9', 406, InTerms, Just "GHC.Internal.Prim", "remWord#"),+ ('9', 407, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord#"),+ ('9', 408, InTerms, Just "GHC.Internal.Prim", "quotRemWord#"),+ ('9', 409, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemWord#"),+ ('9', 410, InTerms, Just "GHC.Internal.Prim", "quotRemWord2#"),+ ('9', 411, InTerms, Just "GHC.Internal.PrimopWrappers", "quotRemWord2#"),+ ('9', 412, InTerms, Just "GHC.Internal.Prim", "and#"),+ ('9', 413, InTerms, Just "GHC.Internal.PrimopWrappers", "and#"),+ ('9', 414, InTerms, Just "GHC.Internal.Prim", "or#"),+ ('9', 415, InTerms, Just "GHC.Internal.PrimopWrappers", "or#"),+ ('9', 416, InTerms, Just "GHC.Internal.Prim", "xor#"),+ ('9', 417, InTerms, Just "GHC.Internal.PrimopWrappers", "xor#"),+ ('9', 418, InTerms, Just "GHC.Internal.Prim", "not#"),+ ('9', 419, InTerms, Just "GHC.Internal.PrimopWrappers", "not#"),+ ('9', 420, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftL#"),+ ('9', 421, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftL#"),+ ('9', 422, InTerms, Just "GHC.Internal.Prim", "uncheckedShiftRL#"),+ ('9', 423, InTerms, Just "GHC.Internal.PrimopWrappers", "uncheckedShiftRL#"),+ ('9', 424, InTerms, Just "GHC.Internal.Prim", "word2Int#"),+ ('9', 425, InTerms, Just "GHC.Internal.PrimopWrappers", "word2Int#"),+ ('9', 426, InTerms, Just "GHC.Internal.Prim", "gtWord#"),+ ('9', 427, InTerms, Just "GHC.Internal.PrimopWrappers", "gtWord#"),+ ('9', 428, InTerms, Just "GHC.Internal.Prim", "geWord#"),+ ('9', 429, InTerms, Just "GHC.Internal.PrimopWrappers", "geWord#"),+ ('9', 430, InTerms, Just "GHC.Internal.Prim", "eqWord#"),+ ('9', 431, InTerms, Just "GHC.Internal.PrimopWrappers", "eqWord#"),+ ('9', 432, InTerms, Just "GHC.Internal.Prim", "neWord#"),+ ('9', 433, InTerms, Just "GHC.Internal.PrimopWrappers", "neWord#"),+ ('9', 434, InTerms, Just "GHC.Internal.Prim", "ltWord#"),+ ('9', 435, InTerms, Just "GHC.Internal.PrimopWrappers", "ltWord#"),+ ('9', 436, InTerms, Just "GHC.Internal.Prim", "leWord#"),+ ('9', 437, InTerms, Just "GHC.Internal.PrimopWrappers", "leWord#"),+ ('9', 438, InTerms, Just "GHC.Internal.Prim", "popCnt8#"),+ ('9', 439, InTerms, Just "GHC.Internal.PrimopWrappers", "popCnt8#"),+ ('9', 440, InTerms, Just "GHC.Internal.Prim", "popCnt16#"),+ ('9', 441, InTerms, Just "GHC.Internal.PrimopWrappers", "popCnt16#"),+ ('9', 442, InTerms, Just "GHC.Internal.Prim", "popCnt32#"),+ ('9', 443, InTerms, Just "GHC.Internal.PrimopWrappers", "popCnt32#"),+ ('9', 444, InTerms, Just "GHC.Internal.Prim", "popCnt64#"),+ ('9', 445, InTerms, Just "GHC.Internal.PrimopWrappers", "popCnt64#"),+ ('9', 446, InTerms, Just "GHC.Internal.Prim", "popCnt#"),+ ('9', 447, InTerms, Just "GHC.Internal.PrimopWrappers", "popCnt#"),+ ('9', 448, InTerms, Just "GHC.Internal.Prim", "pdep8#"),+ ('9', 449, InTerms, Just "GHC.Internal.PrimopWrappers", "pdep8#"),+ ('9', 450, InTerms, Just "GHC.Internal.Prim", "pdep16#"),+ ('9', 451, InTerms, Just "GHC.Internal.PrimopWrappers", "pdep16#"),+ ('9', 452, InTerms, Just "GHC.Internal.Prim", "pdep32#"),+ ('9', 453, InTerms, Just "GHC.Internal.PrimopWrappers", "pdep32#"),+ ('9', 454, InTerms, Just "GHC.Internal.Prim", "pdep64#"),+ ('9', 455, InTerms, Just "GHC.Internal.PrimopWrappers", "pdep64#"),+ ('9', 456, InTerms, Just "GHC.Internal.Prim", "pdep#"),+ ('9', 457, InTerms, Just "GHC.Internal.PrimopWrappers", "pdep#"),+ ('9', 458, InTerms, Just "GHC.Internal.Prim", "pext8#"),+ ('9', 459, InTerms, Just "GHC.Internal.PrimopWrappers", "pext8#"),+ ('9', 460, InTerms, Just "GHC.Internal.Prim", "pext16#"),+ ('9', 461, InTerms, Just "GHC.Internal.PrimopWrappers", "pext16#"),+ ('9', 462, InTerms, Just "GHC.Internal.Prim", "pext32#"),+ ('9', 463, InTerms, Just "GHC.Internal.PrimopWrappers", "pext32#"),+ ('9', 464, InTerms, Just "GHC.Internal.Prim", "pext64#"),+ ('9', 465, InTerms, Just "GHC.Internal.PrimopWrappers", "pext64#"),+ ('9', 466, InTerms, Just "GHC.Internal.Prim", "pext#"),+ ('9', 467, InTerms, Just "GHC.Internal.PrimopWrappers", "pext#"),+ ('9', 468, InTerms, Just "GHC.Internal.Prim", "clz8#"),+ ('9', 469, InTerms, Just "GHC.Internal.PrimopWrappers", "clz8#"),+ ('9', 470, InTerms, Just "GHC.Internal.Prim", "clz16#"),+ ('9', 471, InTerms, Just "GHC.Internal.PrimopWrappers", "clz16#"),+ ('9', 472, InTerms, Just "GHC.Internal.Prim", "clz32#"),+ ('9', 473, InTerms, Just "GHC.Internal.PrimopWrappers", "clz32#"),+ ('9', 474, InTerms, Just "GHC.Internal.Prim", "clz64#"),+ ('9', 475, InTerms, Just "GHC.Internal.PrimopWrappers", "clz64#"),+ ('9', 476, InTerms, Just "GHC.Internal.Prim", "clz#"),+ ('9', 477, InTerms, Just "GHC.Internal.PrimopWrappers", "clz#"),+ ('9', 478, InTerms, Just "GHC.Internal.Prim", "ctz8#"),+ ('9', 479, InTerms, Just "GHC.Internal.PrimopWrappers", "ctz8#"),+ ('9', 480, InTerms, Just "GHC.Internal.Prim", "ctz16#"),+ ('9', 481, InTerms, Just "GHC.Internal.PrimopWrappers", "ctz16#"),+ ('9', 482, InTerms, Just "GHC.Internal.Prim", "ctz32#"),+ ('9', 483, InTerms, Just "GHC.Internal.PrimopWrappers", "ctz32#"),+ ('9', 484, InTerms, Just "GHC.Internal.Prim", "ctz64#"),+ ('9', 485, InTerms, Just "GHC.Internal.PrimopWrappers", "ctz64#"),+ ('9', 486, InTerms, Just "GHC.Internal.Prim", "ctz#"),+ ('9', 487, InTerms, Just "GHC.Internal.PrimopWrappers", "ctz#"),+ ('9', 488, InTerms, Just "GHC.Internal.Prim", "byteSwap16#"),+ ('9', 489, InTerms, Just "GHC.Internal.PrimopWrappers", "byteSwap16#"),+ ('9', 490, InTerms, Just "GHC.Internal.Prim", "byteSwap32#"),+ ('9', 491, InTerms, Just "GHC.Internal.PrimopWrappers", "byteSwap32#"),+ ('9', 492, InTerms, Just "GHC.Internal.Prim", "byteSwap64#"),+ ('9', 493, InTerms, Just "GHC.Internal.PrimopWrappers", "byteSwap64#"),+ ('9', 494, InTerms, Just "GHC.Internal.Prim", "byteSwap#"),+ ('9', 495, InTerms, Just "GHC.Internal.PrimopWrappers", "byteSwap#"),+ ('9', 496, InTerms, Just "GHC.Internal.Prim", "bitReverse8#"),+ ('9', 497, InTerms, Just "GHC.Internal.PrimopWrappers", "bitReverse8#"),+ ('9', 498, InTerms, Just "GHC.Internal.Prim", "bitReverse16#"),+ ('9', 499, InTerms, Just "GHC.Internal.PrimopWrappers", "bitReverse16#"),+ ('9', 500, InTerms, Just "GHC.Internal.Prim", "bitReverse32#"),+ ('9', 501, InTerms, Just "GHC.Internal.PrimopWrappers", "bitReverse32#"),+ ('9', 502, InTerms, Just "GHC.Internal.Prim", "bitReverse64#"),+ ('9', 503, InTerms, Just "GHC.Internal.PrimopWrappers", "bitReverse64#"),+ ('9', 504, InTerms, Just "GHC.Internal.Prim", "bitReverse#"),+ ('9', 505, InTerms, Just "GHC.Internal.PrimopWrappers", "bitReverse#"),+ ('9', 506, InTerms, Just "GHC.Internal.Prim", "narrow8Int#"),+ ('9', 507, InTerms, Just "GHC.Internal.PrimopWrappers", "narrow8Int#"),+ ('9', 508, InTerms, Just "GHC.Internal.Prim", "narrow16Int#"),+ ('9', 509, InTerms, Just "GHC.Internal.PrimopWrappers", "narrow16Int#"),+ ('9', 510, InTerms, Just "GHC.Internal.Prim", "narrow32Int#"),+ ('9', 511, InTerms, Just "GHC.Internal.PrimopWrappers", "narrow32Int#"),+ ('9', 512, InTerms, Just "GHC.Internal.Prim", "narrow8Word#"),+ ('9', 513, InTerms, Just "GHC.Internal.PrimopWrappers", "narrow8Word#"),+ ('9', 514, InTerms, Just "GHC.Internal.Prim", "narrow16Word#"),+ ('9', 515, InTerms, Just "GHC.Internal.PrimopWrappers", "narrow16Word#"),+ ('9', 516, InTerms, Just "GHC.Internal.Prim", "narrow32Word#"),+ ('9', 517, InTerms, Just "GHC.Internal.PrimopWrappers", "narrow32Word#"),+ ('9', 518, InTerms, Just "GHC.Internal.Prim", ">##"),+ ('9', 519, InTerms, Just "GHC.Internal.PrimopWrappers", ">##"),+ ('9', 520, InTerms, Just "GHC.Internal.Prim", ">=##"),+ ('9', 521, InTerms, Just "GHC.Internal.PrimopWrappers", ">=##"),+ ('9', 522, InTerms, Just "GHC.Internal.Prim", "==##"),+ ('9', 523, InTerms, Just "GHC.Internal.PrimopWrappers", "==##"),+ ('9', 524, InTerms, Just "GHC.Internal.Prim", "/=##"),+ ('9', 525, InTerms, Just "GHC.Internal.PrimopWrappers", "/=##"),+ ('9', 526, InTerms, Just "GHC.Internal.Prim", "<##"),+ ('9', 527, InTerms, Just "GHC.Internal.PrimopWrappers", "<##"),+ ('9', 528, InTerms, Just "GHC.Internal.Prim", "<=##"),+ ('9', 529, InTerms, Just "GHC.Internal.PrimopWrappers", "<=##"),+ ('9', 530, InTerms, Just "GHC.Internal.Prim", "minDouble#"),+ ('9', 531, InTerms, Just "GHC.Internal.PrimopWrappers", "minDouble#"),+ ('9', 532, InTerms, Just "GHC.Internal.Prim", "maxDouble#"),+ ('9', 533, InTerms, Just "GHC.Internal.PrimopWrappers", "maxDouble#"),+ ('9', 534, InTerms, Just "GHC.Internal.Prim", "+##"),+ ('9', 535, InTerms, Just "GHC.Internal.PrimopWrappers", "+##"),+ ('9', 536, InTerms, Just "GHC.Internal.Prim", "-##"),+ ('9', 537, InTerms, Just "GHC.Internal.PrimopWrappers", "-##"),+ ('9', 538, InTerms, Just "GHC.Internal.Prim", "*##"),+ ('9', 539, InTerms, Just "GHC.Internal.PrimopWrappers", "*##"),+ ('9', 540, InTerms, Just "GHC.Internal.Prim", "/##"),+ ('9', 541, InTerms, Just "GHC.Internal.PrimopWrappers", "/##"),+ ('9', 542, InTerms, Just "GHC.Internal.Prim", "negateDouble#"),+ ('9', 543, InTerms, Just "GHC.Internal.PrimopWrappers", "negateDouble#"),+ ('9', 544, InTerms, Just "GHC.Internal.Prim", "fabsDouble#"),+ ('9', 545, InTerms, Just "GHC.Internal.PrimopWrappers", "fabsDouble#"),+ ('9', 546, InTerms, Just "GHC.Internal.Prim", "double2Int#"),+ ('9', 547, InTerms, Just "GHC.Internal.PrimopWrappers", "double2Int#"),+ ('9', 548, InTerms, Just "GHC.Internal.Prim", "double2Float#"),+ ('9', 549, InTerms, Just "GHC.Internal.PrimopWrappers", "double2Float#"),+ ('9', 550, InTerms, Just "GHC.Internal.Prim", "expDouble#"),+ ('9', 551, InTerms, Just "GHC.Internal.PrimopWrappers", "expDouble#"),+ ('9', 552, InTerms, Just "GHC.Internal.Prim", "expm1Double#"),+ ('9', 553, InTerms, Just "GHC.Internal.PrimopWrappers", "expm1Double#"),+ ('9', 554, InTerms, Just "GHC.Internal.Prim", "logDouble#"),+ ('9', 555, InTerms, Just "GHC.Internal.PrimopWrappers", "logDouble#"),+ ('9', 556, InTerms, Just "GHC.Internal.Prim", "log1pDouble#"),+ ('9', 557, InTerms, Just "GHC.Internal.PrimopWrappers", "log1pDouble#"),+ ('9', 558, InTerms, Just "GHC.Internal.Prim", "sqrtDouble#"),+ ('9', 559, InTerms, Just "GHC.Internal.PrimopWrappers", "sqrtDouble#"),+ ('9', 560, InTerms, Just "GHC.Internal.Prim", "sinDouble#"),+ ('9', 561, InTerms, Just "GHC.Internal.PrimopWrappers", "sinDouble#"),+ ('9', 562, InTerms, Just "GHC.Internal.Prim", "cosDouble#"),+ ('9', 563, InTerms, Just "GHC.Internal.PrimopWrappers", "cosDouble#"),+ ('9', 564, InTerms, Just "GHC.Internal.Prim", "tanDouble#"),+ ('9', 565, InTerms, Just "GHC.Internal.PrimopWrappers", "tanDouble#"),+ ('9', 566, InTerms, Just "GHC.Internal.Prim", "asinDouble#"),+ ('9', 567, InTerms, Just "GHC.Internal.PrimopWrappers", "asinDouble#"),+ ('9', 568, InTerms, Just "GHC.Internal.Prim", "acosDouble#"),+ ('9', 569, InTerms, Just "GHC.Internal.PrimopWrappers", "acosDouble#"),+ ('9', 570, InTerms, Just "GHC.Internal.Prim", "atanDouble#"),+ ('9', 571, InTerms, Just "GHC.Internal.PrimopWrappers", "atanDouble#"),+ ('9', 572, InTerms, Just "GHC.Internal.Prim", "sinhDouble#"),+ ('9', 573, InTerms, Just "GHC.Internal.PrimopWrappers", "sinhDouble#"),+ ('9', 574, InTerms, Just "GHC.Internal.Prim", "coshDouble#"),+ ('9', 575, InTerms, Just "GHC.Internal.PrimopWrappers", "coshDouble#"),+ ('9', 576, InTerms, Just "GHC.Internal.Prim", "tanhDouble#"),+ ('9', 577, InTerms, Just "GHC.Internal.PrimopWrappers", "tanhDouble#"),+ ('9', 578, InTerms, Just "GHC.Internal.Prim", "asinhDouble#"),+ ('9', 579, InTerms, Just "GHC.Internal.PrimopWrappers", "asinhDouble#"),+ ('9', 580, InTerms, Just "GHC.Internal.Prim", "acoshDouble#"),+ ('9', 581, InTerms, Just "GHC.Internal.PrimopWrappers", "acoshDouble#"),+ ('9', 582, InTerms, Just "GHC.Internal.Prim", "atanhDouble#"),+ ('9', 583, InTerms, Just "GHC.Internal.PrimopWrappers", "atanhDouble#"),+ ('9', 584, InTerms, Just "GHC.Internal.Prim", "**##"),+ ('9', 585, InTerms, Just "GHC.Internal.PrimopWrappers", "**##"),+ ('9', 586, InTerms, Just "GHC.Internal.Prim", "decodeDouble_2Int#"),+ ('9', 587, InTerms, Just "GHC.Internal.PrimopWrappers", "decodeDouble_2Int#"),+ ('9', 588, InTerms, Just "GHC.Internal.Prim", "decodeDouble_Int64#"),+ ('9', 589, InTerms, Just "GHC.Internal.PrimopWrappers", "decodeDouble_Int64#"),+ ('9', 590, InTerms, Just "GHC.Internal.Prim", "castDoubleToWord64#"),+ ('9', 591, InTerms, Just "GHC.Internal.PrimopWrappers", "castDoubleToWord64#"),+ ('9', 592, InTerms, Just "GHC.Internal.Prim", "castWord64ToDouble#"),+ ('9', 593, InTerms, Just "GHC.Internal.PrimopWrappers", "castWord64ToDouble#"),+ ('9', 594, InTerms, Just "GHC.Internal.Prim", "gtFloat#"),+ ('9', 595, InTerms, Just "GHC.Internal.PrimopWrappers", "gtFloat#"),+ ('9', 596, InTerms, Just "GHC.Internal.Prim", "geFloat#"),+ ('9', 597, InTerms, Just "GHC.Internal.PrimopWrappers", "geFloat#"),+ ('9', 598, InTerms, Just "GHC.Internal.Prim", "eqFloat#"),+ ('9', 599, InTerms, Just "GHC.Internal.PrimopWrappers", "eqFloat#"),+ ('9', 600, InTerms, Just "GHC.Internal.Prim", "neFloat#"),+ ('9', 601, InTerms, Just "GHC.Internal.PrimopWrappers", "neFloat#"),+ ('9', 602, InTerms, Just "GHC.Internal.Prim", "ltFloat#"),+ ('9', 603, InTerms, Just "GHC.Internal.PrimopWrappers", "ltFloat#"),+ ('9', 604, InTerms, Just "GHC.Internal.Prim", "leFloat#"),+ ('9', 605, InTerms, Just "GHC.Internal.PrimopWrappers", "leFloat#"),+ ('9', 606, InTerms, Just "GHC.Internal.Prim", "minFloat#"),+ ('9', 607, InTerms, Just "GHC.Internal.PrimopWrappers", "minFloat#"),+ ('9', 608, InTerms, Just "GHC.Internal.Prim", "maxFloat#"),+ ('9', 609, InTerms, Just "GHC.Internal.PrimopWrappers", "maxFloat#"),+ ('9', 610, InTerms, Just "GHC.Internal.Prim", "plusFloat#"),+ ('9', 611, InTerms, Just "GHC.Internal.PrimopWrappers", "plusFloat#"),+ ('9', 612, InTerms, Just "GHC.Internal.Prim", "minusFloat#"),+ ('9', 613, InTerms, Just "GHC.Internal.PrimopWrappers", "minusFloat#"),+ ('9', 614, InTerms, Just "GHC.Internal.Prim", "timesFloat#"),+ ('9', 615, InTerms, Just "GHC.Internal.PrimopWrappers", "timesFloat#"),+ ('9', 616, InTerms, Just "GHC.Internal.Prim", "divideFloat#"),+ ('9', 617, InTerms, Just "GHC.Internal.PrimopWrappers", "divideFloat#"),+ ('9', 618, InTerms, Just "GHC.Internal.Prim", "negateFloat#"),+ ('9', 619, InTerms, Just "GHC.Internal.PrimopWrappers", "negateFloat#"),+ ('9', 620, InTerms, Just "GHC.Internal.Prim", "fabsFloat#"),+ ('9', 621, InTerms, Just "GHC.Internal.PrimopWrappers", "fabsFloat#"),+ ('9', 622, InTerms, Just "GHC.Internal.Prim", "float2Int#"),+ ('9', 623, InTerms, Just "GHC.Internal.PrimopWrappers", "float2Int#"),+ ('9', 624, InTerms, Just "GHC.Internal.Prim", "expFloat#"),+ ('9', 625, InTerms, Just "GHC.Internal.PrimopWrappers", "expFloat#"),+ ('9', 626, InTerms, Just "GHC.Internal.Prim", "expm1Float#"),+ ('9', 627, InTerms, Just "GHC.Internal.PrimopWrappers", "expm1Float#"),+ ('9', 628, InTerms, Just "GHC.Internal.Prim", "logFloat#"),+ ('9', 629, InTerms, Just "GHC.Internal.PrimopWrappers", "logFloat#"),+ ('9', 630, InTerms, Just "GHC.Internal.Prim", "log1pFloat#"),+ ('9', 631, InTerms, Just "GHC.Internal.PrimopWrappers", "log1pFloat#"),+ ('9', 632, InTerms, Just "GHC.Internal.Prim", "sqrtFloat#"),+ ('9', 633, InTerms, Just "GHC.Internal.PrimopWrappers", "sqrtFloat#"),+ ('9', 634, InTerms, Just "GHC.Internal.Prim", "sinFloat#"),+ ('9', 635, InTerms, Just "GHC.Internal.PrimopWrappers", "sinFloat#"),+ ('9', 636, InTerms, Just "GHC.Internal.Prim", "cosFloat#"),+ ('9', 637, InTerms, Just "GHC.Internal.PrimopWrappers", "cosFloat#"),+ ('9', 638, InTerms, Just "GHC.Internal.Prim", "tanFloat#"),+ ('9', 639, InTerms, Just "GHC.Internal.PrimopWrappers", "tanFloat#"),+ ('9', 640, InTerms, Just "GHC.Internal.Prim", "asinFloat#"),+ ('9', 641, InTerms, Just "GHC.Internal.PrimopWrappers", "asinFloat#"),+ ('9', 642, InTerms, Just "GHC.Internal.Prim", "acosFloat#"),+ ('9', 643, InTerms, Just "GHC.Internal.PrimopWrappers", "acosFloat#"),+ ('9', 644, InTerms, Just "GHC.Internal.Prim", "atanFloat#"),+ ('9', 645, InTerms, Just "GHC.Internal.PrimopWrappers", "atanFloat#"),+ ('9', 646, InTerms, Just "GHC.Internal.Prim", "sinhFloat#"),+ ('9', 647, InTerms, Just "GHC.Internal.PrimopWrappers", "sinhFloat#"),+ ('9', 648, InTerms, Just "GHC.Internal.Prim", "coshFloat#"),+ ('9', 649, InTerms, Just "GHC.Internal.PrimopWrappers", "coshFloat#"),+ ('9', 650, InTerms, Just "GHC.Internal.Prim", "tanhFloat#"),+ ('9', 651, InTerms, Just "GHC.Internal.PrimopWrappers", "tanhFloat#"),+ ('9', 652, InTerms, Just "GHC.Internal.Prim", "asinhFloat#"),+ ('9', 653, InTerms, Just "GHC.Internal.PrimopWrappers", "asinhFloat#"),+ ('9', 654, InTerms, Just "GHC.Internal.Prim", "acoshFloat#"),+ ('9', 655, InTerms, Just "GHC.Internal.PrimopWrappers", "acoshFloat#"),+ ('9', 656, InTerms, Just "GHC.Internal.Prim", "atanhFloat#"),+ ('9', 657, InTerms, Just "GHC.Internal.PrimopWrappers", "atanhFloat#"),+ ('9', 658, InTerms, Just "GHC.Internal.Prim", "powerFloat#"),+ ('9', 659, InTerms, Just "GHC.Internal.PrimopWrappers", "powerFloat#"),+ ('9', 660, InTerms, Just "GHC.Internal.Prim", "float2Double#"),+ ('9', 661, InTerms, Just "GHC.Internal.PrimopWrappers", "float2Double#"),+ ('9', 662, InTerms, Just "GHC.Internal.Prim", "decodeFloat_Int#"),+ ('9', 663, InTerms, Just "GHC.Internal.PrimopWrappers", "decodeFloat_Int#"),+ ('9', 664, InTerms, Just "GHC.Internal.Prim", "castFloatToWord32#"),+ ('9', 665, InTerms, Just "GHC.Internal.PrimopWrappers", "castFloatToWord32#"),+ ('9', 666, InTerms, Just "GHC.Internal.Prim", "castWord32ToFloat#"),+ ('9', 667, InTerms, Just "GHC.Internal.PrimopWrappers", "castWord32ToFloat#"),+ ('9', 668, InTerms, Just "GHC.Internal.Prim", "fmaddFloat#"),+ ('9', 669, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddFloat#"),+ ('9', 670, InTerms, Just "GHC.Internal.Prim", "fmsubFloat#"),+ ('9', 671, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubFloat#"),+ ('9', 672, InTerms, Just "GHC.Internal.Prim", "fnmaddFloat#"),+ ('9', 673, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddFloat#"),+ ('9', 674, InTerms, Just "GHC.Internal.Prim", "fnmsubFloat#"),+ ('9', 675, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubFloat#"),+ ('9', 676, InTerms, Just "GHC.Internal.Prim", "fmaddDouble#"),+ ('9', 677, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddDouble#"),+ ('9', 678, InTerms, Just "GHC.Internal.Prim", "fmsubDouble#"),+ ('9', 679, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubDouble#"),+ ('9', 680, InTerms, Just "GHC.Internal.Prim", "fnmaddDouble#"),+ ('9', 681, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddDouble#"),+ ('9', 682, InTerms, Just "GHC.Internal.Prim", "fnmsubDouble#"),+ ('9', 683, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubDouble#"),+ ('9', 684, InTerms, Just "GHC.Internal.Prim", "newArray#"),+ ('9', 685, InTerms, Just "GHC.Internal.PrimopWrappers", "newArray#"),+ ('9', 686, InTerms, Just "GHC.Internal.Prim", "readArray#"),+ ('9', 687, InTerms, Just "GHC.Internal.PrimopWrappers", "readArray#"),+ ('9', 688, InTerms, Just "GHC.Internal.Prim", "writeArray#"),+ ('9', 689, InTerms, Just "GHC.Internal.PrimopWrappers", "writeArray#"),+ ('9', 690, InTerms, Just "GHC.Internal.Prim", "sizeofArray#"),+ ('9', 691, InTerms, Just "GHC.Internal.PrimopWrappers", "sizeofArray#"),+ ('9', 692, InTerms, Just "GHC.Internal.Prim", "sizeofMutableArray#"),+ ('9', 693, InTerms, Just "GHC.Internal.PrimopWrappers", "sizeofMutableArray#"),+ ('9', 694, InTerms, Just "GHC.Internal.Prim", "indexArray#"),+ ('9', 695, InTerms, Just "GHC.Internal.PrimopWrappers", "indexArray#"),+ ('9', 696, InTerms, Just "GHC.Internal.Prim", "unsafeFreezeArray#"),+ ('9', 697, InTerms, Just "GHC.Internal.PrimopWrappers", "unsafeFreezeArray#"),+ ('9', 698, InTerms, Just "GHC.Internal.Prim", "unsafeThawArray#"),+ ('9', 699, InTerms, Just "GHC.Internal.PrimopWrappers", "unsafeThawArray#"),+ ('9', 700, InTerms, Just "GHC.Internal.Prim", "copyArray#"),+ ('9', 701, InTerms, Just "GHC.Internal.PrimopWrappers", "copyArray#"),+ ('9', 702, InTerms, Just "GHC.Internal.Prim", "copyMutableArray#"),+ ('9', 703, InTerms, Just "GHC.Internal.PrimopWrappers", "copyMutableArray#"),+ ('9', 704, InTerms, Just "GHC.Internal.Prim", "cloneArray#"),+ ('9', 705, InTerms, Just "GHC.Internal.PrimopWrappers", "cloneArray#"),+ ('9', 706, InTerms, Just "GHC.Internal.Prim", "cloneMutableArray#"),+ ('9', 707, InTerms, Just "GHC.Internal.PrimopWrappers", "cloneMutableArray#"),+ ('9', 708, InTerms, Just "GHC.Internal.Prim", "freezeArray#"),+ ('9', 709, InTerms, Just "GHC.Internal.PrimopWrappers", "freezeArray#"),+ ('9', 710, InTerms, Just "GHC.Internal.Prim", "thawArray#"),+ ('9', 711, InTerms, Just "GHC.Internal.PrimopWrappers", "thawArray#"),+ ('9', 712, InTerms, Just "GHC.Internal.Prim", "casArray#"),+ ('9', 713, InTerms, Just "GHC.Internal.PrimopWrappers", "casArray#"),+ ('9', 714, InTerms, Just "GHC.Internal.Prim", "newSmallArray#"),+ ('9', 715, InTerms, Just "GHC.Internal.PrimopWrappers", "newSmallArray#"),+ ('9', 716, InTerms, Just "GHC.Internal.Prim", "shrinkSmallMutableArray#"),+ ('9', 717, InTerms, Just "GHC.Internal.PrimopWrappers", "shrinkSmallMutableArray#"),+ ('9', 718, InTerms, Just "GHC.Internal.Prim", "readSmallArray#"),+ ('9', 719, InTerms, Just "GHC.Internal.PrimopWrappers", "readSmallArray#"),+ ('9', 720, InTerms, Just "GHC.Internal.Prim", "writeSmallArray#"),+ ('9', 721, InTerms, Just "GHC.Internal.PrimopWrappers", "writeSmallArray#"),+ ('9', 722, InTerms, Just "GHC.Internal.Prim", "sizeofSmallArray#"),+ ('9', 723, InTerms, Just "GHC.Internal.PrimopWrappers", "sizeofSmallArray#"),+ ('9', 724, InTerms, Just "GHC.Internal.Prim", "sizeofSmallMutableArray#"),+ ('9', 725, InTerms, Just "GHC.Internal.PrimopWrappers", "sizeofSmallMutableArray#"),+ ('9', 726, InTerms, Just "GHC.Internal.Prim", "getSizeofSmallMutableArray#"),+ ('9', 727, InTerms, Just "GHC.Internal.PrimopWrappers", "getSizeofSmallMutableArray#"),+ ('9', 728, InTerms, Just "GHC.Internal.Prim", "indexSmallArray#"),+ ('9', 729, InTerms, Just "GHC.Internal.PrimopWrappers", "indexSmallArray#"),+ ('9', 730, InTerms, Just "GHC.Internal.Prim", "unsafeFreezeSmallArray#"),+ ('9', 731, InTerms, Just "GHC.Internal.PrimopWrappers", "unsafeFreezeSmallArray#"),+ ('9', 732, InTerms, Just "GHC.Internal.Prim", "unsafeThawSmallArray#"),+ ('9', 733, InTerms, Just "GHC.Internal.PrimopWrappers", "unsafeThawSmallArray#"),+ ('9', 734, InTerms, Just "GHC.Internal.Prim", "copySmallArray#"),+ ('9', 735, InTerms, Just "GHC.Internal.PrimopWrappers", "copySmallArray#"),+ ('9', 736, InTerms, Just "GHC.Internal.Prim", "copySmallMutableArray#"),+ ('9', 737, InTerms, Just "GHC.Internal.PrimopWrappers", "copySmallMutableArray#"),+ ('9', 738, InTerms, Just "GHC.Internal.Prim", "cloneSmallArray#"),+ ('9', 739, InTerms, Just "GHC.Internal.PrimopWrappers", "cloneSmallArray#"),+ ('9', 740, InTerms, Just "GHC.Internal.Prim", "cloneSmallMutableArray#"),+ ('9', 741, InTerms, Just "GHC.Internal.PrimopWrappers", "cloneSmallMutableArray#"),+ ('9', 742, InTerms, Just "GHC.Internal.Prim", "freezeSmallArray#"),+ ('9', 743, InTerms, Just "GHC.Internal.PrimopWrappers", "freezeSmallArray#"),+ ('9', 744, InTerms, Just "GHC.Internal.Prim", "thawSmallArray#"),+ ('9', 745, InTerms, Just "GHC.Internal.PrimopWrappers", "thawSmallArray#"),+ ('9', 746, InTerms, Just "GHC.Internal.Prim", "casSmallArray#"),+ ('9', 747, InTerms, Just "GHC.Internal.PrimopWrappers", "casSmallArray#"),+ ('9', 748, InTerms, Just "GHC.Internal.Prim", "newByteArray#"),+ ('9', 749, InTerms, Just "GHC.Internal.PrimopWrappers", "newByteArray#"),+ ('9', 750, InTerms, Just "GHC.Internal.Prim", "newPinnedByteArray#"),+ ('9', 751, InTerms, Just "GHC.Internal.PrimopWrappers", "newPinnedByteArray#"),+ ('9', 752, InTerms, Just "GHC.Internal.Prim", "newAlignedPinnedByteArray#"),+ ('9', 753, InTerms, Just "GHC.Internal.PrimopWrappers", "newAlignedPinnedByteArray#"),+ ('9', 754, InTerms, Just "GHC.Internal.Prim", "isMutableByteArrayPinned#"),+ ('9', 755, InTerms, Just "GHC.Internal.PrimopWrappers", "isMutableByteArrayPinned#"),+ ('9', 756, InTerms, Just "GHC.Internal.Prim", "isByteArrayPinned#"),+ ('9', 757, InTerms, Just "GHC.Internal.PrimopWrappers", "isByteArrayPinned#"),+ ('9', 758, InTerms, Just "GHC.Internal.Prim", "isByteArrayWeaklyPinned#"),+ ('9', 759, InTerms, Just "GHC.Internal.PrimopWrappers", "isByteArrayWeaklyPinned#"),+ ('9', 760, InTerms, Just "GHC.Internal.Prim", "isMutableByteArrayWeaklyPinned#"),+ ('9', 761, InTerms, Just "GHC.Internal.PrimopWrappers", "isMutableByteArrayWeaklyPinned#"),+ ('9', 762, InTerms, Just "GHC.Internal.Prim", "byteArrayContents#"),+ ('9', 763, InTerms, Just "GHC.Internal.PrimopWrappers", "byteArrayContents#"),+ ('9', 764, InTerms, Just "GHC.Internal.Prim", "mutableByteArrayContents#"),+ ('9', 765, InTerms, Just "GHC.Internal.PrimopWrappers", "mutableByteArrayContents#"),+ ('9', 766, InTerms, Just "GHC.Internal.Prim", "shrinkMutableByteArray#"),+ ('9', 767, InTerms, Just "GHC.Internal.PrimopWrappers", "shrinkMutableByteArray#"),+ ('9', 768, InTerms, Just "GHC.Internal.Prim", "resizeMutableByteArray#"),+ ('9', 769, InTerms, Just "GHC.Internal.PrimopWrappers", "resizeMutableByteArray#"),+ ('9', 770, InTerms, Just "GHC.Internal.Prim", "unsafeFreezeByteArray#"),+ ('9', 771, InTerms, Just "GHC.Internal.PrimopWrappers", "unsafeFreezeByteArray#"),+ ('9', 772, InTerms, Just "GHC.Internal.Prim", "unsafeThawByteArray#"),+ ('9', 773, InTerms, Just "GHC.Internal.PrimopWrappers", "unsafeThawByteArray#"),+ ('9', 774, InTerms, Just "GHC.Internal.Prim", "sizeofByteArray#"),+ ('9', 775, InTerms, Just "GHC.Internal.PrimopWrappers", "sizeofByteArray#"),+ ('9', 776, InTerms, Just "GHC.Internal.Prim", "sizeofMutableByteArray#"),+ ('9', 777, InTerms, Just "GHC.Internal.PrimopWrappers", "sizeofMutableByteArray#"),+ ('9', 778, InTerms, Just "GHC.Internal.Prim", "getSizeofMutableByteArray#"),+ ('9', 779, InTerms, Just "GHC.Internal.PrimopWrappers", "getSizeofMutableByteArray#"),+ ('9', 780, InTerms, Just "GHC.Internal.Prim", "indexCharArray#"),+ ('9', 781, InTerms, Just "GHC.Internal.PrimopWrappers", "indexCharArray#"),+ ('9', 782, InTerms, Just "GHC.Internal.Prim", "indexWideCharArray#"),+ ('9', 783, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWideCharArray#"),+ ('9', 784, InTerms, Just "GHC.Internal.Prim", "indexIntArray#"),+ ('9', 785, InTerms, Just "GHC.Internal.PrimopWrappers", "indexIntArray#"),+ ('9', 786, InTerms, Just "GHC.Internal.Prim", "indexWordArray#"),+ ('9', 787, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWordArray#"),+ ('9', 788, InTerms, Just "GHC.Internal.Prim", "indexAddrArray#"),+ ('9', 789, InTerms, Just "GHC.Internal.PrimopWrappers", "indexAddrArray#"),+ ('9', 790, InTerms, Just "GHC.Internal.Prim", "indexFloatArray#"),+ ('9', 791, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatArray#"),+ ('9', 792, InTerms, Just "GHC.Internal.Prim", "indexDoubleArray#"),+ ('9', 793, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleArray#"),+ ('9', 794, InTerms, Just "GHC.Internal.Prim", "indexStablePtrArray#"),+ ('9', 795, InTerms, Just "GHC.Internal.PrimopWrappers", "indexStablePtrArray#"),+ ('9', 796, InTerms, Just "GHC.Internal.Prim", "indexInt8Array#"),+ ('9', 797, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8Array#"),+ ('9', 798, InTerms, Just "GHC.Internal.Prim", "indexWord8Array#"),+ ('9', 799, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8Array#"),+ ('9', 800, InTerms, Just "GHC.Internal.Prim", "indexInt16Array#"),+ ('9', 801, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16Array#"),+ ('9', 802, InTerms, Just "GHC.Internal.Prim", "indexWord16Array#"),+ ('9', 803, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16Array#"),+ ('9', 804, InTerms, Just "GHC.Internal.Prim", "indexInt32Array#"),+ ('9', 805, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32Array#"),+ ('9', 806, InTerms, Just "GHC.Internal.Prim", "indexWord32Array#"),+ ('9', 807, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32Array#"),+ ('9', 808, InTerms, Just "GHC.Internal.Prim", "indexInt64Array#"),+ ('9', 809, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64Array#"),+ ('9', 810, InTerms, Just "GHC.Internal.Prim", "indexWord64Array#"),+ ('9', 811, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64Array#"),+ ('9', 812, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsChar#"),+ ('9', 813, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsChar#"),+ ('9', 814, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWideChar#"),+ ('9', 815, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWideChar#"),+ ('9', 816, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsInt#"),+ ('9', 817, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsInt#"),+ ('9', 818, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWord#"),+ ('9', 819, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWord#"),+ ('9', 820, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsAddr#"),+ ('9', 821, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsAddr#"),+ ('9', 822, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsFloat#"),+ ('9', 823, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsFloat#"),+ ('9', 824, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsDouble#"),+ ('9', 825, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsDouble#"),+ ('9', 826, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsStablePtr#"),+ ('9', 827, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsStablePtr#"),+ ('9', 828, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsInt16#"),+ ('9', 829, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsInt16#"),+ ('9', 830, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWord16#"),+ ('9', 831, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWord16#"),+ ('9', 832, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsInt32#"),+ ('9', 833, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsInt32#"),+ ('9', 834, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWord32#"),+ ('9', 835, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWord32#"),+ ('9', 836, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsInt64#"),+ ('9', 837, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsInt64#"),+ ('9', 838, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWord64#"),+ ('9', 839, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWord64#"),+ ('9', 840, InTerms, Just "GHC.Internal.Prim", "readCharArray#"),+ ('9', 841, InTerms, Just "GHC.Internal.PrimopWrappers", "readCharArray#"),+ ('9', 842, InTerms, Just "GHC.Internal.Prim", "readWideCharArray#"),+ ('9', 843, InTerms, Just "GHC.Internal.PrimopWrappers", "readWideCharArray#"),+ ('9', 844, InTerms, Just "GHC.Internal.Prim", "readIntArray#"),+ ('9', 845, InTerms, Just "GHC.Internal.PrimopWrappers", "readIntArray#"),+ ('9', 846, InTerms, Just "GHC.Internal.Prim", "readWordArray#"),+ ('9', 847, InTerms, Just "GHC.Internal.PrimopWrappers", "readWordArray#"),+ ('9', 848, InTerms, Just "GHC.Internal.Prim", "readAddrArray#"),+ ('9', 849, InTerms, Just "GHC.Internal.PrimopWrappers", "readAddrArray#"),+ ('9', 850, InTerms, Just "GHC.Internal.Prim", "readFloatArray#"),+ ('9', 851, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatArray#"),+ ('9', 852, InTerms, Just "GHC.Internal.Prim", "readDoubleArray#"),+ ('9', 853, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleArray#"),+ ('9', 854, InTerms, Just "GHC.Internal.Prim", "readStablePtrArray#"),+ ('9', 855, InTerms, Just "GHC.Internal.PrimopWrappers", "readStablePtrArray#"),+ ('9', 856, InTerms, Just "GHC.Internal.Prim", "readInt8Array#"),+ ('9', 857, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8Array#"),+ ('9', 858, InTerms, Just "GHC.Internal.Prim", "readWord8Array#"),+ ('9', 859, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8Array#"),+ ('9', 860, InTerms, Just "GHC.Internal.Prim", "readInt16Array#"),+ ('9', 861, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16Array#"),+ ('9', 862, InTerms, Just "GHC.Internal.Prim", "readWord16Array#"),+ ('9', 863, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16Array#"),+ ('9', 864, InTerms, Just "GHC.Internal.Prim", "readInt32Array#"),+ ('9', 865, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32Array#"),+ ('9', 866, InTerms, Just "GHC.Internal.Prim", "readWord32Array#"),+ ('9', 867, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32Array#"),+ ('9', 868, InTerms, Just "GHC.Internal.Prim", "readInt64Array#"),+ ('9', 869, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64Array#"),+ ('9', 870, InTerms, Just "GHC.Internal.Prim", "readWord64Array#"),+ ('9', 871, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64Array#"),+ ('9', 872, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsChar#"),+ ('9', 873, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsChar#"),+ ('9', 874, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWideChar#"),+ ('9', 875, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWideChar#"),+ ('9', 876, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsInt#"),+ ('9', 877, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsInt#"),+ ('9', 878, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWord#"),+ ('9', 879, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWord#"),+ ('9', 880, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsAddr#"),+ ('9', 881, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsAddr#"),+ ('9', 882, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsFloat#"),+ ('9', 883, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsFloat#"),+ ('9', 884, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsDouble#"),+ ('9', 885, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsDouble#"),+ ('9', 886, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsStablePtr#"),+ ('9', 887, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsStablePtr#"),+ ('9', 888, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsInt16#"),+ ('9', 889, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsInt16#"),+ ('9', 890, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWord16#"),+ ('9', 891, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWord16#"),+ ('9', 892, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsInt32#"),+ ('9', 893, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsInt32#"),+ ('9', 894, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWord32#"),+ ('9', 895, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWord32#"),+ ('9', 896, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsInt64#"),+ ('9', 897, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsInt64#"),+ ('9', 898, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWord64#"),+ ('9', 899, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWord64#"),+ ('9', 900, InTerms, Just "GHC.Internal.Prim", "writeCharArray#"),+ ('9', 901, InTerms, Just "GHC.Internal.PrimopWrappers", "writeCharArray#"),+ ('9', 902, InTerms, Just "GHC.Internal.Prim", "writeWideCharArray#"),+ ('9', 903, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWideCharArray#"),+ ('9', 904, InTerms, Just "GHC.Internal.Prim", "writeIntArray#"),+ ('9', 905, InTerms, Just "GHC.Internal.PrimopWrappers", "writeIntArray#"),+ ('9', 906, InTerms, Just "GHC.Internal.Prim", "writeWordArray#"),+ ('9', 907, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWordArray#"),+ ('9', 908, InTerms, Just "GHC.Internal.Prim", "writeAddrArray#"),+ ('9', 909, InTerms, Just "GHC.Internal.PrimopWrappers", "writeAddrArray#"),+ ('9', 910, InTerms, Just "GHC.Internal.Prim", "writeFloatArray#"),+ ('9', 911, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatArray#"),+ ('9', 912, InTerms, Just "GHC.Internal.Prim", "writeDoubleArray#"),+ ('9', 913, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleArray#"),+ ('9', 914, InTerms, Just "GHC.Internal.Prim", "writeStablePtrArray#"),+ ('9', 915, InTerms, Just "GHC.Internal.PrimopWrappers", "writeStablePtrArray#"),+ ('9', 916, InTerms, Just "GHC.Internal.Prim", "writeInt8Array#"),+ ('9', 917, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8Array#"),+ ('9', 918, InTerms, Just "GHC.Internal.Prim", "writeWord8Array#"),+ ('9', 919, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8Array#"),+ ('9', 920, InTerms, Just "GHC.Internal.Prim", "writeInt16Array#"),+ ('9', 921, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16Array#"),+ ('9', 922, InTerms, Just "GHC.Internal.Prim", "writeWord16Array#"),+ ('9', 923, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16Array#"),+ ('9', 924, InTerms, Just "GHC.Internal.Prim", "writeInt32Array#"),+ ('9', 925, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32Array#"),+ ('9', 926, InTerms, Just "GHC.Internal.Prim", "writeWord32Array#"),+ ('9', 927, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32Array#"),+ ('9', 928, InTerms, Just "GHC.Internal.Prim", "writeInt64Array#"),+ ('9', 929, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64Array#"),+ ('9', 930, InTerms, Just "GHC.Internal.Prim", "writeWord64Array#"),+ ('9', 931, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64Array#"),+ ('9', 932, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsChar#"),+ ('9', 933, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsChar#"),+ ('9', 934, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWideChar#"),+ ('9', 935, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWideChar#"),+ ('9', 936, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsInt#"),+ ('9', 937, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsInt#"),+ ('9', 938, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWord#"),+ ('9', 939, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWord#"),+ ('9', 940, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsAddr#"),+ ('9', 941, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsAddr#"),+ ('9', 942, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsFloat#"),+ ('9', 943, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsFloat#"),+ ('9', 944, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsDouble#"),+ ('9', 945, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsDouble#"),+ ('9', 946, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsStablePtr#"),+ ('9', 947, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsStablePtr#"),+ ('9', 948, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsInt16#"),+ ('9', 949, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsInt16#"),+ ('9', 950, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWord16#"),+ ('9', 951, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWord16#"),+ ('9', 952, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsInt32#"),+ ('9', 953, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsInt32#"),+ ('9', 954, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWord32#"),+ ('9', 955, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWord32#"),+ ('9', 956, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsInt64#"),+ ('9', 957, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsInt64#"),+ ('9', 958, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWord64#"),+ ('9', 959, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWord64#"),+ ('9', 960, InTerms, Just "GHC.Internal.Prim", "compareByteArrays#"),+ ('9', 961, InTerms, Just "GHC.Internal.PrimopWrappers", "compareByteArrays#"),+ ('9', 962, InTerms, Just "GHC.Internal.Prim", "copyByteArray#"),+ ('9', 963, InTerms, Just "GHC.Internal.PrimopWrappers", "copyByteArray#"),+ ('9', 964, InTerms, Just "GHC.Internal.Prim", "copyMutableByteArray#"),+ ('9', 965, InTerms, Just "GHC.Internal.PrimopWrappers", "copyMutableByteArray#"),+ ('9', 966, InTerms, Just "GHC.Internal.Prim", "copyMutableByteArrayNonOverlapping#"),+ ('9', 967, InTerms, Just "GHC.Internal.PrimopWrappers", "copyMutableByteArrayNonOverlapping#"),+ ('9', 968, InTerms, Just "GHC.Internal.Prim", "copyByteArrayToAddr#"),+ ('9', 969, InTerms, Just "GHC.Internal.PrimopWrappers", "copyByteArrayToAddr#"),+ ('9', 970, InTerms, Just "GHC.Internal.Prim", "copyMutableByteArrayToAddr#"),+ ('9', 971, InTerms, Just "GHC.Internal.PrimopWrappers", "copyMutableByteArrayToAddr#"),+ ('9', 972, InTerms, Just "GHC.Internal.Prim", "copyAddrToByteArray#"),+ ('9', 973, InTerms, Just "GHC.Internal.PrimopWrappers", "copyAddrToByteArray#"),+ ('9', 974, InTerms, Just "GHC.Internal.Prim", "copyAddrToAddr#"),+ ('9', 975, InTerms, Just "GHC.Internal.PrimopWrappers", "copyAddrToAddr#"),+ ('9', 976, InTerms, Just "GHC.Internal.Prim", "copyAddrToAddrNonOverlapping#"),+ ('9', 977, InTerms, Just "GHC.Internal.PrimopWrappers", "copyAddrToAddrNonOverlapping#"),+ ('9', 978, InTerms, Just "GHC.Internal.Prim", "setByteArray#"),+ ('9', 979, InTerms, Just "GHC.Internal.PrimopWrappers", "setByteArray#"),+ ('9', 980, InTerms, Just "GHC.Internal.Prim", "setAddrRange#"),+ ('9', 981, InTerms, Just "GHC.Internal.PrimopWrappers", "setAddrRange#"),+ ('9', 982, InTerms, Just "GHC.Internal.Prim", "atomicReadIntArray#"),+ ('9', 983, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicReadIntArray#"),+ ('9', 984, InTerms, Just "GHC.Internal.Prim", "atomicWriteIntArray#"),+ ('9', 985, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicWriteIntArray#"),+ ('9', 986, InTerms, Just "GHC.Internal.Prim", "casIntArray#"),+ ('9', 987, InTerms, Just "GHC.Internal.PrimopWrappers", "casIntArray#"),+ ('9', 988, InTerms, Just "GHC.Internal.Prim", "casInt8Array#"),+ ('9', 989, InTerms, Just "GHC.Internal.PrimopWrappers", "casInt8Array#"),+ ('9', 990, InTerms, Just "GHC.Internal.Prim", "casInt16Array#"),+ ('9', 991, InTerms, Just "GHC.Internal.PrimopWrappers", "casInt16Array#"),+ ('9', 992, InTerms, Just "GHC.Internal.Prim", "casInt32Array#"),+ ('9', 993, InTerms, Just "GHC.Internal.PrimopWrappers", "casInt32Array#"),+ ('9', 994, InTerms, Just "GHC.Internal.Prim", "casInt64Array#"),+ ('9', 995, InTerms, Just "GHC.Internal.PrimopWrappers", "casInt64Array#"),+ ('9', 996, InTerms, Just "GHC.Internal.Prim", "fetchAddIntArray#"),+ ('9', 997, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchAddIntArray#"),+ ('9', 998, InTerms, Just "GHC.Internal.Prim", "fetchSubIntArray#"),+ ('9', 999, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchSubIntArray#"),+ ('9', 1000, InTerms, Just "GHC.Internal.Prim", "fetchAndIntArray#"),+ ('9', 1001, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchAndIntArray#"),+ ('9', 1002, InTerms, Just "GHC.Internal.Prim", "fetchNandIntArray#"),+ ('9', 1003, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchNandIntArray#"),+ ('9', 1004, InTerms, Just "GHC.Internal.Prim", "fetchOrIntArray#"),+ ('9', 1005, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchOrIntArray#"),+ ('9', 1006, InTerms, Just "GHC.Internal.Prim", "fetchXorIntArray#"),+ ('9', 1007, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchXorIntArray#"),+ ('9', 1008, InTerms, Just "GHC.Internal.Prim", "plusAddr#"),+ ('9', 1009, InTerms, Just "GHC.Internal.PrimopWrappers", "plusAddr#"),+ ('9', 1010, InTerms, Just "GHC.Internal.Prim", "minusAddr#"),+ ('9', 1011, InTerms, Just "GHC.Internal.PrimopWrappers", "minusAddr#"),+ ('9', 1012, InTerms, Just "GHC.Internal.Prim", "remAddr#"),+ ('9', 1013, InTerms, Just "GHC.Internal.PrimopWrappers", "remAddr#"),+ ('9', 1014, InTerms, Just "GHC.Internal.Prim", "addr2Int#"),+ ('9', 1015, InTerms, Just "GHC.Internal.PrimopWrappers", "addr2Int#"),+ ('9', 1016, InTerms, Just "GHC.Internal.Prim", "int2Addr#"),+ ('9', 1017, InTerms, Just "GHC.Internal.PrimopWrappers", "int2Addr#"),+ ('9', 1018, InTerms, Just "GHC.Internal.Prim", "gtAddr#"),+ ('9', 1019, InTerms, Just "GHC.Internal.PrimopWrappers", "gtAddr#"),+ ('9', 1020, InTerms, Just "GHC.Internal.Prim", "geAddr#"),+ ('9', 1021, InTerms, Just "GHC.Internal.PrimopWrappers", "geAddr#"),+ ('9', 1022, InTerms, Just "GHC.Internal.Prim", "eqAddr#"),+ ('9', 1023, InTerms, Just "GHC.Internal.PrimopWrappers", "eqAddr#"),+ ('9', 1024, InTerms, Just "GHC.Internal.Prim", "neAddr#"),+ ('9', 1025, InTerms, Just "GHC.Internal.PrimopWrappers", "neAddr#"),+ ('9', 1026, InTerms, Just "GHC.Internal.Prim", "ltAddr#"),+ ('9', 1027, InTerms, Just "GHC.Internal.PrimopWrappers", "ltAddr#"),+ ('9', 1028, InTerms, Just "GHC.Internal.Prim", "leAddr#"),+ ('9', 1029, InTerms, Just "GHC.Internal.PrimopWrappers", "leAddr#"),+ ('9', 1030, InTerms, Just "GHC.Internal.Prim", "indexCharOffAddr#"),+ ('9', 1031, InTerms, Just "GHC.Internal.PrimopWrappers", "indexCharOffAddr#"),+ ('9', 1032, InTerms, Just "GHC.Internal.Prim", "indexWideCharOffAddr#"),+ ('9', 1033, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWideCharOffAddr#"),+ ('9', 1034, InTerms, Just "GHC.Internal.Prim", "indexIntOffAddr#"),+ ('9', 1035, InTerms, Just "GHC.Internal.PrimopWrappers", "indexIntOffAddr#"),+ ('9', 1036, InTerms, Just "GHC.Internal.Prim", "indexWordOffAddr#"),+ ('9', 1037, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWordOffAddr#"),+ ('9', 1038, InTerms, Just "GHC.Internal.Prim", "indexAddrOffAddr#"),+ ('9', 1039, InTerms, Just "GHC.Internal.PrimopWrappers", "indexAddrOffAddr#"),+ ('9', 1040, InTerms, Just "GHC.Internal.Prim", "indexFloatOffAddr#"),+ ('9', 1041, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatOffAddr#"),+ ('9', 1042, InTerms, Just "GHC.Internal.Prim", "indexDoubleOffAddr#"),+ ('9', 1043, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleOffAddr#"),+ ('9', 1044, InTerms, Just "GHC.Internal.Prim", "indexStablePtrOffAddr#"),+ ('9', 1045, InTerms, Just "GHC.Internal.PrimopWrappers", "indexStablePtrOffAddr#"),+ ('9', 1046, InTerms, Just "GHC.Internal.Prim", "indexInt8OffAddr#"),+ ('9', 1047, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8OffAddr#"),+ ('9', 1048, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddr#"),+ ('9', 1049, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddr#"),+ ('9', 1050, InTerms, Just "GHC.Internal.Prim", "indexInt16OffAddr#"),+ ('9', 1051, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16OffAddr#"),+ ('9', 1052, InTerms, Just "GHC.Internal.Prim", "indexWord16OffAddr#"),+ ('9', 1053, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16OffAddr#"),+ ('9', 1054, InTerms, Just "GHC.Internal.Prim", "indexInt32OffAddr#"),+ ('9', 1055, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32OffAddr#"),+ ('9', 1056, InTerms, Just "GHC.Internal.Prim", "indexWord32OffAddr#"),+ ('9', 1057, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32OffAddr#"),+ ('9', 1058, InTerms, Just "GHC.Internal.Prim", "indexInt64OffAddr#"),+ ('9', 1059, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64OffAddr#"),+ ('9', 1060, InTerms, Just "GHC.Internal.Prim", "indexWord64OffAddr#"),+ ('9', 1061, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64OffAddr#"),+ ('9', 1062, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsChar#"),+ ('9', 1063, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsChar#"),+ ('9', 1064, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWideChar#"),+ ('9', 1065, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWideChar#"),+ ('9', 1066, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsInt#"),+ ('9', 1067, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsInt#"),+ ('9', 1068, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWord#"),+ ('9', 1069, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWord#"),+ ('9', 1070, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsAddr#"),+ ('9', 1071, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsAddr#"),+ ('9', 1072, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsFloat#"),+ ('9', 1073, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsFloat#"),+ ('9', 1074, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsDouble#"),+ ('9', 1075, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsDouble#"),+ ('9', 1076, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsStablePtr#"),+ ('9', 1077, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsStablePtr#"),+ ('9', 1078, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsInt16#"),+ ('9', 1079, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsInt16#"),+ ('9', 1080, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWord16#"),+ ('9', 1081, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWord16#"),+ ('9', 1082, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsInt32#"),+ ('9', 1083, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsInt32#"),+ ('9', 1084, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWord32#"),+ ('9', 1085, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWord32#"),+ ('9', 1086, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsInt64#"),+ ('9', 1087, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsInt64#"),+ ('9', 1088, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWord64#"),+ ('9', 1089, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWord64#"),+ ('9', 1090, InTerms, Just "GHC.Internal.Prim", "readCharOffAddr#"),+ ('9', 1091, InTerms, Just "GHC.Internal.PrimopWrappers", "readCharOffAddr#"),+ ('9', 1092, InTerms, Just "GHC.Internal.Prim", "readWideCharOffAddr#"),+ ('9', 1093, InTerms, Just "GHC.Internal.PrimopWrappers", "readWideCharOffAddr#"),+ ('9', 1094, InTerms, Just "GHC.Internal.Prim", "readIntOffAddr#"),+ ('9', 1095, InTerms, Just "GHC.Internal.PrimopWrappers", "readIntOffAddr#"),+ ('9', 1096, InTerms, Just "GHC.Internal.Prim", "readWordOffAddr#"),+ ('9', 1097, InTerms, Just "GHC.Internal.PrimopWrappers", "readWordOffAddr#"),+ ('9', 1098, InTerms, Just "GHC.Internal.Prim", "readAddrOffAddr#"),+ ('9', 1099, InTerms, Just "GHC.Internal.PrimopWrappers", "readAddrOffAddr#"),+ ('9', 1100, InTerms, Just "GHC.Internal.Prim", "readFloatOffAddr#"),+ ('9', 1101, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatOffAddr#"),+ ('9', 1102, InTerms, Just "GHC.Internal.Prim", "readDoubleOffAddr#"),+ ('9', 1103, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleOffAddr#"),+ ('9', 1104, InTerms, Just "GHC.Internal.Prim", "readStablePtrOffAddr#"),+ ('9', 1105, InTerms, Just "GHC.Internal.PrimopWrappers", "readStablePtrOffAddr#"),+ ('9', 1106, InTerms, Just "GHC.Internal.Prim", "readInt8OffAddr#"),+ ('9', 1107, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8OffAddr#"),+ ('9', 1108, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddr#"),+ ('9', 1109, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddr#"),+ ('9', 1110, InTerms, Just "GHC.Internal.Prim", "readInt16OffAddr#"),+ ('9', 1111, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16OffAddr#"),+ ('9', 1112, InTerms, Just "GHC.Internal.Prim", "readWord16OffAddr#"),+ ('9', 1113, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16OffAddr#"),+ ('9', 1114, InTerms, Just "GHC.Internal.Prim", "readInt32OffAddr#"),+ ('9', 1115, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32OffAddr#"),+ ('9', 1116, InTerms, Just "GHC.Internal.Prim", "readWord32OffAddr#"),+ ('9', 1117, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32OffAddr#"),+ ('9', 1118, InTerms, Just "GHC.Internal.Prim", "readInt64OffAddr#"),+ ('9', 1119, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64OffAddr#"),+ ('9', 1120, InTerms, Just "GHC.Internal.Prim", "readWord64OffAddr#"),+ ('9', 1121, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64OffAddr#"),+ ('9', 1122, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsChar#"),+ ('9', 1123, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsChar#"),+ ('9', 1124, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWideChar#"),+ ('9', 1125, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWideChar#"),+ ('9', 1126, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsInt#"),+ ('9', 1127, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsInt#"),+ ('9', 1128, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWord#"),+ ('9', 1129, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWord#"),+ ('9', 1130, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsAddr#"),+ ('9', 1131, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsAddr#"),+ ('9', 1132, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsFloat#"),+ ('9', 1133, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsFloat#"),+ ('9', 1134, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsDouble#"),+ ('9', 1135, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsDouble#"),+ ('9', 1136, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsStablePtr#"),+ ('9', 1137, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsStablePtr#"),+ ('9', 1138, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsInt16#"),+ ('9', 1139, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsInt16#"),+ ('9', 1140, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWord16#"),+ ('9', 1141, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWord16#"),+ ('9', 1142, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsInt32#"),+ ('9', 1143, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsInt32#"),+ ('9', 1144, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWord32#"),+ ('9', 1145, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWord32#"),+ ('9', 1146, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsInt64#"),+ ('9', 1147, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsInt64#"),+ ('9', 1148, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWord64#"),+ ('9', 1149, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWord64#"),+ ('9', 1150, InTerms, Just "GHC.Internal.Prim", "writeCharOffAddr#"),+ ('9', 1151, InTerms, Just "GHC.Internal.PrimopWrappers", "writeCharOffAddr#"),+ ('9', 1152, InTerms, Just "GHC.Internal.Prim", "writeWideCharOffAddr#"),+ ('9', 1153, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWideCharOffAddr#"),+ ('9', 1154, InTerms, Just "GHC.Internal.Prim", "writeIntOffAddr#"),+ ('9', 1155, InTerms, Just "GHC.Internal.PrimopWrappers", "writeIntOffAddr#"),+ ('9', 1156, InTerms, Just "GHC.Internal.Prim", "writeWordOffAddr#"),+ ('9', 1157, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWordOffAddr#"),+ ('9', 1158, InTerms, Just "GHC.Internal.Prim", "writeAddrOffAddr#"),+ ('9', 1159, InTerms, Just "GHC.Internal.PrimopWrappers", "writeAddrOffAddr#"),+ ('9', 1160, InTerms, Just "GHC.Internal.Prim", "writeFloatOffAddr#"),+ ('9', 1161, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatOffAddr#"),+ ('9', 1162, InTerms, Just "GHC.Internal.Prim", "writeDoubleOffAddr#"),+ ('9', 1163, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleOffAddr#"),+ ('9', 1164, InTerms, Just "GHC.Internal.Prim", "writeStablePtrOffAddr#"),+ ('9', 1165, InTerms, Just "GHC.Internal.PrimopWrappers", "writeStablePtrOffAddr#"),+ ('9', 1166, InTerms, Just "GHC.Internal.Prim", "writeInt8OffAddr#"),+ ('9', 1167, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8OffAddr#"),+ ('9', 1168, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddr#"),+ ('9', 1169, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddr#"),+ ('9', 1170, InTerms, Just "GHC.Internal.Prim", "writeInt16OffAddr#"),+ ('9', 1171, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16OffAddr#"),+ ('9', 1172, InTerms, Just "GHC.Internal.Prim", "writeWord16OffAddr#"),+ ('9', 1173, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16OffAddr#"),+ ('9', 1174, InTerms, Just "GHC.Internal.Prim", "writeInt32OffAddr#"),+ ('9', 1175, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32OffAddr#"),+ ('9', 1176, InTerms, Just "GHC.Internal.Prim", "writeWord32OffAddr#"),+ ('9', 1177, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32OffAddr#"),+ ('9', 1178, InTerms, Just "GHC.Internal.Prim", "writeInt64OffAddr#"),+ ('9', 1179, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64OffAddr#"),+ ('9', 1180, InTerms, Just "GHC.Internal.Prim", "writeWord64OffAddr#"),+ ('9', 1181, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64OffAddr#"),+ ('9', 1182, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsChar#"),+ ('9', 1183, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsChar#"),+ ('9', 1184, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWideChar#"),+ ('9', 1185, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWideChar#"),+ ('9', 1186, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsInt#"),+ ('9', 1187, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsInt#"),+ ('9', 1188, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWord#"),+ ('9', 1189, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWord#"),+ ('9', 1190, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsAddr#"),+ ('9', 1191, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsAddr#"),+ ('9', 1192, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsFloat#"),+ ('9', 1193, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsFloat#"),+ ('9', 1194, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsDouble#"),+ ('9', 1195, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsDouble#"),+ ('9', 1196, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsStablePtr#"),+ ('9', 1197, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsStablePtr#"),+ ('9', 1198, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsInt16#"),+ ('9', 1199, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsInt16#"),+ ('9', 1200, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWord16#"),+ ('9', 1201, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWord16#"),+ ('9', 1202, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsInt32#"),+ ('9', 1203, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsInt32#"),+ ('9', 1204, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWord32#"),+ ('9', 1205, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWord32#"),+ ('9', 1206, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsInt64#"),+ ('9', 1207, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsInt64#"),+ ('9', 1208, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWord64#"),+ ('9', 1209, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWord64#"),+ ('9', 1210, InTerms, Just "GHC.Internal.Prim", "atomicExchangeAddrAddr#"),+ ('9', 1211, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicExchangeAddrAddr#"),+ ('9', 1212, InTerms, Just "GHC.Internal.Prim", "atomicExchangeWordAddr#"),+ ('9', 1213, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicExchangeWordAddr#"),+ ('9', 1214, InTerms, Just "GHC.Internal.Prim", "atomicCasAddrAddr#"),+ ('9', 1215, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicCasAddrAddr#"),+ ('9', 1216, InTerms, Just "GHC.Internal.Prim", "atomicCasWordAddr#"),+ ('9', 1217, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicCasWordAddr#"),+ ('9', 1218, InTerms, Just "GHC.Internal.Prim", "atomicCasWord8Addr#"),+ ('9', 1219, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicCasWord8Addr#"),+ ('9', 1220, InTerms, Just "GHC.Internal.Prim", "atomicCasWord16Addr#"),+ ('9', 1221, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicCasWord16Addr#"),+ ('9', 1222, InTerms, Just "GHC.Internal.Prim", "atomicCasWord32Addr#"),+ ('9', 1223, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicCasWord32Addr#"),+ ('9', 1224, InTerms, Just "GHC.Internal.Prim", "atomicCasWord64Addr#"),+ ('9', 1225, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicCasWord64Addr#"),+ ('9', 1226, InTerms, Just "GHC.Internal.Prim", "fetchAddWordAddr#"),+ ('9', 1227, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchAddWordAddr#"),+ ('9', 1228, InTerms, Just "GHC.Internal.Prim", "fetchSubWordAddr#"),+ ('9', 1229, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchSubWordAddr#"),+ ('9', 1230, InTerms, Just "GHC.Internal.Prim", "fetchAndWordAddr#"),+ ('9', 1231, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchAndWordAddr#"),+ ('9', 1232, InTerms, Just "GHC.Internal.Prim", "fetchNandWordAddr#"),+ ('9', 1233, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchNandWordAddr#"),+ ('9', 1234, InTerms, Just "GHC.Internal.Prim", "fetchOrWordAddr#"),+ ('9', 1235, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchOrWordAddr#"),+ ('9', 1236, InTerms, Just "GHC.Internal.Prim", "fetchXorWordAddr#"),+ ('9', 1237, InTerms, Just "GHC.Internal.PrimopWrappers", "fetchXorWordAddr#"),+ ('9', 1238, InTerms, Just "GHC.Internal.Prim", "atomicReadWordAddr#"),+ ('9', 1239, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicReadWordAddr#"),+ ('9', 1240, InTerms, Just "GHC.Internal.Prim", "atomicWriteWordAddr#"),+ ('9', 1241, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicWriteWordAddr#"),+ ('9', 1242, InTerms, Just "GHC.Internal.Prim", "newMutVar#"),+ ('9', 1243, InTerms, Just "GHC.Internal.PrimopWrappers", "newMutVar#"),+ ('9', 1244, InTerms, Just "GHC.Internal.Prim", "readMutVar#"),+ ('9', 1245, InTerms, Just "GHC.Internal.PrimopWrappers", "readMutVar#"),+ ('9', 1246, InTerms, Just "GHC.Internal.Prim", "writeMutVar#"),+ ('9', 1247, InTerms, Just "GHC.Internal.PrimopWrappers", "writeMutVar#"),+ ('9', 1248, InTerms, Just "GHC.Internal.Prim", "atomicSwapMutVar#"),+ ('9', 1249, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicSwapMutVar#"),+ ('9', 1250, InTerms, Just "GHC.Internal.Prim", "atomicModifyMutVar2#"),+ ('9', 1251, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicModifyMutVar2#"),+ ('9', 1252, InTerms, Just "GHC.Internal.Prim", "atomicModifyMutVar_#"),+ ('9', 1253, InTerms, Just "GHC.Internal.PrimopWrappers", "atomicModifyMutVar_#"),+ ('9', 1254, InTerms, Just "GHC.Internal.Prim", "casMutVar#"),+ ('9', 1255, InTerms, Just "GHC.Internal.PrimopWrappers", "casMutVar#"),+ ('9', 1256, InTerms, Just "GHC.Internal.Prim", "catch#"),+ ('9', 1257, InTerms, Just "GHC.Internal.PrimopWrappers", "catch#"),+ ('9', 1258, InTerms, Just "GHC.Internal.Prim", "raise#"),+ ('9', 1259, InTerms, Just "GHC.Internal.PrimopWrappers", "raise#"),+ ('9', 1260, InTerms, Just "GHC.Internal.Prim", "raiseUnderflow#"),+ ('9', 1261, InTerms, Just "GHC.Internal.PrimopWrappers", "raiseUnderflow#"),+ ('9', 1262, InTerms, Just "GHC.Internal.Prim", "raiseOverflow#"),+ ('9', 1263, InTerms, Just "GHC.Internal.PrimopWrappers", "raiseOverflow#"),+ ('9', 1264, InTerms, Just "GHC.Internal.Prim", "raiseDivZero#"),+ ('9', 1265, InTerms, Just "GHC.Internal.PrimopWrappers", "raiseDivZero#"),+ ('9', 1266, InTerms, Just "GHC.Internal.Prim", "raiseIO#"),+ ('9', 1267, InTerms, Just "GHC.Internal.PrimopWrappers", "raiseIO#"),+ ('9', 1268, InTerms, Just "GHC.Internal.Prim", "maskAsyncExceptions#"),+ ('9', 1269, InTerms, Just "GHC.Internal.PrimopWrappers", "maskAsyncExceptions#"),+ ('9', 1270, InTerms, Just "GHC.Internal.Prim", "maskUninterruptible#"),+ ('9', 1271, InTerms, Just "GHC.Internal.PrimopWrappers", "maskUninterruptible#"),+ ('9', 1272, InTerms, Just "GHC.Internal.Prim", "unmaskAsyncExceptions#"),+ ('9', 1273, InTerms, Just "GHC.Internal.PrimopWrappers", "unmaskAsyncExceptions#"),+ ('9', 1274, InTerms, Just "GHC.Internal.Prim", "getMaskingState#"),+ ('9', 1275, InTerms, Just "GHC.Internal.PrimopWrappers", "getMaskingState#"),+ ('9', 1276, InTerms, Just "GHC.Internal.Prim", "newPromptTag#"),+ ('9', 1277, InTerms, Just "GHC.Internal.PrimopWrappers", "newPromptTag#"),+ ('9', 1278, InTerms, Just "GHC.Internal.Prim", "prompt#"),+ ('9', 1279, InTerms, Just "GHC.Internal.PrimopWrappers", "prompt#"),+ ('9', 1280, InTerms, Just "GHC.Internal.Prim", "control0#"),+ ('9', 1281, InTerms, Just "GHC.Internal.PrimopWrappers", "control0#"),+ ('9', 1282, InTerms, Just "GHC.Internal.Prim", "atomically#"),+ ('9', 1283, InTerms, Just "GHC.Internal.PrimopWrappers", "atomically#"),+ ('9', 1284, InTerms, Just "GHC.Internal.Prim", "retry#"),+ ('9', 1285, InTerms, Just "GHC.Internal.PrimopWrappers", "retry#"),+ ('9', 1286, InTerms, Just "GHC.Internal.Prim", "catchRetry#"),+ ('9', 1287, InTerms, Just "GHC.Internal.PrimopWrappers", "catchRetry#"),+ ('9', 1288, InTerms, Just "GHC.Internal.Prim", "catchSTM#"),+ ('9', 1289, InTerms, Just "GHC.Internal.PrimopWrappers", "catchSTM#"),+ ('9', 1290, InTerms, Just "GHC.Internal.Prim", "newTVar#"),+ ('9', 1291, InTerms, Just "GHC.Internal.PrimopWrappers", "newTVar#"),+ ('9', 1292, InTerms, Just "GHC.Internal.Prim", "readTVar#"),+ ('9', 1293, InTerms, Just "GHC.Internal.PrimopWrappers", "readTVar#"),+ ('9', 1294, InTerms, Just "GHC.Internal.Prim", "readTVarIO#"),+ ('9', 1295, InTerms, Just "GHC.Internal.PrimopWrappers", "readTVarIO#"),+ ('9', 1296, InTerms, Just "GHC.Internal.Prim", "writeTVar#"),+ ('9', 1297, InTerms, Just "GHC.Internal.PrimopWrappers", "writeTVar#"),+ ('9', 1298, InTerms, Just "GHC.Internal.Prim", "newMVar#"),+ ('9', 1299, InTerms, Just "GHC.Internal.PrimopWrappers", "newMVar#"),+ ('9', 1300, InTerms, Just "GHC.Internal.Prim", "takeMVar#"),+ ('9', 1301, InTerms, Just "GHC.Internal.PrimopWrappers", "takeMVar#"),+ ('9', 1302, InTerms, Just "GHC.Internal.Prim", "tryTakeMVar#"),+ ('9', 1303, InTerms, Just "GHC.Internal.PrimopWrappers", "tryTakeMVar#"),+ ('9', 1304, InTerms, Just "GHC.Internal.Prim", "putMVar#"),+ ('9', 1305, InTerms, Just "GHC.Internal.PrimopWrappers", "putMVar#"),+ ('9', 1306, InTerms, Just "GHC.Internal.Prim", "tryPutMVar#"),+ ('9', 1307, InTerms, Just "GHC.Internal.PrimopWrappers", "tryPutMVar#"),+ ('9', 1308, InTerms, Just "GHC.Internal.Prim", "readMVar#"),+ ('9', 1309, InTerms, Just "GHC.Internal.PrimopWrappers", "readMVar#"),+ ('9', 1310, InTerms, Just "GHC.Internal.Prim", "tryReadMVar#"),+ ('9', 1311, InTerms, Just "GHC.Internal.PrimopWrappers", "tryReadMVar#"),+ ('9', 1312, InTerms, Just "GHC.Internal.Prim", "isEmptyMVar#"),+ ('9', 1313, InTerms, Just "GHC.Internal.PrimopWrappers", "isEmptyMVar#"),+ ('9', 1314, InTerms, Just "GHC.Internal.Prim", "delay#"),+ ('9', 1315, InTerms, Just "GHC.Internal.PrimopWrappers", "delay#"),+ ('9', 1316, InTerms, Just "GHC.Internal.Prim", "waitRead#"),+ ('9', 1317, InTerms, Just "GHC.Internal.PrimopWrappers", "waitRead#"),+ ('9', 1318, InTerms, Just "GHC.Internal.Prim", "waitWrite#"),+ ('9', 1319, InTerms, Just "GHC.Internal.PrimopWrappers", "waitWrite#"),+ ('9', 1320, InTerms, Just "GHC.Internal.Prim", "fork#"),+ ('9', 1321, InTerms, Just "GHC.Internal.PrimopWrappers", "fork#"),+ ('9', 1322, InTerms, Just "GHC.Internal.Prim", "forkOn#"),+ ('9', 1323, InTerms, Just "GHC.Internal.PrimopWrappers", "forkOn#"),+ ('9', 1324, InTerms, Just "GHC.Internal.Prim", "killThread#"),+ ('9', 1325, InTerms, Just "GHC.Internal.PrimopWrappers", "killThread#"),+ ('9', 1326, InTerms, Just "GHC.Internal.Prim", "yield#"),+ ('9', 1327, InTerms, Just "GHC.Internal.PrimopWrappers", "yield#"),+ ('9', 1328, InTerms, Just "GHC.Internal.Prim", "myThreadId#"),+ ('9', 1329, InTerms, Just "GHC.Internal.PrimopWrappers", "myThreadId#"),+ ('9', 1330, InTerms, Just "GHC.Internal.Prim", "labelThread#"),+ ('9', 1331, InTerms, Just "GHC.Internal.PrimopWrappers", "labelThread#"),+ ('9', 1332, InTerms, Just "GHC.Internal.Prim", "isCurrentThreadBound#"),+ ('9', 1333, InTerms, Just "GHC.Internal.PrimopWrappers", "isCurrentThreadBound#"),+ ('9', 1334, InTerms, Just "GHC.Internal.Prim", "noDuplicate#"),+ ('9', 1335, InTerms, Just "GHC.Internal.PrimopWrappers", "noDuplicate#"),+ ('9', 1336, InTerms, Just "GHC.Internal.Prim", "threadLabel#"),+ ('9', 1337, InTerms, Just "GHC.Internal.PrimopWrappers", "threadLabel#"),+ ('9', 1338, InTerms, Just "GHC.Internal.Prim", "threadStatus#"),+ ('9', 1339, InTerms, Just "GHC.Internal.PrimopWrappers", "threadStatus#"),+ ('9', 1340, InTerms, Just "GHC.Internal.Prim", "listThreads#"),+ ('9', 1341, InTerms, Just "GHC.Internal.PrimopWrappers", "listThreads#"),+ ('9', 1342, InTerms, Just "GHC.Internal.Prim", "mkWeak#"),+ ('9', 1343, InTerms, Just "GHC.Internal.PrimopWrappers", "mkWeak#"),+ ('9', 1344, InTerms, Just "GHC.Internal.Prim", "mkWeakNoFinalizer#"),+ ('9', 1345, InTerms, Just "GHC.Internal.PrimopWrappers", "mkWeakNoFinalizer#"),+ ('9', 1346, InTerms, Just "GHC.Internal.Prim", "addCFinalizerToWeak#"),+ ('9', 1347, InTerms, Just "GHC.Internal.PrimopWrappers", "addCFinalizerToWeak#"),+ ('9', 1348, InTerms, Just "GHC.Internal.Prim", "deRefWeak#"),+ ('9', 1349, InTerms, Just "GHC.Internal.PrimopWrappers", "deRefWeak#"),+ ('9', 1350, InTerms, Just "GHC.Internal.Prim", "finalizeWeak#"),+ ('9', 1351, InTerms, Just "GHC.Internal.PrimopWrappers", "finalizeWeak#"),+ ('9', 1352, InTerms, Just "GHC.Internal.Prim", "touch#"),+ ('9', 1353, InTerms, Just "GHC.Internal.PrimopWrappers", "touch#"),+ ('9', 1354, InTerms, Just "GHC.Internal.Prim", "makeStablePtr#"),+ ('9', 1355, InTerms, Just "GHC.Internal.PrimopWrappers", "makeStablePtr#"),+ ('9', 1356, InTerms, Just "GHC.Internal.Prim", "deRefStablePtr#"),+ ('9', 1357, InTerms, Just "GHC.Internal.PrimopWrappers", "deRefStablePtr#"),+ ('9', 1358, InTerms, Just "GHC.Internal.Prim", "eqStablePtr#"),+ ('9', 1359, InTerms, Just "GHC.Internal.PrimopWrappers", "eqStablePtr#"),+ ('9', 1360, InTerms, Just "GHC.Internal.Prim", "makeStableName#"),+ ('9', 1361, InTerms, Just "GHC.Internal.PrimopWrappers", "makeStableName#"),+ ('9', 1362, InTerms, Just "GHC.Internal.Prim", "stableNameToInt#"),+ ('9', 1363, InTerms, Just "GHC.Internal.PrimopWrappers", "stableNameToInt#"),+ ('9', 1364, InTerms, Just "GHC.Internal.Prim", "compactNew#"),+ ('9', 1365, InTerms, Just "GHC.Internal.PrimopWrappers", "compactNew#"),+ ('9', 1366, InTerms, Just "GHC.Internal.Prim", "compactResize#"),+ ('9', 1367, InTerms, Just "GHC.Internal.PrimopWrappers", "compactResize#"),+ ('9', 1368, InTerms, Just "GHC.Internal.Prim", "compactContains#"),+ ('9', 1369, InTerms, Just "GHC.Internal.PrimopWrappers", "compactContains#"),+ ('9', 1370, InTerms, Just "GHC.Internal.Prim", "compactContainsAny#"),+ ('9', 1371, InTerms, Just "GHC.Internal.PrimopWrappers", "compactContainsAny#"),+ ('9', 1372, InTerms, Just "GHC.Internal.Prim", "compactGetFirstBlock#"),+ ('9', 1373, InTerms, Just "GHC.Internal.PrimopWrappers", "compactGetFirstBlock#"),+ ('9', 1374, InTerms, Just "GHC.Internal.Prim", "compactGetNextBlock#"),+ ('9', 1375, InTerms, Just "GHC.Internal.PrimopWrappers", "compactGetNextBlock#"),+ ('9', 1376, InTerms, Just "GHC.Internal.Prim", "compactAllocateBlock#"),+ ('9', 1377, InTerms, Just "GHC.Internal.PrimopWrappers", "compactAllocateBlock#"),+ ('9', 1378, InTerms, Just "GHC.Internal.Prim", "compactFixupPointers#"),+ ('9', 1379, InTerms, Just "GHC.Internal.PrimopWrappers", "compactFixupPointers#"),+ ('9', 1380, InTerms, Just "GHC.Internal.Prim", "compactAdd#"),+ ('9', 1381, InTerms, Just "GHC.Internal.PrimopWrappers", "compactAdd#"),+ ('9', 1382, InTerms, Just "GHC.Internal.Prim", "compactAddWithSharing#"),+ ('9', 1383, InTerms, Just "GHC.Internal.PrimopWrappers", "compactAddWithSharing#"),+ ('9', 1384, InTerms, Just "GHC.Internal.Prim", "compactSize#"),+ ('9', 1385, InTerms, Just "GHC.Internal.PrimopWrappers", "compactSize#"),+ ('9', 1386, InTerms, Just "GHC.Internal.Prim", "reallyUnsafePtrEquality#"),+ ('9', 1387, InTerms, Just "GHC.Internal.PrimopWrappers", "reallyUnsafePtrEquality#"),+ ('9', 1388, InTerms, Just "GHC.Internal.Prim", "par#"),+ ('9', 1389, InTerms, Just "GHC.Internal.PrimopWrappers", "par#"),+ ('9', 1390, InTerms, Just "GHC.Internal.Prim", "spark#"),+ ('9', 1391, InTerms, Just "GHC.Internal.PrimopWrappers", "spark#"),+ ('9', 1392, InTerms, Just "GHC.Internal.Prim", "getSpark#"),+ ('9', 1393, InTerms, Just "GHC.Internal.PrimopWrappers", "getSpark#"),+ ('9', 1394, InTerms, Just "GHC.Internal.Prim", "numSparks#"),+ ('9', 1395, InTerms, Just "GHC.Internal.PrimopWrappers", "numSparks#"),+ ('9', 1396, InTerms, Just "GHC.Internal.Prim", "keepAlive#"),+ ('9', 1397, InTerms, Just "GHC.Internal.PrimopWrappers", "keepAlive#"),+ ('9', 1398, InTerms, Just "GHC.Internal.Prim", "dataToTagSmall#"),+ ('9', 1399, InTerms, Just "GHC.Internal.PrimopWrappers", "dataToTagSmall#"),+ ('9', 1400, InTerms, Just "GHC.Internal.Prim", "dataToTagLarge#"),+ ('9', 1401, InTerms, Just "GHC.Internal.PrimopWrappers", "dataToTagLarge#"),+ ('9', 1402, InTerms, Just "GHC.Internal.Prim", "tagToEnum#"),+ ('9', 1403, InTerms, Just "GHC.Internal.PrimopWrappers", "tagToEnum#"),+ ('9', 1404, InTerms, Just "GHC.Internal.Prim", "addrToAny#"),+ ('9', 1405, InTerms, Just "GHC.Internal.PrimopWrappers", "addrToAny#"),+ ('9', 1406, InTerms, Just "GHC.Internal.Prim", "anyToAddr#"),+ ('9', 1407, InTerms, Just "GHC.Internal.PrimopWrappers", "anyToAddr#"),+ ('9', 1408, InTerms, Just "GHC.Internal.Prim", "mkApUpd0#"),+ ('9', 1409, InTerms, Just "GHC.Internal.PrimopWrappers", "mkApUpd0#"),+ ('9', 1410, InTerms, Just "GHC.Internal.Prim", "newBCO#"),+ ('9', 1411, InTerms, Just "GHC.Internal.PrimopWrappers", "newBCO#"),+ ('9', 1412, InTerms, Just "GHC.Internal.Prim", "unpackClosure#"),+ ('9', 1413, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackClosure#"),+ ('9', 1414, InTerms, Just "GHC.Internal.Prim", "closureSize#"),+ ('9', 1415, InTerms, Just "GHC.Internal.PrimopWrappers", "closureSize#"),+ ('9', 1416, InTerms, Just "GHC.Internal.Prim", "getApStackVal#"),+ ('9', 1417, InTerms, Just "GHC.Internal.PrimopWrappers", "getApStackVal#"),+ ('9', 1418, InTerms, Just "GHC.Internal.Prim", "getCCSOf#"),+ ('9', 1419, InTerms, Just "GHC.Internal.PrimopWrappers", "getCCSOf#"),+ ('9', 1420, InTerms, Just "GHC.Internal.Prim", "getCurrentCCS#"),+ ('9', 1421, InTerms, Just "GHC.Internal.PrimopWrappers", "getCurrentCCS#"),+ ('9', 1422, InTerms, Just "GHC.Internal.Prim", "clearCCS#"),+ ('9', 1423, InTerms, Just "GHC.Internal.PrimopWrappers", "clearCCS#"),+ ('9', 1424, InTerms, Just "GHC.Internal.Prim", "annotateStack#"),+ ('9', 1425, InTerms, Just "GHC.Internal.PrimopWrappers", "annotateStack#"),+ ('9', 1426, InTerms, Just "GHC.Internal.Prim", "whereFrom#"),+ ('9', 1427, InTerms, Just "GHC.Internal.PrimopWrappers", "whereFrom#"),+ ('9', 1428, InTerms, Just "GHC.Internal.Prim", "traceEvent#"),+ ('9', 1429, InTerms, Just "GHC.Internal.PrimopWrappers", "traceEvent#"),+ ('9', 1430, InTerms, Just "GHC.Internal.Prim", "traceBinaryEvent#"),+ ('9', 1431, InTerms, Just "GHC.Internal.PrimopWrappers", "traceBinaryEvent#"),+ ('9', 1432, InTerms, Just "GHC.Internal.Prim", "traceMarker#"),+ ('9', 1433, InTerms, Just "GHC.Internal.PrimopWrappers", "traceMarker#"),+ ('9', 1434, InTerms, Just "GHC.Internal.Prim", "setThreadAllocationCounter#"),+ ('9', 1435, InTerms, Just "GHC.Internal.PrimopWrappers", "setThreadAllocationCounter#"),+ ('9', 1436, InTerms, Just "GHC.Internal.Prim", "setOtherThreadAllocationCounter#"),+ ('9', 1437, InTerms, Just "GHC.Internal.PrimopWrappers", "setOtherThreadAllocationCounter#"),+ ('9', 1438, InTerms, Just "GHC.Internal.Prim", "broadcastInt8X16#"),+ ('9', 1439, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt8X16#"),+ ('9', 1440, InTerms, Just "GHC.Internal.Prim", "broadcastInt16X8#"),+ ('9', 1441, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt16X8#"),+ ('9', 1442, InTerms, Just "GHC.Internal.Prim", "broadcastInt32X4#"),+ ('9', 1443, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt32X4#"),+ ('9', 1444, InTerms, Just "GHC.Internal.Prim", "broadcastInt64X2#"),+ ('9', 1445, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt64X2#"),+ ('9', 1446, InTerms, Just "GHC.Internal.Prim", "broadcastInt8X32#"),+ ('9', 1447, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt8X32#"),+ ('9', 1448, InTerms, Just "GHC.Internal.Prim", "broadcastInt16X16#"),+ ('9', 1449, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt16X16#"),+ ('9', 1450, InTerms, Just "GHC.Internal.Prim", "broadcastInt32X8#"),+ ('9', 1451, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt32X8#"),+ ('9', 1452, InTerms, Just "GHC.Internal.Prim", "broadcastInt64X4#"),+ ('9', 1453, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt64X4#"),+ ('9', 1454, InTerms, Just "GHC.Internal.Prim", "broadcastInt8X64#"),+ ('9', 1455, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt8X64#"),+ ('9', 1456, InTerms, Just "GHC.Internal.Prim", "broadcastInt16X32#"),+ ('9', 1457, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt16X32#"),+ ('9', 1458, InTerms, Just "GHC.Internal.Prim", "broadcastInt32X16#"),+ ('9', 1459, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt32X16#"),+ ('9', 1460, InTerms, Just "GHC.Internal.Prim", "broadcastInt64X8#"),+ ('9', 1461, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastInt64X8#"),+ ('9', 1462, InTerms, Just "GHC.Internal.Prim", "broadcastWord8X16#"),+ ('9', 1463, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord8X16#"),+ ('9', 1464, InTerms, Just "GHC.Internal.Prim", "broadcastWord16X8#"),+ ('9', 1465, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord16X8#"),+ ('9', 1466, InTerms, Just "GHC.Internal.Prim", "broadcastWord32X4#"),+ ('9', 1467, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord32X4#"),+ ('9', 1468, InTerms, Just "GHC.Internal.Prim", "broadcastWord64X2#"),+ ('9', 1469, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord64X2#"),+ ('9', 1470, InTerms, Just "GHC.Internal.Prim", "broadcastWord8X32#"),+ ('9', 1471, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord8X32#"),+ ('9', 1472, InTerms, Just "GHC.Internal.Prim", "broadcastWord16X16#"),+ ('9', 1473, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord16X16#"),+ ('9', 1474, InTerms, Just "GHC.Internal.Prim", "broadcastWord32X8#"),+ ('9', 1475, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord32X8#"),+ ('9', 1476, InTerms, Just "GHC.Internal.Prim", "broadcastWord64X4#"),+ ('9', 1477, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord64X4#"),+ ('9', 1478, InTerms, Just "GHC.Internal.Prim", "broadcastWord8X64#"),+ ('9', 1479, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord8X64#"),+ ('9', 1480, InTerms, Just "GHC.Internal.Prim", "broadcastWord16X32#"),+ ('9', 1481, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord16X32#"),+ ('9', 1482, InTerms, Just "GHC.Internal.Prim", "broadcastWord32X16#"),+ ('9', 1483, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord32X16#"),+ ('9', 1484, InTerms, Just "GHC.Internal.Prim", "broadcastWord64X8#"),+ ('9', 1485, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastWord64X8#"),+ ('9', 1486, InTerms, Just "GHC.Internal.Prim", "broadcastFloatX4#"),+ ('9', 1487, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastFloatX4#"),+ ('9', 1488, InTerms, Just "GHC.Internal.Prim", "broadcastDoubleX2#"),+ ('9', 1489, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastDoubleX2#"),+ ('9', 1490, InTerms, Just "GHC.Internal.Prim", "broadcastFloatX8#"),+ ('9', 1491, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastFloatX8#"),+ ('9', 1492, InTerms, Just "GHC.Internal.Prim", "broadcastDoubleX4#"),+ ('9', 1493, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastDoubleX4#"),+ ('9', 1494, InTerms, Just "GHC.Internal.Prim", "broadcastFloatX16#"),+ ('9', 1495, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastFloatX16#"),+ ('9', 1496, InTerms, Just "GHC.Internal.Prim", "broadcastDoubleX8#"),+ ('9', 1497, InTerms, Just "GHC.Internal.PrimopWrappers", "broadcastDoubleX8#"),+ ('9', 1498, InTerms, Just "GHC.Internal.Prim", "packInt8X16#"),+ ('9', 1499, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt8X16#"),+ ('9', 1500, InTerms, Just "GHC.Internal.Prim", "packInt16X8#"),+ ('9', 1501, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt16X8#"),+ ('9', 1502, InTerms, Just "GHC.Internal.Prim", "packInt32X4#"),+ ('9', 1503, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt32X4#"),+ ('9', 1504, InTerms, Just "GHC.Internal.Prim", "packInt64X2#"),+ ('9', 1505, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt64X2#"),+ ('9', 1506, InTerms, Just "GHC.Internal.Prim", "packInt8X32#"),+ ('9', 1507, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt8X32#"),+ ('9', 1508, InTerms, Just "GHC.Internal.Prim", "packInt16X16#"),+ ('9', 1509, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt16X16#"),+ ('9', 1510, InTerms, Just "GHC.Internal.Prim", "packInt32X8#"),+ ('9', 1511, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt32X8#"),+ ('9', 1512, InTerms, Just "GHC.Internal.Prim", "packInt64X4#"),+ ('9', 1513, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt64X4#"),+ ('9', 1514, InTerms, Just "GHC.Internal.Prim", "packInt8X64#"),+ ('9', 1515, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt8X64#"),+ ('9', 1516, InTerms, Just "GHC.Internal.Prim", "packInt16X32#"),+ ('9', 1517, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt16X32#"),+ ('9', 1518, InTerms, Just "GHC.Internal.Prim", "packInt32X16#"),+ ('9', 1519, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt32X16#"),+ ('9', 1520, InTerms, Just "GHC.Internal.Prim", "packInt64X8#"),+ ('9', 1521, InTerms, Just "GHC.Internal.PrimopWrappers", "packInt64X8#"),+ ('9', 1522, InTerms, Just "GHC.Internal.Prim", "packWord8X16#"),+ ('9', 1523, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord8X16#"),+ ('9', 1524, InTerms, Just "GHC.Internal.Prim", "packWord16X8#"),+ ('9', 1525, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord16X8#"),+ ('9', 1526, InTerms, Just "GHC.Internal.Prim", "packWord32X4#"),+ ('9', 1527, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord32X4#"),+ ('9', 1528, InTerms, Just "GHC.Internal.Prim", "packWord64X2#"),+ ('9', 1529, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord64X2#"),+ ('9', 1530, InTerms, Just "GHC.Internal.Prim", "packWord8X32#"),+ ('9', 1531, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord8X32#"),+ ('9', 1532, InTerms, Just "GHC.Internal.Prim", "packWord16X16#"),+ ('9', 1533, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord16X16#"),+ ('9', 1534, InTerms, Just "GHC.Internal.Prim", "packWord32X8#"),+ ('9', 1535, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord32X8#"),+ ('9', 1536, InTerms, Just "GHC.Internal.Prim", "packWord64X4#"),+ ('9', 1537, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord64X4#"),+ ('9', 1538, InTerms, Just "GHC.Internal.Prim", "packWord8X64#"),+ ('9', 1539, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord8X64#"),+ ('9', 1540, InTerms, Just "GHC.Internal.Prim", "packWord16X32#"),+ ('9', 1541, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord16X32#"),+ ('9', 1542, InTerms, Just "GHC.Internal.Prim", "packWord32X16#"),+ ('9', 1543, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord32X16#"),+ ('9', 1544, InTerms, Just "GHC.Internal.Prim", "packWord64X8#"),+ ('9', 1545, InTerms, Just "GHC.Internal.PrimopWrappers", "packWord64X8#"),+ ('9', 1546, InTerms, Just "GHC.Internal.Prim", "packFloatX4#"),+ ('9', 1547, InTerms, Just "GHC.Internal.PrimopWrappers", "packFloatX4#"),+ ('9', 1548, InTerms, Just "GHC.Internal.Prim", "packDoubleX2#"),+ ('9', 1549, InTerms, Just "GHC.Internal.PrimopWrappers", "packDoubleX2#"),+ ('9', 1550, InTerms, Just "GHC.Internal.Prim", "packFloatX8#"),+ ('9', 1551, InTerms, Just "GHC.Internal.PrimopWrappers", "packFloatX8#"),+ ('9', 1552, InTerms, Just "GHC.Internal.Prim", "packDoubleX4#"),+ ('9', 1553, InTerms, Just "GHC.Internal.PrimopWrappers", "packDoubleX4#"),+ ('9', 1554, InTerms, Just "GHC.Internal.Prim", "packFloatX16#"),+ ('9', 1555, InTerms, Just "GHC.Internal.PrimopWrappers", "packFloatX16#"),+ ('9', 1556, InTerms, Just "GHC.Internal.Prim", "packDoubleX8#"),+ ('9', 1557, InTerms, Just "GHC.Internal.PrimopWrappers", "packDoubleX8#"),+ ('9', 1558, InTerms, Just "GHC.Internal.Prim", "unpackInt8X16#"),+ ('9', 1559, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt8X16#"),+ ('9', 1560, InTerms, Just "GHC.Internal.Prim", "unpackInt16X8#"),+ ('9', 1561, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt16X8#"),+ ('9', 1562, InTerms, Just "GHC.Internal.Prim", "unpackInt32X4#"),+ ('9', 1563, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt32X4#"),+ ('9', 1564, InTerms, Just "GHC.Internal.Prim", "unpackInt64X2#"),+ ('9', 1565, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt64X2#"),+ ('9', 1566, InTerms, Just "GHC.Internal.Prim", "unpackInt8X32#"),+ ('9', 1567, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt8X32#"),+ ('9', 1568, InTerms, Just "GHC.Internal.Prim", "unpackInt16X16#"),+ ('9', 1569, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt16X16#"),+ ('9', 1570, InTerms, Just "GHC.Internal.Prim", "unpackInt32X8#"),+ ('9', 1571, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt32X8#"),+ ('9', 1572, InTerms, Just "GHC.Internal.Prim", "unpackInt64X4#"),+ ('9', 1573, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt64X4#"),+ ('9', 1574, InTerms, Just "GHC.Internal.Prim", "unpackInt8X64#"),+ ('9', 1575, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt8X64#"),+ ('9', 1576, InTerms, Just "GHC.Internal.Prim", "unpackInt16X32#"),+ ('9', 1577, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt16X32#"),+ ('9', 1578, InTerms, Just "GHC.Internal.Prim", "unpackInt32X16#"),+ ('9', 1579, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt32X16#"),+ ('9', 1580, InTerms, Just "GHC.Internal.Prim", "unpackInt64X8#"),+ ('9', 1581, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackInt64X8#"),+ ('9', 1582, InTerms, Just "GHC.Internal.Prim", "unpackWord8X16#"),+ ('9', 1583, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord8X16#"),+ ('9', 1584, InTerms, Just "GHC.Internal.Prim", "unpackWord16X8#"),+ ('9', 1585, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord16X8#"),+ ('9', 1586, InTerms, Just "GHC.Internal.Prim", "unpackWord32X4#"),+ ('9', 1587, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord32X4#"),+ ('9', 1588, InTerms, Just "GHC.Internal.Prim", "unpackWord64X2#"),+ ('9', 1589, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord64X2#"),+ ('9', 1590, InTerms, Just "GHC.Internal.Prim", "unpackWord8X32#"),+ ('9', 1591, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord8X32#"),+ ('9', 1592, InTerms, Just "GHC.Internal.Prim", "unpackWord16X16#"),+ ('9', 1593, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord16X16#"),+ ('9', 1594, InTerms, Just "GHC.Internal.Prim", "unpackWord32X8#"),+ ('9', 1595, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord32X8#"),+ ('9', 1596, InTerms, Just "GHC.Internal.Prim", "unpackWord64X4#"),+ ('9', 1597, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord64X4#"),+ ('9', 1598, InTerms, Just "GHC.Internal.Prim", "unpackWord8X64#"),+ ('9', 1599, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord8X64#"),+ ('9', 1600, InTerms, Just "GHC.Internal.Prim", "unpackWord16X32#"),+ ('9', 1601, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord16X32#"),+ ('9', 1602, InTerms, Just "GHC.Internal.Prim", "unpackWord32X16#"),+ ('9', 1603, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord32X16#"),+ ('9', 1604, InTerms, Just "GHC.Internal.Prim", "unpackWord64X8#"),+ ('9', 1605, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackWord64X8#"),+ ('9', 1606, InTerms, Just "GHC.Internal.Prim", "unpackFloatX4#"),+ ('9', 1607, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackFloatX4#"),+ ('9', 1608, InTerms, Just "GHC.Internal.Prim", "unpackDoubleX2#"),+ ('9', 1609, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackDoubleX2#"),+ ('9', 1610, InTerms, Just "GHC.Internal.Prim", "unpackFloatX8#"),+ ('9', 1611, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackFloatX8#"),+ ('9', 1612, InTerms, Just "GHC.Internal.Prim", "unpackDoubleX4#"),+ ('9', 1613, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackDoubleX4#"),+ ('9', 1614, InTerms, Just "GHC.Internal.Prim", "unpackFloatX16#"),+ ('9', 1615, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackFloatX16#"),+ ('9', 1616, InTerms, Just "GHC.Internal.Prim", "unpackDoubleX8#"),+ ('9', 1617, InTerms, Just "GHC.Internal.PrimopWrappers", "unpackDoubleX8#"),+ ('9', 1618, InTerms, Just "GHC.Internal.Prim", "insertInt8X16#"),+ ('9', 1619, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt8X16#"),+ ('9', 1620, InTerms, Just "GHC.Internal.Prim", "insertInt16X8#"),+ ('9', 1621, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt16X8#"),+ ('9', 1622, InTerms, Just "GHC.Internal.Prim", "insertInt32X4#"),+ ('9', 1623, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt32X4#"),+ ('9', 1624, InTerms, Just "GHC.Internal.Prim", "insertInt64X2#"),+ ('9', 1625, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt64X2#"),+ ('9', 1626, InTerms, Just "GHC.Internal.Prim", "insertInt8X32#"),+ ('9', 1627, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt8X32#"),+ ('9', 1628, InTerms, Just "GHC.Internal.Prim", "insertInt16X16#"),+ ('9', 1629, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt16X16#"),+ ('9', 1630, InTerms, Just "GHC.Internal.Prim", "insertInt32X8#"),+ ('9', 1631, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt32X8#"),+ ('9', 1632, InTerms, Just "GHC.Internal.Prim", "insertInt64X4#"),+ ('9', 1633, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt64X4#"),+ ('9', 1634, InTerms, Just "GHC.Internal.Prim", "insertInt8X64#"),+ ('9', 1635, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt8X64#"),+ ('9', 1636, InTerms, Just "GHC.Internal.Prim", "insertInt16X32#"),+ ('9', 1637, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt16X32#"),+ ('9', 1638, InTerms, Just "GHC.Internal.Prim", "insertInt32X16#"),+ ('9', 1639, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt32X16#"),+ ('9', 1640, InTerms, Just "GHC.Internal.Prim", "insertInt64X8#"),+ ('9', 1641, InTerms, Just "GHC.Internal.PrimopWrappers", "insertInt64X8#"),+ ('9', 1642, InTerms, Just "GHC.Internal.Prim", "insertWord8X16#"),+ ('9', 1643, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord8X16#"),+ ('9', 1644, InTerms, Just "GHC.Internal.Prim", "insertWord16X8#"),+ ('9', 1645, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord16X8#"),+ ('9', 1646, InTerms, Just "GHC.Internal.Prim", "insertWord32X4#"),+ ('9', 1647, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord32X4#"),+ ('9', 1648, InTerms, Just "GHC.Internal.Prim", "insertWord64X2#"),+ ('9', 1649, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord64X2#"),+ ('9', 1650, InTerms, Just "GHC.Internal.Prim", "insertWord8X32#"),+ ('9', 1651, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord8X32#"),+ ('9', 1652, InTerms, Just "GHC.Internal.Prim", "insertWord16X16#"),+ ('9', 1653, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord16X16#"),+ ('9', 1654, InTerms, Just "GHC.Internal.Prim", "insertWord32X8#"),+ ('9', 1655, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord32X8#"),+ ('9', 1656, InTerms, Just "GHC.Internal.Prim", "insertWord64X4#"),+ ('9', 1657, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord64X4#"),+ ('9', 1658, InTerms, Just "GHC.Internal.Prim", "insertWord8X64#"),+ ('9', 1659, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord8X64#"),+ ('9', 1660, InTerms, Just "GHC.Internal.Prim", "insertWord16X32#"),+ ('9', 1661, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord16X32#"),+ ('9', 1662, InTerms, Just "GHC.Internal.Prim", "insertWord32X16#"),+ ('9', 1663, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord32X16#"),+ ('9', 1664, InTerms, Just "GHC.Internal.Prim", "insertWord64X8#"),+ ('9', 1665, InTerms, Just "GHC.Internal.PrimopWrappers", "insertWord64X8#"),+ ('9', 1666, InTerms, Just "GHC.Internal.Prim", "insertFloatX4#"),+ ('9', 1667, InTerms, Just "GHC.Internal.PrimopWrappers", "insertFloatX4#"),+ ('9', 1668, InTerms, Just "GHC.Internal.Prim", "insertDoubleX2#"),+ ('9', 1669, InTerms, Just "GHC.Internal.PrimopWrappers", "insertDoubleX2#"),+ ('9', 1670, InTerms, Just "GHC.Internal.Prim", "insertFloatX8#"),+ ('9', 1671, InTerms, Just "GHC.Internal.PrimopWrappers", "insertFloatX8#"),+ ('9', 1672, InTerms, Just "GHC.Internal.Prim", "insertDoubleX4#"),+ ('9', 1673, InTerms, Just "GHC.Internal.PrimopWrappers", "insertDoubleX4#"),+ ('9', 1674, InTerms, Just "GHC.Internal.Prim", "insertFloatX16#"),+ ('9', 1675, InTerms, Just "GHC.Internal.PrimopWrappers", "insertFloatX16#"),+ ('9', 1676, InTerms, Just "GHC.Internal.Prim", "insertDoubleX8#"),+ ('9', 1677, InTerms, Just "GHC.Internal.PrimopWrappers", "insertDoubleX8#"),+ ('9', 1678, InTerms, Just "GHC.Internal.Prim", "plusInt8X16#"),+ ('9', 1679, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt8X16#"),+ ('9', 1680, InTerms, Just "GHC.Internal.Prim", "plusInt16X8#"),+ ('9', 1681, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt16X8#"),+ ('9', 1682, InTerms, Just "GHC.Internal.Prim", "plusInt32X4#"),+ ('9', 1683, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt32X4#"),+ ('9', 1684, InTerms, Just "GHC.Internal.Prim", "plusInt64X2#"),+ ('9', 1685, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt64X2#"),+ ('9', 1686, InTerms, Just "GHC.Internal.Prim", "plusInt8X32#"),+ ('9', 1687, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt8X32#"),+ ('9', 1688, InTerms, Just "GHC.Internal.Prim", "plusInt16X16#"),+ ('9', 1689, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt16X16#"),+ ('9', 1690, InTerms, Just "GHC.Internal.Prim", "plusInt32X8#"),+ ('9', 1691, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt32X8#"),+ ('9', 1692, InTerms, Just "GHC.Internal.Prim", "plusInt64X4#"),+ ('9', 1693, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt64X4#"),+ ('9', 1694, InTerms, Just "GHC.Internal.Prim", "plusInt8X64#"),+ ('9', 1695, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt8X64#"),+ ('9', 1696, InTerms, Just "GHC.Internal.Prim", "plusInt16X32#"),+ ('9', 1697, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt16X32#"),+ ('9', 1698, InTerms, Just "GHC.Internal.Prim", "plusInt32X16#"),+ ('9', 1699, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt32X16#"),+ ('9', 1700, InTerms, Just "GHC.Internal.Prim", "plusInt64X8#"),+ ('9', 1701, InTerms, Just "GHC.Internal.PrimopWrappers", "plusInt64X8#"),+ ('9', 1702, InTerms, Just "GHC.Internal.Prim", "plusWord8X16#"),+ ('9', 1703, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord8X16#"),+ ('9', 1704, InTerms, Just "GHC.Internal.Prim", "plusWord16X8#"),+ ('9', 1705, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord16X8#"),+ ('9', 1706, InTerms, Just "GHC.Internal.Prim", "plusWord32X4#"),+ ('9', 1707, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord32X4#"),+ ('9', 1708, InTerms, Just "GHC.Internal.Prim", "plusWord64X2#"),+ ('9', 1709, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord64X2#"),+ ('9', 1710, InTerms, Just "GHC.Internal.Prim", "plusWord8X32#"),+ ('9', 1711, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord8X32#"),+ ('9', 1712, InTerms, Just "GHC.Internal.Prim", "plusWord16X16#"),+ ('9', 1713, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord16X16#"),+ ('9', 1714, InTerms, Just "GHC.Internal.Prim", "plusWord32X8#"),+ ('9', 1715, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord32X8#"),+ ('9', 1716, InTerms, Just "GHC.Internal.Prim", "plusWord64X4#"),+ ('9', 1717, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord64X4#"),+ ('9', 1718, InTerms, Just "GHC.Internal.Prim", "plusWord8X64#"),+ ('9', 1719, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord8X64#"),+ ('9', 1720, InTerms, Just "GHC.Internal.Prim", "plusWord16X32#"),+ ('9', 1721, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord16X32#"),+ ('9', 1722, InTerms, Just "GHC.Internal.Prim", "plusWord32X16#"),+ ('9', 1723, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord32X16#"),+ ('9', 1724, InTerms, Just "GHC.Internal.Prim", "plusWord64X8#"),+ ('9', 1725, InTerms, Just "GHC.Internal.PrimopWrappers", "plusWord64X8#"),+ ('9', 1726, InTerms, Just "GHC.Internal.Prim", "plusFloatX4#"),+ ('9', 1727, InTerms, Just "GHC.Internal.PrimopWrappers", "plusFloatX4#"),+ ('9', 1728, InTerms, Just "GHC.Internal.Prim", "plusDoubleX2#"),+ ('9', 1729, InTerms, Just "GHC.Internal.PrimopWrappers", "plusDoubleX2#"),+ ('9', 1730, InTerms, Just "GHC.Internal.Prim", "plusFloatX8#"),+ ('9', 1731, InTerms, Just "GHC.Internal.PrimopWrappers", "plusFloatX8#"),+ ('9', 1732, InTerms, Just "GHC.Internal.Prim", "plusDoubleX4#"),+ ('9', 1733, InTerms, Just "GHC.Internal.PrimopWrappers", "plusDoubleX4#"),+ ('9', 1734, InTerms, Just "GHC.Internal.Prim", "plusFloatX16#"),+ ('9', 1735, InTerms, Just "GHC.Internal.PrimopWrappers", "plusFloatX16#"),+ ('9', 1736, InTerms, Just "GHC.Internal.Prim", "plusDoubleX8#"),+ ('9', 1737, InTerms, Just "GHC.Internal.PrimopWrappers", "plusDoubleX8#"),+ ('9', 1738, InTerms, Just "GHC.Internal.Prim", "minusInt8X16#"),+ ('9', 1739, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt8X16#"),+ ('9', 1740, InTerms, Just "GHC.Internal.Prim", "minusInt16X8#"),+ ('9', 1741, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt16X8#"),+ ('9', 1742, InTerms, Just "GHC.Internal.Prim", "minusInt32X4#"),+ ('9', 1743, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt32X4#"),+ ('9', 1744, InTerms, Just "GHC.Internal.Prim", "minusInt64X2#"),+ ('9', 1745, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt64X2#"),+ ('9', 1746, InTerms, Just "GHC.Internal.Prim", "minusInt8X32#"),+ ('9', 1747, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt8X32#"),+ ('9', 1748, InTerms, Just "GHC.Internal.Prim", "minusInt16X16#"),+ ('9', 1749, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt16X16#"),+ ('9', 1750, InTerms, Just "GHC.Internal.Prim", "minusInt32X8#"),+ ('9', 1751, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt32X8#"),+ ('9', 1752, InTerms, Just "GHC.Internal.Prim", "minusInt64X4#"),+ ('9', 1753, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt64X4#"),+ ('9', 1754, InTerms, Just "GHC.Internal.Prim", "minusInt8X64#"),+ ('9', 1755, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt8X64#"),+ ('9', 1756, InTerms, Just "GHC.Internal.Prim", "minusInt16X32#"),+ ('9', 1757, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt16X32#"),+ ('9', 1758, InTerms, Just "GHC.Internal.Prim", "minusInt32X16#"),+ ('9', 1759, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt32X16#"),+ ('9', 1760, InTerms, Just "GHC.Internal.Prim", "minusInt64X8#"),+ ('9', 1761, InTerms, Just "GHC.Internal.PrimopWrappers", "minusInt64X8#"),+ ('9', 1762, InTerms, Just "GHC.Internal.Prim", "minusWord8X16#"),+ ('9', 1763, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord8X16#"),+ ('9', 1764, InTerms, Just "GHC.Internal.Prim", "minusWord16X8#"),+ ('9', 1765, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord16X8#"),+ ('9', 1766, InTerms, Just "GHC.Internal.Prim", "minusWord32X4#"),+ ('9', 1767, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord32X4#"),+ ('9', 1768, InTerms, Just "GHC.Internal.Prim", "minusWord64X2#"),+ ('9', 1769, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord64X2#"),+ ('9', 1770, InTerms, Just "GHC.Internal.Prim", "minusWord8X32#"),+ ('9', 1771, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord8X32#"),+ ('9', 1772, InTerms, Just "GHC.Internal.Prim", "minusWord16X16#"),+ ('9', 1773, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord16X16#"),+ ('9', 1774, InTerms, Just "GHC.Internal.Prim", "minusWord32X8#"),+ ('9', 1775, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord32X8#"),+ ('9', 1776, InTerms, Just "GHC.Internal.Prim", "minusWord64X4#"),+ ('9', 1777, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord64X4#"),+ ('9', 1778, InTerms, Just "GHC.Internal.Prim", "minusWord8X64#"),+ ('9', 1779, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord8X64#"),+ ('9', 1780, InTerms, Just "GHC.Internal.Prim", "minusWord16X32#"),+ ('9', 1781, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord16X32#"),+ ('9', 1782, InTerms, Just "GHC.Internal.Prim", "minusWord32X16#"),+ ('9', 1783, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord32X16#"),+ ('9', 1784, InTerms, Just "GHC.Internal.Prim", "minusWord64X8#"),+ ('9', 1785, InTerms, Just "GHC.Internal.PrimopWrappers", "minusWord64X8#"),+ ('9', 1786, InTerms, Just "GHC.Internal.Prim", "minusFloatX4#"),+ ('9', 1787, InTerms, Just "GHC.Internal.PrimopWrappers", "minusFloatX4#"),+ ('9', 1788, InTerms, Just "GHC.Internal.Prim", "minusDoubleX2#"),+ ('9', 1789, InTerms, Just "GHC.Internal.PrimopWrappers", "minusDoubleX2#"),+ ('9', 1790, InTerms, Just "GHC.Internal.Prim", "minusFloatX8#"),+ ('9', 1791, InTerms, Just "GHC.Internal.PrimopWrappers", "minusFloatX8#"),+ ('9', 1792, InTerms, Just "GHC.Internal.Prim", "minusDoubleX4#"),+ ('9', 1793, InTerms, Just "GHC.Internal.PrimopWrappers", "minusDoubleX4#"),+ ('9', 1794, InTerms, Just "GHC.Internal.Prim", "minusFloatX16#"),+ ('9', 1795, InTerms, Just "GHC.Internal.PrimopWrappers", "minusFloatX16#"),+ ('9', 1796, InTerms, Just "GHC.Internal.Prim", "minusDoubleX8#"),+ ('9', 1797, InTerms, Just "GHC.Internal.PrimopWrappers", "minusDoubleX8#"),+ ('9', 1798, InTerms, Just "GHC.Internal.Prim", "timesInt8X16#"),+ ('9', 1799, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt8X16#"),+ ('9', 1800, InTerms, Just "GHC.Internal.Prim", "timesInt16X8#"),+ ('9', 1801, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt16X8#"),+ ('9', 1802, InTerms, Just "GHC.Internal.Prim", "timesInt32X4#"),+ ('9', 1803, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt32X4#"),+ ('9', 1804, InTerms, Just "GHC.Internal.Prim", "timesInt64X2#"),+ ('9', 1805, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt64X2#"),+ ('9', 1806, InTerms, Just "GHC.Internal.Prim", "timesInt8X32#"),+ ('9', 1807, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt8X32#"),+ ('9', 1808, InTerms, Just "GHC.Internal.Prim", "timesInt16X16#"),+ ('9', 1809, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt16X16#"),+ ('9', 1810, InTerms, Just "GHC.Internal.Prim", "timesInt32X8#"),+ ('9', 1811, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt32X8#"),+ ('9', 1812, InTerms, Just "GHC.Internal.Prim", "timesInt64X4#"),+ ('9', 1813, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt64X4#"),+ ('9', 1814, InTerms, Just "GHC.Internal.Prim", "timesInt8X64#"),+ ('9', 1815, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt8X64#"),+ ('9', 1816, InTerms, Just "GHC.Internal.Prim", "timesInt16X32#"),+ ('9', 1817, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt16X32#"),+ ('9', 1818, InTerms, Just "GHC.Internal.Prim", "timesInt32X16#"),+ ('9', 1819, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt32X16#"),+ ('9', 1820, InTerms, Just "GHC.Internal.Prim", "timesInt64X8#"),+ ('9', 1821, InTerms, Just "GHC.Internal.PrimopWrappers", "timesInt64X8#"),+ ('9', 1822, InTerms, Just "GHC.Internal.Prim", "timesWord8X16#"),+ ('9', 1823, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord8X16#"),+ ('9', 1824, InTerms, Just "GHC.Internal.Prim", "timesWord16X8#"),+ ('9', 1825, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord16X8#"),+ ('9', 1826, InTerms, Just "GHC.Internal.Prim", "timesWord32X4#"),+ ('9', 1827, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord32X4#"),+ ('9', 1828, InTerms, Just "GHC.Internal.Prim", "timesWord64X2#"),+ ('9', 1829, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord64X2#"),+ ('9', 1830, InTerms, Just "GHC.Internal.Prim", "timesWord8X32#"),+ ('9', 1831, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord8X32#"),+ ('9', 1832, InTerms, Just "GHC.Internal.Prim", "timesWord16X16#"),+ ('9', 1833, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord16X16#"),+ ('9', 1834, InTerms, Just "GHC.Internal.Prim", "timesWord32X8#"),+ ('9', 1835, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord32X8#"),+ ('9', 1836, InTerms, Just "GHC.Internal.Prim", "timesWord64X4#"),+ ('9', 1837, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord64X4#"),+ ('9', 1838, InTerms, Just "GHC.Internal.Prim", "timesWord8X64#"),+ ('9', 1839, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord8X64#"),+ ('9', 1840, InTerms, Just "GHC.Internal.Prim", "timesWord16X32#"),+ ('9', 1841, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord16X32#"),+ ('9', 1842, InTerms, Just "GHC.Internal.Prim", "timesWord32X16#"),+ ('9', 1843, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord32X16#"),+ ('9', 1844, InTerms, Just "GHC.Internal.Prim", "timesWord64X8#"),+ ('9', 1845, InTerms, Just "GHC.Internal.PrimopWrappers", "timesWord64X8#"),+ ('9', 1846, InTerms, Just "GHC.Internal.Prim", "timesFloatX4#"),+ ('9', 1847, InTerms, Just "GHC.Internal.PrimopWrappers", "timesFloatX4#"),+ ('9', 1848, InTerms, Just "GHC.Internal.Prim", "timesDoubleX2#"),+ ('9', 1849, InTerms, Just "GHC.Internal.PrimopWrappers", "timesDoubleX2#"),+ ('9', 1850, InTerms, Just "GHC.Internal.Prim", "timesFloatX8#"),+ ('9', 1851, InTerms, Just "GHC.Internal.PrimopWrappers", "timesFloatX8#"),+ ('9', 1852, InTerms, Just "GHC.Internal.Prim", "timesDoubleX4#"),+ ('9', 1853, InTerms, Just "GHC.Internal.PrimopWrappers", "timesDoubleX4#"),+ ('9', 1854, InTerms, Just "GHC.Internal.Prim", "timesFloatX16#"),+ ('9', 1855, InTerms, Just "GHC.Internal.PrimopWrappers", "timesFloatX16#"),+ ('9', 1856, InTerms, Just "GHC.Internal.Prim", "timesDoubleX8#"),+ ('9', 1857, InTerms, Just "GHC.Internal.PrimopWrappers", "timesDoubleX8#"),+ ('9', 1858, InTerms, Just "GHC.Internal.Prim", "divideFloatX4#"),+ ('9', 1859, InTerms, Just "GHC.Internal.PrimopWrappers", "divideFloatX4#"),+ ('9', 1860, InTerms, Just "GHC.Internal.Prim", "divideDoubleX2#"),+ ('9', 1861, InTerms, Just "GHC.Internal.PrimopWrappers", "divideDoubleX2#"),+ ('9', 1862, InTerms, Just "GHC.Internal.Prim", "divideFloatX8#"),+ ('9', 1863, InTerms, Just "GHC.Internal.PrimopWrappers", "divideFloatX8#"),+ ('9', 1864, InTerms, Just "GHC.Internal.Prim", "divideDoubleX4#"),+ ('9', 1865, InTerms, Just "GHC.Internal.PrimopWrappers", "divideDoubleX4#"),+ ('9', 1866, InTerms, Just "GHC.Internal.Prim", "divideFloatX16#"),+ ('9', 1867, InTerms, Just "GHC.Internal.PrimopWrappers", "divideFloatX16#"),+ ('9', 1868, InTerms, Just "GHC.Internal.Prim", "divideDoubleX8#"),+ ('9', 1869, InTerms, Just "GHC.Internal.PrimopWrappers", "divideDoubleX8#"),+ ('9', 1870, InTerms, Just "GHC.Internal.Prim", "quotInt8X16#"),+ ('9', 1871, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt8X16#"),+ ('9', 1872, InTerms, Just "GHC.Internal.Prim", "quotInt16X8#"),+ ('9', 1873, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt16X8#"),+ ('9', 1874, InTerms, Just "GHC.Internal.Prim", "quotInt32X4#"),+ ('9', 1875, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt32X4#"),+ ('9', 1876, InTerms, Just "GHC.Internal.Prim", "quotInt64X2#"),+ ('9', 1877, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt64X2#"),+ ('9', 1878, InTerms, Just "GHC.Internal.Prim", "quotInt8X32#"),+ ('9', 1879, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt8X32#"),+ ('9', 1880, InTerms, Just "GHC.Internal.Prim", "quotInt16X16#"),+ ('9', 1881, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt16X16#"),+ ('9', 1882, InTerms, Just "GHC.Internal.Prim", "quotInt32X8#"),+ ('9', 1883, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt32X8#"),+ ('9', 1884, InTerms, Just "GHC.Internal.Prim", "quotInt64X4#"),+ ('9', 1885, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt64X4#"),+ ('9', 1886, InTerms, Just "GHC.Internal.Prim", "quotInt8X64#"),+ ('9', 1887, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt8X64#"),+ ('9', 1888, InTerms, Just "GHC.Internal.Prim", "quotInt16X32#"),+ ('9', 1889, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt16X32#"),+ ('9', 1890, InTerms, Just "GHC.Internal.Prim", "quotInt32X16#"),+ ('9', 1891, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt32X16#"),+ ('9', 1892, InTerms, Just "GHC.Internal.Prim", "quotInt64X8#"),+ ('9', 1893, InTerms, Just "GHC.Internal.PrimopWrappers", "quotInt64X8#"),+ ('9', 1894, InTerms, Just "GHC.Internal.Prim", "quotWord8X16#"),+ ('9', 1895, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord8X16#"),+ ('9', 1896, InTerms, Just "GHC.Internal.Prim", "quotWord16X8#"),+ ('9', 1897, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord16X8#"),+ ('9', 1898, InTerms, Just "GHC.Internal.Prim", "quotWord32X4#"),+ ('9', 1899, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord32X4#"),+ ('9', 1900, InTerms, Just "GHC.Internal.Prim", "quotWord64X2#"),+ ('9', 1901, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord64X2#"),+ ('9', 1902, InTerms, Just "GHC.Internal.Prim", "quotWord8X32#"),+ ('9', 1903, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord8X32#"),+ ('9', 1904, InTerms, Just "GHC.Internal.Prim", "quotWord16X16#"),+ ('9', 1905, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord16X16#"),+ ('9', 1906, InTerms, Just "GHC.Internal.Prim", "quotWord32X8#"),+ ('9', 1907, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord32X8#"),+ ('9', 1908, InTerms, Just "GHC.Internal.Prim", "quotWord64X4#"),+ ('9', 1909, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord64X4#"),+ ('9', 1910, InTerms, Just "GHC.Internal.Prim", "quotWord8X64#"),+ ('9', 1911, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord8X64#"),+ ('9', 1912, InTerms, Just "GHC.Internal.Prim", "quotWord16X32#"),+ ('9', 1913, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord16X32#"),+ ('9', 1914, InTerms, Just "GHC.Internal.Prim", "quotWord32X16#"),+ ('9', 1915, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord32X16#"),+ ('9', 1916, InTerms, Just "GHC.Internal.Prim", "quotWord64X8#"),+ ('9', 1917, InTerms, Just "GHC.Internal.PrimopWrappers", "quotWord64X8#"),+ ('9', 1918, InTerms, Just "GHC.Internal.Prim", "remInt8X16#"),+ ('9', 1919, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt8X16#"),+ ('9', 1920, InTerms, Just "GHC.Internal.Prim", "remInt16X8#"),+ ('9', 1921, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt16X8#"),+ ('9', 1922, InTerms, Just "GHC.Internal.Prim", "remInt32X4#"),+ ('9', 1923, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt32X4#"),+ ('9', 1924, InTerms, Just "GHC.Internal.Prim", "remInt64X2#"),+ ('9', 1925, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt64X2#"),+ ('9', 1926, InTerms, Just "GHC.Internal.Prim", "remInt8X32#"),+ ('9', 1927, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt8X32#"),+ ('9', 1928, InTerms, Just "GHC.Internal.Prim", "remInt16X16#"),+ ('9', 1929, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt16X16#"),+ ('9', 1930, InTerms, Just "GHC.Internal.Prim", "remInt32X8#"),+ ('9', 1931, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt32X8#"),+ ('9', 1932, InTerms, Just "GHC.Internal.Prim", "remInt64X4#"),+ ('9', 1933, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt64X4#"),+ ('9', 1934, InTerms, Just "GHC.Internal.Prim", "remInt8X64#"),+ ('9', 1935, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt8X64#"),+ ('9', 1936, InTerms, Just "GHC.Internal.Prim", "remInt16X32#"),+ ('9', 1937, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt16X32#"),+ ('9', 1938, InTerms, Just "GHC.Internal.Prim", "remInt32X16#"),+ ('9', 1939, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt32X16#"),+ ('9', 1940, InTerms, Just "GHC.Internal.Prim", "remInt64X8#"),+ ('9', 1941, InTerms, Just "GHC.Internal.PrimopWrappers", "remInt64X8#"),+ ('9', 1942, InTerms, Just "GHC.Internal.Prim", "remWord8X16#"),+ ('9', 1943, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord8X16#"),+ ('9', 1944, InTerms, Just "GHC.Internal.Prim", "remWord16X8#"),+ ('9', 1945, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord16X8#"),+ ('9', 1946, InTerms, Just "GHC.Internal.Prim", "remWord32X4#"),+ ('9', 1947, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord32X4#"),+ ('9', 1948, InTerms, Just "GHC.Internal.Prim", "remWord64X2#"),+ ('9', 1949, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord64X2#"),+ ('9', 1950, InTerms, Just "GHC.Internal.Prim", "remWord8X32#"),+ ('9', 1951, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord8X32#"),+ ('9', 1952, InTerms, Just "GHC.Internal.Prim", "remWord16X16#"),+ ('9', 1953, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord16X16#"),+ ('9', 1954, InTerms, Just "GHC.Internal.Prim", "remWord32X8#"),+ ('9', 1955, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord32X8#"),+ ('9', 1956, InTerms, Just "GHC.Internal.Prim", "remWord64X4#"),+ ('9', 1957, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord64X4#"),+ ('9', 1958, InTerms, Just "GHC.Internal.Prim", "remWord8X64#"),+ ('9', 1959, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord8X64#"),+ ('9', 1960, InTerms, Just "GHC.Internal.Prim", "remWord16X32#"),+ ('9', 1961, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord16X32#"),+ ('9', 1962, InTerms, Just "GHC.Internal.Prim", "remWord32X16#"),+ ('9', 1963, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord32X16#"),+ ('9', 1964, InTerms, Just "GHC.Internal.Prim", "remWord64X8#"),+ ('9', 1965, InTerms, Just "GHC.Internal.PrimopWrappers", "remWord64X8#"),+ ('9', 1966, InTerms, Just "GHC.Internal.Prim", "negateInt8X16#"),+ ('9', 1967, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt8X16#"),+ ('9', 1968, InTerms, Just "GHC.Internal.Prim", "negateInt16X8#"),+ ('9', 1969, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt16X8#"),+ ('9', 1970, InTerms, Just "GHC.Internal.Prim", "negateInt32X4#"),+ ('9', 1971, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt32X4#"),+ ('9', 1972, InTerms, Just "GHC.Internal.Prim", "negateInt64X2#"),+ ('9', 1973, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt64X2#"),+ ('9', 1974, InTerms, Just "GHC.Internal.Prim", "negateInt8X32#"),+ ('9', 1975, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt8X32#"),+ ('9', 1976, InTerms, Just "GHC.Internal.Prim", "negateInt16X16#"),+ ('9', 1977, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt16X16#"),+ ('9', 1978, InTerms, Just "GHC.Internal.Prim", "negateInt32X8#"),+ ('9', 1979, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt32X8#"),+ ('9', 1980, InTerms, Just "GHC.Internal.Prim", "negateInt64X4#"),+ ('9', 1981, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt64X4#"),+ ('9', 1982, InTerms, Just "GHC.Internal.Prim", "negateInt8X64#"),+ ('9', 1983, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt8X64#"),+ ('9', 1984, InTerms, Just "GHC.Internal.Prim", "negateInt16X32#"),+ ('9', 1985, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt16X32#"),+ ('9', 1986, InTerms, Just "GHC.Internal.Prim", "negateInt32X16#"),+ ('9', 1987, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt32X16#"),+ ('9', 1988, InTerms, Just "GHC.Internal.Prim", "negateInt64X8#"),+ ('9', 1989, InTerms, Just "GHC.Internal.PrimopWrappers", "negateInt64X8#"),+ ('9', 1990, InTerms, Just "GHC.Internal.Prim", "negateFloatX4#"),+ ('9', 1991, InTerms, Just "GHC.Internal.PrimopWrappers", "negateFloatX4#"),+ ('9', 1992, InTerms, Just "GHC.Internal.Prim", "negateDoubleX2#"),+ ('9', 1993, InTerms, Just "GHC.Internal.PrimopWrappers", "negateDoubleX2#"),+ ('9', 1994, InTerms, Just "GHC.Internal.Prim", "negateFloatX8#"),+ ('9', 1995, InTerms, Just "GHC.Internal.PrimopWrappers", "negateFloatX8#"),+ ('9', 1996, InTerms, Just "GHC.Internal.Prim", "negateDoubleX4#"),+ ('9', 1997, InTerms, Just "GHC.Internal.PrimopWrappers", "negateDoubleX4#"),+ ('9', 1998, InTerms, Just "GHC.Internal.Prim", "negateFloatX16#"),+ ('9', 1999, InTerms, Just "GHC.Internal.PrimopWrappers", "negateFloatX16#"),+ ('9', 2000, InTerms, Just "GHC.Internal.Prim", "negateDoubleX8#"),+ ('9', 2001, InTerms, Just "GHC.Internal.PrimopWrappers", "negateDoubleX8#"),+ ('9', 2002, InTerms, Just "GHC.Internal.Prim", "indexInt8X16Array#"),+ ('9', 2003, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8X16Array#"),+ ('9', 2004, InTerms, Just "GHC.Internal.Prim", "indexInt16X8Array#"),+ ('9', 2005, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16X8Array#"),+ ('9', 2006, InTerms, Just "GHC.Internal.Prim", "indexInt32X4Array#"),+ ('9', 2007, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32X4Array#"),+ ('9', 2008, InTerms, Just "GHC.Internal.Prim", "indexInt64X2Array#"),+ ('9', 2009, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64X2Array#"),+ ('9', 2010, InTerms, Just "GHC.Internal.Prim", "indexInt8X32Array#"),+ ('9', 2011, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8X32Array#"),+ ('9', 2012, InTerms, Just "GHC.Internal.Prim", "indexInt16X16Array#"),+ ('9', 2013, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16X16Array#"),+ ('9', 2014, InTerms, Just "GHC.Internal.Prim", "indexInt32X8Array#"),+ ('9', 2015, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32X8Array#"),+ ('9', 2016, InTerms, Just "GHC.Internal.Prim", "indexInt64X4Array#"),+ ('9', 2017, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64X4Array#"),+ ('9', 2018, InTerms, Just "GHC.Internal.Prim", "indexInt8X64Array#"),+ ('9', 2019, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8X64Array#"),+ ('9', 2020, InTerms, Just "GHC.Internal.Prim", "indexInt16X32Array#"),+ ('9', 2021, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16X32Array#"),+ ('9', 2022, InTerms, Just "GHC.Internal.Prim", "indexInt32X16Array#"),+ ('9', 2023, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32X16Array#"),+ ('9', 2024, InTerms, Just "GHC.Internal.Prim", "indexInt64X8Array#"),+ ('9', 2025, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64X8Array#"),+ ('9', 2026, InTerms, Just "GHC.Internal.Prim", "indexWord8X16Array#"),+ ('9', 2027, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8X16Array#"),+ ('9', 2028, InTerms, Just "GHC.Internal.Prim", "indexWord16X8Array#"),+ ('9', 2029, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16X8Array#"),+ ('9', 2030, InTerms, Just "GHC.Internal.Prim", "indexWord32X4Array#"),+ ('9', 2031, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32X4Array#"),+ ('9', 2032, InTerms, Just "GHC.Internal.Prim", "indexWord64X2Array#"),+ ('9', 2033, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64X2Array#"),+ ('9', 2034, InTerms, Just "GHC.Internal.Prim", "indexWord8X32Array#"),+ ('9', 2035, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8X32Array#"),+ ('9', 2036, InTerms, Just "GHC.Internal.Prim", "indexWord16X16Array#"),+ ('9', 2037, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16X16Array#"),+ ('9', 2038, InTerms, Just "GHC.Internal.Prim", "indexWord32X8Array#"),+ ('9', 2039, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32X8Array#"),+ ('9', 2040, InTerms, Just "GHC.Internal.Prim", "indexWord64X4Array#"),+ ('9', 2041, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64X4Array#"),+ ('9', 2042, InTerms, Just "GHC.Internal.Prim", "indexWord8X64Array#"),+ ('9', 2043, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8X64Array#"),+ ('9', 2044, InTerms, Just "GHC.Internal.Prim", "indexWord16X32Array#"),+ ('9', 2045, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16X32Array#"),+ ('9', 2046, InTerms, Just "GHC.Internal.Prim", "indexWord32X16Array#"),+ ('9', 2047, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32X16Array#"),+ ('9', 2048, InTerms, Just "GHC.Internal.Prim", "indexWord64X8Array#"),+ ('9', 2049, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64X8Array#"),+ ('9', 2050, InTerms, Just "GHC.Internal.Prim", "indexFloatX4Array#"),+ ('9', 2051, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatX4Array#"),+ ('9', 2052, InTerms, Just "GHC.Internal.Prim", "indexDoubleX2Array#"),+ ('9', 2053, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleX2Array#"),+ ('9', 2054, InTerms, Just "GHC.Internal.Prim", "indexFloatX8Array#"),+ ('9', 2055, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatX8Array#"),+ ('9', 2056, InTerms, Just "GHC.Internal.Prim", "indexDoubleX4Array#"),+ ('9', 2057, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleX4Array#"),+ ('9', 2058, InTerms, Just "GHC.Internal.Prim", "indexFloatX16Array#"),+ ('9', 2059, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatX16Array#"),+ ('9', 2060, InTerms, Just "GHC.Internal.Prim", "indexDoubleX8Array#"),+ ('9', 2061, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleX8Array#"),+ ('9', 2062, InTerms, Just "GHC.Internal.Prim", "readInt8X16Array#"),+ ('9', 2063, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8X16Array#"),+ ('9', 2064, InTerms, Just "GHC.Internal.Prim", "readInt16X8Array#"),+ ('9', 2065, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16X8Array#"),+ ('9', 2066, InTerms, Just "GHC.Internal.Prim", "readInt32X4Array#"),+ ('9', 2067, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32X4Array#"),+ ('9', 2068, InTerms, Just "GHC.Internal.Prim", "readInt64X2Array#"),+ ('9', 2069, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64X2Array#"),+ ('9', 2070, InTerms, Just "GHC.Internal.Prim", "readInt8X32Array#"),+ ('9', 2071, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8X32Array#"),+ ('9', 2072, InTerms, Just "GHC.Internal.Prim", "readInt16X16Array#"),+ ('9', 2073, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16X16Array#"),+ ('9', 2074, InTerms, Just "GHC.Internal.Prim", "readInt32X8Array#"),+ ('9', 2075, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32X8Array#"),+ ('9', 2076, InTerms, Just "GHC.Internal.Prim", "readInt64X4Array#"),+ ('9', 2077, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64X4Array#"),+ ('9', 2078, InTerms, Just "GHC.Internal.Prim", "readInt8X64Array#"),+ ('9', 2079, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8X64Array#"),+ ('9', 2080, InTerms, Just "GHC.Internal.Prim", "readInt16X32Array#"),+ ('9', 2081, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16X32Array#"),+ ('9', 2082, InTerms, Just "GHC.Internal.Prim", "readInt32X16Array#"),+ ('9', 2083, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32X16Array#"),+ ('9', 2084, InTerms, Just "GHC.Internal.Prim", "readInt64X8Array#"),+ ('9', 2085, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64X8Array#"),+ ('9', 2086, InTerms, Just "GHC.Internal.Prim", "readWord8X16Array#"),+ ('9', 2087, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8X16Array#"),+ ('9', 2088, InTerms, Just "GHC.Internal.Prim", "readWord16X8Array#"),+ ('9', 2089, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16X8Array#"),+ ('9', 2090, InTerms, Just "GHC.Internal.Prim", "readWord32X4Array#"),+ ('9', 2091, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32X4Array#"),+ ('9', 2092, InTerms, Just "GHC.Internal.Prim", "readWord64X2Array#"),+ ('9', 2093, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64X2Array#"),+ ('9', 2094, InTerms, Just "GHC.Internal.Prim", "readWord8X32Array#"),+ ('9', 2095, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8X32Array#"),+ ('9', 2096, InTerms, Just "GHC.Internal.Prim", "readWord16X16Array#"),+ ('9', 2097, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16X16Array#"),+ ('9', 2098, InTerms, Just "GHC.Internal.Prim", "readWord32X8Array#"),+ ('9', 2099, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32X8Array#"),+ ('9', 2100, InTerms, Just "GHC.Internal.Prim", "readWord64X4Array#"),+ ('9', 2101, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64X4Array#"),+ ('9', 2102, InTerms, Just "GHC.Internal.Prim", "readWord8X64Array#"),+ ('9', 2103, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8X64Array#"),+ ('9', 2104, InTerms, Just "GHC.Internal.Prim", "readWord16X32Array#"),+ ('9', 2105, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16X32Array#"),+ ('9', 2106, InTerms, Just "GHC.Internal.Prim", "readWord32X16Array#"),+ ('9', 2107, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32X16Array#"),+ ('9', 2108, InTerms, Just "GHC.Internal.Prim", "readWord64X8Array#"),+ ('9', 2109, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64X8Array#"),+ ('9', 2110, InTerms, Just "GHC.Internal.Prim", "readFloatX4Array#"),+ ('9', 2111, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatX4Array#"),+ ('9', 2112, InTerms, Just "GHC.Internal.Prim", "readDoubleX2Array#"),+ ('9', 2113, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleX2Array#"),+ ('9', 2114, InTerms, Just "GHC.Internal.Prim", "readFloatX8Array#"),+ ('9', 2115, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatX8Array#"),+ ('9', 2116, InTerms, Just "GHC.Internal.Prim", "readDoubleX4Array#"),+ ('9', 2117, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleX4Array#"),+ ('9', 2118, InTerms, Just "GHC.Internal.Prim", "readFloatX16Array#"),+ ('9', 2119, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatX16Array#"),+ ('9', 2120, InTerms, Just "GHC.Internal.Prim", "readDoubleX8Array#"),+ ('9', 2121, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleX8Array#"),+ ('9', 2122, InTerms, Just "GHC.Internal.Prim", "writeInt8X16Array#"),+ ('9', 2123, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8X16Array#"),+ ('9', 2124, InTerms, Just "GHC.Internal.Prim", "writeInt16X8Array#"),+ ('9', 2125, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16X8Array#"),+ ('9', 2126, InTerms, Just "GHC.Internal.Prim", "writeInt32X4Array#"),+ ('9', 2127, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32X4Array#"),+ ('9', 2128, InTerms, Just "GHC.Internal.Prim", "writeInt64X2Array#"),+ ('9', 2129, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64X2Array#"),+ ('9', 2130, InTerms, Just "GHC.Internal.Prim", "writeInt8X32Array#"),+ ('9', 2131, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8X32Array#"),+ ('9', 2132, InTerms, Just "GHC.Internal.Prim", "writeInt16X16Array#"),+ ('9', 2133, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16X16Array#"),+ ('9', 2134, InTerms, Just "GHC.Internal.Prim", "writeInt32X8Array#"),+ ('9', 2135, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32X8Array#"),+ ('9', 2136, InTerms, Just "GHC.Internal.Prim", "writeInt64X4Array#"),+ ('9', 2137, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64X4Array#"),+ ('9', 2138, InTerms, Just "GHC.Internal.Prim", "writeInt8X64Array#"),+ ('9', 2139, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8X64Array#"),+ ('9', 2140, InTerms, Just "GHC.Internal.Prim", "writeInt16X32Array#"),+ ('9', 2141, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16X32Array#"),+ ('9', 2142, InTerms, Just "GHC.Internal.Prim", "writeInt32X16Array#"),+ ('9', 2143, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32X16Array#"),+ ('9', 2144, InTerms, Just "GHC.Internal.Prim", "writeInt64X8Array#"),+ ('9', 2145, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64X8Array#"),+ ('9', 2146, InTerms, Just "GHC.Internal.Prim", "writeWord8X16Array#"),+ ('9', 2147, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8X16Array#"),+ ('9', 2148, InTerms, Just "GHC.Internal.Prim", "writeWord16X8Array#"),+ ('9', 2149, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16X8Array#"),+ ('9', 2150, InTerms, Just "GHC.Internal.Prim", "writeWord32X4Array#"),+ ('9', 2151, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32X4Array#"),+ ('9', 2152, InTerms, Just "GHC.Internal.Prim", "writeWord64X2Array#"),+ ('9', 2153, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64X2Array#"),+ ('9', 2154, InTerms, Just "GHC.Internal.Prim", "writeWord8X32Array#"),+ ('9', 2155, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8X32Array#"),+ ('9', 2156, InTerms, Just "GHC.Internal.Prim", "writeWord16X16Array#"),+ ('9', 2157, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16X16Array#"),+ ('9', 2158, InTerms, Just "GHC.Internal.Prim", "writeWord32X8Array#"),+ ('9', 2159, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32X8Array#"),+ ('9', 2160, InTerms, Just "GHC.Internal.Prim", "writeWord64X4Array#"),+ ('9', 2161, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64X4Array#"),+ ('9', 2162, InTerms, Just "GHC.Internal.Prim", "writeWord8X64Array#"),+ ('9', 2163, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8X64Array#"),+ ('9', 2164, InTerms, Just "GHC.Internal.Prim", "writeWord16X32Array#"),+ ('9', 2165, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16X32Array#"),+ ('9', 2166, InTerms, Just "GHC.Internal.Prim", "writeWord32X16Array#"),+ ('9', 2167, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32X16Array#"),+ ('9', 2168, InTerms, Just "GHC.Internal.Prim", "writeWord64X8Array#"),+ ('9', 2169, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64X8Array#"),+ ('9', 2170, InTerms, Just "GHC.Internal.Prim", "writeFloatX4Array#"),+ ('9', 2171, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatX4Array#"),+ ('9', 2172, InTerms, Just "GHC.Internal.Prim", "writeDoubleX2Array#"),+ ('9', 2173, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleX2Array#"),+ ('9', 2174, InTerms, Just "GHC.Internal.Prim", "writeFloatX8Array#"),+ ('9', 2175, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatX8Array#"),+ ('9', 2176, InTerms, Just "GHC.Internal.Prim", "writeDoubleX4Array#"),+ ('9', 2177, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleX4Array#"),+ ('9', 2178, InTerms, Just "GHC.Internal.Prim", "writeFloatX16Array#"),+ ('9', 2179, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatX16Array#"),+ ('9', 2180, InTerms, Just "GHC.Internal.Prim", "writeDoubleX8Array#"),+ ('9', 2181, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleX8Array#"),+ ('9', 2182, InTerms, Just "GHC.Internal.Prim", "indexInt8X16OffAddr#"),+ ('9', 2183, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8X16OffAddr#"),+ ('9', 2184, InTerms, Just "GHC.Internal.Prim", "indexInt16X8OffAddr#"),+ ('9', 2185, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16X8OffAddr#"),+ ('9', 2186, InTerms, Just "GHC.Internal.Prim", "indexInt32X4OffAddr#"),+ ('9', 2187, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32X4OffAddr#"),+ ('9', 2188, InTerms, Just "GHC.Internal.Prim", "indexInt64X2OffAddr#"),+ ('9', 2189, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64X2OffAddr#"),+ ('9', 2190, InTerms, Just "GHC.Internal.Prim", "indexInt8X32OffAddr#"),+ ('9', 2191, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8X32OffAddr#"),+ ('9', 2192, InTerms, Just "GHC.Internal.Prim", "indexInt16X16OffAddr#"),+ ('9', 2193, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16X16OffAddr#"),+ ('9', 2194, InTerms, Just "GHC.Internal.Prim", "indexInt32X8OffAddr#"),+ ('9', 2195, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32X8OffAddr#"),+ ('9', 2196, InTerms, Just "GHC.Internal.Prim", "indexInt64X4OffAddr#"),+ ('9', 2197, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64X4OffAddr#"),+ ('9', 2198, InTerms, Just "GHC.Internal.Prim", "indexInt8X64OffAddr#"),+ ('9', 2199, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8X64OffAddr#"),+ ('9', 2200, InTerms, Just "GHC.Internal.Prim", "indexInt16X32OffAddr#"),+ ('9', 2201, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16X32OffAddr#"),+ ('9', 2202, InTerms, Just "GHC.Internal.Prim", "indexInt32X16OffAddr#"),+ ('9', 2203, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32X16OffAddr#"),+ ('9', 2204, InTerms, Just "GHC.Internal.Prim", "indexInt64X8OffAddr#"),+ ('9', 2205, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64X8OffAddr#"),+ ('9', 2206, InTerms, Just "GHC.Internal.Prim", "indexWord8X16OffAddr#"),+ ('9', 2207, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8X16OffAddr#"),+ ('9', 2208, InTerms, Just "GHC.Internal.Prim", "indexWord16X8OffAddr#"),+ ('9', 2209, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16X8OffAddr#"),+ ('9', 2210, InTerms, Just "GHC.Internal.Prim", "indexWord32X4OffAddr#"),+ ('9', 2211, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32X4OffAddr#"),+ ('9', 2212, InTerms, Just "GHC.Internal.Prim", "indexWord64X2OffAddr#"),+ ('9', 2213, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64X2OffAddr#"),+ ('9', 2214, InTerms, Just "GHC.Internal.Prim", "indexWord8X32OffAddr#"),+ ('9', 2215, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8X32OffAddr#"),+ ('9', 2216, InTerms, Just "GHC.Internal.Prim", "indexWord16X16OffAddr#"),+ ('9', 2217, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16X16OffAddr#"),+ ('9', 2218, InTerms, Just "GHC.Internal.Prim", "indexWord32X8OffAddr#"),+ ('9', 2219, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32X8OffAddr#"),+ ('9', 2220, InTerms, Just "GHC.Internal.Prim", "indexWord64X4OffAddr#"),+ ('9', 2221, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64X4OffAddr#"),+ ('9', 2222, InTerms, Just "GHC.Internal.Prim", "indexWord8X64OffAddr#"),+ ('9', 2223, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8X64OffAddr#"),+ ('9', 2224, InTerms, Just "GHC.Internal.Prim", "indexWord16X32OffAddr#"),+ ('9', 2225, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16X32OffAddr#"),+ ('9', 2226, InTerms, Just "GHC.Internal.Prim", "indexWord32X16OffAddr#"),+ ('9', 2227, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32X16OffAddr#"),+ ('9', 2228, InTerms, Just "GHC.Internal.Prim", "indexWord64X8OffAddr#"),+ ('9', 2229, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64X8OffAddr#"),+ ('9', 2230, InTerms, Just "GHC.Internal.Prim", "indexFloatX4OffAddr#"),+ ('9', 2231, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatX4OffAddr#"),+ ('9', 2232, InTerms, Just "GHC.Internal.Prim", "indexDoubleX2OffAddr#"),+ ('9', 2233, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleX2OffAddr#"),+ ('9', 2234, InTerms, Just "GHC.Internal.Prim", "indexFloatX8OffAddr#"),+ ('9', 2235, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatX8OffAddr#"),+ ('9', 2236, InTerms, Just "GHC.Internal.Prim", "indexDoubleX4OffAddr#"),+ ('9', 2237, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleX4OffAddr#"),+ ('9', 2238, InTerms, Just "GHC.Internal.Prim", "indexFloatX16OffAddr#"),+ ('9', 2239, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatX16OffAddr#"),+ ('9', 2240, InTerms, Just "GHC.Internal.Prim", "indexDoubleX8OffAddr#"),+ ('9', 2241, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleX8OffAddr#"),+ ('9', 2242, InTerms, Just "GHC.Internal.Prim", "readInt8X16OffAddr#"),+ ('9', 2243, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8X16OffAddr#"),+ ('9', 2244, InTerms, Just "GHC.Internal.Prim", "readInt16X8OffAddr#"),+ ('9', 2245, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16X8OffAddr#"),+ ('9', 2246, InTerms, Just "GHC.Internal.Prim", "readInt32X4OffAddr#"),+ ('9', 2247, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32X4OffAddr#"),+ ('9', 2248, InTerms, Just "GHC.Internal.Prim", "readInt64X2OffAddr#"),+ ('9', 2249, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64X2OffAddr#"),+ ('9', 2250, InTerms, Just "GHC.Internal.Prim", "readInt8X32OffAddr#"),+ ('9', 2251, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8X32OffAddr#"),+ ('9', 2252, InTerms, Just "GHC.Internal.Prim", "readInt16X16OffAddr#"),+ ('9', 2253, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16X16OffAddr#"),+ ('9', 2254, InTerms, Just "GHC.Internal.Prim", "readInt32X8OffAddr#"),+ ('9', 2255, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32X8OffAddr#"),+ ('9', 2256, InTerms, Just "GHC.Internal.Prim", "readInt64X4OffAddr#"),+ ('9', 2257, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64X4OffAddr#"),+ ('9', 2258, InTerms, Just "GHC.Internal.Prim", "readInt8X64OffAddr#"),+ ('9', 2259, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8X64OffAddr#"),+ ('9', 2260, InTerms, Just "GHC.Internal.Prim", "readInt16X32OffAddr#"),+ ('9', 2261, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16X32OffAddr#"),+ ('9', 2262, InTerms, Just "GHC.Internal.Prim", "readInt32X16OffAddr#"),+ ('9', 2263, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32X16OffAddr#"),+ ('9', 2264, InTerms, Just "GHC.Internal.Prim", "readInt64X8OffAddr#"),+ ('9', 2265, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64X8OffAddr#"),+ ('9', 2266, InTerms, Just "GHC.Internal.Prim", "readWord8X16OffAddr#"),+ ('9', 2267, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8X16OffAddr#"),+ ('9', 2268, InTerms, Just "GHC.Internal.Prim", "readWord16X8OffAddr#"),+ ('9', 2269, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16X8OffAddr#"),+ ('9', 2270, InTerms, Just "GHC.Internal.Prim", "readWord32X4OffAddr#"),+ ('9', 2271, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32X4OffAddr#"),+ ('9', 2272, InTerms, Just "GHC.Internal.Prim", "readWord64X2OffAddr#"),+ ('9', 2273, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64X2OffAddr#"),+ ('9', 2274, InTerms, Just "GHC.Internal.Prim", "readWord8X32OffAddr#"),+ ('9', 2275, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8X32OffAddr#"),+ ('9', 2276, InTerms, Just "GHC.Internal.Prim", "readWord16X16OffAddr#"),+ ('9', 2277, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16X16OffAddr#"),+ ('9', 2278, InTerms, Just "GHC.Internal.Prim", "readWord32X8OffAddr#"),+ ('9', 2279, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32X8OffAddr#"),+ ('9', 2280, InTerms, Just "GHC.Internal.Prim", "readWord64X4OffAddr#"),+ ('9', 2281, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64X4OffAddr#"),+ ('9', 2282, InTerms, Just "GHC.Internal.Prim", "readWord8X64OffAddr#"),+ ('9', 2283, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8X64OffAddr#"),+ ('9', 2284, InTerms, Just "GHC.Internal.Prim", "readWord16X32OffAddr#"),+ ('9', 2285, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16X32OffAddr#"),+ ('9', 2286, InTerms, Just "GHC.Internal.Prim", "readWord32X16OffAddr#"),+ ('9', 2287, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32X16OffAddr#"),+ ('9', 2288, InTerms, Just "GHC.Internal.Prim", "readWord64X8OffAddr#"),+ ('9', 2289, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64X8OffAddr#"),+ ('9', 2290, InTerms, Just "GHC.Internal.Prim", "readFloatX4OffAddr#"),+ ('9', 2291, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatX4OffAddr#"),+ ('9', 2292, InTerms, Just "GHC.Internal.Prim", "readDoubleX2OffAddr#"),+ ('9', 2293, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleX2OffAddr#"),+ ('9', 2294, InTerms, Just "GHC.Internal.Prim", "readFloatX8OffAddr#"),+ ('9', 2295, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatX8OffAddr#"),+ ('9', 2296, InTerms, Just "GHC.Internal.Prim", "readDoubleX4OffAddr#"),+ ('9', 2297, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleX4OffAddr#"),+ ('9', 2298, InTerms, Just "GHC.Internal.Prim", "readFloatX16OffAddr#"),+ ('9', 2299, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatX16OffAddr#"),+ ('9', 2300, InTerms, Just "GHC.Internal.Prim", "readDoubleX8OffAddr#"),+ ('9', 2301, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleX8OffAddr#"),+ ('9', 2302, InTerms, Just "GHC.Internal.Prim", "writeInt8X16OffAddr#"),+ ('9', 2303, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8X16OffAddr#"),+ ('9', 2304, InTerms, Just "GHC.Internal.Prim", "writeInt16X8OffAddr#"),+ ('9', 2305, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16X8OffAddr#"),+ ('9', 2306, InTerms, Just "GHC.Internal.Prim", "writeInt32X4OffAddr#"),+ ('9', 2307, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32X4OffAddr#"),+ ('9', 2308, InTerms, Just "GHC.Internal.Prim", "writeInt64X2OffAddr#"),+ ('9', 2309, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64X2OffAddr#"),+ ('9', 2310, InTerms, Just "GHC.Internal.Prim", "writeInt8X32OffAddr#"),+ ('9', 2311, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8X32OffAddr#"),+ ('9', 2312, InTerms, Just "GHC.Internal.Prim", "writeInt16X16OffAddr#"),+ ('9', 2313, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16X16OffAddr#"),+ ('9', 2314, InTerms, Just "GHC.Internal.Prim", "writeInt32X8OffAddr#"),+ ('9', 2315, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32X8OffAddr#"),+ ('9', 2316, InTerms, Just "GHC.Internal.Prim", "writeInt64X4OffAddr#"),+ ('9', 2317, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64X4OffAddr#"),+ ('9', 2318, InTerms, Just "GHC.Internal.Prim", "writeInt8X64OffAddr#"),+ ('9', 2319, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8X64OffAddr#"),+ ('9', 2320, InTerms, Just "GHC.Internal.Prim", "writeInt16X32OffAddr#"),+ ('9', 2321, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16X32OffAddr#"),+ ('9', 2322, InTerms, Just "GHC.Internal.Prim", "writeInt32X16OffAddr#"),+ ('9', 2323, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32X16OffAddr#"),+ ('9', 2324, InTerms, Just "GHC.Internal.Prim", "writeInt64X8OffAddr#"),+ ('9', 2325, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64X8OffAddr#"),+ ('9', 2326, InTerms, Just "GHC.Internal.Prim", "writeWord8X16OffAddr#"),+ ('9', 2327, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8X16OffAddr#"),+ ('9', 2328, InTerms, Just "GHC.Internal.Prim", "writeWord16X8OffAddr#"),+ ('9', 2329, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16X8OffAddr#"),+ ('9', 2330, InTerms, Just "GHC.Internal.Prim", "writeWord32X4OffAddr#"),+ ('9', 2331, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32X4OffAddr#"),+ ('9', 2332, InTerms, Just "GHC.Internal.Prim", "writeWord64X2OffAddr#"),+ ('9', 2333, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64X2OffAddr#"),+ ('9', 2334, InTerms, Just "GHC.Internal.Prim", "writeWord8X32OffAddr#"),+ ('9', 2335, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8X32OffAddr#"),+ ('9', 2336, InTerms, Just "GHC.Internal.Prim", "writeWord16X16OffAddr#"),+ ('9', 2337, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16X16OffAddr#"),+ ('9', 2338, InTerms, Just "GHC.Internal.Prim", "writeWord32X8OffAddr#"),+ ('9', 2339, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32X8OffAddr#"),+ ('9', 2340, InTerms, Just "GHC.Internal.Prim", "writeWord64X4OffAddr#"),+ ('9', 2341, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64X4OffAddr#"),+ ('9', 2342, InTerms, Just "GHC.Internal.Prim", "writeWord8X64OffAddr#"),+ ('9', 2343, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8X64OffAddr#"),+ ('9', 2344, InTerms, Just "GHC.Internal.Prim", "writeWord16X32OffAddr#"),+ ('9', 2345, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16X32OffAddr#"),+ ('9', 2346, InTerms, Just "GHC.Internal.Prim", "writeWord32X16OffAddr#"),+ ('9', 2347, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32X16OffAddr#"),+ ('9', 2348, InTerms, Just "GHC.Internal.Prim", "writeWord64X8OffAddr#"),+ ('9', 2349, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64X8OffAddr#"),+ ('9', 2350, InTerms, Just "GHC.Internal.Prim", "writeFloatX4OffAddr#"),+ ('9', 2351, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatX4OffAddr#"),+ ('9', 2352, InTerms, Just "GHC.Internal.Prim", "writeDoubleX2OffAddr#"),+ ('9', 2353, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleX2OffAddr#"),+ ('9', 2354, InTerms, Just "GHC.Internal.Prim", "writeFloatX8OffAddr#"),+ ('9', 2355, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatX8OffAddr#"),+ ('9', 2356, InTerms, Just "GHC.Internal.Prim", "writeDoubleX4OffAddr#"),+ ('9', 2357, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleX4OffAddr#"),+ ('9', 2358, InTerms, Just "GHC.Internal.Prim", "writeFloatX16OffAddr#"),+ ('9', 2359, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatX16OffAddr#"),+ ('9', 2360, InTerms, Just "GHC.Internal.Prim", "writeDoubleX8OffAddr#"),+ ('9', 2361, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleX8OffAddr#"),+ ('9', 2362, InTerms, Just "GHC.Internal.Prim", "indexInt8ArrayAsInt8X16#"),+ ('9', 2363, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8ArrayAsInt8X16#"),+ ('9', 2364, InTerms, Just "GHC.Internal.Prim", "indexInt16ArrayAsInt16X8#"),+ ('9', 2365, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16ArrayAsInt16X8#"),+ ('9', 2366, InTerms, Just "GHC.Internal.Prim", "indexInt32ArrayAsInt32X4#"),+ ('9', 2367, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32ArrayAsInt32X4#"),+ ('9', 2368, InTerms, Just "GHC.Internal.Prim", "indexInt64ArrayAsInt64X2#"),+ ('9', 2369, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64ArrayAsInt64X2#"),+ ('9', 2370, InTerms, Just "GHC.Internal.Prim", "indexInt8ArrayAsInt8X32#"),+ ('9', 2371, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8ArrayAsInt8X32#"),+ ('9', 2372, InTerms, Just "GHC.Internal.Prim", "indexInt16ArrayAsInt16X16#"),+ ('9', 2373, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16ArrayAsInt16X16#"),+ ('9', 2374, InTerms, Just "GHC.Internal.Prim", "indexInt32ArrayAsInt32X8#"),+ ('9', 2375, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32ArrayAsInt32X8#"),+ ('9', 2376, InTerms, Just "GHC.Internal.Prim", "indexInt64ArrayAsInt64X4#"),+ ('9', 2377, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64ArrayAsInt64X4#"),+ ('9', 2378, InTerms, Just "GHC.Internal.Prim", "indexInt8ArrayAsInt8X64#"),+ ('9', 2379, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8ArrayAsInt8X64#"),+ ('9', 2380, InTerms, Just "GHC.Internal.Prim", "indexInt16ArrayAsInt16X32#"),+ ('9', 2381, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16ArrayAsInt16X32#"),+ ('9', 2382, InTerms, Just "GHC.Internal.Prim", "indexInt32ArrayAsInt32X16#"),+ ('9', 2383, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32ArrayAsInt32X16#"),+ ('9', 2384, InTerms, Just "GHC.Internal.Prim", "indexInt64ArrayAsInt64X8#"),+ ('9', 2385, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64ArrayAsInt64X8#"),+ ('9', 2386, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWord8X16#"),+ ('9', 2387, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWord8X16#"),+ ('9', 2388, InTerms, Just "GHC.Internal.Prim", "indexWord16ArrayAsWord16X8#"),+ ('9', 2389, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16ArrayAsWord16X8#"),+ ('9', 2390, InTerms, Just "GHC.Internal.Prim", "indexWord32ArrayAsWord32X4#"),+ ('9', 2391, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32ArrayAsWord32X4#"),+ ('9', 2392, InTerms, Just "GHC.Internal.Prim", "indexWord64ArrayAsWord64X2#"),+ ('9', 2393, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64ArrayAsWord64X2#"),+ ('9', 2394, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWord8X32#"),+ ('9', 2395, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWord8X32#"),+ ('9', 2396, InTerms, Just "GHC.Internal.Prim", "indexWord16ArrayAsWord16X16#"),+ ('9', 2397, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16ArrayAsWord16X16#"),+ ('9', 2398, InTerms, Just "GHC.Internal.Prim", "indexWord32ArrayAsWord32X8#"),+ ('9', 2399, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32ArrayAsWord32X8#"),+ ('9', 2400, InTerms, Just "GHC.Internal.Prim", "indexWord64ArrayAsWord64X4#"),+ ('9', 2401, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64ArrayAsWord64X4#"),+ ('9', 2402, InTerms, Just "GHC.Internal.Prim", "indexWord8ArrayAsWord8X64#"),+ ('9', 2403, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8ArrayAsWord8X64#"),+ ('9', 2404, InTerms, Just "GHC.Internal.Prim", "indexWord16ArrayAsWord16X32#"),+ ('9', 2405, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16ArrayAsWord16X32#"),+ ('9', 2406, InTerms, Just "GHC.Internal.Prim", "indexWord32ArrayAsWord32X16#"),+ ('9', 2407, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32ArrayAsWord32X16#"),+ ('9', 2408, InTerms, Just "GHC.Internal.Prim", "indexWord64ArrayAsWord64X8#"),+ ('9', 2409, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64ArrayAsWord64X8#"),+ ('9', 2410, InTerms, Just "GHC.Internal.Prim", "indexFloatArrayAsFloatX4#"),+ ('9', 2411, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatArrayAsFloatX4#"),+ ('9', 2412, InTerms, Just "GHC.Internal.Prim", "indexDoubleArrayAsDoubleX2#"),+ ('9', 2413, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleArrayAsDoubleX2#"),+ ('9', 2414, InTerms, Just "GHC.Internal.Prim", "indexFloatArrayAsFloatX8#"),+ ('9', 2415, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatArrayAsFloatX8#"),+ ('9', 2416, InTerms, Just "GHC.Internal.Prim", "indexDoubleArrayAsDoubleX4#"),+ ('9', 2417, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleArrayAsDoubleX4#"),+ ('9', 2418, InTerms, Just "GHC.Internal.Prim", "indexFloatArrayAsFloatX16#"),+ ('9', 2419, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatArrayAsFloatX16#"),+ ('9', 2420, InTerms, Just "GHC.Internal.Prim", "indexDoubleArrayAsDoubleX8#"),+ ('9', 2421, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleArrayAsDoubleX8#"),+ ('9', 2422, InTerms, Just "GHC.Internal.Prim", "readInt8ArrayAsInt8X16#"),+ ('9', 2423, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8ArrayAsInt8X16#"),+ ('9', 2424, InTerms, Just "GHC.Internal.Prim", "readInt16ArrayAsInt16X8#"),+ ('9', 2425, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16ArrayAsInt16X8#"),+ ('9', 2426, InTerms, Just "GHC.Internal.Prim", "readInt32ArrayAsInt32X4#"),+ ('9', 2427, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32ArrayAsInt32X4#"),+ ('9', 2428, InTerms, Just "GHC.Internal.Prim", "readInt64ArrayAsInt64X2#"),+ ('9', 2429, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64ArrayAsInt64X2#"),+ ('9', 2430, InTerms, Just "GHC.Internal.Prim", "readInt8ArrayAsInt8X32#"),+ ('9', 2431, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8ArrayAsInt8X32#"),+ ('9', 2432, InTerms, Just "GHC.Internal.Prim", "readInt16ArrayAsInt16X16#"),+ ('9', 2433, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16ArrayAsInt16X16#"),+ ('9', 2434, InTerms, Just "GHC.Internal.Prim", "readInt32ArrayAsInt32X8#"),+ ('9', 2435, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32ArrayAsInt32X8#"),+ ('9', 2436, InTerms, Just "GHC.Internal.Prim", "readInt64ArrayAsInt64X4#"),+ ('9', 2437, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64ArrayAsInt64X4#"),+ ('9', 2438, InTerms, Just "GHC.Internal.Prim", "readInt8ArrayAsInt8X64#"),+ ('9', 2439, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8ArrayAsInt8X64#"),+ ('9', 2440, InTerms, Just "GHC.Internal.Prim", "readInt16ArrayAsInt16X32#"),+ ('9', 2441, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16ArrayAsInt16X32#"),+ ('9', 2442, InTerms, Just "GHC.Internal.Prim", "readInt32ArrayAsInt32X16#"),+ ('9', 2443, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32ArrayAsInt32X16#"),+ ('9', 2444, InTerms, Just "GHC.Internal.Prim", "readInt64ArrayAsInt64X8#"),+ ('9', 2445, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64ArrayAsInt64X8#"),+ ('9', 2446, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWord8X16#"),+ ('9', 2447, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWord8X16#"),+ ('9', 2448, InTerms, Just "GHC.Internal.Prim", "readWord16ArrayAsWord16X8#"),+ ('9', 2449, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16ArrayAsWord16X8#"),+ ('9', 2450, InTerms, Just "GHC.Internal.Prim", "readWord32ArrayAsWord32X4#"),+ ('9', 2451, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32ArrayAsWord32X4#"),+ ('9', 2452, InTerms, Just "GHC.Internal.Prim", "readWord64ArrayAsWord64X2#"),+ ('9', 2453, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64ArrayAsWord64X2#"),+ ('9', 2454, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWord8X32#"),+ ('9', 2455, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWord8X32#"),+ ('9', 2456, InTerms, Just "GHC.Internal.Prim", "readWord16ArrayAsWord16X16#"),+ ('9', 2457, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16ArrayAsWord16X16#"),+ ('9', 2458, InTerms, Just "GHC.Internal.Prim", "readWord32ArrayAsWord32X8#"),+ ('9', 2459, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32ArrayAsWord32X8#"),+ ('9', 2460, InTerms, Just "GHC.Internal.Prim", "readWord64ArrayAsWord64X4#"),+ ('9', 2461, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64ArrayAsWord64X4#"),+ ('9', 2462, InTerms, Just "GHC.Internal.Prim", "readWord8ArrayAsWord8X64#"),+ ('9', 2463, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8ArrayAsWord8X64#"),+ ('9', 2464, InTerms, Just "GHC.Internal.Prim", "readWord16ArrayAsWord16X32#"),+ ('9', 2465, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16ArrayAsWord16X32#"),+ ('9', 2466, InTerms, Just "GHC.Internal.Prim", "readWord32ArrayAsWord32X16#"),+ ('9', 2467, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32ArrayAsWord32X16#"),+ ('9', 2468, InTerms, Just "GHC.Internal.Prim", "readWord64ArrayAsWord64X8#"),+ ('9', 2469, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64ArrayAsWord64X8#"),+ ('9', 2470, InTerms, Just "GHC.Internal.Prim", "readFloatArrayAsFloatX4#"),+ ('9', 2471, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatArrayAsFloatX4#"),+ ('9', 2472, InTerms, Just "GHC.Internal.Prim", "readDoubleArrayAsDoubleX2#"),+ ('9', 2473, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleArrayAsDoubleX2#"),+ ('9', 2474, InTerms, Just "GHC.Internal.Prim", "readFloatArrayAsFloatX8#"),+ ('9', 2475, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatArrayAsFloatX8#"),+ ('9', 2476, InTerms, Just "GHC.Internal.Prim", "readDoubleArrayAsDoubleX4#"),+ ('9', 2477, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleArrayAsDoubleX4#"),+ ('9', 2478, InTerms, Just "GHC.Internal.Prim", "readFloatArrayAsFloatX16#"),+ ('9', 2479, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatArrayAsFloatX16#"),+ ('9', 2480, InTerms, Just "GHC.Internal.Prim", "readDoubleArrayAsDoubleX8#"),+ ('9', 2481, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleArrayAsDoubleX8#"),+ ('9', 2482, InTerms, Just "GHC.Internal.Prim", "writeInt8ArrayAsInt8X16#"),+ ('9', 2483, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8ArrayAsInt8X16#"),+ ('9', 2484, InTerms, Just "GHC.Internal.Prim", "writeInt16ArrayAsInt16X8#"),+ ('9', 2485, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16ArrayAsInt16X8#"),+ ('9', 2486, InTerms, Just "GHC.Internal.Prim", "writeInt32ArrayAsInt32X4#"),+ ('9', 2487, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32ArrayAsInt32X4#"),+ ('9', 2488, InTerms, Just "GHC.Internal.Prim", "writeInt64ArrayAsInt64X2#"),+ ('9', 2489, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64ArrayAsInt64X2#"),+ ('9', 2490, InTerms, Just "GHC.Internal.Prim", "writeInt8ArrayAsInt8X32#"),+ ('9', 2491, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8ArrayAsInt8X32#"),+ ('9', 2492, InTerms, Just "GHC.Internal.Prim", "writeInt16ArrayAsInt16X16#"),+ ('9', 2493, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16ArrayAsInt16X16#"),+ ('9', 2494, InTerms, Just "GHC.Internal.Prim", "writeInt32ArrayAsInt32X8#"),+ ('9', 2495, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32ArrayAsInt32X8#"),+ ('9', 2496, InTerms, Just "GHC.Internal.Prim", "writeInt64ArrayAsInt64X4#"),+ ('9', 2497, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64ArrayAsInt64X4#"),+ ('9', 2498, InTerms, Just "GHC.Internal.Prim", "writeInt8ArrayAsInt8X64#"),+ ('9', 2499, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8ArrayAsInt8X64#"),+ ('9', 2500, InTerms, Just "GHC.Internal.Prim", "writeInt16ArrayAsInt16X32#"),+ ('9', 2501, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16ArrayAsInt16X32#"),+ ('9', 2502, InTerms, Just "GHC.Internal.Prim", "writeInt32ArrayAsInt32X16#"),+ ('9', 2503, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32ArrayAsInt32X16#"),+ ('9', 2504, InTerms, Just "GHC.Internal.Prim", "writeInt64ArrayAsInt64X8#"),+ ('9', 2505, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64ArrayAsInt64X8#"),+ ('9', 2506, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWord8X16#"),+ ('9', 2507, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWord8X16#"),+ ('9', 2508, InTerms, Just "GHC.Internal.Prim", "writeWord16ArrayAsWord16X8#"),+ ('9', 2509, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16ArrayAsWord16X8#"),+ ('9', 2510, InTerms, Just "GHC.Internal.Prim", "writeWord32ArrayAsWord32X4#"),+ ('9', 2511, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32ArrayAsWord32X4#"),+ ('9', 2512, InTerms, Just "GHC.Internal.Prim", "writeWord64ArrayAsWord64X2#"),+ ('9', 2513, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64ArrayAsWord64X2#"),+ ('9', 2514, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWord8X32#"),+ ('9', 2515, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWord8X32#"),+ ('9', 2516, InTerms, Just "GHC.Internal.Prim", "writeWord16ArrayAsWord16X16#"),+ ('9', 2517, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16ArrayAsWord16X16#"),+ ('9', 2518, InTerms, Just "GHC.Internal.Prim", "writeWord32ArrayAsWord32X8#"),+ ('9', 2519, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32ArrayAsWord32X8#"),+ ('9', 2520, InTerms, Just "GHC.Internal.Prim", "writeWord64ArrayAsWord64X4#"),+ ('9', 2521, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64ArrayAsWord64X4#"),+ ('9', 2522, InTerms, Just "GHC.Internal.Prim", "writeWord8ArrayAsWord8X64#"),+ ('9', 2523, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8ArrayAsWord8X64#"),+ ('9', 2524, InTerms, Just "GHC.Internal.Prim", "writeWord16ArrayAsWord16X32#"),+ ('9', 2525, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16ArrayAsWord16X32#"),+ ('9', 2526, InTerms, Just "GHC.Internal.Prim", "writeWord32ArrayAsWord32X16#"),+ ('9', 2527, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32ArrayAsWord32X16#"),+ ('9', 2528, InTerms, Just "GHC.Internal.Prim", "writeWord64ArrayAsWord64X8#"),+ ('9', 2529, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64ArrayAsWord64X8#"),+ ('9', 2530, InTerms, Just "GHC.Internal.Prim", "writeFloatArrayAsFloatX4#"),+ ('9', 2531, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatArrayAsFloatX4#"),+ ('9', 2532, InTerms, Just "GHC.Internal.Prim", "writeDoubleArrayAsDoubleX2#"),+ ('9', 2533, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleArrayAsDoubleX2#"),+ ('9', 2534, InTerms, Just "GHC.Internal.Prim", "writeFloatArrayAsFloatX8#"),+ ('9', 2535, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatArrayAsFloatX8#"),+ ('9', 2536, InTerms, Just "GHC.Internal.Prim", "writeDoubleArrayAsDoubleX4#"),+ ('9', 2537, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleArrayAsDoubleX4#"),+ ('9', 2538, InTerms, Just "GHC.Internal.Prim", "writeFloatArrayAsFloatX16#"),+ ('9', 2539, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatArrayAsFloatX16#"),+ ('9', 2540, InTerms, Just "GHC.Internal.Prim", "writeDoubleArrayAsDoubleX8#"),+ ('9', 2541, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleArrayAsDoubleX8#"),+ ('9', 2542, InTerms, Just "GHC.Internal.Prim", "indexInt8OffAddrAsInt8X16#"),+ ('9', 2543, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8OffAddrAsInt8X16#"),+ ('9', 2544, InTerms, Just "GHC.Internal.Prim", "indexInt16OffAddrAsInt16X8#"),+ ('9', 2545, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16OffAddrAsInt16X8#"),+ ('9', 2546, InTerms, Just "GHC.Internal.Prim", "indexInt32OffAddrAsInt32X4#"),+ ('9', 2547, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32OffAddrAsInt32X4#"),+ ('9', 2548, InTerms, Just "GHC.Internal.Prim", "indexInt64OffAddrAsInt64X2#"),+ ('9', 2549, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64OffAddrAsInt64X2#"),+ ('9', 2550, InTerms, Just "GHC.Internal.Prim", "indexInt8OffAddrAsInt8X32#"),+ ('9', 2551, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8OffAddrAsInt8X32#"),+ ('9', 2552, InTerms, Just "GHC.Internal.Prim", "indexInt16OffAddrAsInt16X16#"),+ ('9', 2553, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16OffAddrAsInt16X16#"),+ ('9', 2554, InTerms, Just "GHC.Internal.Prim", "indexInt32OffAddrAsInt32X8#"),+ ('9', 2555, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32OffAddrAsInt32X8#"),+ ('9', 2556, InTerms, Just "GHC.Internal.Prim", "indexInt64OffAddrAsInt64X4#"),+ ('9', 2557, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64OffAddrAsInt64X4#"),+ ('9', 2558, InTerms, Just "GHC.Internal.Prim", "indexInt8OffAddrAsInt8X64#"),+ ('9', 2559, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt8OffAddrAsInt8X64#"),+ ('9', 2560, InTerms, Just "GHC.Internal.Prim", "indexInt16OffAddrAsInt16X32#"),+ ('9', 2561, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt16OffAddrAsInt16X32#"),+ ('9', 2562, InTerms, Just "GHC.Internal.Prim", "indexInt32OffAddrAsInt32X16#"),+ ('9', 2563, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt32OffAddrAsInt32X16#"),+ ('9', 2564, InTerms, Just "GHC.Internal.Prim", "indexInt64OffAddrAsInt64X8#"),+ ('9', 2565, InTerms, Just "GHC.Internal.PrimopWrappers", "indexInt64OffAddrAsInt64X8#"),+ ('9', 2566, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWord8X16#"),+ ('9', 2567, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWord8X16#"),+ ('9', 2568, InTerms, Just "GHC.Internal.Prim", "indexWord16OffAddrAsWord16X8#"),+ ('9', 2569, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16OffAddrAsWord16X8#"),+ ('9', 2570, InTerms, Just "GHC.Internal.Prim", "indexWord32OffAddrAsWord32X4#"),+ ('9', 2571, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32OffAddrAsWord32X4#"),+ ('9', 2572, InTerms, Just "GHC.Internal.Prim", "indexWord64OffAddrAsWord64X2#"),+ ('9', 2573, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64OffAddrAsWord64X2#"),+ ('9', 2574, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWord8X32#"),+ ('9', 2575, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWord8X32#"),+ ('9', 2576, InTerms, Just "GHC.Internal.Prim", "indexWord16OffAddrAsWord16X16#"),+ ('9', 2577, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16OffAddrAsWord16X16#"),+ ('9', 2578, InTerms, Just "GHC.Internal.Prim", "indexWord32OffAddrAsWord32X8#"),+ ('9', 2579, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32OffAddrAsWord32X8#"),+ ('9', 2580, InTerms, Just "GHC.Internal.Prim", "indexWord64OffAddrAsWord64X4#"),+ ('9', 2581, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64OffAddrAsWord64X4#"),+ ('9', 2582, InTerms, Just "GHC.Internal.Prim", "indexWord8OffAddrAsWord8X64#"),+ ('9', 2583, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord8OffAddrAsWord8X64#"),+ ('9', 2584, InTerms, Just "GHC.Internal.Prim", "indexWord16OffAddrAsWord16X32#"),+ ('9', 2585, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord16OffAddrAsWord16X32#"),+ ('9', 2586, InTerms, Just "GHC.Internal.Prim", "indexWord32OffAddrAsWord32X16#"),+ ('9', 2587, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord32OffAddrAsWord32X16#"),+ ('9', 2588, InTerms, Just "GHC.Internal.Prim", "indexWord64OffAddrAsWord64X8#"),+ ('9', 2589, InTerms, Just "GHC.Internal.PrimopWrappers", "indexWord64OffAddrAsWord64X8#"),+ ('9', 2590, InTerms, Just "GHC.Internal.Prim", "indexFloatOffAddrAsFloatX4#"),+ ('9', 2591, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatOffAddrAsFloatX4#"),+ ('9', 2592, InTerms, Just "GHC.Internal.Prim", "indexDoubleOffAddrAsDoubleX2#"),+ ('9', 2593, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleOffAddrAsDoubleX2#"),+ ('9', 2594, InTerms, Just "GHC.Internal.Prim", "indexFloatOffAddrAsFloatX8#"),+ ('9', 2595, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatOffAddrAsFloatX8#"),+ ('9', 2596, InTerms, Just "GHC.Internal.Prim", "indexDoubleOffAddrAsDoubleX4#"),+ ('9', 2597, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleOffAddrAsDoubleX4#"),+ ('9', 2598, InTerms, Just "GHC.Internal.Prim", "indexFloatOffAddrAsFloatX16#"),+ ('9', 2599, InTerms, Just "GHC.Internal.PrimopWrappers", "indexFloatOffAddrAsFloatX16#"),+ ('9', 2600, InTerms, Just "GHC.Internal.Prim", "indexDoubleOffAddrAsDoubleX8#"),+ ('9', 2601, InTerms, Just "GHC.Internal.PrimopWrappers", "indexDoubleOffAddrAsDoubleX8#"),+ ('9', 2602, InTerms, Just "GHC.Internal.Prim", "readInt8OffAddrAsInt8X16#"),+ ('9', 2603, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8OffAddrAsInt8X16#"),+ ('9', 2604, InTerms, Just "GHC.Internal.Prim", "readInt16OffAddrAsInt16X8#"),+ ('9', 2605, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16OffAddrAsInt16X8#"),+ ('9', 2606, InTerms, Just "GHC.Internal.Prim", "readInt32OffAddrAsInt32X4#"),+ ('9', 2607, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32OffAddrAsInt32X4#"),+ ('9', 2608, InTerms, Just "GHC.Internal.Prim", "readInt64OffAddrAsInt64X2#"),+ ('9', 2609, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64OffAddrAsInt64X2#"),+ ('9', 2610, InTerms, Just "GHC.Internal.Prim", "readInt8OffAddrAsInt8X32#"),+ ('9', 2611, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8OffAddrAsInt8X32#"),+ ('9', 2612, InTerms, Just "GHC.Internal.Prim", "readInt16OffAddrAsInt16X16#"),+ ('9', 2613, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16OffAddrAsInt16X16#"),+ ('9', 2614, InTerms, Just "GHC.Internal.Prim", "readInt32OffAddrAsInt32X8#"),+ ('9', 2615, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32OffAddrAsInt32X8#"),+ ('9', 2616, InTerms, Just "GHC.Internal.Prim", "readInt64OffAddrAsInt64X4#"),+ ('9', 2617, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64OffAddrAsInt64X4#"),+ ('9', 2618, InTerms, Just "GHC.Internal.Prim", "readInt8OffAddrAsInt8X64#"),+ ('9', 2619, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt8OffAddrAsInt8X64#"),+ ('9', 2620, InTerms, Just "GHC.Internal.Prim", "readInt16OffAddrAsInt16X32#"),+ ('9', 2621, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt16OffAddrAsInt16X32#"),+ ('9', 2622, InTerms, Just "GHC.Internal.Prim", "readInt32OffAddrAsInt32X16#"),+ ('9', 2623, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt32OffAddrAsInt32X16#"),+ ('9', 2624, InTerms, Just "GHC.Internal.Prim", "readInt64OffAddrAsInt64X8#"),+ ('9', 2625, InTerms, Just "GHC.Internal.PrimopWrappers", "readInt64OffAddrAsInt64X8#"),+ ('9', 2626, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWord8X16#"),+ ('9', 2627, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWord8X16#"),+ ('9', 2628, InTerms, Just "GHC.Internal.Prim", "readWord16OffAddrAsWord16X8#"),+ ('9', 2629, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16OffAddrAsWord16X8#"),+ ('9', 2630, InTerms, Just "GHC.Internal.Prim", "readWord32OffAddrAsWord32X4#"),+ ('9', 2631, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32OffAddrAsWord32X4#"),+ ('9', 2632, InTerms, Just "GHC.Internal.Prim", "readWord64OffAddrAsWord64X2#"),+ ('9', 2633, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64OffAddrAsWord64X2#"),+ ('9', 2634, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWord8X32#"),+ ('9', 2635, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWord8X32#"),+ ('9', 2636, InTerms, Just "GHC.Internal.Prim", "readWord16OffAddrAsWord16X16#"),+ ('9', 2637, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16OffAddrAsWord16X16#"),+ ('9', 2638, InTerms, Just "GHC.Internal.Prim", "readWord32OffAddrAsWord32X8#"),+ ('9', 2639, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32OffAddrAsWord32X8#"),+ ('9', 2640, InTerms, Just "GHC.Internal.Prim", "readWord64OffAddrAsWord64X4#"),+ ('9', 2641, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64OffAddrAsWord64X4#"),+ ('9', 2642, InTerms, Just "GHC.Internal.Prim", "readWord8OffAddrAsWord8X64#"),+ ('9', 2643, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord8OffAddrAsWord8X64#"),+ ('9', 2644, InTerms, Just "GHC.Internal.Prim", "readWord16OffAddrAsWord16X32#"),+ ('9', 2645, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord16OffAddrAsWord16X32#"),+ ('9', 2646, InTerms, Just "GHC.Internal.Prim", "readWord32OffAddrAsWord32X16#"),+ ('9', 2647, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord32OffAddrAsWord32X16#"),+ ('9', 2648, InTerms, Just "GHC.Internal.Prim", "readWord64OffAddrAsWord64X8#"),+ ('9', 2649, InTerms, Just "GHC.Internal.PrimopWrappers", "readWord64OffAddrAsWord64X8#"),+ ('9', 2650, InTerms, Just "GHC.Internal.Prim", "readFloatOffAddrAsFloatX4#"),+ ('9', 2651, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatOffAddrAsFloatX4#"),+ ('9', 2652, InTerms, Just "GHC.Internal.Prim", "readDoubleOffAddrAsDoubleX2#"),+ ('9', 2653, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleOffAddrAsDoubleX2#"),+ ('9', 2654, InTerms, Just "GHC.Internal.Prim", "readFloatOffAddrAsFloatX8#"),+ ('9', 2655, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatOffAddrAsFloatX8#"),+ ('9', 2656, InTerms, Just "GHC.Internal.Prim", "readDoubleOffAddrAsDoubleX4#"),+ ('9', 2657, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleOffAddrAsDoubleX4#"),+ ('9', 2658, InTerms, Just "GHC.Internal.Prim", "readFloatOffAddrAsFloatX16#"),+ ('9', 2659, InTerms, Just "GHC.Internal.PrimopWrappers", "readFloatOffAddrAsFloatX16#"),+ ('9', 2660, InTerms, Just "GHC.Internal.Prim", "readDoubleOffAddrAsDoubleX8#"),+ ('9', 2661, InTerms, Just "GHC.Internal.PrimopWrappers", "readDoubleOffAddrAsDoubleX8#"),+ ('9', 2662, InTerms, Just "GHC.Internal.Prim", "writeInt8OffAddrAsInt8X16#"),+ ('9', 2663, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8OffAddrAsInt8X16#"),+ ('9', 2664, InTerms, Just "GHC.Internal.Prim", "writeInt16OffAddrAsInt16X8#"),+ ('9', 2665, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16OffAddrAsInt16X8#"),+ ('9', 2666, InTerms, Just "GHC.Internal.Prim", "writeInt32OffAddrAsInt32X4#"),+ ('9', 2667, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32OffAddrAsInt32X4#"),+ ('9', 2668, InTerms, Just "GHC.Internal.Prim", "writeInt64OffAddrAsInt64X2#"),+ ('9', 2669, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64OffAddrAsInt64X2#"),+ ('9', 2670, InTerms, Just "GHC.Internal.Prim", "writeInt8OffAddrAsInt8X32#"),+ ('9', 2671, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8OffAddrAsInt8X32#"),+ ('9', 2672, InTerms, Just "GHC.Internal.Prim", "writeInt16OffAddrAsInt16X16#"),+ ('9', 2673, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16OffAddrAsInt16X16#"),+ ('9', 2674, InTerms, Just "GHC.Internal.Prim", "writeInt32OffAddrAsInt32X8#"),+ ('9', 2675, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32OffAddrAsInt32X8#"),+ ('9', 2676, InTerms, Just "GHC.Internal.Prim", "writeInt64OffAddrAsInt64X4#"),+ ('9', 2677, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64OffAddrAsInt64X4#"),+ ('9', 2678, InTerms, Just "GHC.Internal.Prim", "writeInt8OffAddrAsInt8X64#"),+ ('9', 2679, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt8OffAddrAsInt8X64#"),+ ('9', 2680, InTerms, Just "GHC.Internal.Prim", "writeInt16OffAddrAsInt16X32#"),+ ('9', 2681, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt16OffAddrAsInt16X32#"),+ ('9', 2682, InTerms, Just "GHC.Internal.Prim", "writeInt32OffAddrAsInt32X16#"),+ ('9', 2683, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt32OffAddrAsInt32X16#"),+ ('9', 2684, InTerms, Just "GHC.Internal.Prim", "writeInt64OffAddrAsInt64X8#"),+ ('9', 2685, InTerms, Just "GHC.Internal.PrimopWrappers", "writeInt64OffAddrAsInt64X8#"),+ ('9', 2686, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWord8X16#"),+ ('9', 2687, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWord8X16#"),+ ('9', 2688, InTerms, Just "GHC.Internal.Prim", "writeWord16OffAddrAsWord16X8#"),+ ('9', 2689, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16OffAddrAsWord16X8#"),+ ('9', 2690, InTerms, Just "GHC.Internal.Prim", "writeWord32OffAddrAsWord32X4#"),+ ('9', 2691, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32OffAddrAsWord32X4#"),+ ('9', 2692, InTerms, Just "GHC.Internal.Prim", "writeWord64OffAddrAsWord64X2#"),+ ('9', 2693, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64OffAddrAsWord64X2#"),+ ('9', 2694, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWord8X32#"),+ ('9', 2695, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWord8X32#"),+ ('9', 2696, InTerms, Just "GHC.Internal.Prim", "writeWord16OffAddrAsWord16X16#"),+ ('9', 2697, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16OffAddrAsWord16X16#"),+ ('9', 2698, InTerms, Just "GHC.Internal.Prim", "writeWord32OffAddrAsWord32X8#"),+ ('9', 2699, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32OffAddrAsWord32X8#"),+ ('9', 2700, InTerms, Just "GHC.Internal.Prim", "writeWord64OffAddrAsWord64X4#"),+ ('9', 2701, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64OffAddrAsWord64X4#"),+ ('9', 2702, InTerms, Just "GHC.Internal.Prim", "writeWord8OffAddrAsWord8X64#"),+ ('9', 2703, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord8OffAddrAsWord8X64#"),+ ('9', 2704, InTerms, Just "GHC.Internal.Prim", "writeWord16OffAddrAsWord16X32#"),+ ('9', 2705, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord16OffAddrAsWord16X32#"),+ ('9', 2706, InTerms, Just "GHC.Internal.Prim", "writeWord32OffAddrAsWord32X16#"),+ ('9', 2707, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord32OffAddrAsWord32X16#"),+ ('9', 2708, InTerms, Just "GHC.Internal.Prim", "writeWord64OffAddrAsWord64X8#"),+ ('9', 2709, InTerms, Just "GHC.Internal.PrimopWrappers", "writeWord64OffAddrAsWord64X8#"),+ ('9', 2710, InTerms, Just "GHC.Internal.Prim", "writeFloatOffAddrAsFloatX4#"),+ ('9', 2711, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatOffAddrAsFloatX4#"),+ ('9', 2712, InTerms, Just "GHC.Internal.Prim", "writeDoubleOffAddrAsDoubleX2#"),+ ('9', 2713, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleOffAddrAsDoubleX2#"),+ ('9', 2714, InTerms, Just "GHC.Internal.Prim", "writeFloatOffAddrAsFloatX8#"),+ ('9', 2715, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatOffAddrAsFloatX8#"),+ ('9', 2716, InTerms, Just "GHC.Internal.Prim", "writeDoubleOffAddrAsDoubleX4#"),+ ('9', 2717, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleOffAddrAsDoubleX4#"),+ ('9', 2718, InTerms, Just "GHC.Internal.Prim", "writeFloatOffAddrAsFloatX16#"),+ ('9', 2719, InTerms, Just "GHC.Internal.PrimopWrappers", "writeFloatOffAddrAsFloatX16#"),+ ('9', 2720, InTerms, Just "GHC.Internal.Prim", "writeDoubleOffAddrAsDoubleX8#"),+ ('9', 2721, InTerms, Just "GHC.Internal.PrimopWrappers", "writeDoubleOffAddrAsDoubleX8#"),+ ('9', 2722, InTerms, Just "GHC.Internal.Prim", "fmaddFloatX4#"),+ ('9', 2723, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddFloatX4#"),+ ('9', 2724, InTerms, Just "GHC.Internal.Prim", "fmaddDoubleX2#"),+ ('9', 2725, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddDoubleX2#"),+ ('9', 2726, InTerms, Just "GHC.Internal.Prim", "fmaddFloatX8#"),+ ('9', 2727, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddFloatX8#"),+ ('9', 2728, InTerms, Just "GHC.Internal.Prim", "fmaddDoubleX4#"),+ ('9', 2729, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddDoubleX4#"),+ ('9', 2730, InTerms, Just "GHC.Internal.Prim", "fmaddFloatX16#"),+ ('9', 2731, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddFloatX16#"),+ ('9', 2732, InTerms, Just "GHC.Internal.Prim", "fmaddDoubleX8#"),+ ('9', 2733, InTerms, Just "GHC.Internal.PrimopWrappers", "fmaddDoubleX8#"),+ ('9', 2734, InTerms, Just "GHC.Internal.Prim", "fmsubFloatX4#"),+ ('9', 2735, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubFloatX4#"),+ ('9', 2736, InTerms, Just "GHC.Internal.Prim", "fmsubDoubleX2#"),+ ('9', 2737, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubDoubleX2#"),+ ('9', 2738, InTerms, Just "GHC.Internal.Prim", "fmsubFloatX8#"),+ ('9', 2739, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubFloatX8#"),+ ('9', 2740, InTerms, Just "GHC.Internal.Prim", "fmsubDoubleX4#"),+ ('9', 2741, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubDoubleX4#"),+ ('9', 2742, InTerms, Just "GHC.Internal.Prim", "fmsubFloatX16#"),+ ('9', 2743, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubFloatX16#"),+ ('9', 2744, InTerms, Just "GHC.Internal.Prim", "fmsubDoubleX8#"),+ ('9', 2745, InTerms, Just "GHC.Internal.PrimopWrappers", "fmsubDoubleX8#"),+ ('9', 2746, InTerms, Just "GHC.Internal.Prim", "fnmaddFloatX4#"),+ ('9', 2747, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddFloatX4#"),+ ('9', 2748, InTerms, Just "GHC.Internal.Prim", "fnmaddDoubleX2#"),+ ('9', 2749, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddDoubleX2#"),+ ('9', 2750, InTerms, Just "GHC.Internal.Prim", "fnmaddFloatX8#"),+ ('9', 2751, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddFloatX8#"),+ ('9', 2752, InTerms, Just "GHC.Internal.Prim", "fnmaddDoubleX4#"),+ ('9', 2753, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddDoubleX4#"),+ ('9', 2754, InTerms, Just "GHC.Internal.Prim", "fnmaddFloatX16#"),+ ('9', 2755, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddFloatX16#"),+ ('9', 2756, InTerms, Just "GHC.Internal.Prim", "fnmaddDoubleX8#"),+ ('9', 2757, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmaddDoubleX8#"),+ ('9', 2758, InTerms, Just "GHC.Internal.Prim", "fnmsubFloatX4#"),+ ('9', 2759, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubFloatX4#"),+ ('9', 2760, InTerms, Just "GHC.Internal.Prim", "fnmsubDoubleX2#"),+ ('9', 2761, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubDoubleX2#"),+ ('9', 2762, InTerms, Just "GHC.Internal.Prim", "fnmsubFloatX8#"),+ ('9', 2763, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubFloatX8#"),+ ('9', 2764, InTerms, Just "GHC.Internal.Prim", "fnmsubDoubleX4#"),+ ('9', 2765, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubDoubleX4#"),+ ('9', 2766, InTerms, Just "GHC.Internal.Prim", "fnmsubFloatX16#"),+ ('9', 2767, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubFloatX16#"),+ ('9', 2768, InTerms, Just "GHC.Internal.Prim", "fnmsubDoubleX8#"),+ ('9', 2769, InTerms, Just "GHC.Internal.PrimopWrappers", "fnmsubDoubleX8#"),+ ('9', 2770, InTerms, Just "GHC.Internal.Prim", "shuffleInt8X16#"),+ ('9', 2771, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt8X16#"),+ ('9', 2772, InTerms, Just "GHC.Internal.Prim", "shuffleInt16X8#"),+ ('9', 2773, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt16X8#"),+ ('9', 2774, InTerms, Just "GHC.Internal.Prim", "shuffleInt32X4#"),+ ('9', 2775, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt32X4#"),+ ('9', 2776, InTerms, Just "GHC.Internal.Prim", "shuffleInt64X2#"),+ ('9', 2777, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt64X2#"),+ ('9', 2778, InTerms, Just "GHC.Internal.Prim", "shuffleInt8X32#"),+ ('9', 2779, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt8X32#"),+ ('9', 2780, InTerms, Just "GHC.Internal.Prim", "shuffleInt16X16#"),+ ('9', 2781, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt16X16#"),+ ('9', 2782, InTerms, Just "GHC.Internal.Prim", "shuffleInt32X8#"),+ ('9', 2783, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt32X8#"),+ ('9', 2784, InTerms, Just "GHC.Internal.Prim", "shuffleInt64X4#"),+ ('9', 2785, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt64X4#"),+ ('9', 2786, InTerms, Just "GHC.Internal.Prim", "shuffleInt8X64#"),+ ('9', 2787, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt8X64#"),+ ('9', 2788, InTerms, Just "GHC.Internal.Prim", "shuffleInt16X32#"),+ ('9', 2789, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt16X32#"),+ ('9', 2790, InTerms, Just "GHC.Internal.Prim", "shuffleInt32X16#"),+ ('9', 2791, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt32X16#"),+ ('9', 2792, InTerms, Just "GHC.Internal.Prim", "shuffleInt64X8#"),+ ('9', 2793, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleInt64X8#"),+ ('9', 2794, InTerms, Just "GHC.Internal.Prim", "shuffleWord8X16#"),+ ('9', 2795, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord8X16#"),+ ('9', 2796, InTerms, Just "GHC.Internal.Prim", "shuffleWord16X8#"),+ ('9', 2797, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord16X8#"),+ ('9', 2798, InTerms, Just "GHC.Internal.Prim", "shuffleWord32X4#"),+ ('9', 2799, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord32X4#"),+ ('9', 2800, InTerms, Just "GHC.Internal.Prim", "shuffleWord64X2#"),+ ('9', 2801, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord64X2#"),+ ('9', 2802, InTerms, Just "GHC.Internal.Prim", "shuffleWord8X32#"),+ ('9', 2803, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord8X32#"),+ ('9', 2804, InTerms, Just "GHC.Internal.Prim", "shuffleWord16X16#"),+ ('9', 2805, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord16X16#"),+ ('9', 2806, InTerms, Just "GHC.Internal.Prim", "shuffleWord32X8#"),+ ('9', 2807, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord32X8#"),+ ('9', 2808, InTerms, Just "GHC.Internal.Prim", "shuffleWord64X4#"),+ ('9', 2809, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord64X4#"),+ ('9', 2810, InTerms, Just "GHC.Internal.Prim", "shuffleWord8X64#"),+ ('9', 2811, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord8X64#"),+ ('9', 2812, InTerms, Just "GHC.Internal.Prim", "shuffleWord16X32#"),+ ('9', 2813, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord16X32#"),+ ('9', 2814, InTerms, Just "GHC.Internal.Prim", "shuffleWord32X16#"),+ ('9', 2815, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord32X16#"),+ ('9', 2816, InTerms, Just "GHC.Internal.Prim", "shuffleWord64X8#"),+ ('9', 2817, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleWord64X8#"),+ ('9', 2818, InTerms, Just "GHC.Internal.Prim", "shuffleFloatX4#"),+ ('9', 2819, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleFloatX4#"),+ ('9', 2820, InTerms, Just "GHC.Internal.Prim", "shuffleDoubleX2#"),+ ('9', 2821, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleDoubleX2#"),+ ('9', 2822, InTerms, Just "GHC.Internal.Prim", "shuffleFloatX8#"),+ ('9', 2823, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleFloatX8#"),+ ('9', 2824, InTerms, Just "GHC.Internal.Prim", "shuffleDoubleX4#"),+ ('9', 2825, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleDoubleX4#"),+ ('9', 2826, InTerms, Just "GHC.Internal.Prim", "shuffleFloatX16#"),+ ('9', 2827, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleFloatX16#"),+ ('9', 2828, InTerms, Just "GHC.Internal.Prim", "shuffleDoubleX8#"),+ ('9', 2829, InTerms, Just "GHC.Internal.PrimopWrappers", "shuffleDoubleX8#"),+ ('9', 2830, InTerms, Just "GHC.Internal.Prim", "minInt8X16#"),+ ('9', 2831, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt8X16#"),+ ('9', 2832, InTerms, Just "GHC.Internal.Prim", "minInt16X8#"),+ ('9', 2833, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt16X8#"),+ ('9', 2834, InTerms, Just "GHC.Internal.Prim", "minInt32X4#"),+ ('9', 2835, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt32X4#"),+ ('9', 2836, InTerms, Just "GHC.Internal.Prim", "minInt64X2#"),+ ('9', 2837, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt64X2#"),+ ('9', 2838, InTerms, Just "GHC.Internal.Prim", "minInt8X32#"),+ ('9', 2839, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt8X32#"),+ ('9', 2840, InTerms, Just "GHC.Internal.Prim", "minInt16X16#"),+ ('9', 2841, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt16X16#"),+ ('9', 2842, InTerms, Just "GHC.Internal.Prim", "minInt32X8#"),+ ('9', 2843, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt32X8#"),+ ('9', 2844, InTerms, Just "GHC.Internal.Prim", "minInt64X4#"),+ ('9', 2845, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt64X4#"),+ ('9', 2846, InTerms, Just "GHC.Internal.Prim", "minInt8X64#"),+ ('9', 2847, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt8X64#"),+ ('9', 2848, InTerms, Just "GHC.Internal.Prim", "minInt16X32#"),+ ('9', 2849, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt16X32#"),+ ('9', 2850, InTerms, Just "GHC.Internal.Prim", "minInt32X16#"),+ ('9', 2851, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt32X16#"),+ ('9', 2852, InTerms, Just "GHC.Internal.Prim", "minInt64X8#"),+ ('9', 2853, InTerms, Just "GHC.Internal.PrimopWrappers", "minInt64X8#"),+ ('9', 2854, InTerms, Just "GHC.Internal.Prim", "minWord8X16#"),+ ('9', 2855, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord8X16#"),+ ('9', 2856, InTerms, Just "GHC.Internal.Prim", "minWord16X8#"),+ ('9', 2857, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord16X8#"),+ ('9', 2858, InTerms, Just "GHC.Internal.Prim", "minWord32X4#"),+ ('9', 2859, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord32X4#"),+ ('9', 2860, InTerms, Just "GHC.Internal.Prim", "minWord64X2#"),+ ('9', 2861, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord64X2#"),+ ('9', 2862, InTerms, Just "GHC.Internal.Prim", "minWord8X32#"),+ ('9', 2863, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord8X32#"),+ ('9', 2864, InTerms, Just "GHC.Internal.Prim", "minWord16X16#"),+ ('9', 2865, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord16X16#"),+ ('9', 2866, InTerms, Just "GHC.Internal.Prim", "minWord32X8#"),+ ('9', 2867, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord32X8#"),+ ('9', 2868, InTerms, Just "GHC.Internal.Prim", "minWord64X4#"),+ ('9', 2869, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord64X4#"),+ ('9', 2870, InTerms, Just "GHC.Internal.Prim", "minWord8X64#"),+ ('9', 2871, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord8X64#"),+ ('9', 2872, InTerms, Just "GHC.Internal.Prim", "minWord16X32#"),+ ('9', 2873, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord16X32#"),+ ('9', 2874, InTerms, Just "GHC.Internal.Prim", "minWord32X16#"),+ ('9', 2875, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord32X16#"),+ ('9', 2876, InTerms, Just "GHC.Internal.Prim", "minWord64X8#"),+ ('9', 2877, InTerms, Just "GHC.Internal.PrimopWrappers", "minWord64X8#"),+ ('9', 2878, InTerms, Just "GHC.Internal.Prim", "minFloatX4#"),+ ('9', 2879, InTerms, Just "GHC.Internal.PrimopWrappers", "minFloatX4#"),+ ('9', 2880, InTerms, Just "GHC.Internal.Prim", "minDoubleX2#"),+ ('9', 2881, InTerms, Just "GHC.Internal.PrimopWrappers", "minDoubleX2#"),+ ('9', 2882, InTerms, Just "GHC.Internal.Prim", "minFloatX8#"),+ ('9', 2883, InTerms, Just "GHC.Internal.PrimopWrappers", "minFloatX8#"),+ ('9', 2884, InTerms, Just "GHC.Internal.Prim", "minDoubleX4#"),+ ('9', 2885, InTerms, Just "GHC.Internal.PrimopWrappers", "minDoubleX4#"),+ ('9', 2886, InTerms, Just "GHC.Internal.Prim", "minFloatX16#"),+ ('9', 2887, InTerms, Just "GHC.Internal.PrimopWrappers", "minFloatX16#"),+ ('9', 2888, InTerms, Just "GHC.Internal.Prim", "minDoubleX8#"),+ ('9', 2889, InTerms, Just "GHC.Internal.PrimopWrappers", "minDoubleX8#"),+ ('9', 2890, InTerms, Just "GHC.Internal.Prim", "maxInt8X16#"),+ ('9', 2891, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt8X16#"),+ ('9', 2892, InTerms, Just "GHC.Internal.Prim", "maxInt16X8#"),+ ('9', 2893, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt16X8#"),+ ('9', 2894, InTerms, Just "GHC.Internal.Prim", "maxInt32X4#"),+ ('9', 2895, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt32X4#"),+ ('9', 2896, InTerms, Just "GHC.Internal.Prim", "maxInt64X2#"),+ ('9', 2897, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt64X2#"),+ ('9', 2898, InTerms, Just "GHC.Internal.Prim", "maxInt8X32#"),+ ('9', 2899, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt8X32#"),+ ('9', 2900, InTerms, Just "GHC.Internal.Prim", "maxInt16X16#"),+ ('9', 2901, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt16X16#"),+ ('9', 2902, InTerms, Just "GHC.Internal.Prim", "maxInt32X8#"),+ ('9', 2903, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt32X8#"),+ ('9', 2904, InTerms, Just "GHC.Internal.Prim", "maxInt64X4#"),+ ('9', 2905, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt64X4#"),+ ('9', 2906, InTerms, Just "GHC.Internal.Prim", "maxInt8X64#"),+ ('9', 2907, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt8X64#"),+ ('9', 2908, InTerms, Just "GHC.Internal.Prim", "maxInt16X32#"),+ ('9', 2909, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt16X32#"),+ ('9', 2910, InTerms, Just "GHC.Internal.Prim", "maxInt32X16#"),+ ('9', 2911, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt32X16#"),+ ('9', 2912, InTerms, Just "GHC.Internal.Prim", "maxInt64X8#"),+ ('9', 2913, InTerms, Just "GHC.Internal.PrimopWrappers", "maxInt64X8#"),+ ('9', 2914, InTerms, Just "GHC.Internal.Prim", "maxWord8X16#"),+ ('9', 2915, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord8X16#"),+ ('9', 2916, InTerms, Just "GHC.Internal.Prim", "maxWord16X8#"),+ ('9', 2917, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord16X8#"),+ ('9', 2918, InTerms, Just "GHC.Internal.Prim", "maxWord32X4#"),+ ('9', 2919, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord32X4#"),+ ('9', 2920, InTerms, Just "GHC.Internal.Prim", "maxWord64X2#"),+ ('9', 2921, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord64X2#"),+ ('9', 2922, InTerms, Just "GHC.Internal.Prim", "maxWord8X32#"),+ ('9', 2923, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord8X32#"),+ ('9', 2924, InTerms, Just "GHC.Internal.Prim", "maxWord16X16#"),+ ('9', 2925, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord16X16#"),+ ('9', 2926, InTerms, Just "GHC.Internal.Prim", "maxWord32X8#"),+ ('9', 2927, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord32X8#"),+ ('9', 2928, InTerms, Just "GHC.Internal.Prim", "maxWord64X4#"),+ ('9', 2929, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord64X4#"),+ ('9', 2930, InTerms, Just "GHC.Internal.Prim", "maxWord8X64#"),+ ('9', 2931, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord8X64#"),+ ('9', 2932, InTerms, Just "GHC.Internal.Prim", "maxWord16X32#"),+ ('9', 2933, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord16X32#"),+ ('9', 2934, InTerms, Just "GHC.Internal.Prim", "maxWord32X16#"),+ ('9', 2935, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord32X16#"),+ ('9', 2936, InTerms, Just "GHC.Internal.Prim", "maxWord64X8#"),+ ('9', 2937, InTerms, Just "GHC.Internal.PrimopWrappers", "maxWord64X8#"),+ ('9', 2938, InTerms, Just "GHC.Internal.Prim", "maxFloatX4#"),+ ('9', 2939, InTerms, Just "GHC.Internal.PrimopWrappers", "maxFloatX4#"),+ ('9', 2940, InTerms, Just "GHC.Internal.Prim", "maxDoubleX2#"),+ ('9', 2941, InTerms, Just "GHC.Internal.PrimopWrappers", "maxDoubleX2#"),+ ('9', 2942, InTerms, Just "GHC.Internal.Prim", "maxFloatX8#"),+ ('9', 2943, InTerms, Just "GHC.Internal.PrimopWrappers", "maxFloatX8#"),+ ('9', 2944, InTerms, Just "GHC.Internal.Prim", "maxDoubleX4#"),+ ('9', 2945, InTerms, Just "GHC.Internal.PrimopWrappers", "maxDoubleX4#"),+ ('9', 2946, InTerms, Just "GHC.Internal.Prim", "maxFloatX16#"),+ ('9', 2947, InTerms, Just "GHC.Internal.PrimopWrappers", "maxFloatX16#"),+ ('9', 2948, InTerms, Just "GHC.Internal.Prim", "maxDoubleX8#"),+ ('9', 2949, InTerms, Just "GHC.Internal.PrimopWrappers", "maxDoubleX8#"),+ ('9', 2950, InTerms, Just "GHC.Internal.Prim", "prefetchByteArray3#"),+ ('9', 2951, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchByteArray3#"),+ ('9', 2952, InTerms, Just "GHC.Internal.Prim", "prefetchMutableByteArray3#"),+ ('9', 2953, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchMutableByteArray3#"),+ ('9', 2954, InTerms, Just "GHC.Internal.Prim", "prefetchAddr3#"),+ ('9', 2955, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchAddr3#"),+ ('9', 2956, InTerms, Just "GHC.Internal.Prim", "prefetchValue3#"),+ ('9', 2957, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchValue3#"),+ ('9', 2958, InTerms, Just "GHC.Internal.Prim", "prefetchByteArray2#"),+ ('9', 2959, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchByteArray2#"),+ ('9', 2960, InTerms, Just "GHC.Internal.Prim", "prefetchMutableByteArray2#"),+ ('9', 2961, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchMutableByteArray2#"),+ ('9', 2962, InTerms, Just "GHC.Internal.Prim", "prefetchAddr2#"),+ ('9', 2963, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchAddr2#"),+ ('9', 2964, InTerms, Just "GHC.Internal.Prim", "prefetchValue2#"),+ ('9', 2965, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchValue2#"),+ ('9', 2966, InTerms, Just "GHC.Internal.Prim", "prefetchByteArray1#"),+ ('9', 2967, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchByteArray1#"),+ ('9', 2968, InTerms, Just "GHC.Internal.Prim", "prefetchMutableByteArray1#"),+ ('9', 2969, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchMutableByteArray1#"),+ ('9', 2970, InTerms, Just "GHC.Internal.Prim", "prefetchAddr1#"),+ ('9', 2971, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchAddr1#"),+ ('9', 2972, InTerms, Just "GHC.Internal.Prim", "prefetchValue1#"),+ ('9', 2973, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchValue1#"),+ ('9', 2974, InTerms, Just "GHC.Internal.Prim", "prefetchByteArray0#"),+ ('9', 2975, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchByteArray0#"),+ ('9', 2976, InTerms, Just "GHC.Internal.Prim", "prefetchMutableByteArray0#"),+ ('9', 2977, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchMutableByteArray0#"),+ ('9', 2978, InTerms, Just "GHC.Internal.Prim", "prefetchAddr0#"),+ ('9', 2979, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchAddr0#"),+ ('9', 2980, InTerms, Just "GHC.Internal.Prim", "prefetchValue0#"),+ ('9', 2981, InTerms, Just "GHC.Internal.PrimopWrappers", "prefetchValue0#"),+ ('b', 5, InTypes, Just "GHC.Internal.Types", "WordBox"),+ ('b', 6, InTerms, Just "GHC.Internal.Types", "$tcWordBox"),+ ('b', 7, InTerms, Just "GHC.Internal.Types", "MkWordBox"),+ ('b', 8, InTerms, Just "GHC.Internal.Types", "MkWordBox"),+ ('b', 9, InTerms, Just "GHC.Internal.Types", "$tc'MkWordBox"),+ ('b', 10, InTypes, Just "GHC.Internal.Types", "IntBox"),+ ('b', 11, InTerms, Just "GHC.Internal.Types", "$tcIntBox"),+ ('b', 12, InTerms, Just "GHC.Internal.Types", "MkIntBox"),+ ('b', 13, InTerms, Just "GHC.Internal.Types", "MkIntBox"),+ ('b', 14, InTerms, Just "GHC.Internal.Types", "$tc'MkIntBox"),+ ('b', 15, InTypes, Just "GHC.Internal.Types", "FloatBox"),+ ('b', 16, InTerms, Just "GHC.Internal.Types", "$tcFloatBox"),+ ('b', 17, InTerms, Just "GHC.Internal.Types", "MkFloatBox"),+ ('b', 18, InTerms, Just "GHC.Internal.Types", "MkFloatBox"),+ ('b', 19, InTerms, Just "GHC.Internal.Types", "$tc'MkFloatBox"),+ ('b', 20, InTypes, Just "GHC.Internal.Types", "DoubleBox"),+ ('b', 21, InTerms, Just "GHC.Internal.Types", "$tcDoubleBox"),+ ('b', 22, InTerms, Just "GHC.Internal.Types", "MkDoubleBox"),+ ('b', 23, InTerms, Just "GHC.Internal.Types", "MkDoubleBox"),+ ('b', 24, InTerms, Just "GHC.Internal.Types", "$tc'MkDoubleBox"),+ ('b', 25, InTypes, Just "GHC.Internal.Types", "Int8Box"),+ ('b', 26, InTerms, Just "GHC.Internal.Types", "$tcInt8Box"),+ ('b', 27, InTerms, Just "GHC.Internal.Types", "MkInt8Box"),+ ('b', 28, InTerms, Just "GHC.Internal.Types", "MkInt8Box"),+ ('b', 29, InTerms, Just "GHC.Internal.Types", "$tc'MkInt8Box"),+ ('b', 30, InTypes, Just "GHC.Internal.Types", "Int16Box"),+ ('b', 31, InTerms, Just "GHC.Internal.Types", "$tcInt16Box"),+ ('b', 32, InTerms, Just "GHC.Internal.Types", "MkInt16Box"),+ ('b', 33, InTerms, Just "GHC.Internal.Types", "MkInt16Box"),+ ('b', 34, InTerms, Just "GHC.Internal.Types", "$tc'MkInt16Box"),+ ('b', 35, InTypes, Just "GHC.Internal.Types", "Int32Box"),+ ('b', 36, InTerms, Just "GHC.Internal.Types", "$tcInt32Box"),+ ('b', 37, InTerms, Just "GHC.Internal.Types", "MkInt32Box"),+ ('b', 38, InTerms, Just "GHC.Internal.Types", "MkInt32Box"),+ ('b', 39, InTerms, Just "GHC.Internal.Types", "$tc'MkInt32Box"),+ ('b', 40, InTypes, Just "GHC.Internal.Types", "Int64Box"),+ ('b', 41, InTerms, Just "GHC.Internal.Types", "$tcInt64Box"),+ ('b', 42, InTerms, Just "GHC.Internal.Types", "MkInt64Box"),+ ('b', 43, InTerms, Just "GHC.Internal.Types", "MkInt64Box"),+ ('b', 44, InTerms, Just "GHC.Internal.Types", "$tc'MkInt64Box"),+ ('b', 45, InTypes, Just "GHC.Internal.Types", "Word8Box"),+ ('b', 46, InTerms, Just "GHC.Internal.Types", "$tcWord8Box"),+ ('b', 47, InTerms, Just "GHC.Internal.Types", "MkWord8Box"),+ ('b', 48, InTerms, Just "GHC.Internal.Types", "MkWord8Box"),+ ('b', 49, InTerms, Just "GHC.Internal.Types", "$tc'MkWord8Box"),+ ('b', 50, InTypes, Just "GHC.Internal.Types", "Word16Box"),+ ('b', 51, InTerms, Just "GHC.Internal.Types", "$tcWord16Box"),+ ('b', 52, InTerms, Just "GHC.Internal.Types", "MkWord16Box"),+ ('b', 53, InTerms, Just "GHC.Internal.Types", "MkWord16Box"),+ ('b', 54, InTerms, Just "GHC.Internal.Types", "$tc'MkWord16Box"),+ ('b', 55, InTypes, Just "GHC.Internal.Types", "Word32Box"),+ ('b', 56, InTerms, Just "GHC.Internal.Types", "$tcWord32Box"),+ ('b', 57, InTerms, Just "GHC.Internal.Types", "MkWord32Box"),+ ('b', 58, InTerms, Just "GHC.Internal.Types", "MkWord32Box"),+ ('b', 59, InTerms, Just "GHC.Internal.Types", "$tc'MkWord32Box"),+ ('b', 60, InTypes, Just "GHC.Internal.Types", "Word64Box"),+ ('b', 61, InTerms, Just "GHC.Internal.Types", "$tcWord64Box"),+ ('b', 62, InTerms, Just "GHC.Internal.Types", "MkWord64Box"),+ ('b', 63, InTerms, Just "GHC.Internal.Types", "MkWord64Box"),+ ('b', 64, InTerms, Just "GHC.Internal.Types", "$tc'MkWord64Box"),+ ('b', 65, InTypes, Just "GHC.Internal.Types", "LiftBox"),+ ('b', 66, InTerms, Just "GHC.Internal.Types", "$tcLiftBox"),+ ('b', 67, InTerms, Just "GHC.Internal.Types", "MkLiftBox"),+ ('b', 68, InTerms, Just "GHC.Internal.Types", "MkLiftBox"),+ ('b', 69, InTerms, Just "GHC.Internal.Types", "$tc'MkLiftBox"),+ ('b', 70, InTypes, Just "GHC.Internal.Types", "DictBox"),+ ('b', 71, InTerms, Just "GHC.Internal.Types", "$tcDictBox"),+ ('b', 72, InTerms, Just "GHC.Internal.Types", "MkDictBox"),+ ('b', 73, InTerms, Just "GHC.Internal.Types", "MkDictBox"),+ ('b', 74, InTerms, Just "GHC.Internal.Types", "$tc'MkDictBox")+ ]++-- | The module GHC keeps the primitive operations in, which has no+-- interface file, and the fixities declared there.+primops :: (Text, [(Text, Fixity)])+primops =+ ( "GHC.Internal.Prim",+ [ ("*#", Fixity LeftAssoc 7),+ ("*##", Fixity LeftAssoc 7),+ ("**##", Fixity LeftAssoc 9),+ ("+#", Fixity LeftAssoc 6),+ ("+##", Fixity LeftAssoc 6),+ ("-#", Fixity LeftAssoc 6),+ ("-##", Fixity LeftAssoc 6),+ ("/##", Fixity LeftAssoc 7),+ ("/=#", Fixity NoAssoc 4),+ ("/=##", Fixity NoAssoc 4),+ ("<#", Fixity NoAssoc 4),+ ("<##", Fixity NoAssoc 4),+ ("<=#", Fixity NoAssoc 4),+ ("<=##", Fixity NoAssoc 4),+ ("==#", Fixity NoAssoc 4),+ ("==##", Fixity NoAssoc 4),+ (">#", Fixity NoAssoc 4),+ (">##", Fixity NoAssoc 4),+ (">=#", Fixity NoAssoc 4),+ (">=##", Fixity NoAssoc 4),+ ("seq", Fixity RightAssoc 0)+ ]+ )
@@ -30,9 +30,11 @@ ipName :: Text, -- | Package version ipVersion :: Text,- -- | Every module it holds, hidden ones included, with re-export clauses- -- dropped.+ -- | Every module it holds, hidden ones included. ipModules :: [Text],+ -- | The modules it exposes that another package holds, each with its+ -- name there.+ ipReexports :: [(Text, Text)], -- | Where its compiled interfaces are. ipImportDirs :: [FilePath] }@@ -50,7 +52,8 @@ -- | Everything the compiler can see, and where it read it from. ----- Empty if @ghc-pkg@ cannot be run, which is not fatal.+-- Empty if @ghc-pkg@ cannot be run, which leaves the packages that come with+-- the compiler unread. -- -- @ghc-pkg@ is invoked rather than a database read off disk because where -- the databases are is not knowable from outside: under Nix the wrapper@@ -110,6 +113,8 @@ concatMap (maybe [] moduleNames . (`Map.lookup` fields)) ["exposed-modules", "hidden-modules"],+ ipReexports =+ maybe [] reexportedModules (Map.lookup "exposed-modules" fields), ipImportDirs = maybe []@@ -123,9 +128,9 @@ Nothing -> path Just root -> T.replace "${pkgroot}" (unquote root) path --- | The module names in an @exposed-modules@ field.+-- | The modules an @exposed-modules@ field names that the package holds. moduleNames :: Text -> [Text]-moduleNames = go . filter (not . T.null) . concatMap (T.split (== ',')) . T.words+moduleNames = go . moduleTokens where go = \case (_ : "from" : _ : rest) -> go rest@@ -135,6 +140,21 @@ looksLikeModule m = case T.uncons m of Just (c, _) -> c `elem` ['A' .. 'Z'] && not (T.any (== ':') m) Nothing -> False++-- | The modules an @exposed-modules@ field names that another package+-- holds, each with its name there.+reexportedModules :: Text -> [(Text, Text)]+reexportedModules = go . moduleTokens+ where+ go = \case+ (m : "from" : original : rest) ->+ (m, T.takeWhileEnd (/= ':') original) : go rest+ (_ : rest) -> go rest+ [] -> []++-- | The words of a field that lists modules.+moduleTokens :: Text -> [Text]+moduleTokens = filter (not . T.null) . concatMap (T.split (== ',')) . T.words -- | Split a record into its fields. parseFields :: Text -> Map.Map Text Text
@@ -41,1845 +41,1827 @@ Resolver (..), newResolver, newResolverVia,- withReexports,- scopeFor,- )-where--import Codec.Archive.Tar qualified as Tar-import Codec.Compression.GZip qualified as GZip-import Control.Applicative ((<|>))-import Control.Concurrent (getNumCapabilities, newEmptyMVar, putMVar, readMVar)-import Control.Concurrent.QSem (newQSem, signalQSem, waitQSem)-import Control.Exception (bracket_)-import Control.Monad (filterM, foldM, join, void)-import Crypto.Hash.SHA256 qualified as SHA256-import Data.Aeson- ( FromJSON (..),- Value,- decodeStrict,- eitherDecodeFileStrict,- withObject,- (.:),- (.:?),- )-import Data.Aeson.Types (parseMaybe)-import Data.ByteString qualified as BS-import Data.ByteString.Base16 qualified as B16-import Data.ByteString.Lazy qualified as BL-import Data.Choice (Choice, fromBool, isTrue, pattern Do)-import Data.Foldable (toList, traverse_)-import Data.IORef-import Data.List (isSuffixOf)-import Data.List qualified-import Data.List.NonEmpty (NonEmpty ((:|)))-import Data.List.NonEmpty qualified as NE-import Data.Map.Strict (Map)-import Data.Map.Strict qualified as Map-import Data.Maybe (catMaybes, fromMaybe, listToMaybe, mapMaybe)-import Data.Set (Set)-import Data.Set qualified as Set-import Data.Text (Text)-import Data.Text qualified as T-import Data.Text.Encoding qualified as T-import Data.Text.Read qualified as T-import GHC.Hs (HsModule)-import GHC.Hs.Extension (GhcPs)-import GHC.IO.Handle (hDuplicate)-import GHC.LanguageExtensions.Type (Extension (ImplicitPrelude))-import System.Directory- ( XdgDirectory (XdgCache),- doesFileExist,- getAppUserDataDirectory,- getModificationTime,- getXdgDirectory,- listDirectory,- )-import System.Environment (lookupEnv)-import System.Exit (ExitCode (..))-import System.FilePath (isRelative, takeDirectory, (</>))-import System.IO (hFlush, stderr)-import System.Info qualified-import System.Process- ( StdStream (Inherit, UseHandle),- createProcess,- cwd,- proc,- std_err,- std_out,- waitForProcess,- )-import Tilia.Cabal.Package (newPackageReader)-import Tilia.Cpp.Directives (branchLeaves, withoutRuledOut)-import Tilia.Cpp.Macros (Macros (..))-import Tilia.Fixity-import Tilia.Fixity.Builtin (builtinFixities)-import Tilia.Fixity.ByHand (byHandFixities, hscFixities)-import Tilia.Fixity.Cabal- ( cabalFileAtTop,- cabalFileInArchive,- containedModules,- declaredExtensions,- entryPosixPath,- packageModules,- sourceDirs,- )-import Tilia.Fixity.Cache-import Tilia.Fixity.Interface-import Tilia.Fixity.PackageDb-import Tilia.Parser-import Tilia.Pragma (effectiveExtensions)-import Tilia.Process (readProgramOutput)-import Tilia.Utils (inParallel, quietly)--------------------------------------------------------------------------------- The plan---- | One package of a build plan.-data PlanPackage = PlanPackage- { -- | Package name- ppName :: Text,- -- | Package version- ppVersion :: Text,- -- | Package source- ppSource :: PackageSource,- -- | Which components of the package the entry is about.- --- -- Usually one, because @cabal@ configures a package one component at a- -- time and gives each its own entry. A package it cannot take apart—one- -- with a @Custom@ build type, whose @Setup.hs@ is entitled to do as it- -- pleases—is planned whole instead, and its entry is about every- -- component at once.- ppComponents :: [Text]- }- deriving (Eq, Show)---- | Where a package's source is.-data PackageSource- = -- | Already installed, so @cabal@ will not build it.- --- -- Not the same as "ships with the compiler", though it includes those.- PreExisting- | -- | A directory on this machine—the project being formatted, or a- -- sibling of it in the same repository.- LocalPackage FilePath- | -- | Fetched from a repository as a tarball, with the SHA-256 the plan- -- expects it to have and where it was fetched from.- RepoPackage (Maybe Text) RepoProvenance- | -- | A @source-repository-package@ we have not found the sources of.- SourceRepo- | -- | The same, found unpacked under the project's own @dist-newstyle@.- CheckedOut FilePath- deriving (Eq, Show)---- | Which repository a package was fetched from, as far as it bears on--- finding the tarball afterwards.-data RepoProvenance- = -- | One @cabal@ downloads from, named by its URI. The tarball goes into- -- the package cache, in a directory named after the repository as the- -- configuration spells it.- RepoDownloaded Text- | -- | A directory of tarballs, named by @file+noindex@. Nothing is- -- downloaded and nothing is cached: the tarball is already sitting- -- there, beside the index @cabal@ wrote for it.- RepoFromDirectory FilePath- | -- | A plan that does not say. Older @cabal@ wrote nothing here, and- -- Hackage is the only guess worth making.- RepoNoProvenance- deriving (Eq, Show)---- | Is there a tarball to go and read?-isFetchable :: PlanPackage -> Bool-isFetchable p = case ppSource p of- RepoPackage _ _ -> True- _ -> False---- | Every package the compiler can see.-getInstalledPackages :: Maybe Cache -> IO [InstalledPackage]-getInstalledPackages cache =- remembered >>= \case- Just packages -> pure packages- Nothing -> do- found <- readInstalledPackages- traverse_ (`storeInstalled` found) cache- pure (installedPackages found)- where- remembered = maybe (pure Nothing) cachedInstalled cache---- | Summarize a 'BuildPlan', and the environment it will be read in, by--- hashing over both.-tokenForBuildPlan :: BuildPlan -> IO PlanToken-tokenForBuildPlan plan = do- environment <- compilerIdentity- pure (tokenForEnvAndBuildPlan environment plan)---- | Similar to 'tokenForBuildPlan', but allows passing a compiler identity--- as an argument.-tokenForEnvAndBuildPlan :: Text -> BuildPlan -> PlanToken-tokenForEnvAndBuildPlan environment plan =- PlanToken- . T.take 16- . T.decodeUtf8Lenient- . B16.encode- . SHA256.hash- . T.encodeUtf8- $ T.intercalate- "\n"- (environment : bpCompiler plan : Data.List.sort (fmap cacheKey (bpPackages plan)))---- | The SHA-256 the plan expects this package's tarball to have.-sourceHashOf :: PlanPackage -> Maybe Text-sourceHashOf p = case ppSource p of- RepoPackage hash _ -> hash- _ -> Nothing---- | A resolved build plan.-data BuildPlan = BuildPlan- { bpCompiler :: Text,- bpPackages :: [PlanPackage]- }- deriving (Eq, Show)--instance FromJSON BuildPlan where- parseJSON = withObject "BuildPlan" $ \o ->- BuildPlan- <$> o .: "compiler-id"- <*> o .: "install-plan"--instance FromJSON PlanPackage where- parseJSON = withObject "PlanPackage" $ \o -> do- name <- o .: "pkg-name"- version <- o .: "pkg-version"- kind <- o .:? "type"- sourceKind <- o .:? "pkg-src" >>= traverse (.: "type")- sourcePath <- o .:? "pkg-src" >>= traverse (.:? "path")- sourceHash <- o .:? "pkg-src-sha256"- repo <- o .:? "pkg-src" >>= traverse (.:? "repo")- repoKind <- traverse (traverse (.:? "type")) repo- repoUri <- traverse (traverse (.:? "uri")) repo- repoPath <- traverse (traverse (.:? "path")) repo- named <- o .:? "component-name"- whole <- o .:? "components"- pure- PlanPackage- { ppName = name,- ppVersion = version,- ppComponents = componentsOf named whole,- ppSource = case (kind :: Maybe Text, sourceKind :: Maybe Text) of- (Just "pre-existing", _) -> PreExisting- (_, Just "repo-tar") ->- RepoPackage- sourceHash- ( case (join (join repoKind) :: Maybe Text, join (join repoPath), join (join repoUri)) of- (Just "local-repo-no-index", Just dir, _) -> RepoFromDirectory (T.unpack dir)- (_, _, Just uri) -> RepoDownloaded uri- _ -> RepoNoProvenance- )- (_, Just "local") -> LocalPackage (maybe "" T.unpack (join sourcePath))- (_, Just "source-repo") -> SourceRepo- -- Anything else is treated as already present.- _ -> PreExisting- }---- | The components one plan entry is about.------ @cabal@ writes this two ways. An entry for a single component names it in--- @component-name@; an entry for a package planned whole carries a--- @components@ object instead, keyed by the very same spellings. Reading--- only the first would leave every @Custom@ package looking like one the--- plan says nothing about, and a run would keep asking @cabal@ to solve--- again for components a fresh solve would file exactly where this one did.------ @setup@ is dropped. It is the @Setup.hs@ program @cabal@ builds in order--- to build the package, not a component of the package, and nothing in the--- project will ever be formatted as part of it.-componentsOf :: Maybe Text -> Maybe (Map Text Value) -> [Text]-componentsOf named whole = case named of- Just component -> [component]- Nothing -> filter (/= "setup") (Map.keys (fromMaybe Map.empty whole))---- | Read @plan.json@.-readBuildPlan :: FilePath -> IO (Either Text BuildPlan)-readBuildPlan path =- doesFileExist path >>= \case- False -> pure (Left ("no build plan at " <> T.pack path))- True ->- eitherDecodeFileStrict path >>= \case- Left why -> pure (Left (T.pack why))- Right plan -> Right <$> checkedOutIn (takeDirectory (takeDirectory path)) plan---- | Read a plan that is to be trusted as up to date.-readGivenPlan ::- -- | The project root.- FilePath ->- -- | The plan.- FilePath ->- IO (Either Text BuildPlan)-readGivenPlan root path = do- exists <- doesFileExist path- if exists- then- eitherDecodeFileStrict path >>= \case- Left why -> pure (Left (T.pack why))- Right plan -> pure (Right plan{bpPackages = fmap rooted (bpPackages plan)})- else pure (Left ("no build plan at " <> T.pack path))- where- rooted p = case ppSource p of- LocalPackage dir | isRelative dir -> p{ppSource = LocalPackage (root </> dir)}- _ -> p---- | Find where @cabal@ unpacked each @source-repository-package@.-checkedOutIn :: FilePath -> BuildPlan -> IO BuildPlan-checkedOutIn distDir plan = do- packages <- traverse locate (bpPackages plan)- pure plan{bpPackages = packages}- where- locate p = case ppSource p of- SourceRepo ->- clonesOf p >>= \case- (dir : _) -> pure p{ppSource = CheckedOut dir}- [] -> pure p- _ -> pure p- clonesOf p = quietly [] $ do- entries <- listDirectory (distDir </> "src")- filterM- (isThePackage p)- [ distDir </> "src" </> e- | e <- Data.List.sort entries,- (ppName p <> "-") `T.isPrefixOf` T.pack e- ]- isThePackage p dir = quietly False $ do- contents <- readFileText (dir </> T.unpack (ppName p) <> ".cabal")- pure (maybe False (describes p) contents)- describes p text =- any (names "name:" (ppName p)) (T.lines text)- && any (names "version:" (ppVersion p)) (T.lines text)- names field value line = case T.stripPrefix field (T.toLower (T.strip line)) of- Just rest -> T.strip rest == T.toLower value- Nothing -> False---- | The version macros a plan settles.-macrosOf :: BuildPlan -> Macros-macrosOf plan =- Macros- { macroVersions =- Map.fromList- ( [ ("MIN_VERSION_" <> underscored name, version)- | (name, [version]) <- Map.toList (Map.map Set.toList versions)- ]- <> [("MIN_VERSION_GLASGOW_HASKELL", v) | v <- toList compiler]- ),- macroNumbers =- Map.fromList- [ entry- | (major : minor : patches) <- toList compiler,- entry <-- [ ("__GLASGOW_HASKELL__", major * 100 + minor),- ("__GLASGOW_HASKELL_PATCHLEVEL1__", nth 0 patches),- ("__GLASGOW_HASKELL_PATCHLEVEL2__", nth 1 patches)- ]- ]- }- where- versions =- Map.fromListWith- Set.union- [ (ppName p, Set.singleton v)- | p <- bpPackages plan,- Just v <- [numberedVersion (ppVersion p)]- ]- compiler = do- version <- T.stripPrefix "ghc-" (bpCompiler plan)- parts <- numberedVersion version- case parts of- _ : _ : _ -> Just (take 4 (parts <> repeat 0))- _ -> Nothing- nth i xs = if i < length xs then xs !! i else 0---- | The modules @cabal@ writes itself for a plan's packages.-generatedModules :: BuildPlan -> Set Text-generatedModules plan =- Set.fromList- [ prefix <> underscored (ppName p)- | p <- bpPackages plan,- prefix <- ["Paths_", "PackageInfo_"]- ]---- | A package's name as a module name spells it, which is with the hyphens--- turned into underscores. @cabal@ does this for the version macros and for--- the modules it generates alike.-underscored :: Text -> Text-underscored = T.map (\c -> if c == '-' then '_' else c)---- | A version as its numbers, or 'Nothing' where any of them is not one.-numberedVersion :: Text -> Maybe [Integer]-numberedVersion = traverse number . T.splitOn "."- where- number part = case T.decimal part of- Right (n, rest) | T.null rest -> Just n- _ -> Nothing--------------------------------------------------------------------------------- Readiness---- | A component of the project.-data PlanComponent = PlanComponent- { -- | The package it belongs to.- pcPackage :: Text,- -- | @lib@, @exe:name@, @test:name@, @bench:name@.- pcName :: Text- }- deriving (Eq, Ord, Show)---- | A component as it would be written on the command line.-spellComponent :: PlanComponent -> Text-spellComponent c = pcPackage c <> ":" <> pcName c---- | The components of the project's own packages that a plan covers.-plannedComponents :: BuildPlan -> [PlanComponent]-plannedComponents plan =- [ PlanComponent (ppName p) component- | p <- bpPackages plan,- LocalPackage _ <- [ppSource p],- component <- ppComponents p- ]---- | Whether everything the resolver needs is on disk.-data Readiness- = -- | Nothing to do.- Ready- | -- | No build plan; @cabal@ has not solved this project yet.- PlanMissing- | -- | The plan is older than the files that determine it.- PlanStale [FilePath]- | -- | The plan says nothing about components the run is about to format.- PlanNarrow [Text]- | -- | The plan is there, and some packages have neither been downloaded- -- nor built. The names are listed so that a caller can say what it is- -- waiting for.- --- -- Built counts as having them: their interfaces provide everything the- -- source tarball would.- SourcesMissing [Text]- deriving (Eq, Show)---- | Where @cabal@ writes the plan for a project.-planPathFor :: FilePath -> FilePath-planPathFor projectDir = projectDir </> "dist-newstyle" </> "cache" </> "plan.json"---- | Check what is missing.------ One read of the plan and one @stat@ per package, so this is fast enough--- to run before every format.-checkReadiness :: Choice "useCache" -> [PlanComponent] -> FilePath -> IO Readiness-checkReadiness caching wanted projectDir =- readBuildPlan (planPathFor projectDir) >>= \case- Left _ -> pure PlanMissing- Right plan -> do- newer <- filesNewerThanPlan plan projectDir- let covered = plannedComponents plan- missing = [spellComponent c | c <- wanted, c `notElem` covered]- case (newer, missing) of- (_ : _, _) -> pure (PlanStale newer)- ([], _ : _) -> pure (PlanNarrow missing)- ([], []) ->- sourcesShortOf caching plan >>= \case- [] -> pure Ready- ps -> pure (SourcesMissing (fmap ppName ps))---- | The packages the plan expects to fetch whose sources are not here.-sourcesShortOf :: Choice "useCache" -> BuildPlan -> IO [PlanPackage]-sourcesShortOf caching plan = do- tarballs <- filter (isFetchable . fst) <$> plannedTarballs plan- absent <- fmap fst <$> filterM (fmap not . doesFileExist . snd) tarballs- short <-- if null absent- then pure []- else do- cache <- openCache caching =<< tokenForBuildPlan plan- installed <- getInstalledPackages cache- pure (filter (not . builtAlready installed) absent)- pure short---- | Has the compiler got this package already?-builtAlready :: [InstalledPackage] -> PlanPackage -> Bool-builtAlready installed p = any matches installed- where- matches i = ipName i == ppName p && ipVersion i == ppVersion p---- | The project files that have changed since the plan was written.-filesNewerThanPlan :: BuildPlan -> FilePath -> IO [FilePath]-filesNewerThanPlan plan projectDir = quietly [] $ do- planTime <- getModificationTime (planPathFor projectDir)- atRoot <- quietly [] (listDirectory projectDir)- inPackages <- concat <$> traverse cabalFilesIn (localDirs plan)- let candidates =- [projectDir </> f | f <- atRoot, f `elem` projectFiles]- <> [projectDir </> f | f <- atRoot, ".cabal" `isSuffixOf` f]- <> inPackages- newer <- traverse (isNewerThan planTime) candidates- pure [f | Just f <- newer]- where- projectFiles =- ["cabal.project", "cabal.project.local", "cabal.project.freeze"]- localDirs p =- Data.List.nub [dir | LocalPackage dir <- fmap ppSource (bpPackages p)]- cabalFilesIn dir = quietly [] $ do- entries <- listDirectory dir- pure [dir </> f | f <- entries, ".cabal" `isSuffixOf` f]- isNewerThan planTime path = quietly Nothing $ do- t <- getModificationTime path- pure (if t > planTime then Just path else Nothing)---- | Do whatever is missing, by asking @cabal@.-prepare ::- -- | Whether to use the cache.- Choice "useCache" ->- -- | Whether to download what is missing.- Choice "download" ->- -- | The components the run is about to format.- [PlanComponent] ->- -- | The project being prepared.- FilePath ->- -- | What it was found to be short of.- Readiness ->- IO (Either Text ())-prepare caching downloading wanted projectDir readiness =- prepareWith- caching- downloading- (runCabal projectDir)- (futilityFor caching projectDir)- wanted- projectDir- readiness---- | An account of actions we know are not worth attempting.-data Futility = Futility- { -- | Has solving this plan already been tried and left it as narrow?- solveWasFutile :: IO Bool,- -- | Record that a solve has been run and left it narrow, which is what- -- 'solveWasFutile' answers from afterwards.- rememberFutileSolve :: IO (),- -- | The packages an earlier fetch was still short of afterwards.- fetchWasFutileFor :: IO [Text],- -- | Remember what a fetch left missing.- rememberFutileFetch :: [Text] -> IO ()- }---- | The state when we know nothing about futile actions yet.-undiscoveredFutility :: Futility-undiscoveredFutility =- Futility- { solveWasFutile = pure False,- rememberFutileSolve = pure (),- fetchWasFutileFor = pure [],- rememberFutileFetch = const (pure ())- }---- | A memory kept in the cache, under the plan the project has now.-futilityFor :: Choice "useCache" -> FilePath -> Futility-futilityFor caching projectDir =- Futility- { solveWasFutile = withCache False cachedFutileSolve,- rememberFutileSolve = withCache () storeFutileSolve,- fetchWasFutileFor = withCache [] cachedFutileFetch,- rememberFutileFetch = \packages -> withCache () (`storeFutileFetch` packages)- }- where- withCache fallback use =- readBuildPlan (planPathFor projectDir) >>= \case- Left _ -> pure fallback- Right plan -> do- opened <- openCache caching =<< tokenForBuildPlan plan- maybe (pure fallback) use opened---- | 'prepare', given a way to run @cabal@ and a memory of what earlier--- attempts came to.-prepareWith ::- -- | Whether to use the cache.- Choice "useCache" ->- -- | Whether to download what is missing.- Choice "download" ->- -- | Run @cabal@ with these arguments.- ([String] -> IO (Either Text ())) ->- -- | What earlier attempts came to.- Futility ->- -- | The components the run is about to format.- [PlanComponent] ->- -- | The project being prepared.- FilePath ->- -- | What it was found to be short of.- Readiness ->- IO (Either Text ())-prepareWith caching downloading cabal futility wanted projectDir = \case- Ready -> pure (Right ())- SourcesMissing _ -> fetch- PlanMissing -> solveThenFetch- PlanStale _ -> solveThenFetch- PlanNarrow _ ->- solveWasFutile futility >>= \case- True -> fetchWhatIsShort- False -> solveThenFetch- where- wholeProject = ["--enable-tests", "--enable-benchmarks"]- tryWholeProject args =- cabal (args <> wholeProject) >>= \case- Right () -> pure (Right ())- Left _ -> cabal args- fetch- | isTrue downloading = tryWholeProject ["build", "all", "--only-download"]- | otherwise = pure (Right ())- fetchWhatIsShort =- readBuildPlan (planPathFor projectDir) >>= \case- Left _ -> pure (Right ())- Right plan -> do- short <- fmap ppName <$> sourcesShortOf caching plan- refused <- fetchWasFutileFor futility- if null short || all (`elem` refused) short- then pure (Right ())- else- fetch >>= \case- Left err -> pure (Left err)- Right () -> do- left <- sourcesShortOf caching plan- rememberFutileFetch futility (fmap ppName left)- pure (Right ())- solveThenFetch =- tryWholeProject ["build", "all", "--dry-run"] >>= \case- Left err -> pure (Left err)- Right () ->- checkReadiness caching wanted projectDir >>= \case- SourcesMissing _ -> fetch- PlanNarrow _ -> rememberFutileSolve futility >> fetchWhatIsShort- _ -> pure (Right ())---- | Run @cabal@ in a project directory, letting it speak for itself.-runCabal :: FilePath -> [String] -> IO (Either Text ())-runCabal projectDir args = quietly (Left "could not run cabal") $ do- hFlush stderr- -- A duplicate because 'createProcess' closes the handle it is given once- -- the child has it, and closing the real standard error would leave- -- nothing to report the failure on.- passed <- hDuplicate stderr- (_, _, _, running) <-- createProcess- (proc "cabal" args)- { cwd = Just projectDir,- std_out = UseHandle passed,- std_err = Inherit- }- code <- waitForProcess running- pure $ case code of- ExitSuccess -> Right ()- _ -> Left ("cabal " <> T.unwords (fmap T.pack args) <> " failed; see above")---- | Fetch the sources of a trusted plan's dependencies that are neither--- installed nor fetched already, at the versions the plan names.-fetchUninstalled ::- -- | Whether to use the cache.- Choice "useCache" ->- -- | The project the plan is for.- FilePath ->- -- | The build plan to use.- BuildPlan ->- IO ()-fetchUninstalled caching projectDir plan =- sourcesShortOf caching plan >>= \case- [] -> pure ()- short ->- void . runCabal projectDir $- "fetch"- : "--no-dependencies"- : [T.unpack (ppName p <> "-" <> ppVersion p) | p <- short]---- | Get a plan that is safe to use, doing whatever @cabal@ work is needed.-loadPlan ::- -- | Whether to use the cache.- Choice "useCache" ->- -- | Whether to download what is missing.- Choice "download" ->- -- | The components the run is about to format, so that a plan which says- -- nothing about them is solved again rather than trusted.- [PlanComponent] ->- -- | The project whose plan it is.- FilePath ->- IO (Either Text BuildPlan)-loadPlan caching downloading wanted projectDir = do- readiness <- checkReadiness caching wanted projectDir- prepare caching downloading wanted projectDir readiness >>= \case- Left err -> pure (Left err)- _ -> readBuildPlan (planPathFor projectDir)---- | Every planned package whose source could be in the package cache, with--- where that would be.-plannedTarballs :: BuildPlan -> IO [(PlanPackage, FilePath)]-plannedTarballs plan = do- cacheRoot <- packageCacheRoot- repos <- quietly [] (Data.List.sort <$> listDirectory cacheRoot)- traverse- (\p -> (,) p <$> tarballFor cacheRoot repos p)- [p | p <- bpPackages plan, not (isLocal p)]- where- isLocal p = case ppSource p of- LocalPackage _ -> True- CheckedOut _ -> True- _ -> False---- | Where @cabal@ keeps downloaded package sources, one directory per--- repository it downloads from.-packageCacheRoot :: IO FilePath-packageCacheRoot =- readProgramOutput- "cabal"- ["path", "--remote-repo-cache", "--output-format=json"]- >>= \case- Just said | Just dir <- remoteRepoCacheIn said -> pure dir- _ -> guessedPackageCacheRoot---- | The package cache directory, out of what @cabal path@ printed.-remoteRepoCacheIn :: Text -> Maybe FilePath-remoteRepoCacheIn said = do- spoken <-- listToMaybe $- reverse (filter (not . T.null) (fmap T.strip (T.lines said)))- value <- decodeStrict (T.encodeUtf8 spoken)- parseMaybe (withObject "cabal path" (.: "remote-repo-cache")) value---- | Where @cabal@ probably keeps its downloaded packages.-guessedPackageCacheRoot :: IO FilePath-guessedPackageCacheRoot =- lookupEnv "CABAL_DIR" >>= \case- Just dir -> pure (dir </> "packages")- Nothing -> do- places <- cabalDirs- found <- filterM holdsAnIndex (toList places)- pure (fromMaybe (NE.head places) (listToMaybe found))- where- holdsAnIndex dir =- quietly False (doesFileExist (dir </> hackage </> "01-index.tar"))- hackage = "hackage.haskell.org"---- | Every directory @cabal@ could be keeping a package cache in, the--- platform's own default first.-cabalDirs :: IO (NonEmpty FilePath)-cabalDirs = do- appData <- getAppUserDataDirectory "cabal"- xdg <- quietly Nothing (Just <$> getXdgDirectory XdgCache "cabal")- pure . fmap (</> "packages") $ case xdg of- Just dir | not onWindows -> dir :| [appData]- Just dir -> appData :| [dir]- Nothing -> appData :| []---- | Whether this is a Windows build, for the places that differ there.-onWindows :: Bool-onWindows = System.Info.os == "mingw32"---- | The repository @cabal@ would have kept a package's sources under.-hackageByDefault :: FilePath-hackageByDefault = "hackage.haskell.org"---- | Where a package's source tarball is, or where fetching would put it.-tarballFor :: FilePath -> [FilePath] -> PlanPackage -> IO FilePath-tarballFor cacheRoot repos p = case provenanceOf p of- RepoFromDirectory dir -> pure (dir </> flat)- RepoDownloaded uri -> searched (hostOf uri)- RepoNoProvenance -> searched Nothing- where- flat = T.unpack (ppName p <> "-" <> ppVersion p <> ".tar.gz")- under repo =- cacheRoot- </> repo- </> T.unpack (ppName p)- </> T.unpack (ppVersion p)- </> flat- searched preferred = do- let first' = fromMaybe hackageByDefault preferred- rest = filter (/= first') repos- found <- filterM doesFileExist (fmap under (first' : rest))- pure (fromMaybe (under first') (listToMaybe found))---- | Which repository a package came from, where it came from one.-provenanceOf :: PlanPackage -> RepoProvenance-provenanceOf p = case ppSource p of- RepoPackage _ repo -> repo- _ -> RepoNoProvenance---- | The host a URI names, which is what @cabal@ conventionally calls the--- repository that lives there.-hostOf :: Text -> Maybe FilePath-hostOf uri = case T.breakOn "//" uri of- (_, rest)- | not (T.null rest),- host <- T.takeWhile (/= '/') (T.drop 2 rest),- not (T.null host) ->- Just (T.unpack host)- _ -> Nothing--------------------------------------------------------------------------------- Resolving---- | Where a module's fixities can be read from.-data Route- = -- | The compiled interface the package database points at. Cheap, and- -- authoritative where it exists, since it is the compiler's own account- -- of what it settled on.- FromInterface- | -- | The module's source, out of the package's tarball in Cabal's- -- package cache. Slower, and the only route for a package that is- -- planned but not built.- FromSource- deriving (Eq, Show)---- | What can be asked about a module, once a plan says where to look.-data Resolver = Resolver- { -- | What a module exports, with 'Nothing' for one that could not be- -- read, which is not the same as its having no operators; see- -- 'Tilia.Fixity.resolveScope' for why the difference has to survive.- askFixities :: Text -> IO (Maybe (Fixities)),- -- | What a module keeps under each of its names, for the sake of a- -- @T(..)@ in an import list.- askChildren :: Text -> IO (Map OpName (Set OpName)),- -- | The operators an unread module's export list names, asked only of- -- the modules 'askFixities' gave up on, and what keeps a module that- -- plainly has no such operator from being blamed for one.- askExportNames :: Text -> IO (Maybe (Set OpName)),- -- | The modules reading a module went through before giving up, the one- -- it gave up on last. Asked only of the modules 'askFixities' gave up- -- on, and only so that a message can name the exact problematic module- -- rather than the import that happens to sit above it.- askChain :: Text -> IO [Text]- }---- | Build a new 'Resolver'.------ Answers are remembered on disk between runs by "Tilia.Fixity.Cache", so a--- package is decompressed and parsed once per machine rather than once per--- file.-newResolver ::- -- | The build plan to use.- BuildPlan ->- IO Resolver-newResolver = newResolverVia (Do #useCache) [FromInterface, FromSource]---- | 'newResolver', restricted to the routes given.-newResolverVia ::- -- | Whether to use the cache.- Choice "useCache" ->- -- | Which readings to try, in order.- [Route] ->- -- | The build plan to use.- BuildPlan ->- IO Resolver-newResolverVia caching routes plan = do- tarballs <-- if FromSource `elem` routes- then plannedTarballs plan- else pure []- cache <- openCache caching =<< tokenForBuildPlan plan- installed <- getInstalledPackages cache- index <- buildModuleIndex cache installed tarballs- let interfaces = interfaceIndex installed- local <- localModules plan- memo <- newIORef Map.empty- childrenRead <- newIORef Map.empty- askPackage <- newPackageReader- extensionsRead <- newIORef Map.empty- exportsRead <- newIORef Map.empty- interfacesRead <- newIORef Map.empty- reading <- newQSem =<< getNumCapabilities- let interfaceOf modName = do- slot <- newEmptyMVar- claimed <-- atomicModifyIORef' interfacesRead $ \m -> case Map.lookup modName m of- Just other -> (m, Left other)- Nothing -> (Map.insert modName slot m, Right slot)- case claimed of- Left other -> readMVar other- Right mine -> do- found <- case Map.lookup modName interfaces of- Nothing -> pure Nothing- Just (_, path) ->- bracket_ (waitQSem reading) (signalQSem reading) $- readInterface modName path- -- Being listed is not the same as being readable: @ghc-pkg@- -- names @GHC.Prim@ among @ghc-prim@'s modules and there is no- -- file at the path that implies. So the table answers for a- -- module with nothing to read, however it came to have nothing.- let interface = case found of- Just _ -> found- Nothing -> asInterface <$> Map.lookup modName builtinFixities- putMVar mine interface- pure interface- let workings =- Workings- { wkRoutes = routes,- wkCache = cache,- wkLocal = local,- wkIndex = index,- wkInterfaces = interfaces,- wkInterfaceOf = interfaceOf,- wkReach = reach,- wkReachChildren = children,- wkReachExports = exports,- wkExtensionsOf = extensionsOf,- wkMacros = macrosOf plan,- wkGenerated = generatedModules plan- }- resolved visiting modName = do- known <- readIORef memo- case Map.lookup modName known of- Just answer -> pure answer- Nothing -> do- answer <- resolveModule workings visiting modName- atomicModifyIORef' memo (\m -> (Map.insert modName answer m, ()))- pure answer- reach visiting modName- | modName `Set.member` visiting = pure Nothing- | otherwise = fixitiesEstablished <$> resolved visiting modName- chain visiting = go Set.empty- where- go seen modName- | modName `Set.member` seen = pure []- | otherwise =- resolved visiting modName >>= \case- Unreadable (Just below) ->- (below :) <$> go (Set.insert modName seen) below- _ -> pure []- exports visiting modName- | modName `Set.member` visiting = pure Nothing- | otherwise = do- seen <- readIORef exportsRead- case Map.lookup modName seen of- Just names -> pure names- Nothing -> do- names <- exportNamesOfModule workings visiting modName- atomicModifyIORef' exportsRead (\m -> (Map.insert modName names m, ()))- pure names- extensionsOf modName- | Just path <- Map.lookup modName local =- either (const []) id <$> askPackage path- | Just (package, tarball) <- Map.lookup modName index = do- seen <- readIORef extensionsRead- case Map.lookup package seen of- Just extensions -> pure extensions- Nothing -> do- extensions <- fromTarball tarball- atomicModifyIORef' extensionsRead (\m -> (Map.insert package extensions m, ()))- pure extensions- | otherwise = pure []- fromTarball tarball =- quietly [] $ do- bytes <- BL.readFile tarball- pure (foldMap declaredExtensions (cabalFileInArchive (Tar.read (GZip.decompress bytes))))- children visiting modName- | modName `Set.member` visiting = pure Map.empty- | otherwise = do- seen <- readIORef childrenRead- case Map.lookup modName seen of- Just kept -> pure kept- Nothing -> do- kept <- childrenOfModule workings visiting modName- atomicModifyIORef' childrenRead (\m -> (Map.insert modName kept m, ()))- pure kept- pure- Resolver- { askFixities = reach Set.empty,- askChildren = children Set.empty,- askExportNames = exports Set.empty,- askChain = chain Set.empty- }---- | The operators a module's export list names, following what it--- reexports.------ Asked only about modules whose fixities could not be established, and--- only to decide which of them an unsettled operator can be blamed on. A--- module that hands on one nobody could read answers 'Nothing'; one with no--- export list exports what it declares, which is every fixity it could--- supply.-exportNamesOfModule :: Workings -> Set Text -> Text -> IO (Maybe (Set OpName))-exportNamesOfModule- Workings{wkCache, wkLocal, wkIndex, wkReachChildren, wkReachExports, wkMacros}- visiting- modName- | Just path <- Map.lookup modName wkLocal,- writtenForHsc path =- pure (Just (hscSupplies modName))- | Just path <- Map.lookup modName wkLocal = namesIn =<< readFileText path- | Just (package, tarball) <- Map.lookup modName wkIndex =- remembered package >>= \case- Just answer -> pure (exportedNames answer)- Nothing ->- readModule tarball modName >>= \case- Nothing -> pure Nothing- Just ForHsc -> do- let names = Just (hscSupplies modName)- store package (asExported names)- pure names- Just (Haskell text) -> do- names <- namesIn (Just text)- store package (asExported names)- pure names- | otherwise = pure Nothing- where- remembered package = case wkCache of- Nothing -> pure Nothing- Just c -> cachedExportNames c package modName- store package answer = case wkCache of- Nothing -> pure ()- Just c -> storeExportNames c package modName answer- namesIn text = case parsedLeaves =<< text of- Nothing -> pure Nothing- Just modules ->- fmap Set.unions . sequence <$> traverse readOne modules- readOne (implicitPrelude, hsModule) =- exportNamesWithReexports- implicitPrelude- (wkReachExports visiting')- (wkReachChildren visiting')- modName- hsModule- visiting' = Set.insert modName visiting- parsedLeaves = configurationsOf wkMacros Nothing modName---- | What a module keeps under each of its names, so that a @T(..)@ in an--- import list can be told what it brings in.-childrenOfModule :: Workings -> Set Text -> Text -> IO (Map OpName (Set OpName))-childrenOfModule- Workings- { wkRoutes,- wkCache,- wkLocal,- wkIndex,- wkInterfaces,- wkInterfaceOf,- wkReachChildren,- wkExtensionsOf,- wkMacros- }- visiting- modName- | Just path <- Map.lookup modName wkLocal,- writtenForHsc path =- pure Map.empty- | Just path <- Map.lookup modName wkLocal =- readFileText path >>= \case- Nothing -> pure Map.empty- Just text -> inSource text- | otherwise = firstAnswer (fmap taking wkRoutes)- where- taking = \case- FromInterface -> case Map.lookup modName wkInterfaces of- Nothing -> pure Nothing- Just (key, _) -> keptUnder key outOfInterface- FromSource -> case Map.lookup modName wkIndex of- Nothing -> pure Nothing- Just (package, tarball) ->- keptUnder package $- readModule tarball modName >>= \case- Nothing -> pure Nothing- Just ForHsc -> pure (Just Map.empty)- Just (Haskell text) -> Just <$> inSource text- firstAnswer [] = pure Map.empty- firstAnswer (route : rest) =- route >>= \case- Just kept -> pure kept- Nothing -> firstAnswer rest- keptUnder package readIt =- remembered package >>= \case- Just kept -> pure (Just kept)- Nothing -> do- kept <- readIt- traverse_ (store package) kept- pure kept- remembered package = case wkCache of- Nothing -> pure Nothing- Just c -> cachedChildren c package modName- store package kept = case wkCache of- Nothing -> pure ()- Just c -> storeChildren c package modName kept- outOfInterface = fmap interfaceChildren <$> wkInterfaceOf modName- inSource text = do- extensions <- wkExtensionsOf modName- case parsedLeaves extensions text of- Nothing -> pure Map.empty- Just modules ->- Map.unionsWith Set.union- <$> traverse readOne modules- readOne (implicitPrelude, hsModule) =- childrenWithReexports- implicitPrelude- (wkReachChildren visiting')- modName- hsModule- visiting' = Set.insert modName visiting- parsedLeaves extensions = configurationsOf wkMacros (Just extensions) modName---- | Work out what a module can see, using a resolver to reach its imports.------ This is the join between the pure half of "Tilia.Fixity" and the half--- that touches the disk: the imports are resolved first, and the scope is--- then computed from the answers. Note that an import the resolver could--- not read arrives as 'Nothing' and stays 'Nothing', which is what lets--- 'Tilia.Fixity.lookupFixity' distinguish a conclusion from a guess.-scopeFor ::- -- | What can be asked about the modules it imports.- Resolver ->- -- | Whether @ImplicitPrelude@ is on, which the module's own pragmas- -- and its package's @default-extensions@ decide between them.- Choice "implicitPrelude" ->- -- | The module whose scope is wanted, already parsed.- HsModule GhcPs ->- -- | Everything that module can see, and what it could not find out.- IO Scope-scopeFor resolver implicitPrelude hsModule = do- let imports = moduleImports implicitPrelude hsModule- answers <- inParallel (\m -> (m,) <$> askFixities resolver m) (fmap importModule imports)- let table = Map.fromList answers- unread = [m | (m, Nothing) <- answers]- names <- Map.fromList <$> inParallel (\m -> (m,) <$> askExportNames resolver m) unread- chains <- Map.fromList <$> inParallel (\m -> (m,) <$> askChain resolver m) unread- kept <-- Map.fromList- <$> inParallel- (\m -> (m,) <$> askChildren resolver m)- (Set.toList (Set.fromList (fmap importModule (filter expands imports))))- pure $- resolveScope- implicitPrelude- KnownModules- { knownFixities = \m -> Map.findWithDefault Nothing m table,- knownChildren = \m -> Map.findWithDefault Map.empty m kept,- knownExportNames = \m -> Map.findWithDefault Nothing m names,- knownChain = \m -> Map.findWithDefault [] m chains- }- hsModule- where- expands i = case importNames i of- Nothing -> False- Just (_, items) -> any isAll items- isAll = \case- ImportedAll _ -> True- _ -> False---- | Everything a resolver consults, and the way back into it.------ None of it changes from one module to the next, which is why--- 'newResolverVia' builds it once and hands it over whole. What comes back--- out of that is the 'Resolver'; this is what is behind it.-data Workings = Workings- { -- | Which readings to try, in the order given.- wkRoutes :: [Route],- -- | Where to remember answers between runs.- wkCache :: Maybe Cache,- -- | The modules of the project's own packages, which are read straight- -- from disk rather than out of an archive.- wkLocal :: Map Text FilePath,- -- | Which package holds each module, and the tarball to find it in; the- -- package is the cache key, which carries the hash the tarball was- -- verified against.- wkIndex :: Map Text (Text, FilePath),- -- | What to file an answer read out of each module's interface under.- wkInterfaces :: Map Text (Text, FilePath),- -- | A module's interface, read at most once a run.- wkInterfaceOf :: Text -> IO (Maybe Interface),- -- | How to reach another module. Tied back on itself by- -- 'newResolverVia', so that the memo it keeps covers the recursive- -- calls too.- wkReach :: Set Text -> Text -> IO (Maybe (Fixities)),- -- | How to reach another module for what its names carry with them,- -- tied back the same way and against a visiting set of its own.- wkReachChildren :: Set Text -> Text -> IO (Map OpName (Set OpName)),- -- | How to reach another module for what its export list names, tied- -- back the same way again.- wkReachExports :: Set Text -> Text -> IO (Maybe (Set OpName)),- -- | What extensions the package a module belongs to puts in force.- wkExtensionsOf :: Text -> IO [Extension],- -- | Known macro expansions.- wkMacros :: Macros,- -- | The modules @cabal@ writes itself, which are therefore in no- -- package's sources. See 'generatedModules'.- wkGenerated :: Set Text- }---- | Where a module's fixities come from, in order of cost.-resolveModule ::- -- | Where to look, and how to get back to the resolver.- Workings ->- -- | Modules currently being resolved further up the call chain.- Set Text ->- -- | The module to resolve.- Text ->- -- | Its operator fixities, or, where they could not be established, the- -- module below it that stopped us.- IO Established-resolveModule- Workings- { wkRoutes,- wkCache,- wkLocal,- wkIndex,- wkInterfaces,- wkInterfaceOf,- wkReach,- wkReachChildren,- wkExtensionsOf,- wkMacros,- wkGenerated- }- visiting- modName- | Just builtin <- Map.lookup modName builtinFixities = pure (Declares builtin)- | Just path <- Map.lookup modName wkLocal,- writtenForHsc path =- pure (hscDeclares modName)- | Just path <- Map.lookup modName wkLocal =- readFileText path >>= \case- Nothing -> pure (Unreadable Nothing)- Just source -> do- extensions <- wkExtensionsOf modName- fromText- wkMacros- extensions- (wkReach visiting')- (wkReachChildren visiting')- visiting'- source- modName- | otherwise = answered <$> firstAnswer (fmap taking wkRoutes)- where- visiting' = Set.insert modName visiting-- taking = \case- FromInterface -> viaInterface- FromSource -> viaArchive-- firstAnswer = go Nothing- where- go blamed [] = pure (Unreadable blamed)- go blamed (route : rest) =- route >>= \case- Just (Declares fixities) -> pure (Declares fixities)- Just (Unreadable below) -> go (blamed <|> below) rest- Nothing -> go blamed rest-- viaInterface = case Map.lookup modName wkInterfaces of- Nothing -> pure Nothing- Just (key, _) ->- cachedFor key >>= \case- Just remembered -> pure (Just remembered)- Nothing -> do- established <- fromInterface wkInterfaceOf modName- storeFor key established- pure (Just established)-- viaArchive = case Map.lookup modName wkIndex of- Nothing -> pure Nothing- Just (package, tarball) ->- cachedFor package >>= \case- Just remembered -> pure (Just remembered)- Nothing -> do- extensions <- wkExtensionsOf modName- fromSource- wkMacros- extensions- (wkReach visiting')- (wkReachChildren visiting')- visiting'- tarball- modName- >>= \case- NoArchive -> pure Nothing- FromArchive established -> do- storeFor package established- pure (Just established)-- answered = \case- Declares fixities -> Declares fixities- Unreadable below- | Set.member modName wkGenerated -> Declares Map.empty- | otherwise -> maybe (Unreadable below) Declares (byHand modName)- byHand = fmap inBothNamespaces . (`Map.lookup` byHandFixities)- cachedFor package = case wkCache of- Nothing -> pure Nothing- Just c -> cachedFixities c package modName- storeFor package fixities = case wkCache of- Nothing -> pure ()- Just c -> storeFixities c package modName fixities---- | Which package and tarball holds each module.-buildModuleIndex ::- -- | Where to remember each package's module list, if anywhere.- Maybe Cache ->- -- | What the compiler says is installed. Empty if @ghc-pkg@ could not be- -- run, in which case every package falls back to its @.cabal@ file.- [InstalledPackage] ->- -- | Every package that might have a tarball, and where it would be.- [(PlanPackage, FilePath)] ->- -- | For each module, the package that exposes it (as a cache key) and- -- the tarball holding its source.- IO (Map Text (Text, FilePath))-buildModuleIndex cache installed tarballs =- Map.fromListWith (\_ first' -> first') . concat <$> traverse one tarballs- where- byNameVersion =- Map.fromList [((ipName i, ipVersion i), ipModules i) | i <- installed]- one (p, tarball) = do- let key = cacheKey p- let exposed = Map.lookup (ppName p, ppVersion p) byNameVersion- held <- fromCabalFile cache key tarball p- let modules = case (exposed, held) of- (Nothing, Nothing) -> []- (a, b) -> concat (catMaybes [a, b])- pure [(m, (key, tarball)) | m <- modules]---- | Where each installed module's compiled interface is.-interfaceIndex :: [InstalledPackage] -> Map Text (Text, FilePath)-interfaceIndex installed =- Map.fromListWith- (\_ first' -> first')- [ (m, (key, dir </> T.unpack (T.replace "." "/" m) <> ".hi"))- | i <- installed,- dir <- ipImportDirs i,- -- Bound out here so that the directory is hashed once rather than- -- once for each of the modules found in it.- let key = keyFor dir,- m <- ipModules i- ]- where- keyFor dir =- "interface-"- <> T.take 24 (T.decodeUtf8Lenient (B16.encode (SHA256.hash (T.encodeUtf8 (T.pack dir)))))---- | Present a fixity map as an 'Interface'.-asInterface :: Fixities -> Interface-asInterface fixities =- Interface- { interfaceDeclares = fixities,- interfaceReexports = [],- interfaceChildren = Map.empty- }---- | The fixities a compiled interface reports, and those it passes on.-fromInterface ::- -- | A module's interface, if it has one.- (Text -> IO (Maybe Interface)) ->- -- | The module to read.- Text ->- IO Established-fromInterface interfaceOf modName =- interfaceOf modName >>= \case- Nothing -> pure (Unreadable Nothing)- Just iface -> do- declarers <- inParallel asked (distinct (fmap fst (interfaceReexports iface)))- pure $ case [m | (m, Nothing) <- declarers] of- (m : _) -> Unreadable (Just m)- [] ->- Declares . Map.union (interfaceDeclares iface) . Map.unions $- [ Map.filterWithKey (\(_, o) _ -> o == op) (interfaceDeclares declarer)- | (m, op) <- interfaceReexports iface,- Just (Just declarer) <- [lookup m declarers]- ]- where- asked m = do- interface <- interfaceOf m- pure (m, interface)- distinct = Map.keys . Map.fromList . fmap (,())---- | A package's module list from the @.cabal@ file in its tarball.-fromCabalFile ::- -- | Where to remember the answer, if anywhere.- Maybe Cache ->- -- | What to file it under. Carries the hash the tarball was verified- -- against, so a changed tarball misses rather than matching stale data.- Text ->- -- | The tarball to read the @.cabal@ file out of.- FilePath ->- -- | The package it belongs to, consulted for the hash to verify against.- PlanPackage ->- -- | The modules it exposes, or 'Nothing' if the tarball is absent, fails- -- verification, or holds no @.cabal@ file.- IO (Maybe [Text])-fromCabalFile cache key tarball p = do- remembered <- case cache of- Nothing -> pure Nothing- Just c -> cachedModules c key- case remembered of- Just ms -> pure (Just ms)- Nothing ->- verified p tarball >>= \case- False -> pure Nothing- True ->- packageModules tarball >>= \case- Nothing -> pure Nothing- Just ms -> do- case cache of- Nothing -> pure ()- Just c -> storeModules c key ms- pure (Just ms)---- | How a package's cached answers are filed.-cacheKey :: PlanPackage -> Text-cacheKey p =- ppName p <> "-" <> ppVersion p <> maybe "" (("-" <>) . T.take 16) (sourceHashOf p)---- | Does the tarball hash to what the plan says it should?-verified :: PlanPackage -> FilePath -> IO Bool-verified p tarball = case sourceHashOf p of- Nothing -> pure True- Just expected ->- quietly False $ do- actual <- sha256OfFile tarball- pure (actual == T.toLower expected)---- | The SHA-256 of a file, as lower-case hex.-sha256OfFile :: FilePath -> IO Text-sha256OfFile path = do- bytes <- BL.readFile path- pure (T.decodeUtf8Lenient (B16.encode (SHA256.hashlazy bytes)))---- | Read a module's fixities out of a tarball, following re-exports.-fromSource ::- -- | What the plan settles about its conditionals.- Macros ->- -- | What the module's package puts in force, before its own pragmas.- [Extension] ->- -- | How to reach another module, for chasing re-exports. This is- -- 'resolveModule' tied back on itself, with the visiting set already- -- extended.- (Text -> IO (Maybe (Fixities))) ->- -- | How to reach another module for what its names carry with them.- (Text -> IO (Map OpName (Set OpName))) ->- -- | Modules currently being resolved, passed through so that a- -- re-export chain cannot loop.- Set Text ->- -- | The tarball holding this module's source.- FilePath ->- -- | The module to read.- Text ->- -- | What it declares, including what it only reexports, and whether that- -- is worth remembering.- IO Reading-fromSource macros extensions reach reachChildren visiting tarball modName =- doesFileExist tarball >>= \case- False -> pure NoArchive- True ->- readModule tarball modName >>= \case- Nothing -> pure (FromArchive (Unreadable Nothing))- Just ForHsc -> pure (FromArchive (hscDeclares modName))- Just (Haskell source) ->- FromArchive- <$> fromText macros extensions reach reachChildren visiting source modName---- | What came of looking for a module in an archive.-data Reading- = -- | The archive was there, and this is what reading it established.- FromArchive Established- | -- | There was no archive to open.- NoArchive---- | The fixities a module's text declares and passes on.-fromText ::- -- | What the plan settles about its conditionals.- Macros ->- -- | What the module's package puts in force, before its own pragmas.- [Extension] ->- -- | How to reach another module, for chasing re-exports. This is- -- 'resolveModule' tied back on itself, with the visiting set already- -- extended.- (Text -> IO (Maybe (Fixities))) ->- -- | How to reach another module for what its names carry with them.- (Text -> IO (Map OpName (Set OpName))) ->- -- | Modules currently being resolved, passed through so that a re-export- -- chain cannot loop.- Set Text ->- -- | The module's source.- Text ->- -- | Its name.- Text ->- IO Established-fromText macros extensions reach reachChildren visiting source modName =- case configurationsOf macros (Just extensions) modName source of- Nothing -> pure (Unreadable Nothing)- Just modules ->- agreeing <$> traverse readOne modules- where- readOne (implicitPrelude, hsModule) =- withReexports- implicitPrelude- reach- reachChildren- visiting- modName- hsModule---- | One answer from every configuration that could be read, if they agree.------ A module may declare a fixity in one configuration and a different one in--- another. Which of them holds depends on how the module is compiled, which--- is not ours to decide, so disagreement is not an answer. Agreement across--- the ones we could read is one, and a stronger one than the blanked text--- could give.------ A configuration whose imports could not be resolved is passed over rather--- than counted against the rest, because almost every one of those is a--- branch meant for a different platform.-agreeing :: NonEmpty Established -> Established-agreeing answers = case [fixities | Declares fixities <- toList answers] of- [] -> Unreadable (listToMaybe (catMaybes [below | Unreadable below <- toList answers]))- readable ->- maybe (Unreadable Nothing) Declares (foldM together Map.empty readable)- where- together settled found- | and (Map.intersectionWith (==) settled found) = Just (Map.union settled found)- | otherwise = Nothing---- | Where each module that lives in a directory rather than an archive is.-localModules :: BuildPlan -> IO (Map Text FilePath)-localModules plan =- Map.unions <$> traverse forPackage (concatMap directoryOf (bpPackages plan))- where- directoryOf p = case ppSource p of- LocalPackage dir -> [dir]- CheckedOut dir -> [dir]- _ -> []- forPackage dir = quietly Map.empty $ do- entries <- listDirectory dir- case filter (".cabal" `isSuffixOf`) entries of- [] -> pure Map.empty- (cabalFile : _) -> do- contents <- readFileText (dir </> cabalFile)- case contents of- Nothing -> pure Map.empty- Just text ->- Map.fromList . concat- <$> traverse (locate dir (sourceDirs text)) (containedModules text)- locate dir dirs m = do- found <-- filterM- doesFileExist- [ dir </> T.unpack d </> modulePath m ending- | d <- dirs,- ending <- moduleEndings- ]- pure [(m, path) | path <- take 1 found]-- modulePath m ending = T.unpack (T.replace "." "/" m) <> ending---- | Read a file, if it is there and is text.-readFileText :: FilePath -> IO (Maybe Text)-readFileText path = quietly Nothing $ do- there <- doesFileExist path- if there- then Just . T.decodeUtf8Lenient <$> BS.readFile path- else pure Nothing---- | What a module reexports, as well as what it declares.-withReexports ::- -- | Whether @ImplicitPrelude@ is on in the module being read.- Choice "implicitPrelude" ->- -- | How to reach another module, for names this one only passes on.- (Text -> IO (Maybe (Fixities))) ->- -- | How to reach another module for what its names carry with them,- -- which is what a @T(..)@ this module hands on amounts to.- (Text -> IO (Map OpName (Set OpName))) ->- -- | Modules currently being resolved. A candidate already in here is- -- skipped rather than followed.- Set Text ->- -- | The name this module was looked up under, used to recognise a- -- @module M@ export that refers to the module itself.- Text ->- -- | The module, already parsed.- HsModule GhcPs ->- -- | What it declares together with what it re-exports, or the module it- -- passes names on from that could not be read.- IO Established-withReexports implicitPrelude reach reachChildren visiting modName hsModule =- case moduleExports hsModule of- Nothing -> pure (Declares own)- Just items -> do- carried <- carriedNames implicitPrelude reachChildren hsModule items- let wanted = wantedNames items <> fromCarried carried- visible <-- if null wanted- then pure []- else- traverse- (\i -> (,) i <$> fromModule (importModule i))- (moduleImports implicitPrelude hsModule)- let handedOnWhole =- wantedModules implicitPrelude modName hsModule items- wholeModules <- traverse (\m -> (,) m <$> fromModule m) handedOnWhole- pure $ case stoppedAt visible wholeModules of- Just below -> Unreadable (Just below)- Nothing ->- let seen = [(i, exported) | (i, Just exported) <- visible]- whole = [exported | (_, Just exported) <- wholeModules]- passedOn =- Map.unions- [ found- | (qualifier, op) <- wanted,- found <- take 1 (from qualifier op seen)- ]- in Declares (Map.unions (own : passedOn : whole))- where- stoppedAt visible wholeModules =- listToMaybe $- [importModule i | (i, Nothing) <- visible]- <> [m | (m, Nothing) <- wholeModules]- own = declaredFixities hsModule- defined = declaredNames hsModule- wantedNames items =- [(qualifier, op) | ExportName qualifier op <- items, not (Set.member op defined)]- <> [(qualifier, op) | ExportAll qualifier op <- items, not (Set.member op defined)]- fromCarried carried =- [ (qualifier, op)- | ((qualifier, _), Just ops) <- carried,- op <- Set.toList ops,- not (Set.member op defined)- ]- from qualifier op seen =- [ found- | (i, exported) <- seen,- canSupply qualifier op i,- let found = Map.filterWithKey (\(_, o) _ -> o == op) exported,- not (Map.null found)- ]- fromModule m- | m `Set.member` visiting = pure (Just Map.empty)- | otherwise = reach m---- | What each name a module's export list hands on carries with it.-childrenWithReexports ::- -- | Whether @ImplicitPrelude@ is on in the module being read.- Choice "implicitPrelude" ->- -- | How to reach another module for what its names carry.- (Text -> IO (Map OpName (Set OpName))) ->- -- | The name this module was looked up under.- Text ->- -- | The module, already parsed.- HsModule GhcPs ->- IO (Map OpName (Set OpName))-childrenWithReexports implicitPrelude reachChildren modName hsModule =- case moduleExports hsModule of- Nothing -> pure (moduleChildren hsModule)- Just items -> do- carried <- carriedNames implicitPrelude reachChildren hsModule items- let handedOnWhole =- wantedModules implicitPrelude modName hsModule items- wholes <- traverse reachChildren handedOnWhole- pure . Map.unionsWith Set.union $- moduleChildren hsModule- : Map.fromListWith Set.union [(parent, ops) | ((_, parent), Just ops) <- carried]- : wholes---- | The operators a module's export list names, following what it--- reexports.-exportNamesWithReexports ::- -- | Whether @ImplicitPrelude@ is on in the module being read.- Choice "implicitPrelude" ->- -- | How to reach another module for what its export list names.- (Text -> IO (Maybe (Set OpName))) ->- -- | How to reach another module for what its names carry.- (Text -> IO (Map OpName (Set OpName))) ->- -- | The name this module was looked up under.- Text ->- -- | The module, already parsed.- HsModule GhcPs ->- IO (Maybe (Set OpName))-exportNamesWithReexports- implicitPrelude- reachNames- reachChildren- modName- hsModule =- case moduleExports hsModule of- Nothing -> pure (Just (Set.fromList [op | (_, op) <- Map.keys (declaredFixities hsModule)]))- Just items -> do- carried <- carriedNames implicitPrelude reachChildren hsModule items- let handedOnWhole =- wantedModules implicitPrelude modName hsModule items- wholes <- traverse reachNames handedOnWhole- pure $ do- fromWholes <- sequence wholes- fromCarried <-- traverse (\((_, parent), kids) -> Set.insert parent <$> kids) carried- pure (Set.unions (named items : declaredHere items : fromCarried <> fromWholes))- where- declared = declaredChildren hsModule- named items = Set.fromList [op | ExportName _ op <- items]- declaredHere items =- Set.unions- [ Set.insert parent kids- | ExportAll _ parent <- items,- Just kids <- [Map.lookup parent declared]- ]---- | What the types a module reexports carry with them, asked of the modules--- they could have come from.-carriedNames ::- -- | Whether @ImplicitPrelude@ is on in the module being read.- Choice "implicitPrelude" ->- -- | How to reach another module for what its export list names.- (Text -> IO (Map OpName (Set OpName))) ->- -- | The module, already parsed.- HsModule GhcPs ->- -- | Export items.- [ExportItem] ->- -- | For each reexported name, what it carries, or 'Nothing' where no- -- module that could have supplied it had anything to say about it.- IO [((Maybe Text, OpName), Maybe (Set OpName))]-carriedNames implicitPrelude reachChildren hsModule items =- traverse (\(qualifier, parent) -> ((qualifier, parent),) <$> carriedBy qualifier parent) handedOn- where- declared = declaredChildren hsModule- imports = moduleImports implicitPrelude hsModule- handedOn =- [ (qualifier, parent)- | ExportAll qualifier parent <- items,- not (Map.member parent declared)- ]- carriedBy qualifier parent = do- answers <- traverse (reachChildren . importModule) (filter (canSupply qualifier parent) imports)- pure $ case mapMaybe (Map.lookup parent) answers of- [] -> Nothing- kids -> Just (Set.unions kids)---- | Could this import have supplied a name an export list reexports?-canSupply :: Maybe Text -> OpName -> Import -> Bool-canSupply qualifier op i =- reaches && case importNames i of- Nothing -> True- Just (True, hidden) -> not (surelyNames Map.empty op hidden)- Just (False, shown) -> mightBring Map.empty op shown- where- reaches = case qualifier of- Nothing -> not (importQualified i)- Just q -> importAlias i == q---- | The modules a @module M@ export reexports whole, by their own names.-wantedModules ::- -- | Whether @ImplicitPrelude@ is on in the module being read.- Choice "implicitPrelude" ->- -- | The name this module was looked up under, so that a module handing- -- itself on under it is not chased.- Text ->- -- | The module, already parsed.- HsModule GhcPs ->- -- | Export items.- [ExportItem] ->- -- | The modules named, with an alias resolved to what it was imported- -- as, and this module itself left out.- [Text]-wantedModules implicitPrelude modName hsModule items =- Set.toList . Set.fromList $- concat [under m | ExportModule m <- items, not (isSelf m)]- where- under m = case [importModule i | i <- imports, importAlias i == m] of- [] -> [m]- aliased -> aliased- imports = moduleImports implicitPrelude hsModule- isSelf m = Just m == moduleName hsModule || m == modName---- | Every configuration the preprocessor allows of a module's text that is--- Haskell, parsed, each with whether it has the Prelude without importing--- it.-configurationsOf ::- -- | What the plan settles about the questions its conditionals ask.- Macros ->- -- | What extensions the module's package puts in force.- Maybe [Extension] ->- -- | The module's name, for the parser to put in its errors.- Text ->- -- | Its text.- Text ->- Maybe (NonEmpty (Choice "implicitPrelude", HsModule GhcPs))-configurationsOf macros extensions modName text =- NE.nonEmpty . mapMaybe parsed- =<< whatParsed (branchLeaves (withoutRuledOut macros text))- where- parsed leaf =- (,) (hasImplicitPrelude (fromMaybe [] extensions) leaf) . pmModule- <$> whatParsed (parseModule (configOf leaf) named leaf)- whatParsed = either (const Nothing) Just- configOf leaf = maybe defaultParserConfig (configFor leaf) extensions- configFor leaf exts = parserConfigFor (effectiveExtensions exts leaf)- named = T.unpack modName---- | Does this module see the Prelude without importing it?-hasImplicitPrelude :: [Extension] -> Text -> Choice "implicitPrelude"-hasImplicitPrelude extensions source =- fromBool (ImplicitPrelude `elem` effectiveExtensions extensions source)---- | Find a module inside a tarball and say what was found.-readModule :: FilePath -> Text -> IO (Maybe InArchive)-readModule tarball modName = quietly Nothing $ do- bytes <- BL.readFile tarball- let (cabal, candidates) = sweep Nothing [] (Tar.read (GZip.decompress bytes))- dirs = maybe [] sourceDirs cabal- pure (listToMaybe (mapMaybe (pick dirs candidates) moduleEndings))- where- suffix ending = "/" <> T.unpack (T.replace "." "/" modName) <> ending- suffixes = fmap suffix moduleEndings- sweep cabal found = \case- Tar.Next entry rest- | Tar.NormalFile content _ <- Tar.entryContent entry,- cabalFileAtTop (entryPosixPath entry),- Nothing <- cabal ->- sweep (Just (decode content)) found rest- | Tar.NormalFile content _ <- Tar.entryContent entry,- any (`isSuffixOf` entryPosixPath entry) suffixes ->- sweep cabal ((entryPosixPath entry, decode content) : found) rest- | otherwise -> sweep cabal found rest- _ -> (cabal, reverse found)- pick dirs candidates ending =- inArchive ending . snd- <$> listToMaybe (under sfx dirs matching <> matching)- where- sfx = suffix ending- matching = [c | c <- candidates, sfx `isSuffixOf` fst c]- under sfx dirs matching = [e | d <- dirs, e <- matching, inDir sfx d (fst e)]- inDir sfx d path- | d == "." = takeWhile (/= '/') path <> sfx == path- | otherwise = ("/" <> T.unpack d <> sfx) `isSuffixOf` path- decode = T.decodeUtf8Lenient . BL.toStrict---- | The endings a package may write a module under, in the order they are--- tried.-moduleEndings :: [String]-moduleEndings = [".hs", ".hsc"]---- | What an archive holds for a module.-data InArchive- = -- | Haskell, as the package wrote it.- Haskell Text- | -- | A module written for @hsc2hs@. Its text is not kept: there is- -- nothing to be done with it, and 'hscFixities' answers for it.- ForHsc---- | What was found under one ending amounts to.-inArchive :: String -> Text -> InArchive-inArchive ending text- | writtenForHsc ending = ForHsc- | otherwise = Haskell text---- | Is this a module @hsc2hs@ writes rather than one anybody compiles?-writtenForHsc :: FilePath -> Bool-writtenForHsc = isSuffixOf ".hsc"---- | What an @.hsc@ module declares, which is nothing unless it is named.-hscDeclares :: Text -> Established-hscDeclares modName =- Declares (maybe Map.empty inBothNamespaces (Map.lookup modName hscFixities))---- | The fixities an 'Established' holds, where it holds any.-fixitiesEstablished :: Established -> Maybe (Fixities)-fixitiesEstablished = \case- Declares fixities -> Just fixities- Unreadable _ -> Nothing---- | The operators an @.hsc@ module can supply, on the same reasoning.-hscSupplies :: Text -> Set OpName-hscSupplies modName =- maybe Set.empty Map.keysSet (Map.lookup modName hscFixities)+ newResolverWith,+ withReexports,+ scopeFor,+ )+where++import Codec.Archive.Tar qualified as Tar+import Codec.Compression.GZip qualified as GZip+import Control.Applicative ((<|>))+import Control.Concurrent+ ( MVar,+ ThreadId,+ getNumCapabilities,+ modifyMVar,+ modifyMVar_,+ myThreadId,+ newEmptyMVar,+ newMVar,+ readMVar,+ tryPutMVar,+ tryReadMVar,+ )+import Control.Concurrent.QSem (newQSem, signalQSem, waitQSem)+import Control.DeepSeq (NFData, force)+import Control.Exception (bracket_, evaluate, onException)+import Control.Monad (filterM, join, void)+import Crypto.Hash.SHA256 qualified as SHA256+import Data.Aeson+ ( FromJSON (..),+ Value,+ decodeStrict,+ eitherDecodeFileStrict,+ withObject,+ (.:),+ (.:?),+ )+import Data.Aeson.Types (parseMaybe)+import Data.ByteString qualified as BS+import Data.ByteString.Base16 qualified as B16+import Data.ByteString.Lazy qualified as BL+import Data.Choice (Choice, fromBool, isTrue, pattern Do)+import Data.Foldable (toList, traverse_)+import Data.IORef+import Data.List (isSuffixOf)+import Data.List qualified+import Data.List.NonEmpty (NonEmpty ((:|)))+import Data.List.NonEmpty qualified as NE+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map+import Data.Maybe (catMaybes, fromMaybe, isNothing, listToMaybe, mapMaybe)+import Data.Set (Set)+import Data.Set qualified as Set+import Data.Text (Text)+import Data.Text qualified as T+import Data.Text.Encoding qualified as T+import Data.Text.Read qualified as T+import Data.Unique (Unique, newUnique)+import GHC.Generics (Generic)+import GHC.Hs (HsModule)+import GHC.Hs.Extension (GhcPs)+import GHC.IO.Handle (hDuplicate)+import GHC.LanguageExtensions.Type (Extension (ImplicitPrelude))+import System.Directory+ ( XdgDirectory (XdgCache),+ doesFileExist,+ getAppUserDataDirectory,+ getModificationTime,+ getXdgDirectory,+ listDirectory,+ )+import System.Environment (lookupEnv)+import System.Exit (ExitCode (..))+import System.FilePath (isRelative, takeDirectory, (</>))+import System.IO (hClose, hFlush, stderr)+import System.Info qualified+import System.Process+ ( StdStream (CreatePipe, Inherit, UseHandle),+ createProcess,+ cwd,+ proc,+ std_err,+ std_in,+ std_out,+ waitForProcess,+ )+import Tilia.Cabal.Package (newPackageReader)+import Tilia.Cpp.Directives (branchLeaves, withoutRuledOut)+import Tilia.Cpp.Macros (Macros (..))+import Tilia.Fixity+import Tilia.Fixity.ByHand (hscFixities)+import Tilia.Fixity.Cabal+ ( cabalFileAtTop,+ containedModules,+ declaredExtensions,+ entryPosixPath,+ packageModules,+ sourceDirs,+ )+import Tilia.Fixity.Cache+import Tilia.Fixity.HiFile (primopFixities)+import Tilia.Fixity.Interface+import Tilia.Fixity.PackageDb+import Tilia.Parser+import Tilia.Pragma (effectiveExtensions)+import Tilia.Process (readProgramOutput)+import Tilia.Utils (inParallel, quietly)++----------------------------------------------------------------------------+-- The plan++-- | One package of a build plan.+data PlanPackage = PlanPackage+ { -- | Package name+ ppName :: Text,+ -- | Package version+ ppVersion :: Text,+ -- | Package source+ ppSource :: PackageSource,+ -- | Which components of the package the entry is about.+ --+ -- Usually one, because @cabal@ configures a package one component at a+ -- time and gives each its own entry. A package it cannot take apart—one+ -- with a @Custom@ build type, whose @Setup.hs@ is entitled to do as it+ -- pleases—is planned whole instead, and its entry is about every+ -- component at once.+ ppComponents :: [Text]+ }+ deriving (Eq, Show)++-- | Where a package's source is.+data PackageSource+ = -- | Already installed, so @cabal@ will not build it.+ --+ -- Not the same as "ships with the compiler", though it includes those.+ PreExisting+ | -- | A directory on this machine—the project being formatted, or a+ -- sibling of it in the same repository.+ LocalPackage FilePath+ | -- | Fetched from a repository as a tarball, with the SHA-256 the plan+ -- expects it to have and where it was fetched from.+ RepoPackage (Maybe Text) RepoProvenance+ | -- | A @source-repository-package@ we have not found the sources of.+ SourceRepo+ | -- | The same, found unpacked under the project's own @dist-newstyle@.+ CheckedOut FilePath+ deriving (Eq, Show)++-- | Which repository a package was fetched from, as far as it bears on+-- finding the tarball afterwards.+data RepoProvenance+ = -- | One @cabal@ downloads from, named by its URI. The tarball goes into+ -- the package cache, in a directory named after the repository as the+ -- configuration spells it.+ RepoDownloaded Text+ | -- | A directory of tarballs, named by @file+noindex@. Nothing is+ -- downloaded and nothing is cached: the tarball is already sitting+ -- there, beside the index @cabal@ wrote for it.+ RepoFromDirectory FilePath+ | -- | A plan that does not say. Older @cabal@ wrote nothing here, and+ -- Hackage is the only guess worth making.+ RepoNoProvenance+ deriving (Eq, Show)++-- | Is there a tarball to go and read?+isFetchable :: PlanPackage -> Bool+isFetchable p = case ppSource p of+ RepoPackage _ _ -> True+ _ -> False++-- | Every package the compiler can see.+getInstalledPackages :: Cache -> IO [InstalledPackage]+getInstalledPackages cache =+ cachedInstalled cache >>= \case+ Just packages -> pure packages+ Nothing -> do+ found <- readInstalledPackages+ storeInstalled cache found+ pure (installedPackages found)++-- | Summarize a 'BuildPlan', and the environment it will be read in, by+-- hashing over both.+tokenForBuildPlan :: BuildPlan -> IO PlanToken+tokenForBuildPlan plan = do+ environment <- compilerIdentity+ pure (tokenForEnvAndBuildPlan environment plan)++-- | Similar to 'tokenForBuildPlan', but allows passing a compiler identity+-- as an argument.+tokenForEnvAndBuildPlan :: Text -> BuildPlan -> PlanToken+tokenForEnvAndBuildPlan environment plan =+ PlanToken+ . T.take 16+ . T.decodeUtf8Lenient+ . B16.encode+ . SHA256.hash+ . T.encodeUtf8+ $ T.intercalate+ "\n"+ ( environment+ : bpCompiler plan+ : Data.List.sort (fmap cacheKey (bpPackages plan))+ )++-- | The SHA-256 the plan expects this package's tarball to have.+sourceHashOf :: PlanPackage -> Maybe Text+sourceHashOf p = case ppSource p of+ RepoPackage hash _ -> hash+ _ -> Nothing++-- | A resolved build plan.+data BuildPlan = BuildPlan+ { bpCompiler :: Text,+ bpPackages :: [PlanPackage]+ }+ deriving (Eq, Show)++instance FromJSON BuildPlan where+ parseJSON = withObject "BuildPlan" $ \o ->+ BuildPlan+ <$> o .: "compiler-id"+ <*> o .: "install-plan"++instance FromJSON PlanPackage where+ parseJSON = withObject "PlanPackage" $ \o -> do+ name <- o .: "pkg-name"+ version <- o .: "pkg-version"+ kind <- o .:? "type"+ sourceKind <- o .:? "pkg-src" >>= traverse (.: "type")+ sourcePath <- o .:? "pkg-src" >>= traverse (.:? "path")+ sourceHash <- o .:? "pkg-src-sha256"+ repo <- o .:? "pkg-src" >>= traverse (.:? "repo")+ repoKind <- traverse (traverse (.:? "type")) repo+ repoUri <- traverse (traverse (.:? "uri")) repo+ repoPath <- traverse (traverse (.:? "path")) repo+ named <- o .:? "component-name"+ whole <- o .:? "components"+ pure+ PlanPackage+ { ppName = name,+ ppVersion = version,+ ppComponents = componentsOf named whole,+ ppSource = case (kind :: Maybe Text, sourceKind :: Maybe Text) of+ (Just "pre-existing", _) -> PreExisting+ (_, Just "repo-tar") ->+ RepoPackage+ sourceHash+ ( case ( join (join repoKind) :: Maybe Text,+ join (join repoPath),+ join (join repoUri)+ ) of+ (Just "local-repo-no-index", Just dir, _) ->+ RepoFromDirectory (T.unpack dir)+ (_, _, Just uri) -> RepoDownloaded uri+ _ -> RepoNoProvenance+ )+ (_, Just "local") -> LocalPackage (maybe "" T.unpack (join sourcePath))+ (_, Just "source-repo") -> SourceRepo+ -- Anything else is treated as already present.+ _ -> PreExisting+ }++-- | The components one plan entry is about.+--+-- @cabal@ writes this two ways. An entry for a single component names it in+-- @component-name@; an entry for a package planned whole carries a+-- @components@ object instead, keyed by the very same spellings. Reading+-- only the first would leave every @Custom@ package looking like one the+-- plan says nothing about, and a run would keep asking @cabal@ to solve+-- again for components a fresh solve would file exactly where this one did.+--+-- @setup@ is dropped. It is the @Setup.hs@ program @cabal@ builds in order+-- to build the package, not a component of the package, and nothing in the+-- project will ever be formatted as part of it.+componentsOf :: Maybe Text -> Maybe (Map Text Value) -> [Text]+componentsOf named whole = case named of+ Just component -> [component]+ Nothing -> filter (/= "setup") (Map.keys (fromMaybe Map.empty whole))++-- | Read @plan.json@.+readBuildPlan :: FilePath -> IO (Either Text BuildPlan)+readBuildPlan path =+ decodePlan path >>= traverse (checkedOutIn (takeDirectory (takeDirectory path)))++-- | Read a plan that is to be trusted as up to date.+readGivenPlan ::+ -- | The project root.+ FilePath ->+ -- | The plan.+ FilePath ->+ IO (Either Text BuildPlan)+readGivenPlan root path =+ fmap (\plan -> plan{bpPackages = fmap rooted (bpPackages plan)})+ <$> decodePlan path+ where+ rooted p = case ppSource p of+ LocalPackage dir+ | isRelative dir ->+ p{ppSource = LocalPackage (root </> dir)}+ _ -> p++-- | Decode a plan, or say why it cannot be.+decodePlan :: FilePath -> IO (Either Text BuildPlan)+decodePlan path =+ doesFileExist path >>= \case+ False -> pure (Left ("no build plan at " <> T.pack path))+ True -> either (Left . T.pack) Right <$> eitherDecodeFileStrict path++-- | Find where @cabal@ unpacked each @source-repository-package@.+checkedOutIn :: FilePath -> BuildPlan -> IO BuildPlan+checkedOutIn distDir plan = do+ packages <- traverse locate (bpPackages plan)+ pure plan{bpPackages = packages}+ where+ locate p = case ppSource p of+ SourceRepo ->+ clonesOf p >>= \case+ (dir : _) -> pure p{ppSource = CheckedOut dir}+ [] -> pure p+ _ -> pure p+ clonesOf p = quietly [] $ do+ entries <- listDirectory (distDir </> "src")+ filterM+ (isThePackage p)+ [ distDir </> "src" </> e+ | e <- Data.List.sort entries,+ (ppName p <> "-") `T.isPrefixOf` T.pack e+ ]+ isThePackage p dir = quietly False $ do+ contents <- readFileText (dir </> T.unpack (ppName p) <> ".cabal")+ pure (maybe False (describes p) contents)+ describes p text =+ any (names "name:" (ppName p)) (T.lines text)+ && any (names "version:" (ppVersion p)) (T.lines text)+ names field value line = case T.stripPrefix field (T.toLower (T.strip line)) of+ Just rest -> T.strip rest == T.toLower value+ Nothing -> False++-- | The version macros a plan settles.+macrosOf :: BuildPlan -> Macros+macrosOf plan =+ mempty+ { macroVersions =+ Map.fromList+ ( [ ("MIN_VERSION_" <> underscored name, version)+ | (name, [version]) <- Map.toList (Map.map Set.toList versions)+ ]+ <> [("MIN_VERSION_GLASGOW_HASKELL", v) | v <- toList compiler]+ ),+ macroNumbers =+ Map.fromList+ [ entry+ | (major : minor : patches) <- toList compiler,+ entry <-+ [ ("__GLASGOW_HASKELL__", major * 100 + minor),+ ("__GLASGOW_HASKELL_PATCHLEVEL1__", nth 0 patches),+ ("__GLASGOW_HASKELL_PATCHLEVEL2__", nth 1 patches)+ ]+ ],+ macroUndefined =+ if null compiler+ then Set.empty+ else Set.fromList ["__MHS__", "__HUGS__"]+ }+ where+ versions =+ Map.fromListWith+ Set.union+ [ (ppName p, Set.singleton v)+ | p <- bpPackages plan,+ Just v <- [numberedVersion (ppVersion p)]+ ]+ compiler = do+ version <- T.stripPrefix "ghc-" (bpCompiler plan)+ parts <- numberedVersion version+ case parts of+ _ : _ : _ -> Just (take 4 (parts <> repeat 0))+ _ -> Nothing+ nth i xs = if i < length xs then xs !! i else 0++-- | The modules @cabal@ writes itself for a plan's packages.+generatedModules :: BuildPlan -> Set Text+generatedModules plan =+ Set.fromList+ [ prefix <> underscored (ppName p)+ | p <- bpPackages plan,+ prefix <- ["Paths_", "PackageInfo_"]+ ]++-- | A package's name as a module name spells it, which is with the hyphens+-- turned into underscores. @cabal@ does this for the version macros and for+-- the modules it generates alike.+underscored :: Text -> Text+underscored = T.map (\c -> if c == '-' then '_' else c)++-- | A version as its numbers, or 'Nothing' where any of them is not one.+numberedVersion :: Text -> Maybe [Integer]+numberedVersion = traverse number . T.splitOn "."+ where+ number part = case T.decimal part of+ Right (n, rest) | T.null rest -> Just n+ _ -> Nothing++----------------------------------------------------------------------------+-- Readiness++-- | A component of the project.+data PlanComponent = PlanComponent+ { -- | The package it belongs to.+ pcPackage :: Text,+ -- | @lib@, @exe:name@, @test:name@, @bench:name@.+ pcName :: Text+ }+ deriving (Eq, Ord, Show)++-- | A component as it would be written on the command line.+spellComponent :: PlanComponent -> Text+spellComponent c = pcPackage c <> ":" <> pcName c++-- | The components of the project's own packages that a plan covers.+plannedComponents :: BuildPlan -> [PlanComponent]+plannedComponents plan =+ [ PlanComponent (ppName p) component+ | p <- bpPackages plan,+ LocalPackage _ <- [ppSource p],+ component <- ppComponents p+ ]++-- | Whether everything the resolver needs is on disk.+data Readiness+ = -- | Nothing to do.+ Ready+ | -- | No build plan; @cabal@ has not solved this project yet.+ PlanMissing+ | -- | The plan is older than the files that determine it.+ PlanStale [FilePath]+ | -- | The plan says nothing about components the run is about to format.+ PlanNarrow [Text]+ | -- | The plan is there, and some packages have neither been downloaded+ -- nor built. The names are listed so that a caller can say what it is+ -- waiting for.+ --+ -- Built counts as having them: their interfaces provide everything the+ -- source tarball would.+ SourcesMissing [Text]+ deriving (Eq, Show)++-- | Where @cabal@ writes the plan for a project.+planPathFor :: FilePath -> FilePath+planPathFor projectDir = projectDir </> "dist-newstyle" </> "cache" </> "plan.json"++-- | Check what is missing.+--+-- One read of the plan and one @stat@ per package, so this is fast enough+-- to run before every format.+checkReadiness :: Choice "useCache" -> [PlanComponent] -> FilePath -> IO Readiness+checkReadiness caching wanted projectDir =+ readBuildPlan (planPathFor projectDir) >>= \case+ Left _ -> pure PlanMissing+ Right plan -> do+ newer <- filesNewerThanPlan plan projectDir+ let covered = plannedComponents plan+ missing = [spellComponent c | c <- wanted, c `notElem` covered]+ case (newer, missing) of+ (_ : _, _) -> pure (PlanStale newer)+ ([], _ : _) -> pure (PlanNarrow missing)+ ([], []) ->+ sourcesShortOf caching plan >>= \case+ [] -> pure Ready+ ps -> pure (SourcesMissing (fmap ppName ps))++-- | The packages the plan expects to fetch whose sources are not here.+sourcesShortOf :: Choice "useCache" -> BuildPlan -> IO [PlanPackage]+sourcesShortOf caching plan = do+ tarballs <- filter (isFetchable . fst) <$> plannedTarballs plan+ absent <- fmap fst <$> filterM (fmap not . doesFileExist . snd) tarballs+ short <-+ if null absent+ then pure []+ else do+ cache <- openCache caching =<< tokenForBuildPlan plan+ installed <- getInstalledPackages cache+ pure (filter (not . builtAlready installed) absent)+ pure short++-- | Has the compiler got this package already?+builtAlready :: [InstalledPackage] -> PlanPackage -> Bool+builtAlready installed p = any matches installed+ where+ matches i = ipName i == ppName p && ipVersion i == ppVersion p++-- | The project files that have changed since the plan was written.+filesNewerThanPlan :: BuildPlan -> FilePath -> IO [FilePath]+filesNewerThanPlan plan projectDir = quietly [] $ do+ planTime <- getModificationTime (planPathFor projectDir)+ atRoot <- quietly [] (listDirectory projectDir)+ inPackages <- concat <$> traverse cabalFilesIn (localDirs plan)+ let candidates =+ [projectDir </> f | f <- atRoot, f `elem` projectFiles]+ <> [projectDir </> f | f <- atRoot, ".cabal" `isSuffixOf` f]+ <> inPackages+ newer <- traverse (isNewerThan planTime) candidates+ pure [f | Just f <- newer]+ where+ projectFiles =+ ["cabal.project", "cabal.project.local", "cabal.project.freeze"]+ localDirs p =+ Data.List.nub [dir | LocalPackage dir <- fmap ppSource (bpPackages p)]+ cabalFilesIn dir = quietly [] $ do+ entries <- listDirectory dir+ pure [dir </> f | f <- entries, ".cabal" `isSuffixOf` f]+ isNewerThan planTime path = quietly Nothing $ do+ t <- getModificationTime path+ pure (if t > planTime then Just path else Nothing)++-- | An account of actions we know are not worth attempting.+data Futility = Futility+ { -- | Has solving this plan already been tried and left it as narrow?+ solveWasFutile :: IO Bool,+ -- | Record that a solve has been run and left it narrow, which is what+ -- 'solveWasFutile' answers from afterwards.+ rememberFutileSolve :: IO (),+ -- | The packages an earlier fetch was still short of afterwards.+ fetchWasFutileFor :: IO [Text],+ -- | Remember what a fetch left missing.+ rememberFutileFetch :: [Text] -> IO ()+ }++-- | The state when we know nothing about futile actions yet.+undiscoveredFutility :: Futility+undiscoveredFutility =+ Futility+ { solveWasFutile = pure False,+ rememberFutileSolve = pure (),+ fetchWasFutileFor = pure [],+ rememberFutileFetch = const (pure ())+ }++-- | A memory kept in the cache, under the plan the project has now.+futilityFor :: Choice "useCache" -> FilePath -> Futility+futilityFor caching projectDir =+ Futility+ { solveWasFutile = withCache False cachedFutileSolve,+ rememberFutileSolve = withCache () storeFutileSolve,+ fetchWasFutileFor = withCache [] cachedFutileFetch,+ rememberFutileFetch = \packages ->+ withCache () (`storeFutileFetch` packages)+ }+ where+ withCache fallback use =+ readBuildPlan (planPathFor projectDir) >>= \case+ Left _ -> pure fallback+ Right plan -> use =<< openCache caching =<< tokenForBuildPlan plan++-- | Do whatever is missing, given a way to run @cabal@ and a memory of what+-- earlier attempts came to.+prepareWith ::+ -- | Whether to use the cache.+ Choice "useCache" ->+ -- | Whether to download what is missing.+ Choice "download" ->+ -- | Run @cabal@ with these arguments.+ ([String] -> IO (Either Text ())) ->+ -- | What earlier attempts came to.+ Futility ->+ -- | The components the run is about to format.+ [PlanComponent] ->+ -- | The project being prepared.+ FilePath ->+ -- | What it was found to be short of.+ Readiness ->+ IO (Either Text ())+prepareWith caching downloading cabal futility wanted projectDir = \case+ Ready -> pure (Right ())+ SourcesMissing _ -> fetch+ PlanMissing -> solveThenFetch+ PlanStale _ -> solveThenFetch+ PlanNarrow _ ->+ solveWasFutile futility >>= \case+ True -> fetchWhatIsShort+ False -> solveThenFetch+ where+ wholeProject = ["--enable-tests", "--enable-benchmarks"]+ tryWholeProject args =+ cabal (args <> wholeProject) >>= \case+ Right () -> pure (Right ())+ Left _ -> cabal args+ fetch+ | isTrue downloading = tryWholeProject ["build", ":all", "--only-download"]+ | otherwise = pure (Right ())+ fetchWhatIsShort =+ readBuildPlan (planPathFor projectDir) >>= \case+ Left _ -> pure (Right ())+ Right plan -> do+ short <- fmap ppName <$> sourcesShortOf caching plan+ refused <- fetchWasFutileFor futility+ if null short || all (`elem` refused) short+ then pure (Right ())+ else+ fetch >>= \case+ Left err -> pure (Left err)+ Right () -> do+ left <- sourcesShortOf caching plan+ rememberFutileFetch futility (fmap ppName left)+ pure (Right ())+ solveThenFetch =+ tryWholeProject ["build", ":all", "--dry-run"] >>= \case+ Left err -> pure (Left err)+ Right () ->+ checkReadiness caching wanted projectDir >>= \case+ SourcesMissing _ -> fetch+ PlanNarrow _ -> rememberFutileSolve futility >> fetchWhatIsShort+ _ -> pure (Right ())++-- | Run @cabal@ in a project directory, letting it speak for itself.+runCabal :: FilePath -> [String] -> IO (Either Text ())+runCabal projectDir args = quietly (Left "could not run cabal") $ do+ hFlush stderr+ -- A duplicate because 'createProcess' closes the handle it is given once+ -- the child has it, and closing the real standard error would leave+ -- nothing to report the failure on.+ passed <- hDuplicate stderr+ -- A pipe closed at once rather than our standard input, which in an+ -- editor's process carries what the editor says to it.+ (toChild, _, _, running) <-+ createProcess+ (proc "cabal" args)+ { cwd = Just projectDir,+ std_in = CreatePipe,+ std_out = UseHandle passed,+ std_err = Inherit+ }+ traverse_ hClose toChild+ code <- waitForProcess running+ pure $ case code of+ ExitSuccess -> Right ()+ _ -> Left ("cabal " <> T.unwords (fmap T.pack args) <> " failed; see above")++-- | Fetch the sources of a trusted plan's dependencies that are neither+-- installed nor fetched already, at the versions the plan names.+fetchUninstalled ::+ -- | Whether to use the cache.+ Choice "useCache" ->+ -- | The project the plan is for.+ FilePath ->+ -- | The build plan to use.+ BuildPlan ->+ IO ()+fetchUninstalled caching projectDir plan =+ sourcesShortOf caching plan >>= \case+ [] -> pure ()+ short ->+ void . runCabal projectDir $+ "fetch"+ : "--no-dependencies"+ : [T.unpack (ppName p <> "-" <> ppVersion p) | p <- short]++-- | Get a plan that is safe to use, doing whatever @cabal@ work is needed.+loadPlan ::+ -- | Whether to use the cache.+ Choice "useCache" ->+ -- | Whether to download what is missing.+ Choice "download" ->+ -- | The components the run is about to format, so that a plan which says+ -- nothing about them is solved again rather than trusted.+ [PlanComponent] ->+ -- | The project whose plan it is.+ FilePath ->+ IO (Either Text BuildPlan)+loadPlan caching downloading wanted projectDir = do+ readiness <- checkReadiness caching wanted projectDir+ prepareWith+ caching+ downloading+ (runCabal projectDir)+ (futilityFor caching projectDir)+ wanted+ projectDir+ readiness+ >>= \case+ Left err -> pure (Left err)+ _ -> readBuildPlan (planPathFor projectDir)++-- | Every planned package whose source could be in the package cache, with+-- where that would be.+plannedTarballs :: BuildPlan -> IO [(PlanPackage, FilePath)]+plannedTarballs plan = do+ cacheRoot <- packageCacheRoot+ repos <- quietly [] (Data.List.sort <$> listDirectory cacheRoot)+ traverse+ (\p -> (,) p <$> tarballFor cacheRoot repos p)+ [p | p <- bpPackages plan, not (isLocal p)]+ where+ isLocal p = case ppSource p of+ LocalPackage _ -> True+ CheckedOut _ -> True+ _ -> False++-- | Where @cabal@ keeps downloaded package sources, one directory per+-- repository it downloads from.+packageCacheRoot :: IO FilePath+packageCacheRoot =+ readProgramOutput+ "cabal"+ ["path", "--remote-repo-cache", "--output-format=json"]+ >>= \case+ Just said | Just dir <- remoteRepoCacheIn said -> pure dir+ _ -> guessedPackageCacheRoot++-- | The package cache directory, out of what @cabal path@ printed.+remoteRepoCacheIn :: Text -> Maybe FilePath+remoteRepoCacheIn said = do+ spoken <-+ listToMaybe $+ reverse (filter (not . T.null) (fmap T.strip (T.lines said)))+ value <- decodeStrict (T.encodeUtf8 spoken)+ parseMaybe (withObject "cabal path" (.: "remote-repo-cache")) value++-- | Where @cabal@ probably keeps its downloaded packages.+guessedPackageCacheRoot :: IO FilePath+guessedPackageCacheRoot =+ lookupEnv "CABAL_DIR" >>= \case+ Just dir -> pure (dir </> "packages")+ Nothing -> do+ places <- cabalDirs+ found <- filterM holdsAnIndex (toList places)+ pure (fromMaybe (NE.head places) (listToMaybe found))+ where+ holdsAnIndex dir =+ quietly False (doesFileExist (dir </> hackage </> "01-index.tar"))+ hackage = "hackage.haskell.org"++-- | Every directory @cabal@ could be keeping a package cache in, the+-- platform's own default first.+cabalDirs :: IO (NonEmpty FilePath)+cabalDirs = do+ appData <- getAppUserDataDirectory "cabal"+ xdg <- quietly Nothing (Just <$> getXdgDirectory XdgCache "cabal")+ pure . fmap (</> "packages") $ case xdg of+ Just dir | not onWindows -> dir :| [appData]+ Just dir -> appData :| [dir]+ Nothing -> appData :| []++-- | Whether this is a Windows build, for the places that differ there.+onWindows :: Bool+onWindows = System.Info.os == "mingw32"++-- | The repository @cabal@ would have kept a package's sources under.+hackageByDefault :: FilePath+hackageByDefault = "hackage.haskell.org"++-- | Where a package's source tarball is, or where fetching would put it.+tarballFor :: FilePath -> [FilePath] -> PlanPackage -> IO FilePath+tarballFor cacheRoot repos p = case provenanceOf p of+ RepoFromDirectory dir -> pure (dir </> flat)+ RepoDownloaded uri -> searched (hostOf uri)+ RepoNoProvenance -> searched Nothing+ where+ flat = T.unpack (ppName p <> "-" <> ppVersion p <> ".tar.gz")+ under repo =+ cacheRoot+ </> repo+ </> T.unpack (ppName p)+ </> T.unpack (ppVersion p)+ </> flat+ searched preferred = do+ let first' = fromMaybe hackageByDefault preferred+ rest = filter (/= first') repos+ found <- filterM doesFileExist (fmap under (first' : rest))+ pure (fromMaybe (under first') (listToMaybe found))++-- | Which repository a package came from, where it came from one.+provenanceOf :: PlanPackage -> RepoProvenance+provenanceOf p = case ppSource p of+ RepoPackage _ repo -> repo+ _ -> RepoNoProvenance++-- | The host a URI names, which is what @cabal@ conventionally calls the+-- repository that lives there.+hostOf :: Text -> Maybe FilePath+hostOf uri = case T.breakOn "//" uri of+ (_, rest)+ | not (T.null rest),+ host <- T.takeWhile (/= '/') (T.drop 2 rest),+ not (T.null host) ->+ Just (T.unpack host)+ _ -> Nothing++----------------------------------------------------------------------------+-- Resolving++-- | Where a module's fixities can be read from.+data Route+ = -- | The compiled interface the package database points at. Cheap, and+ -- authoritative where it exists, since it is the compiler's own account+ -- of what it settled on.+ FromInterface+ | -- | The module's source, out of the package's tarball in Cabal's+ -- package cache. Slower, and the only route for a package that is+ -- planned but not built.+ FromSource+ deriving (Eq, Show)++-- | What can be asked about a module, once a plan says where to look.+newtype Resolver = Resolver+ { -- | What reading a module established about the names it exports.+ askModule :: Text -> IO Established+ }++-- | Build a new 'Resolver'.+--+-- Answers are remembered on disk between runs by "Tilia.Fixity.Cache", so a+-- package is decompressed and parsed once per machine rather than once per+-- file.+newResolver ::+ -- | The build plan to use.+ BuildPlan ->+ IO Resolver+newResolver = newResolverVia (Do #useCache) [FromInterface, FromSource]++-- | 'newResolver', restricted to the routes given.+newResolverVia ::+ -- | Whether to use the cache.+ Choice "useCache" ->+ -- | Which readings to try, in order.+ [Route] ->+ -- | The build plan to use.+ BuildPlan ->+ IO Resolver+newResolverVia caching routes plan = do+ tarballs <-+ if FromSource `elem` routes+ then plannedTarballs plan+ else pure []+ cache <- openCache caching =<< tokenForBuildPlan plan+ installed <- getInstalledPackages cache+ newResolverWith routes cache installed tarballs plan++-- | 'newResolverVia', given what it would find out from the machine.+newResolverWith ::+ -- | Which readings to try, in order.+ [Route] ->+ -- | Where to remember answers between runs.+ Cache ->+ -- | Every package the compiler can see.+ [InstalledPackage] ->+ -- | Every planned package that might have a tarball, and where it would+ -- be.+ [(PlanPackage, FilePath)] ->+ -- | The build plan to use.+ BuildPlan ->+ IO Resolver+newResolverWith routes cache installed tarballs plan = do+ index <- buildModuleIndex cache installed tarballs+ let interfaces = interfaceIndex installed+ local <- localModules plan+ flights <- newMVar (Flights Map.empty Map.empty)+ answersRead <- newMemo+ askPackage <- newPackageReader+ extensionsRead <- newMemo+ summariesRead <- newMemo+ archivesRead <- newMemo+ interfacesRead <- newMemo+ reading <- newQSem =<< getNumCapabilities+ let interfaceOf modName =+ memoized flights interfacesRead Nothing modName $+ case Map.lookup modName primopFixities of+ Just declared -> pure (Just (asInterface declared))+ Nothing -> case Map.lookup modName interfaces of+ Nothing -> pure Nothing+ Just (_, path) ->+ bracket_ (waitQSem reading) (signalQSem reading) $+ readInterface modName path+ let workings =+ Workings+ { wkRoutes = routes,+ wkCache = cache,+ wkLocal = local,+ wkIndex = index,+ wkInterfaces = interfaces,+ wkInterfaceOf = interfaceOf,+ wkReach = reach,+ wkSummariesOf = summariesOf,+ wkModuleInArchive = moduleInArchive,+ wkGenerated = generatedModules plan,+ wkReexported =+ Map.fromList [pair | i <- installed, pair <- ipReexports i]+ }+ -- The stand-in is what 'withReexports' makes of a module it is in the+ -- middle of reading.+ reach visiting modName+ | modName `Set.member` visiting = pure mempty+ | otherwise =+ memoized flights answersRead mempty modName $+ resolveModule workings visiting modName+ summariesOf modName text =+ memoized flights summariesRead Nothing modName $ do+ extensions <- extensionsOf modName+ let summarized =+ evaluate . force $+ configurationsOf+ (macrosOf plan)+ (Just extensions)+ modName+ text+ stamp =+ digestOf $+ T.intercalate "\n" [T.pack (show extensions), macrosRead, text]+ case digestOf . T.pack <$> Map.lookup modName local of+ Nothing -> summarized+ Just key ->+ join+ <$> recalled+ (cachedSummaries cache key stamp)+ (storeSummaries cache key stamp)+ (Just <$> summarized)+ macrosRead = T.pack (show (macrosOf plan))+ extensionsOf modName+ | Just path <- Map.lookup modName local =+ either (const []) id <$> askPackage path+ | Just (package, tarball) <- Map.lookup modName index =+ memoized flights extensionsRead [] package $+ foldMap declaredExtensions . (archiveCabal =<<) <$> archiveOf tarball+ | otherwise = pure []+ archiveOf tarball =+ memoized flights archivesRead Nothing (T.pack tarball) (readArchive tarball)+ moduleInArchive tarball modName = (moduleIn modName =<<) <$> archiveOf tarball+ pure Resolver{askModule = reach Set.empty}++-- | Answers filed under the names they are about, each worked out once.+data Memo v = Memo Unique (IORef (Map Text (MVar v)))++-- | An empty 'Memo'.+newMemo :: IO (Memo v)+newMemo = Memo <$> newUnique <*> newIORef Map.empty++-- | Which thread is working out which answer, and which answer each waiting+-- thread waits for, across all of a resolver's tables.+data Flights = Flights+ { flightOwners :: Map (Unique, Text) ThreadId,+ flightWaits :: Map ThreadId (Unique, Text)+ }++-- | Look an answer up in a table, working it out and filing it the first+-- time.+memoized ::+ -- | Who is working out what.+ MVar Flights ->+ -- | Where the answers are filed.+ Memo v ->+ -- | The answer for a thread that cannot wait.+ v ->+ -- | What the answer is about.+ Text ->+ -- | Work that is being memoized.+ IO v ->+ IO v+memoized flights (Memo table answers) standIn key work =+ Map.lookup key <$> readIORef answers >>= \case+ Just slot -> tryReadMVar slot >>= maybe (waitFor slot) pure+ Nothing -> do+ me <- myThreadId+ claimed <- modifyMVar flights $ \fl -> do+ filed <- readIORef answers+ case Map.lookup key filed of+ Just slot -> pure (fl, Left slot)+ Nothing -> do+ slot <- newEmptyMVar+ writeIORef answers (Map.insert key slot filed)+ pure+ ( fl{flightOwners = Map.insert (table, key) me (flightOwners fl)},+ Right slot+ )+ case claimed of+ Left slot -> waitFor slot+ Right slot -> do+ answer <- work `onException` file slot standIn+ answer <$ file slot answer+ where+ file slot answer = modifyMVar_ flights $ \fl -> do+ _ <- tryPutMVar slot answer+ pure fl{flightOwners = Map.delete (table, key) (flightOwners fl)}+ waitFor slot = do+ me <- myThreadId+ settled <- modifyMVar flights $ \fl ->+ tryReadMVar slot >>= \case+ Just answer -> pure (fl, Just answer)+ Nothing+ | waitedOnBy fl me (table, key) -> pure (fl, Just standIn)+ | otherwise ->+ pure+ ( fl{flightWaits = Map.insert me (table, key) (flightWaits fl)},+ Nothing+ )+ case settled of+ Just answer -> pure answer+ Nothing -> do+ answer <- readMVar slot+ modifyMVar_ flights $ \fl ->+ pure fl{flightWaits = Map.delete me (flightWaits fl)}+ pure answer++-- | Is this answer being worked out by the given thread, or by one that+-- waits for it, directly or through others?+waitedOnBy :: Flights -> ThreadId -> (Unique, Text) -> Bool+waitedOnBy fl me = go+ where+ go key = case Map.lookup key (flightOwners fl) of+ Nothing -> False+ Just owner+ | owner == me -> True+ | otherwise -> maybe False go (Map.lookup owner (flightWaits fl))++-- | Work out what a module can see, using a resolver to reach its imports.+--+-- This is the join between the pure half of "Tilia.Fixity" and the half+-- that touches the disk: the imports are resolved first, and the scope is+-- then computed from the answers. Note that a name an import leaves+-- unsettled stays unsettled, which is what lets 'Tilia.Fixity.lookupFixity'+-- distinguish a conclusion from a guess.+scopeFor ::+ -- | What can be asked about the modules it imports.+ Resolver ->+ -- | Whether @ImplicitPrelude@ is on, which the module's own pragmas+ -- and its package's @default-extensions@ decide between them.+ Choice "implicitPrelude" ->+ -- | The configurations of the module whose scope is wanted, already+ -- parsed.+ NonEmpty (HsModule GhcPs) ->+ -- | Everything that module can see, and what it could not find out.+ IO Scope+scopeFor resolver implicitPrelude configurations = do+ let imports = moduleImports implicitPrelude configurations+ answers <-+ inParallel+ (\m -> (m,) <$> askModule resolver m)+ (fmap importModule imports)+ let table = Map.fromList answers+ pure $+ resolveScope+ implicitPrelude+ (\m -> Map.findWithDefault unreadable m table)+ configurations++-- | Everything a resolver consults, and the way back into it.+--+-- None of it changes from one module to the next, which is why+-- 'newResolverVia' builds it once and hands it over whole. What comes back+-- out of that is the 'Resolver'; this is what is behind it.+data Workings = Workings+ { -- | Which readings to try, in the order given.+ wkRoutes :: [Route],+ -- | Where to remember answers between runs.+ wkCache :: Cache,+ -- | The modules of the project's own packages, which are read straight+ -- from disk rather than out of an archive.+ wkLocal :: Map Text FilePath,+ -- | Which package holds each module, and the tarball to find it in; the+ -- package is the cache key, which carries the hash the tarball was+ -- verified against.+ wkIndex :: Map Text (Text, FilePath),+ -- | What to file an answer read out of each module's interface under.+ wkInterfaces :: Map Text (Text, FilePath),+ -- | A module's interface, read at most once a run.+ wkInterfaceOf :: Text -> IO (Maybe Interface),+ -- | How to reach another module. Tied back on itself by+ -- 'newResolverVia', so that the memo it keeps covers the recursive+ -- calls too.+ wkReach :: Set Text -> Text -> IO Established,+ -- | What each configuration of a module says, given its text, worked+ -- out once a run.+ wkSummariesOf :: Text -> Text -> IO (Maybe (NonEmpty ModuleSummary)),+ -- | What a tarball holds for a module, each tarball read once a run.+ wkModuleInArchive :: FilePath -> Text -> IO (Maybe InArchive),+ -- | The modules @cabal@ writes itself, which are therefore in no+ -- package's sources. See 'generatedModules'.+ wkGenerated :: Set Text,+ -- | The modules an installed package exposes that another one holds,+ -- each with its name there.+ wkReexported :: Map Text Text+ }++-- | What reading a module establishes, by the cheapest route that settles+-- it.+resolveModule ::+ -- | Where to look, and how to get back to the resolver.+ Workings ->+ -- | Modules currently being resolved further up the call chain.+ Set Text ->+ -- | The module to resolve.+ Text ->+ IO Established+resolveModule+ Workings+ { wkRoutes,+ wkCache,+ wkLocal,+ wkIndex,+ wkInterfaces,+ wkInterfaceOf,+ wkReach,+ wkSummariesOf,+ wkModuleInArchive,+ wkGenerated,+ wkReexported+ }+ visiting+ modName+ | Just path <- Map.lookup modName wkLocal,+ writtenForHsc path =+ pure (hscDeclares modName)+ | Just path <- Map.lookup modName wkLocal =+ readFileText path >>= \case+ Nothing -> pure unreadable+ Just source ->+ fromSummaries (wkReach visiting') modName =<< wkSummariesOf modName source+ | Just original <- Map.lookup modName wkReexported,+ Map.notMember modName wkInterfaces =+ wkReach visiting' original+ | otherwise = answered <$> firstAnswer (fmap taking wkRoutes)+ where+ visiting' = Set.insert modName visiting++ taking = \case+ FromInterface -> viaInterface+ FromSource -> viaArchive++ -- A route that read some of the module is kept in case no later one+ -- reads all of it.+ firstAnswer = go Nothing+ where+ go partial [] = pure (fromMaybe unreadable partial)+ go partial (route : rest) =+ route >>= \case+ Just established+ | settlesEverything established -> pure established+ | established /= unreadable -> go (partial <|> Just established) rest+ _ -> go partial rest++ viaInterface = case Map.lookup modName wkInterfaces of+ Nothing -> pure Nothing+ Just (key, _) ->+ throughCache key (Just <$> fromInterface wkInterfaceOf modName)++ viaArchive = case Map.lookup modName wkIndex of+ Nothing -> pure Nothing+ Just (package, tarball) ->+ throughCache package $+ fromSource+ wkModuleInArchive+ wkSummariesOf+ (wkReach visiting')+ tarball+ modName++ answered established+ | settlesEverything established = established+ | Set.member modName wkGenerated = settledAs Map.empty established+ | otherwise = established+ throughCache key =+ recalled+ (cachedEstablished wkCache key modName)+ (storeEstablished wkCache key modName)++-- | Which package and tarball holds each module.+buildModuleIndex ::+ -- | Where to remember each package's module list.+ Cache ->+ -- | What the compiler says is installed. Empty if @ghc-pkg@ could not be+ -- run, in which case every package falls back to its @.cabal@ file.+ [InstalledPackage] ->+ -- | Every package that might have a tarball, and where it would be.+ [(PlanPackage, FilePath)] ->+ -- | For each module, the package that exposes it (as a cache key) and+ -- the tarball holding its source.+ IO (Map Text (Text, FilePath))+buildModuleIndex cache installed tarballs =+ Map.fromListWith (\_ first' -> first') . concat <$> traverse one tarballs+ where+ byNameVersion =+ Map.fromList [((ipName i, ipVersion i), ipModules i) | i <- installed]+ one (p, tarball) = do+ let key = cacheKey p+ let exposed = Map.lookup (ppName p, ppVersion p) byNameVersion+ held <- fromCabalFile cache key tarball p+ let modules = case (exposed, held) of+ (Nothing, Nothing) -> []+ (a, b) -> concat (catMaybes [a, b])+ pure [(m, (key, tarball)) | m <- modules]++-- | Where each installed module's compiled interface is.+interfaceIndex :: [InstalledPackage] -> Map Text (Text, FilePath)+interfaceIndex installed =+ Map.fromListWith+ (\_ first' -> first')+ [ (m, (key, dir </> T.unpack (T.replace "." "/" m) <> ".hi"))+ | i <- installed,+ dir <- ipImportDirs i,+ -- Bound out here so that the directory is hashed once rather than+ -- once for each of the modules found in it.+ let key = keyFor dir,+ m <- ipModules i+ ]+ where+ keyFor dir = "interface-" <> digestOf (T.pack dir)++-- | A name for some text, short enough to file something under.+digestOf :: Text -> Text+digestOf =+ T.take 24 . T.decodeUtf8Lenient . B16.encode . SHA256.hash . T.encodeUtf8++-- | Present a fixity map as an 'Interface'.+asInterface :: Fixities -> Interface+asInterface fixities =+ Interface+ { interfaceDeclares = fixities,+ interfaceReexports = [],+ interfaceMembers = Map.empty,+ interfaceExports = Nothing+ }++-- | What a compiled interface says a module exports, with the fixities of+-- what it passes on read from where each is declared.+fromInterface ::+ -- | A module's interface, if it has one.+ (Text -> IO (Maybe Interface)) ->+ -- | The module to read.+ Text ->+ IO Established+fromInterface interfaceOf modName =+ interfaceOf modName >>= \case+ Nothing -> pure unreadable+ Just iface -> do+ declarers <-+ inParallel+ asked+ (distinct (fmap fst (interfaceReexports iface)))+ let declarer m = join (lookup m declarers)+ pure+ Established+ { establishedFixities =+ Map.union (interfaceDeclares iface) . Map.unions $+ [ Map.filterWithKey+ (\(_, o) _ -> o == op)+ (interfaceDeclares declared)+ | (m, op) <- interfaceReexports iface,+ Just declared <- [declarer m]+ ],+ establishedUnsettled =+ Map.fromListWith+ Set.union+ [ ([m], Set.fromList [(InTypes, op), (InTerms, op)])+ | (m, op) <- interfaceReexports iface,+ Nothing <- [declarer m]+ ],+ establishedUntold = Set.empty,+ establishedCertain = fromMaybe mempty (interfaceExports iface),+ establishedMembers = interfaceMembers iface+ }+ where+ asked m = do+ interface <- interfaceOf m+ pure (m, interface)+ distinct = Map.keys . Map.fromList . fmap (,())++-- | A package's module list from the @.cabal@ file in its tarball.+fromCabalFile ::+ -- | Where to remember the answer.+ Cache ->+ -- | What to file it under. Carries the hash the tarball was verified+ -- against, so a changed tarball misses rather than matching stale data.+ Text ->+ -- | The tarball to read the @.cabal@ file out of.+ FilePath ->+ -- | The package it belongs to, consulted for the hash to verify against.+ PlanPackage ->+ -- | The modules it exposes, or 'Nothing' if the tarball is absent, fails+ -- verification, or holds no @.cabal@ file.+ IO (Maybe [Text])+fromCabalFile cache key tarball p =+ recalled (cachedModules cache key) (storeModules cache key) $+ verified p tarball >>= \case+ False -> pure Nothing+ True -> packageModules tarball++-- | How a package's cached answers are filed.+cacheKey :: PlanPackage -> Text+cacheKey p =+ ppName p <> "-" <> ppVersion p <> maybe "" (("-" <>) . T.take 16) (sourceHashOf p)++-- | Does the tarball hash to what the plan says it should?+verified :: PlanPackage -> FilePath -> IO Bool+verified p tarball = case sourceHashOf p of+ Nothing -> pure True+ Just expected ->+ quietly False $ do+ actual <- sha256OfFile tarball+ pure (actual == T.toLower expected)++-- | The SHA-256 of a file, as lower-case hex.+sha256OfFile :: FilePath -> IO Text+sha256OfFile path = do+ bytes <- BL.readFile path+ pure (T.decodeUtf8Lenient (B16.encode (SHA256.hashlazy bytes)))++-- | Read what a module exports out of a tarball, following re-exports.+fromSource ::+ -- | What a tarball holds for a module.+ (FilePath -> Text -> IO (Maybe InArchive)) ->+ -- | What each configuration of a module says, given its text.+ (Text -> Text -> IO (Maybe (NonEmpty ModuleSummary))) ->+ -- | How to reach another module, for chasing re-exports. This is+ -- 'resolveModule' tied back on itself, with the visiting set already+ -- extended.+ (Text -> IO Established) ->+ -- | The tarball holding this module's source.+ FilePath ->+ -- | The module to read.+ Text ->+ -- | What reading it established, or 'Nothing' if there is no archive to+ -- read it from.+ IO (Maybe Established)+fromSource moduleInArchive summariesOf reach tarball modName =+ doesFileExist tarball >>= \case+ False -> pure Nothing+ True ->+ fmap Just $+ moduleInArchive tarball modName >>= \case+ Nothing -> pure unreadable+ Just ForHsc -> pure (hscDeclares modName)+ Just (Haskell source) ->+ fromSummaries reach modName =<< summariesOf modName source++-- | What a module exports, out of what each of its configurations says.+fromSummaries ::+ -- | How to reach another module, for chasing re-exports. This is+ -- 'resolveModule' tied back on itself, with the visiting set already+ -- extended.+ (Text -> IO Established) ->+ -- | The name the module was looked up under.+ Text ->+ -- | What each configuration of it says, or 'Nothing' where none of them+ -- parses.+ Maybe (NonEmpty ModuleSummary) ->+ IO Established+fromSummaries reach modName = \case+ Nothing -> pure unreadable+ Just summaries ->+ agreeing <$> traverse (withReexports reach modName) summaries++-- | One answer from every configuration of a module that counts.+--+-- A module may declare a fixity in one configuration and a different one in+-- another. Which of them holds depends on how the module is compiled, which+-- is not ours to decide, so disagreement leaves the name unsettled.+-- Agreement across the ones that count is an answer, and a stronger one+-- than the blanked text could give.+--+-- A configuration that leaves names unsettled is passed over where another+-- settles every name, because almost every one of those is a branch meant+-- for a different platform. Where none does, every configuration counts,+-- and a name any of them leaves unsettled stays unsettled.+agreeing :: NonEmpty Established -> Established+agreeing answers =+ settledOnly+ Established+ { establishedFixities = Map.mapMaybe sole declared,+ establishedUnsettled =+ Map.unionsWith+ Set.union+ ( maybe+ Map.empty+ (Map.singleton [])+ disagreed+ : fmap establishedUnsettled (toList counted)+ ),+ establishedUntold = foldMap establishedUntold counted,+ establishedCertain = foldr1 inEvery (fmap establishedCertain counted),+ establishedMembers =+ Map.unionsWith Set.union (fmap establishedMembers counted)+ }+ where+ counted =+ fromMaybe answers $+ NE.nonEmpty (NE.filter settlesEverything answers)+ declared =+ Map.unionsWith+ (<>)+ [Map.map pure (establishedFixities a) | a <- toList counted]+ sole (fixity :| rest) =+ if all (== fixity) rest then Just fixity else Nothing+ disagreed = inhabited (Map.keysSet (Map.filter (isNothing . sole) declared))+ inEvery a b =+ Certain+ { certainNames = Set.intersection (certainNames a) (certainNames b),+ certainMembers =+ Map.intersectionWith+ Set.intersection+ (certainMembers a)+ (certainMembers b)+ }++-- | Where each module that lives in a directory rather than an archive is.+localModules :: BuildPlan -> IO (Map Text FilePath)+localModules plan =+ Map.unions <$> traverse forPackage (concatMap directoryOf (bpPackages plan))+ where+ directoryOf p = case ppSource p of+ LocalPackage dir -> [dir]+ CheckedOut dir -> [dir]+ _ -> []+ forPackage dir = quietly Map.empty $ do+ entries <- listDirectory dir+ case filter (".cabal" `isSuffixOf`) entries of+ [] -> pure Map.empty+ (cabalFile : _) -> do+ contents <- readFileText (dir </> cabalFile)+ case contents of+ Nothing -> pure Map.empty+ Just text ->+ Map.fromList . concat+ <$> traverse (locate dir (sourceDirs text)) (containedModules text)+ locate dir dirs m = do+ found <-+ filterM+ doesFileExist+ [ dir </> T.unpack d </> modulePath m ending+ | d <- dirs,+ ending <- moduleEndings+ ]+ pure [(m, path) | path <- take 1 found]++ modulePath m ending = T.unpack (T.replace "." "/" m) <> ending++-- | Read a file, if it is there and is text.+readFileText :: FilePath -> IO (Maybe Text)+readFileText path = quietly Nothing $ do+ there <- doesFileExist path+ if there+ then Just . T.decodeUtf8Lenient <$> BS.readFile path+ else pure Nothing++-- | What a module exports, out of what it declares and what its imports+-- bring in.+withReexports ::+ -- | How to reach another module, for names this one only passes on.+ (Text -> IO Established) ->+ -- | The name this module was looked up under.+ Text ->+ -- | The module.+ ModuleSummary ->+ IO Established+withReexports reach modName summary =+ case summaryExports summary of+ Nothing -> pure own+ Just items -> do+ listed <-+ reached $ \i ->+ any (suppliedBy i) (concatMap named items)+ || ( not (importQualified i)+ && importAlias i+ `elem` [m | ExportModule m <- items]+ )+ let reexported =+ Map.fromList+ [ ((qualifier, parent), membersFrom listed qualifier parent)+ | ExportAll qualifier parent <- items,+ Map.notMember parent declared+ ]+ members =+ [ (qualifier, kid)+ | ((qualifier, _), Just kids) <- Map.toList reexported,+ kid <- Set.toList kids,+ Set.notMember kid defined+ ]+ more <- reached $ \i ->+ Map.notMember (importModule i) listed && any (suppliedBy i) members+ let answers = Map.union listed more+ pure . together $+ mempty+ { establishedFixities = summaryFixities summary,+ establishedMembers = summaryListedMembers summary+ }+ : fmap (exported answers reexported) items+ where+ imports = summaryImports summary+ declared = summaryDeclaredMembers summary+ defined =+ Set.map snd (summaryNames summary)+ <> Set.map snd (Map.keysSet (summaryFixities summary))+ own =+ mempty+ { establishedFixities = summaryFixities summary,+ establishedCertain = Certain (summaryNames summary) declared,+ establishedMembers = Map.map (Set.map snd) declared+ }+ reached wanted =+ Map.fromList+ <$> traverse+ (\m -> (m,) <$> reach m)+ (Set.toList (Set.fromList [importModule i | i <- imports, wanted i]))+ suppliedBy i (qualifier, op) = maySupply Map.empty qualifier op i+ named = \case+ ExportName _ qualifier op ->+ [(qualifier, op) | Set.notMember op defined]+ ExportAll qualifier parent ->+ [(qualifier, parent) | Set.notMember parent defined]+ ExportSome qualifier parent kids ->+ [(qualifier, op) | op <- parent : kids, Set.notMember op defined]+ ExportModule _ -> []++ exported answers reexported = \case+ ExportName namespace qualifier op ->+ settled answers True qualifier (namespace, op)+ <> certainly (Set.singleton (namespace, op)) Map.empty+ ExportAll qualifier parent+ | Just kids <- Map.lookup parent declared -> withMembers parent kids+ | otherwise ->+ let found = settled answers True qualifier (InTypes, parent)+ kids =+ Map.findWithDefault Nothing (qualifier, parent) reexported+ in found+ <> mempty{establishedUntold = Map.keysSet (establishedUnsettled found)}+ <> foldMap (member answers qualifier parent) (foldMap Set.toList kids)+ <> case kids of+ Nothing -> certainly (Set.singleton (InTypes, parent)) Map.empty+ Just known ->+ withMembers parent (certainMembersOf answers qualifier parent)+ <> mempty{establishedMembers = Map.singleton parent known}+ ExportSome qualifier parent kids ->+ settled answers True qualifier (InTypes, parent)+ <> foldMap (member answers qualifier parent) kids+ <> withMembers+ parent+ ( Set.filter+ ((`elem` kids) . snd)+ ( fromMaybe+ (certainMembersOf answers qualifier parent)+ (Map.lookup parent declared)+ )+ )+ ExportModule m ->+ (if Just m == summaryName summary || m == modName then own else mempty)+ <> foldMap+ (whole answers)+ [i | i <- imports, not (importQualified i), importAlias i == m]++ certainly names members = mempty{establishedCertain = Certain names members}+ withMembers parent kids =+ certainly (Set.insert (InTypes, parent) kids) (Map.singleton parent kids)+ member answers qualifier parent kid+ | Set.member kid defined = mempty+ | otherwise =+ case [ (i, established, certainKids)+ | (i, established) <- candidates answers qualifier parent,+ decides established (InTypes, parent) i,+ let certainKids =+ Set.filter+ ((== kid) . snd)+ ( Map.findWithDefault+ Set.empty+ parent+ (certainMembers (establishedCertain established))+ ),+ not (Set.null certainKids)+ ] of+ (i, established, certainKids) : _ ->+ foldMap (from [(i, established)]) certainKids+ [] ->+ foldMap+ ( \namespace ->+ settled answers False qualifier (namespace, kid)+ )+ [InTypes, InTerms]++ candidates answers qualifier op =+ [ (i, established)+ | i <- imports,+ Just established <- [Map.lookup (importModule i) answers],+ maySupply (establishedMembers established) qualifier op i+ ]++ settled answers certain qualifier name@(_, op)+ | Set.member op defined = mempty+ | otherwise = case [ (i, established)+ | certain,+ (i, established) <- found,+ decides established name i+ ] of+ decider : _ -> from [decider] name+ [] -> from found name+ where+ found = candidates answers qualifier op++ from imported name =+ case [ importModule i : chain+ | (i, established) <- imported,+ chain <- unsettledThrough established name+ ] of+ [] ->+ mempty+ { establishedFixities =+ Map.fromList+ ( take+ 1+ [ (name, fixity)+ | (_, a) <- imported,+ Just fixity <- [Map.lookup name (establishedFixities a)]+ ]+ )+ }+ chains ->+ mempty+ { establishedUnsettled =+ Map.fromList [(chain, Set.singleton name) | chain <- chains]+ }++ membersFrom answers qualifier parent =+ case mapMaybe+ (Map.lookup parent . establishedMembers . snd)+ (candidates answers qualifier parent) of+ [] -> Nothing+ kids -> Just (Set.unions kids)++ certainMembersOf answers qualifier parent =+ Set.unions+ [ Set.filter (\kid -> certainlyBrings (establishedMembers established) kid i) kids+ | (i, established) <- candidates answers qualifier parent,+ let certain = establishedCertain established,+ Set.member (InTypes, parent) (certainNames certain),+ Just kids <- [Map.lookup parent (certainMembers certain)]+ ]++ whole answers i =+ Established+ { establishedFixities =+ Map.filterWithKey+ (\(_, op) _ -> admitted op)+ (establishedFixities established),+ establishedUnsettled =+ Map.mapKeys+ (importModule i :)+ ( Map.mapMaybe+ (inhabited . Set.filter (admitted . snd))+ (establishedUnsettled established)+ ),+ establishedUntold =+ Set.map+ (importModule i :)+ (establishedUntold established),+ establishedCertain =+ Certain+ { certainNames = Set.filter included (certainNames certain),+ certainMembers =+ Map.map+ (Set.filter included)+ ( Map.filterWithKey+ (\parent _ -> included (InTypes, parent))+ (certainMembers certain)+ )+ },+ establishedMembers = establishedMembers established+ }+ where+ established = Map.findWithDefault mempty (importModule i) answers+ certain = establishedCertain established+ admitted op = maySupply (establishedMembers established) Nothing op i+ included name = certainlyBrings (establishedMembers established) name i++-- | The parts of what a module exports, together.+--+-- A name one part certainly exports with a settled fixity is the one every+-- other part exports under that name too, or the module would not compile,+-- so no part leaves it unsettled.+together :: [Established] -> Established+together parts =+ settledOnly+ combined+ { establishedUnsettled =+ Map.mapMaybe+ (inhabited . (`Set.difference` certain))+ (establishedUnsettled combined)+ }+ where+ combined = mconcat parts+ certain =+ Set.unions+ [ Set.filter+ (null . unsettledThrough part)+ (certainNames (establishedCertain part))+ | part <- parts+ ]++-- | An answer without the fixities of the names it leaves unsettled.+settledOnly :: Established -> Established+settledOnly established+ | settlesEverything established = established+ | otherwise =+ established+ { establishedFixities =+ Map.filterWithKey+ (\name _ -> null (unsettledThrough established name))+ (establishedFixities established)+ }++-- | An answer whose fixities come from elsewhere, and settle every name.+settledAs :: Fixities -> Established -> Established+settledAs fixities established =+ established+ { establishedFixities = fixities,+ establishedUnsettled = Map.empty,+ establishedUntold = Set.empty+ }++-- | A set, unless it is empty.+inhabited :: Set a -> Maybe (Set a)+inhabited names+ | Set.null names = Nothing+ | otherwise = Just names++-- | Every configuration the preprocessor allows of a module's text that is+-- Haskell, parsed and summarized.+configurationsOf ::+ -- | What the plan settles about the questions its conditionals ask.+ Macros ->+ -- | What extensions the module's package puts in force.+ Maybe [Extension] ->+ -- | The module's name, for the parser to put in its errors.+ Text ->+ -- | Its text.+ Text ->+ Maybe (NonEmpty ModuleSummary)+configurationsOf macros extensions modName text =+ NE.nonEmpty . mapMaybe parsed+ =<< whatParsed (branchLeaves (withoutRuledOut macros text))+ where+ parsed leaf =+ summarize (hasImplicitPrelude (fromMaybe [] extensions) leaf) . pmModule+ <$> whatParsed (parseModule (configOf leaf) named leaf)+ whatParsed = either (const Nothing) Just+ configOf leaf = maybe defaultParserConfig (configFor leaf) extensions+ configFor leaf exts = parserConfigFor (effectiveExtensions exts leaf)+ named = T.unpack modName++-- | Does this module see the Prelude without importing it?+hasImplicitPrelude :: [Extension] -> Text -> Choice "implicitPrelude"+hasImplicitPrelude extensions source =+ fromBool (ImplicitPrelude `elem` effectiveExtensions extensions source)++-- | What a tarball holds that a module could be read out of.+data Archive = Archive+ { -- | The package's @.cabal@ file, the first one at the top.+ archiveCabal :: Maybe Text,+ -- | Every file that could hold a module, by where it sits, in the order+ -- the tarball has them.+ archiveFiles :: [(FilePath, BS.ByteString)]+ }+ deriving (Generic)++instance NFData Archive++-- | Read a tarball, keeping what a module could be read out of.+readArchive :: FilePath -> IO (Maybe Archive)+readArchive tarball = quietly Nothing $ do+ bytes <- BL.readFile tarball+ Just <$> evaluate (force (sweep Nothing [] (Tar.read (GZip.decompress bytes))))+ where+ sweep cabal found = \case+ Tar.Next entry rest+ | Tar.NormalFile content _ <- Tar.entryContent entry,+ cabalFileAtTop (entryPosixPath entry),+ Nothing <- cabal ->+ sweep (Just (T.decodeUtf8Lenient (BL.toStrict content))) found rest+ | Tar.NormalFile content _ <- Tar.entryContent entry,+ any (`isSuffixOf` entryPosixPath entry) moduleEndings ->+ sweep cabal ((entryPosixPath entry, BL.toStrict content) : found) rest+ | otherwise -> sweep cabal found rest+ _ -> Archive cabal (reverse found)++-- | Find a module in what a tarball holds and say what was found.+moduleIn :: Text -> Archive -> Maybe InArchive+moduleIn modName archive = listToMaybe (mapMaybe pick moduleEndings)+ where+ dirs = maybe [] sourceDirs (archiveCabal archive)+ pick ending =+ inArchive ending . T.decodeUtf8Lenient . snd+ <$> listToMaybe (under sfx matching <> matching)+ where+ sfx = "/" <> T.unpack (T.replace "." "/" modName) <> ending+ matching = [f | f <- archiveFiles archive, sfx `isSuffixOf` fst f]+ under sfx matching = [f | d <- dirs, f <- matching, inDir sfx d (fst f)]+ inDir sfx d path+ | d == "." = takeWhile (/= '/') path <> sfx == path+ | otherwise = ("/" <> T.unpack d <> sfx) `isSuffixOf` path++-- | The endings a package may write a module under, in the order they are+-- tried.+moduleEndings :: [String]+moduleEndings = [".hs", ".hsc"]++-- | What an archive holds for a module.+data InArchive+ = -- | Haskell, as the package wrote it.+ Haskell Text+ | -- | A module written for @hsc2hs@. Its text is not kept: there is+ -- nothing to be done with it, and 'hscFixities' answers for it.+ ForHsc++-- | What was found under one ending amounts to.+inArchive :: String -> Text -> InArchive+inArchive ending text+ | writtenForHsc ending = ForHsc+ | otherwise = Haskell text++-- | Is this a module @hsc2hs@ writes rather than one anybody compiles?+writtenForHsc :: FilePath -> Bool+writtenForHsc = isSuffixOf ".hsc"++-- | What an @.hsc@ module declares, which is nothing unless it is named.+hscDeclares :: Text -> Established+hscDeclares modName =+ mempty+ { establishedFixities =+ maybe Map.empty inBothNamespaces (Map.lookup modName hscFixities)+ }
@@ -9,10 +9,12 @@ formatErrorExitCode, refused, Session,+ sessionRoot, PlanSource (..), newSession, fixityNotesOf, formatSource,+ rewritten, ) where @@ -38,9 +40,9 @@ import Tilia.Cabal.Project (ProjectRoot (..), findProjectRoot) import Tilia.Cpp ( CppError (..),- blankCpp, correspondingBranches, describeCppError,+ everyBranch, formatWithCpp, usesCpp, withoutRuledOut,@@ -52,6 +54,7 @@ ( OpName, Unknown (..), operatorSpelling,+ spellDisagreement, spellUnreadIn, unknownOperators, )@@ -75,13 +78,12 @@ describeParseError, parseModule, parserConfigFor,+ pmGathered, pmModule,- pmSource, ) import Tilia.Pragma (effectiveExtensions, movesPositions) import Tilia.Render (RenderConfig (..), defaultRenderConfig, renderModule)-import Tilia.Source (comments)-import Tilia.Utils (tshow)+import Tilia.Utils (collected, spellList, tshow) -- | Why a file could not be formatted. data FormatError@@ -133,29 +135,21 @@ "will not format " <> file path <> ": "- <> T.intercalate ", and " (fmap saying (together unknown))+ <> T.intercalate ", and " (fmap saying (collected (fmap named unknown))) where+ named ((qualifier, op), why) =+ (why, paint palette Operator (operatorSpelling qualifier op)) saying (why, ops) =- (if length ops == 1 then "the fixity of " else "the fixities of ")- <> listing ops+ (if single then "the fixity of " else "the fixities of ")+ <> spellList ops <> " "- <> because why- because = \case- NotRead missing -> "may be declared in " <> spellUnreadIn palette missing- Ambiguous -> "is declared differently by two modules in scope"- together = foldl put []+ <> because where- put seen ((qualifier, op), why) =- let named = paint palette Operator (operatorSpelling qualifier op)- in case break ((== why) . fst) seen of- (before, (_, ops) : after) ->- before <> [(why, ops <> [named])] <> after- _ -> seen <> [(why, [named])]- listing ops = case reverse ops of- [] -> ""- [one] -> one- [second, first'] -> first' <> " and " <> second- (final : rest) -> T.intercalate ", " (reverse rest) <> ", and " <> final+ single = length ops == 1+ because = case why of+ NotRead missing -> "may be declared in " <> spellUnreadIn palette missing+ Ambiguous offers ->+ (if single then "is " else "are ") <> spellDisagreement palette offers where file = paint palette Place . T.pack located t = case T.breakOn ":" t of@@ -178,12 +172,13 @@ NotEquivalent{} -> 17 NotIdempotent{} -> 18 CppUnsupported _ why -> case why of- UnhandledDirective{} -> 9- UnsplittableConditional -> 10- TooManyConfigurations -> 11- ConfigurationNotParsed{} -> 12- DirectiveUnplaceable{} -> 13- DirectiveInQuotedText{} -> 14+ MalformedConditional{} -> 9+ TooManyConfigurations -> 10+ ConfigurationNotParsed{} -> 11+ DirectiveInQuotedText{} -> 12+ MacroInQuotedText{} -> 12+ RuledOutBranch{} -> 13+ AbortingAlternative{} -> 14 -- | Did we decline to format the file, rather than fail to? refused :: FormatError -> Bool@@ -205,7 +200,9 @@ -- about as much as formatting a small file, and none of it depends on which -- file is being formatted. data Session = Session- { -- | What can be asked about the modules a file imports.+ { -- | The project.+ sessionRoot :: ProjectRoot,+ -- | What can be asked about the modules a file imports. sessionResolver :: Resolver, -- | What the plan settles about the questions a file's conditionals -- ask, so that a branch it rules out is not read as part of the file.@@ -249,7 +246,8 @@ Choice "debugFixity" -> IO (Either FormatError Session) newSession start planSource caching downloading checkAst checkIdempotence debugFixity = runExceptT $ do- root <- prPath <$> (need (NoProject start) =<< liftIO (findProjectRoot start))+ project <- need (NoProject start) =<< liftIO (findProjectRoot start)+ let root = prPath project (plan, resolver) <- case planSource of PlanFromCabal components -> do plan <- orElse (NoBuildPlan root) =<< liftIO (loadPlan caching downloading components root)@@ -268,7 +266,8 @@ else pure Nothing pure Session- { sessionResolver = resolver,+ { sessionRoot = project,+ sessionResolver = resolver, sessionMacros = macrosOf plan, sessionPackage = askPackage, sessionCheckAst = checkAst,@@ -304,26 +303,24 @@ package <- orElse (NoPackage path) =<< liftIO (sessionPackage session path) let resolver = sessionResolver session config = parserConfigFor package- reading = blankCpp . withoutRuledOut (sessionMacros session) extensionsAndCpp text = let declared = effectiveExtensions package text in (Set.fromList declared, usesCpp declared text)- renderConfigFor extensions hsModule = do+ renderConfigFor extensions parsed = do let implicitPrelude = fromBool (Set.member ImplicitPrelude extensions)- scope <- liftIO (scopeFor resolver implicitPrelude hsModule)+ scope <- liftIO (scopeFor resolver implicitPrelude (fmap pmModule parsed)) liftIO $ case sessionFixityNotes session of Nothing -> pure () Just ref -> do told <- fixityNotes implicitPrelude- (askFixities resolver)- (askChain resolver)+ (askModule resolver) scope- hsModule+ parsed atomicModifyIORef' ref (\m -> (Map.insertWith (\_ old -> old) path told m, ()))- case unknownOperators scope hsModule of+ case unknownOperators scope (fmap pmGathered parsed) of [] -> pure defaultRenderConfig@@ -333,9 +330,9 @@ unknown -> throwE (UnknownFixity path unknown) formatting (extensions, cpp) already text | cpp = do- render <- case parseModule config path (reading text) of- Left _ -> pure defaultRenderConfig{rcExtensions = extensions}- Right whole -> renderConfigFor extensions (pmModule whole)+ render <- case everyBranch config path (withoutRuledOut (sessionMacros session) text) of+ Nothing -> pure defaultRenderConfig{rcExtensions = extensions}+ Just branches -> renderConfigFor extensions branches printed <- orElse (CppUnsupported path)@@ -344,7 +341,7 @@ | otherwise = do parsed <- maybe (orElse NotParsed (parseModule config path text)) pure already- render <- renderConfigFor extensions (pmModule parsed)+ render <- renderConfigFor extensions (pure parsed) pure ( printDoc defaultRenderOptions (renderModule render parsed), Just parsed@@ -410,10 +407,7 @@ where comparing b' a' = syntaxDifference (pmModule b') (pmModule a')- <|> commentDifference- (pmModule b', pmModule a')- (comments (pmSource b'))- (comments (pmSource a'))+ <|> commentDifference b' a' whatParsed = either (const Nothing) Just underCpp = case correspondingBranches before after of Left _ -> Just "the input or output could not be split into configurations"
@@ -0,0 +1,51 @@+-- | The nodes of a module that formatting queries, gathered in one walk+-- over its syntax tree.+module Tilia.Gathered+ ( Gathered (..),+ gathered,+ )+where++import Data.Data (Proxy (..), gmapQr, typeOf, typeRep, typeRepTyCon)+import Data.Generics.Aliases (GenericQ, extQ)+import GHC.Hs++-- | Every node of each kind, in the order a walk from the top, left to+-- right, meets them.+data Gathered = Gathered+ { -- | Expressions.+ gatheredExpressions :: [HsExpr GhcPs],+ -- | Types.+ gatheredTypes :: [HsType GhcPs],+ -- | Haddocks.+ gatheredDocs :: [LHsDoc GhcPs],+ -- | The entries of import and export lists.+ gatheredEntries :: [LIE GhcPs],+ -- | The equations of functions, the alternatives of cases, and the+ -- bodies of lambdas.+ gatheredMatches :: [Match GhcPs (LHsExpr GhcPs)]+ }++-- | Gather a module's nodes.+gathered :: HsModule GhcPs -> Gathered+gathered hsModule = walk hsModule (Gathered [] [] [] [] [])+ where+ walk :: GenericQ (Gathered -> Gathered)+ walk x+ | annotation x = id+ | otherwise = keep x . descend x+ descend :: GenericQ (Gathered -> Gathered)+ descend =+ (\x g -> gmapQr ($) g walk x)+ `extQ` (\(_ :: HsDocString) -> id)+ `extQ` (\(_ :: String) -> id)+ annotation x = typeRepTyCon (typeOf x) == epAnn+ epAnn = typeRepTyCon (typeRep (Proxy :: Proxy EpAnn))+ keep :: GenericQ (Gathered -> Gathered)+ keep =+ const id+ `extQ` (\x g -> g{gatheredExpressions = x : gatheredExpressions g})+ `extQ` (\x g -> g{gatheredTypes = x : gatheredTypes g})+ `extQ` (\x g -> g{gatheredDocs = x : gatheredDocs g})+ `extQ` (\x g -> g{gatheredEntries = x : gatheredEntries g})+ `extQ` (\x g -> g{gatheredMatches = x : gatheredMatches g})
@@ -0,0 +1,290 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++-- | Ignore files written the way @.gitignore@ files are.+module Tilia.Ignore+ ( IgnoreFile,+ parseIgnoreFile,+ isIgnored,+ isIgnoredInProject,+ ignoreFilesAbove,+ belowRoot,+ )+where++import Data.Char+ ( isAlpha,+ isAlphaNum,+ isControl,+ isDigit,+ isHexDigit,+ isLower,+ isPrint,+ isPunctuation,+ isSpace,+ isSymbol,+ isUpper,+ )+import Data.List (inits, isPrefixOf, isSuffixOf, stripPrefix, tails)+import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map+import Data.Maybe (mapMaybe)+import Data.Set qualified as Set+import Data.Text (Text)+import Data.Text qualified as T+import Data.Text.IO qualified as T+import System.Directory (canonicalizePath, doesFileExist)+import System.FilePath (joinPath, normalise, splitDirectories, (</>))+import Tilia.Utils (quietly)++-- | The patterns of one ignore file, in the order they are written.+newtype IgnoreFile = IgnoreFile [Pattern]++-- | One line of an ignore file.+data Pattern = Pattern+ { -- | Whether it begins with @!@ and so re-includes what it matches.+ patNegated :: Bool,+ -- | Whether it ends with @/@ and so matches directories alone.+ patDirectoryOnly :: Bool,+ -- | Whether it holds a @/@ other than a trailing one, and so matches+ -- the path from the ignore file's directory rather than the last name.+ patAnchored :: Bool,+ -- | What it matches.+ patTokens :: [Token]+ }++-- | One piece of a pattern.+data Token+ = -- | A character that stands for itself.+ Literal Char+ | -- | @?@, any character but @/@.+ AnyChar+ | -- | @*@, any run of characters without @/@.+ AnyRun+ | -- | @**/@ at the start, any number of leading directories.+ LeadingDirectories+ | -- | @/**/@, a @/@ with any number of directories inside it.+ InnerDirectories+ | -- | @/**@ at the end, everything below the directory before it.+ Everything+ | -- | A bracket expression, whether it is negated, and what it holds.+ Bracket Bool [Char -> Bool]++-- | Read an ignore file.+parseIgnoreFile :: Text -> IgnoreFile+parseIgnoreFile =+ IgnoreFile+ . mapMaybe (parsePattern . T.unpack . withoutReturn)+ . T.lines+ where+ withoutReturn = T.dropWhileEnd (== '\r')++-- | Read one line of an ignore file.+parsePattern :: String -> Maybe Pattern+parsePattern line0 = case trimmed line0 of+ "" -> Nothing+ '#' : _ -> Nothing+ '!' : rest -> pattern True rest+ line -> pattern False line+ where+ pattern negated body = do+ let directoryOnly = "/" `isSuffixOf` body+ stripped = if directoryOnly then init body else body+ anchored = '/' `elem` stripped+ relative = case stripped of+ '/' : rest -> rest+ _ -> stripped+ tokens <- tokenize relative+ if null tokens+ then Nothing+ else+ Just+ Pattern+ { patNegated = negated,+ patDirectoryOnly = directoryOnly,+ patAnchored = anchored,+ patTokens = tokens+ }++-- | A line without the spaces it ends in, except one escaped with @\\@.+trimmed :: String -> String+trimmed = reverse . go . reverse+ where+ go = \case+ ' ' : '\\' : rest -> ' ' : '\\' : rest+ ' ' : rest -> go rest+ other -> other++-- | Split a pattern into its pieces, or 'Nothing' where a bracket is left+-- open.+tokenize :: String -> Maybe [Token]+tokenize = go True+ where+ go atStart = \case+ [] -> Just []+ '*' : '*' : '/' : rest+ | atStart -> (LeadingDirectories :) <$> go True rest+ '/' : '*' : '*' : '/' : rest -> (InnerDirectories :) <$> go True rest+ "/**" -> Just [Everything]+ '*' : rest -> (AnyRun :) <$> go False (dropWhile (== '*') rest)+ '?' : rest -> (AnyChar :) <$> go False rest+ '[' : rest -> do+ (token, rest') <- bracket rest+ (token :) <$> go False rest'+ '\\' : c : rest -> (Literal c :) <$> go False rest+ c : rest -> (Literal c :) <$> go (c == '/') rest++-- | Read a bracket expression after its @[@.+bracket :: String -> Maybe (Token, String)+bracket = \case+ c : rest | c `elem` ['!', '^'] -> members True [] True rest+ rest -> members False [] True rest+ where+ members negated acc first = \case+ ']' : rest | not first -> Just (Bracket negated acc, rest)+ '[' : ':' : rest+ | (name, ':' : ']' : rest') <- break (== ':') rest,+ Just p <- lookup name posixClasses ->+ members negated (p : acc) False rest'+ '\\' : c : rest -> range negated acc c rest+ c : rest -> range negated acc c rest+ [] -> Nothing+ range negated acc lo = \case+ '-' : hi : rest+ | hi /= ']' ->+ let hi' = case (hi, rest) of+ ('\\', h : _) -> h+ _ -> hi+ rest' = if hi == '\\' then drop 1 rest else rest+ in members negated ((\c -> lo <= c && c <= hi') : acc) False rest'+ rest -> members negated ((== lo) : acc) False rest++-- | The character classes a bracket expression can name.+posixClasses :: [(String, Char -> Bool)]+posixClasses =+ [ ("alnum", isAlphaNum),+ ("alpha", isAlpha),+ ("blank", (`elem` [' ', '\t'])),+ ("cntrl", isControl),+ ("digit", isDigit),+ ("graph", \c -> isPrint c && not (isSpace c)),+ ("lower", isLower),+ ("print", isPrint),+ ("punct", \c -> isPunctuation c || isSymbol c),+ ("space", isSpace),+ ("upper", isUpper),+ ("xdigit", isHexDigit)+ ]++-- | Whether a pattern matches a path, given relative to the directory of+-- the ignore file the pattern is in, and whether that path is a directory.+matches :: Pattern -> [String] -> Bool -> Bool+matches p segments isDirectory+ | patDirectoryOnly p && not isDirectory = False+ | patAnchored p = wildmatch (patTokens p) (joinSegments segments)+ | otherwise = case reverse segments of+ name : _ -> wildmatch (patTokens p) name+ [] -> False++-- | Whether the pieces of a pattern match a path, @/@ and all.+wildmatch :: [Token] -> String -> Bool+wildmatch = \case+ [] -> null+ Literal c : ts -> \case+ x : xs | x == c -> wildmatch ts xs+ _ -> False+ AnyChar : ts -> \case+ x : xs | x /= '/' -> wildmatch ts xs+ _ -> False+ Bracket negated ps : ts -> \case+ x : xs | x /= '/', any ($ x) ps /= negated -> wildmatch ts xs+ _ -> False+ AnyRun : ts -> \s ->+ any+ (wildmatch ts)+ [rest | (skipped, rest) <- splits s, '/' `notElem` skipped]+ LeadingDirectories : ts -> \s ->+ any+ (wildmatch ts)+ (s : [rest | (skipped, rest) <- splits s, "/" `isSuffixOf` skipped])+ InnerDirectories : ts -> \s ->+ any+ (wildmatch ts)+ [ rest+ | (skipped, rest) <- splits s,+ "/" `isPrefixOf` skipped,+ "/" `isSuffixOf` skipped+ ]+ Everything : _ -> \s -> "/" `isPrefixOf` s && length s > 1+ where+ splits s = zip (inits s) (tails s)++-- | A path's segments, joined with @/@.+joinSegments :: [String] -> String+joinSegments = \case+ [] -> ""+ s : ss -> s <> concatMap ('/' :) ss++-- | Whether a file is ignored, given its path as segments relative to the+-- project root and the ignore files found in the directories above it, each+-- by its directory's segments.+isIgnored :: Map [String] IgnoreFile -> [String] -> Bool+isIgnored files path =+ any (\n -> excluded (take n path) True) [1 .. length path - 1]+ || excluded path False+ where+ excluded entry isDirectory =+ case [ not (patNegated p)+ | (n, IgnoreFile ps) <- applicable entry,+ p <- ps,+ matches p (drop n entry) isDirectory+ ] of+ [] -> False+ verdicts -> last verdicts+ applicable entry =+ [ (n, file)+ | n <- [0 .. length entry - 1],+ Just file <- [Map.lookup (take n entry) files]+ ]++-- | Whether the @.tiliaignore@ files of a project ignore a file, which need+-- not exist.+isIgnoredInProject ::+ -- | The project root, canonical.+ FilePath ->+ -- | The file.+ FilePath ->+ IO Bool+isIgnoredInProject root path = quietly False $ do+ file <- canonicalizePath path+ case belowRoot root file of+ Nothing -> pure False+ Just below -> do+ ignoreFiles <- ignoreFilesAbove root [below]+ pure (isIgnored ignoreFiles below)++-- | The @.tiliaignore@ files in the project root and in every directory+-- between it and the given files, each by its directory's segments relative+-- to the root.+ignoreFilesAbove :: FilePath -> [[FilePath]] -> IO (Map [FilePath] IgnoreFile)+ignoreFilesAbove root paths =+ Map.fromList . concat <$> traverse read' (Set.toList directories)+ where+ directories =+ Set.fromList [take n path | path <- paths, n <- [0 .. length path - 1]]+ read' directory = do+ let file = joinPath (root : directory) </> ".tiliaignore"+ exists <- doesFileExist file+ if exists+ then (\t -> [(directory, parseIgnoreFile t)]) <$> T.readFile file+ else pure []++-- | A path's segments relative to the project root, if it is under it.+belowRoot ::+ -- | The project root.+ FilePath ->+ -- | The path.+ FilePath ->+ Maybe [FilePath]+belowRoot root path =+ stripPrefix (splitDirectories root) (splitDirectories (normalise path))
@@ -23,8 +23,8 @@ import GHC.Types.SourceText (StringLiteral (..)) import GHC.Types.SrcLoc import Tilia.Comments (Comment (..), commentTrailing, commentsWithin)-import Tilia.Span (endPoint, startPoint)-import Tilia.Span.Ghc (spanOf, spanOfSrcSpan)+import Tilia.Span (endPoint, isSingleLine, startPoint)+import Tilia.Span.Ghc (bracketsSpan, spanOf, spanOfSrcSpan, tokenSpan) -- | Sort and fold together a module's imports. normalizeImports ::@@ -32,20 +32,22 @@ Choice "implicitPrelude" -> -- | Source lines the block must not be sorted across. [Int] ->+ -- | Source lines the names of a list must not be sorted across.+ [Int] -> -- | The module's comments. [Comment] -> -- | Original imports. [LImportDecl GhcPs] -> -- | Normalized imports. [LImportDecl GhcPs]-normalizeImports implicitPrelude barriers written imports =- concatMap stretch (cutAtBarriers (barriersBetween imports barriers) tidied)+normalizeImports implicitPrelude barriers directives written imports =+ concatMap stretch (cutAtBarriers barriers tidied) where- tidied = fmap (fmap (tidyImportList written)) imports+ tidied = fmap (fmap (tidyImportList directives written)) imports stretch is = foldRuns- (combineImports written)- [((importIdentity implicitPrelude i, alone i), i) | i <- is]+ (combineImports directives written)+ [((importIdentity implicitPrelude i, hiddenNames i, alone i), i) | i <- is] alone i | any strands (spanOf i) = startLineOf i | otherwise = 0@@ -60,6 +62,23 @@ RealSrcLoc l _ -> srcLocLine l _ -> 0 +-- | The names an import hides, where it hides any, so that only imports+-- hiding the same names are folded together.+hiddenNames ::+ LImportDecl GhcPs ->+ Maybe [(NameIdentity, Maybe (Bool, [NameIdentity]))]+hiddenNames (L _ decl) = case ideclImportList decl of+ Just (EverythingBut, L _ items) -> Just (fmap (hidden . unLoc) items)+ _ -> Nothing+ where+ hidden item = (nameIdentity item, subordinates item)+ subordinates = \case+ IEThingAll{} -> Just (True, [])+ IEThingWith _ _ NoIEWildcard subs _ -> Just (False, names subs)+ IEThingWith _ _ (IEWildcard _) subs _ -> Just (True, names subs)+ _ -> Nothing+ names = fmap (wrappedNameIdentity . unLoc)+ -- | Where every name an import lists begins, each as a line and a column. -- -- The names inside a thing's own brackets count too, so @T (A, B)@ gives@@ -78,37 +97,18 @@ concatMap (foldMap ((: []) . startPoint) . spanOf) members _ -> [] --- | The barriers that fall between two imports rather than inside one.-barriersBetween ::- -- | The imports as written, for the lines each of them covers.- [LImportDecl GhcPs] ->- -- | Lines the block must not be sorted across.- [Int] ->- -- | Those of them that lie between imports.- [Int]-barriersBetween imports = filter (not . within)- where- within l = any (\(from, to) -> from <= l && l <= to) spans'- spans' =- [ (srcLocLine from, srcLocLine to)- | i <- imports,- Just (from, to) <- [endsOf i]- ]- endsOf i = case (srcSpanStart (getLocA i), srcSpanEnd (getLocA i)) of- (RealSrcLoc from _, RealSrcLoc to _) -> Just (from, to)- _ -> Nothing---- | Cut the imports into the stretches the barriers leave between them.+-- | Cut imports, or the names of a list, into the stretches the barriers+-- leave between them. cutAtBarriers ::- -- | Lines the block must not be sorted across, in ascending order.+ -- | Lines not to be sorted across, in ascending order. [Int] ->- -- | The imports, as they were written.- [LImportDecl GhcPs] ->- -- | One stretch per run of imports between barriers, in the same order.- [[LImportDecl GhcPs]]-cutAtBarriers [] imports = [imports]-cutAtBarriers barriers imports =- groupBy ((==) `on` fst) [(between i, i) | i <- imports] & fmap (fmap snd)+ -- | What to cut, as it was written.+ [GenLocated SrcSpanAnnA a] ->+ -- | One stretch per run between barriers, in the same order.+ [[GenLocated SrcSpanAnnA a]]+cutAtBarriers [] xs = [xs]+cutAtBarriers barriers xs =+ groupBy ((==) `on` fst) [(between i, i) | i <- xs] & fmap (fmap snd) where between i = length (takeWhile (< lineOf i) barriers) lineOf i = case srcSpanStart (getLocA i) of@@ -203,6 +203,8 @@ -- | Keep the first import and give it everything the second named. combineImports ::+ -- | Source lines the names of a list must not be sorted across.+ [Int] -> -- | The module's comments, which decide how far the span may grow. [Comment] -> -- | The import kept, whose spelling the result takes.@@ -211,36 +213,70 @@ LImportDecl GhcPs -> -- | The first, listing what both named, across both their spans. LImportDecl GhcPs-combineImports written (L ann kept) (L other folded) =+combineImports directives written (L ann kept) (L other folded) = L ann{entry = EpaSpan (combineSrcSpans (locA ann) (locA other))} kept{ideclImportList = both (ideclImportList kept) (ideclImportList folded)} where both (Just (interpretation, L l xs)) (Just (_, L l' ys)) =- Just (interpretation, L (widened written l l') (tidyImportItems written (xs <> ys)))+ Just+ ( interpretation,+ L+ (bracketsAcross (widened written l l') l')+ (tidyImportItems directives written interpretation (xs <> ys))+ ) both _ _ = Nothing +-- | Take the second list's brackets where only they were written across+-- lines, so that a list folded out of several breaks if any of them did.+bracketsAcross :: EpAnn (AnnList a) -> EpAnn (AnnList a) -> EpAnn (AnnList a)+bracketsAcross kept folded+ | onOneLine kept && not (onOneLine folded) =+ kept{anns = (anns kept){al_brackets = al_brackets (anns folded)}}+ | otherwise = kept+ where+ onOneLine = all isSingleLine . bracketsSpan . al_brackets . anns+ -- | An import with its list sorted and the entries naming one thing folded -- together. An import with no list is left as it is.-tidyImportList :: [Comment] -> ImportDecl GhcPs -> ImportDecl GhcPs-tidyImportList written decl =+tidyImportList :: [Int] -> [Comment] -> ImportDecl GhcPs -> ImportDecl GhcPs+tidyImportList directives written decl = decl- { ideclImportList =- fmap (fmap (tidyImportItems written)) <$> ideclImportList decl+ { ideclImportList = tidied <$> ideclImportList decl }+ where+ tidied (interpretation, items) =+ ( interpretation,+ tidyImportItems directives written interpretation <$> items+ ) --- | Sort an import list and fold together the entries naming one thing.+-- | Sort an import list and fold together the entries naming one thing,+-- each stretch between directives on its own. -- -- @import M (T (A), T (B))@ names one type twice and comes out as @import M -- (T (A, B))@.-tidyImportItems :: [Comment] -> [LIE GhcPs] -> [LIE GhcPs]-tidyImportItems written items+tidyImportItems ::+ [Int] ->+ [Comment] ->+ ImportListInterpretation ->+ [LIE GhcPs] ->+ [LIE GhcPs]+tidyImportItems directives written interpretation items | any (unnameable . unLoc) items = items- | otherwise =+ | otherwise = concatMap tidied (cutAtBarriers directives items)+ where+ tidied stretch = foldRuns (wider written)- [(nameIdentity (unLoc i), fmap sortSubnames i) | i <- items]- where+ [ ((nameIdentity (unLoc i), apart (unLoc i)), fmap sortSubnames i)+ | i <- stretch+ ]+ -- A bare name in a hiding list also hides any data constructor of that+ -- name, which the name with its own parentheses does not.+ apart item = case (interpretation, item) of+ (EverythingBut, IEThingAll{}) -> True+ (EverythingBut, IEThingWith{}) -> True+ _ -> False unnameable = \case IEVar{} -> False IEThingAbs{} -> False@@ -265,9 +301,9 @@ combine a b = case (a, b) of (IEThingAll x n _, _) -> IEThingAll x n Nothing (_, IEThingAll x n _) -> IEThingAll x n Nothing- (IEThingWith x n wildcard subs _, IEThingWith _ _ wildcard' subs' _) ->+ (IEThingWith x n wildcard subs _, IEThingWith x' _ wildcard' subs' _) -> IEThingWith- x+ (parensAcross x x') n (eitherWildcard wildcard wildcard') (dedupeSubnames (subs <> subs'))@@ -282,6 +318,12 @@ eitherWildcard a b = case (a, b) of (NoIEWildcard, NoIEWildcard) -> NoIEWildcard _ -> IEWildcard 0++ parensAcross (warning, (open, dots, comma, close)) (_, (open', _, _, close'))+ | onOneLine open close && not (onOneLine open' close') =+ (warning, (open', dots, comma, close'))+ | otherwise = (warning, (open, dots, comma, close))+ onOneLine open close = all isSingleLine (tokenSpan open <> tokenSpan close) -- | An entry with the names in its own brackets sorted and deduplicated. sortSubnames :: IE GhcPs -> IE GhcPs
@@ -1,4 +1,5 @@ {-# LANGUAGE CPP #-}+{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} -- | Turning source text into a syntax tree and a comment stream.@@ -6,6 +7,8 @@ ( ParsedModule (..), parseModule, parseConfiguration,+ readAlike,+ importLayout, ParseError (..), describeParseError, ParserConfig (..),@@ -16,9 +19,12 @@ where import Data.Foldable (toList)+import Data.IntMap.Strict (IntMap)+import Data.IntMap.Strict qualified as IntMap import Data.List (isSuffixOf, nub, sortOn) import Data.Text (Text) import Data.Text qualified as T+import Data.Text.Encoding qualified as T import GHC.Data.EnumSet qualified as EnumSet import GHC.Data.FastString (mkFastString) import GHC.Data.StringBuffer qualified as GHC@@ -27,13 +33,14 @@ import GHC.Hs.Extension (GhcPs) import GHC.LanguageExtensions.Type (Extension) import GHC.Parser qualified as GHC-import GHC.Parser.Annotation (getLocA)+import GHC.Parser.Annotation (LEpaComment, getLocA) import GHC.Parser.Lexer qualified as GHC import GHC.Types.Error qualified as GHC import GHC.Types.SrcLoc qualified as GHC import GHC.Unit.Module.Warnings (emptyWarningCategorySet) import GHC.Utils.Error qualified as GHC import GHC.Utils.Outputable qualified as GHC+import Tilia.Gathered (Gathered (..), gathered) import Tilia.Pragma (effectiveExtensions) import Tilia.Source (Lines, Source, SourceType (..), Written (..), lineTexts, linesOf, sourceOf) import Tilia.Span (Span (..))@@ -45,6 +52,8 @@ pmModule :: HsModule GhcPs, -- | The module as its author wrote it. pmSource :: Source,+ -- | The nodes of the syntax tree that formatting queries.+ pmGathered :: Gathered, -- | Whether GHC read this as a module or as a Backpack signature. pmSourceType :: SourceType, -- | The lines above the module that the parser never sees.@@ -86,7 +95,7 @@ Text -> Either ParseError ParsedModule parseConfiguration config path written source =- case GHC.unP entryPoint initialState of+ case GHC.unP entryPoint start of GHC.PFailed pstate -> Left (whyNot pstate) GHC.POk pstate (GHC.L _ hsModule) | not (GHC.isEmptyMessages (GHC.getPsErrorMessages pstate)) ->@@ -95,13 +104,14 @@ Right ParsedModule { pmModule = hsModule,- pmSource = sourceOf written (headerComments pstate) hsModule,+ pmSource = sourceOf written (lexedComments start),+ pmGathered = gathered hsModule, pmSourceType = sourceType, pmPrologue = prologueOf (lineTexts written), pmHeaderEnd = headerEndOf hsModule } where- headerComments = concat . GHC.header_comments+ start = stateFor config path source sourceType = sourceTypeOf path @@ -130,16 +140,94 @@ . GHC.diagnosticMessage GHC.NoDiagnosticOpts . GHC.errMsgDiagnostic +-- | Return each line a token other than a comment begins on, and whether+-- the leftmost such token on the line begins an item of the top level.+-- 'Nothing' if the module has no imports, writes its top level in explicit+-- braces, or does not lex.+importLayout ::+ -- | Parser config.+ ParserConfig ->+ -- | The module, with its preprocessor directives blanked.+ Text ->+ -- | The import layout.+ Maybe (IntMap Bool)+importLayout config source =+ case GHC.unP (lexing Nothing Nothing IntMap.empty) (stateFor config "" source) of+ GHC.POk _ found -> found+ GHC.PFailed _ -> Nothing+ where+ lexing topLevel previous found =+ GHC.lexer False $ \(GHC.L s t) -> case GHC.srcSpanStart s of+ _ | GHC.ITeof <- t -> pure (atTopLevel topLevel found)+ GHC.RealSrcLoc l _+ | code t ->+ let column = GHC.srcLocCol l+ found' = IntMap.insertWith min (GHC.srcLocLine l) column found+ in case (t, previous, topLevel) of+ (GHC.ITocurly, Just GHC.ITwhere, Nothing) -> pure Nothing+ (GHC.ITimport, _, Nothing) -> lexing (Just column) (Just t) found'+ (_, _, Just c)+ | column <= c,+ not (isImport t) ->+ pure (atTopLevel topLevel found')+ _ -> lexing topLevel (Just t) found'+ _ -> lexing topLevel previous found+ atTopLevel topLevel found = (\c -> fmap (<= c) found) <$> topLevel+ isImport = \case+ GHC.ITimport -> True+ _ -> False+ code = \case+ GHC.ITvocurly -> False+ GHC.ITvccurly -> False+ GHC.ITsemi -> False+ t -> not (isComment t)++-- | Lex every comment, in source order, from the state a parse starts in.+lexedComments :: GHC.PState -> [LEpaComment]+lexedComments s =+ case GHC.lexTokenStream (GHC.options s) (GHC.buffer s) loc of+ GHC.PFailed _ -> error "Tilia: a module that parses cannot fail to lex"+ GHC.POk _ tokens ->+ [ GHC.commentToAnnotation (GHC.L l t)+ | GHC.L (GHC.RealSrcSpan l _) t <- tokens,+ isComment t+ ]+ where+ loc = GHC.psRealLoc (GHC.loc s)++-- | Is this token a comment?+isComment :: GHC.Token -> Bool+isComment = \case+ GHC.ITlineComment _ _ -> True+ GHC.ITblockComment _ _ -> True+ GHC.ITdocComment _ _ -> True+ GHC.ITdocOptions _ _ -> True+ _ -> False++-- | The state to start reading a module in.+stateFor :: ParserConfig -> FilePath -> Text -> GHC.PState+stateFor config path source =+ GHC.initParserState+ (parserOpts config')+ (GHC.stringBufferFromByteString (T.encodeUtf8 source))+ (GHC.mkRealSrcLoc (mkFastString path) 1 1)+ where config' = config { pcExtensions = withImplied (effectiveExtensions (pcExtensions config) source) } - initialState =- GHC.initParserState- (parserOpts config')- (GHC.stringToStringBuffer (T.unpack source))- (GHC.mkRealSrcLoc (mkFastString path) 1 1)+-- | Would the parser read these two texts with the same extensions?+readAlike :: ParserConfig -> Text -> Text -> Bool+readAlike config a b = bits a == bits b+ where+ bits t =+ GHC.pExtsBitmap+ ( parserOpts+ config+ { pcExtensions = withImplied (effectiveExtensions (pcExtensions config) t)+ }+ ) -- | Close a set of extensions under what they imply. withImplied :: [Extension] -> [Extension]@@ -158,7 +246,7 @@ quietDiagnostics False -- safe imports True -- keep Haddock tokens- True -- keep ordinary comment tokens+ False -- keep ordinary comment tokens True -- let @LINE@ and @COLUMN@ pragmas move the source position -- | Diagnostics are not reported, so the settings only have to be
@@ -3,12 +3,15 @@ ( RenderConfig (..), defaultRenderConfig, renderModule,+ renderConfiguration, ) where import Data.Choice (fromBool)+import Data.IntMap.Strict qualified as IntMap import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map+import Data.Maybe (isJust, listToMaybe) import Data.Set (Set) import Data.Set qualified as Set import Data.Text (Text)@@ -18,15 +21,19 @@ import GHC.Types.SrcLoc (getLoc) import Tilia.Comments ( Comment (..),+ asOrdinary, bracketed,+ carriedOnFrom, closesItself, commentTrailing,- escapeTrigger,+ continuesHaddock,+ holdsOff, widenTrigger, ) import Tilia.Comments.Attach (attachComments) import Tilia.Doc.Combinators-import Tilia.Fixity (Scope)+import Tilia.Fixity (Scope, capturedUses)+import Tilia.Gathered (Gathered) import Tilia.Imports (normalizeImports) import Tilia.Parser (ParsedModule (..)) import Tilia.Render.Context@@ -35,7 +42,7 @@ import Tilia.Render.Haddock (haddockSpans) import Tilia.Render.Header (HeaderPragma (..), hsModule, takeHeaderPragmas, takeStackHeader) import Tilia.Render.Signature (sigDecl)-import Tilia.Source (comments)+import Tilia.Source (Lines, blankAt, comments, sourceLines) import Tilia.Span import Tilia.Span.Ghc (spanOf, spanOfSrcSpan) @@ -47,7 +54,9 @@ -- | What the module can see, if it could be worked out. rcScope :: Maybe Scope, -- | Source lines the import block must not be sorted across.- rcImportBarriers :: [Int]+ rcImportBarriers :: [Int],+ -- | Source lines the names of an import list must not be sorted across.+ rcNameBarriers :: [Int] } -- | A configuration that asserts nothing.@@ -56,22 +65,38 @@ RenderConfig { rcExtensions = Set.empty, rcScope = Nothing,- rcImportBarriers = []+ rcImportBarriers = [],+ rcNameBarriers = [] } -- | Render a parsed module, comments and all. renderModule :: RenderConfig -> ParsedModule -> Doc-renderModule settings parsed =- prologue (pmPrologue parsed)- <> stackHeader- <> attachComments loose (hsModule ctx pragmas (sorted hsMod))+renderModule settings parsed = attachComments loose doc where+ (doc, loose) = renderConfiguration settings parsed++-- | Render one configuration of a module, and return the comments the+-- syntax tree does not carry rather than attach them.+renderConfiguration :: RenderConfig -> ParsedModule -> (Doc, [Comment])+renderConfiguration settings parsed =+ ( prologue (pmPrologue parsed)+ <> stackHeader+ <> hsModule ctx pragmas opening (sorted hsMod),+ loose+ )+ where hsMod = pmModule parsed- (haddocks, loose') = splitHaddocks hsMod (comments (pmSource parsed))+ (haddocks, loose') =+ splitHaddocks+ (sourceLines (pmSource parsed))+ (pmGathered parsed)+ (comments (pmSource parsed)) plain = heldOff haddocks loose' (stackHeader, rest) = takeStackHeader (pmHeaderEnd parsed) plain (pragmas, uncovered) = takeHeaderPragmas (pmSource parsed) (pmHeaderEnd parsed) rest- loose = heldOffModuleDoc hsMod haddocks pragmas uncovered+ held = heldOffModuleDoc hsMod haddocks pragmas uncovered+ opening = importsOpening (sourceLines (pmSource parsed)) held hsMod+ loose = fmap (belowOpening opening) held implicitPrelude = fromBool (Set.member ImplicitPrelude (rcExtensions settings)) sorted m =@@ -80,6 +105,7 @@ normalizeImports implicitPrelude (rcImportBarriers settings)+ (rcNameBarriers settings) (comments (pmSource parsed)) (hsmodImports m) }@@ -88,8 +114,12 @@ { ctxExtensions = rcExtensions settings, ctxSourceType = pmSourceType parsed, ctxScope = rcScope settings,+ ctxCaptured = capturedUses (pmGathered parsed), ctxSource = pmSource parsed, ctxLineComments = indexOn (filter (not . closesItself) loose),+ ctxCarryingOn =+ Set.fromList+ (startPoint . commentSpan <$> filter (isJust . carriedOnFrom loose) loose), ctxHaddocks = indexOn haddocks, ctxKnot = knot }@@ -98,7 +128,7 @@ heldOff :: [Comment] -> [Comment] -> [Comment] heldOff haddocks = fmap holdOff where- written = filter (not . bracketed) haddocks+ written = filter holdsOff haddocks ends = Set.fromList (fmap (spanEndLine . commentSpan) written) starts = Set.fromList@@ -111,14 +141,19 @@ | otherwise = c { commentGapAbove =- commentGapAbove c || Set.member (spanStartLine s - 1) ends,+ commentGapAbove c+ || continuesHaddock c+ && Set.member (spanStartLine s - 1) ends, commentGapBelow = commentGapBelow c || Set.member (spanEndLine s + 1) starts } where s = commentSpan c --- | Hold the first comment of the header off the module's own Haddock.+-- | Hold the comment that comes out right under the module's own Haddock+-- off it: the first one between the Haddock and the module line with no+-- pragma after it, since one with a pragma after it is placed with that+-- pragma, above the Haddock. heldOffModuleDoc :: HsModule GhcPs -> -- | The Haddocks of the module, the module's own among them.@@ -137,10 +172,10 @@ uncoveredBetween ended began c = ended < spanStartLine here && spanStartLine here < began- && not (Set.member (spanEndLine here + 1) travellers)+ && not (any (\p -> spanEndLine here < p && p < began) pragmaStarts) where here = commentSpan c- travellers = Set.fromList (fmap (spanStartLine . hpSpan) pragmas)+ pragmaStarts = fmap (spanStartLine . hpSpan) pragmas endOfModuleDoc = do s <- moduleDoc c <- lookup (startPoint s) [(startPoint (commentSpan h), h) | h <- haddocks]@@ -150,6 +185,33 @@ _ -> Nothing startOfModuleLine = spanStartLine <$> (spanOf =<< hsmodName hsMod) +-- | The empty line right above the first import, or above the comments+-- written on top of it.+importsOpening :: Lines -> [Comment] -> HsModule GhcPs -> Maybe Int+importsOpening ls cs hsMod =+ climb . pred . spanStartLine =<< spanOf =<< listToMaybe (hsmodImports hsMod)+ where+ climb n+ | blankAt n ls = Just n+ | otherwise = climb . pred =<< IntMap.lookup n onTheirOwnLines+ onTheirOwnLines =+ IntMap.fromList+ [ (spanEndLine s, spanStartLine s)+ | c <- cs,+ not (commentTrailing c),+ let s = commentSpan c+ ]++-- | Leave the empty line above the comments written on top of the first+-- import at the top of the imports, rather than carry it along when sorting+-- moves that import.+belowOpening :: Maybe Int -> Comment -> Comment+belowOpening opening c+ | Just l <- opening,+ spanStartLine (commentSpan c) == l + 1 =+ c{commentGapAbove = False}+ | otherwise = c+ -- | The lines above the module, put back exactly as they were written. prologue :: [Text] -> Doc prologue = foldMap (\l -> txt l <> hardBreak)@@ -168,18 +230,21 @@ -- | Separate the comments the syntax tree also knows about from the rest. splitHaddocks ::- HsModule GhcPs ->+ -- | The module's lines.+ Lines ->+ -- | What the tree holds.+ Gathered -> -- | Every comment in the module. [Comment] -> -- | The ones the tree carries, and the ones it does not. ([Comment], [Comment])-splitHaddocks hsMod = foldr sort' ([], [])+splitHaddocks ls found = foldr sort' ([], []) where- inTree = Set.fromList (fmap startPoint (haddockSpans hsMod))+ inTree = Set.fromList (fmap startPoint (haddockSpans found)) sort' c (docs, rest) | startPoint (commentSpan c) `Set.member` inTree = (widenTrigger c : docs, rest)- | otherwise = (docs, escapeTrigger c : rest)+ | otherwise = (docs, asOrdinary ls c <> rest) -- | Index comments by where they begin. indexOn :: [Comment] -> Map (Int, Int) Comment
@@ -60,10 +60,11 @@ | maybe False isSingleLine (spanOf p) -> Hanging | otherwise -> Normal HsApp _ _ y -> exprHangs (unLoc y)- OpApp _ _ op y+ OpApp _ x op y | Just n <- operatorName op, occNameString (rdrNameOcc n) == "$" -> exprHangs (unLoc y)+ | otherwise -> exprHangs (unLoc x) _ -> Normal -- | Does this command absorb the line break that introduces it?
@@ -136,16 +136,17 @@ head' = foldMap (\w -> breakOrSpace <> at ctx w warningTxt) warning <> breakOrSpace- <> at- ctx- cid_poly_ty- ( \sigTy ->- indent $- foldMap (<> breakOrSpace) (overlapMode cid_overlap_mode)- <> hsSigTypeBody ctx sigTy- <> includeUnless- (null members)- (breakOrSpace <> keywordAt ctx whereSpan "where")+ <> indent+ ( foldMap (<> breakOrSpace) (overlapMode ctx cid_overlap_mode)+ <> at+ ctx+ cid_poly_ty+ ( \sigTy ->+ hsSigTypeBody ctx sigTy+ <> includeUnless+ (null members)+ (breakOrSpace <> keywordAt ctx whereSpan "where")+ ) ) body =@@ -170,7 +171,7 @@ txt "instance" <> foldMap (\w -> breakOrSpace <> at ctx w warningTxt) warning <> breakOrSpace- <> foldMap (<> breakOrSpace) (overlapMode deriv_overlap_mode)+ <> foldMap (<> breakOrSpace) (overlapMode ctx deriv_overlap_mode) <> nest (if indented then 1 else 0) (hsSigType ctx (hswc_body deriv_type)) strategy = case deriv_strategy of
@@ -19,7 +19,10 @@ operatorFixity, -- * What lies between two spans- commentBetween,+ commentPrintedBetween,+ lineCommentWrittenBetween,+ commentRightUnder,+ remarkUnder, separatedByBlank, -- * Entering the tree@@ -31,7 +34,7 @@ layoutFrom, layoutWithin, layoutAcross,- insideBrackets,+ attachOperator, -- * Haddocks writtenHaddock,@@ -62,7 +65,13 @@ lookupFixity, ) import Tilia.Render.Layout (Bracing (..))-import Tilia.Source (Source, SourceType, blankAt, sourceLines)+import Tilia.Source+ ( Source,+ SourceType,+ blankAt,+ directivePresentOnLine,+ sourceLines,+ ) import Tilia.Span import Tilia.Span.Ghc @@ -77,8 +86,13 @@ ctxSourceType :: SourceType, -- | What imports the module can see, if that could be worked out. ctxScope :: Maybe Scope,+ -- | The uses of an operator a local binding captures, by where the+ -- operator is written, with their fixities.+ ctxCaptured :: Map Span Fixity, -- | The comments that take whole lines, by starting position. ctxLineComments :: Map (Int, Int) Comment,+ -- | Where each comment that carries on a trailing comment begins.+ ctxCarryingOn :: Set (Int, Int), -- | The module as its author wrote it. ctxSource :: Source, -- | The author's own text for each Haddock, by starting position.@@ -188,19 +202,59 @@ Maybe Span -> Maybe Span nextPrinted ctx (Just a) mb@(Just b) =- case filter (not . commentTrailing) (Map.elems inTheGap) of+ case printedBetween ctx a b of (c : _) -> Just (commentSpan c) [] -> mb+nextPrinted _ _ mb = mb++-- | The comments printed between two spans rather than after the first.+printedBetween :: Ctx -> Span -> Span -> [Comment]+printedBetween ctx a b = filter (not . printedAfter) (Map.elems inTheGap) where inTheGap = Map.takeWhileAntitone (< startPoint b) $ Map.dropWhileAntitone (< endPoint a) (ctxLineComments ctx)-nextPrinted _ _ mb = mb+ printedAfter c =+ commentTrailing c+ || ( Set.member (startPoint s) (ctxCarryingOn ctx)+ && spanStartColumn b < spanStartColumn s+ )+ where+ s = commentSpan c -- | Is a comment going to be printed between the two spans?-commentBetween :: Ctx -> Maybe Span -> Maybe Span -> Bool-commentBetween ctx a b = nextPrinted ctx a b /= b+commentPrintedBetween :: Ctx -> Maybe Span -> Maybe Span -> Bool+commentPrintedBetween ctx a b = nextPrinted ctx a b /= b +-- | Was a comment that ends its line written between the two spans, wherever+-- it is printed?+lineCommentWrittenBetween :: Ctx -> Maybe Span -> Maybe Span -> Bool+lineCommentWrittenBetween ctx (Just a) (Just b) =+ holdsLineComment ctx (mkSpan (endPoint a) (startPoint b))+lineCommentWrittenBetween _ _ _ = False++-- | Do the comments printed between the two spans begin right under the+-- first, with an empty line the author left under one of them and no+-- preprocessor directive anywhere between?+remarkUnder :: Ctx -> Maybe Span -> Maybe Span -> Bool+remarkUnder ctx ma@(Just a) mb@(Just b) =+ not (separatedByBlank ctx ma mb)+ && not (any directiveAt [spanEndLine a + 1 .. spanStartLine b - 1])+ && any+ (writtenBlank ctx . (+ 1) . spanEndLine . commentSpan)+ (printedBetween ctx a b)+ where+ directiveAt n = directivePresentOnLine n (sourceLines (ctxSource ctx))+remarkUnder _ _ _ = False++-- | Does the first comment printed between the two spans begin on the line+-- right under the first?+commentRightUnder :: Ctx -> Maybe Span -> Maybe Span -> Bool+commentRightUnder ctx (Just a) (Just b) = case printedBetween ctx a b of+ c : _ -> spanStartLine (commentSpan c) == spanEndLine a + 1+ [] -> False+commentRightUnder _ _ _ = False+ -- | Did the author leave an empty line directly after the first of these? separatedByBlank :: Ctx -> Maybe Span -> Maybe Span -> Bool separatedByBlank ctx ma@(Just a) mb = case nextPrinted ctx ma mb of@@ -240,7 +294,7 @@ -- of an @if@—and for nothing else. atSpan :: Ctx -> Maybe Span -> Doc -> Doc atSpan _ Nothing d = d-atSpan ctx (Just s) d = located s (grouped ctx s d)+atSpan _ (Just s) d = located s (group s d) -- | A keyword, claiming the span it was written on. keywordAt :: Ctx -> Maybe Span -> Text -> Doc@@ -258,7 +312,7 @@ -- line or several. layoutFrom :: Ctx -> Maybe Span -> Doc -> Doc layoutFrom _ Nothing d = flat d-layoutFrom ctx (Just s) d = grouped ctx s d+layoutFrom _ (Just s) d = group s d -- | Lay a construct out from the region its contents occupy rather than the -- region it occupies.@@ -280,15 +334,36 @@ layoutAcross :: (HasLoc l) => Ctx -> [GenLocated l a] -> Doc -> Doc layoutAcross ctx xs = layoutFrom ctx (spansOf xs) --- | Give the inside of a bracketed construct an anchor at its far end.-insideBrackets :: Maybe Span -> Doc -> Doc-insideBrackets here d = d <> foldMap (emptyAnchor . endOf) here---- | Lay a document out according to a span, and to the comments inside it.-grouped :: Ctx -> Span -> Doc -> Doc-grouped ctx s d- | holdsLineComment ctx s = broken d- | otherwise = group s d+-- | 'attach' an operator and its operand, leaving the operator's region at+-- the end of the line when it was written there, so that the comments+-- written around it stay on that line, and giving the indentation of the+-- operand's line a region, so that those above the operand come before it.+attachOperator ::+ Placement ->+ -- | What the operator follows.+ Maybe Span ->+ -- | The operator.+ Maybe Span ->+ -- | Its operand.+ Maybe Span ->+ -- | The operator, printed.+ Doc ->+ -- | Its operand, printed.+ Doc ->+ Doc+attachOperator placement before here after op operand = case here of+ Just s+ | placement == Normal,+ sameLine before here,+ not (sameLine here after) ->+ indent (located s mempty)+ <> attach+ Normal+ (foldMap indentation after <> unclaimed op <> space <> operand)+ _ -> attach placement (op <> space <> operand)+ where+ indentation o =+ located (mkSpan (spanStartLine o, 1) (startPoint o)) mempty -- | Does a comment that takes whole lines begin inside this span? holdsLineComment :: Ctx -> Span -> Bool
@@ -56,7 +56,7 @@ HsDataDefn GhcPs -> Doc dataDecl ctx style tyCon tyVars tyVarSpan renderTyVar fixity outerBinders HsDataDefn{..} =- txt keyword <> txt instanceWord <> header <> constructors <> derivings+ txt (keyword <> instanceWord) <> header <> constructors <> derivings where keyword = case dd_cons of NewTypeCon _ -> "newtype"@@ -329,7 +329,8 @@ brokenIfDocumented ctx tys $ case tys of DctSingle NoExtField sigTy -> parens (hsSigType ctx sigTy) DctMulti NoExtField sigTys ->- parens (commaSep (fmap (align . hsSigType ctx) sigTys))+ parens . insideBrackets (spanOf deriv_clause_tys) $+ commaSep (fmap (align . hsSigType ctx) sigTys) strategy = case deriv_clause_strategy of Nothing -> breakOrSpace <> indent what
@@ -65,22 +65,28 @@ | separate previous current = breakOrSpace : render current | otherwise = render current - separate previous current = case grouping of- Disregard -> True- Respect ->- separatedByBlank ctx ended began- || commentBetween ctx ended began- || isDocumented previous- || isDocumented current+ separate previous current =+ not (remarkUnder ctx ended began || underHeading) && case grouping of+ Disregard -> True+ Respect ->+ separatedByBlank ctx ended began+ || isDocumented previous+ || isDocumented current where ended = spanOf (NE.last previous) began = spanOf (NE.head current)+ underHeading =+ isHeading (unLoc (NE.last previous))+ && commentRightUnder ctx ended began isDocumented = any (isDocNext . unLoc) isDocNext = \case DocD _ (DocCommentNext _) -> True DocD _ (DocCommentPrev _) -> True _ -> False+ isHeading = \case+ DocD _ DocGroup{} -> True+ _ -> False -- | Gather declarations that belong together. groupDecls :: Ctx -> Bool -> [LHsDecl GhcPs] -> [NonEmpty (LHsDecl GhcPs)]@@ -92,16 +98,22 @@ | isDoc (unLoc (NE.head g)) -> (d :| []) : g : gs | otherwise -> (d <| g) : gs | otherwise =- let (together, rest) = span belongs (zip (d : ds) ds)- in (d :| fmap snd together) : groupDecls ctx isSignatureFile (fmap snd rest)+ let (together, rest) = gather d ds+ in (d :| together) : groupDecls ctx isSignatureFile rest where+ gather previous = \case+ current : more+ | belongs previous current ->+ let (together, rest) = gather current more+ in (current : together, rest)+ remaining -> ([], remaining) isDocNext = \case DocD _ (DocCommentNext _) -> True _ -> False isDoc = \case DocD _ _ -> True _ -> False- belongs (previous, current) =+ belongs previous current = (not isSignatureFile && isSignatureSeries ctx previous current) || isDerivingSeries ctx previous current || relatedDecls d current@@ -112,7 +124,7 @@ isSignatureSeries :: Ctx -> LHsDecl GhcPs -> LHsDecl GhcPs -> Bool isSignatureSeries ctx x@(L _ a) y@(L _ b) = case (a, b) of (SigD _ TypeSig{}, SigD _ TypeSig{}) ->- not (commentBetween ctx (spanOf x) (spanOf y))+ not (commentPrintedBetween ctx (spanOf x) (spanOf y)) _ -> False -- | Two standalone @deriving@ declarations the author ran together.
@@ -18,12 +18,14 @@ ) where +import Control.Applicative ((<|>)) import Data.Choice (Choice, fromBool, isTrue, pattern Is, pattern Isn't) import Data.Function (on) import Data.Generics.Schemes (listify) import Data.List (sortBy, unsnoc) import Data.List.NonEmpty (NonEmpty (..)) import Data.List.NonEmpty qualified as NE+import Data.Map.Strict qualified as Map import Data.Text (Text) import Data.Text qualified as T import GHC.Data.FastString (unpackFS)@@ -106,17 +108,19 @@ <> breakOrSpace <> underSite site (sepBy breakOrSpace (fmap alternative (NE.toList guards))) where- alternative g =- atSpan- ctx- (grhsSpan (unLoc g))- (guardedRhs ctx Normal (siteBracing site) (ExprBody ctx) RightArrow (unLoc g))- HsLet _ binds e -> letIn ctx (bodyIn (ExprBody ctx) (siteBracing site)) binds e+ alternative =+ guardedRhs ctx Normal (siteBracing site) (ExprBody ctx) RightArrow+ HsLet tokens binds e ->+ letIn ctx (bodyIn (ExprBody ctx) (siteBracing site)) nested tokens binds e+ where+ nested = case unLoc e of+ HsLet{} -> True+ _ -> False HsDo anns flavour es -> case flavour of DoExpr moduleName -> doBlock moduleName "do" MDoExpr moduleName -> doBlock moduleName "mdo"- ListComp -> comprehension ctx site es- MonadComp -> comprehension ctx site es+ ListComp -> comprehension ctx site here es+ MonadComp -> comprehension ctx site here es GhciStmtCtxt -> error "Tilia: GhciStmtCtxt cannot occur in a source file" where doBlock moduleName word =@@ -154,14 +158,18 @@ hsExpr ctx x <> joinedBy "::" <> indent (hsSigType ctx hswc_body)- ArithSeq _ _ range -> arithSeq ctx (closingFor site) range+ ArithSeq _ _ range -> arithSeq ctx here (closingFor site) range HsTypedBracket (bracketAnn, _) e ->- txt opener <> breakOrNothing <> hsExpr ctx e <> breakOrNothing <> txt "||]"+ txt opener+ <> breakOrNothing+ <> insideBrackets here (hsExpr ctx e)+ <> breakOrNothing+ <> txt "||]" where opener = case bracketAnn of BracketNoE{} -> "[||" BracketHasE{} -> "[e||"- HsUntypedBracket _ q -> quotation ctx q+ HsUntypedBracket _ q -> quotation ctx here q HsTypedSplice _ (HsTypedSpliceExpr _ e) -> spliceTH ctx (Is #typed) e DollarSplice HsUntypedSplice _ splice -> untypedSplice ctx DollarSplice splice HsProc _ p e ->@@ -219,7 +227,7 @@ case placement of Normal -> mayBraceWhenFlat (siteBracing site) headAndInit- <> indent (includeUnless (null initArgs) breakOrSpace <> hsExpr ctx lastArg)+ <> indent (breakOrSpace <> hsExpr ctx lastArg) Hanging -> layoutFrom ctx initSpan (headAndInit MayBrace) <> attach Hanging (hsExpr ctx lastArg)@@ -233,13 +241,12 @@ | otherwise = Normal headAndInit bracing = hsExprIn ctx site{siteApplicand = True, siteBracing = bracing} func- <> breakOrSpace- <> nest- (if placement == Hanging then 0 else 1)- ( sepBy- breakOrSpace- (fmap (hsExprIn ctx (withBracing bracing plainSite)) initArgs)+ <> foldMap+ ( nest (if placement == Hanging then 0 else 1)+ . (breakOrSpace <>)+ . hsExprIn ctx (withBracing bracing plainSite) )+ initArgs -- | The head of an application, and its arguments in the order written. gatherArgs ::@@ -268,8 +275,8 @@ Missing _ -> mempty -- | An arithmetic sequence, in whichever of its four forms.-arithSeq :: Ctx -> ClosingIndent -> ArithSeqInfo GhcPs -> Doc-arithSeq ctx closing = \case+arithSeq :: Ctx -> Maybe Span -> ClosingIndent -> ArithSeqInfo GhcPs -> Doc+arithSeq ctx here closing = \case From from -> wrap (hsExpr ctx from <> breakOrSpace <> txt "..") FromThen from next -> wrap (commaSep (fmap (hsExpr ctx) [from, next]) <> breakOrSpace <> txt "..")@@ -283,7 +290,7 @@ <> space <> hsExpr ctx to where- wrap = bracketsWith closing+ wrap = bracketsWith closing . insideBrackets here -- | One field of a record construction or update. fieldBind ::@@ -331,7 +338,9 @@ -- | The fixity of an operator used in an expression. fixityOf :: Ctx -> LHsExpr GhcPs -> Maybe Fixity-fixityOf ctx o = operatorName o >>= operatorFixity ctx InTerms+fixityOf ctx o =+ (spanOf o >>= (`Map.lookup` ctxCaptured ctx))+ <|> (operatorName o >>= operatorFixity ctx InTerms) -- | Print a chain of operators once precedence has regrouped it. renderExprChain :: Ctx -> Site -> OpChain (LHsExpr GhcPs) (LHsExpr GhcPs) -> Doc@@ -346,7 +355,8 @@ (if placement == Hanging then MayBrace else NoBrace) laidOut where- placement = chainPlacement exprHangs firstOne (NE.last operands)+ placement =+ chainPlacement exprHangs (chainSpan spanOf firstOne) (NE.last operands) laidOut bracing = renderExprChain ctx (withBracing bracing site) firstOne <> pieces bracing firstOne operators rest@@ -361,19 +371,28 @@ space <> hsExpr ctx o <> attach- (tailPlacement isLast previous operand)+ (tailPlacement isLast (chainSpan spanOf previous) o operand) (rendered <> rest')- else attach placement (hsExpr ctx o <> space <> rendered) <> rest'+ else+ attachOperator+ placement+ (chainSpan spanOf previous)+ (spanOf o)+ (chainSpan spanOf operand)+ (hsExpr ctx o)+ rendered+ <> rest' pieces _ _ _ _ = mempty- tailPlacement isLast previous operand+ tailPlacement isLast before o operand | isLast,- not (maybe True isSingleLine (chainSpan spanOf operand)) =- chainPlacement exprHangs previous operand+ not (maybe True isSingleLine (chainSpan spanOf operand)),+ not (lineCommentWrittenBetween ctx before (spanOf o)) =+ chainPlacement exprHangs (spanOf o) operand | otherwise = Normal commentedOperators = or (zipWith commentedBefore (NE.toList operands) operators) commentedBefore operand o =- commentBetween ctx (chainSpan spanOf operand) (spanOf o)+ commentPrintedBetween ctx (chainSpan spanOf operand) (spanOf o) trailing = (length operators == 1 || endsHanging) && not commentedOperators@@ -392,19 +411,21 @@ HsDo _ (MDoExpr _) _ -> True _ -> False --- | Whether the operands of a chain hang.+-- | Whether an operand hangs, which it can only where it starts on the line+-- the given span starts on. chainPlacement :: (HasLoc l) => (a -> Placement) ->- OpChain (GenLocated l a) op ->+ Maybe Span -> OpChain (GenLocated l a) op -> Placement-chainPlacement placer firstOne lastOne = case lastOne of+chainPlacement placer leader operand = case operand of Operand (L _ n) | startsTogether -> placer n+ Chain (first :| _) _ -> chainPlacement placer leader first _ -> Normal where startsTogether =- case (chainSpan spanOf firstOne, chainSpan spanOf lastOne) of+ case (leader, chainSpan spanOf operand) of (Just a, Just b) -> spanStartLine a == spanStartLine b _ -> False @@ -439,9 +460,9 @@ stmtBody ctx site mkBody = \case LastStmt _ body _ _ -> printBody (mkBody site body) BodyStmt _ body _ _ -> printBody (mkBody site body)- BindStmt _ p f ->+ BindStmt arrow p f -> hsPat ctx p- <> nest 1 (space <> txt "<-")+ <> nest 1 (space <> maybe id located (uniTokenSpan arrow) (txt "<-")) <> layoutFrom ctx (spanOf p <> spanOf f) (attach placement (printBody bound)) where bound = mkBody plainSite f@@ -520,13 +541,13 @@ plainSite{siteInBlock = True, siteBracing = bracing} -- | A list comprehension.-comprehension :: Ctx -> Site -> XRec GhcPs [ExprLStmt GhcPs] -> Doc-comprehension ctx site es = align (variant onOneLine acrossLines)+comprehension :: Ctx -> Site -> Maybe Span -> XRec GhcPs [ExprLStmt GhcPs] -> Doc+comprehension ctx site here es = align (variant onOneLine acrossLines) where onOneLine = txt "[" <> body <> txt "]" acrossLines = txt "[" <> space <> keepInside (body <> hardBreak <> txt "]") keepInside = if siteInBlock site then align else id- body = at ctx es sections+ body = insideBrackets here (at ctx es sections) sections xs = case unsnoc xs of Nothing -> error "Tilia: a comprehension always yields something" Just (stmts, yield) ->@@ -626,26 +647,35 @@ where keywordSpan = spanOfSrcSpan written placement- | commentBetween ctx keywordSpan (spanOf body) = Normal+ | commentPrintedBetween ctx keywordSpan (spanOf body) = Normal | otherwise = bodyPlacement (bodyOf body) --- | A @let@ expression or command.+-- | A @let@ expression or command, with @in@ ending its line where it is+-- one of a chain written that way, and the next on the line under it. letIn :: (Body b) => Ctx -> (LocatedA body -> b) ->+ -- | Whether the body is another @let@.+ Bool ->+ (EpToken "let", EpToken "in") -> HsLocalBinds GhcPs -> LocatedA body -> Doc-letIn ctx bodyOf binds body =+letIn ctx bodyOf nested (letToken, inToken) binds body = align $ txt "let" <> space- <> align (localBinds ctx NoBrace binds)- <> variant space (hardBreak <> txt " ")+ <> align+ ( localBinds ctx NoBrace binds+ <> foldMap (emptyAnchor . startOf) (tokenSpan inToken)+ )+ <> (if chained then space else variant space (hardBreak <> txt " ")) <> txt "in"- <> space+ <> (if chained then breakOrSpace else space) <> align (printBody (bodyOf body))+ where+ chained = nested && sameLine (tokenSpan letToken) (tokenSpan inToken) -- | The bindings of a @let@ or a @where@. localBinds :: Ctx -> Bracing -> HsLocalBinds GhcPs -> Doc@@ -741,7 +771,12 @@ HsCmdCase _ e mg -> caseOf ctx site (CmdBody ctx) e mg HsCmdIf anns _ c t e -> ifThenElse ctx (bodyIn (CmdBody ctx) (siteBracing site)) anns c t e- HsCmdLet _ binds c -> letIn ctx (bodyIn (CmdBody ctx) (siteBracing site)) binds c+ HsCmdLet tokens binds c ->+ letIn ctx (bodyIn (CmdBody ctx) (siteBracing site)) nested tokens binds c+ where+ nested = case unLoc c of+ HsCmdLet{} -> True+ _ -> False HsCmdDo anns es -> keywordAt ctx (doKeywordSpan anns) "do" <> statements ctx site (CmdBody ctx) es@@ -778,23 +813,29 @@ layoutFrom ctx (chainSpan spanOf chain) $ mayBraceWhenFlat (if placement == Hanging then MayBrace else NoBrace) laidOut where- placement = chainPlacement cmdTopHangs firstOne (NE.last operands)+ placement =+ chainPlacement+ cmdTopHangs+ (chainSpan spanOf firstOne)+ (NE.last operands) laidOut bracing =- renderIn bracing firstOne <> pieces bracing operators rest- pieces bracing (o : os) (operand : more) =- attach+ renderIn bracing firstOne <> pieces bracing firstOne operators rest+ pieces bracing previous (o : os) (operand : more) =+ attachOperator placement- ( hsExpr ctx o- <> space- <> renderIn- ( if null more- then siteBracing site- else bracing- )- operand+ (chainSpan spanOf previous)+ (spanOf o)+ (chainSpan spanOf operand)+ (hsExpr ctx o)+ ( renderIn+ ( if null more+ then siteBracing site+ else bracing+ )+ operand )- <> pieces bracing os more- pieces _ _ _ = mempty+ <> pieces bracing operand os more+ pieces _ _ _ _ = mempty renderIn bracing = \case Operand c -> at ctx c (cmdTop ctx (withBracing bracing site)) inner -> render inner@@ -901,13 +942,12 @@ <> multAnnGap <> strictness strict <> head'- <> nest- (if indentBody then 1 else 0)- ( separator- <> layoutFrom ctx bodySpan (attach placement body)- <> indent whereClause- )+ <> nest bodyNest rightHandSide+ <> whereClause where+ bodyNest = if indentBody then 1 else 0+ rightHandSide = separator <> layoutFrom ctx bodySpan (attach placement body)+ multAnnGap = case multAnn of HsUnannotated{} -> mempty _ -> space@@ -983,10 +1023,7 @@ alternative g = fenceWithin ctx (spanOf g) $- atSpan- ctx- (grhsSpan (unLoc g))- (guardedRhs ctx placement bracing mkBody groupStyle (unLoc g))+ guardedRhs ctx placement bracing mkBody groupStyle g groupStyle | isCaseStyle style && hasGuards = RightArrow@@ -995,11 +1032,12 @@ whereClause = case grhssLocalBinds of EmptyLocalBinds _ -> mempty binds ->- breakOrSpace- <> keywordAt ctx (whereKeywordSpan binds) "where"- <> includeUnless- (isEmptyLocalBinds binds)- (breakOrSpace <> indent (localBinds ctx bracing binds))+ nest bodyNest . indent $+ breakOrSpace+ <> keywordAt ctx (whereKeywordSpan binds) "where"+ <> includeUnless+ (isEmptyLocalBinds binds)+ (breakOrSpace <> indent (localBinds ctx bracing binds)) -- | Is this an alternative of a @case@ or a @\\case@? isCaseStyle :: MatchStyle -> Bool@@ -1036,7 +1074,7 @@ -- | One alternative of an equation: its guards, and what they guard. guardedRhs ::- (Body b) =>+ (Body b, Anno (GRHS GhcPs (LocatedA body)) ~ EpAnnCO) => Ctx -> -- | How the equation as a whole is placed. Placement ->@@ -1044,31 +1082,37 @@ Bracing -> BodyOf body b -> GuardStyle ->- GRHS GhcPs (LocatedA body) ->+ LGRHS GhcPs (LocatedA body) -> Doc-guardedRhs ctx parentPlacement bracing mkBody style (GRHS _ guards body) = case guards of- [] -> printBody bound+guardedRhs ctx parentPlacement bracing mkBody style lgrhs@(L _ grhs) = case guards of+ [] -> atSpan ctx (grhsSpan grhs) (printBody bound) _ ->- txt "|"- <> space- <> align (commaSep (fmap (align . hsStmt ctx) guards))- <> space- <> indent (txt separator)- <> nest- (if parentPlacement == Normal then 1 else 0)- (attach placement (printBody bound))+ maybe id located (spanOf lgrhs) . layoutFrom ctx (grhsSpan grhs) $+ txt "|"+ <> space+ <> align (commaSep (fmap (align . hsStmt ctx) guards))+ <> space+ <> indent (txt separator)+ <> nest+ (if parentPlacement == Normal then 1 else 0)+ (attach placement (printBody bound)) where+ GRHS EpAnn{anns = GrhsAnn{ga_sep}} guards body = grhs bound = bodyIn mkBody bracing body separator = case style of EqualsSign -> "=" RightArrow -> "->" placement- | maybe True (\g -> sameLine (Just g) (spanOf body)) endOfGuards =+ | sameLine separatorSpan (spanOf body),+ not (commentPrintedBetween ctx (spansOf guards) separatorSpan),+ not (remarkBefore && remarkAfter) = bodyPlacement bound | otherwise = Normal- endOfGuards = case guards of- [] -> Nothing- _ -> spanOf (last guards)+ separatorSpan = either annSpan annSpan ga_sep+ remarkBefore = lineCommentWrittenBetween ctx (spansOf guards) separatorSpan+ remarkAfter =+ lineCommentWrittenBetween ctx separatorSpan (nextLine <$> separatorSpan)+ nextLine s = mkSpan (spanEndLine s + 1, 1) (spanEndLine s + 1, 1) -- | A pattern synonym binding. patSynBind :: Ctx -> PatSynBind GhcPs GhcPs -> Doc@@ -1099,7 +1143,16 @@ layoutFrom ctx (spanOf l <> spanOf r)- (space <> name ctx l <> breakOrSpace <> indent (name ctx psb_id <> space <> name ctx r))+ ( space+ <> name ctx l+ <> attachOperator+ Normal+ (spanOf l)+ (spanOf psb_id)+ (spanOf r)+ (name ctx psb_id)+ (name ctx r)+ ) <> indent (definition (spanOf l <> spanOf r)) where argsAfterName rendered isEmpty =@@ -1140,8 +1193,8 @@ spliced = at ctx e (align . exprBody ctx plainSite (spanOf e)) -- | A Template Haskell quotation.-quotation :: Ctx -> HsQuote GhcPs -> Doc-quotation ctx = \case+quotation :: Ctx -> Maybe Span -> HsQuote GhcPs -> Doc+quotation ctx here = \case ExpBr (bracketAnn, _) e -> quoted (flavour bracketAnn) (hsExpr ctx e) where flavour = \case@@ -1159,7 +1212,7 @@ <> txt flavour <> txt "|" <> breakOrNothing- <> indent (body <> breakOrNothing <> txt "|]")+ <> indent (insideBrackets here body <> breakOrNothing <> txt "|]") starGuard x body | risky = space <> body <> space | otherwise = body
@@ -15,6 +15,7 @@ where import Control.Applicative ((<|>))+import Data.Char (isSpace) import Data.Data (Data) import Data.Generics.Schemes (listify) import Data.List (dropWhileEnd)@@ -26,6 +27,7 @@ import GHC.Hs import GHC.Types.SrcLoc (GenLocated (..), getLoc, unLoc) import Tilia.Doc.Combinators+import Tilia.Gathered (Gathered (..)) import Tilia.Render.Context import Tilia.Span import Tilia.Span.Ghc@@ -82,10 +84,11 @@ selfClosing written ) Nothing- | null written' -> (emptyBlock, True)- | blockForm -> (rebuiltBlock, False)- | otherwise -> (rebuilt, False)+ | null written' -> (writtenAt emptyBlock, True)+ | blockForm -> (writtenAt rebuiltBlock, False)+ | otherwise -> (writtenAt rebuilt, False) where+ writtenAt = maybe id fence (spanOfSrcSpan l) emptyBlock = txt (blockOpener style) <> space <> txt "-}" rebuilt = sepBy hardBreak (zipWith line' (True : repeat False) written')@@ -141,11 +144,17 @@ -- -- It may not when the Haddock is about to be printed in a style other than -- the one it was written in, since the text carries the style in its first--- characters.+-- characters, nor when it holds nothing but the spaces the end of a line+-- loses. reusableText :: Ctx -> DocStyle -> LHsDoc GhcPs -> Maybe (NonEmpty Text) reusableText ctx style doc = do written <- writtenHaddock ctx (spanOfSrcSpan (getLoc doc))- if openedInStyle style (NE.head written) then Just written else Nothing+ if openedInStyle style (NE.head written) && not onlySpaces+ then Just written+ else Nothing+ where+ onlySpaces = not (null text) && all isSpace text && '\n' `notElem` text+ text = renderHsDocString (hsDocString (unLoc doc)) -- | Was the Haddock written in the style it is about to come back out in? openedInStyle :: DocStyle -> Text -> Bool@@ -209,18 +218,20 @@ Just written -> not (selfClosing written) Nothing -> not (null (docLines (writtenAsBlock ctx doc) (unLoc doc))) --- | The spans of every Haddock in a fragment.-haddockSpans :: (Data a) => a -> [Span]-haddockSpans x = mapMaybe (spanOfSrcSpan . getLoc) (docsIn x) <> namedSections x+-- | The spans of every Haddock in a module.+haddockSpans :: Gathered -> [Span]+haddockSpans found =+ mapMaybe (spanOfSrcSpan . getLoc) (gatheredDocs found)+ <> namedSections (gatheredEntries found) -- | Every Haddock in a fragment. docsIn :: (Data a) => a -> [LHsDoc GhcPs] docsIn = listify (const True :: LHsDoc GhcPs -> Bool) --- | The spans of the @-- $name@ anchors in an export list.-namedSections :: (Data a) => a -> [Span]-namedSections =- mapMaybe anchorSpan . listify (const True :: LIE GhcPs -> Bool)+-- | The spans of the @-- $name@ anchors among the entries of an export+-- list.+namedSections :: [LIE GhcPs] -> [Span]+namedSections = mapMaybe anchorSpan where anchorSpan l = case unLoc l of IEDocNamed{} -> spanOfSrcSpan (getHasLoc (getLoc l))
@@ -11,6 +11,7 @@ ) where +import Control.Applicative ((<|>)) import Data.Function (on) import Data.List (sortOn) import Data.List.NonEmpty qualified as NE@@ -147,10 +148,13 @@ reproduce c = sepBy (verbatimBreak AtMargin TrimWhitespace) (fmap txt (NE.toList (commentBody c))) --- | The pragmas of a header, one per line, sorted.+-- | The pragmas of a header, one per line, sorted, with the options in the+-- order they were written, which is the order GHC reads their flags in. pragmaBlock :: [HeaderPragma] -> Doc-pragmaBlock = foldMap render . dedupe . sortOn key . concatMap split+pragmaBlock = foldMap render . dedupe . sortOn order . concatMap split where+ order p = (hpRun p, hpOrder p, extension p)+ extension p = if hpName p == "LANGUAGE" then hpBody p else "" key p = (hpRun p, hpOrder p, hpBody p) dedupe = fmap NE.head . NE.groupBy ((==) `on` key) split p@@ -186,33 +190,56 @@ spelledTheSame edition = t == T.pack (show (edition :: Language)) -- | A whole module.-hsModule :: Ctx -> [HeaderPragma] -> HsModule GhcPs -> Doc-hsModule ctx pragmas HsModule{hsmodExt = XModulePs{..}, ..} =- headerLayout $- pragmaBlock pragmas- <> hardBreak- <> moduleLine- <> hardBreak- <> foldMap (\i -> at_ ctx (importDecl ctx) i <> hardBreak) hsmodImports- <> hardBreak- <> layoutFrom ctx (spansOf hsmodDecls) (decls ctx Free hsmodDecls)+hsModule ::+ -- | The context.+ Ctx ->+ -- | The pragmas the header hoists.+ [HeaderPragma] ->+ -- | The empty line that opens the imports, where the comments written+ -- above it stay.+ Maybe Int ->+ -- | The module.+ HsModule GhcPs ->+ Doc+hsModule ctx pragmas opening HsModule{hsmodExt = XModulePs{..}, ..} =+ pragmaBlock pragmas+ <> hardBreak+ <> moduleLine+ <> hardBreak+ <> foldMap (\l -> located (mkSpan (l, 1) (l, 2)) mempty) opening+ <> foldMap (\i -> at_ ctx (importDecl ctx) i <> hardBreak) hsmodImports+ <> includeUnless+ (null hsmodDecls)+ ( hardBreak+ <> declarationsStart+ <> declarationLayout (decls ctx Free hsmodDecls)+ ) where+ declarationLayout = case (hsmodDecls, spansOf hsmodDecls) of+ (_ : _ : _, Just s) | isSingleLine s -> flat+ _ -> id exports = maybe [] unLoc hsmodExports- headerSpan = foldMap spanOf hsmodDeprecMessage <> foldMap spanOf hsmodExports+ headerSpan =+ foldMap (\w -> foldMap spanOf hsmodName <> spanOf w) hsmodDeprecMessage+ <> foldMap spanOf hsmodExports headerLayout- | any (isDocEntry . unLoc) exports = broken- | otherwise = layoutFrom ctx headerSpan+ | any (isDocEntry . unLoc) exports = id+ | maybe True isSingleLine headerSpan = flat+ | otherwise = id moduleLine = case hsmodName of Nothing -> mempty Just modName -> documentation <> at ctx modName (moduleHeadName ctx)- <> breakOrSpace- <> foldMap (\w -> at ctx w warningTxt <> breakOrSpace) hsmodDeprecMessage- <> foldMap exports' hsmodExports- <> txt "where"+ <> headerLayout+ ( breakOrSpace+ <> foldMap warning hsmodDeprecMessage+ <> foldMap exports' hsmodExports+ <> txt "where"+ ) <> hardBreak documentation = foldMap (haddock ctx Pipe Closed) hsmodHaddockModHeader+ warning w = at ctx w warningTxt <> breakOrSpace exports' l = at ctx l (\xs -> indent (exportList ctx (spanOf l) xs)) <> breakOrSpace @@ -281,12 +308,17 @@ <> txt "(..)" <> comma' <> itemDocumentation doc- IEThingWith (warning, _) n wildcard members doc ->+ IEThingWith (warning, (open, _, _, close)) n wildcard members doc -> align ( exportWarning warning <> at ctx n (wrappedName ctx)- <> breakOrSpace- <> indent (parens (insideBrackets here (commaSep (align <$> withWildcard))))+ <> layoutWithin+ ctx+ here+ (tokenSpan open <> tokenSpan close <|> here)+ ( breakOrSpace+ <> indent (parens (insideBrackets here (commaSep (align <$> withWildcard))))+ ) <> comma' ) <> itemDocumentation doc@@ -328,31 +360,42 @@ IEDocNamed{} -> True _ -> False --- | One import declaration.+-- | One import declaration: its keyword, then what it imports, its alias,+-- and its import list, each a node of its own past the keyword's column. importDecl :: Ctx -> ImportDecl GhcPs -> Doc importDecl ctx ImportDecl{..} =- txt "import"- <> space- <> includeWhen (ideclSource == IsBoot) (txt "{-# SOURCE #-}")- <> space- <> includeWhen ideclSafe (txt "safe")- <> space- <> levelBefore- <> space- <> includeWhen (isQualified && not qualifiedLast) (txt "qualified")- <> space- <> packageQualifier- <> space+ keywordAt ctx (tokenSpan (importDeclAnnImport annotation)) "import" <> indent- ( at ctx ideclName outputable+ ( space+ <> includeWhen (ideclSource == IsBoot) (txt "{-# SOURCE #-}") <> space- <> levelAfter- <> includeWhen (isQualified && qualifiedLast) (space <> txt "qualified")- <> foldMap (\a -> space <> txt "as" <> space <> at ctx a outputable) ideclAs+ <> includeWhen ideclSafe (keywordAt ctx (tokenSpan =<< importDeclAnnSafe annotation) "safe") <> space- <> importList+ <> levelBefore+ <> space+ <> includeWhen (isQualified && not qualifiedLast) qualified+ <> space+ <> packageQualifier+ <> space+ <> at ctx ideclName outputable+ <> space+ <> levelAfter+ <> includeWhen (isQualified && qualifiedLast) (space <> qualified) )+ <> foldMap+ ( \a ->+ indent+ ( space+ <> keywordAt ctx (tokenSpan =<< importDeclAnnAs annotation) "as"+ <> space+ <> at ctx a outputable+ )+ )+ ideclAs+ <> foldMap (indent . (space <>)) importList where+ annotation = anns (ideclAnn ideclExt)+ qualified = keywordAt ctx (tokenSpan =<< importDeclAnnQualified annotation) "qualified" qualifiedLast = extensionOn ctx ImportQualifiedPost isQualified = isImportDeclQualified ideclQualified packageQualifier = case ideclPkgQual of@@ -364,20 +407,16 @@ levelAfter = case ideclLevelSpec of LevelStylePost l -> declLevel l _ -> mempty- importList = case ideclImportList of- Nothing -> mempty- Just (interpretation, L listLoc xs) ->- hidden- <> breakOrSpace- <> parens- ( insideBrackets- (spanOfSrcSpan (locA listLoc))- (importExportItems ctx xs)- )- where- hidden = case interpretation of+ importList = flip fmap ideclImportList $ \(interpretation, L listLoc xs) ->+ let hidden = case interpretation of Exactly -> mempty- EverythingBut -> txt "hiding"+ EverythingBut -> keywordAt ctx (tokenSpan (fst (al_rest (anns listLoc)))) "hiding"+ listSpan = spanOfSrcSpan (locA listLoc)+ parensSpan = bracketsSpan (al_brackets (anns listLoc)) <|> listSpan+ in layoutWithin ctx listSpan parensSpan $+ hidden+ <> breakOrSpace+ <> parens (insideBrackets listSpan (importExportItems ctx xs)) -- | The keyword an import's level is written with. declLevel :: ImportDeclLevel -> Doc
@@ -124,8 +124,7 @@ InfixCon l r -> layoutFrom ctx (spanOf l <> spanOf r) $ recur l- <> breakOrSpace- <> indent (name ctx con <> space <> recur r)+ <> attachOperator Normal (spanOf l) (spanOf con) (spanOf r) (name ctx con) (recur r) where recur = hsPatIn ctx bracing inAsPat field = either wildcard (at_ ctx (patFieldBind ctx))
@@ -15,11 +15,14 @@ ) where +import Data.Char (toUpper)+import Data.List (isInfixOf) import Data.Text (Text)+import GHC.Data.FastString (unpackFS) import GHC.Hs import GHC.Types.Basic hiding (overlapMode) import GHC.Types.SourceText-import GHC.Types.SrcLoc (GenLocated (..), unLoc)+import GHC.Types.SrcLoc (unLoc) import GHC.Unit.Module.Warnings import Tilia.Doc.Combinators import Tilia.Render.Context@@ -54,8 +57,11 @@ NoUserInlinePrag -> mempty -- | The overlap pragma of an instance, and the separator after it.-overlapMode :: Maybe (LocatedP OverlapMode) -> Maybe Doc-overlapMode mode = txt . braced <$> (spelled . unLoc =<< mode)+overlapMode :: Ctx -> Maybe (LocatedP OverlapMode) -> Maybe Doc+overlapMode ctx mode = do+ m <- mode+ keyword <- spelled (unLoc m)+ pure (at ctx m (const (txt (braced keyword)))) where braced keyword = "{-# " <> keyword <> " #-}" spelled = \case@@ -67,15 +73,16 @@ -- | A @WARNING@ or @DEPRECATED@ declaration. warnDecls :: Ctx -> WarnDecls GhcPs -> Doc-warnDecls ctx (Warnings _ warnings) = case warnings of- [] -> mempty- (L _ (Warning _ _ wtxt) : _) ->- layoutAcross ctx warnings- . pragma (keywordOf wtxt)- . indent- $ sepBy (txt ";" <> breakOrSpace) (fmap (at_ ctx (warned ctx)) warnings)+warnDecls ctx (Warnings (_, opening) warnings) =+ layoutAcross ctx warnings+ . pragma keyword+ . indent+ $ sepBy (txt ";" <> breakOrSpace) (fmap (at_ ctx (warned ctx)) warnings) where- keywordOf wtxt = let (keyword, _, _) = warningParts wtxt in keyword+ keyword = case opening of+ SourceText s+ | "DEPRECATED" `isInfixOf` fmap toUpper (unpackFS s) -> "DEPRECATED"+ _ -> "WARNING" -- | One of the things a warning declaration names. warned :: Ctx -> WarnDecl GhcPs -> Doc
@@ -36,7 +36,7 @@ import Tilia.Render.Pragma import Tilia.Render.Type import Tilia.Span (startOf)-import Tilia.Span.Ghc (tokenSpan)+import Tilia.Span.Ghc (spanOf, spansOf, tokenSpan) -- | A signature declaration. sigDecl :: Ctx -> Sig GhcPs -> Doc@@ -72,19 +72,34 @@ typeSig ctx indentTail (n : ns) sigType | null ns = name ctx n <> typeAscription ctx sigType | otherwise =- name ctx n- <> nest- (if isTrue indentTail then 1 else 0)- ( comma- <> breakOrSpace- <> commaSep (fmap (name ctx) ns)- <> typeAscription ctx sigType+ layoutAcross ctx (n : ns) $+ variant+ (commaSep (fmap (name ctx) (n : ns)) <> ascription)+ ( name ctx n+ <> nest+ (if isTrue indentTail then 1 else 0)+ ( comma+ <> breakOrSpace+ <> commaSep (fmap (name ctx) ns)+ <> ascription+ ) )+ where+ ascription =+ layoutFrom+ ctx+ (spansOf (n : ns) <> spanOf sigType)+ (typeAscription ctx sigType) -- | @pattern P :: t@. patSynSig :: Ctx -> [LocatedN RdrName] -> LHsSigType GhcPs -> Doc patSynSig ctx names sigType- | length names > 1 = txt "pattern" <> breakOrSpace <> indent body+ | length names > 1 =+ txt "pattern"+ <> layoutAcross+ ctx+ names+ (variant (space <> body) (breakOrSpace <> indent body)) | otherwise = txt "pattern" <> space <> body where body = typeSig ctx (Don't #indentTail) names sigType
@@ -160,10 +160,17 @@ Operand t -> hsType ctx t chain@(Chain (firstOne :| rest) operators) -> layoutFrom ctx (chainSpan spanOf chain) $- renderChain ctx firstOne <> mconcat (zipWith piece operators rest)+ renderChain ctx firstOne+ <> mconcat (zipWith3 piece (firstOne : rest) operators rest) where- piece op operand =- attach Normal (name ctx op <> space <> renderChain ctx operand)+ piece previous op operand =+ attachOperator+ Normal+ (chainSpan spanOf previous)+ (spanOf op)+ (chainSpan spanOf operand)+ (name ctx op)+ (renderChain ctx operand) -- | Gather a nest of applications into a head and its arguments. gatherAppArgs ::
@@ -13,6 +13,7 @@ -- * Execution runOver,+ outcomeOf, readAsUtf8, formattingOutcome, writeBack,@@ -22,6 +23,7 @@ Report (..), inplaceReport, checkReport,+ stdinReport, noted, ) where@@ -44,7 +46,7 @@ ) import Tilia.Newline (NewlineStyle (Lf), getNewlineStyle, setNewlineStyle) import Tilia.Palette (Color (Bad, Good, Middling, Place), Palette, marker, paint)-import Tilia.Utils (attempted, inParallel, indent, lineWidth, wrapTo)+import Tilia.Utils (asUtf8, attempted, inParallel, indent, lineWidth, wrapTo) ---------------------------------------------------------------------------- -- Outcomes@@ -103,20 +105,29 @@ !outcome <- readAsUtf8 path >>= \case Left why -> pure (Failed (Unreadable path why))- Right before ->- formatSource session path (setNewlineStyle Lf before) >>= \case- Left e -> pure (if refused e then Declined e else Failed e)- Right formatted -> pure (formattingOutcome before formatted)+ Right before -> outcomeOf session path before pure (path, outcome) +-- | What formatting source that has already been read comes to.+outcomeOf ::+ -- | The session.+ Session ->+ -- | The file the source came from.+ FilePath ->+ -- | The source.+ Text ->+ IO Outcome+outcomeOf session path before =+ formatSource session path (setNewlineStyle Lf before) >>= \case+ Left e -> pure (if refused e then Declined e else Failed e)+ Right formatted -> pure (formattingOutcome before formatted)+ -- | Read a source file as UTF-8. readAsUtf8 :: FilePath -> IO (Either Text Text) readAsUtf8 path = attempted (BS.readFile path) >>= \case Left why -> pure (Left why)- Right bytes -> pure $ case T.decodeUtf8' bytes of- Right text -> Right text- Left _ -> Left "it is not valid UTF-8"+ Right bytes -> pure (asUtf8 bytes) -- | Formatting outcome for a file. formattingOutcome ::@@ -142,9 +153,9 @@ -- | What to print when a run is over, and on which stream. data Report = Report- { -- | For standard output.- reportOut :: [Text],- -- | For standard error.+ { -- | For standard output, exactly as it is to be written.+ reportOut :: Text,+ -- | For standard error, line by line. reportErr :: [Text] } deriving (Eq, Show)@@ -153,7 +164,7 @@ inplaceReport :: Palette -> [(FilePath, Outcome)] -> Report inplaceReport palette outcomes = Report- { reportOut = tally palette ("✓", Good) "Formatted" (not . skipped) outcomes,+ { reportOut = T.unlines (tally palette ("✓", Good) "Formatted" (not . skipped) outcomes), reportErr = asides palette outcomes } where@@ -164,11 +175,37 @@ checkReport palette outcomes = Report { reportOut =- [ diffInFull palette path before after- | (path, Changed before after) <- outcomes- ],+ T.unlines+ [ diffInFull palette path before after+ | (path, Changed before after) <- outcomes+ ], reportErr = asides palette outcomes }++-- | The module a @for-editor@ run prints, formatted or as it was read where+-- it was declined, and why it was not formatted.+stdinReport ::+ Palette ->+ -- | The module as it was read.+ Text ->+ [(FilePath, Outcome)] ->+ Report+stdinReport palette input outcomes =+ Report+ { reportOut = foldMap (printed . snd) outcomes,+ reportErr = concatMap (said . snd) outcomes+ }+ where+ printed = \case+ Changed _ after -> after+ Failed _ -> ""+ _ -> input+ said = \case+ Declined e ->+ noted palette ("=", Middling) (describeFormatError palette e)+ Failed e ->+ noted palette ("✗", Bad) (describeFormatError palette e)+ _ -> [] -- | Everything said about the files that were not formatted. asides :: Palette -> [(FilePath, Outcome)] -> [Text]
@@ -14,8 +14,6 @@ sourceLines, lineAt, blankAt,- blankBelow,- closesABranch, directivePresentOnLine, directiveOnLine, @@ -24,8 +22,6 @@ ) where -import GHC.Hs (HsModule)-import GHC.Hs.Extension (GhcPs) import GHC.Parser.Annotation (LEpaComment) import Tilia.Comments (Comment, commentsOf) import Tilia.Source.Lines@@ -52,15 +48,13 @@ sourceOf :: -- | The lines of the module, as this configuration has them. Lines ->- -- | Comments the syntax tree does not carry. See 'commentsOf'.+ -- | Every comment of the module, in source order. [LEpaComment] ->- -- | The result of parsing.- HsModule GhcPs -> Source-sourceOf ls loose hsModule =+sourceOf ls cs = Source { srcLines = ls,- srcComments = commentsOf ls loose hsModule+ srcComments = commentsOf ls cs } -- | Every comment in a module, in source order.
@@ -13,8 +13,6 @@ blankAt, directivePresentOnLine, directiveOnLine,- blankBelow,- closesABranch, ) where @@ -89,35 +87,3 @@ body = T.stripStart rest keyword = T.takeWhile isAsciiLower body _ -> Nothing---- | Did the author leave an empty line below this line?-blankBelow :: Int -> Lines -> Bool-blankBelow start ls = go (start + 1)- where- go n- | n > IntMap.size (lnWritten ls) = False- | Nothing <- lineAt n ls = go (n + 1)- | leadsOut n = go (n + 1)- | otherwise = blankAt n ls- leadsOut n = case directiveOnLine =<< lineAt n ls of- Just (keyword, _) -> keyword `elem` leavingKeywords- Nothing -> False---- | Does the empty line under this one stand at the end of a branch?-closesABranch :: Int -> Lines -> Bool-closesABranch n ls = go False (n + 1)- where- go crossed k- | k > IntMap.size (lnWritten ls) = False- | otherwise = case lineAt k ls of- Nothing -> go crossed (k + 1)- Just l- | T.null (T.strip l) -> go True (k + 1)- | Just (keyword, _) <- directiveOnLine l ->- crossed && keyword `elem` leavingKeywords- | otherwise -> False---- | The directives that lead out of the region the line below them is in,--- rather than into one it is not.-leavingKeywords :: [Text]-leavingKeywords = ["elif", "elifdef", "elifndef", "else", "endif"]
@@ -1,3 +1,5 @@+{-# LANGUAGE LambdaCase #-}+ -- | Turning the compiler's positions into ours. module Tilia.Span.Ghc ( spanOfReal,@@ -5,12 +7,21 @@ spanOf, spansOf, tokenSpan,+ uniTokenSpan, annSpan,+ bracketsSpan, ) where import Data.Maybe (mapMaybe)-import GHC.Parser.Annotation (EpToken, HasLoc, getEpTokenSrcSpan, getHasLoc)+import GHC.Parser.Annotation+ ( AnnListBrackets (..),+ EpToken,+ EpUniToken (..),+ HasLoc,+ getEpTokenSrcSpan,+ getHasLoc,+ ) import GHC.Types.SrcLoc (GenLocated) import GHC.Types.SrcLoc qualified as GHC import Tilia.Span (Span, mkSpan)@@ -34,9 +45,25 @@ tokenSpan :: EpToken sym -> Maybe Span tokenSpan = spanOfSrcSpan . getEpTokenSrcSpan +-- | Where a keyword or a piece of punctuation that has a Unicode spelling+-- was written.+uniTokenSpan :: EpUniToken tok utok -> Maybe Span+uniTokenSpan = \case+ EpUniTok l _ -> annSpan l+ NoEpUniTok -> Nothing+ -- | Where an annotation says something was written. annSpan :: (HasLoc l) => l -> Maybe Span annSpan = spanOfSrcSpan . getHasLoc++-- | Where a list's brackets were written, from the opening one to the+-- closing one.+bracketsSpan :: AnnListBrackets -> Maybe Span+bracketsSpan = \case+ ListParens open close -> tokenSpan open <> tokenSpan close+ ListBraces open close -> tokenSpan open <> tokenSpan close+ ListSquare open close -> tokenSpan open <> tokenSpan close+ _ -> Nothing -- | The span covering every located thing in the list. spansOf :: (HasLoc l) => [GenLocated l a] -> Maybe Span
@@ -6,10 +6,13 @@ module Tilia.Utils ( quietly, attempted,+ asUtf8, lineWidth, indent, wrapTo, visibleLength,+ spellList,+ collected, tshow, inParallel, )@@ -24,11 +27,13 @@ ) import Control.Exception (SomeException, displayException, try) import Control.Monad (replicateM)+import Data.ByteString qualified as BS import Data.Foldable (for_, traverse_) import Data.IORef (atomicModifyIORef', newIORef, readIORef) import Data.Map.Strict qualified as Map import Data.Text (Text) import Data.Text qualified as T+import Data.Text.Encoding qualified as T -- | 'show' a value and take the result as 'Text'. tshow :: (Show a) => a -> Text@@ -49,6 +54,12 @@ Left (e :: SomeException) -> pure (Left (T.pack (displayException e))) Right a -> pure (Right a) +-- | Decode source as UTF-8.+asUtf8 :: BS.ByteString -> Either Text Text+asUtf8 bytes = case T.decodeUtf8' bytes of+ Right text -> Right text+ Left _ -> Left "it is not valid UTF-8"+ -- | The line width for the terminal output of this program. lineWidth :: Int lineWidth = 76@@ -78,6 +89,23 @@ | Just after <- T.stripPrefix "[" rest -> go n (T.drop 1 (T.dropWhile (/= 'm') after)) Just (_, rest) -> go (n + 1) rest++-- | Join items the way a sentence lists them: @a and b@, @a, b, and c@.+spellList :: [Text] -> Text+spellList items = case reverse items of+ [] -> ""+ [one] -> one+ [second, first'] -> first' <> " and " <> second+ (final : rest) -> T.intercalate ", " (reverse rest) <> ", and " <> final++-- | Collect the values filed under equal keys, keys in the order they first+-- appear.+collected :: (Eq k) => [(k, v)] -> [(k, [v])]+collected = foldl put []+ where+ put seen (k, v) = case break ((== k) . fst) seen of+ (before, (_, vs) : after) -> before <> [(k, vs <> [v])] <> after+ _ -> seen <> [(k, [v])] -- | Run an action over every element at once, as far as the machine allows. inParallel :: (a -> IO b) -> [a] -> IO [b]
@@ -0,0 +1,1183 @@+{-# LANGUAGE OverloadedStrings #-}++-- | Fixities of the operators the boot packages export, the world the tests+-- format the corpus in.+--+-- Generated by @generate-boot-fixities.py@ in the root of the repository,+-- from GHC 9.14.1. Run that script again to update this table.+module Tilia.BootFixities+ ( bootFixities,+ )+where++import Data.Map.Strict (Map)+import Data.Map.Strict qualified as Map+import Data.Text (Text)+import Tilia.Fixity++-- | Every module the boot packages expose, with the operators it exports.+bootFixities :: Map Text Fixities+bootFixities =+ Map.fromList+ [ entry+ "Control.Applicative"+ [("*>", [InTerms], LeftAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<**>", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<|>", [InTerms], LeftAssoc, 3)],+ entry "Control.Applicative.Backwards" [],+ entry "Control.Applicative.Lift" [],+ entry+ "Control.Arrow"+ [("&&&", [InTerms], RightAssoc, 3), ("***", [InTerms], RightAssoc, 3), ("+++", [InTerms], RightAssoc, 2), ("<+>", [InTerms], RightAssoc, 5), ("<<<", [InTerms], RightAssoc, 1), ("<<^", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1), (">>^", [InTerms], RightAssoc, 1), ("^<<", [InTerms], RightAssoc, 1), ("^>>", [InTerms], RightAssoc, 1), ("|||", [InTerms], RightAssoc, 2)],+ entry+ "Control.Category"+ [(".", [InTerms], RightAssoc, 9), ("<<<", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1)],+ entry "Control.Concurrent" [],+ entry "Control.Concurrent.Chan" [],+ entry "Control.Concurrent.MVar" [],+ entry "Control.Concurrent.QSem" [],+ entry "Control.Concurrent.QSemN" [],+ entry "Control.Concurrent.STM" [],+ entry "Control.Concurrent.STM.TArray" [],+ entry "Control.Concurrent.STM.TBQueue" [],+ entry "Control.Concurrent.STM.TChan" [],+ entry "Control.Concurrent.STM.TMVar" [],+ entry "Control.Concurrent.STM.TQueue" [],+ entry "Control.Concurrent.STM.TSem" [],+ entry "Control.Concurrent.STM.TVar" [],+ entry+ "Control.DeepSeq"+ [("$!!", [InTerms], RightAssoc, 0), ("<$!!>", [InTerms], LeftAssoc, 4), ("deepseq", [InTerms], RightAssoc, 0)],+ entry "Control.Exception" [],+ entry "Control.Exception.Annotation" [],+ entry "Control.Exception.Backtrace" [],+ entry "Control.Exception.Base" [],+ entry "Control.Exception.Context" [],+ entry+ "Control.Monad"+ [("<$", [InTerms], LeftAssoc, 4), ("<$!>", [InTerms], LeftAssoc, 4), ("<=<", [InTerms], RightAssoc, 1), ("=<<", [InTerms], RightAssoc, 1), (">=>", [InTerms], RightAssoc, 1), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1)],+ entry "Control.Monad.Accum" [],+ entry "Control.Monad.Catch" [],+ entry "Control.Monad.Catch.Pure" [],+ entry "Control.Monad.Cont" [],+ entry "Control.Monad.Cont.Class" [],+ entry "Control.Monad.Error.Class" [],+ entry "Control.Monad.Except" [],+ entry "Control.Monad.Fail" [],+ entry "Control.Monad.Fix" [],+ entry "Control.Monad.IO.Class" [],+ entry "Control.Monad.Identity" [],+ entry+ "Control.Monad.Instances"+ [("<$", [InTerms], LeftAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1)],+ entry "Control.Monad.RWS" [],+ entry "Control.Monad.RWS.CPS" [],+ entry "Control.Monad.RWS.Class" [],+ entry "Control.Monad.RWS.Lazy" [],+ entry "Control.Monad.RWS.Strict" [],+ entry "Control.Monad.Reader" [],+ entry "Control.Monad.Reader.Class" [],+ entry "Control.Monad.ST" [],+ entry "Control.Monad.ST.Lazy" [],+ entry "Control.Monad.ST.Lazy.Safe" [],+ entry "Control.Monad.ST.Lazy.Unsafe" [],+ entry "Control.Monad.ST.Safe" [],+ entry "Control.Monad.ST.Strict" [],+ entry "Control.Monad.ST.Unsafe" [],+ entry "Control.Monad.STM" [],+ entry "Control.Monad.Select" [],+ entry "Control.Monad.Signatures" [],+ entry "Control.Monad.State" [],+ entry "Control.Monad.State.Class" [],+ entry "Control.Monad.State.Lazy" [],+ entry "Control.Monad.State.Strict" [],+ entry "Control.Monad.Trans" [],+ entry "Control.Monad.Trans.Accum" [],+ entry "Control.Monad.Trans.Class" [],+ entry "Control.Monad.Trans.Cont" [],+ entry "Control.Monad.Trans.Except" [],+ entry "Control.Monad.Trans.Identity" [],+ entry "Control.Monad.Trans.Maybe" [],+ entry "Control.Monad.Trans.RWS" [],+ entry "Control.Monad.Trans.RWS.CPS" [],+ entry "Control.Monad.Trans.RWS.Lazy" [],+ entry "Control.Monad.Trans.RWS.Strict" [],+ entry "Control.Monad.Trans.Reader" [],+ entry "Control.Monad.Trans.Select" [],+ entry "Control.Monad.Trans.State" [],+ entry "Control.Monad.Trans.State.Lazy" [],+ entry "Control.Monad.Trans.State.Strict" [],+ entry "Control.Monad.Trans.Writer" [],+ entry "Control.Monad.Trans.Writer.CPS" [],+ entry "Control.Monad.Trans.Writer.Lazy" [],+ entry "Control.Monad.Trans.Writer.Strict" [],+ entry "Control.Monad.Writer" [],+ entry "Control.Monad.Writer.CPS" [],+ entry "Control.Monad.Writer.Class" [],+ entry "Control.Monad.Writer.Lazy" [],+ entry "Control.Monad.Writer.Strict" [],+ entry "Control.Monad.Zip" [],+ entry+ "Data.Array"+ [("!", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],+ entry+ "Data.Array.Base"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],+ entry "Data.Array.Byte" [],+ entry+ "Data.Array.IArray"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],+ entry "Data.Array.IO" [],+ entry "Data.Array.IO.Internals" [],+ entry "Data.Array.IO.Safe" [],+ entry "Data.Array.MArray" [],+ entry "Data.Array.MArray.Safe" [],+ entry "Data.Array.ST" [],+ entry "Data.Array.ST.Safe" [],+ entry "Data.Array.Storable" [],+ entry "Data.Array.Storable.Internals" [],+ entry "Data.Array.Storable.Safe" [],+ entry+ "Data.Array.Unboxed"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],+ entry "Data.Array.Unsafe" [],+ entry "Data.Bifoldable" [],+ entry "Data.Bifoldable1" [],+ entry "Data.Bifunctor" [],+ entry "Data.Binary" [],+ entry "Data.Binary.Builder" [],+ entry "Data.Binary.Get" [],+ entry "Data.Binary.Get.Internal" [],+ entry "Data.Binary.Put" [],+ entry "Data.Bitraversable" [],+ entry+ "Data.Bits"+ [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],+ entry+ "Data.Bool"+ [("&&", [InTerms], RightAssoc, 3), ("||", [InTerms], RightAssoc, 2)],+ entry "Data.Bounded" [],+ entry+ "Data.ByteString"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry "Data.ByteString.Builder" [],+ entry "Data.ByteString.Builder.Extra" [],+ entry "Data.ByteString.Builder.Internal" [],+ entry+ "Data.ByteString.Builder.Prim"+ [(">$<", [InTerms], LeftAssoc, 4), (">*<", [InTerms], RightAssoc, 5)],+ entry+ "Data.ByteString.Builder.Prim.Internal"+ [(">$<", [InTerms], LeftAssoc, 4), (">*<", [InTerms], RightAssoc, 5)],+ entry "Data.ByteString.Builder.RealFloat" [],+ entry+ "Data.ByteString.Char8"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry "Data.ByteString.Internal" [],+ entry+ "Data.ByteString.Lazy"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("cons'", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry+ "Data.ByteString.Lazy.Char8"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("cons'", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry "Data.ByteString.Lazy.Internal" [],+ entry+ "Data.ByteString.Short"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry+ "Data.ByteString.Short.Internal"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry "Data.ByteString.Unsafe" [],+ entry "Data.Char" [],+ entry "Data.Coerce" [],+ entry+ "Data.Complex"+ [(":+", [InTerms], NoAssoc, 6)],+ entry "Data.Containers.ListUtils" [],+ entry+ "Data.Data"+ [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],+ entry "Data.Dynamic" [],+ entry "Data.Either" [],+ entry "Data.Enum" [],+ entry+ "Data.Eq"+ [("/=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4)],+ entry "Data.Fixed" [],+ entry+ "Data.Foldable"+ [("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry "Data.Foldable1" [],+ entry+ "Data.Function"+ [("$", [InTerms], RightAssoc, 0), ("&", [InTerms], LeftAssoc, 1), (".", [InTerms], RightAssoc, 9), ("on", [InTerms], LeftAssoc, 0)],+ entry+ "Data.Functor"+ [("$>", [InTerms], LeftAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<&>", [InTerms], LeftAssoc, 1)],+ entry "Data.Functor.Classes" [],+ entry+ "Data.Functor.Compose"+ [("Compose", [InTypes, InTerms], RightAssoc, 9)],+ entry "Data.Functor.Const" [],+ entry "Data.Functor.Constant" [],+ entry+ "Data.Functor.Contravariant"+ [("$<", [InTerms], LeftAssoc, 4), (">$", [InTerms], LeftAssoc, 4), (">$$<", [InTerms], LeftAssoc, 4), (">$<", [InTerms], LeftAssoc, 4)],+ entry "Data.Functor.Identity" [],+ entry "Data.Functor.Product" [],+ entry "Data.Functor.Reverse" [],+ entry "Data.Functor.Sum" [],+ entry "Data.Graph" [],+ entry "Data.IORef" [],+ entry "Data.Int" [],+ entry+ "Data.IntMap"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry+ "Data.IntMap.Internal"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry "Data.IntMap.Internal.Debug" [],+ entry+ "Data.IntMap.Lazy"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry "Data.IntMap.Merge.Lazy" [],+ entry "Data.IntMap.Merge.Strict" [],+ entry+ "Data.IntMap.Strict"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry+ "Data.IntMap.Strict.Internal"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry+ "Data.IntSet"+ [("\\\\", [InTerms], LeftAssoc, 9)],+ entry+ "Data.IntSet.Internal"+ [("\\\\", [InTerms], LeftAssoc, 9)],+ entry "Data.IntSet.Internal.IntTreeCommons" [],+ entry "Data.Ix" [],+ entry "Data.Kind" [],+ entry+ "Data.List"+ [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry+ "Data.List.NonEmpty"+ [("!!", [InTerms], LeftAssoc, 9), (":|", [InTypes, InTerms], RightAssoc, 5), ("<|", [InTerms], RightAssoc, 5)],+ entry+ "Data.Map"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry+ "Data.Map.Internal"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry "Data.Map.Internal.Debug" [],+ entry+ "Data.Map.Lazy"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry "Data.Map.Merge.Lazy" [],+ entry "Data.Map.Merge.Strict" [],+ entry+ "Data.Map.Strict"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry+ "Data.Map.Strict.Internal"+ [("!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("\\\\", [InTerms], LeftAssoc, 9)],+ entry "Data.Maybe" [],+ entry+ "Data.Monoid"+ [("<>", [InTerms], RightAssoc, 6)],+ entry+ "Data.Ord"+ [("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4)],+ entry "Data.Proxy" [],+ entry+ "Data.Ratio"+ [("%", [InTerms], LeftAssoc, 7)],+ entry "Data.STRef" [],+ entry "Data.STRef.Lazy" [],+ entry "Data.STRef.Strict" [],+ entry+ "Data.Semigroup"+ [("<>", [InTerms], RightAssoc, 6)],+ entry+ "Data.Sequence"+ [("!?", [InTerms], LeftAssoc, 9), (":<", [InTerms], RightAssoc, 5), (":<|", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), (":|>", [InTerms], LeftAssoc, 5), ("<|", [InTerms], RightAssoc, 5), ("><", [InTerms], RightAssoc, 5), ("|>", [InTerms], LeftAssoc, 5)],+ entry+ "Data.Sequence.Internal"+ [("!?", [InTerms], LeftAssoc, 9), (":<", [InTerms], RightAssoc, 5), (":<|", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), (":|>", [InTerms], LeftAssoc, 5), ("<|", [InTerms], RightAssoc, 5), ("><", [InTerms], RightAssoc, 5), ("|>", [InTerms], LeftAssoc, 5)],+ entry+ "Data.Sequence.Internal.Sorting"+ [("IQCons", [InTypes, InTerms], RightAssoc, 8), ("ITQCons", [InTypes, InTerms], RightAssoc, 8), ("QCons", [InTerms], RightAssoc, 8), ("TQCons", [InTypes, InTerms], RightAssoc, 8)],+ entry+ "Data.Set"+ [("\\\\", [InTerms], LeftAssoc, 9)],+ entry+ "Data.Set.Internal"+ [("\\\\", [InTerms], LeftAssoc, 9)],+ entry "Data.String" [],+ entry+ "Data.Text"+ [(":<", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), ("cons", [InTerms], RightAssoc, 5)],+ entry "Data.Text.Array" [],+ entry "Data.Text.Encoding" [],+ entry "Data.Text.Encoding.Error" [],+ entry "Data.Text.Foreign" [],+ entry "Data.Text.IO" [],+ entry "Data.Text.IO.Utf8" [],+ entry+ "Data.Text.Internal"+ [("mul", [InTerms], LeftAssoc, 7), ("mul32", [InTerms], LeftAssoc, 7), ("mul64", [InTerms], LeftAssoc, 7)],+ entry "Data.Text.Internal.ArrayUtils" [],+ entry "Data.Text.Internal.Builder" [],+ entry+ "Data.Text.Internal.Builder.Functions"+ [("<>", [InTerms], RightAssoc, 4)],+ entry "Data.Text.Internal.Builder.Int.Digits" [],+ entry "Data.Text.Internal.Builder.RealFloat.Functions" [],+ entry "Data.Text.Internal.ByteStringCompat" [],+ entry "Data.Text.Internal.Encoding" [],+ entry "Data.Text.Internal.Encoding.Fusion" [],+ entry "Data.Text.Internal.Encoding.Fusion.Common" [],+ entry "Data.Text.Internal.Encoding.Utf16" [],+ entry "Data.Text.Internal.Encoding.Utf32" [],+ entry "Data.Text.Internal.Encoding.Utf8" [],+ entry "Data.Text.Internal.Fusion" [],+ entry "Data.Text.Internal.Fusion.CaseMapping" [],+ entry "Data.Text.Internal.Fusion.Common" [],+ entry "Data.Text.Internal.Fusion.Size" [],+ entry+ "Data.Text.Internal.Fusion.Types"+ [(":*:", [InTerms], LeftAssoc, 2)],+ entry "Data.Text.Internal.IO" [],+ entry "Data.Text.Internal.Lazy" [],+ entry "Data.Text.Internal.Lazy.Encoding.Fusion" [],+ entry "Data.Text.Internal.Lazy.Fusion" [],+ entry "Data.Text.Internal.Lazy.Search" [],+ entry "Data.Text.Internal.PrimCompat" [],+ entry "Data.Text.Internal.Private" [],+ entry "Data.Text.Internal.Read" [],+ entry "Data.Text.Internal.Search" [],+ entry "Data.Text.Internal.StrictBuilder" [],+ entry "Data.Text.Internal.Unsafe" [],+ entry "Data.Text.Internal.Unsafe.Char" [],+ entry "Data.Text.Internal.Validate" [],+ entry "Data.Text.Internal.Validate.Native" [],+ entry+ "Data.Text.Lazy"+ [(":<", [InTerms], RightAssoc, 5), (":>", [InTerms], LeftAssoc, 5), ("cons", [InTerms], RightAssoc, 5)],+ entry "Data.Text.Lazy.Builder" [],+ entry "Data.Text.Lazy.Builder.Int" [],+ entry "Data.Text.Lazy.Builder.RealFloat" [],+ entry "Data.Text.Lazy.Encoding" [],+ entry "Data.Text.Lazy.IO" [],+ entry "Data.Text.Lazy.Internal" [],+ entry "Data.Text.Lazy.Read" [],+ entry "Data.Text.Read" [],+ entry "Data.Text.Unsafe" [],+ entry "Data.Time" [],+ entry "Data.Time.Calendar" [],+ entry "Data.Time.Calendar.Easter" [],+ entry "Data.Time.Calendar.Julian" [],+ entry "Data.Time.Calendar.Month" [],+ entry "Data.Time.Calendar.MonthDay" [],+ entry "Data.Time.Calendar.OrdinalDate" [],+ entry "Data.Time.Calendar.Quarter" [],+ entry "Data.Time.Calendar.WeekDate" [],+ entry "Data.Time.Clock" [],+ entry "Data.Time.Clock.POSIX" [],+ entry "Data.Time.Clock.System" [],+ entry "Data.Time.Clock.TAI" [],+ entry "Data.Time.Format" [],+ entry "Data.Time.Format.ISO8601" [],+ entry "Data.Time.LocalTime" [],+ entry "Data.Traversable" [],+ entry "Data.Tree" [],+ entry "Data.Tuple" [],+ entry+ "Data.Type.Bool"+ [("&&", [InTypes], RightAssoc, 3), ("||", [InTypes], RightAssoc, 2)],+ entry "Data.Type.Coercion" [],+ entry+ "Data.Type.Equality"+ [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4), ("==", [InTypes], NoAssoc, 4), ("~~", [InTypes], NoAssoc, 4)],+ entry+ "Data.Type.Ord"+ [("<", [InTypes], NoAssoc, 4), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("<?", [InTypes], NoAssoc, 4), (">", [InTypes], NoAssoc, 4), (">=", [InTypes], NoAssoc, 4), (">=?", [InTypes], NoAssoc, 4), (">?", [InTypes], NoAssoc, 4)],+ entry+ "Data.Typeable"+ [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],+ entry "Data.Unique" [],+ entry "Data.Version" [],+ entry "Data.Void" [],+ entry "Data.Word" [],+ entry "Debug.Trace" [],+ entry+ "Foreign"+ [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],+ entry "Foreign.C" [],+ entry "Foreign.C.ConstPtr" [],+ entry "Foreign.C.Error" [],+ entry "Foreign.C.String" [],+ entry "Foreign.C.Types" [],+ entry "Foreign.Concurrent" [],+ entry "Foreign.ForeignPtr" [],+ entry "Foreign.ForeignPtr.Safe" [],+ entry "Foreign.ForeignPtr.Unsafe" [],+ entry "Foreign.Marshal" [],+ entry "Foreign.Marshal.Alloc" [],+ entry "Foreign.Marshal.Array" [],+ entry "Foreign.Marshal.Error" [],+ entry "Foreign.Marshal.Pool" [],+ entry "Foreign.Marshal.Safe" [],+ entry "Foreign.Marshal.Unsafe" [],+ entry "Foreign.Marshal.Utils" [],+ entry "Foreign.Ptr" [],+ entry+ "Foreign.Safe"+ [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],+ entry "Foreign.StablePtr" [],+ entry "Foreign.Storable" [],+ entry+ "GHC.Arr"+ [("!", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],+ entry "GHC.ArrayArray" [],+ entry+ "GHC.Base"+ [("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("*>", [InTerms], LeftAssoc, 4), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), ("/##", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), (":|", [InTypes, InTerms], RightAssoc, 5), ("<", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<**>", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("<>", [InTerms], RightAssoc, 6), ("<|>", [InTerms], LeftAssoc, 3), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2), ("~~", [InTypes], NoAssoc, 4)],+ entry+ "GHC.Bits"+ [(".&.", [InTerms], LeftAssoc, 7), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],+ entry "GHC.Boot.TH.Lib" [],+ entry "GHC.Boot.TH.Lib.Map" [],+ entry "GHC.Boot.TH.Lift" [],+ entry "GHC.Boot.TH.Ppr" [],+ entry+ "GHC.Boot.TH.PprLib"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry "GHC.Boot.TH.Quote" [],+ entry "GHC.Boot.TH.Syntax" [],+ entry "GHC.ByteOrder" [],+ entry "GHC.CString" [],+ entry "GHC.Char" [],+ entry+ "GHC.Classes"+ [("&&", [InTerms], RightAssoc, 3), ("/=", [InTerms], NoAssoc, 4), ("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), ("||", [InTerms], RightAssoc, 2)],+ entry "GHC.Clock" [],+ entry+ "GHC.Conc"+ [("par", [InTerms], RightAssoc, 0), ("pseq", [InTerms], RightAssoc, 0)],+ entry "GHC.Conc.IO" [],+ entry "GHC.Conc.Signal" [],+ entry+ "GHC.Conc.Sync"+ [("par", [InTerms], RightAssoc, 0), ("pseq", [InTerms], RightAssoc, 0)],+ entry "GHC.ConsoleHandler" [],+ entry "GHC.Constants" [],+ entry "GHC.Debug" [],+ entry+ "GHC.Desugar"+ [(">>>", [InTerms], LeftAssoc, 9)],+ entry "GHC.Encoding.UTF8" [],+ entry "GHC.Enum" [],+ entry "GHC.Environment" [],+ entry "GHC.Err" [],+ entry "GHC.Event" [],+ entry "GHC.Event.TimeOut" [],+ entry "GHC.Exception" [],+ entry "GHC.Exception.Type" [],+ entry "GHC.ExecutionStack" [],+ entry+ "GHC.Exts"+ [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0), ("~~", [InTypes], NoAssoc, 4)],+ entry "GHC.Fingerprint" [],+ entry "GHC.Fingerprint.Type" [],+ entry+ "GHC.Float"+ [("**", [InTerms], RightAssoc, 8)],+ entry "GHC.Float.ConversionUtils" [],+ entry "GHC.Float.RealFracMethods" [],+ entry "GHC.Foreign" [],+ entry "GHC.ForeignPtr" [],+ entry "GHC.ForeignSrcLang.Type" [],+ entry "GHC.GHCi" [],+ entry "GHC.GHCi.Helpers" [],+ entry+ "GHC.Generics"+ [(":*:", [InTypes, InTerms], RightAssoc, 6), (":+:", [InTypes], RightAssoc, 5), (":.:", [InTypes], RightAssoc, 7)],+ entry "GHC.IO" [],+ entry "GHC.IO.Buffer" [],+ entry "GHC.IO.BufferedIO" [],+ entry "GHC.IO.Device" [],+ entry "GHC.IO.Encoding" [],+ entry "GHC.IO.Encoding.CodePage" [],+ entry "GHC.IO.Encoding.Failure" [],+ entry "GHC.IO.Encoding.Iconv" [],+ entry "GHC.IO.Encoding.Latin1" [],+ entry "GHC.IO.Encoding.Types" [],+ entry "GHC.IO.Encoding.UTF16" [],+ entry "GHC.IO.Encoding.UTF32" [],+ entry "GHC.IO.Encoding.UTF8" [],+ entry "GHC.IO.Exception" [],+ entry "GHC.IO.FD" [],+ entry "GHC.IO.Handle" [],+ entry "GHC.IO.Handle.FD" [],+ entry "GHC.IO.Handle.Internals" [],+ entry "GHC.IO.Handle.Lock" [],+ entry "GHC.IO.Handle.Text" [],+ entry "GHC.IO.Handle.Types" [],+ entry "GHC.IO.IOMode" [],+ entry "GHC.IO.StdHandles" [],+ entry+ "GHC.IO.SubSystem"+ [("<!>", [InTerms], LeftAssoc, 7)],+ entry "GHC.IO.Unsafe" [],+ entry "GHC.IOArray" [],+ entry "GHC.IORef" [],+ entry "GHC.InfoProv" [],+ entry "GHC.Int" [],+ entry "GHC.Integer" [],+ entry "GHC.Integer.Logarithms" [],+ entry "GHC.Internal.AllocationLimitHandler" [],+ entry+ "GHC.Internal.Arr"+ [("!", [InTerms], LeftAssoc, 9), ("//", [InTerms], LeftAssoc, 9)],+ entry "GHC.Internal.ArrayArray" [],+ entry+ "GHC.Internal.Base"+ [("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("*>", [InTerms], LeftAssoc, 4), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), ("/##", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), (":|", [InTypes, InTerms], RightAssoc, 5), ("<", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<**>", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("<>", [InTerms], RightAssoc, 6), ("<|>", [InTerms], LeftAssoc, 3), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2), ("~~", [InTypes], NoAssoc, 4)],+ entry "GHC.Internal.Bignum.Backend" [],+ entry "GHC.Internal.Bignum.Backend.Native" [],+ entry "GHC.Internal.Bignum.Backend.Selected" [],+ entry "GHC.Internal.Bignum.BigNat" [],+ entry "GHC.Internal.Bignum.Integer" [],+ entry "GHC.Internal.Bignum.Natural" [],+ entry+ "GHC.Internal.Bignum.Primitives"+ [("&&#", [InTerms], RightAssoc, 3), ("||#", [InTerms], RightAssoc, 2)],+ entry "GHC.Internal.Bignum.WordArray" [],+ entry+ "GHC.Internal.Bits"+ [(".&.", [InTerms], LeftAssoc, 7), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],+ entry "GHC.Internal.ByteOrder" [],+ entry "GHC.Internal.CString" [],+ entry "GHC.Internal.Char" [],+ entry+ "GHC.Internal.Classes"+ [("&&", [InTerms], RightAssoc, 3), ("/=", [InTerms], NoAssoc, 4), ("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), ("||", [InTerms], RightAssoc, 2)],+ entry "GHC.Internal.Clock" [],+ entry "GHC.Internal.ClosureTypes" [],+ entry "GHC.Internal.Conc.Bound" [],+ entry "GHC.Internal.Conc.IO" [],+ entry "GHC.Internal.Conc.Signal" [],+ entry+ "GHC.Internal.Conc.Sync"+ [("par", [InTerms], RightAssoc, 0), ("pseq", [InTerms], RightAssoc, 0)],+ entry "GHC.Internal.ConsoleHandler" [],+ entry+ "GHC.Internal.Control.Arrow"+ [("&&&", [InTerms], RightAssoc, 3), ("***", [InTerms], RightAssoc, 3), ("+++", [InTerms], RightAssoc, 2), ("<+>", [InTerms], RightAssoc, 5), ("<<<", [InTerms], RightAssoc, 1), ("<<^", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1), (">>^", [InTerms], RightAssoc, 1), ("^<<", [InTerms], RightAssoc, 1), ("^>>", [InTerms], RightAssoc, 1), ("|||", [InTerms], RightAssoc, 2)],+ entry+ "GHC.Internal.Control.Category"+ [(".", [InTerms], RightAssoc, 9), ("<<<", [InTerms], RightAssoc, 1), (">>>", [InTerms], RightAssoc, 1)],+ entry "GHC.Internal.Control.Concurrent.MVar" [],+ entry "GHC.Internal.Control.Exception" [],+ entry "GHC.Internal.Control.Exception.Base" [],+ entry+ "GHC.Internal.Control.Monad"+ [("<$", [InTerms], LeftAssoc, 4), ("<$!>", [InTerms], LeftAssoc, 4), ("<=<", [InTerms], RightAssoc, 1), ("=<<", [InTerms], RightAssoc, 1), (">=>", [InTerms], RightAssoc, 1), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1)],+ entry "GHC.Internal.Control.Monad.Fail" [],+ entry "GHC.Internal.Control.Monad.Fix" [],+ entry "GHC.Internal.Control.Monad.IO.Class" [],+ entry "GHC.Internal.Control.Monad.ST" [],+ entry "GHC.Internal.Control.Monad.ST.Imp" [],+ entry "GHC.Internal.Control.Monad.ST.Lazy" [],+ entry "GHC.Internal.Control.Monad.ST.Lazy.Imp" [],+ entry "GHC.Internal.Control.Monad.Zip" [],+ entry+ "GHC.Internal.Data.Bits"+ [("!<<.", [InTerms], LeftAssoc, 8), ("!>>.", [InTerms], LeftAssoc, 8), (".&.", [InTerms], LeftAssoc, 7), (".<<.", [InTerms], LeftAssoc, 8), (".>>.", [InTerms], LeftAssoc, 8), (".^.", [InTerms], LeftAssoc, 6), (".|.", [InTerms], LeftAssoc, 5), ("rotate", [InTerms], LeftAssoc, 8), ("rotateL", [InTerms], LeftAssoc, 8), ("rotateR", [InTerms], LeftAssoc, 8), ("shift", [InTerms], LeftAssoc, 8), ("shiftL", [InTerms], LeftAssoc, 8), ("shiftR", [InTerms], LeftAssoc, 8), ("xor", [InTerms], LeftAssoc, 6)],+ entry+ "GHC.Internal.Data.Bool"+ [("&&", [InTerms], RightAssoc, 3), ("||", [InTerms], RightAssoc, 2)],+ entry "GHC.Internal.Data.Coerce" [],+ entry "GHC.Internal.Data.Data" [],+ entry "GHC.Internal.Data.Dynamic" [],+ entry "GHC.Internal.Data.Either" [],+ entry+ "GHC.Internal.Data.Eq"+ [("/=", [InTerms], NoAssoc, 4), ("==", [InTerms], NoAssoc, 4)],+ entry+ "GHC.Internal.Data.Foldable"+ [("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry+ "GHC.Internal.Data.Function"+ [("$", [InTerms], RightAssoc, 0), ("&", [InTerms], LeftAssoc, 1), (".", [InTerms], RightAssoc, 9), ("on", [InTerms], LeftAssoc, 0)],+ entry+ "GHC.Internal.Data.Functor"+ [("$>", [InTerms], LeftAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<&>", [InTerms], LeftAssoc, 1)],+ entry "GHC.Internal.Data.Functor.Const" [],+ entry "GHC.Internal.Data.Functor.Identity" [],+ entry+ "GHC.Internal.Data.Functor.Utils"+ [("#.", [InTypes, InTerms], LeftAssoc, 9)],+ entry "GHC.Internal.Data.IORef" [],+ entry "GHC.Internal.Data.Ix" [],+ entry+ "GHC.Internal.Data.List"+ [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry+ "GHC.Internal.Data.List.NonEmpty"+ [(":|", [InTypes, InTerms], RightAssoc, 5)],+ entry "GHC.Internal.Data.Maybe" [],+ entry+ "GHC.Internal.Data.Monoid"+ [("<>", [InTerms], RightAssoc, 6)],+ entry+ "GHC.Internal.Data.NonEmpty"+ [(":|", [InTypes, InTerms], RightAssoc, 5)],+ entry+ "GHC.Internal.Data.OldList"+ [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry+ "GHC.Internal.Data.Ord"+ [("<", [InTerms], NoAssoc, 4), ("<=", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4)],+ entry "GHC.Internal.Data.Proxy" [],+ entry "GHC.Internal.Data.STRef" [],+ entry "GHC.Internal.Data.STRef.Strict" [],+ entry "GHC.Internal.Data.Semigroup.Internal" [],+ entry "GHC.Internal.Data.String" [],+ entry "GHC.Internal.Data.Traversable" [],+ entry "GHC.Internal.Data.Tuple" [],+ entry+ "GHC.Internal.Data.Type.Bool"+ [("&&", [InTypes], RightAssoc, 3), ("||", [InTypes], RightAssoc, 2)],+ entry "GHC.Internal.Data.Type.Coercion" [],+ entry+ "GHC.Internal.Data.Type.Equality"+ [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4), ("==", [InTypes], NoAssoc, 4), ("~~", [InTypes], NoAssoc, 4)],+ entry+ "GHC.Internal.Data.Type.Ord"+ [("<", [InTypes], NoAssoc, 4), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("<?", [InTypes], NoAssoc, 4), (">", [InTypes], NoAssoc, 4), (">=", [InTypes], NoAssoc, 4), (">=?", [InTypes], NoAssoc, 4), (">?", [InTypes], NoAssoc, 4)],+ entry+ "GHC.Internal.Data.Typeable"+ [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],+ entry "GHC.Internal.Data.Unique" [],+ entry "GHC.Internal.Data.Version" [],+ entry "GHC.Internal.Data.Void" [],+ entry "GHC.Internal.Debug" [],+ entry "GHC.Internal.Debug.Trace" [],+ entry+ "GHC.Internal.Desugar"+ [(">>>", [InTerms], LeftAssoc, 9)],+ entry "GHC.Internal.Encoding.UTF8" [],+ entry "GHC.Internal.Enum" [],+ entry "GHC.Internal.Environment" [],+ entry "GHC.Internal.Err" [],+ entry "GHC.Internal.Event" [],+ entry "GHC.Internal.Event.TimeOut" [],+ entry "GHC.Internal.Exception" [],+ entry "GHC.Internal.Exception.Backtrace" [],+ entry "GHC.Internal.Exception.Context" [],+ entry "GHC.Internal.Exception.Type" [],+ entry "GHC.Internal.ExecutionStack" [],+ entry "GHC.Internal.ExecutionStack.Internal" [],+ entry+ "GHC.Internal.Exts"+ [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0), ("~~", [InTypes], NoAssoc, 4)],+ entry "GHC.Internal.Fingerprint" [],+ entry "GHC.Internal.Fingerprint.Type" [],+ entry+ "GHC.Internal.Float"+ [("**", [InTerms], RightAssoc, 8)],+ entry "GHC.Internal.Float.ConversionUtils" [],+ entry "GHC.Internal.Float.RealFracMethods" [],+ entry "GHC.Internal.Foreign.C.ConstPtr" [],+ entry "GHC.Internal.Foreign.C.Error" [],+ entry "GHC.Internal.Foreign.C.String" [],+ entry "GHC.Internal.Foreign.C.String.Encoding" [],+ entry "GHC.Internal.Foreign.C.Types" [],+ entry "GHC.Internal.Foreign.Concurrent" [],+ entry "GHC.Internal.Foreign.ForeignPtr" [],+ entry "GHC.Internal.Foreign.ForeignPtr.Imp" [],+ entry "GHC.Internal.Foreign.ForeignPtr.Unsafe" [],+ entry "GHC.Internal.Foreign.Marshal.Alloc" [],+ entry "GHC.Internal.Foreign.Marshal.Array" [],+ entry "GHC.Internal.Foreign.Marshal.Error" [],+ entry "GHC.Internal.Foreign.Marshal.Pool" [],+ entry "GHC.Internal.Foreign.Marshal.Safe" [],+ entry "GHC.Internal.Foreign.Marshal.Unsafe" [],+ entry "GHC.Internal.Foreign.Marshal.Utils" [],+ entry "GHC.Internal.Foreign.Ptr" [],+ entry "GHC.Internal.Foreign.StablePtr" [],+ entry "GHC.Internal.Foreign.Storable" [],+ entry "GHC.Internal.ForeignPtr" [],+ entry "GHC.Internal.ForeignSrcLang" [],+ entry "GHC.Internal.Functor.ZipList" [],+ entry "GHC.Internal.GHCi" [],+ entry "GHC.Internal.GHCi.Helpers" [],+ entry+ "GHC.Internal.Generics"+ [(":*:", [InTypes, InTerms], RightAssoc, 6), (":+:", [InTypes], RightAssoc, 5), (":.:", [InTypes], RightAssoc, 7)],+ entry "GHC.Internal.Heap.Closures" [],+ entry "GHC.Internal.Heap.Constants" [],+ entry "GHC.Internal.Heap.InfoTable" [],+ entry "GHC.Internal.Heap.InfoTable.Types" [],+ entry "GHC.Internal.Heap.InfoTableProf" [],+ entry "GHC.Internal.Heap.ProfInfo.Types" [],+ entry "GHC.Internal.IO" [],+ entry "GHC.Internal.IO.Buffer" [],+ entry "GHC.Internal.IO.BufferedIO" [],+ entry "GHC.Internal.IO.Device" [],+ entry "GHC.Internal.IO.Encoding" [],+ entry "GHC.Internal.IO.Encoding.CodePage" [],+ entry "GHC.Internal.IO.Encoding.Failure" [],+ entry "GHC.Internal.IO.Encoding.Iconv" [],+ entry "GHC.Internal.IO.Encoding.Latin1" [],+ entry "GHC.Internal.IO.Encoding.Types" [],+ entry "GHC.Internal.IO.Encoding.UTF16" [],+ entry "GHC.Internal.IO.Encoding.UTF32" [],+ entry "GHC.Internal.IO.Encoding.UTF8" [],+ entry "GHC.Internal.IO.Exception" [],+ entry "GHC.Internal.IO.FD" [],+ entry "GHC.Internal.IO.Handle" [],+ entry "GHC.Internal.IO.Handle.FD" [],+ entry "GHC.Internal.IO.Handle.Internals" [],+ entry "GHC.Internal.IO.Handle.Lock" [],+ entry "GHC.Internal.IO.Handle.Text" [],+ entry "GHC.Internal.IO.Handle.Types" [],+ entry "GHC.Internal.IO.IOMode" [],+ entry "GHC.Internal.IO.StdHandles" [],+ entry+ "GHC.Internal.IO.SubSystem"+ [("<!>", [InTerms], LeftAssoc, 7)],+ entry "GHC.Internal.IO.Unsafe" [],+ entry "GHC.Internal.IOArray" [],+ entry "GHC.Internal.IORef" [],+ entry "GHC.Internal.InfoProv" [],+ entry "GHC.Internal.InfoProv.Types" [],+ entry "GHC.Internal.Int" [],+ entry "GHC.Internal.Integer" [],+ entry "GHC.Internal.Integer.Logarithms" [],+ entry "GHC.Internal.IsList" [],+ entry "GHC.Internal.Ix" [],+ entry "GHC.Internal.LanguageExtensions" [],+ entry "GHC.Internal.Lexeme" [],+ entry+ "GHC.Internal.List"+ [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry "GHC.Internal.MVar" [],+ entry "GHC.Internal.Magic" [],+ entry "GHC.Internal.Magic.Dict" [],+ entry "GHC.Internal.Maybe" [],+ entry "GHC.Internal.Natural" [],+ entry+ "GHC.Internal.Num"+ [("*", [InTerms], LeftAssoc, 7), ("+", [InTerms], LeftAssoc, 6), ("-", [InTerms], LeftAssoc, 6)],+ entry+ "GHC.Internal.Numeric"+ [("**", [InTerms], RightAssoc, 8)],+ entry "GHC.Internal.Numeric.Natural" [],+ entry "GHC.Internal.OverloadedLabels" [],+ entry "GHC.Internal.Pack" [],+ entry+ "GHC.Internal.Prim"+ [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0)],+ entry "GHC.Internal.Prim.Exception" [],+ entry "GHC.Internal.Prim.Ext" [],+ entry "GHC.Internal.Prim.Panic" [],+ entry "GHC.Internal.Prim.PtrEq" [],+ entry+ "GHC.Internal.PrimopWrappers"+ [("*#", [InTerms], LeftAssoc, 9), ("*##", [InTerms], LeftAssoc, 9), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 9), ("+##", [InTerms], LeftAssoc, 9), ("-#", [InTerms], LeftAssoc, 9), ("-##", [InTerms], LeftAssoc, 9), ("/##", [InTerms], LeftAssoc, 9), ("/=#", [InTerms], LeftAssoc, 9), ("/=##", [InTerms], LeftAssoc, 9), ("<#", [InTerms], LeftAssoc, 9), ("<##", [InTerms], LeftAssoc, 9), ("<=#", [InTerms], LeftAssoc, 9), ("<=##", [InTerms], LeftAssoc, 9), ("==#", [InTerms], LeftAssoc, 9), ("==##", [InTerms], LeftAssoc, 9), (">#", [InTerms], LeftAssoc, 9), (">##", [InTerms], LeftAssoc, 9), (">=#", [InTerms], LeftAssoc, 9), (">=##", [InTerms], LeftAssoc, 9)],+ entry "GHC.Internal.Profiling" [],+ entry "GHC.Internal.Ptr" [],+ entry "GHC.Internal.RTS.Flags" [],+ entry "GHC.Internal.RTS.Flags.Test" [],+ entry "GHC.Internal.Read" [],+ entry+ "GHC.Internal.Real"+ [("%", [InTerms], LeftAssoc, 7), ("/", [InTerms], LeftAssoc, 7), (":%", [InTerms], LeftAssoc, 9), ("^", [InTerms], RightAssoc, 8), ("^%^", [InTerms], LeftAssoc, 9), ("^^", [InTerms], RightAssoc, 8), ("^^%^^", [InTerms], LeftAssoc, 9), ("div", [InTerms], LeftAssoc, 7), ("mod", [InTerms], LeftAssoc, 7), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7)],+ entry "GHC.Internal.Records" [],+ entry "GHC.Internal.ResponseFile" [],+ entry "GHC.Internal.ST" [],+ entry "GHC.Internal.STRef" [],+ entry "GHC.Internal.Show" [],+ entry "GHC.Internal.Stable" [],+ entry "GHC.Internal.StableName" [],+ entry "GHC.Internal.Stack" [],+ entry "GHC.Internal.Stack.Annotation" [],+ entry "GHC.Internal.Stack.CCS" [],+ entry "GHC.Internal.Stack.CloneStack" [],+ entry "GHC.Internal.Stack.Constants" [],+ entry "GHC.Internal.Stack.ConstantsProf" [],+ entry "GHC.Internal.Stack.Decode" [],+ entry "GHC.Internal.Stack.Types" [],+ entry "GHC.Internal.StaticPtr" [],+ entry "GHC.Internal.Stats" [],+ entry "GHC.Internal.Storable" [],+ entry "GHC.Internal.System.Environment" [],+ entry "GHC.Internal.System.Environment.Blank" [],+ entry "GHC.Internal.System.Exit" [],+ entry "GHC.Internal.System.IO" [],+ entry "GHC.Internal.System.IO.Error" [],+ entry "GHC.Internal.System.Mem" [],+ entry "GHC.Internal.System.Mem.StableName" [],+ entry "GHC.Internal.System.Posix.Internals" [],+ entry "GHC.Internal.System.Posix.Types" [],+ entry "GHC.Internal.TH.Lib" [],+ entry "GHC.Internal.TH.Lift" [],+ entry "GHC.Internal.TH.Quote" [],+ entry "GHC.Internal.TH.Syntax" [],+ entry+ "GHC.Internal.Text.ParserCombinators.ReadP"+ [("+++", [InTerms], RightAssoc, 5), ("<++", [InTerms], RightAssoc, 5)],+ entry+ "GHC.Internal.Text.ParserCombinators.ReadPrec"+ [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],+ entry+ "GHC.Internal.Text.Read"+ [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],+ entry "GHC.Internal.Text.Read.Lex" [],+ entry "GHC.Internal.Text.Show" [],+ entry "GHC.Internal.TopHandler" [],+ entry+ "GHC.Internal.Tuple"+ [("()", [InTypes, InTerms], LeftAssoc, 9), ("(,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9)],+ entry+ "GHC.Internal.Type.Reflection"+ [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],+ entry "GHC.Internal.Type.Reflection.Unsafe" [],+ entry+ "GHC.Internal.TypeError"+ [(":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6)],+ entry+ "GHC.Internal.TypeLits"+ [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), (":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],+ entry "GHC.Internal.TypeLits.Internal" [],+ entry+ "GHC.Internal.TypeNats"+ [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],+ entry "GHC.Internal.TypeNats.Internal" [],+ entry+ "GHC.Internal.Types"+ [("~~", [InTypes], NoAssoc, 4)],+ entry "GHC.Internal.Unicode" [],+ entry "GHC.Internal.Unsafe.Coerce" [],+ entry "GHC.Internal.Weak" [],+ entry "GHC.Internal.Weak.Finalize" [],+ entry "GHC.Internal.Word" [],+ entry "GHC.IsList" [],+ entry "GHC.Ix" [],+ entry "GHC.LanguageExtensions.Type" [],+ entry "GHC.Lexeme" [],+ entry+ "GHC.List"+ [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry "GHC.MVar" [],+ entry "GHC.Magic" [],+ entry "GHC.Magic.Dict" [],+ entry "GHC.Maybe" [],+ entry "GHC.Natural" [],+ entry+ "GHC.Num"+ [("*", [InTerms], LeftAssoc, 7), ("+", [InTerms], LeftAssoc, 6), ("-", [InTerms], LeftAssoc, 6)],+ entry "GHC.Num.Backend" [],+ entry "GHC.Num.Backend.Native" [],+ entry "GHC.Num.Backend.Selected" [],+ entry "GHC.Num.BigNat" [],+ entry "GHC.Num.Integer" [],+ entry "GHC.Num.Natural" [],+ entry+ "GHC.Num.Primitives"+ [("&&#", [InTerms], RightAssoc, 3), ("||#", [InTerms], RightAssoc, 2)],+ entry "GHC.Num.WordArray" [],+ entry+ "GHC.OldList"+ [("!!", [InTerms], LeftAssoc, 9), ("!?", [InTerms], LeftAssoc, 9), ("++", [InTerms], RightAssoc, 5), ("\\\\", [InTerms], NoAssoc, 5), ("elem", [InTerms], NoAssoc, 4), ("notElem", [InTerms], NoAssoc, 4)],+ entry "GHC.OverloadedLabels" [],+ entry+ "GHC.Prim"+ [("*#", [InTerms], LeftAssoc, 7), ("*##", [InTerms], LeftAssoc, 7), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 6), ("+##", [InTerms], LeftAssoc, 6), ("-#", [InTerms], LeftAssoc, 6), ("-##", [InTerms], LeftAssoc, 6), ("/##", [InTerms], LeftAssoc, 7), ("/=#", [InTerms], NoAssoc, 4), ("/=##", [InTerms], NoAssoc, 4), ("<#", [InTerms], NoAssoc, 4), ("<##", [InTerms], NoAssoc, 4), ("<=#", [InTerms], NoAssoc, 4), ("<=##", [InTerms], NoAssoc, 4), ("==#", [InTerms], NoAssoc, 4), ("==##", [InTerms], NoAssoc, 4), (">#", [InTerms], NoAssoc, 4), (">##", [InTerms], NoAssoc, 4), (">=#", [InTerms], NoAssoc, 4), (">=##", [InTerms], NoAssoc, 4), ("seq", [InTerms], RightAssoc, 0)],+ entry "GHC.Prim.Exception" [],+ entry "GHC.Prim.Ext" [],+ entry "GHC.Prim.Panic" [],+ entry "GHC.Prim.PtrEq" [],+ entry+ "GHC.PrimopWrappers"+ [("*#", [InTerms], LeftAssoc, 9), ("*##", [InTerms], LeftAssoc, 9), ("**##", [InTerms], LeftAssoc, 9), ("+#", [InTerms], LeftAssoc, 9), ("+##", [InTerms], LeftAssoc, 9), ("-#", [InTerms], LeftAssoc, 9), ("-##", [InTerms], LeftAssoc, 9), ("/##", [InTerms], LeftAssoc, 9), ("/=#", [InTerms], LeftAssoc, 9), ("/=##", [InTerms], LeftAssoc, 9), ("<#", [InTerms], LeftAssoc, 9), ("<##", [InTerms], LeftAssoc, 9), ("<=#", [InTerms], LeftAssoc, 9), ("<=##", [InTerms], LeftAssoc, 9), ("==#", [InTerms], LeftAssoc, 9), ("==##", [InTerms], LeftAssoc, 9), (">#", [InTerms], LeftAssoc, 9), (">##", [InTerms], LeftAssoc, 9), (">=#", [InTerms], LeftAssoc, 9), (">=##", [InTerms], LeftAssoc, 9)],+ entry "GHC.Profiling" [],+ entry "GHC.Ptr" [],+ entry "GHC.RTS.Flags" [],+ entry "GHC.Read" [],+ entry+ "GHC.Real"+ [("%", [InTerms], LeftAssoc, 7), ("/", [InTerms], LeftAssoc, 7), (":%", [InTerms], LeftAssoc, 9), ("^", [InTerms], RightAssoc, 8), ("^%^", [InTerms], LeftAssoc, 9), ("^^", [InTerms], RightAssoc, 8), ("^^%^^", [InTerms], LeftAssoc, 9), ("div", [InTerms], LeftAssoc, 7), ("mod", [InTerms], LeftAssoc, 7), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7)],+ entry "GHC.Records" [],+ entry "GHC.ResponseFile" [],+ entry "GHC.ST" [],+ entry "GHC.STRef" [],+ entry "GHC.Show" [],+ entry "GHC.Stable" [],+ entry "GHC.StableName" [],+ entry "GHC.Stack" [],+ entry "GHC.Stack.CCS" [],+ entry "GHC.Stack.CloneStack" [],+ entry "GHC.Stack.Types" [],+ entry "GHC.StaticPtr" [],+ entry "GHC.Stats" [],+ entry "GHC.Storable" [],+ entry "GHC.TopHandler" [],+ entry+ "GHC.Tuple"+ [("()", [InTypes, InTerms], LeftAssoc, 9), ("(,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9), ("(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", [InTypes, InTerms], LeftAssoc, 9)],+ entry+ "GHC.TypeError"+ [(":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6)],+ entry+ "GHC.TypeLits"+ [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), (":$$:", [InTerms], LeftAssoc, 5), (":<>:", [InTerms], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],+ entry+ "GHC.TypeNats"+ [("*", [InTypes], LeftAssoc, 7), ("+", [InTypes], LeftAssoc, 6), ("-", [InTypes], LeftAssoc, 6), ("<=", [InTypes], NoAssoc, 4), ("<=?", [InTypes], NoAssoc, 4), ("Div", [InTypes], LeftAssoc, 7), ("Mod", [InTypes], LeftAssoc, 7), ("^", [InTypes], RightAssoc, 8)],+ entry+ "GHC.Types"+ [("~~", [InTypes], NoAssoc, 4)],+ entry "GHC.Unicode" [],+ entry "GHC.Weak" [],+ entry "GHC.Weak.Finalize" [],+ entry "GHC.Word" [],+ entry "Language.Haskell.TH" [],+ entry+ "Language.Haskell.TH.CodeDo"+ [(">>", [InTerms], LeftAssoc, 9), (">>=", [InTerms], LeftAssoc, 9)],+ entry "Language.Haskell.TH.LanguageExtensions" [],+ entry "Language.Haskell.TH.Lib" [],+ entry "Language.Haskell.TH.Ppr" [],+ entry+ "Language.Haskell.TH.PprLib"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry "Language.Haskell.TH.Quote" [],+ entry "Language.Haskell.TH.Syntax" [],+ entry+ "Numeric"+ [("**", [InTerms], RightAssoc, 8)],+ entry "Numeric.Natural" [],+ entry+ "Prelude"+ [("!!", [InTerms], LeftAssoc, 9), ("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*", [InTerms], LeftAssoc, 7), ("**", [InTerms], RightAssoc, 8), ("*>", [InTerms], LeftAssoc, 4), ("+", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), ("/", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), ("<", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<>", [InTerms], RightAssoc, 6), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("^", [InTerms], RightAssoc, 8), ("^^", [InTerms], RightAssoc, 8), ("div", [InTerms], LeftAssoc, 7), ("elem", [InTerms], NoAssoc, 4), ("mod", [InTerms], LeftAssoc, 7), ("notElem", [InTerms], NoAssoc, 4), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2)],+ entry "System.CPUTime" [],+ entry "System.Cmd" [],+ entry "System.Console.GetOpt" [],+ entry "System.Directory" [],+ entry "System.Directory.Internal" [],+ entry+ "System.Directory.Internal.Prelude"+ [("!!", [InTerms], LeftAssoc, 9), ("$", [InTerms], RightAssoc, 0), ("$!", [InTerms], RightAssoc, 0), ("&&", [InTerms], RightAssoc, 3), ("*", [InTerms], LeftAssoc, 7), ("**", [InTerms], RightAssoc, 8), ("*>", [InTerms], LeftAssoc, 4), ("+", [InTerms], LeftAssoc, 6), ("++", [InTerms], RightAssoc, 5), ("-", [InTerms], LeftAssoc, 6), (".", [InTerms], RightAssoc, 9), (".&.", [InTerms], LeftAssoc, 7), (".|.", [InTerms], LeftAssoc, 5), ("/", [InTerms], LeftAssoc, 7), ("/=", [InTerms], NoAssoc, 4), ("<", [InTerms], NoAssoc, 4), ("<$", [InTerms], LeftAssoc, 4), ("<$>", [InTerms], LeftAssoc, 4), ("<*", [InTerms], LeftAssoc, 4), ("<*>", [InTerms], LeftAssoc, 4), ("<=", [InTerms], NoAssoc, 4), ("<=<", [InTerms], RightAssoc, 1), ("<>", [InTerms], RightAssoc, 6), ("=<<", [InTerms], RightAssoc, 1), ("==", [InTerms], NoAssoc, 4), (">", [InTerms], NoAssoc, 4), (">=", [InTerms], NoAssoc, 4), (">=>", [InTerms], RightAssoc, 1), (">>", [InTerms], LeftAssoc, 1), (">>=", [InTerms], LeftAssoc, 1), ("^", [InTerms], RightAssoc, 8), ("^^", [InTerms], RightAssoc, 8), ("div", [InTerms], LeftAssoc, 7), ("elem", [InTerms], NoAssoc, 4), ("mod", [InTerms], LeftAssoc, 7), ("notElem", [InTerms], NoAssoc, 4), ("on", [InTerms], LeftAssoc, 0), ("quot", [InTerms], LeftAssoc, 7), ("rem", [InTerms], LeftAssoc, 7), ("seq", [InTerms], RightAssoc, 0), ("||", [InTerms], RightAssoc, 2)],+ entry "System.Directory.OsPath" [],+ entry "System.Environment" [],+ entry "System.Environment.Blank" [],+ entry "System.Exit" [],+ entry+ "System.FilePath"+ [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],+ entry+ "System.FilePath.Posix"+ [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],+ entry+ "System.FilePath.Windows"+ [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],+ entry "System.IO" [],+ entry "System.IO.Error" [],+ entry "System.IO.Unsafe" [],+ entry "System.Info" [],+ entry "System.Mem" [],+ entry "System.Mem.StableName" [],+ entry "System.Mem.Weak" [],+ entry+ "System.OsPath"+ [("-<.>", [InTerms], LeftAssoc, 9), ("<.>", [InTerms], LeftAssoc, 9), ("</>", [InTerms], LeftAssoc, 9)],+ entry "System.OsPath.Encoding" [],+ entry "System.OsPath.Internal" [],+ entry+ "System.OsPath.Posix"+ [("-<.>", [InTerms], LeftAssoc, 9), ("<.>", [InTerms], LeftAssoc, 9), ("</>", [InTerms], LeftAssoc, 9)],+ entry+ "System.OsPath.Posix.Internal"+ [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],+ entry "System.OsPath.Types" [],+ entry+ "System.OsPath.Windows"+ [("-<.>", [InTerms], LeftAssoc, 9), ("<.>", [InTerms], LeftAssoc, 9), ("</>", [InTerms], LeftAssoc, 9)],+ entry+ "System.OsPath.Windows.Internal"+ [("-<.>", [InTerms], RightAssoc, 7), ("<.>", [InTerms], RightAssoc, 7), ("</>", [InTerms], RightAssoc, 5)],+ entry+ "System.OsString"+ [("!?", [InTerms], LeftAssoc, 9)],+ entry+ "System.OsString.Data.ByteString.Short"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry "System.OsString.Data.ByteString.Short.Internal" [],+ entry+ "System.OsString.Data.ByteString.Short.Word16"+ [("!?", [InTerms], LeftAssoc, 9), ("cons", [InTerms], RightAssoc, 5), ("snoc", [InTerms], LeftAssoc, 5)],+ entry "System.OsString.Encoding" [],+ entry "System.OsString.Encoding.Internal" [],+ entry+ "System.OsString.Internal"+ [("!?", [InTerms], LeftAssoc, 9)],+ entry "System.OsString.Internal.Exception" [],+ entry "System.OsString.Internal.Types" [],+ entry+ "System.OsString.Posix"+ [("!?", [InTerms], LeftAssoc, 9)],+ entry+ "System.OsString.Windows"+ [("!?", [InTerms], LeftAssoc, 9)],+ entry+ "System.Posix"+ [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],+ entry+ "System.Posix.ByteString"+ [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],+ entry "System.Posix.ByteString.FilePath" [],+ entry "System.Posix.Directory" [],+ entry "System.Posix.Directory.ByteString" [],+ entry "System.Posix.Directory.Fd" [],+ entry "System.Posix.Directory.Internals" [],+ entry "System.Posix.Directory.PosixPath" [],+ entry "System.Posix.DynamicLinker" [],+ entry "System.Posix.DynamicLinker.ByteString" [],+ entry "System.Posix.DynamicLinker.Module" [],+ entry "System.Posix.DynamicLinker.Module.ByteString" [],+ entry "System.Posix.DynamicLinker.Prim" [],+ entry "System.Posix.Env" [],+ entry "System.Posix.Env.ByteString" [],+ entry "System.Posix.Env.PosixString" [],+ entry "System.Posix.Error" [],+ entry "System.Posix.Fcntl" [],+ entry "System.Posix.Files" [],+ entry "System.Posix.Files.ByteString" [],+ entry "System.Posix.Files.PosixString" [],+ entry "System.Posix.IO" [],+ entry "System.Posix.IO.ByteString" [],+ entry "System.Posix.IO.PosixString" [],+ entry "System.Posix.Internals" [],+ entry "System.Posix.PosixPath.FilePath" [],+ entry+ "System.Posix.PosixString"+ [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],+ entry "System.Posix.Process" [],+ entry "System.Posix.Process.ByteString" [],+ entry "System.Posix.Process.Internals" [],+ entry "System.Posix.Process.PosixString" [],+ entry "System.Posix.Resource" [],+ entry "System.Posix.Semaphore" [],+ entry "System.Posix.SharedMem" [],+ entry+ "System.Posix.Signals"+ [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],+ entry+ "System.Posix.Signals.Exts"+ [("addSignal", [InTerms], RightAssoc, 9), ("deleteSignal", [InTerms], RightAssoc, 9)],+ entry "System.Posix.Temp" [],+ entry "System.Posix.Temp.ByteString" [],+ entry "System.Posix.Temp.PosixString" [],+ entry "System.Posix.Terminal" [],+ entry "System.Posix.Terminal.ByteString" [],+ entry "System.Posix.Terminal.PosixString" [],+ entry "System.Posix.Time" [],+ entry "System.Posix.Types" [],+ entry "System.Posix.Unistd" [],+ entry "System.Posix.User" [],+ entry "System.Posix.User.ByteString" [],+ entry "System.Process" [],+ entry "System.Process.CommunicationHandle" [],+ entry "System.Process.CommunicationHandle.Internal" [],+ entry "System.Process.Environment.OsString" [],+ entry "System.Process.Internals" [],+ entry "System.Timeout" [],+ entry+ "Text.Parsec"+ [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],+ entry "Text.Parsec.ByteString" [],+ entry "Text.Parsec.ByteString.Lazy" [],+ entry "Text.Parsec.Char" [],+ entry "Text.Parsec.Combinator" [],+ entry "Text.Parsec.Error" [],+ entry "Text.Parsec.Expr" [],+ entry "Text.Parsec.Language" [],+ entry+ "Text.Parsec.Perm"+ [("<$$>", [InTerms], LeftAssoc, 2), ("<$?>", [InTerms], LeftAssoc, 2), ("<|?>", [InTerms], LeftAssoc, 1), ("<||>", [InTerms], LeftAssoc, 1)],+ entry "Text.Parsec.Pos" [],+ entry+ "Text.Parsec.Prim"+ [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],+ entry "Text.Parsec.String" [],+ entry "Text.Parsec.Text" [],+ entry "Text.Parsec.Text.Lazy" [],+ entry "Text.Parsec.Token" [],+ entry+ "Text.ParserCombinators.Parsec"+ [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],+ entry "Text.ParserCombinators.Parsec.Char" [],+ entry "Text.ParserCombinators.Parsec.Combinator" [],+ entry "Text.ParserCombinators.Parsec.Error" [],+ entry "Text.ParserCombinators.Parsec.Expr" [],+ entry "Text.ParserCombinators.Parsec.Language" [],+ entry+ "Text.ParserCombinators.Parsec.Perm"+ [("<$$>", [InTerms], LeftAssoc, 2), ("<$?>", [InTerms], LeftAssoc, 2), ("<|?>", [InTerms], LeftAssoc, 1), ("<||>", [InTerms], LeftAssoc, 1)],+ entry "Text.ParserCombinators.Parsec.Pos" [],+ entry+ "Text.ParserCombinators.Parsec.Prim"+ [("<?>", [InTerms], NoAssoc, 0), ("<|>", [InTerms], RightAssoc, 1)],+ entry "Text.ParserCombinators.Parsec.Token" [],+ entry+ "Text.ParserCombinators.ReadP"+ [("+++", [InTerms], RightAssoc, 5), ("<++", [InTerms], RightAssoc, 5)],+ entry+ "Text.ParserCombinators.ReadPrec"+ [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],+ entry+ "Text.PrettyPrint"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry+ "Text.PrettyPrint.Annotated"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry+ "Text.PrettyPrint.Annotated.HughesPJ"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry+ "Text.PrettyPrint.Annotated.HughesPJClass"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry+ "Text.PrettyPrint.HughesPJ"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry+ "Text.PrettyPrint.HughesPJClass"+ [("$$", [InTerms], LeftAssoc, 5), ("$+$", [InTerms], LeftAssoc, 5), ("<+>", [InTerms], LeftAssoc, 6), ("<>", [InTerms], LeftAssoc, 6)],+ entry "Text.Printf" [],+ entry+ "Text.Read"+ [("+++", [InTerms], LeftAssoc, 9), ("<++", [InTerms], LeftAssoc, 9)],+ entry "Text.Read.Lex" [],+ entry "Text.Show" [],+ entry "Text.Show.Functions" [],+ entry "Trace.Hpc.Mix" [],+ entry "Trace.Hpc.Reflect" [],+ entry "Trace.Hpc.Tix" [],+ entry "Trace.Hpc.Util" [],+ entry+ "Type.Reflection"+ [(":~:", [InTypes], NoAssoc, 4), (":~~:", [InTypes], NoAssoc, 4)],+ entry "Type.Reflection.Unsafe" [],+ entry "Unsafe.Coerce" []+ ]+ where+ entry name ops =+ ( name,+ Map.fromList+ [ ((namespace, OpName o), Fixity d p)+ | (o, governs, d, p) <- ops,+ namespace <- governs+ ]+ )
@@ -84,11 +84,39 @@ library <- asked (root </> "src" </> "M.hs") (length <$> library) `shouldSatisfy` either (const False) (> 40) + it "are Haskell98's where it names no edition, as cabal builds it" $+ inPackage namesNoEdition ["src"] $ \root -> do+ library <- asked (root </> "src" </> "M.hs")+ (has NondecreasingIndentation library, has ImportQualifiedPost library)+ `shouldBe` (True, False)+ it "can be turned off again by default-extensions" $ inPackage refusesAnEdition ["src"] $ \root -> (has ImportQualifiedPost <$> asked (root </> "src" </> "M.hs")) `shouldReturn` False + it "take in the extensions field older packages use, as cabal does" $+ inPackage usesTheOldField ["src"] $ \root ->+ (has Cpp <$> asked (root </> "src" </> "M.hs"))+ `shouldReturn` True++ it "take in those of every branch the build takes" $+ inPackage conditionalExtensions ["src"] $ \root -> do+ library <- asked (root </> "src" </> "M.hs")+ (has StarIsType library, has MagicHash library)+ `shouldBe` (False, True)++ it "leave out those of a branch the build does not take" $+ inPackage conditionalExtensions ["src"] $ \root -> do+ library <- asked (root </> "src" </> "M.hs")+ (has BangPatterns library, has Strict library)+ `shouldBe` (False, False)++ it "take in their own branch's too, for a module only it declares" $+ inPackage conditionalExtensions ["src", "old"] $ \root -> do+ old <- asked (root </> "old" </> "Old.hs")+ (has BangPatterns old, has StarIsType old) `shouldBe` (True, False)+ describe "a file nothing can be settled for" $ do it "says so when there is no package above it" $ withSystemTempDirectory "tilia-nopackage" $ \root ->@@ -208,6 +236,19 @@ " default-language: GHC2021" ] +-- | A library that names no language edition.+namesNoEdition :: Text+namesNoEdition =+ T.unlines+ [ "cabal-version: 2.4",+ "name: demo",+ "version: 0",+ "",+ "library",+ " exposed-modules: M",+ " hs-source-dirs: src"+ ]+ -- | An edition, and then one of the things it brings taken back out. refusesAnEdition :: Text refusesAnEdition =@@ -221,6 +262,54 @@ " hs-source-dirs: src", " default-language: GHC2021", " default-extensions: NoImportQualifiedPost"+ ]++-- | An extension turned on in the field that came before+-- @default-extensions@.+usesTheOldField :: Text+usesTheOldField =+ T.unlines+ [ "cabal-version: >= 1.10",+ "name: demo",+ "version: 0",+ "build-type: Simple",+ "",+ "library",+ " exposed-modules: M",+ " hs-source-dirs: src",+ " default-language: Haskell2010",+ " extensions: CPP"+ ]++-- | Extensions behind conditions on the compiler, one met and one not, and+-- behind a flag on by default and one off.+conditionalExtensions :: Text+conditionalExtensions =+ T.unlines+ [ "cabal-version: 2.4",+ "name: demo",+ "version: 0",+ "",+ "flag fast",+ " default: True",+ "",+ "flag strict",+ " default: False",+ "",+ "library",+ " exposed-modules: M",+ " hs-source-dirs: src",+ " default-language: Haskell2010",+ " if impl(ghc >= 8.6)",+ " default-extensions: NoStarIsType",+ " if impl(ghc < 8.6)",+ " other-modules: Old",+ " hs-source-dirs: old",+ " default-extensions: BangPatterns",+ " if flag(fast)",+ " default-extensions: MagicHash",+ " if flag(strict)",+ " default-extensions: Strict" ] ----------------------------------------------------------------------------
@@ -56,17 +56,22 @@ describe "against this very project" $ do root <- runIO (findProjectRoot ".") case root of- Nothing -> it "needs a project" $ pendingWith "no project above the working directory"+ Nothing -> it "needs a project" $ expectationFailure "no project above the working directory" Just here -> do it "is rooted at the cabal.project, not the .cabal file" $ prMarker here `shouldBe` ProjectFile - it "finds the three components this package declares" $+ it "finds the four components this package declares" $ componentsOfTarget here Everything >>= \case Left problem -> expectationFailure (T.unpack (describeTargetProblem problem)) Right cs -> sort (fmap (\c -> (componentKind c, componentName c)) cs)- `shouldBe` sort [(Lib, "tilia"), (Exe, "tilia"), (Test, "tests")]+ `shouldBe` sort+ [ (Lib, "tilia"),+ (Exe, "tilia"),+ (Test, "tests"),+ (Bench, "bench")+ ] it "narrows to one component when asked for one" $ componentsOfTarget here (Qualified Nothing Lib "tilia") >>= \case@@ -78,7 +83,7 @@ it "takes the package name as all of its components" $ componentsOfTarget here (Called "tilia") >>= \case Left problem -> expectationFailure (T.unpack (describeTargetProblem problem))- Right cs -> length cs `shouldBe` 3+ Right cs -> length cs `shouldBe` 4 it "refuses a target the project does not hold, and says what it does" $ componentsOfTarget here (Called "nothing-like-this") >>= \case@@ -300,7 +305,7 @@ files <- filesOfComponents root cs fmap takeFileName files `shouldBe` ["A.hs"] - it "excludes literal files and directory trees from .tiliaignore"+ it "excludes files and directory trees .tiliaignore names" $ withProject [ ( "only.cabal", packageWith@@ -308,7 +313,7 @@ ["src"] ["Runner", "Generated", "Fixtures.Input", "Fixtures.Nested.Other", "FixturesOther.Keep"] ),- (".tiliaignore", " # Generated sources and runtime fixtures\r\n\r\n ./src/Fixtures/ \r\nsrc/Generated.hs\r\n"),+ (".tiliaignore", "# Generated sources and runtime fixtures\r\n\r\n/src/Fixtures/ \r\nsrc/Generated.hs\r\n"), ("src/Runner.hs", "module Runner where\n"), ("src/Generated.hs", "module Generated where\n"), ("src/Fixtures/Input.hs", "module Fixtures.Input where\n"),@@ -338,6 +343,24 @@ Right cs -> do files <- filesOfComponents root cs sort (map takeFileName files) `shouldBe` ["A.hs", "B.hs"]++ it "reads .tiliaignore the way Git reads .gitignore"+ $ withProject+ [ ("cabal.project", "packages: one\n"),+ (".tiliaignore", "*Spec.hs\n!/one/test/KeepSpec.hs\n"),+ ("one/.tiliaignore", "Gen*/\n"),+ ("one/one.cabal", packageWith "one" ["src", "test"] ["A", "Generated.B", "KeepSpec", "DropSpec"]),+ ("one/src/A.hs", "module A where\n"),+ ("one/src/Generated/B.hs", "module Generated.B where\n"),+ ("one/test/KeepSpec.hs", "module KeepSpec where\n"),+ ("one/test/DropSpec.hs", "module DropSpec where\n")+ ]+ $ \root ->+ componentsOfTarget root Everything >>= \case+ Left problem -> expectationFailure (T.unpack (describeTargetProblem problem))+ Right cs -> do+ files <- filesOfComponents root cs+ sort (map takeFileName files) `shouldBe` ["A.hs", "KeepSpec.hs"] it "can exclude every file of an explicitly selected component" $ withProject
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff