- &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