packages feed

defun-core-0.1: defun-core.cabal

cabal-version:   2.4
name:            defun-core
version:         0.1
license:         BSD-3-Clause
license-file:    LICENSE
author:          Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer:      Oleg Grenrus <oleg.grenrus@iki.fi>
category:        Data
build-type:      Simple
extra-doc-files: CHANGELOG.md
tested-with:     GHC ==9.2.8 || ==9.4.8 || ==9.6.3 || ==9.8.1
synopsis:        Defunctionalization helpers: core definitions
description:
  The package @defun@ provides defunctionalization helpers, most importantly
  type family 'DeFun.Core.App' allowing to write higher-order type families.
  The @singletons@ package also has its own type family @Apply@,
  but the machinery is tied to the @Sing@ / singletons.
  .
  In particular, the @Lam@ counterpart @SLambda@ is specialized to @Sing@ arguments.
  The @defun@'s @Lam@ is however fully general, so you can use your own singletons
  or (importantly) singleton-like arguments.
  .
  The package provides few defunctionalized functions, and their term-level
  variants can be found in @defun-bool@ and @defun-sop@ packages,
  which use @SBool@ and @NP@ data types from @singletons-bool@ and @sop-core@
  packages respectively.

source-repository head
  type:     git
  location: https://github.com/phadej/defun.git
  subdir:   defun-core

common language
  default-language:   Haskell2010
  default-extensions:
    DataKinds
    EmptyCase
    GADTs
    KindSignatures
    NoImplicitPrelude
    PatternSynonyms
    PolyKinds
    RankNTypes
    ScopedTypeVariables
    StandaloneKindSignatures
    TypeApplications
    TypeFamilies
    TypeOperators
    UndecidableInstances
    ViewPatterns

library
  import:                   language
  hs-source-dirs:           src
  exposed-modules:
    DeFun.Bool
    DeFun.Core
    DeFun.Function
    DeFun.List

  build-depends:
    , base            ^>=4.16.3.0 || ^>=4.17.2.0 || ^>=4.18.0.0 || ^>=4.19.0.0

  x-docspec-extra-packages: defun singleton-bool sop-core
  x-docspec-options:        -XDataKinds -XGADTs -XStandaloneDeriving