singletons-base: A promoted and singled version of the base library
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.10). For more information,
consult the singletons
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.
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Control
- Data
- Bool
- Either
- Eq
- Foldable
- Function
- Functor
- List
- Maybe
- Monoid
- Ord
- Proxy
- Semigroup
- Data.Singletons
- Base
- Data.Singletons.Decide
- Data.Singletons.ShowSing
- Data.Singletons.Sigma
- Data.Singletons.TH
- Data.Singletons.TH.CustomStar
- Data.Singletons.TH.Options
- Data.Singletons.TH.SuppressUnusedWarnings
- String
- Traversable
- Tuple
- Void
- GHC
- TypeLits
- Prelude
- Text
Downloads
- singletons-base-3.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 3.0, 3.1, 3.1.1, 3.2, 3.3, 3.4 |
---|---|
Change log | CHANGES.md |
Dependencies | base (>=4.20 && <4.21), pretty, singletons (>=3.0 && <3.1), singletons-th (>=3.4 && <3.5), template-haskell (>=2.22 && <2.23), text (>=1.2), th-desugar (>=1.17 && <1.18) [details] |
Tested with | ghc ==9.10.1 |
License | BSD-3-Clause |
Author | Richard Eisenberg <rae@cs.brynmawr.edu>, Jan Stolarek <jan.stolarek@p.lodz.pl> |
Maintainer | Ryan Scott <ryan.gl.scott@gmail.com> |
Category | Dependent Types |
Home page | http://www.github.com/goldfirere/singletons |
Bug tracker | https://github.com/goldfirere/singletons/issues |
Source repo | this: git clone https://github.com/goldfirere/singletons.git(tag v3.1.2)(singletons-base) head: git clone https://github.com/goldfirere/singletons.git -b master(singletons-base) |
Uploaded | by ryanglscott at 2024-05-12T23:04:20Z |
Distributions | LTSHaskell:3.3, NixOS:3.2, Stackage:3.4 |
Reverse Dependencies | 27 direct, 41 indirect [details] |
Downloads | 3538 total (109 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |