cabal-version: 2.4 name: defun-core version: 0.1 license: BSD-3-Clause license-file: LICENSE author: Oleg Grenrus maintainer: Oleg Grenrus 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