plutarch
Safe HaskellNone
LanguageGHC2021

Plutarch.Internal.TypeFamily

Synopsis

Documentation

type family ToPType (as :: [Type]) :: [S -> Type] where ... Source #

Convert a list of `Term s a` to a list of a.

Equations

ToPType ('[] :: [Type]) = '[] :: [S -> Type] 
ToPType (a ': as) = UnTerm a ': ToPType as 

type family ToPType2 (as :: [[Type]]) :: [[S -> Type]] where ... Source #

Equations

ToPType2 ('[] :: [[Type]]) = '[] :: [[S -> Type]] 
ToPType2 (a ': as) = ToPType a ': ToPType2 as 

type family UnTerm x :: S -> Type where ... Source #

Equations

UnTerm (Term _1 a) = a 
UnTerm invalid = TypeError (('Text "Non-term in Plutarch data type not allowed. Got: `" ':<>: 'ShowType invalid) ':<>: 'Text "`") :: S -> Type 

type family Snd (ab :: (k1, k2)) :: k2 where ... Source #

Equations

Snd ('(_1, b) :: (k1, k2)) = b