cl3-3.0.0.0: cl3.cabal
-- Initial cl3.cabal generated by cabal init. For further documentation,
-- see http://haskell.org/cabal/users-guide/
-- The name of the package.
name: cl3
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- https://wiki.haskell.org/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 3.0.0.0
-- A short (one-line) description of the package.
synopsis: Clifford Algebra of three dimensional space.
-- A longer description of the package.
description: Haskell Library implementing standard functions for the Algebra of Physical Space Cl(3,0)
-- URL for the project homepage or repository.
homepage: https://github.com/waivio/cl3
bug-reports: https://github.com/waivio/cl3/issues
-- The license under which the package is released.
license: BSD3
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Nathan Waivio
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: Nathan Waivio <nathan.waivio@gmail.com>
-- A copyright notice.
copyright: Copyright (C) 2017-2022 Nathan Waivio
category: Math, Algebra
build-type: Simple
tested-with: GHC == 7.8.4,
GHC == 7.10.3,
GHC == 8.0.2,
GHC == 8.2.2,
GHC == 8.4.2,
GHC == 8.4.4,
GHC == 8.6.5,
GHC == 8.8.3,
GHC == 8.10.2,
GHC == 8.10.4,
GHC == 8.10.7,
GHC == 9.0.2,
GHC == 9.2.2
-- Extra files to be distributed with the package, such as examples or a
-- README.
extra-source-files: ChangeLog.md,
README.md,
stack.yaml
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.10
source-repository head
type: git
location: https://github.com/waivio/cl3.git
flag do-no-derived-instances
description: Disable derived instances to reduce noise when inspecting GHC Core
manual: True
default: False
flag do-no-random
description: Build without random library support
manual: True
default: False
flag do-no-storable
description: Build without Storable Class support
manual: True
default: False
flag do-liquid
description: Build with Liquid Haskell checking
manual: True
default: False
library
-- Modules exported by the library.
exposed-modules:
Algebra.Geometric.Cl3,
Algebra.Geometric.Cl3.JonesCalculus
-- Compiler options
ghc-options: -Wall -O2
if flag(do-liquid)
ghc-options: -fplugin=LiquidHaskell -fplugin-opt=LiquidHaskell:--fast -fplugin-opt=LiquidHaskell:--max-case-expand=0 -fplugin-opt=LiquidHaskell:--no-termination -fplugin-opt=LiquidHaskell:--short-names
if flag(do-no-derived-instances)
cpp-options: -DO_NO_DERIVED
if flag(do-no-random)
cpp-options: -DO_NO_RANDOM
if flag(do-no-storable)
cpp-options: -DO_NO_STORABLE
if flag(do-liquid)
cpp-options: -DO_LIQUID -DO_NO_RANDOM -DO_NO_DERIVED -DO_NO_STORABLE
-- LANGUAGE extensions used by modules in this package.
other-extensions:
Safe,
GADTSyntax,
ViewPatterns,
DeriveDataTypeable,
DeriveGeneric,
CPP,
BangPatterns,
MultiWayIf
-- Other library packages from which modules are imported.
build-depends:
deepseq >=1.1 && <2
if !flag(do-no-random)
build-depends:
random >=1.0 && <2
if !flag(do-liquid)
build-depends:
base >=4.7 && <5
if flag(do-liquid)
build-depends:
liquid-base,
liquidhaskell >= 0.8.10
-- Directories containing source files.
hs-source-dirs: src
-- Base language which the package is written in.
default-language: Haskell2010
-- Criterion based test suite
test-suite test-cl3
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: TestCl3.hs
ghc-options: -Wall -O2
build-depends:
cl3,
base >=4.7 && <5,
criterion >=1.1 && <2,
random >=1.0 && <2
default-language: Haskell2010
-- Criterion based benchmark -threaded -rtsopts "-with-rtsopts=-N"
benchmark bench-cl3-nbody
type: exitcode-stdio-1.0
hs-source-dirs: benchmarks
main-is: NbodyGameCl3.hs
ghc-options: -Wall -O2
build-depends:
cl3,
base >=4.7 && <5,
criterion >=1.1 && <2
default-language: Haskell2010
-- Weigh based benchmark for Vector and Massiv
benchmark bench-cl3-weigh
type: exitcode-stdio-1.0
hs-source-dirs: benchmarks
main-is: WeighStorableCl3.hs
ghc-options: -Wall -O2
build-depends:
cl3,
base >=4.7 && <5,
vector,
massiv >= 1.0,
weigh
default-language: Haskell2010
-- Cl3/Massiv N-body benchmark -threaded -rtsopts "-with-rtsopts=-N"
benchmark bench-cl3-massiv-nbody
type: exitcode-stdio-1.0
hs-source-dirs: benchmarks
main-is: NbodyMassiv.hs
ghc-options: -Wall -O2
build-depends:
cl3,
base >=4.7 && <5,
time,
massiv >= 1.0
default-language: Haskell2010