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