2023-01-04 19:30:57 +03:00
|
|
|
name: crm
|
|
|
|
version: 0.1.0.0
|
|
|
|
author: Marco Perone
|
|
|
|
maintainer: marco.perone@tweag.io
|
|
|
|
copyright: 2022 Tweag I/O
|
|
|
|
license: OtherLicense
|
|
|
|
|
2023-01-12 17:29:50 +03:00
|
|
|
when:
|
|
|
|
- condition: impl(ghc >= 9.2)
|
|
|
|
then:
|
|
|
|
# https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/control.html?highlight=ghc2021#extension-GHC2021
|
|
|
|
language: GHC2021
|
|
|
|
ghc-options:
|
|
|
|
# https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Wmissing-kind-signatures
|
|
|
|
- -Wno-missing-kind-signatures
|
|
|
|
else:
|
|
|
|
default-extensions:
|
|
|
|
- BangPatterns
|
|
|
|
- BinaryLiterals
|
|
|
|
- ConstrainedClassMethods
|
|
|
|
- ConstraintKinds
|
|
|
|
- DeriveDataTypeable
|
|
|
|
- DeriveFoldable
|
|
|
|
- DeriveFunctor
|
|
|
|
- DeriveGeneric
|
|
|
|
- DeriveLift
|
|
|
|
- DeriveTraversable
|
|
|
|
- DoAndIfThenElse
|
|
|
|
- EmptyCase
|
|
|
|
- EmptyDataDecls
|
|
|
|
- EmptyDataDeriving
|
|
|
|
- ExistentialQuantification
|
|
|
|
- ExplicitForAll
|
|
|
|
- FlexibleContexts
|
|
|
|
- FlexibleInstances
|
|
|
|
- ForeignFunctionInterface
|
|
|
|
- GADTSyntax
|
|
|
|
- GeneralisedNewtypeDeriving
|
|
|
|
- HexFloatLiterals
|
|
|
|
- ImplicitPrelude
|
|
|
|
- ImportQualifiedPost
|
|
|
|
- InstanceSigs
|
|
|
|
- KindSignatures
|
|
|
|
- MonomorphismRestriction
|
|
|
|
- MultiParamTypeClasses
|
|
|
|
- NamedFieldPuns
|
|
|
|
- NamedWildCards
|
|
|
|
- NumericUnderscores
|
|
|
|
- PatternGuards
|
|
|
|
- PolyKinds
|
|
|
|
- PostfixOperators
|
|
|
|
- RankNTypes
|
|
|
|
- RelaxedPolyRec
|
|
|
|
- ScopedTypeVariables
|
|
|
|
- StandaloneDeriving
|
|
|
|
- StandaloneKindSignatures
|
|
|
|
- StarIsType
|
|
|
|
- TraditionalRecordSyntax
|
|
|
|
- TupleSections
|
|
|
|
- TypeApplications
|
|
|
|
- TypeOperators
|
|
|
|
- TypeSynonymInstances
|
2023-01-05 13:09:07 +03:00
|
|
|
|
|
|
|
default-extensions:
|
2023-01-05 20:01:15 +03:00
|
|
|
- DerivingStrategies # https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/deriving_strategies.html#extension-DerivingStrategies
|
2023-01-09 19:48:53 +03:00
|
|
|
- LambdaCase # https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/lambda_case.html#extension-LambdaCase
|
|
|
|
- OverloadedStrings # https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/overloaded_strings.html#extension-OverloadedStrings
|
2023-01-05 20:01:15 +03:00
|
|
|
- PackageImports # https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/package_qualified_imports.html#extension-PackageImports
|
2023-01-04 19:30:57 +03:00
|
|
|
|
2023-01-05 13:09:29 +03:00
|
|
|
# Options inspired by: https://medium.com/mercury-bank/enable-all-the-warnings-a0517bc081c3
|
2023-01-04 19:30:57 +03:00
|
|
|
ghc-options:
|
2023-01-05 13:09:29 +03:00
|
|
|
# Enable every warning GHC supports
|
|
|
|
- -Weverything # https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Weverything
|
|
|
|
|
|
|
|
# Turn every warning into an error
|
|
|
|
- -Werror # https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Werror
|
|
|
|
|
|
|
|
# Turn off the warnings we don't care about.
|
|
|
|
- -Wno-safe # https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/safe_haskell.html#ghc-flag--Wsafe
|
|
|
|
- -Wno-unsafe # https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/safe_haskell.html#ghc-flag--Wunsafe
|
|
|
|
- -Wno-missing-safe-haskell-mode # https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/safe_haskell.html#ghc-flag--Wmissing-safe-haskell-mode
|
|
|
|
- -Wno-implicit-prelude # https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Wimplicit-prelude
|
2023-01-05 20:01:15 +03:00
|
|
|
- -Wno-missing-export-lists # https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Wmissing-export-lists
|
2023-01-09 19:48:53 +03:00
|
|
|
- -Wno-missing-home-modules # https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Wmissing-home-modules
|
2023-01-05 20:01:15 +03:00
|
|
|
- -Wno-missing-import-lists # https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Wmissing-import-lists
|
2023-01-05 13:09:29 +03:00
|
|
|
# - -Wno-unused-type-patterns
|
2023-01-09 19:48:53 +03:00
|
|
|
- -Wno-all-missed-specialisations # https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html#ghc-flag--Wall-missed-specialisations
|
2023-01-04 19:30:57 +03:00
|
|
|
# - -Wno-orphans
|
|
|
|
# TODO: do we still need these?
|
|
|
|
# - -fwrite-ide-info
|
|
|
|
# - -hiedir=.hie
|
|
|
|
|
|
|
|
dependencies:
|
2023-01-05 13:09:07 +03:00
|
|
|
- base
|
|
|
|
- singletons-base
|
2023-01-09 19:48:53 +03:00
|
|
|
- text
|
2023-01-05 20:01:15 +03:00
|
|
|
|
|
|
|
library:
|
|
|
|
source-dirs: src
|
2023-01-10 19:42:41 +03:00
|
|
|
dependencies:
|
|
|
|
- profunctors
|
2023-01-05 20:01:15 +03:00
|
|
|
|
|
|
|
tests:
|
|
|
|
crm-spec:
|
|
|
|
main: Spec.hs
|
|
|
|
source-dirs: spec
|
|
|
|
dependencies:
|
|
|
|
- crm
|
|
|
|
- hspec
|