cabal-version: 3.8
name: singletons-base
version: 3.5.1
synopsis: A promoted and singled version of the base library
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.14.1
extra-doc-files: CHANGES.md
extra-source-files: README.md
tests/README.md
tests/compile-and-dump/GradingClient/*.hs
tests/compile-and-dump/InsertionSort/*.hs
tests/compile-and-dump/Promote/*.hs
tests/compile-and-dump/Singletons/*.hs
tests/compile-and-dump/GradingClient/*.golden
tests/compile-and-dump/InsertionSort/*.golden
tests/compile-and-dump/Promote/*.golden
tests/compile-and-dump/Singletons/*.golden
license: BSD-3-Clause
license-file: LICENSE
build-type: Simple
description:
@singletons-base@ uses @singletons-th@ to define promoted and singled
functions from the @base@ library, including the "Prelude". 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>.
.
WARNING: @singletons-base@ defines orphan instances for @Sing@, @SingKind@,
etc. for common types such as @Bool@, @[]@, @Maybe@, etc. If you define
instances of these types in your code, you will likely not be able to use
that code with @singletons-base@.
.
@singletons-base@ uses code that relies on bleeding-edge GHC language
extensions. As such, @singletons-base@ only supports the latest major version
of GHC (currently GHC 9.14). 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-th@ library defines Template Haskell functionality that
allows /promotion/ of term-level functions to type-level equivalents and
/singling/ functions to dependently typed equivalents.
source-repository this
type: git
location: https://github.com/goldfirere/singletons.git
subdir: singletons-base
tag: v3.1.2
source-repository head
type: git
location: https://github.com/goldfirere/singletons.git
subdir: singletons-base
branch: master
library
hs-source-dirs: src
build-depends: base >= 4.22 && < 4.23,
pretty,
singletons == 3.0.*,
singletons-th >= 3.5.1 && < 3.6,
template-haskell >= 2.24 && < 2.25,
text >= 1.2
default-language: GHC2024
other-extensions: TemplateHaskell
exposed-modules: Data.Singletons.Base.CustomStar
Data.Singletons.Base.Enum
Data.Singletons.Base.TH
Data.Singletons.Base.PolyError
Data.Singletons.Base.SomeSing
Data.Singletons.Base.TypeError
Data.Singletons.Base.TypeRepTYPE
Control.Applicative.Singletons
Control.Monad.Singletons
Control.Monad.Fail.Singletons
Control.Monad.Zip.Singletons
Data.Bool.Singletons
Data.Either.Singletons
Data.Eq.Singletons
Data.Foldable.Singletons
Data.Function.Singletons
Data.Functor.Compose.Singletons
Data.Functor.Const.Singletons
Data.Functor.Identity.Singletons
Data.Functor.Product.Singletons
Data.Functor.Singletons
Data.Functor.Sum.Singletons
Data.List.Singletons
Data.List.NonEmpty.Singletons
Data.Maybe.Singletons
Data.Monoid.Singletons
Data.Ord.Singletons
Data.Proxy.Singletons
Data.Semigroup.Singletons
Data.String.Singletons
Data.Traversable.Singletons
Data.Tuple.Singletons
Data.Void.Singletons
GHC.TypeLits.Singletons
Prelude.Singletons
Text.Show.Singletons
other-modules: Data.Singletons.Base.Instances
Data.Singletons.Base.Util
Control.Monad.Singletons.Internal
Data.List.Singletons.Internal
Data.List.Singletons.Internal.Disambiguation
Data.Ord.Singletons.Disambiguation
Data.Semigroup.Singletons.Internal.Classes
Data.Semigroup.Singletons.Internal.Disambiguation
Data.Semigroup.Singletons.Internal.Wrappers
GHC.Base.Singletons
GHC.Num.Singletons
GHC.TypeLits.Singletons.Internal
-- singletons re-exports
reexported-modules: Data.Singletons
, Data.Singletons.Decide
, Data.Singletons.ShowSing
, Data.Singletons.Sigma
-- singletons-th re-exports
reexported-modules: Data.Singletons.TH
, Data.Singletons.TH.CustomStar
, Data.Singletons.TH.Options
, Data.Singletons.TH.SuppressUnusedWarnings
ghc-options: -Wall -Wcompat -Wno-redundant-constraints
test-suite singletons-base-test-suite
type: exitcode-stdio-1.0
hs-source-dirs: tests
ghc-options: -Wall -Wcompat -threaded -with-rtsopts=-maxN16
default-language: GHC2024
main-is: SingletonsBaseTestSuite.hs
other-modules: SingletonsBaseTestSuiteUtils
build-depends: base >= 4.22 && < 4.23,
bytestring >= 0.10.9,
deepseq >= 1.4.4,
filepath >= 1.3,
ghc-paths >= 0.1,
process >= 1.1,
turtle >= 1.5,
text >= 1.2,
singletons-base,
tasty >= 1.2,
tasty-golden >= 2.2,
-- Dependencies only used when invoking GHC in the test
-- suite
ghc-prim,
ghc-internal,
mtl,
template-haskell,
th-desugar,
transformers
build-tool-depends: singletons-base-code-generator:singletons-base-code-generator
code-generators: singletons-base-code-generator