polysemy-1.9.0.0: Higher-order, low-boilerplate free monads.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Polysemy.Internal.Sing

Description

 
Synopsis

Documentation

data SList l where Source #

A singleton type used as a witness for type-level lists.

Constructors

SEnd :: SList '[] 
SCons :: SList xs -> SList (x ': xs) 

class KnownList l where Source #

A singleton list constructor class.

Methods

singList :: SList l Source #

Instances

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

Defined in Polysemy.Internal.Sing

Methods

singList :: SList '[] Source #

KnownList xs => KnownList (x ': xs :: [k]) Source # 
Instance details

Defined in Polysemy.Internal.Sing

Methods

singList :: SList (x ': xs) Source #

class ListOfLength (n :: Nat) (l :: [Effect]) where Source #

A utility class for constructing a type-level list of a given length.

Instances

Instances details
(ListOfLength (n - 1) xs, l ~ (x ': xs)) => ListOfLength n l Source # 
Instance details

Defined in Polysemy.Internal.Sing

l ~ ('[] :: [Effect]) => ListOfLength 0 l Source # 
Instance details

Defined in Polysemy.Internal.Sing