planet-mitchell-0.1.0: Planet Mitchell

Safe HaskellNone
LanguageHaskell2010

Symbol

Contents

Synopsis

Symbol

data Symbol #

(Kind) This is the kind of type-level symbols. Declared here because class IP needs it

Instances
SingKind Symbol

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep Symbol :: *

Methods

fromSing :: Sing a -> DemoteRep Symbol

KnownSymbol a => SingI (a :: Symbol)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing a

KnownSymbol n => Reifies (n :: Symbol) String 
Instance details

Defined in Data.Reflection

Methods

reflect :: proxy n -> String #

AsConstructor ctor s s a a => AsAny (ctor :: Symbol) a s 
Instance details

Defined in Data.Generics.Sum.Any

Methods

_As :: Prism s s a a #

HasField field s t a b => HasAny (field :: Symbol) s t a b 
Instance details

Defined in Data.Generics.Product.Any

Methods

the :: Lens s t a b #

GLens' (HasTotalFieldPSym field) sub t => GUpcast sub (S1 (MetaSel (Just field) p f b) (Rec0 t)) 
Instance details

Defined in Data.Generics.Product.Internal.Subtype

Methods

gupcast :: sub p0 -> S1 (MetaSel (Just field) p f b) (Rec0 t) p0

(leaf ~ S1 (MetaSel (Just field) p f b) t, GSmashLeaf leaf sup (HasTotalFieldP field sup)) => GSmash (S1 (MetaSel (Just field) p f b) t :: k -> *) (sup :: k -> *) 
Instance details

Defined in Data.Generics.Product.Internal.Subtype

Methods

gsmash :: sup p0 -> S1 (MetaSel (Just field) p f b) t p0 -> S1 (MetaSel (Just field) p f b) t p0

GLens' (HasTotalFieldPSym field) sup t => GSmashLeaf (S1 (MetaSel (Just field) p f b) (Rec0 t) :: Type -> *) (sup :: Type -> Type) True 
Instance details

Defined in Data.Generics.Product.Internal.Subtype

Methods

gsmashLeaf :: sup p0 -> S1 (MetaSel (Just field) p f b) (Rec0 t) p0 -> S1 (MetaSel (Just field) p f b) (Rec0 t) p0

GSmashLeaf (S1 (MetaSel (Just field) p f b) (Rec0 t) :: k -> *) (sup :: k -> *) False 
Instance details

Defined in Data.Generics.Product.Internal.Subtype

Methods

gsmashLeaf :: sup p0 -> S1 (MetaSel (Just field) p f b) (Rec0 t) p0 -> S1 (MetaSel (Just field) p f b) (Rec0 t) p0

GIsList Symbol (S1 (MetaSel (Just field) u s i) (Rec0 a)) (S1 (MetaSel (Just field) u s i) (Rec0 b)) ((,) field a ': ([] :: [(Symbol, *)]) :: [(Symbol, *)]) ((,) field b ': ([] :: [(Symbol, *)]) :: [(Symbol, *)]) 
Instance details

Defined in Data.Generics.Product.Internal.List

Methods

glist :: Profunctor p => p (List ((field, a) ': [])) (List ((field, b) ': [])) -> p (S1 (MetaSel (Just field) u s i) (Rec0 a) x) (S1 (MetaSel (Just field) u s i) (Rec0 b) x)

glistR :: Profunctor p => p (S1 (MetaSel (Just field) u s i) (Rec0 b) x) (S1 (MetaSel (Just field) u s i) (Rec0 a) x) -> p (List ((field, b) ': [])) (List ((field, a) ': []))

IsRecord (M1 S (MetaSel (Nothing :: Maybe Symbol) u ss ds) f) False 
Instance details

Defined in Data.Aeson.Types.Generic

data Sing (s :: Symbol) 
Instance details

Defined in GHC.Generics

data Sing (s :: Symbol) where
type DemoteRep Symbol 
Instance details

Defined in GHC.Generics

type DemoteRep Symbol = String

class KnownSymbol (n :: Symbol) #

This class gives the string associated with a type-level symbol. There are instances of the class for every concrete literal: "hello", etc.

Since: base-4.7.0.0

Minimal complete definition

symbolSing

symbolVal :: KnownSymbol n => proxy n -> String #

Since: base-4.7.0.0

symbolVal' :: KnownSymbol n => Proxy# n -> String #

Since: base-4.8.0.0

data SomeSymbol where #

This type represents unknown type-level symbols.

Constructors

SomeSymbol :: SomeSymbol

Since: base-4.7.0.0

Instances
Eq SomeSymbol

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeLits

Ord SomeSymbol

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeLits

Read SomeSymbol

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeLits

Show SomeSymbol

Since: base-4.7.0.0

Instance details

Defined in GHC.TypeLits

someSymbolVal :: String -> SomeSymbol #

Convert a string into an unknown type-level symbol.

Since: base-4.7.0.0

sameSymbol :: (KnownSymbol a, KnownSymbol b) => Proxy a -> Proxy b -> Maybe (a :~: b) #

We either get evidence that this function was instantiated with the same type-level symbols, or Nothing.

Since: base-4.7.0.0

type family AppendSymbol (a :: Symbol) (b :: Symbol) :: Symbol where ... #

Concatenation of type-level symbols.

Since: base-4.10.0.0

type family CmpSymbol (a :: Symbol) (b :: Symbol) :: Ordering where ... #

Comparison of type-level symbols, as a function.

Since: base-4.7.0.0

type family (++) :: Symbol -> Symbol -> Symbol where ... #

type family Take :: Nat -> Symbol -> Symbol where ... #

type family Drop :: Nat -> Symbol -> Symbol where ... #

type family Length :: Symbol -> Nat where ... #

appendUnit1 :: Dict (("" ++ a) ~ a) #

appendUnit2 :: Dict ((a ++ "") ~ a) #

appendAssociates :: Dict (((a ++ b) ++ c) ~ (a ++ (b ++ c))) #

takeAppendDrop :: Dict ((Take n a ++ Drop n a) ~ a) #

takeLength :: (Length a <= n) :- (Take n a ~ a) #

take0 :: Dict (Take 0 a ~ "") #

takeEmpty :: Dict (Take n "" ~ "") #

dropLength :: (Length a <= n) :- (Drop n a ~ "") #

drop0 :: Dict (Drop 0 a ~ a) #

dropEmpty :: Dict (Drop n "" ~ "") #

lengthTake :: Dict (Length (Take n a) <= n) #

lengthDrop :: Dict (Length a <= (Length (Drop n a) + n)) #

dropDrop :: Dict (Drop n (Drop m a) ~ Drop (n + m) a) #

takeTake :: Dict (Take n (Take m a) ~ Take (Min n m) a) #