ouroboros-consensus-0.1.0.1: Consensus layer for the Ouroboros blockchain protocol
Safe Haskell Safe-Inferred
Language Haskell2010

Ouroboros.Consensus.Util.Singletons

Description

Singletons

This provides the core of the singletons package, using the same name, but without pulling in all the dependencies and craziness.

Synopsis

Documentation

data family Sing (a :: k) Source #

Data family of singletons

Instances

Instances details
data Sing (xs :: [k]) Source #

Singletons for lists

NOTE: Unlike the singletons library, we do not require instances for the elements of the list.

Instance details

Defined in Ouroboros.Consensus.Util.Singletons

data Sing (xs :: [k]) where

class SingI (a :: k) where Source #

Instances

Instances details
SingI ('[] :: [k]) Source #
Instance details

Defined in Ouroboros.Consensus.Util.Singletons

SingI xs => SingI (x ': xs :: [a]) Source #
Instance details

Defined in Ouroboros.Consensus.Util.Singletons

Methods

sing :: Sing (x ': xs) Source #

data SomeSing k where Source #

Constructors

SomeSing :: Sing (a :: k) -> SomeSing k

withSomeSing :: forall k r. SingKind k => Demote k -> ( forall (a :: k). Sing a -> r) -> r Source #