plutus-tx-1.36.0.0: Libraries for Plutus Tx and its prelude
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusTx.Blueprint.Definition.TF

Synopsis
  • type family IfStuckUnroll (e :: [Type]) (t :: [Type]) :: [Type] where ...
  • type family IfStuckRep e (rep :: Type -> Type) :: Type -> Type where ...
  • type family Insert x xs where ...
  • type family Concat (as :: [k]) (bs :: [k]) :: [k] where ...
  • type family (as :: [k]) ++ (bs :: [k]) :: [k] where ...
  • type family Reverse (xs :: [k]) :: [k] where ...
  • type family Append (xs :: [k]) (ys :: [k]) :: [k] where ...
  • type family Nub xs where ...
  • type family NubHelper acc xs where ...

Documentation

type family IfStuckUnroll (e :: [Type]) (t :: [Type]) :: [Type] where ... Source #

Equations

IfStuckUnroll _ '[] = '[] 
IfStuckUnroll _ (x ': xs) = x ': xs 
IfStuckUnroll e _ = e 

type family IfStuckRep e (rep :: Type -> Type) :: Type -> Type where ... Source #

Equations

IfStuckRep _ (M1 a b c) = M1 a b c 
IfStuckRep _ (f :*: g) = f :*: g 
IfStuckRep _ (f :+: g) = f :+: g 
IfStuckRep _ (K1 a b) = K1 a b 
IfStuckRep e U1 = U1 
IfStuckRep e x = e 

type family Insert x xs where ... Source #

Insert x into xs unless it's already there.

Equations

Insert x '[] = '[x] 
Insert x (x : xs) = x ': xs 
Insert x (y : xs) = y ': Insert x xs 

type family Concat (as :: [k]) (bs :: [k]) :: [k] where ... Source #

Concatenates two type-level lists

Equations

Concat '[] bs = bs 
Concat as '[] = as 
Concat (a : as) bs = a ': Concat as bs 

type family (as :: [k]) ++ (bs :: [k]) :: [k] where ... infixr 5 Source #

Concatenates two type-level lists removing duplicates.

Equations

'[] ++ bs = bs 
as ++ '[] = as 
(a : as) ++ bs = Insert a (as ++ bs) 

type family Reverse (xs :: [k]) :: [k] where ... Source #

Equations

Reverse '[] = '[] 
Reverse (x ': xs) = Append (Reverse xs) '[x] 

type family Append (xs :: [k]) (ys :: [k]) :: [k] where ... Source #

Equations

Append '[] ys = ys 
Append (x ': xs) ys = x ': Append xs ys 

type family Nub xs where ... Source #

Equations

Nub xs = NubHelper '[] xs 

type family NubHelper acc xs where ... Source #

Equations

NubHelper acc '[] = acc 
NubHelper acc (x ': xs) = NubHelper (Insert x acc) xs