cabal-version: 2.4 name: disco version: 0.1.6 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.7 || ==9.2.5 || ==9.4.3 data-dir: lib data-files: *.disco extra-doc-files: README.md, CHANGELOG.md, example/*.disco, docs/tutorial/example/*.disco extra-source-files: stack.yaml, repl/*.hs --- 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-nonlinear/expected test/error-nonlinear/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-parse-RHS/expected test/error-parse-RHS/input 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-unbound/expected test/error-unbound/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/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-patguard/expected test/parse-patguard/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-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-binary/expected test/prop-binary/input 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-ellipsis/expected test/syntax-ellipsis/input 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-306/expected test/types-306/input test/types-357/expected test/types-357/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.18, filepath, directory, mtl >=2.2 && <2.4, megaparsec >= 6.1.1 && < 9.6, parser-combinators >= 1.0.0 && < 1.4, prettyprinter >=1.7 && < 1.8, split >= 0.2 && < 0.3, transformers >= 0.4 && < 0.7, containers >=0.5 && <0.7, unbound-generics >= 0.3 && < 0.4.3, -- unbound-generics 0.4.3 added substBvs to -- Subst class which adds a new Generic -- constraint, hence a breaking change polysemy >= 1.6.0.0 && < 1.10, polysemy-plugin >= 0.4 && < 0.5, polysemy-zoo >= 0.7 && < 0.9, lens >= 4.14 && < 5.3, exact-combinatorics >= 0.2 && < 0.3, arithmoi >= 0.10 && < 0.14, 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.9, optparse-applicative >= 0.12 && < 0.19, -- oeis2 < 1.1, algebraic-graphs >= 0.5 && < 0.8, pretty-show >= 1.10 && < 1.11 hs-source-dirs: src default-language: Haskell2010 executable disco import: common hs-source-dirs: repl main-is: REPL.hs ghc-options: +RTS --io-manager=native -RTS build-depends: base, disco, directory, filepath, haskeline >=0.8 && <0.9, mtl >=2.2 && <2.4, transformers >= 0.4 && < 0.7, megaparsec >= 6.1.1 && < 9.6, containers >= 0.5 && < 0.7, unbound-generics >= 0.3 && < 0.4.3, lens >= 4.14 && < 5.3, optparse-applicative >= 0.12 && < 0.19 -- oeis2 < 1.1 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.18, tasty >= 0.10 && < 1.6, 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.13, 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.18, directory >= 1.2 && < 1.4, filepath >= 1.4 && < 1.5, process >= 1.4 && < 1.7 default-language: Haskell2010