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.2). 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.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Versions [RSS] | 3.0, 3.1 |
---|---|
Change log | CHANGES.md |
Dependencies | base (>=4.16 && <4.17), pretty, singletons (==3.0.1), singletons-th (>=3.1 && <3.2), template-haskell (>=2.18 && <2.19), text (>=1.2), th-desugar (>=1.13 && <1.14) [details] |
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> |
Revised | Revision 1 made by ryanglscott at 2022-03-29T21:34:26Z |
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)(singletons-base) head: git clone https://github.com/goldfirere/singletons.git -b master(singletons-base) |
Uploaded | by ryanglscott at 2021-10-31T01:46:38Z |
Distributions | LTSHaskell:3.0, NixOS:3.0, Stackage:3.1 |
Downloads | 905 total (52 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] |