packages feed

profunctors-5.6: .hlint.yaml

- extensions:
  - default: false # all extension are banned by default
  - name:
    - CPP
    - DeriveFunctor
    - FlexibleContexts
    - FlexibleInstances
    - FunctionalDependencies
    - GADTs
    - InstanceSigs
    - MultiParamTypeClasses
    - PolyKinds
    - RankNTypes
    - ScopedTypeVariables
    - Trustworthy
    - TypeFamilies
    - TypeOperators
    - UndecidableInstances

- functions:
  - {name: unsafeCoerce, within: []} # banned

- ignore:
    name: Use const
    within:
    - Data.Profunctor.Types

- ignore:
    name: Avoid lambda
    within:
    - Data.Profunctor.Choice
    - Data.Profunctor.Traversing

- ignore:
    name: Use fmap
    within:
    - Data.Profunctor.Composition
    - Data.Profunctor.Strong
    - Data.Profunctor.Unsafe

- ignore:
    name: Avoid lambda
    within: Data.Profunctor.Strong

- ignore:
    name: Redundant lambda
    within: Data.Profunctor.Unsafe

- ignore:
    name: Collapse lambdas
    within: Data.Profunctor.Unsafe

- ignore:
    name: Eta reduce
    within:
    - Data.Profunctor.Mapping
    - Data.Profunctor.Choice
    - Data.Profunctor.Strong

- ignore:
    name: "Use tuple-section"

- ignore:
    name: "Avoid lambda using `infix`"

- fixity: "infixr 9 #."
- fixity: "infixl 8 .#"
- fixity: "infixr 0 :->"