cabal-version: 2.4 -- Run 'cabal2nix . >futhark.nix' after adding deps. name: futhark version: 0.19.3 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 . Regarding the internal design of the compiler, the following modules make good starting points: . * "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. . <> category: Language 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: rts/c/*.h rts/futhark-doc/*.css rts/python/*.py 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 source-repository head type: git location: https://github.com/diku-dk/futhark library exposed-modules: Futhark.Actions Futhark.Analysis.Alias Futhark.Analysis.CallGraph Futhark.Analysis.DataDependencies Futhark.Analysis.HORep.MapNest Futhark.Analysis.HORep.SOAC Futhark.Analysis.Metrics Futhark.Analysis.Metrics.Type Futhark.Analysis.PrimExp Futhark.Analysis.PrimExp.Parse Futhark.Analysis.PrimExp.Convert Futhark.Analysis.PrimExp.Generalize Futhark.Analysis.PrimExp.Simplify Futhark.Analysis.Rephrase Futhark.Analysis.SymbolTable Futhark.Analysis.UsageTable Futhark.Bench Futhark.Binder Futhark.Binder.Class Futhark.CLI.Autotune Futhark.CLI.Bench Futhark.CLI.C Futhark.CLI.CUDA Futhark.CLI.Check Futhark.CLI.Datacmp Futhark.CLI.Dataset Futhark.CLI.Dev Futhark.CLI.Doc Futhark.CLI.Literate Futhark.CLI.Misc Futhark.CLI.Multicore Futhark.CLI.OpenCL Futhark.CLI.Pkg Futhark.CLI.PyOpenCL Futhark.CLI.Python Futhark.CLI.Query Futhark.CLI.REPL Futhark.CLI.Run Futhark.CLI.Test Futhark.CodeGen.Backends.CCUDA Futhark.CodeGen.Backends.CCUDA.Boilerplate Futhark.CodeGen.Backends.COpenCL Futhark.CodeGen.Backends.COpenCL.Boilerplate Futhark.CodeGen.Backends.GenericC Futhark.CodeGen.Backends.GenericC.CLI Futhark.CodeGen.Backends.GenericC.Server Futhark.CodeGen.Backends.GenericC.Options Futhark.CodeGen.Backends.GenericPython Futhark.CodeGen.Backends.GenericPython.AST Futhark.CodeGen.Backends.GenericPython.Definitions Futhark.CodeGen.Backends.GenericPython.Options Futhark.CodeGen.Backends.MulticoreC 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.SimpleRep Futhark.CodeGen.ImpCode Futhark.CodeGen.ImpCode.Kernels Futhark.CodeGen.ImpCode.Multicore Futhark.CodeGen.ImpCode.OpenCL Futhark.CodeGen.ImpCode.Sequential Futhark.CodeGen.ImpGen Futhark.CodeGen.ImpGen.CUDA Futhark.CodeGen.ImpGen.Kernels Futhark.CodeGen.ImpGen.Kernels.Base Futhark.CodeGen.ImpGen.Kernels.SegHist Futhark.CodeGen.ImpGen.Kernels.SegMap Futhark.CodeGen.ImpGen.Kernels.SegRed Futhark.CodeGen.ImpGen.Kernels.SegScan Futhark.CodeGen.ImpGen.Kernels.SegScan.SinglePass Futhark.CodeGen.ImpGen.Kernels.SegScan.TwoPass Futhark.CodeGen.ImpGen.Kernels.ToOpenCL Futhark.CodeGen.ImpGen.Kernels.Transpose 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.ImpGen.Transpose Futhark.CodeGen.OpenCL.Heuristics Futhark.CodeGen.SetDefaultSpace Futhark.Compiler Futhark.Compiler.CLI Futhark.Compiler.Program Futhark.Construct Futhark.Doc.Generator Futhark.Error Futhark.FreshNames Futhark.IR Futhark.IR.Aliases Futhark.IR.Decorations Futhark.IR.Parse Futhark.IR.Kernels Futhark.IR.Kernels.Kernel Futhark.IR.Kernels.Simplify Futhark.IR.Kernels.Sizes Futhark.IR.KernelsMem Futhark.IR.MC Futhark.IR.MC.Op Futhark.IR.MCMem Futhark.IR.Mem Futhark.IR.Mem.IxFun Futhark.IR.Mem.Simplify Futhark.IR.Pretty Futhark.IR.Primitive Futhark.IR.Primitive.Parse Futhark.IR.Prop Futhark.IR.Prop.Aliases Futhark.IR.Prop.Constants Futhark.IR.Prop.Names Futhark.IR.Prop.Patterns Futhark.IR.Prop.Rearrange Futhark.IR.Prop.Reshape Futhark.IR.Prop.Scope Futhark.IR.Prop.TypeOf Futhark.IR.Prop.Types 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.Internalise Futhark.Internalise.AccurateSizes Futhark.Internalise.Bindings Futhark.Internalise.Defunctionalise Futhark.Internalise.Defunctorise Futhark.Internalise.FreeVars Futhark.Internalise.Lambdas Futhark.Internalise.LiftLambdas Futhark.Internalise.Monad Futhark.Internalise.Monomorphise Futhark.Internalise.TypesValues Futhark.MonadFreshNames Futhark.Optimise.BlkRegTiling Futhark.Optimise.CSE Futhark.Optimise.DoubleBuffer Futhark.Optimise.Fusion Futhark.Optimise.Fusion.Composing Futhark.Optimise.Fusion.LoopKernel Futhark.Optimise.InPlaceLowering Futhark.Optimise.InPlaceLowering.LowerIntoStm Futhark.Optimise.InPlaceLowering.SubstituteIndices Futhark.Optimise.InliningDeadFun Futhark.Optimise.Simplify Futhark.Optimise.Simplify.Engine Futhark.Optimise.Simplify.Lore 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.Simple Futhark.Optimise.Sink Futhark.Optimise.TileLoops Futhark.Optimise.TileLoops.Shared Futhark.Optimise.Unstream Futhark.Pass Futhark.Pass.ExpandAllocations Futhark.Pass.ExplicitAllocations Futhark.Pass.ExplicitAllocations.Kernels Futhark.Pass.ExplicitAllocations.SegOp Futhark.Pass.ExplicitAllocations.Seq Futhark.Pass.ExplicitAllocations.MC 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.Intragroup Futhark.Pass.ExtractKernels.StreamKernel Futhark.Pass.ExtractKernels.ToKernels Futhark.Pass.ExtractMulticore Futhark.Pass.FirstOrderTransform Futhark.Pass.KernelBabysitting Futhark.Pass.Simplify Futhark.Passes Futhark.Pipeline Futhark.Pkg.Info Futhark.Pkg.Solve Futhark.Pkg.Types Futhark.Script Futhark.Server Futhark.Test Futhark.Test.Values Futhark.Test.Values.Parser Futhark.Tools Futhark.Transform.CopyPropagate Futhark.Transform.FirstOrderTransform Futhark.Transform.Rename Futhark.Transform.Substitute Futhark.TypeCheck Futhark.Util Futhark.Util.Console Futhark.Util.IntegralExp Futhark.Util.Loc Futhark.Util.Log Futhark.Util.Options Futhark.Util.Pretty Futhark.Util.Table Futhark.Version Language.Futhark Language.Futhark.Core Language.Futhark.Interpreter Language.Futhark.Parser Language.Futhark.Prelude Language.Futhark.Pretty Language.Futhark.Prop Language.Futhark.Query Language.Futhark.Semantic Language.Futhark.Syntax Language.Futhark.Traversals Language.Futhark.TypeChecker Language.Futhark.TypeChecker.Match Language.Futhark.TypeChecker.Modules Language.Futhark.TypeChecker.Monad Language.Futhark.TypeChecker.Terms 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 hs-source-dirs: src ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wmissing-export-lists build-tool-depends: alex:alex , happy:happy build-depends: aeson >=1.0.0.0 , ansi-terminal >=0.6.3.1 , array >=0.4 , base >=4.13 && <5 , binary >=0.8.3 , blaze-html >=0.9.0.1 , bytestring >=0.10.8 , bytestring-to-vector >=0.3.0.1 , bmp >=1.2.6.3 , containers >=0.6.2.1 , directory >=1.3.0.0 , directory-tree >=0.12.1 , dlist >=0.6.0.1 , file-embed >=0.0.9 , filepath >=1.4.1.1 , free >=4.12.4 , gitrev >=1.2.0 , hashable , haskeline , language-c-quote >=0.12 , mainland-pretty >=0.6.1 , cmark-gfm >=0.2.1 , megaparsec >=9.0.0 , mtl >=2.2.1 , neat-interpolation >=0.3 , parallel >=3.2.1.0 , pcg-random >= 0.1 , process >=1.4.3.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 , time >=1.6.0.1 , transformers >=0.3 , unordered-containers >=0.2.7 , utf8-string >=1 , vector >=0.12 , vector-binary-instances >=0.2.2.0 , versions >=4.0.1 , zip-archive >=0.3.1.1 , zlib >=0.6.1.2 default-language: Haskell2010 executable futhark main-is: src/futhark.hs other-modules: Paths_futhark ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wmissing-export-lists -threaded -rtsopts "-with-rtsopts=-N -qg -H1G -A4M" build-depends: base , futhark , text default-language: Haskell2010 test-suite unit type: exitcode-stdio-1.0 main-is: futhark_tests.hs other-modules: Futhark.BenchTests Futhark.Pkg.SolveTests Futhark.IR.Prop.RearrangeTests Futhark.IR.Prop.ReshapeTests Futhark.IR.PropTests Futhark.IR.Syntax.CoreTests Futhark.IR.SyntaxTests Futhark.IR.Mem.IxFun.Alg Futhark.IR.Mem.IxFunTests Futhark.IR.Mem.IxFunWrapper Futhark.IR.PrimitiveTests Language.Futhark.CoreTests Language.Futhark.SyntaxTests Paths_futhark hs-source-dirs: unittests ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wmissing-export-lists build-depends: QuickCheck >=2.8 , base , containers , futhark , megaparsec , mtl , parser-combinators , tasty , tasty-hunit , tasty-quickcheck , text default-language: Haskell2010