packages feed

Cabal revisions of disco-0.1.3.0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-cabal-version:       2.4-name:                disco-version:             0.1.3.0-synopsis:            Functional programming language for teaching discrete math.-description:         Disco is a simple functional programming language for use in-                     teaching discrete math.  Its syntax is designed to be close-                     to standard mathematical practice.-license:             BSD-3-Clause-license-file:        LICENSE-author:              Disco team-maintainer:          byorgey@gmail.com-copyright:           Disco team 2016-2022 (see LICENSE)-category:            Language--tested-with:         GHC == 8.10.4--data-dir:            lib--data-files:          *.disco--extra-source-files:  README.md, CHANGELOG.md, stack.yaml, example/*.disco, repl/*.hs-                     docs/tutorial/example/*.disco-                     --- TEST FILES BEGIN (updated automatically by add-test-files.hs) ----                     test/README.md-                     test/Tests.hs-                     test/arith-basic-bin/expected-                     test/arith-basic-bin/input-                     test/arith-basic-un/expected-                     test/arith-basic-un/input-                     test/arith-count/expected-                     test/arith-count/input-                     test/arith-numthry/expected-                     test/arith-numthry/input-                     test/arith-prim/arith-prim.disco-                     test/arith-prim/expected-                     test/arith-prim/input-                     test/arith-round/expected-                     test/arith-round/input-                     test/case-arith/case-arith.disco-                     test/case-arith/expected-                     test/case-arith/input-                     test/case-basic/case-basic.disco-                     test/case-basic/expected-                     test/case-basic/input-                     test/case-let/case-let.disco-                     test/case-let/expected-                     test/case-let/input-                     test/compile-cons/expected-                     test/compile-cons/input-                     test/compile-misc/expected-                     test/compile-misc/input-                     test/containers-cmp/expected-                     test/containers-cmp/input-                     test/containers-comp/expected-                     test/containers-comp/input-                     test/containers-convert/expected-                     test/containers-convert/input-                     test/containers-each/expected-                     test/containers-each/input-                     test/containers-ellipsis/expected-                     test/containers-ellipsis/input-                     test/containers-filter/expected-                     test/containers-filter/input-                     test/containers-join/expected-                     test/containers-join/input-                     test/containers-merge/expected-                     test/containers-merge/input-                     test/containers-ops/expected-                     test/containers-ops/input-                     test/containers-reduce/containers-reduce.disco-                     test/containers-reduce/expected-                     test/containers-reduce/input-                     test/error-ambiguous/a.disco-                     test/error-ambiguous/ambiguous.disco-                     test/error-ambiguous/b.disco-                     test/error-ambiguous/expected-                     test/error-ambiguous/input-                     test/error-cyclic/cyclic.disco-                     test/error-cyclic/expected-                     test/error-cyclic/input-                     test/error-duplicatedecls/dupdecls.disco-                     test/error-duplicatedecls/expected-                     test/error-duplicatedecls/input-                     test/error-duplicatedefns/dupdefns.disco-                     test/error-duplicatedefns/expected-                     test/error-duplicatedefns/input-                     test/error-duplicatetydefns/duptydefns.disco-                     test/error-duplicatetydefns/expected-                     test/error-duplicatetydefns/input-                     test/error-emptycase/expected-                     test/error-emptycase/input-                     test/error-names/expected-                     test/error-names/input-                     test/error-notcon/expected-                     test/error-notcon/input-                     test/error-notype/expected-                     test/error-notype/input-                     test/error-numpatterns/expected-                     test/error-numpatterns/input-                     test/error-numpatterns/numpatterns.disco-                     test/error-pattype/expected-                     test/error-pattype/input-                     test/error-polyrec/expected-                     test/error-polyrec/input-                     test/error-polyrec/polyrec.disco-                     test/error-qualskolem/expected-                     test/error-qualskolem/input-                     test/error-qualskolem/qualskolem.disco-                     test/error-tyargs/error-tyargs.disco-                     test/error-tyargs/expected-                     test/error-tyargs/input-                     test/error-unboundtyvar/expected-                     test/error-unboundtyvar/input-                     test/error-unboundtyvar/unboundtyvar.disco-                     test/error-unqual-base/expected-                     test/error-unqual-base/input-                     test/error-unqual-base/unqualbase.disco-                     test/error-unqual/expected-                     test/error-unqual/input-                     test/error-wildcard/expected-                     test/error-wildcard/input-                     test/graphs-basic/expected-                     test/graphs-basic/input-                     test/graphs-equality/expected-                     test/graphs-equality/input-                     test/interp-loop/expected-                     test/interp-loop/input-                     test/interp-strictmatch/bomb.disco-                     test/interp-strictmatch/expected-                     test/interp-strictmatch/input-                     test/lib-oeis/expected-                     test/lib-oeis/input-                     test/list-comp/expected-                     test/list-comp/input-                     test/list-poly/expected-                     test/list-poly/input-                     test/logic-bools/expected-                     test/logic-bools/input-                     test/logic-cmp/expected-                     test/logic-cmp/input-                     test/map-basic/expected-                     test/map-basic/input-                     test/map-compare/expected-                     test/map-compare/input-                     test/module-basic/a.disco-                     test/module-basic/b.disco-                     test/module-basic/c.disco-                     test/module-basic/e.disco-                     test/module-basic/expected-                     test/module-basic/input-                     test/module-basic/subdir/d.disco-                     test/module-cycle/cyclic1.disco-                     test/module-cycle/cyclic2.disco-                     test/module-cycle/expected-                     test/module-cycle/input-                     test/module-notfound/expected-                     test/module-notfound/input-                     test/parse-245/expected-                     test/parse-245/input-                     test/parse-280/capitalvars.disco-                     test/parse-280/expected-                     test/parse-280/input-                     test/parse-320/expected-                     test/parse-320/input-                     test/parse-case-expr/expected-                     test/parse-case-expr/input-                     test/parse-nested-list/expected-                     test/parse-nested-list/input-                     test/parse-quantifiers/expected-                     test/parse-quantifiers/input-                     test/parse-top-term/expected-                     test/parse-top-term/input-                     test/parse-top-term/parse-top-term.disco-                     test/poly-bad/expected-                     test/poly-bad/input-                     test/poly-infer-sort/expected-                     test/poly-infer-sort/input-                     test/poly-instantiate/expected-                     test/poly-instantiate/input-                     test/poly-instantiate/poly-instantiate.disco-                     test/poly-rectype/expected-                     test/poly-rectype/input-                     test/poly-rectype/poly-rectype.disco-                     test/pretty-defn/expected-                     test/pretty-defn/input-                     test/pretty-functions/expected-                     test/pretty-functions/input-                     test/pretty-issue258/expected-                     test/pretty-issue258/input-                     test/pretty-lit/expected-                     test/pretty-lit/input-                     test/pretty-ops/expected-                     test/pretty-ops/input-                     test/pretty-pattern/expected-                     test/pretty-pattern/input-                     test/pretty-torture/expected-                     test/pretty-torture/input-                     test/pretty-type/expected-                     test/pretty-type/input-                     test/pretty-whnf/expected-                     test/pretty-whnf/input-                     test/prim-crash/expected-                     test/prim-crash/input-                     test/prim-frac/expected-                     test/prim-frac/input-                     test/prim-sum/expected-                     test/prim-sum/input-                     test/prop-basic/expected-                     test/prop-basic/input-                     test/prop-basic/prop-basic.disco-                     test/prop-cmp/expected-                     test/prop-cmp/input-                     test/prop-fail/bad-tests.disco-                     test/prop-fail/expected-                     test/prop-fail/input-                     test/prop-fairness/expected-                     test/prop-fairness/input-                     test/prop-higher-order/expected-                     test/prop-higher-order/higher-order.disco-                     test/prop-higher-order/input-                     test/prop-holds/expected-                     test/prop-holds/input-                     test/prop-impredicative/expected-                     test/prop-impredicative/input-                     test/prop-impredicative/prop-impredicative.disco-                     test/prop-tests/expected-                     test/prop-tests/input-                     test/prop-tests/prop-tests.disco-                     test/prop-type/expected-                     test/prop-type/input-                     test/repl-ann/expected-                     test/repl-ann/input-                     test/repl-compile/expected-                     test/repl-compile/input-                     test/repl-defn/expected-                     test/repl-defn/input-                     test/repl-defns/expected-                     test/repl-defns/input-                     test/repl-desugar/expected-                     test/repl-desugar/input-                     test/repl-doc/doc.disco-                     test/repl-doc/expected-                     test/repl-doc/input-                     test/repl-eval-tydef-import/a.disco-                     test/repl-eval-tydef-import/b.disco-                     test/repl-eval-tydef-import/expected-                     test/repl-eval-tydef-import/input-                     test/repl-help/expected-                     test/repl-help/input-                     test/repl-import/expected-                     test/repl-import/input-                     test/repl-names/expected-                     test/repl-names/input-                     test/repl-names/logic.disco-                     test/repl-names/other.disco-                     test/repl-proptest/expected-                     test/repl-proptest/input-                     test/solver-issue112/diag-iso-bad.disco-                     test/solver-issue112/expected-                     test/solver-issue112/input-                     test/syntax-abs/expected-                     test/syntax-abs/input-                     test/syntax-chain/expected-                     test/syntax-chain/inRange.disco-                     test/syntax-chain/input-                     test/syntax-clause/clauses.disco-                     test/syntax-clause/expected-                     test/syntax-clause/input-                     test/syntax-comment/expected-                     test/syntax-comment/fib.disco-                     test/syntax-comment/input-                     test/syntax-containers/expected-                     test/syntax-containers/input-                     test/syntax-decimals/expected-                     test/syntax-decimals/input-                     test/syntax-doc/expected-                     test/syntax-doc/input-                     test/syntax-doc/syntax-doc.disco-                     test/syntax-exts/expected-                     test/syntax-exts/input-                     test/syntax-exts/syntax-exts.disco-                     test/syntax-juxt-app/expected-                     test/syntax-juxt-app/input-                     test/syntax-juxt-app/juxt-app.disco-                     test/syntax-juxt-mul/expected-                     test/syntax-juxt-mul/input-                     test/syntax-juxt-mul/juxt-mul.disco-                     test/syntax-lambda-pat/expected-                     test/syntax-lambda-pat/input-                     test/syntax-lambda/expected-                     test/syntax-lambda/input-                     test/syntax-let/expected-                     test/syntax-let/input-                     test/syntax-many-args/expected-                     test/syntax-many-args/input-                     test/syntax-many-args/many-args.disco-                     test/syntax-many-clauses/expected-                     test/syntax-many-clauses/input-                     test/syntax-many-clauses/many-clauses.disco-                     test/syntax-patclause/expected-                     test/syntax-patclause/fact.disco-                     test/syntax-patclause/input-                     test/syntax-prims/expected-                     test/syntax-prims/input-                     test/syntax-prims/syntax-prims.disco-                     test/syntax-tuples/expected-                     test/syntax-tuples/input-                     test/syntax-types/expected-                     test/syntax-types/input-                     test/types-192/expected-                     test/types-192/input-                     test/types-bind/expected-                     test/types-bind/input-                     test/types-char-string/expected-                     test/types-char-string/input-                     test/types-compare/expected-                     test/types-compare/input-                     test/types-container/expected-                     test/types-container/input-                     test/types-kinds/expected-                     test/types-kinds/input-                     test/types-naked-ops/expected-                     test/types-naked-ops/input-                     test/types-numpats/expected-                     test/types-numpats/input-                     test/types-numpats/types-numpats.disco-                     test/types-ops/expected-                     test/types-ops/input-                     test/types-rational/expected-                     test/types-rational/input-                     test/types-rec/expected-                     test/types-rec/input-                     test/types-rec/types-rec.disco-                     test/types-squash/expected-                     test/types-squash/input-                     test/types-standalone-ops/expected-                     test/types-standalone-ops/input-                     test/types-toomanypats/expected-                     test/types-toomanypats/input-                     test/types-toomanypats/toomanypats.disco-                     test/types-tydef-bad/expected-                     test/types-tydef-bad/input-                     test/types-tydef-bad/types-tydef-bad.disco-                     test/types-tydef-kind/expected-                     test/types-tydef-kind/input-                     test/types-tydef-kind/types-tydef-kind.disco-                     test/types-tydef-param/expected-                     test/types-tydef-param/input-                     test/types-tydef-param/types-tydef-param.disco-                     test/types-tydef-qual/expected-                     test/types-tydef-qual/input-                     test/types-tydef-qual/tydef-qual.disco-                     test/types-tydefs/expected-                     test/types-tydefs/input-                     test/types-tydefs/types-tydefs.disco-                     --- TEST FILES END -----build-type:          Simple--source-repository head-  type:     git-  location: git://github.com/disco-lang/disco.git--common common-  ghc-options:      -Wall-                    -Wcompat-                    -Widentities-                    -Wincomplete-uni-patterns-                    -Wincomplete-record-updates-                    -Wno-star-is-type-                    -Wpartial-fields-  default-language: Haskell2010--library-  import:              common-  ghc-options:         -flate-specialise -fspecialise-aggressively -fplugin=Polysemy.Plugin-  default-extensions:  DataKinds-                       DeriveGeneric-                       FlexibleContexts-                       FlexibleInstances-                       GADTs-                       LambdaCase-                       MultiParamTypeClasses-                       PolyKinds-                       RankNTypes-                       ScopedTypeVariables-                       TupleSections-                       TypeApplications-                       TypeOperators-                       TypeFamilies-                       ViewPatterns-  exposed-modules:-                       Disco.Syntax.Operators-                       Disco.Syntax.Prims-                       Disco.Extensions-                       Disco.Effects.Counter-                       Disco.Effects.Fresh-                       Disco.Effects.Input-                       Disco.Effects.LFresh-                       Disco.Effects.Random-                       Disco.Effects.State-                       Disco.Effects.Store-                       Disco.AST.Core-                       Disco.AST.Desugared-                       Disco.AST.Generic-                       Disco.AST.Surface-                       Disco.AST.Typed-                       Disco.Data-                       Disco.Names-                       Disco.Context-                       Disco.Report-                       Disco.Messages-                       Disco.Module-                       Disco.Parser-                       Disco.Pretty-                       Disco.Pretty.DSL-                       Disco.Pretty.Prec-                       Disco.Property-                       Disco.Desugar-                       Disco.Compile-                       Disco.Enumerate-                       Disco.Value-                       Disco.Error-                       Disco.Eval-                       Disco.Interpret.CESK-                       Disco.Subst-                       Disco.Typecheck-                       Disco.Typecheck.Constraints-                       Disco.Typecheck.Erase-                       Disco.Typecheck.Graph-                       Disco.Typecheck.Util-                       Disco.Typecheck.Solve-                       Disco.Typecheck.Unify-                       Disco.Types-                       Disco.Types.Qualifiers-                       Disco.Types.Rules-                       Disco.Util-                       Disco.Interactive.CmdLine-                       Disco.Interactive.Commands-                       Disco.Doc--  other-modules:       Paths_disco-  autogen-modules:     Paths_disco--  build-depends:       base >=4.8 && <4.17,-                       filepath,-                       directory,-                       mtl >=2.2 && <2.3,-                       megaparsec >= 6.1.1 && < 9.3,-                       parser-combinators >= 1.0.0 && < 1.4,-                       pretty >=1.1 && <1.2,-                       split >= 0.2 && < 0.3,-                       transformers >= 0.4 && < 0.7,-                       containers >=0.5 && <0.7,-                       unbound-generics >= 0.3 && < 0.5,-                       polysemy >= 1.6.0.0 && < 1.8,-                       polysemy-plugin >= 0.4 && < 0.5,-                       polysemy-zoo >= 0.7 && < 0.8,-                       lens >= 4.14 && < 5.2,-                       exact-combinatorics >= 0.2 && < 0.3,-                       arithmoi >= 0.10 && < 0.13,-                       integer-logarithms >= 1.0 && < 1.1,-                       simple-enumeration >= 0.2 && < 0.3,-                       haskeline >=0.8 && <0.9,-                       exceptions >= 0.10 && < 0.11,-                       QuickCheck >= 2.9 && < 2.15,-                       splitmix >= 0.1 && < 0.2,-                       fgl >= 5.5 && < 5.8,-                       optparse-applicative >= 0.12 && < 0.17,-                       oeis >= 0.3.10,-                       algebraic-graphs >= 0.5,-                       pretty-show >= 1.10--  hs-source-dirs:      src-  default-language:    Haskell2010--executable disco-  import:              common-  hs-source-dirs:      repl-  main-is:             REPL.hs-  build-depends:       base,-                       disco,-                       directory,-                       filepath,-                       haskeline >=0.8 && <0.9,-                       mtl >=2.2 && <2.3,-                       transformers >= 0.4 && < 0.7,-                       megaparsec >= 6.1.1 && < 9.3,-                       containers >= 0.5 && < 0.7,-                       unbound-generics >= 0.3 && < 0.5,-                       lens >= 4.14 && < 5.2,-                       optparse-applicative >= 0.12 && < 0.17,-                       oeis >= 0.3.10--  default-language:    Haskell2010--test-suite disco-tests-  import:              common-  type: exitcode-stdio-1.0-  main-is: Tests.hs-  hs-source-dirs: test-  ghc-options: -threaded-  build-depends:    base >= 4.7 && < 4.17,-                    tasty >= 0.10 && < 1.5,-                    tasty-golden >= 2.3 && < 2.4,-                    directory >= 1.2 && < 1.4,-                    filepath >= 1.4 && < 1.5,-                    process >= 1.4 && < 1.7,-                    bytestring >= 0.9 && < 0.12,-                    disco-  default-language: Haskell2010--test-suite disco-examples-  import:              common-  type: exitcode-stdio-1.0-  main-is: TestExamples.hs-  hs-source-dirs: example-  ghc-options: -threaded-  build-depends:    base >= 4.7 && < 4.17,-                    directory >= 1.2 && < 1.4,-                    filepath >= 1.4 && < 1.5,-                    process >= 1.4 && < 1.7-  default-language: Haskell2010+cabal-version:       2.4
+name:                disco
+version:             0.1.3.0
+x-revision: 1
+synopsis:            Functional programming language for teaching discrete math.
+description:         Disco is a simple functional programming language for use in
+                     teaching discrete math.  Its syntax is designed to be close
+                     to standard mathematical practice.
+license:             BSD-3-Clause
+license-file:        LICENSE
+author:              Disco team
+maintainer:          byorgey@gmail.com
+copyright:           Disco team 2016-2022 (see LICENSE)
+category:            Language
+
+tested-with:         GHC == 8.10.4
+
+data-dir:            lib
+
+data-files:          *.disco
+
+extra-source-files:  README.md, CHANGELOG.md, stack.yaml, example/*.disco, repl/*.hs
+                     docs/tutorial/example/*.disco
+                     --- TEST FILES BEGIN (updated automatically by add-test-files.hs) ---
+                     test/README.md
+                     test/Tests.hs
+                     test/arith-basic-bin/expected
+                     test/arith-basic-bin/input
+                     test/arith-basic-un/expected
+                     test/arith-basic-un/input
+                     test/arith-count/expected
+                     test/arith-count/input
+                     test/arith-numthry/expected
+                     test/arith-numthry/input
+                     test/arith-prim/arith-prim.disco
+                     test/arith-prim/expected
+                     test/arith-prim/input
+                     test/arith-round/expected
+                     test/arith-round/input
+                     test/case-arith/case-arith.disco
+                     test/case-arith/expected
+                     test/case-arith/input
+                     test/case-basic/case-basic.disco
+                     test/case-basic/expected
+                     test/case-basic/input
+                     test/case-let/case-let.disco
+                     test/case-let/expected
+                     test/case-let/input
+                     test/compile-cons/expected
+                     test/compile-cons/input
+                     test/compile-misc/expected
+                     test/compile-misc/input
+                     test/containers-cmp/expected
+                     test/containers-cmp/input
+                     test/containers-comp/expected
+                     test/containers-comp/input
+                     test/containers-convert/expected
+                     test/containers-convert/input
+                     test/containers-each/expected
+                     test/containers-each/input
+                     test/containers-ellipsis/expected
+                     test/containers-ellipsis/input
+                     test/containers-filter/expected
+                     test/containers-filter/input
+                     test/containers-join/expected
+                     test/containers-join/input
+                     test/containers-merge/expected
+                     test/containers-merge/input
+                     test/containers-ops/expected
+                     test/containers-ops/input
+                     test/containers-reduce/containers-reduce.disco
+                     test/containers-reduce/expected
+                     test/containers-reduce/input
+                     test/error-ambiguous/a.disco
+                     test/error-ambiguous/ambiguous.disco
+                     test/error-ambiguous/b.disco
+                     test/error-ambiguous/expected
+                     test/error-ambiguous/input
+                     test/error-cyclic/cyclic.disco
+                     test/error-cyclic/expected
+                     test/error-cyclic/input
+                     test/error-duplicatedecls/dupdecls.disco
+                     test/error-duplicatedecls/expected
+                     test/error-duplicatedecls/input
+                     test/error-duplicatedefns/dupdefns.disco
+                     test/error-duplicatedefns/expected
+                     test/error-duplicatedefns/input
+                     test/error-duplicatetydefns/duptydefns.disco
+                     test/error-duplicatetydefns/expected
+                     test/error-duplicatetydefns/input
+                     test/error-emptycase/expected
+                     test/error-emptycase/input
+                     test/error-names/expected
+                     test/error-names/input
+                     test/error-notcon/expected
+                     test/error-notcon/input
+                     test/error-notype/expected
+                     test/error-notype/input
+                     test/error-numpatterns/expected
+                     test/error-numpatterns/input
+                     test/error-numpatterns/numpatterns.disco
+                     test/error-pattype/expected
+                     test/error-pattype/input
+                     test/error-polyrec/expected
+                     test/error-polyrec/input
+                     test/error-polyrec/polyrec.disco
+                     test/error-qualskolem/expected
+                     test/error-qualskolem/input
+                     test/error-qualskolem/qualskolem.disco
+                     test/error-tyargs/error-tyargs.disco
+                     test/error-tyargs/expected
+                     test/error-tyargs/input
+                     test/error-unboundtyvar/expected
+                     test/error-unboundtyvar/input
+                     test/error-unboundtyvar/unboundtyvar.disco
+                     test/error-unqual-base/expected
+                     test/error-unqual-base/input
+                     test/error-unqual-base/unqualbase.disco
+                     test/error-unqual/expected
+                     test/error-unqual/input
+                     test/error-wildcard/expected
+                     test/error-wildcard/input
+                     test/graphs-basic/expected
+                     test/graphs-basic/input
+                     test/graphs-equality/expected
+                     test/graphs-equality/input
+                     test/interp-loop/expected
+                     test/interp-loop/input
+                     test/interp-strictmatch/bomb.disco
+                     test/interp-strictmatch/expected
+                     test/interp-strictmatch/input
+                     test/lib-oeis/expected
+                     test/lib-oeis/input
+                     test/list-comp/expected
+                     test/list-comp/input
+                     test/list-poly/expected
+                     test/list-poly/input
+                     test/logic-bools/expected
+                     test/logic-bools/input
+                     test/logic-cmp/expected
+                     test/logic-cmp/input
+                     test/map-basic/expected
+                     test/map-basic/input
+                     test/map-compare/expected
+                     test/map-compare/input
+                     test/module-basic/a.disco
+                     test/module-basic/b.disco
+                     test/module-basic/c.disco
+                     test/module-basic/e.disco
+                     test/module-basic/expected
+                     test/module-basic/input
+                     test/module-basic/subdir/d.disco
+                     test/module-cycle/cyclic1.disco
+                     test/module-cycle/cyclic2.disco
+                     test/module-cycle/expected
+                     test/module-cycle/input
+                     test/module-notfound/expected
+                     test/module-notfound/input
+                     test/parse-245/expected
+                     test/parse-245/input
+                     test/parse-280/capitalvars.disco
+                     test/parse-280/expected
+                     test/parse-280/input
+                     test/parse-320/expected
+                     test/parse-320/input
+                     test/parse-case-expr/expected
+                     test/parse-case-expr/input
+                     test/parse-nested-list/expected
+                     test/parse-nested-list/input
+                     test/parse-quantifiers/expected
+                     test/parse-quantifiers/input
+                     test/parse-top-term/expected
+                     test/parse-top-term/input
+                     test/parse-top-term/parse-top-term.disco
+                     test/poly-bad/expected
+                     test/poly-bad/input
+                     test/poly-infer-sort/expected
+                     test/poly-infer-sort/input
+                     test/poly-instantiate/expected
+                     test/poly-instantiate/input
+                     test/poly-instantiate/poly-instantiate.disco
+                     test/poly-rectype/expected
+                     test/poly-rectype/input
+                     test/poly-rectype/poly-rectype.disco
+                     test/pretty-defn/expected
+                     test/pretty-defn/input
+                     test/pretty-functions/expected
+                     test/pretty-functions/input
+                     test/pretty-issue258/expected
+                     test/pretty-issue258/input
+                     test/pretty-lit/expected
+                     test/pretty-lit/input
+                     test/pretty-ops/expected
+                     test/pretty-ops/input
+                     test/pretty-pattern/expected
+                     test/pretty-pattern/input
+                     test/pretty-torture/expected
+                     test/pretty-torture/input
+                     test/pretty-type/expected
+                     test/pretty-type/input
+                     test/pretty-whnf/expected
+                     test/pretty-whnf/input
+                     test/prim-crash/expected
+                     test/prim-crash/input
+                     test/prim-frac/expected
+                     test/prim-frac/input
+                     test/prim-sum/expected
+                     test/prim-sum/input
+                     test/prop-basic/expected
+                     test/prop-basic/input
+                     test/prop-basic/prop-basic.disco
+                     test/prop-cmp/expected
+                     test/prop-cmp/input
+                     test/prop-fail/bad-tests.disco
+                     test/prop-fail/expected
+                     test/prop-fail/input
+                     test/prop-fairness/expected
+                     test/prop-fairness/input
+                     test/prop-higher-order/expected
+                     test/prop-higher-order/higher-order.disco
+                     test/prop-higher-order/input
+                     test/prop-holds/expected
+                     test/prop-holds/input
+                     test/prop-impredicative/expected
+                     test/prop-impredicative/input
+                     test/prop-impredicative/prop-impredicative.disco
+                     test/prop-tests/expected
+                     test/prop-tests/input
+                     test/prop-tests/prop-tests.disco
+                     test/prop-type/expected
+                     test/prop-type/input
+                     test/repl-ann/expected
+                     test/repl-ann/input
+                     test/repl-compile/expected
+                     test/repl-compile/input
+                     test/repl-defn/expected
+                     test/repl-defn/input
+                     test/repl-defns/expected
+                     test/repl-defns/input
+                     test/repl-desugar/expected
+                     test/repl-desugar/input
+                     test/repl-doc/doc.disco
+                     test/repl-doc/expected
+                     test/repl-doc/input
+                     test/repl-eval-tydef-import/a.disco
+                     test/repl-eval-tydef-import/b.disco
+                     test/repl-eval-tydef-import/expected
+                     test/repl-eval-tydef-import/input
+                     test/repl-help/expected
+                     test/repl-help/input
+                     test/repl-import/expected
+                     test/repl-import/input
+                     test/repl-names/expected
+                     test/repl-names/input
+                     test/repl-names/logic.disco
+                     test/repl-names/other.disco
+                     test/repl-proptest/expected
+                     test/repl-proptest/input
+                     test/solver-issue112/diag-iso-bad.disco
+                     test/solver-issue112/expected
+                     test/solver-issue112/input
+                     test/syntax-abs/expected
+                     test/syntax-abs/input
+                     test/syntax-chain/expected
+                     test/syntax-chain/inRange.disco
+                     test/syntax-chain/input
+                     test/syntax-clause/clauses.disco
+                     test/syntax-clause/expected
+                     test/syntax-clause/input
+                     test/syntax-comment/expected
+                     test/syntax-comment/fib.disco
+                     test/syntax-comment/input
+                     test/syntax-containers/expected
+                     test/syntax-containers/input
+                     test/syntax-decimals/expected
+                     test/syntax-decimals/input
+                     test/syntax-doc/expected
+                     test/syntax-doc/input
+                     test/syntax-doc/syntax-doc.disco
+                     test/syntax-exts/expected
+                     test/syntax-exts/input
+                     test/syntax-exts/syntax-exts.disco
+                     test/syntax-juxt-app/expected
+                     test/syntax-juxt-app/input
+                     test/syntax-juxt-app/juxt-app.disco
+                     test/syntax-juxt-mul/expected
+                     test/syntax-juxt-mul/input
+                     test/syntax-juxt-mul/juxt-mul.disco
+                     test/syntax-lambda-pat/expected
+                     test/syntax-lambda-pat/input
+                     test/syntax-lambda/expected
+                     test/syntax-lambda/input
+                     test/syntax-let/expected
+                     test/syntax-let/input
+                     test/syntax-many-args/expected
+                     test/syntax-many-args/input
+                     test/syntax-many-args/many-args.disco
+                     test/syntax-many-clauses/expected
+                     test/syntax-many-clauses/input
+                     test/syntax-many-clauses/many-clauses.disco
+                     test/syntax-patclause/expected
+                     test/syntax-patclause/fact.disco
+                     test/syntax-patclause/input
+                     test/syntax-prims/expected
+                     test/syntax-prims/input
+                     test/syntax-prims/syntax-prims.disco
+                     test/syntax-tuples/expected
+                     test/syntax-tuples/input
+                     test/syntax-types/expected
+                     test/syntax-types/input
+                     test/types-192/expected
+                     test/types-192/input
+                     test/types-bind/expected
+                     test/types-bind/input
+                     test/types-char-string/expected
+                     test/types-char-string/input
+                     test/types-compare/expected
+                     test/types-compare/input
+                     test/types-container/expected
+                     test/types-container/input
+                     test/types-kinds/expected
+                     test/types-kinds/input
+                     test/types-naked-ops/expected
+                     test/types-naked-ops/input
+                     test/types-numpats/expected
+                     test/types-numpats/input
+                     test/types-numpats/types-numpats.disco
+                     test/types-ops/expected
+                     test/types-ops/input
+                     test/types-rational/expected
+                     test/types-rational/input
+                     test/types-rec/expected
+                     test/types-rec/input
+                     test/types-rec/types-rec.disco
+                     test/types-squash/expected
+                     test/types-squash/input
+                     test/types-standalone-ops/expected
+                     test/types-standalone-ops/input
+                     test/types-toomanypats/expected
+                     test/types-toomanypats/input
+                     test/types-toomanypats/toomanypats.disco
+                     test/types-tydef-bad/expected
+                     test/types-tydef-bad/input
+                     test/types-tydef-bad/types-tydef-bad.disco
+                     test/types-tydef-kind/expected
+                     test/types-tydef-kind/input
+                     test/types-tydef-kind/types-tydef-kind.disco
+                     test/types-tydef-param/expected
+                     test/types-tydef-param/input
+                     test/types-tydef-param/types-tydef-param.disco
+                     test/types-tydef-qual/expected
+                     test/types-tydef-qual/input
+                     test/types-tydef-qual/tydef-qual.disco
+                     test/types-tydefs/expected
+                     test/types-tydefs/input
+                     test/types-tydefs/types-tydefs.disco
+                     --- TEST FILES END ---
+
+build-type:          Simple
+
+source-repository head
+  type:     git
+  location: git://github.com/disco-lang/disco.git
+
+common common
+  ghc-options:      -Wall
+                    -Wcompat
+                    -Widentities
+                    -Wincomplete-uni-patterns
+                    -Wincomplete-record-updates
+                    -Wno-star-is-type
+                    -Wpartial-fields
+  default-language: Haskell2010
+
+library
+  import:              common
+  ghc-options:         -flate-specialise -fspecialise-aggressively -fplugin=Polysemy.Plugin
+  default-extensions:  DataKinds
+                       DeriveGeneric
+                       FlexibleContexts
+                       FlexibleInstances
+                       GADTs
+                       LambdaCase
+                       MultiParamTypeClasses
+                       PolyKinds
+                       RankNTypes
+                       ScopedTypeVariables
+                       TupleSections
+                       TypeApplications
+                       TypeOperators
+                       TypeFamilies
+                       ViewPatterns
+  exposed-modules:
+                       Disco.Syntax.Operators
+                       Disco.Syntax.Prims
+                       Disco.Extensions
+                       Disco.Effects.Counter
+                       Disco.Effects.Fresh
+                       Disco.Effects.Input
+                       Disco.Effects.LFresh
+                       Disco.Effects.Random
+                       Disco.Effects.State
+                       Disco.Effects.Store
+                       Disco.AST.Core
+                       Disco.AST.Desugared
+                       Disco.AST.Generic
+                       Disco.AST.Surface
+                       Disco.AST.Typed
+                       Disco.Data
+                       Disco.Names
+                       Disco.Context
+                       Disco.Report
+                       Disco.Messages
+                       Disco.Module
+                       Disco.Parser
+                       Disco.Pretty
+                       Disco.Pretty.DSL
+                       Disco.Pretty.Prec
+                       Disco.Property
+                       Disco.Desugar
+                       Disco.Compile
+                       Disco.Enumerate
+                       Disco.Value
+                       Disco.Error
+                       Disco.Eval
+                       Disco.Interpret.CESK
+                       Disco.Subst
+                       Disco.Typecheck
+                       Disco.Typecheck.Constraints
+                       Disco.Typecheck.Erase
+                       Disco.Typecheck.Graph
+                       Disco.Typecheck.Util
+                       Disco.Typecheck.Solve
+                       Disco.Typecheck.Unify
+                       Disco.Types
+                       Disco.Types.Qualifiers
+                       Disco.Types.Rules
+                       Disco.Util
+                       Disco.Interactive.CmdLine
+                       Disco.Interactive.Commands
+                       Disco.Doc
+
+  other-modules:       Paths_disco
+  autogen-modules:     Paths_disco
+
+  build-depends:       base >=4.8 && <4.17,
+                       filepath,
+                       directory,
+                       mtl >=2.2 && <2.3,
+                       megaparsec >= 6.1.1 && < 9.3,
+                       parser-combinators >= 1.0.0 && < 1.4,
+                       pretty >=1.1 && <1.2,
+                       split >= 0.2 && < 0.3,
+                       transformers >= 0.4 && < 0.7,
+                       containers >=0.5 && <0.7,
+                       unbound-generics >= 0.3 && < 0.5,
+                       polysemy >= 1.6.0.0 && < 1.8,
+                       polysemy-plugin >= 0.4 && < 0.5,
+                       polysemy-zoo >= 0.7 && < 0.8,
+                       lens >= 4.14 && < 5.2,
+                       exact-combinatorics >= 0.2 && < 0.3,
+                       arithmoi >= 0.10 && < 0.13,
+                       integer-logarithms >= 1.0 && < 1.1,
+                       simple-enumeration >= 0.2 && < 0.3,
+                       haskeline >=0.8 && <0.9,
+                       exceptions >= 0.10 && < 0.11,
+                       QuickCheck >= 2.9 && < 2.15,
+                       splitmix >= 0.1 && < 0.2,
+                       fgl >= 5.5 && < 5.8,
+                       optparse-applicative >= 0.12 && < 0.18,
+                       oeis >= 0.3.10,
+                       algebraic-graphs >= 0.5,
+                       pretty-show >= 1.10
+
+  hs-source-dirs:      src
+  default-language:    Haskell2010
+
+executable disco
+  import:              common
+  hs-source-dirs:      repl
+  main-is:             REPL.hs
+  build-depends:       base,
+                       disco,
+                       directory,
+                       filepath,
+                       haskeline >=0.8 && <0.9,
+                       mtl >=2.2 && <2.3,
+                       transformers >= 0.4 && < 0.7,
+                       megaparsec >= 6.1.1 && < 9.3,
+                       containers >= 0.5 && < 0.7,
+                       unbound-generics >= 0.3 && < 0.5,
+                       lens >= 4.14 && < 5.2,
+                       optparse-applicative >= 0.12 && < 0.18,
+                       oeis >= 0.3.10
+
+  default-language:    Haskell2010
+
+test-suite disco-tests
+  import:              common
+  type: exitcode-stdio-1.0
+  main-is: Tests.hs
+  hs-source-dirs: test
+  ghc-options: -threaded
+  build-depends:    base >= 4.7 && < 4.17,
+                    tasty >= 0.10 && < 1.5,
+                    tasty-golden >= 2.3 && < 2.4,
+                    directory >= 1.2 && < 1.4,
+                    filepath >= 1.4 && < 1.5,
+                    process >= 1.4 && < 1.7,
+                    bytestring >= 0.9 && < 0.12,
+                    disco
+  default-language: Haskell2010
+
+test-suite disco-examples
+  import:              common
+  type: exitcode-stdio-1.0
+  main-is: TestExamples.hs
+  hs-source-dirs: example
+  ghc-options: -threaded
+  build-depends:    base >= 4.7 && < 4.17,
+                    directory >= 1.2 && < 1.4,
+                    filepath >= 1.4 && < 1.5,
+                    process >= 1.4 && < 1.7
+  default-language: Haskell2010