packages feed

singletons-th-3.5: singletons-th.cabal

name:           singletons-th
version:        3.5
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.12.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://richarde.dev/papers/2012/singletons/paper.pdf>)
    See also the paper published at Haskell Symposium, 2014, which describes
    how promotion works in greater detail:
    <https://richarde.dev/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.12). 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.2

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.21 && < 4.22,
                      containers       >= 0.5,
                      mtl              >= 2.2.1 && < 2.4,
                      ghc-boot-th,
                      singletons       == 3.0.*,
                      syb              >= 0.4,
                      template-haskell >= 2.23 && < 2.24,
                      th-desugar       >= 1.18 && < 1.19,
                      th-orphans       >= 0.13.11 && < 0.14,
                      transformers     >= 0.5.2
  default-language:   GHC2021
  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.Ord
                      Data.Singletons.TH.Single.Type
                      Data.Singletons.TH.Syntax
                      Data.Singletons.TH.Syntax.LocalVar
                      Data.Singletons.TH.Util

  -- singletons re-exports
  reexported-modules: Data.Singletons
                    , Data.Singletons.Decide
                    , Data.Singletons.ShowSing
                    , Data.Singletons.Sigma

  ghc-options:        -Wall -Wcompat