name: singletons-base
version: 3.1.1
cabal-version: 1.24
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.4.1
extra-source-files: README.md, CHANGES.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: BSD3
license-file: LICENSE
build-type: Custom
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.4). 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.1
source-repository head
type: git
location: https://github.com/goldfirere/singletons.git
subdir: singletons-base
branch: master
custom-setup
setup-depends:
base >= 4.17 && < 4.18,
Cabal >= 3.0 && < 3.9,
directory >= 1,
filepath >= 1.3
library
hs-source-dirs: src
build-depends: base >= 4.17 && < 4.18,
pretty,
singletons == 3.0.*,
singletons-th == 3.1.*,
template-haskell >= 2.19 && < 2.20,
text >= 1.2,
th-desugar >= 1.14 && < 1.15
default-language: GHC2021
other-extensions: TemplateHaskell
exposed-modules: Data.Singletons.Base.CustomStar
Data.Singletons.Base.Enum
Data.Singletons.Base.TH
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
Data.Semigroup.Singletons.Internal.Disambiguation
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: GHC2021
main-is: SingletonsBaseTestSuite.hs
other-modules: SingletonsBaseTestSuiteUtils
build-depends: base >= 4.17 && < 4.18,
bytestring >= 0.10.9,
deepseq >= 1.4.4,
filepath >= 1.3,
process >= 1.1,
turtle >= 1.5,
text >= 1.2,
singletons-base,
tasty >= 1.2,
tasty-golden >= 2.2