packages feed

rank2classes-1.5.5: rank2classes.cabal

name:                rank2classes
version:             1.5.5
synopsis:            standard type constructor class hierarchy, only with methods of rank 2 types
description:
  A mirror image of the standard type constructor class hierarchy rooted in 'Functor', except with methods of rank 2
  types and class instances of kind @(k->*)->*@. The classes enable generic handling of heterogenously typed data
  structures and other neat tricks.

homepage:            https://github.com/blamario/grampa/tree/master/rank2classes
bug-reports:         https://github.com/blamario/grampa/issues
license:             BSD3
license-file:        LICENSE
author:              Mario Blažević
maintainer:          Mario Blažević <blamario@protonmail.com>
copyright:           (c) 2017 Mario Blažević
category:            Control, Data, Generics
build-type:          Simple
cabal-version:       2.0
tested-with:         GHC==9.12.2, GHC==9.10.2, GHC==9.8.4, GHC==9.6.7, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7
extra-source-files:  README.md, CHANGELOG.md, test/MyModule.lhs
source-repository head
  type:              git
  location:          https://github.com/blamario/grampa

flag use-template-haskell
  description: Enable the compilation of the Rank2.TH module
  default: True
  manual: True

library
  hs-source-dirs:      src
  exposed-modules:     Rank2
  default-language:    Haskell2010
  -- other-modules:
  ghc-options:         -Wall
  build-depends:       base >=4.10 && <5,
                       transformers >= 0.5 && < 0.7,
                       distributive < 0.7,
                       data-functor-logistic < 0.1

  if flag(use-template-haskell)
    build-depends: template-haskell >= 2.11 && < 2.24
    exposed-modules: Rank2.TH

library doctests
  hs-source-dirs:      test
  default-language:    Haskell2010
  other-modules:       MyModule
  ghc-options:         -threaded -pgmL markdown-unlit
  build-depends:       base, rank2classes
  build-tool-depends:  markdown-unlit:markdown-unlit >= 0.5 && < 0.7

test-suite TH
  if !flag(use-template-haskell)
    buildable: False
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  default-language:    Haskell2010
  main-is:             TH.hs
  other-modules:       Issue23
  ghc-options:         -threaded -pgmL markdown-unlit
  build-depends:       base, rank2classes, distributive < 0.7,
                       tasty < 2, tasty-hunit < 1,
                       data-functor-logistic < 0.1
  build-tool-depends:  markdown-unlit:markdown-unlit >= 0.5 && < 0.7, doctest:doctest >= 0.8 && < 1