packages feed

unfoldable-1.0.1: unfoldable.cabal

cabal-version:        >= 1.10
name:                 unfoldable
version:              1.0.1
synopsis:             Class of data structures that can be unfolded.
description:          Just as there's a Foldable class, there should also be an Unfoldable class.
                      .
                      This package provides one. Example unfolds are:
                      .
                      * Random values
                      .
                      * Enumeration of all values (depth-first or breadth-first)
                      .
                      * Convert from a list
                      .
                      Some examples can be found in the examples directory.
homepage:             https://github.com/sjoerdvisscher/unfoldable
bug-reports:          https://github.com/sjoerdvisscher/unfoldable/issues
license:              BSD3
license-file:         LICENSE
author:               Sjoerd Visscher
maintainer:           sjoerd@w3future.com
category:             Generics
build-type:           Simple
tested-with:          GHC==9.0.1, GHC==8.10.2, GHC==8.8.4


extra-Source-Files:
  CHANGELOG.md
  examples/*.hs
  src/Data/Triunfoldable.hs

library
  hs-source-dirs:   src
  default-language: Haskell2010

  exposed-modules:
    Data.Unfolder
    Data.Unfoldable
    Data.Biunfoldable

  build-depends:
      base         >= 4   && < 5
    , containers   >= 0.5 && < 0.7
    , transformers >= 0.4 && < 0.6
    , random       >= 1.0 && < 1.2
    , QuickCheck   >= 2.7.3 && < 3.0

  if impl(ghc >= 7.6) && impl(ghc < 9)
    cpp-options:   -DGENERICS
    build-depends:
        ghc-prim     >= 0.2
      , one-liner    >= 0.9 && < 2.0

  if impl(ghc >= 9.0)
    cpp-options:   -DGENERICS
    build-depends:
        ghc-prim     >= 0.2
      , one-liner    >= 2.0 && < 3.0

  other-extensions:
      GeneralizedNewtypeDeriving
    , RankNTypes
    , Safe
    , Trustworthy
    , CPP

source-repository head
  type:     git
  location: git://github.com/sjoerdvisscher/unfoldable.git