File: futhark.cabal

package info (click to toggle)
haskell-futhark 0.25.32-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 18,236 kB
  • sloc: haskell: 100,484; ansic: 12,100; python: 3,440; yacc: 785; sh: 561; javascript: 558; lisp: 399; makefile: 277
file content (563 lines) | stat: -rw-r--r-- 17,747 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
cabal-version: 2.4
name:           futhark
version:        0.25.32
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/futhark-doc/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
  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.Scatter
      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.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.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.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.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.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.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.15 && <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
    , containers >=0.6.2.1
    , cryptohash-md5
    , 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.2.0
    , futhark-server >= 1.2.3.0
    , futhark-manifest >= 1.5.0.0
    , githash >=0.1.6.1
    , half >= 0.3
    , haskeline
    , language-c-quote >= 0.12
    , lens
    , 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
    , time >=1.6.0.1
    , transformers >=0.3
    , vector >=0.12
    , versions >=6.0.0
    , zlib >=0.6.3.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
  exposed-modules:
      Futhark.AD.DerivativesTests
      Futhark.Analysis.AlgSimplifyTests
      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.Syntax.CoreTests
      Futhark.IR.SyntaxTests
      Futhark.Internalise.TypesValuesTests
      Futhark.Optimise.MemoryBlockMerging.GreedyColoringTests
      Futhark.Optimise.ArrayLayout.AnalyseTests
      Futhark.Optimise.ArrayLayout.LayoutTests
      Futhark.Optimise.ArrayLayoutTests
      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.TypeCheckerTests
  build-depends:
      QuickCheck >=2.8
    , criterion
    , mtl >=2.2.1
    , base
    , containers
    , free
    , futhark
    , megaparsec
    , 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