lambda-uc-0.1.0.0
Safe HaskellSafe
LanguageGHC2021

LambdaUC.UC.Flatten

Documentation

data PidMess a #

Constructors

PidMess Pid a 

data SidMess s a #

Constructors

SidMess s a 

newtype Sid s #

Constructors

Sid s 

data SidPid s #

Constructors

SidPid s Pid 

type family Flattened (s :: Type) where ... #

Equations

Flattened (HListPair '[sid] '[]) = Sid sid 
Flattened (HListPair '[sid] '[Pid]) = SidPid sid 
Flattened (HListPair '[] '[m]) = m 
Flattened (HListPair '[] '[Pid, m]) = PidMess m 

type family MapFlattenedPorts (l :: [Port]) where ... #

Equations

MapFlattenedPorts '[] = '[] 
MapFlattenedPorts ((x :> y) : ts) = (Flattened x :> Flattened y) : MapFlattenedPorts ts 

class Flattenable s where #

Instances

Instances details
Flattenable (HListPair '[sid] '[Pid]) # 
Instance details

Defined in LambdaUC.UC.Flatten

Flattenable (HListPair '[sid] ('[] :: [Type])) # 
Instance details

Defined in LambdaUC.UC.Flatten

Methods

getFlattenableD :: FlattenableD (HListPair '[sid] '[]) #

Flattenable (HListPair ('[] :: [Type]) '[Pid, m]) # 
Instance details

Defined in LambdaUC.UC.Flatten

Flattenable (HListPair ('[] :: [Type]) '[m]) # 
Instance details

Defined in LambdaUC.UC.Flatten

flatten :: forall s. Flattenable s => s -> Flattened s #

unflatten :: forall s. Flattenable s => Flattened s -> s #

type NoAdvPorts up down = MapFlattenedPorts (Concat2 '[] '[] PingSendPort : MapConcat2 '[] '[] (PortDual up : down)) #

type family FlattenedUcProcess t where ... #

Equations

FlattenedUcProcess (a -> NoInitExec ports) = Flattened a -> NoInitProc (MapFlattenedPorts ports) 

newtype SingleSidIdeal' sid adv up down #

Constructors

SingleSidIdeal' 

newtype SingleSidReal' sid adv up down #

Constructors

SingleSidReal'