- &defaults
author: Robert Fischer
maintainer: smokejumperit+rfc@gmail.com
license: MIT
license-file: LICENSE
flags:
production:
description: If true, disables failing on warnings and enables aggressive optimizations.
manual: true
default: false
library:
source-dirs:
- './src'
extra-source-files:
- LICENSE
- README.md
- package.yaml
- package.common.yaml
default-extensions:
- ApplicativeDo
- BangPatterns
- ConstraintKinds
- DataKinds
- DefaultSignatures
- DeriveFoldable
- DeriveFunctor
- DeriveGeneric
- DeriveLift
- DeriveTraversable
- ExistentialQuantification
- FlexibleContexts
- FlexibleInstances
- FunctionalDependencies
- GADTs
- GeneralizedNewtypeDeriving
- InstanceSigs
- KindSignatures
- LambdaCase
- MultiParamTypeClasses
- MultiWayIf
- NamedFieldPuns
- PatternSynonyms
- RankNTypes
- ScopedTypeVariables
- StandaloneDeriving
- TupleSections
- TypeApplications
- TypeFamilies
- TypeFamilyDependencies
- TypeOperators
- RebindableSyntax
- MonadFailDesugaring
- DisambiguateRecordFields
ghc-options:
- -Wall
- -Wcompat
- -Wincomplete-record-updates
- -Wincomplete-uni-patterns
- -Wredundant-constraints
- -fno-max-relevant-binds
- -fprint-potential-instances
- -fprint-explicit-foralls
- -Wno-missing-monadfail-instances
- -fno-warn-name-shadowing
- -fno-warn-tabs
- -fno-warn-orphans
- -Wnoncanonical-monad-instances
- -Wall-missed-specialisations
- -Wnoncanonical-monadfail-instances
- -Wimplicit-prelude
- -Wmissing-exported-signatures
- -Widentities
- -j
when:
- condition: flag(production)
then:
ghc-options:
- -feager-blackholing
- -funbox-strict-fields
- -fstatic-argument-transformation
- -flate-dmd-anal
- -fexpose-all-unfoldings
- -fspecialise-aggressively
- -fexcess-precision
- -fmax-simplifier-iterations=15
- -fsimplifier-phases=4
- -fstrictness-before=3
- -funfolding-keeness-factor=1.5
- -funfolding-use-threshold=150
else:
cpp-options:
- -DDEVELOPMENT
ghc-options:
- -freverse-errors
- -Werror
- -dcore-lint
- -dcmm-lint