name: singletons-th
version: 3.1
cabal-version: 1.24
synopsis: A framework for generating singleton types
homepage: http://www.github.com/goldfirere/singletons
category: Dependent Types
author: Richard Eisenberg <rae@cs.brynmawr.edu>, Jan Stolarek <jan.stolarek@p.lodz.pl>
maintainer: Ryan Scott <ryan.gl.scott@gmail.com>
bug-reports: https://github.com/goldfirere/singletons/issues
stability: experimental
tested-with: GHC == 9.2.1
extra-source-files: README.md, CHANGES.md
license: BSD3
license-file: LICENSE
build-type: Simple
description:
@singletons-th@ defines Template Haskell functionality that allows
/promotion/ of term-level functions to type-level equivalents and
/singling/ functions to dependently typed equivalents. This library was
originally presented in /Dependently Typed Programming with Singletons/,
published at the Haskell Symposium, 2012.
(<https://cs.brynmawr.edu/~rae/papers/2012/singletons/paper.pdf>)
See also the paper published at Haskell Symposium, 2014, which describes
how promotion works in greater detail:
<https://cs.brynmawr.edu/~rae/papers/2014/promotion/promotion.pdf>.
.
@singletons-th@ generates code that relies on bleeding-edge GHC language
extensions. As such, @singletons-th@ only supports the latest major version
of GHC (currently GHC 9.2). For more information,
consult the @singletons@
@<https://github.com/goldfirere/singletons/blob/master/README.md README>@.
.
You may also be interested in the following related libraries:
.
* The @singletons@ library is a small, foundational library that defines
basic singleton-related types and definitions.
.
* The @singletons-base@ library uses @singletons-th@ to define promoted and
singled functions from the @base@ library, including the "Prelude".
source-repository this
type: git
location: https://github.com/goldfirere/singletons.git
subdir: singletons-th
tag: v3.1
source-repository head
type: git
location: https://github.com/goldfirere/singletons.git
subdir: singletons-th
branch: master
library
hs-source-dirs: src
build-depends: base >= 4.16 && < 4.17,
containers >= 0.5,
mtl >= 2.2.1,
ghc-boot-th,
singletons == 3.0.1,
syb >= 0.4,
template-haskell >= 2.18 && < 2.19,
th-desugar >= 1.13 && < 1.14,
th-orphans >= 0.13.11 && < 0.14,
transformers >= 0.5.2
default-language: Haskell2010
other-extensions: TemplateHaskellQuotes
exposed-modules: Data.Singletons.TH
Data.Singletons.TH.CustomStar
Data.Singletons.TH.Options
Data.Singletons.TH.SuppressUnusedWarnings
other-modules: Data.Singletons.TH.Deriving.Bounded
Data.Singletons.TH.Deriving.Enum
Data.Singletons.TH.Deriving.Eq
Data.Singletons.TH.Deriving.Foldable
Data.Singletons.TH.Deriving.Functor
Data.Singletons.TH.Deriving.Infer
Data.Singletons.TH.Deriving.Ord
Data.Singletons.TH.Deriving.Show
Data.Singletons.TH.Deriving.Traversable
Data.Singletons.TH.Deriving.Util
Data.Singletons.TH.Names
Data.Singletons.TH.Partition
Data.Singletons.TH.Promote
Data.Singletons.TH.Promote.Defun
Data.Singletons.TH.Promote.Monad
Data.Singletons.TH.Promote.Type
Data.Singletons.TH.Single
Data.Singletons.TH.Single.Data
Data.Singletons.TH.Single.Decide
Data.Singletons.TH.Single.Defun
Data.Singletons.TH.Single.Fixity
Data.Singletons.TH.Single.Monad
Data.Singletons.TH.Single.Type
Data.Singletons.TH.Syntax
Data.Singletons.TH.Util
-- singletons re-exports
reexported-modules: Data.Singletons
, Data.Singletons.Decide
, Data.Singletons.ShowSing
, Data.Singletons.Sigma
ghc-options: -Wall -Wcompat