packages feed

Cabal revisions of futhark-0.25.37

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

revision 1
-cabal-version: 3.0-name:           futhark-version:        0.25.37-synopsis:       An optimising compiler for a functional, array-oriented language.--description:    Futhark is a small programming language designed to be compiled to-                efficient parallel code. It is a statically typed, data-parallel,-                and purely functional array language in the ML family, and comes-                with a heavily optimising ahead-of-time compiler that presently-                generates GPU code via CUDA and OpenCL, although the language itself-                is hardware-agnostic.-                .-                For more information, see the website at https://futhark-lang.org-                .-                For introductionary information about hacking on the-                Futhark compiler, see-                <https://github.com/diku-dk/futhark/blob/master/HACKING.md the hacking guide>.-                Regarding the internal design of the compiler, the following modules make-                good starting points:-                .-                * "Futhark" contains a basic architectural overview of the compiler.-                * "Futhark.IR.Syntax" explains the-                  basic design of the intermediate representation (IR).-                * "Futhark.Construct" explains how to write code that-                  manipulates and creates AST fragments.-                .-                <<docs/assets/ohyes.png You too can go fast once you rewrite your program in Futhark.>>--category:       Futhark-homepage:       https://futhark-lang.org-bug-reports:    https://github.com/diku-dk/futhark/issues-maintainer:     Troels Henriksen athas@sigkill.dk-license:        ISC-license-file:   LICENSE-build-type:     Simple-extra-source-files:--- Cabal's recompilation tracking doesn't work when we use wildcards--- here, so for now we spell out every single file.-    rts/c/atomics8.h-    rts/c/atomics16.h-    rts/c/atomics32.h-    rts/c/atomics64.h-    rts/c/context.h-    rts/c/context_prototypes.h-    rts/c/backends/c.h-    rts/c/backends/cuda.h-    rts/c/backends/hip.h-    rts/c/backends/multicore.h-    rts/c/backends/opencl.h-    rts/c/lock.h-    rts/c/copy.h-    rts/c/timing.h-    rts/c/errors.h-    rts/c/free_list.h-    rts/c/event_list.h-    rts/c/gpu.h-    rts/c/gpu_prototypes.h-    rts/c/tuning.h-    rts/c/values.h-    rts/c/half.h-    rts/c/cache.h-    rts/c/ispc_util.h-    rts/c/scalar.h-    rts/c/scalar_f16.h-    rts/c/scheduler.h-    rts/c/uniform.h-    rts/c/util.h-    rts/c/server.h-    rts/cuda/prelude.cu-    rts/style.css-    rts/javascript/server.js-    rts/javascript/values.js-    rts/javascript/wrapperclasses.js-    rts/opencl/copy.cl-    rts/opencl/prelude.cl-    rts/opencl/transpose.cl-    rts/python/tuning.py-    rts/python/panic.py-    rts/python/memory.py-    rts/python/server.py-    rts/python/values.py-    rts/python/opencl.py-    rts/python/scalar.py-    prelude/functional.fut-    prelude/math.fut-    prelude/soacs.fut-    prelude/zip.fut-    prelude/ad.fut-    prelude/array.fut-    prelude/prelude.fut--- Just enough of the docs to build the manpages.-    docs/**/*.rst-    docs/Makefile-    docs/conf.py-    docs/requirements.txt-extra-doc-files:-  assets/*.png-  CHANGELOG.md-  README.md--source-repository head-  type: git-  location: https://github.com/diku-dk/futhark--common common-  ghc-options: -Wall -Wcompat -Wno-incomplete-uni-patterns -Wno-x-partial -Wno-unrecognised-warning-flags  -Wredundant-constraints -Wincomplete-record-updates -Wmissing-export-lists -Wunused-packages -Wno-x-data-list-nonempty-unzip-  default-language: GHC2021-  default-extensions:-    OverloadedStrings--library-  import: common-  hs-source-dirs: src-  exposed-modules:-      Futhark-      Futhark.Actions-      Futhark.AD.Derivatives-      Futhark.AD.Fwd-      Futhark.AD.Rev-      Futhark.AD.Rev.Loop-      Futhark.AD.Rev.Hist-      Futhark.AD.Rev.Map-      Futhark.AD.Rev.Monad-      Futhark.AD.Rev.Reduce-      Futhark.AD.Rev.Scan-      Futhark.AD.Rev.SOAC-      Futhark.Analysis.AccessPattern-      Futhark.Analysis.AlgSimplify-      Futhark.Analysis.Alias-      Futhark.Analysis.CallGraph-      Futhark.Analysis.DataDependencies-      Futhark.Analysis.HORep.MapNest-      Futhark.Analysis.HORep.SOAC-      Futhark.Analysis.Interference-      Futhark.Analysis.LastUse-      Futhark.Analysis.MemAlias-      Futhark.Analysis.Metrics-      Futhark.Analysis.Metrics.Type-      Futhark.Analysis.PrimExp-      Futhark.Analysis.PrimExp.Convert-      Futhark.Analysis.PrimExp.Parse-      Futhark.Analysis.PrimExp.Simplify-      Futhark.Analysis.PrimExp.Table-      Futhark.Analysis.SymbolTable-      Futhark.Analysis.UsageTable-      Futhark.Bench-      Futhark.Builder-      Futhark.Builder.Class-      Futhark.CLI.Autotune-      Futhark.CLI.Bench-      Futhark.CLI.C-      Futhark.CLI.CUDA-      Futhark.CLI.Check-      Futhark.CLI.Benchcmp-      Futhark.CLI.Datacmp-      Futhark.CLI.Dataset-      Futhark.CLI.Defs-      Futhark.CLI.Dev-      Futhark.CLI.Doc-      Futhark.CLI.Eval-      Futhark.CLI.Fmt-      Futhark.CLI.HIP-      Futhark.CLI.Literate-      Futhark.CLI.LSP-      Futhark.CLI.Main-      Futhark.CLI.Misc-      Futhark.CLI.Multicore-      Futhark.CLI.MulticoreISPC-      Futhark.CLI.MulticoreWASM-      Futhark.CLI.OpenCL-      Futhark.CLI.Pkg-      Futhark.CLI.Profile-      Futhark.CLI.PyOpenCL-      Futhark.CLI.Python-      Futhark.CLI.Query-      Futhark.CLI.REPL-      Futhark.CLI.Run-      Futhark.CLI.Script-      Futhark.CLI.Test-      Futhark.CLI.WASM-      Futhark.CodeGen.Backends.CCUDA-      Futhark.CodeGen.Backends.COpenCL-      Futhark.CodeGen.Backends.HIP-      Futhark.CodeGen.Backends.GenericC-      Futhark.CodeGen.Backends.GenericC.CLI-      Futhark.CodeGen.Backends.GenericC.Code-      Futhark.CodeGen.Backends.GenericC.EntryPoints-      Futhark.CodeGen.Backends.GenericC.Fun-      Futhark.CodeGen.Backends.GenericC.Monad-      Futhark.CodeGen.Backends.GenericC.Options-      Futhark.CodeGen.Backends.GenericC.Pretty-      Futhark.CodeGen.Backends.GenericC.Server-      Futhark.CodeGen.Backends.GenericC.Types-      Futhark.CodeGen.Backends.GenericPython-      Futhark.CodeGen.Backends.GenericPython.AST-      Futhark.CodeGen.Backends.GenericPython.Options-      Futhark.CodeGen.Backends.GenericWASM-      Futhark.CodeGen.Backends.GPU-      Futhark.CodeGen.Backends.MulticoreC-      Futhark.CodeGen.Backends.MulticoreC.Boilerplate-      Futhark.CodeGen.Backends.MulticoreISPC-      Futhark.CodeGen.Backends.MulticoreWASM-      Futhark.CodeGen.Backends.PyOpenCL-      Futhark.CodeGen.Backends.PyOpenCL.Boilerplate-      Futhark.CodeGen.Backends.SequentialC-      Futhark.CodeGen.Backends.SequentialC.Boilerplate-      Futhark.CodeGen.Backends.SequentialPython-      Futhark.CodeGen.Backends.SequentialWASM-      Futhark.CodeGen.Backends.SimpleRep-      Futhark.CodeGen.RTS.C-      Futhark.CodeGen.RTS.CUDA-      Futhark.CodeGen.RTS.OpenCL-      Futhark.CodeGen.RTS.Python-      Futhark.CodeGen.RTS.JavaScript-      Futhark.CodeGen.ImpCode-      Futhark.CodeGen.ImpCode.GPU-      Futhark.CodeGen.ImpCode.Multicore-      Futhark.CodeGen.ImpCode.OpenCL-      Futhark.CodeGen.ImpCode.Sequential-      Futhark.CodeGen.ImpGen-      Futhark.CodeGen.ImpGen.CUDA-      Futhark.CodeGen.ImpGen.GPU-      Futhark.CodeGen.ImpGen.GPU.Base-      Futhark.CodeGen.ImpGen.GPU.Block-      Futhark.CodeGen.ImpGen.GPU.SegHist-      Futhark.CodeGen.ImpGen.GPU.SegMap-      Futhark.CodeGen.ImpGen.GPU.SegRed-      Futhark.CodeGen.ImpGen.GPU.SegScan-      Futhark.CodeGen.ImpGen.GPU.SegScan.SinglePass-      Futhark.CodeGen.ImpGen.GPU.SegScan.TwoPass-      Futhark.CodeGen.ImpGen.GPU.ToOpenCL-      Futhark.CodeGen.ImpGen.HIP-      Futhark.CodeGen.ImpGen.Multicore-      Futhark.CodeGen.ImpGen.Multicore.Base-      Futhark.CodeGen.ImpGen.Multicore.SegHist-      Futhark.CodeGen.ImpGen.Multicore.SegMap-      Futhark.CodeGen.ImpGen.Multicore.SegRed-      Futhark.CodeGen.ImpGen.Multicore.SegScan-      Futhark.CodeGen.ImpGen.OpenCL-      Futhark.CodeGen.ImpGen.Sequential-      Futhark.CodeGen.OpenCL.Heuristics-      Futhark.Compiler-      Futhark.Compiler.CLI-      Futhark.Compiler.Config-      Futhark.Compiler.Program-      Futhark.Construct-      Futhark.Doc.Generator-      Futhark.Error-      Futhark.Eval-      Futhark.Fmt.Printer-      Futhark.Fmt.Monad-      Futhark.FreshNames-      Futhark.Format-      Futhark.IR-      Futhark.IR.Aliases-      Futhark.IR.GPU-      Futhark.IR.GPU.Op-      Futhark.IR.GPU.Simplify-      Futhark.IR.GPU.Sizes-      Futhark.IR.GPUMem-      Futhark.IR.MC-      Futhark.IR.MC.Op-      Futhark.IR.MCMem-      Futhark.IR.Mem-      Futhark.IR.Mem.Interval-      Futhark.IR.Mem.LMAD-      Futhark.IR.Mem.Simplify-      Futhark.IR.Parse-      Futhark.IR.Pretty-      Futhark.IR.Prop-      Futhark.IR.Prop.Aliases-      Futhark.IR.Prop.Constants-      Futhark.IR.Prop.Names-      Futhark.IR.Prop.Pat-      Futhark.IR.Prop.Rearrange-      Futhark.IR.Prop.Reshape-      Futhark.IR.Prop.Scope-      Futhark.IR.Prop.TypeOf-      Futhark.IR.Prop.Types-      Futhark.IR.Rep-      Futhark.IR.Rephrase-      Futhark.IR.RetType-      Futhark.IR.SOACS-      Futhark.IR.SOACS.SOAC-      Futhark.IR.SOACS.Simplify-      Futhark.IR.SegOp-      Futhark.IR.Seq-      Futhark.IR.SeqMem-      Futhark.IR.Syntax-      Futhark.IR.Syntax.Core-      Futhark.IR.Traversals-      Futhark.IR.TypeCheck-      Futhark.Internalise-      Futhark.Internalise.AccurateSizes-      Futhark.Internalise.ApplyTypeAbbrs-      Futhark.Internalise.Bindings-      Futhark.Internalise.Defunctionalise-      Futhark.Internalise.Defunctorise-      Futhark.Internalise.Entry-      Futhark.Internalise.Exps-      Futhark.Internalise.FullNormalise-      Futhark.Internalise.Lambdas-      Futhark.Internalise.LiftLambdas-      Futhark.Internalise.Monad-      Futhark.Internalise.Monomorphise-      Futhark.Internalise.ReplaceRecords-      Futhark.Internalise.TypesValues-      Futhark.LSP.CodeAction-      Futhark.LSP.CodeLens-      Futhark.LSP.CommandType-      Futhark.LSP.Compile-      Futhark.LSP.Diagnostic-      Futhark.LSP.Handlers-      Futhark.LSP.InlayHint-      Futhark.LSP.PositionMapping-      Futhark.LSP.State-      Futhark.LSP.Tool-      Futhark.LSP.TypeAscription-      Futhark.MonadFreshNames-      Futhark.Optimise.BlkRegTiling-      Futhark.Optimise.CSE-      Futhark.Optimise.DoubleBuffer-      Futhark.Optimise.EntryPointMem-      Futhark.Optimise.Fusion-      Futhark.Optimise.Fusion.Composing-      Futhark.Optimise.Fusion.GraphRep-      Futhark.Optimise.Fusion.RulesWithAccs-      Futhark.Optimise.Fusion.Screma-      Futhark.Optimise.Fusion.TryFusion-      Futhark.Optimise.GenRedOpt-      Futhark.Optimise.HistAccs-      Futhark.Optimise.InliningDeadFun-      Futhark.Optimise.MemoryBlockMerging-      Futhark.Optimise.MemoryBlockMerging.GreedyColoring-      Futhark.Optimise.ArrayShortCircuiting-      Futhark.Optimise.ArrayShortCircuiting.ArrayCoalescing-      Futhark.Optimise.ArrayShortCircuiting.DataStructs-      Futhark.Optimise.ArrayShortCircuiting.MemRefAggreg-      Futhark.Optimise.ArrayShortCircuiting.TopdownAnalysis-      Futhark.Optimise.MergeGPUBodies-      Futhark.Optimise.ArrayLayout-      Futhark.Optimise.ArrayLayout.Transform-      Futhark.Optimise.ArrayLayout.Layout-      Futhark.Optimise.ReduceDeviceSyncs-      Futhark.Optimise.ReduceDeviceSyncs.MigrationTable-      Futhark.Optimise.ReduceDeviceSyncs.MigrationTable.Graph-      Futhark.Optimise.Simplify-      Futhark.Optimise.Simplify.Engine-      Futhark.Optimise.Simplify.Rep-      Futhark.Optimise.Simplify.Rule-      Futhark.Optimise.Simplify.Rules-      Futhark.Optimise.Simplify.Rules.BasicOp-      Futhark.Optimise.Simplify.Rules.ClosedForm-      Futhark.Optimise.Simplify.Rules.Index-      Futhark.Optimise.Simplify.Rules.Loop-      Futhark.Optimise.Simplify.Rules.Match-      Futhark.Optimise.Simplify.Rules.Simple-      Futhark.Optimise.Sink-      Futhark.Optimise.TileLoops-      Futhark.Optimise.TileLoops.Shared-      Futhark.Optimise.Unstream-      Futhark.Pass-      Futhark.Pass.AD-      Futhark.Pass.ExpandAllocations-      Futhark.Pass.ExplicitAllocations-      Futhark.Pass.ExplicitAllocations.GPU-      Futhark.Pass.ExplicitAllocations.MC-      Futhark.Pass.ExplicitAllocations.SegOp-      Futhark.Pass.ExplicitAllocations.Seq-      Futhark.Pass.ExtractKernels-      Futhark.Pass.ExtractKernels.BlockedKernel-      Futhark.Pass.ExtractKernels.DistributeNests-      Futhark.Pass.ExtractKernels.Distribution-      Futhark.Pass.ExtractKernels.ISRWIM-      Futhark.Pass.ExtractKernels.Interchange-      Futhark.Pass.ExtractKernels.Intrablock-      Futhark.Pass.ExtractKernels.StreamKernel-      Futhark.Pass.ExtractKernels.ToGPU-      Futhark.Pass.ExtractMulticore-      Futhark.Pass.FirstOrderTransform-      Futhark.Pass.LiftAllocations-      Futhark.Pass.LowerAllocations-      Futhark.Pass.Simplify-      Futhark.Passes-      Futhark.Pipeline-      Futhark.Pkg.Info-      Futhark.Pkg.Solve-      Futhark.Pkg.Types-      Futhark.Profile-      Futhark.Profile.Details-      Futhark.Profile.EventSummary-      Futhark.Profile.Html-      Futhark.Profile.SourceRange-      Futhark.Script-      Futhark.Test-      Futhark.Test.Spec-      Futhark.Test.Values-      Futhark.Tools-      Futhark.Transform.CopyPropagate-      Futhark.Transform.FirstOrderTransform-      Futhark.Transform.Rename-      Futhark.Transform.Substitute-      Futhark.Util-      Futhark.Util.CMath-      Futhark.Util.IntegralExp-      Futhark.Util.Html-      Futhark.Util.Loc-      Futhark.Util.Log-      Futhark.Util.Options-      Futhark.Util.Pretty-      Futhark.Util.ProgressBar-      Futhark.Util.Table-      Futhark.Version-      Language.Futhark-      Language.Futhark.Core-      Language.Futhark.Interpreter-      Language.Futhark.Interpreter.AD-      Language.Futhark.Interpreter.Values-      Language.Futhark.FreeVars-      Language.Futhark.Parser-      Language.Futhark.Parser.Monad-      Language.Futhark.Parser.Lexer.Tokens-      Language.Futhark.Parser.Lexer.Wrapper-      Language.Futhark.Prelude-      Language.Futhark.Pretty-      Language.Futhark.Primitive-      Language.Futhark.Primitive.Parse-      Language.Futhark.Prop-      Language.Futhark.Query-      Language.Futhark.Semantic-      Language.Futhark.Syntax-      Language.Futhark.Traversals-      Language.Futhark.Tuple-      Language.Futhark.TypeChecker-      Language.Futhark.TypeChecker.Consumption-      Language.Futhark.TypeChecker.Names-      Language.Futhark.TypeChecker.Match-      Language.Futhark.TypeChecker.Modules-      Language.Futhark.TypeChecker.Monad-      Language.Futhark.TypeChecker.Terms-      Language.Futhark.TypeChecker.Terms.Loop-      Language.Futhark.TypeChecker.Terms.Monad-      Language.Futhark.TypeChecker.Terms.Pat-      Language.Futhark.TypeChecker.Types-      Language.Futhark.TypeChecker.Unify-      Language.Futhark.Warnings-  other-modules:-      Language.Futhark.Parser.Parser-      Language.Futhark.Parser.Lexer-      Paths_futhark-  autogen-modules:-      Paths_futhark-  build-tool-depends:-      alex:alex-    , happy:happy-  build-depends:-      aeson >=2.0.0.0-    , ansi-terminal >=0.6.3.1-    , array >=0.4-    , async >=2.0-    , base >=4.20 && <5-    , base16-bytestring-    , binary >=0.8.3-    , blaze-html >=0.9.0.1-    , bytestring >=0.11.2-    , bytestring-to-vector >=0.3.0.1-    , bmp >=1.2.6.3-    , co-log-core-    , containers >=0.6.2.1-    , cryptohash-md5-    , Diff >=0.4.1-    , directory >=1.3.0.0-    , directory-tree >=0.12.1-    , dlist >=0.6.0.1-    , fgl-    , fgl-visualize-    , file-embed >=0.0.14.0-    , filepath >=1.4.1.1-    , free >=5.1.10-    , futhark-data >= 1.1.3.0-    , futhark-server >= 1.3.3.0-    , futhark-manifest == 1.7.0.0-    , githash >=0.1.6.1-    , half >= 0.3-    , haskeline-    , language-c-quote >= 0.12-    , lens-    , lsp >= 2.8.0.0-    , lsp-types >= 2.4.0.0-    , mainland-pretty >=0.7.1-    , cmark-gfm >=0.2.1-    , megaparsec >=9.0.0-    , mtl >=2.2.1-    , neat-interpolation >=0.3-    , parallel >=3.2.1.0-    , random >= 1.2.0-    , process-extras >=0.7.2-    , regex-tdfa >=1.2-    , srcloc >=0.4-    , template-haskell >=2.11.1-    , temporary-    , terminal-size >=0.3-    , text >=1.2.2.2-    , text-rope-    , time >=1.6.0.1-    , transformers >=0.3-    , vector >=0.12-    , versions >=6.0.0-    , zlib >=0.7.0.0-    , statistics-    , mwc-random-    , prettyprinter >= 1.7-    , prettyprinter-ansi-terminal >= 1.1--executable futhark-  import: common-  main-is: src/main.hs-  ghc-options: -threaded -rtsopts "-with-rtsopts=-maxN16 -qg1 -A16M"-  build-depends: base, futhark--library futhark-testing-  import: common-  hs-source-dirs: src-testing-  visibility: private-  exposed-modules:-      Futhark.AD.DerivativesTests-      Futhark.Analysis.AlgSimplifyTests-      Futhark.Analysis.DataDependenciesTests-      Futhark.Analysis.PrimExp.TableTests-      Futhark.BenchTests-      Futhark.IR.GPUTests-      Futhark.IR.MCTests-      Futhark.IR.Mem.IntervalTests-      Futhark.IR.Mem.IxFun.Alg-      Futhark.IR.Mem.IxFunTests-      Futhark.IR.Mem.IxFunWrapper-      Futhark.IR.Prop.RearrangeTests-      Futhark.IR.Prop.ReshapeTests-      Futhark.IR.PropTests-      Futhark.IR.SOACSTests-      Futhark.IR.Syntax.CoreTests-      Futhark.IR.SyntaxTests-      Futhark.Internalise.TypesValuesTests-      Futhark.LspTests-      Futhark.Optimise.MemoryBlockMerging.GreedyColoringTests-      Futhark.Optimise.ArrayLayout.AnalyseTests-      Futhark.Optimise.ArrayLayout.LayoutTests-      Futhark.Optimise.ArrayLayoutTests-      Futhark.Optimise.Fusion.ScremaTests-      Futhark.Optimise.FusionTests-      Futhark.Pkg.SolveTests-      Futhark.ProfileTests-      Language.Futhark.CoreTests-      Language.Futhark.PrettyTests-      Language.Futhark.ParserBenchmarks-      Language.Futhark.PrimitiveTests-      Language.Futhark.SemanticTests-      Language.Futhark.SyntaxTests-      Language.Futhark.TypeChecker.TypesTests-      Language.Futhark.TypeChecker.ConsumptionTests-      Language.Futhark.TypeChecker.ModulesTests-      Language.Futhark.TypeCheckerTests-  build-depends:-      QuickCheck >=2.8-    , criterion-    , mtl >=2.2.1-    , base-    , containers-    , co-log-core-    , free-    , futhark-    , lens-    , lsp-    , lsp-test-    , megaparsec-    , neat-interpolation-    , process-    , srcloc-    , tasty-    , tasty-hunit-    , tasty-quickcheck-    , text--test-suite unit-  import: common-  type: exitcode-stdio-1.0-  main-is: src-testing/futhark_tests.hs-  build-depends:-      base-    , futhark-testing-    , tasty--benchmark benchmarks-  import: common-  type: exitcode-stdio-1.0-  main-is: src-testing/futhark_benchmarks.hs-  build-depends:-      base-    , criterion-    , futhark-testing+cabal-version: 3.0
+name:           futhark
+version:        0.25.37
+x-revision: 1
+synopsis:       An optimising compiler for a functional, array-oriented language.
+
+description:    Futhark is a small programming language designed to be compiled to
+                efficient parallel code. It is a statically typed, data-parallel,
+                and purely functional array language in the ML family, and comes
+                with a heavily optimising ahead-of-time compiler that presently
+                generates GPU code via CUDA and OpenCL, although the language itself
+                is hardware-agnostic.
+                .
+                For more information, see the website at https://futhark-lang.org
+                .
+                For introductionary information about hacking on the
+                Futhark compiler, see
+                <https://github.com/diku-dk/futhark/blob/master/HACKING.md the hacking guide>.
+                Regarding the internal design of the compiler, the following modules make
+                good starting points:
+                .
+                * "Futhark" contains a basic architectural overview of the compiler.
+                * "Futhark.IR.Syntax" explains the
+                  basic design of the intermediate representation (IR).
+                * "Futhark.Construct" explains how to write code that
+                  manipulates and creates AST fragments.
+                .
+                <<docs/assets/ohyes.png You too can go fast once you rewrite your program in Futhark.>>
+
+category:       Futhark
+homepage:       https://futhark-lang.org
+bug-reports:    https://github.com/diku-dk/futhark/issues
+maintainer:     Troels Henriksen athas@sigkill.dk
+license:        ISC
+license-file:   LICENSE
+build-type:     Simple
+extra-source-files:
+-- Cabal's recompilation tracking doesn't work when we use wildcards
+-- here, so for now we spell out every single file.
+    rts/c/atomics8.h
+    rts/c/atomics16.h
+    rts/c/atomics32.h
+    rts/c/atomics64.h
+    rts/c/context.h
+    rts/c/context_prototypes.h
+    rts/c/backends/c.h
+    rts/c/backends/cuda.h
+    rts/c/backends/hip.h
+    rts/c/backends/multicore.h
+    rts/c/backends/opencl.h
+    rts/c/lock.h
+    rts/c/copy.h
+    rts/c/timing.h
+    rts/c/errors.h
+    rts/c/free_list.h
+    rts/c/event_list.h
+    rts/c/gpu.h
+    rts/c/gpu_prototypes.h
+    rts/c/tuning.h
+    rts/c/values.h
+    rts/c/half.h
+    rts/c/cache.h
+    rts/c/ispc_util.h
+    rts/c/scalar.h
+    rts/c/scalar_f16.h
+    rts/c/scheduler.h
+    rts/c/uniform.h
+    rts/c/util.h
+    rts/c/server.h
+    rts/cuda/prelude.cu
+    rts/style.css
+    rts/javascript/server.js
+    rts/javascript/values.js
+    rts/javascript/wrapperclasses.js
+    rts/opencl/copy.cl
+    rts/opencl/prelude.cl
+    rts/opencl/transpose.cl
+    rts/python/tuning.py
+    rts/python/panic.py
+    rts/python/memory.py
+    rts/python/server.py
+    rts/python/values.py
+    rts/python/opencl.py
+    rts/python/scalar.py
+    prelude/functional.fut
+    prelude/math.fut
+    prelude/soacs.fut
+    prelude/zip.fut
+    prelude/ad.fut
+    prelude/array.fut
+    prelude/prelude.fut
+-- Just enough of the docs to build the manpages.
+    docs/**/*.rst
+    docs/Makefile
+    docs/conf.py
+    docs/requirements.txt
+extra-doc-files:
+  assets/*.png
+  CHANGELOG.md
+  README.md
+
+source-repository head
+  type: git
+  location: https://github.com/diku-dk/futhark
+
+common common
+  ghc-options: -Wall -Wcompat -Wno-incomplete-uni-patterns -Wno-x-partial -Wno-unrecognised-warning-flags  -Wredundant-constraints -Wincomplete-record-updates -Wmissing-export-lists -Wunused-packages -Wno-x-data-list-nonempty-unzip
+  default-language: GHC2021
+  default-extensions:
+    OverloadedStrings
+
+library
+  import: common
+  hs-source-dirs: src
+  exposed-modules:
+      Futhark
+      Futhark.Actions
+      Futhark.AD.Derivatives
+      Futhark.AD.Fwd
+      Futhark.AD.Rev
+      Futhark.AD.Rev.Loop
+      Futhark.AD.Rev.Hist
+      Futhark.AD.Rev.Map
+      Futhark.AD.Rev.Monad
+      Futhark.AD.Rev.Reduce
+      Futhark.AD.Rev.Scan
+      Futhark.AD.Rev.SOAC
+      Futhark.Analysis.AccessPattern
+      Futhark.Analysis.AlgSimplify
+      Futhark.Analysis.Alias
+      Futhark.Analysis.CallGraph
+      Futhark.Analysis.DataDependencies
+      Futhark.Analysis.HORep.MapNest
+      Futhark.Analysis.HORep.SOAC
+      Futhark.Analysis.Interference
+      Futhark.Analysis.LastUse
+      Futhark.Analysis.MemAlias
+      Futhark.Analysis.Metrics
+      Futhark.Analysis.Metrics.Type
+      Futhark.Analysis.PrimExp
+      Futhark.Analysis.PrimExp.Convert
+      Futhark.Analysis.PrimExp.Parse
+      Futhark.Analysis.PrimExp.Simplify
+      Futhark.Analysis.PrimExp.Table
+      Futhark.Analysis.SymbolTable
+      Futhark.Analysis.UsageTable
+      Futhark.Bench
+      Futhark.Builder
+      Futhark.Builder.Class
+      Futhark.CLI.Autotune
+      Futhark.CLI.Bench
+      Futhark.CLI.C
+      Futhark.CLI.CUDA
+      Futhark.CLI.Check
+      Futhark.CLI.Benchcmp
+      Futhark.CLI.Datacmp
+      Futhark.CLI.Dataset
+      Futhark.CLI.Defs
+      Futhark.CLI.Dev
+      Futhark.CLI.Doc
+      Futhark.CLI.Eval
+      Futhark.CLI.Fmt
+      Futhark.CLI.HIP
+      Futhark.CLI.Literate
+      Futhark.CLI.LSP
+      Futhark.CLI.Main
+      Futhark.CLI.Misc
+      Futhark.CLI.Multicore
+      Futhark.CLI.MulticoreISPC
+      Futhark.CLI.MulticoreWASM
+      Futhark.CLI.OpenCL
+      Futhark.CLI.Pkg
+      Futhark.CLI.Profile
+      Futhark.CLI.PyOpenCL
+      Futhark.CLI.Python
+      Futhark.CLI.Query
+      Futhark.CLI.REPL
+      Futhark.CLI.Run
+      Futhark.CLI.Script
+      Futhark.CLI.Test
+      Futhark.CLI.WASM
+      Futhark.CodeGen.Backends.CCUDA
+      Futhark.CodeGen.Backends.COpenCL
+      Futhark.CodeGen.Backends.HIP
+      Futhark.CodeGen.Backends.GenericC
+      Futhark.CodeGen.Backends.GenericC.CLI
+      Futhark.CodeGen.Backends.GenericC.Code
+      Futhark.CodeGen.Backends.GenericC.EntryPoints
+      Futhark.CodeGen.Backends.GenericC.Fun
+      Futhark.CodeGen.Backends.GenericC.Monad
+      Futhark.CodeGen.Backends.GenericC.Options
+      Futhark.CodeGen.Backends.GenericC.Pretty
+      Futhark.CodeGen.Backends.GenericC.Server
+      Futhark.CodeGen.Backends.GenericC.Types
+      Futhark.CodeGen.Backends.GenericPython
+      Futhark.CodeGen.Backends.GenericPython.AST
+      Futhark.CodeGen.Backends.GenericPython.Options
+      Futhark.CodeGen.Backends.GenericWASM
+      Futhark.CodeGen.Backends.GPU
+      Futhark.CodeGen.Backends.MulticoreC
+      Futhark.CodeGen.Backends.MulticoreC.Boilerplate
+      Futhark.CodeGen.Backends.MulticoreISPC
+      Futhark.CodeGen.Backends.MulticoreWASM
+      Futhark.CodeGen.Backends.PyOpenCL
+      Futhark.CodeGen.Backends.PyOpenCL.Boilerplate
+      Futhark.CodeGen.Backends.SequentialC
+      Futhark.CodeGen.Backends.SequentialC.Boilerplate
+      Futhark.CodeGen.Backends.SequentialPython
+      Futhark.CodeGen.Backends.SequentialWASM
+      Futhark.CodeGen.Backends.SimpleRep
+      Futhark.CodeGen.RTS.C
+      Futhark.CodeGen.RTS.CUDA
+      Futhark.CodeGen.RTS.OpenCL
+      Futhark.CodeGen.RTS.Python
+      Futhark.CodeGen.RTS.JavaScript
+      Futhark.CodeGen.ImpCode
+      Futhark.CodeGen.ImpCode.GPU
+      Futhark.CodeGen.ImpCode.Multicore
+      Futhark.CodeGen.ImpCode.OpenCL
+      Futhark.CodeGen.ImpCode.Sequential
+      Futhark.CodeGen.ImpGen
+      Futhark.CodeGen.ImpGen.CUDA
+      Futhark.CodeGen.ImpGen.GPU
+      Futhark.CodeGen.ImpGen.GPU.Base
+      Futhark.CodeGen.ImpGen.GPU.Block
+      Futhark.CodeGen.ImpGen.GPU.SegHist
+      Futhark.CodeGen.ImpGen.GPU.SegMap
+      Futhark.CodeGen.ImpGen.GPU.SegRed
+      Futhark.CodeGen.ImpGen.GPU.SegScan
+      Futhark.CodeGen.ImpGen.GPU.SegScan.SinglePass
+      Futhark.CodeGen.ImpGen.GPU.SegScan.TwoPass
+      Futhark.CodeGen.ImpGen.GPU.ToOpenCL
+      Futhark.CodeGen.ImpGen.HIP
+      Futhark.CodeGen.ImpGen.Multicore
+      Futhark.CodeGen.ImpGen.Multicore.Base
+      Futhark.CodeGen.ImpGen.Multicore.SegHist
+      Futhark.CodeGen.ImpGen.Multicore.SegMap
+      Futhark.CodeGen.ImpGen.Multicore.SegRed
+      Futhark.CodeGen.ImpGen.Multicore.SegScan
+      Futhark.CodeGen.ImpGen.OpenCL
+      Futhark.CodeGen.ImpGen.Sequential
+      Futhark.CodeGen.OpenCL.Heuristics
+      Futhark.Compiler
+      Futhark.Compiler.CLI
+      Futhark.Compiler.Config
+      Futhark.Compiler.Program
+      Futhark.Construct
+      Futhark.Doc.Generator
+      Futhark.Error
+      Futhark.Eval
+      Futhark.Fmt.Printer
+      Futhark.Fmt.Monad
+      Futhark.FreshNames
+      Futhark.Format
+      Futhark.IR
+      Futhark.IR.Aliases
+      Futhark.IR.GPU
+      Futhark.IR.GPU.Op
+      Futhark.IR.GPU.Simplify
+      Futhark.IR.GPU.Sizes
+      Futhark.IR.GPUMem
+      Futhark.IR.MC
+      Futhark.IR.MC.Op
+      Futhark.IR.MCMem
+      Futhark.IR.Mem
+      Futhark.IR.Mem.Interval
+      Futhark.IR.Mem.LMAD
+      Futhark.IR.Mem.Simplify
+      Futhark.IR.Parse
+      Futhark.IR.Pretty
+      Futhark.IR.Prop
+      Futhark.IR.Prop.Aliases
+      Futhark.IR.Prop.Constants
+      Futhark.IR.Prop.Names
+      Futhark.IR.Prop.Pat
+      Futhark.IR.Prop.Rearrange
+      Futhark.IR.Prop.Reshape
+      Futhark.IR.Prop.Scope
+      Futhark.IR.Prop.TypeOf
+      Futhark.IR.Prop.Types
+      Futhark.IR.Rep
+      Futhark.IR.Rephrase
+      Futhark.IR.RetType
+      Futhark.IR.SOACS
+      Futhark.IR.SOACS.SOAC
+      Futhark.IR.SOACS.Simplify
+      Futhark.IR.SegOp
+      Futhark.IR.Seq
+      Futhark.IR.SeqMem
+      Futhark.IR.Syntax
+      Futhark.IR.Syntax.Core
+      Futhark.IR.Traversals
+      Futhark.IR.TypeCheck
+      Futhark.Internalise
+      Futhark.Internalise.AccurateSizes
+      Futhark.Internalise.ApplyTypeAbbrs
+      Futhark.Internalise.Bindings
+      Futhark.Internalise.Defunctionalise
+      Futhark.Internalise.Defunctorise
+      Futhark.Internalise.Entry
+      Futhark.Internalise.Exps
+      Futhark.Internalise.FullNormalise
+      Futhark.Internalise.Lambdas
+      Futhark.Internalise.LiftLambdas
+      Futhark.Internalise.Monad
+      Futhark.Internalise.Monomorphise
+      Futhark.Internalise.ReplaceRecords
+      Futhark.Internalise.TypesValues
+      Futhark.LSP.CodeAction
+      Futhark.LSP.CodeLens
+      Futhark.LSP.CommandType
+      Futhark.LSP.Compile
+      Futhark.LSP.Diagnostic
+      Futhark.LSP.Handlers
+      Futhark.LSP.InlayHint
+      Futhark.LSP.PositionMapping
+      Futhark.LSP.State
+      Futhark.LSP.Tool
+      Futhark.LSP.TypeAscription
+      Futhark.MonadFreshNames
+      Futhark.Optimise.BlkRegTiling
+      Futhark.Optimise.CSE
+      Futhark.Optimise.DoubleBuffer
+      Futhark.Optimise.EntryPointMem
+      Futhark.Optimise.Fusion
+      Futhark.Optimise.Fusion.Composing
+      Futhark.Optimise.Fusion.GraphRep
+      Futhark.Optimise.Fusion.RulesWithAccs
+      Futhark.Optimise.Fusion.Screma
+      Futhark.Optimise.Fusion.TryFusion
+      Futhark.Optimise.GenRedOpt
+      Futhark.Optimise.HistAccs
+      Futhark.Optimise.InliningDeadFun
+      Futhark.Optimise.MemoryBlockMerging
+      Futhark.Optimise.MemoryBlockMerging.GreedyColoring
+      Futhark.Optimise.ArrayShortCircuiting
+      Futhark.Optimise.ArrayShortCircuiting.ArrayCoalescing
+      Futhark.Optimise.ArrayShortCircuiting.DataStructs
+      Futhark.Optimise.ArrayShortCircuiting.MemRefAggreg
+      Futhark.Optimise.ArrayShortCircuiting.TopdownAnalysis
+      Futhark.Optimise.MergeGPUBodies
+      Futhark.Optimise.ArrayLayout
+      Futhark.Optimise.ArrayLayout.Transform
+      Futhark.Optimise.ArrayLayout.Layout
+      Futhark.Optimise.ReduceDeviceSyncs
+      Futhark.Optimise.ReduceDeviceSyncs.MigrationTable
+      Futhark.Optimise.ReduceDeviceSyncs.MigrationTable.Graph
+      Futhark.Optimise.Simplify
+      Futhark.Optimise.Simplify.Engine
+      Futhark.Optimise.Simplify.Rep
+      Futhark.Optimise.Simplify.Rule
+      Futhark.Optimise.Simplify.Rules
+      Futhark.Optimise.Simplify.Rules.BasicOp
+      Futhark.Optimise.Simplify.Rules.ClosedForm
+      Futhark.Optimise.Simplify.Rules.Index
+      Futhark.Optimise.Simplify.Rules.Loop
+      Futhark.Optimise.Simplify.Rules.Match
+      Futhark.Optimise.Simplify.Rules.Simple
+      Futhark.Optimise.Sink
+      Futhark.Optimise.TileLoops
+      Futhark.Optimise.TileLoops.Shared
+      Futhark.Optimise.Unstream
+      Futhark.Pass
+      Futhark.Pass.AD
+      Futhark.Pass.ExpandAllocations
+      Futhark.Pass.ExplicitAllocations
+      Futhark.Pass.ExplicitAllocations.GPU
+      Futhark.Pass.ExplicitAllocations.MC
+      Futhark.Pass.ExplicitAllocations.SegOp
+      Futhark.Pass.ExplicitAllocations.Seq
+      Futhark.Pass.ExtractKernels
+      Futhark.Pass.ExtractKernels.BlockedKernel
+      Futhark.Pass.ExtractKernels.DistributeNests
+      Futhark.Pass.ExtractKernels.Distribution
+      Futhark.Pass.ExtractKernels.ISRWIM
+      Futhark.Pass.ExtractKernels.Interchange
+      Futhark.Pass.ExtractKernels.Intrablock
+      Futhark.Pass.ExtractKernels.StreamKernel
+      Futhark.Pass.ExtractKernels.ToGPU
+      Futhark.Pass.ExtractMulticore
+      Futhark.Pass.FirstOrderTransform
+      Futhark.Pass.LiftAllocations
+      Futhark.Pass.LowerAllocations
+      Futhark.Pass.Simplify
+      Futhark.Passes
+      Futhark.Pipeline
+      Futhark.Pkg.Info
+      Futhark.Pkg.Solve
+      Futhark.Pkg.Types
+      Futhark.Profile
+      Futhark.Profile.Details
+      Futhark.Profile.EventSummary
+      Futhark.Profile.Html
+      Futhark.Profile.SourceRange
+      Futhark.Script
+      Futhark.Test
+      Futhark.Test.Spec
+      Futhark.Test.Values
+      Futhark.Tools
+      Futhark.Transform.CopyPropagate
+      Futhark.Transform.FirstOrderTransform
+      Futhark.Transform.Rename
+      Futhark.Transform.Substitute
+      Futhark.Util
+      Futhark.Util.CMath
+      Futhark.Util.IntegralExp
+      Futhark.Util.Html
+      Futhark.Util.Loc
+      Futhark.Util.Log
+      Futhark.Util.Options
+      Futhark.Util.Pretty
+      Futhark.Util.ProgressBar
+      Futhark.Util.Table
+      Futhark.Version
+      Language.Futhark
+      Language.Futhark.Core
+      Language.Futhark.Interpreter
+      Language.Futhark.Interpreter.AD
+      Language.Futhark.Interpreter.Values
+      Language.Futhark.FreeVars
+      Language.Futhark.Parser
+      Language.Futhark.Parser.Monad
+      Language.Futhark.Parser.Lexer.Tokens
+      Language.Futhark.Parser.Lexer.Wrapper
+      Language.Futhark.Prelude
+      Language.Futhark.Pretty
+      Language.Futhark.Primitive
+      Language.Futhark.Primitive.Parse
+      Language.Futhark.Prop
+      Language.Futhark.Query
+      Language.Futhark.Semantic
+      Language.Futhark.Syntax
+      Language.Futhark.Traversals
+      Language.Futhark.Tuple
+      Language.Futhark.TypeChecker
+      Language.Futhark.TypeChecker.Consumption
+      Language.Futhark.TypeChecker.Names
+      Language.Futhark.TypeChecker.Match
+      Language.Futhark.TypeChecker.Modules
+      Language.Futhark.TypeChecker.Monad
+      Language.Futhark.TypeChecker.Terms
+      Language.Futhark.TypeChecker.Terms.Loop
+      Language.Futhark.TypeChecker.Terms.Monad
+      Language.Futhark.TypeChecker.Terms.Pat
+      Language.Futhark.TypeChecker.Types
+      Language.Futhark.TypeChecker.Unify
+      Language.Futhark.Warnings
+  other-modules:
+      Language.Futhark.Parser.Parser
+      Language.Futhark.Parser.Lexer
+      Paths_futhark
+  autogen-modules:
+      Paths_futhark
+  build-tool-depends:
+      alex:alex
+    , happy:happy
+  build-depends:
+      aeson >=2.0.0.0
+    , ansi-terminal >=0.6.3.1
+    , array >=0.4
+    , async >=2.0
+    , base >=4.20 && <5
+    , base16-bytestring
+    , binary >=0.8.3
+    , blaze-html >=0.9.0.1
+    , bytestring >=0.11.2
+    , bytestring-to-vector >=0.3.0.1
+    , bmp >=1.2.6.3
+    , co-log-core
+    , containers >=0.6.2.1
+    , cryptohash-md5
+    , Diff >=0.4.1
+    , directory >=1.3.0.0
+    , directory-tree >=0.12.1
+    , dlist >=0.6.0.1
+    , fgl
+    , fgl-visualize
+    , file-embed >=0.0.14.0
+    , filepath >=1.4.1.1
+    , free >=5.1.10
+    , futhark-data >= 1.1.3.0
+    , futhark-server == 1.3.3.0
+    , futhark-manifest == 1.7.0.0
+    , githash >=0.1.6.1
+    , half >= 0.3
+    , haskeline
+    , language-c-quote >= 0.12
+    , lens
+    , lsp >= 2.8.0.0
+    , lsp-types >= 2.4.0.0
+    , mainland-pretty >=0.7.1
+    , cmark-gfm >=0.2.1
+    , megaparsec >=9.0.0
+    , mtl >=2.2.1
+    , neat-interpolation >=0.3
+    , parallel >=3.2.1.0
+    , random >= 1.2.0
+    , process-extras >=0.7.2
+    , regex-tdfa >=1.2
+    , srcloc >=0.4
+    , template-haskell >=2.11.1
+    , temporary
+    , terminal-size >=0.3
+    , text >=1.2.2.2
+    , text-rope
+    , time >=1.6.0.1
+    , transformers >=0.3
+    , vector >=0.12
+    , versions >=6.0.0
+    , zlib >=0.7.0.0
+    , statistics
+    , mwc-random
+    , prettyprinter >= 1.7
+    , prettyprinter-ansi-terminal >= 1.1
+
+executable futhark
+  import: common
+  main-is: src/main.hs
+  ghc-options: -threaded -rtsopts "-with-rtsopts=-maxN16 -qg1 -A16M"
+  build-depends: base, futhark
+
+library futhark-testing
+  import: common
+  hs-source-dirs: src-testing
+  visibility: private
+  exposed-modules:
+      Futhark.AD.DerivativesTests
+      Futhark.Analysis.AlgSimplifyTests
+      Futhark.Analysis.DataDependenciesTests
+      Futhark.Analysis.PrimExp.TableTests
+      Futhark.BenchTests
+      Futhark.IR.GPUTests
+      Futhark.IR.MCTests
+      Futhark.IR.Mem.IntervalTests
+      Futhark.IR.Mem.IxFun.Alg
+      Futhark.IR.Mem.IxFunTests
+      Futhark.IR.Mem.IxFunWrapper
+      Futhark.IR.Prop.RearrangeTests
+      Futhark.IR.Prop.ReshapeTests
+      Futhark.IR.PropTests
+      Futhark.IR.SOACSTests
+      Futhark.IR.Syntax.CoreTests
+      Futhark.IR.SyntaxTests
+      Futhark.Internalise.TypesValuesTests
+      Futhark.LspTests
+      Futhark.Optimise.MemoryBlockMerging.GreedyColoringTests
+      Futhark.Optimise.ArrayLayout.AnalyseTests
+      Futhark.Optimise.ArrayLayout.LayoutTests
+      Futhark.Optimise.ArrayLayoutTests
+      Futhark.Optimise.Fusion.ScremaTests
+      Futhark.Optimise.FusionTests
+      Futhark.Pkg.SolveTests
+      Futhark.ProfileTests
+      Language.Futhark.CoreTests
+      Language.Futhark.PrettyTests
+      Language.Futhark.ParserBenchmarks
+      Language.Futhark.PrimitiveTests
+      Language.Futhark.SemanticTests
+      Language.Futhark.SyntaxTests
+      Language.Futhark.TypeChecker.TypesTests
+      Language.Futhark.TypeChecker.ConsumptionTests
+      Language.Futhark.TypeChecker.ModulesTests
+      Language.Futhark.TypeCheckerTests
+  build-depends:
+      QuickCheck >=2.8
+    , criterion
+    , mtl >=2.2.1
+    , base
+    , containers
+    , co-log-core
+    , free
+    , futhark
+    , lens
+    , lsp
+    , lsp-test
+    , megaparsec
+    , neat-interpolation
+    , process
+    , srcloc
+    , tasty
+    , tasty-hunit
+    , tasty-quickcheck
+    , text
+
+test-suite unit
+  import: common
+  type: exitcode-stdio-1.0
+  main-is: src-testing/futhark_tests.hs
+  build-depends:
+      base
+    , futhark-testing
+    , tasty
+
+benchmark benchmarks
+  import: common
+  type: exitcode-stdio-1.0
+  main-is: src-testing/futhark_benchmarks.hs
+  build-depends:
+      base
+    , criterion
+    , futhark-testing