| Copyright | (C) 2013 Richard Eisenberg |
|---|---|
| License | BSD-style (see LICENSE) |
| Maintainer | Ryan Scott |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | Safe-Inferred |
| Language | GHC2021 |
Data.Singletons.Base.SomeSing
Contents
Description
Documentation
An existentially-quantified singleton. This type is useful when you want a singleton type, but there is no way of knowing, at compile-time, what the type index will be. To make use of this type, you will generally have to use a pattern-match:
foo :: Bool -> ...
foo b = case toSing b of
SomeSing sb -> {- fancy dependently-typed code with sb -}An example like the one above may be easier to write using withSomeSing.
Instances
| SIsString k => IsString (SomeSing k) | |
Defined in Data.Singletons.Base.SomeSing Methods fromString :: String -> SomeSing k | |
| SMonoid k => Monoid (SomeSing k) | |
| SSemigroup k => Semigroup (SomeSing k) | |
| SBounded k => Bounded (SomeSing k) | |
Defined in Data.Singletons.Base.SomeSing | |
| SEnum k => Enum (SomeSing k) | |
Defined in Data.Singletons.Base.SomeSing | |
| SNum k => Num (SomeSing k) | |
Defined in Data.Singletons.Base.SomeSing | |
| ShowSing k => Show (SomeSing k) | |
| SEq k => Eq (SomeSing k) | |
| SOrd k => Ord (SomeSing k) | |
Orphan instances
| SIsString k => IsString (SomeSing k) Source # | |
Methods fromString :: String -> SomeSing k | |
| SMonoid k => Monoid (SomeSing k) Source # | |
| SSemigroup k => Semigroup (SomeSing k) Source # | |
| SBounded k => Bounded (SomeSing k) Source # | |
| SEnum k => Enum (SomeSing k) Source # | |
| SNum k => Num (SomeSing k) Source # | |
| ShowSing k => Show (SomeSing k) Source # | |
| SEq k => Eq (SomeSing k) Source # | |
| SOrd k => Ord (SomeSing k) Source # | |