futhark-0.19.5: An optimising compiler for a functional, array-oriented language.

Index - B

babysitKernelsFuthark.Pass.KernelBabysitting
backquoteFuthark.Util.Pretty
backquotesFuthark.Util.Pretty
BACKSLASHLanguage.Futhark.Parser
BACKTICKLanguage.Futhark.Parser
BacktickLanguage.Futhark.Syntax, Language.Futhark
badFuthark.TypeCheck
BadAnnotationFuthark.TypeCheck
badOnLeftLanguage.Futhark.TypeChecker.Monad
BandLanguage.Futhark.Syntax, Language.Futhark
bareExpLanguage.Futhark.Traversals
BarrierFuthark.CodeGen.ImpCode.Kernels
baseFuthark.IR.Mem.IxFun
baseNameLanguage.Futhark.Core, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels, Futhark.CodeGen.Backends.GenericPython.AST, Language.Futhark.Syntax, Language.Futhark
baseStringLanguage.Futhark.Core, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels, Futhark.CodeGen.Backends.GenericPython.AST, Language.Futhark.Syntax, Language.Futhark
baseTagLanguage.Futhark.Core, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels, Futhark.CodeGen.Backends.GenericPython.AST, Language.Futhark.Syntax, Language.Futhark
BasicOp 
1 (Data Constructor)Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
2 (Type/Class)Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
basicOpRulesFuthark.Optimise.Simplify.Rules.BasicOp
basicPatternFuthark.IR.Prop.Patterns, Futhark.IR.Prop, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
Basis 
1 (Type/Class)Futhark.Compiler.Program, Futhark.Compiler, Futhark.Compiler.CLI
2 (Data Constructor)Futhark.Compiler.Program, Futhark.Compiler, Futhark.Compiler.CLI
basisImportsFuthark.Compiler.Program, Futhark.Compiler, Futhark.Compiler.CLI
basisNameSourceFuthark.Compiler.Program, Futhark.Compiler, Futhark.Compiler.CLI
basisRootsFuthark.Compiler.Program, Futhark.Compiler, Futhark.Compiler.CLI
benchmarkDatasetFuthark.Bench
BenchResult 
1 (Type/Class)Futhark.Bench
2 (Data Constructor)Futhark.Bench
binaryNameFuthark.Test, Futhark.Bench
BindableFuthark.Binder.Class, Futhark.Binder, Futhark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
bindableSimpleOpsFuthark.Optimise.Simplify.Engine, Futhark.Optimise.Simplify
bindConstantFuthark.Internalise.Monad
BinderFuthark.Binder, Futhark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
BinderOpsFuthark.Binder, Futhark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
BinderTFuthark.Binder, Futhark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
bindFunctionFuthark.Internalise.Monad
bindingFuthark.TypeCheck
bindingFParamsFuthark.Internalise.Bindings
bindingLambdaParamsFuthark.Internalise.Bindings
bindingLoopParamsFuthark.Internalise.Bindings
bindingsFuthark.Analysis.SymbolTable
bindLParamsFuthark.Optimise.Simplify.Engine
bindNameMapLanguage.Futhark.TypeChecker.Monad
bindSpacedLanguage.Futhark.TypeChecker.Monad
bindValLanguage.Futhark.TypeChecker.Monad
BinOp 
1 (Type/Class)Futhark.IR.Primitive, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.IR, Futhark.IR.Aliases, Futhark.Analysis.PrimExp.Convert, Futhark.IR.Seq, Futhark.Tools, Futhark.IR.SOACS, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
2 (Data Constructor)Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
3 (Data Constructor)Futhark.CodeGen.Backends.GenericPython.AST
4 (Data Constructor)Language.Futhark.Syntax, Language.Futhark
5 (Type/Class)Language.Futhark.Syntax, Language.Futhark
BinOpExpFuthark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.Analysis.PrimExp.Convert, Futhark.Tools, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.SeqMem, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
binOpLambdaFuthark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
binOpTypeFuthark.IR.Primitive, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.IR, Futhark.IR.Aliases, Futhark.Analysis.PrimExp.Convert, Futhark.IR.Seq, Futhark.Tools, Futhark.IR.SOACS, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
blankNameSourceFuthark.FreshNames, Futhark.MonadFreshNames, Futhark.Binder.Class, Futhark.Binder, Futhark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
blankPrimValueFuthark.IR.Primitive, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.IR, Futhark.IR.Aliases, Futhark.Analysis.PrimExp.Convert, Futhark.IR.Seq, Futhark.Tools, Futhark.IR.SOACS, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
blockHoistBranchFuthark.Optimise.Simplify.Engine
blockHoistParFuthark.Optimise.Simplify.Engine
blockHoistSeqFuthark.Optimise.Simplify.Engine
blockIfFuthark.Optimise.Simplify.Engine
BlockPredFuthark.Optimise.Simplify.Engine
blockScopeFuthark.CodeGen.Backends.GenericC
bNotFuthark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.Analysis.PrimExp.Convert, Futhark.Tools, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.SeqMem, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
Body 
1 (Type/Class)Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
2 (Data Constructor)Futhark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
3 (Type/Class)Futhark.IR.SOACS
bodyAliasesFuthark.IR.Prop.Aliases, Futhark.IR.Aliases
BodyAliasingFuthark.IR.Aliases
bodyBindFuthark.Binder.Class, Futhark.Binder, Futhark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
bodyContainsParallelismFuthark.Pass.ExtractKernels.DistributeNests
BodyDecFuthark.IR.Decorations, Futhark.IR.Syntax, Futhark.IR.Syntax, Futhark.IR, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.IR.KernelsMem
bodyDecFuthark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
bodyResultFuthark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
BodyReturnsFuthark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.SeqMem, Futhark.IR.KernelsMem
bodyReturnsFromPatternFuthark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.SeqMem, Futhark.IR.KernelsMem
bodyReturnsToExpReturnsFuthark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.SeqMem, Futhark.IR.KernelsMem
bodyStmsFuthark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
BodyTFuthark.IR.Syntax, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
Bool 
1 (Data Constructor)Futhark.IR.Primitive, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.IR, Futhark.IR.Aliases, Futhark.Analysis.PrimExp.Convert, Futhark.IR.Seq, Futhark.Tools, Futhark.IR.SOACS, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
2 (Data Constructor)Futhark.CodeGen.Backends.GenericPython.AST
3 (Data Constructor)Language.Futhark.Syntax, Language.Futhark
boolFuthark.Util.Pretty
BoolValue 
1 (Data Constructor)Futhark.IR.Primitive, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.IR, Futhark.IR.Aliases, Futhark.Analysis.PrimExp.Convert, Futhark.IR.Seq, Futhark.Tools, Futhark.IR.SOACS, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
2 (Data Constructor)Language.Futhark.Syntax, Language.Futhark
3 (Data Constructor)Futhark.Test.Values
BorLanguage.Futhark.Syntax, Language.Futhark
BottomUpFuthark.Optimise.Simplify.Rule
BottomUpRuleFuthark.Optimise.Simplify.Rule
BottomUpRuleBasicOpFuthark.Optimise.Simplify.Rule
BottomUpRuleDoLoopFuthark.Optimise.Simplify.Rule
BottomUpRuleGenericFuthark.Optimise.Simplify.Rule
BottomUpRuleIfFuthark.Optimise.Simplify.Rule
BottomUpRuleOpFuthark.Optimise.Simplify.Rule
bottomUpSimplifyStmFuthark.Optimise.Simplify.Rule
boundByLambdaFuthark.IR.Prop.Names, Futhark.IR.Prop, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
boundByStmFuthark.IR.Prop.Names, Futhark.IR.Prop, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
boundByStmsFuthark.IR.Prop.Names, Futhark.IR.Prop, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
boundInBodyFuthark.IR.Prop.Names, Futhark.IR.Prop, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
boundInKernelNestFuthark.Pass.ExtractKernels.Distribution
boundInKernelNestsFuthark.Pass.ExtractKernels.Distribution
boundLocLanguage.Futhark.Query
BoundModuleLanguage.Futhark.Query
BoundModuleTypeLanguage.Futhark.Query
BoundTermLanguage.Futhark.Query
BoundToLanguage.Futhark.Query
BoundTypeLanguage.Futhark.Query
BoundV 
1 (Type/Class)Language.Futhark.Semantic, Language.Futhark.TypeChecker.Monad
2 (Data Constructor)Language.Futhark.Semantic, Language.Futhark.TypeChecker.Monad
bracesFuthark.Util.Pretty
bracketsFuthark.Util.Pretty
Branch 
1 (Type/Class)Futhark.Pass.ExtractKernels.Interchange
2 (Data Constructor)Futhark.Pass.ExtractKernels.Interchange
BranchTypeFuthark.IR.Decorations, Futhark.IR.Syntax, Futhark.IR.Syntax, Futhark.IR, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.IR.KernelsMem
BranchTypeMemFuthark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.SeqMem, Futhark.IR.KernelsMem
BreadCrumbsLanguage.Futhark.TypeChecker.Unify
BreakNaNLanguage.Futhark.Interpreter
BreakPointLanguage.Futhark.Interpreter
BreakReasonLanguage.Futhark.Interpreter
BToIFuthark.IR.Primitive, Futhark.IR.Syntax.Core, Futhark.IR.Syntax, Futhark.Analysis.PrimExp, Futhark.Analysis.PrimExp.Parse, Futhark.IR, Futhark.IR.Aliases, Futhark.Analysis.PrimExp.Convert, Futhark.IR.Seq, Futhark.Tools, Futhark.IR.SOACS, Futhark.Internalise.Monad, Futhark.IR.Mem, Futhark.Pass.ExplicitAllocations, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem, Futhark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
buildBodyFuthark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
buildBody_Futhark.Construct, Futhark.Tools, Futhark.Internalise.Monad, Futhark.Pass.ExplicitAllocations
buildCallGraphFuthark.Analysis.CallGraph
BuildList 
1 (Type/Class)Futhark.Pkg.Types
2 (Data Constructor)Futhark.Pkg.Types
buildTableFuthark.Util.Table
builtInFunctionsFuthark.IR.Prop, Futhark.IR, Futhark.IR.Aliases, Futhark.IR.Seq, Futhark.IR.SOACS, Futhark.IR.Mem, Futhark.IR.MCMem, Futhark.IR.MC, Futhark.IR.SeqMem, Futhark.IR.Kernels, Futhark.IR.KernelsMem
BytesFuthark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels
bytesFuthark.CodeGen.ImpCode, Futhark.CodeGen.ImpCode.Sequential, Futhark.CodeGen.ImpCode.OpenCL, Futhark.CodeGen.ImpCode.Multicore, Futhark.CodeGen.ImpCode.Kernels