clash-protocols
Safe HaskellNone
LanguageGHC2021

Protocols.Internal

Description

Internal module to prevent hs-boot files (breaks Haddock)

Synopsis

Documentation

(<|) :: Circuit b c -> Circuit a b -> Circuit a c infixr 1 Source #

Right-to-left circuit composition.

                       Circuit a c

           +---------------------------------+

            Circuit b c    <|    Circuit a b

           +-----------+         +-----------+
    Fwd c  |           |  Fwd b  |           |  Fwd a
  <--------+           +<--------+           +<-------+
           |           |         |           |
           |           |         |           |
    Bwd c  |           |  Bwd b  |           |  Bwd a
  +------->+           +-------->+           +-------->
           |           |         |           |
           +-----------+         +-----------+

applyC :: (Fwd a -> Fwd b) -> (Bwd b -> Bwd a) -> Circuit a b Source #

Applies the mappings Fwd a -> Fwd b and Bwd b -> Bwd a to the circuit's signals.

The idea here is that you want to treat some a -> b as a Circuit a b, but Circuit a b is actually the type (Fwd a, Bwd b) -> (Bwd a, Fwd b). To bridge this gap, we say that a -> b can be our map from Fwd a -> Fwd b, but then we need to fill in the Bwd b -> Bwd a still. In almost all cases, the former is the function you want to apply, and the latter is the inverse. For instance, the ++ operator on vectors can be made into a Circuit a b with applyC (uncurry (++)) splitAtI, since splitAtI is the inverse of ++.

circuitMonitor :: forall p (dom :: Domain) fwd bwd. (Protocol p, Fwd p ~ Signal dom fwd, Bwd p ~ Signal dom bwd) => Circuit p (p, CSignal dom (fwd, bwd)) Source #

Can be inserted between a manager and subordinate to monitor their interaction

coerceCircuit :: (Fwd a ~ Fwd a', Bwd a ~ Bwd a', Fwd b ~ Fwd b', Bwd b ~ Bwd b') => Circuit a b -> Circuit a' b' Source #

If two protocols, a and a', have the same Fwd and Bwd values, convert a Circuit a to a Circuit a' without changing the underlying function at all.

convKeepType :: forall (a :: Bool) (b :: Bool) t. (KeepTypeClass a, KeepTypeClass b) => t -> KeepType a t -> KeepType b t Source #

Convert one optional field to another, keeping the value the same if possible. If not possible, a default argument is provided.

fromKeepTypeDef :: forall (keep :: Bool) optionalType. KeepTypeClass keep => optionalType -> KeepType keep optionalType -> optionalType Source #

Grab a value from KeepType, given a default value. Uses fromMaybe and fromKeepType.

fromKeepTypeTrue :: KeepType 'True t -> t Source #

Grab value in KeepType 'True t. No default is needed.

fromSignals :: ((Fwd a, Bwd b) -> (Bwd a, Fwd b)) -> Circuit a b Source #

View signals as a Circuit

idC :: Circuit a a Source #

Circuit equivalent of id. Useful for explicitly assigning a type to another protocol, or to return a result when using the circuit-notation plugin.

Examples:

idC @(Df dom a) <| somePolymorphicProtocol
swap :: Circuit (Df dom a, Df dom b) (Df dom b, Df dom a)
swap = circuit $ (a, b) -> do
  idC -< (b, a)

keepTypeFalse :: KeepType 'False t Source #

Omitted value in KeepType 'False t.

mapCircuit :: (Fwd a' -> Fwd a) -> (Bwd a -> Bwd a') -> (Fwd b -> Fwd b') -> (Bwd b' -> Bwd b) -> Circuit a b -> Circuit a' b' Source #

Change a circuit by changing its underlying function's inputs and outputs. It takes 4 functions as input: ia, oa, ob, and ib. ia modifies the Bwd input, ib modifies the Fwd input, oa modifies the Bwd output, and ob modifies the Fwd output.

prod2C :: forall a c b d. Circuit a b -> Circuit c d -> Circuit (a, c) (b, d) Source #

Combine two separate circuits into one. If you are looking to combine multiple streams into a single stream, checkout fanin.

prod3C :: forall a c b d e f. Circuit a b -> Circuit c d -> Circuit e f -> Circuit (a, c, e) (b, d, f) Source #

Combine three separate circuits into one. If you are looking to combine multiple streams into a single stream, checkout fanin.

prod4C :: forall a c b d e f g h. Circuit a b -> Circuit c d -> Circuit e f -> Circuit g h -> Circuit (a, c, e, g) (b, d, f, h) Source #

Combine four separate circuits into one. If you are looking to combine multiple streams into a single stream, checkout fanin.

repeatC :: forall (n :: Nat) a b. Circuit a b -> Circuit (Vec n a) (Vec n b) Source #

Copy a circuit n times. Note that this will copy hardware. If you are looking for a circuit that turns a single channel into multiple, check out fanout.

reverseCircuit :: Circuit a b -> Circuit (Reverse b) (Reverse a) Source #

Apply Reverse both sides of a circuit, and then switch them. Input and output of the underlying circuit are the same, but with the order of the tuple switched in both cases.

toSignals :: Circuit a b -> (Fwd a, Bwd b) -> (Bwd a, Fwd b) Source #

View Circuit as its internal representation.

tupCircuits :: Circuit a b -> Circuit c d -> Circuit (a, c) (b, d) Source #

Bundle together a pair of Circuits into a Circuit with two inputs and outputs. The Circuits run in parallel.

(|>) :: Circuit a b -> Circuit b c -> Circuit a c infixr 1 Source #

Left-to-right circuit composition.

                       Circuit a c

           +---------------------------------+

            Circuit a b    |>    Circuit b c

           +-----------+         +-----------+
    Fwd a  |           |  Fwd b  |           |  Fwd c
  +------->+           +-------->+           +-------->
           |           |         |           |
           |           |         |           |
    Bwd a  |           |  Bwd b  |           |  Bwd c
  <--------+           +<--------+           +<-------+
           |           |         |           |
           +-----------+         +-----------+

newtype Ack Source #

Protocol-agnostic acknowledgement

Constructors

Ack Bool 

Instances

Instances details
BitPack Ack Source # 
Instance details

Defined in Protocols.Internal

Associated Types

type BitSize Ack 
Instance details

Defined in Protocols.Internal

Bundle Ack Source # 
Instance details

Defined in Protocols.Internal

Associated Types

type Unbundled dom Ack 
Instance details

Defined in Protocols.Internal

type Unbundled dom Ack = Signal dom Ack

Methods

bundle :: forall (dom :: Domain). Unbundled dom Ack -> Signal dom Ack #

unbundle :: forall (dom :: Domain). Signal dom Ack -> Unbundled dom Ack #

NFDataX Ack Source # 
Instance details

Defined in Protocols.Internal

Methods

deepErrorX :: String -> Ack #

hasUndefined :: Ack -> Bool #

ensureSpine :: Ack -> Ack #

rnfX :: Ack -> () #

ShowX Ack Source # 
Instance details

Defined in Protocols.Internal

Methods

showsPrecX :: Int -> Ack -> ShowS #

showX :: Ack -> String #

showListX :: [Ack] -> ShowS #

Default Ack Source #

Acknowledge. Used in circuit-notation plugin to drive ignore components.

Instance details

Defined in Protocols.Internal

Methods

def :: Ack #

Generic Ack Source # 
Instance details

Defined in Protocols.Internal

Associated Types

type Rep Ack 
Instance details

Defined in Protocols.Internal

type Rep Ack = D1 ('MetaData "Ack" "Protocols.Internal" "clash-protocols-0.1-inplace" 'True) (C1 ('MetaCons "Ack" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: Ack -> Rep Ack x #

to :: Rep Ack x -> Ack #

Show Ack Source # 
Instance details

Defined in Protocols.Internal

Methods

showsPrec :: Int -> Ack -> ShowS #

show :: Ack -> String #

showList :: [Ack] -> ShowS #

Eq Ack Source # 
Instance details

Defined in Protocols.Internal

Methods

(==) :: Ack -> Ack -> Bool #

(/=) :: Ack -> Ack -> Bool #

Ord Ack Source # 
Instance details

Defined in Protocols.Internal

Methods

compare :: Ack -> Ack -> Ordering #

(<) :: Ack -> Ack -> Bool #

(<=) :: Ack -> Ack -> Bool #

(>) :: Ack -> Ack -> Bool #

(>=) :: Ack -> Ack -> Bool #

max :: Ack -> Ack -> Ack #

min :: Ack -> Ack -> Ack #

type BitSize Ack Source # 
Instance details

Defined in Protocols.Internal

type Rep Ack Source # 
Instance details

Defined in Protocols.Internal

type Rep Ack = D1 ('MetaData "Ack" "Protocols.Internal" "clash-protocols-0.1-inplace" 'True) (C1 ('MetaCons "Ack" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
type Unbundled dom Ack Source # 
Instance details

Defined in Protocols.Internal

type Unbundled dom Ack = Signal dom Ack

type family KeepType (keep :: Bool) optionalType = (t :: Type) | t -> keep optionalType where ... Source #

Allows for optional data. Depending on the value of keep, the data can either be included or left out. When left out, the data is represented instead as type ().

Equations

KeepType 'True optionalType = Identity optionalType 
KeepType 'False optionalType = Proxy optionalType 

class (Eq (KeepType keep Bool), Show (KeepType keep Bool), ShowX (KeepType keep Bool), NFData (KeepType keep Bool), NFDataX (KeepType keep Bool), Hashable (KeepType keep Bool)) => KeepTypeClass (keep :: Bool) where Source #

We want to define operations on KeepType that work for both possibilities (keep = 'True and keep = 'False), but we can't pattern match directly. Instead we need to define a class and instantiate the class for both 'True and 'False.

Methods

getKeep :: KeepType keep optionalType -> Bool Source #

Get the value of keep at the term level.

fromKeepType :: KeepType keep optionalType -> Maybe optionalType Source #

Convert an optional value to a normal value, or Nothing if the field is turned off.

toKeepType :: optionalType -> KeepType keep optionalType Source #

Convert a normal value to an optional value. Either preserves the value or returns Proxy.

mapKeepType :: (optionalType -> optionalType) -> KeepType keep optionalType -> KeepType keep optionalType Source #

Map a function over an optional value

Instances

Instances details
KeepTypeClass 'False Source # 
Instance details

Defined in Protocols.Internal

Methods

getKeep :: KeepType 'False optionalType -> Bool Source #

fromKeepType :: KeepType 'False optionalType -> Maybe optionalType Source #

toKeepType :: optionalType -> KeepType 'False optionalType Source #

mapKeepType :: (optionalType -> optionalType) -> KeepType 'False optionalType -> KeepType 'False optionalType Source #

KeepTypeClass 'True Source # 
Instance details

Defined in Protocols.Internal

Methods

getKeep :: KeepType 'True optionalType -> Bool Source #

fromKeepType :: KeepType 'True optionalType -> Maybe optionalType Source #

toKeepType :: optionalType -> KeepType 'True optionalType Source #

mapKeepType :: (optionalType -> optionalType) -> KeepType 'True optionalType -> KeepType 'True optionalType Source #

data Reverse (a :: k) Source #

Protocol to reverse a circuit. Fwd becomes Bwd and vice versa. No changes are made otherwise.

Instances

Instances details
DfConv a => DfConv (Reverse a) Source # 
Instance details

Defined in Protocols.DfConv

Associated Types

type Dom (Reverse a) 
Instance details

Defined in Protocols.DfConv

type Dom (Reverse a) = Dom a
type BwdPayload (Reverse a) 
Instance details

Defined in Protocols.DfConv

type FwdPayload (Reverse a) 
Instance details

Defined in Protocols.DfConv

DfConv (Df dom a, Reverse (Df dom b)) Source # 
Instance details

Defined in Protocols.DfConv

Associated Types

type Dom (Df dom a, Reverse (Df dom b)) 
Instance details

Defined in Protocols.DfConv

type Dom (Df dom a, Reverse (Df dom b)) = dom
type BwdPayload (Df dom a, Reverse (Df dom b)) 
Instance details

Defined in Protocols.DfConv

type BwdPayload (Df dom a, Reverse (Df dom b)) = b
type FwdPayload (Df dom a, Reverse (Df dom b)) 
Instance details

Defined in Protocols.DfConv

type FwdPayload (Df dom a, Reverse (Df dom b)) = a

Methods

toDfCircuit :: Proxy (Df dom a, Reverse (Df dom b)) -> Circuit (Df (Dom (Df dom a, Reverse (Df dom b))) (FwdPayload (Df dom a, Reverse (Df dom b))), Reverse (Df (Dom (Df dom a, Reverse (Df dom b))) (BwdPayload (Df dom a, Reverse (Df dom b))))) (Df dom a, Reverse (Df dom b)) Source #

fromDfCircuit :: Proxy (Df dom a, Reverse (Df dom b)) -> Circuit (Df dom a, Reverse (Df dom b)) (Df (Dom (Df dom a, Reverse (Df dom b))) (FwdPayload (Df dom a, Reverse (Df dom b))), Reverse (Df (Dom (Df dom a, Reverse (Df dom b))) (BwdPayload (Df dom a, Reverse (Df dom b))))) Source #

(KnownAxi4ReadAddressConfig confAR, KnownAxi4ReadDataConfig confR, NFDataX userR, NFDataX dat, ARIdWidth confAR ~ RIdWidth confR) => DfConv (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

Associated Types

type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) 
Instance details

Defined in Protocols.Experimental.DfConv

type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = dom
type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) 
Instance details

Defined in Protocols.Experimental.DfConv

type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = (dat, userR, ResponseType (RKeepResponse confR))
type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) 
Instance details

Defined in Protocols.Experimental.DfConv

type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = Axi4ReadAddressInfo confAR dataAR

Methods

toDfCircuit :: Proxy (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) -> Circuit (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))), Reverse (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))))) (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source #

fromDfCircuit :: Proxy (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) -> Circuit (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))), Reverse (Df (Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))) (BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat))))) Source #

Simulate a => Simulate (Reverse a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

Associated Types

type SimulateFwdType (Reverse a) 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateBwdType (Reverse a) 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateChannels (Reverse a) 
Instance details

Defined in Protocols.Experimental.Simulate

Protocol a => Protocol (Reverse a) Source # 
Instance details

Defined in Protocols.Internal

Associated Types

type Fwd (Reverse a) 
Instance details

Defined in Protocols.Internal

type Fwd (Reverse a) = Bwd a
type Bwd (Reverse a) 
Instance details

Defined in Protocols.Internal

type Bwd (Reverse a) = Fwd a
(KnownAxi4WriteAddressConfig confAW, KnownAxi4WriteDataConfig confW, KnownAxi4WriteResponseConfig confB, NFDataX userAW, NFDataX userB, AWIdWidth confAW ~ BIdWidth confB) => DfConv (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

Associated Types

type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) 
Instance details

Defined in Protocols.Experimental.DfConv

type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = dom
type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) 
Instance details

Defined in Protocols.Experimental.DfConv

type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (ResponseType (BKeepResponse confB), userB)
type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) 
Instance details

Defined in Protocols.Experimental.DfConv

type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (Axi4WriteAddressInfo confAW userAW, BurstLengthType (AWKeepBurstLength confAW), BurstType (AWKeepBurst confAW), StrictStrobeType (WNBytes confW) (WKeepStrobe confW), userW)

Methods

toDfCircuit :: Proxy (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) -> Circuit (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))), Reverse (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))))) (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source #

fromDfCircuit :: Proxy (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) -> Circuit (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))), Reverse (Df (Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))) (BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB))))) Source #

type BwdPayload (Reverse a) Source # 
Instance details

Defined in Protocols.DfConv

type BwdPayload (Df dom a, Reverse (Df dom b)) Source # 
Instance details

Defined in Protocols.DfConv

type BwdPayload (Df dom a, Reverse (Df dom b)) = b
type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type BwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = (dat, userR, ResponseType (RKeepResponse confR))
type Dom (Reverse a) Source # 
Instance details

Defined in Protocols.DfConv

type Dom (Reverse a) = Dom a
type Dom (Df dom a, Reverse (Df dom b)) Source # 
Instance details

Defined in Protocols.DfConv

type Dom (Df dom a, Reverse (Df dom b)) = dom
type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type Dom (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = dom
type FwdPayload (Reverse a) Source # 
Instance details

Defined in Protocols.DfConv

type FwdPayload (Df dom a, Reverse (Df dom b)) Source # 
Instance details

Defined in Protocols.DfConv

type FwdPayload (Df dom a, Reverse (Df dom b)) = a
type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type FwdPayload (Axi4ReadAddress dom confAR dataAR, Reverse (Axi4ReadData dom confR userR dat)) = Axi4ReadAddressInfo confAR dataAR
type SimulateBwdType (Reverse a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateChannels (Reverse a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateFwdType (Reverse a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

type Bwd (Reverse a) Source # 
Instance details

Defined in Protocols.Internal

type Bwd (Reverse a) = Fwd a
type Fwd (Reverse a) Source # 
Instance details

Defined in Protocols.Internal

type Fwd (Reverse a) = Bwd a
type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type BwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (ResponseType (BKeepResponse confB), userB)
type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type Dom (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = dom
type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) Source # 
Instance details

Defined in Protocols.Experimental.DfConv

type FwdPayload (Axi4WriteAddress dom confAW userAW, Axi4WriteData dom confW userW, Reverse (Axi4WriteResponse dom confB userB)) = (Axi4WriteAddressInfo confAW userAW, BurstLengthType (AWKeepBurstLength confAW), BurstType (AWKeepBurst confAW), StrictStrobeType (WNBytes confW) (WKeepStrobe confW), userW)

class Protocol p => IdleCircuit p where Source #

Idle state of a Circuit. Aims to provide no data for both the forward and backward direction. Transactions are not acknowledged.

Methods

idleFwd :: Proxy p -> Fwd p Source #

idleBwd :: Proxy p -> Bwd p Source #

Instances

Instances details
IdleCircuit () Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy () -> Fwd () Source #

idleBwd :: Proxy () -> Bwd () Source #

(IdleCircuit a, KnownNat n) => IdleCircuit (Vec n a) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (Vec n a) -> Fwd (Vec n a) Source #

idleBwd :: Proxy (Vec n a) -> Bwd (Vec n a) Source #

IdleCircuit (Df dom a) Source # 
Instance details

Defined in Protocols.Df

Methods

idleFwd :: Proxy (Df dom a) -> Fwd (Df dom a) Source #

idleBwd :: Proxy (Df dom a) -> Bwd (Df dom a) Source #

KnownManagerConfig config => IdleCircuit (AvalonMmManager dom config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

Methods

idleFwd :: Proxy (AvalonMmManager dom config) -> Fwd (AvalonMmManager dom config) Source #

idleBwd :: Proxy (AvalonMmManager dom config) -> Bwd (AvalonMmManager dom config) Source #

(IdleCircuit a, IdleCircuit b) => IdleCircuit (a, b) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (a, b) -> Fwd (a, b) Source #

idleBwd :: Proxy (a, b) -> Bwd (a, b) Source #

KnownSubordinateConfig config => IdleCircuit (AvalonMmSubordinate dom fixedWaitTime config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

Methods

idleFwd :: Proxy (AvalonMmSubordinate dom fixedWaitTime config) -> Fwd (AvalonMmSubordinate dom fixedWaitTime config) Source #

idleBwd :: Proxy (AvalonMmSubordinate dom fixedWaitTime config) -> Bwd (AvalonMmSubordinate dom fixedWaitTime config) Source #

IdleCircuit (AvalonStream dom conf dataType) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.Stream

Methods

idleFwd :: Proxy (AvalonStream dom conf dataType) -> Fwd (AvalonStream dom conf dataType) Source #

idleBwd :: Proxy (AvalonStream dom conf dataType) -> Bwd (AvalonStream dom conf dataType) Source #

IdleCircuit (Axi4ReadAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Methods

idleFwd :: Proxy (Axi4ReadAddress dom conf userType) -> Fwd (Axi4ReadAddress dom conf userType) Source #

idleBwd :: Proxy (Axi4ReadAddress dom conf userType) -> Bwd (Axi4ReadAddress dom conf userType) Source #

IdleCircuit (Axi4Stream dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.Stream

Methods

idleFwd :: Proxy (Axi4Stream dom conf userType) -> Fwd (Axi4Stream dom conf userType) Source #

idleBwd :: Proxy (Axi4Stream dom conf userType) -> Bwd (Axi4Stream dom conf userType) Source #

IdleCircuit (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Methods

idleFwd :: Proxy (Axi4WriteAddress dom conf userType) -> Fwd (Axi4WriteAddress dom conf userType) Source #

idleBwd :: Proxy (Axi4WriteAddress dom conf userType) -> Bwd (Axi4WriteAddress dom conf userType) Source #

IdleCircuit (Axi4WriteData dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteData

Methods

idleFwd :: Proxy (Axi4WriteData dom conf userType) -> Fwd (Axi4WriteData dom conf userType) Source #

idleBwd :: Proxy (Axi4WriteData dom conf userType) -> Bwd (Axi4WriteData dom conf userType) Source #

IdleCircuit (Axi4WriteResponse dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteResponse

Methods

idleFwd :: Proxy (Axi4WriteResponse dom conf userType) -> Fwd (Axi4WriteResponse dom conf userType) Source #

idleBwd :: Proxy (Axi4WriteResponse dom conf userType) -> Bwd (Axi4WriteResponse dom conf userType) Source #

IdleCircuit (PacketStream dom dataWidth meta) Source # 
Instance details

Defined in Protocols.PacketStream.Base

Methods

idleFwd :: Proxy (PacketStream dom dataWidth meta) -> Fwd (PacketStream dom dataWidth meta) Source #

idleBwd :: Proxy (PacketStream dom dataWidth meta) -> Bwd (PacketStream dom dataWidth meta) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3) => IdleCircuit (c1, c2, c3) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3) -> Fwd (c1, c2, c3) Source #

idleBwd :: Proxy (c1, c2, c3) -> Bwd (c1, c2, c3) Source #

IdleCircuit (Axi4ReadData dom conf userType dataType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadData

Methods

idleFwd :: Proxy (Axi4ReadData dom conf userType dataType) -> Fwd (Axi4ReadData dom conf userType dataType) Source #

idleBwd :: Proxy (Axi4ReadData dom conf userType dataType) -> Bwd (Axi4ReadData dom conf userType dataType) Source #

(KnownNat aw, KnownNat dw) => IdleCircuit (Wishbone dom mode aw dw) Source # 
Instance details

Defined in Protocols.Experimental.Wishbone

Methods

idleFwd :: Proxy (Wishbone dom mode aw dw) -> Fwd (Wishbone dom mode aw dw) Source #

idleBwd :: Proxy (Wishbone dom mode aw dw) -> Bwd (Wishbone dom mode aw dw) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4) => IdleCircuit (c1, c2, c3, c4) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4) -> Fwd (c1, c2, c3, c4) Source #

idleBwd :: Proxy (c1, c2, c3, c4) -> Bwd (c1, c2, c3, c4) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5) => IdleCircuit (c1, c2, c3, c4, c5) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5) -> Fwd (c1, c2, c3, c4, c5) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5) -> Bwd (c1, c2, c3, c4, c5) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5, IdleCircuit c6) => IdleCircuit (c1, c2, c3, c4, c5, c6) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5, c6) -> Fwd (c1, c2, c3, c4, c5, c6) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5, c6) -> Bwd (c1, c2, c3, c4, c5, c6) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5, IdleCircuit c6, IdleCircuit c7) => IdleCircuit (c1, c2, c3, c4, c5, c6, c7) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5, c6, c7) -> Fwd (c1, c2, c3, c4, c5, c6, c7) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5, c6, c7) -> Bwd (c1, c2, c3, c4, c5, c6, c7) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5, IdleCircuit c6, IdleCircuit c7, IdleCircuit c8) => IdleCircuit (c1, c2, c3, c4, c5, c6, c7, c8) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8) -> Fwd (c1, c2, c3, c4, c5, c6, c7, c8) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8) -> Bwd (c1, c2, c3, c4, c5, c6, c7, c8) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5, IdleCircuit c6, IdleCircuit c7, IdleCircuit c8, IdleCircuit c9) => IdleCircuit (c1, c2, c3, c4, c5, c6, c7, c8, c9) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9) -> Fwd (c1, c2, c3, c4, c5, c6, c7, c8, c9) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9) -> Bwd (c1, c2, c3, c4, c5, c6, c7, c8, c9) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5, IdleCircuit c6, IdleCircuit c7, IdleCircuit c8, IdleCircuit c9, IdleCircuit c10) => IdleCircuit (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10) -> Fwd (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10) -> Bwd (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5, IdleCircuit c6, IdleCircuit c7, IdleCircuit c8, IdleCircuit c9, IdleCircuit c10, IdleCircuit c11) => IdleCircuit (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11) -> Fwd (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11) -> Bwd (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11) Source #

(IdleCircuit c1, IdleCircuit c2, IdleCircuit c3, IdleCircuit c4, IdleCircuit c5, IdleCircuit c6, IdleCircuit c7, IdleCircuit c8, IdleCircuit c9, IdleCircuit c10, IdleCircuit c11, IdleCircuit c12) => IdleCircuit (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12) Source # 
Instance details

Defined in Protocols.Idle

Methods

idleFwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12) -> Fwd (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12) Source #

idleBwd :: Proxy (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12) -> Bwd (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12) Source #

(-<) :: Any :: Type #

data ToConst a #

Instances

Instances details
Protocol (ToConst a) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (ToConst a) 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConst a) = a
type Bwd (ToConst a) 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConst a) = ()
type Bwd (ToConst a) # 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConst a) = ()
type Fwd (ToConst a) # 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConst a) = a

data ToConstBwd a #

Instances

Instances details
Protocol (ToConstBwd a) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (ToConstBwd a) 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConstBwd a) = ()
type Bwd (ToConstBwd a) 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConstBwd a) = a
type Bwd (ToConstBwd a) # 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConstBwd a) = a
type Fwd (ToConstBwd a) # 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConstBwd a) = ()

type family Bwd a #

Instances

Instances details
type Bwd () # 
Instance details

Defined in Protocols.Plugin

type Bwd () = ()
type Bwd (Clock dom) # 
Instance details

Defined in Protocols.Plugin

type Bwd (Clock dom) = ()
type Bwd (DiffClock dom) # 
Instance details

Defined in Protocols.Plugin

type Bwd (DiffClock dom) = ()
type Bwd (Enable dom) # 
Instance details

Defined in Protocols.Plugin

type Bwd (Enable dom) = ()
type Bwd (Reset dom) # 
Instance details

Defined in Protocols.Plugin

type Bwd (Reset dom) = ()
type Bwd (ToConst a) # 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConst a) = ()
type Bwd (ToConstBwd a) # 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConstBwd a) = a
type Bwd (Vec n a) # 
Instance details

Defined in Protocols.Plugin

type Bwd (Vec n a) = Vec n (Bwd a)
type Bwd (Df dom a) Source # 
Instance details

Defined in Protocols.Df

type Bwd (Df dom a) = Signal dom Ack
type Bwd (AvalonMmManager dom config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Bwd (AvalonMmManager dom config) = Signal dom (AvalonManagerIn config)
type Bwd (Reverse a) Source # 
Instance details

Defined in Protocols.Internal

type Bwd (Reverse a) = Fwd a
type Bwd (CSignal dom a) # 
Instance details

Defined in Protocols.Plugin

type Bwd (CSignal dom a) = ()
type Bwd (a, b) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a, b) = (Bwd a, Bwd b)
type Bwd (AvalonMmSubordinate dom fixedWaitTime config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Bwd (AvalonMmSubordinate dom fixedWaitTime config) = Signal dom (AvalonSubordinateOut config)
type Bwd (AvalonStream dom conf dataType) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.Stream

type Bwd (AvalonStream dom conf dataType) = Signal dom (AvalonStreamS2M (ReadyLatency conf))
type Bwd (Axi4ReadAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Bwd (Axi4ReadAddress dom conf userType) = Signal dom S2M_ReadAddress
type Bwd (Axi4Stream dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.Stream

type Bwd (Axi4Stream dom conf userType) = Signal dom Axi4StreamS2M
type Bwd (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Bwd (Axi4WriteAddress dom conf userType) = Signal dom S2M_WriteAddress
type Bwd (Axi4WriteData dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteData

type Bwd (Axi4WriteData dom conf userType) = Signal dom S2M_WriteData
type Bwd (Axi4WriteResponse dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteResponse

type Bwd (Axi4WriteResponse dom conf userType) = Signal dom M2S_WriteResponse
type Bwd (PacketStream dom dataWidth meta) Source # 
Instance details

Defined in Protocols.PacketStream.Base

type Bwd (PacketStream dom dataWidth meta) = Signal dom PacketStreamS2M
type Bwd (a1, a2, a3) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3) = (Bwd a1, Bwd a2, Bwd a3)
type Bwd (Axi4ReadData dom conf userType dataType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadData

type Bwd (Axi4ReadData dom conf userType dataType) = Signal dom M2S_ReadData
type Bwd (Wishbone dom mode addressBits dataBytes) Source # 
Instance details

Defined in Protocols.Experimental.Wishbone

type Bwd (Wishbone dom mode addressBits dataBytes) = Signal dom (WishboneS2M dataBytes)
type Bwd (a1, a2, a3, a4) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4)
type Bwd (a1, a2, a3, a4, a5) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5)
type Bwd (a1, a2, a3, a4, a5, a6) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6)
type Bwd (a1, a2, a3, a4, a5, a6, a7) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9, Bwd a10)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9, Bwd a10, Bwd a11)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) # 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9, Bwd a10, Bwd a11, Bwd a12)

data CSignal (dom :: Domain) a #

Instances

Instances details
Backpressure (CSignal dom a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

Methods

boolsToBwd :: Proxy (CSignal dom a) -> [Bool] -> Bwd (CSignal dom a) Source #

(NFDataX a, ShowX a, Show a, KnownDomain dom) => Drivable (CSignal dom a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

Associated Types

type ExpectType (CSignal dom a) 
Instance details

Defined in Protocols.Experimental.Simulate

type ExpectType (CSignal dom a) = [a]
KnownDomain dom => Simulate (CSignal dom a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

Associated Types

type SimulateFwdType (CSignal dom a) 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateFwdType (CSignal dom a) = [a]
type SimulateBwdType (CSignal dom a) 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateBwdType (CSignal dom a) = ()
type SimulateChannels (CSignal dom a) 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateChannels (CSignal dom a) = 1
Protocol (CSignal dom a) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (CSignal dom a) 
Instance details

Defined in Protocols.Plugin

type Fwd (CSignal dom a) = Signal dom a
type Bwd (CSignal dom a) 
Instance details

Defined in Protocols.Plugin

type Bwd (CSignal dom a) = ()
type ExpectType (CSignal dom a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

type ExpectType (CSignal dom a) = [a]
type SimulateBwdType (CSignal dom a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateBwdType (CSignal dom a) = ()
type SimulateChannels (CSignal dom a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateChannels (CSignal dom a) = 1
type SimulateFwdType (CSignal dom a) Source # 
Instance details

Defined in Protocols.Experimental.Simulate

type SimulateFwdType (CSignal dom a) = [a]
type Bwd (CSignal dom a) # 
Instance details

Defined in Protocols.Plugin

type Bwd (CSignal dom a) = ()
type Fwd (CSignal dom a) # 
Instance details

Defined in Protocols.Plugin

type Fwd (CSignal dom a) = Signal dom a

newtype Circuit a b #

Constructors

Circuit ((Fwd a, Bwd b) -> (Bwd a, Fwd b)) 

type family Fwd a #

Instances

Instances details
type Fwd () # 
Instance details

Defined in Protocols.Plugin

type Fwd () = ()
type Fwd (Clock dom) # 
Instance details

Defined in Protocols.Plugin

type Fwd (Clock dom) = Clock dom
type Fwd (DiffClock dom) # 
Instance details

Defined in Protocols.Plugin

type Fwd (DiffClock dom) = DiffClock dom
type Fwd (Enable dom) # 
Instance details

Defined in Protocols.Plugin

type Fwd (Enable dom) = Enable dom
type Fwd (Reset dom) # 
Instance details

Defined in Protocols.Plugin

type Fwd (Reset dom) = Reset dom
type Fwd (ToConst a) # 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConst a) = a
type Fwd (ToConstBwd a) # 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConstBwd a) = ()
type Fwd (Vec n a) # 
Instance details

Defined in Protocols.Plugin

type Fwd (Vec n a) = Vec n (Fwd a)
type Fwd (Df dom a) Source # 
Instance details

Defined in Protocols.Df

type Fwd (Df dom a) = Signal dom (Maybe a)
type Fwd (AvalonMmManager dom config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Fwd (AvalonMmManager dom config) = Signal dom (AvalonManagerOut config)
type Fwd (Reverse a) Source # 
Instance details

Defined in Protocols.Internal

type Fwd (Reverse a) = Bwd a
type Fwd (CSignal dom a) # 
Instance details

Defined in Protocols.Plugin

type Fwd (CSignal dom a) = Signal dom a
type Fwd (a, b) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a, b) = (Fwd a, Fwd b)
type Fwd (AvalonMmSubordinate dom fixedWaitTime config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Fwd (AvalonMmSubordinate dom fixedWaitTime config) = Signal dom (AvalonSubordinateIn config)
type Fwd (AvalonStream dom conf dataType) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.Stream

type Fwd (AvalonStream dom conf dataType) = Signal dom (Maybe (AvalonStreamM2S conf dataType))
type Fwd (Axi4ReadAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Fwd (Axi4ReadAddress dom conf userType) = Signal dom (M2S_ReadAddress conf userType)
type Fwd (Axi4Stream dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.Stream

type Fwd (Axi4Stream dom conf userType) = Signal dom (Maybe (Axi4StreamM2S conf userType))
type Fwd (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Fwd (Axi4WriteAddress dom conf userType) = Signal dom (M2S_WriteAddress conf userType)
type Fwd (Axi4WriteData dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteData

type Fwd (Axi4WriteData dom conf userType) = Signal dom (M2S_WriteData conf userType)
type Fwd (Axi4WriteResponse dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteResponse

type Fwd (Axi4WriteResponse dom conf userType) = Signal dom (S2M_WriteResponse conf userType)
type Fwd (PacketStream dom dataWidth meta) Source # 
Instance details

Defined in Protocols.PacketStream.Base

type Fwd (PacketStream dom dataWidth meta) = Signal dom (Maybe (PacketStreamM2S dataWidth meta))
type Fwd (a1, a2, a3) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3) = (Fwd a1, Fwd a2, Fwd a3)
type Fwd (Axi4ReadData dom conf userType dataType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadData

type Fwd (Axi4ReadData dom conf userType dataType) = Signal dom (S2M_ReadData conf userType dataType)
type Fwd (Wishbone dom mode addressBits dataBytes) Source # 
Instance details

Defined in Protocols.Experimental.Wishbone

type Fwd (Wishbone dom mode addressBits dataBytes) = Signal dom (WishboneM2S addressBits dataBytes)
type Fwd (a1, a2, a3, a4) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4)
type Fwd (a1, a2, a3, a4, a5) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5)
type Fwd (a1, a2, a3, a4, a5, a6) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6)
type Fwd (a1, a2, a3, a4, a5, a6, a7) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7)
type Fwd (a1, a2, a3, a4, a5, a6, a7, a8) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8)
type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9)
type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9, Fwd a10)
type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9, Fwd a10, Fwd a11)
type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) # 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9, Fwd a10, Fwd a11, Fwd a12)

class Protocol a #

Associated Types

type Fwd a #

type Fwd a = a

type Bwd a #

type Bwd a = ()

Instances

Instances details
Protocol () # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd () 
Instance details

Defined in Protocols.Plugin

type Fwd () = ()
type Bwd () 
Instance details

Defined in Protocols.Plugin

type Bwd () = ()
Protocol (Clock dom) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (Clock dom) 
Instance details

Defined in Protocols.Plugin

type Fwd (Clock dom) = Clock dom
type Bwd (Clock dom) 
Instance details

Defined in Protocols.Plugin

type Bwd (Clock dom) = ()
Protocol (DiffClock dom) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (DiffClock dom) 
Instance details

Defined in Protocols.Plugin

type Fwd (DiffClock dom) = DiffClock dom
type Bwd (DiffClock dom) 
Instance details

Defined in Protocols.Plugin

type Bwd (DiffClock dom) = ()
Protocol (Enable dom) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (Enable dom) 
Instance details

Defined in Protocols.Plugin

type Fwd (Enable dom) = Enable dom
type Bwd (Enable dom) 
Instance details

Defined in Protocols.Plugin

type Bwd (Enable dom) = ()
Protocol (Reset dom) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (Reset dom) 
Instance details

Defined in Protocols.Plugin

type Fwd (Reset dom) = Reset dom
type Bwd (Reset dom) 
Instance details

Defined in Protocols.Plugin

type Bwd (Reset dom) = ()
Protocol (ToConst a) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (ToConst a) 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConst a) = a
type Bwd (ToConst a) 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConst a) = ()
Protocol (ToConstBwd a) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (ToConstBwd a) 
Instance details

Defined in Protocols.Plugin

type Fwd (ToConstBwd a) = ()
type Bwd (ToConstBwd a) 
Instance details

Defined in Protocols.Plugin

type Bwd (ToConstBwd a) = a
KnownNat n => Protocol (Vec n a) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (Vec n a) 
Instance details

Defined in Protocols.Plugin

type Fwd (Vec n a) = Vec n (Fwd a)
type Bwd (Vec n a) 
Instance details

Defined in Protocols.Plugin

type Bwd (Vec n a) = Vec n (Bwd a)
Protocol (Df dom a) Source # 
Instance details

Defined in Protocols.Df

Associated Types

type Fwd (Df dom a) 
Instance details

Defined in Protocols.Df

type Fwd (Df dom a) = Signal dom (Maybe a)
type Bwd (Df dom a) 
Instance details

Defined in Protocols.Df

type Bwd (Df dom a) = Signal dom Ack
Protocol (AvalonMmManager dom config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

Associated Types

type Fwd (AvalonMmManager dom config) 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Fwd (AvalonMmManager dom config) = Signal dom (AvalonManagerOut config)
type Bwd (AvalonMmManager dom config) 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Bwd (AvalonMmManager dom config) = Signal dom (AvalonManagerIn config)
Protocol a => Protocol (Reverse a) Source # 
Instance details

Defined in Protocols.Internal

Associated Types

type Fwd (Reverse a) 
Instance details

Defined in Protocols.Internal

type Fwd (Reverse a) = Bwd a
type Bwd (Reverse a) 
Instance details

Defined in Protocols.Internal

type Bwd (Reverse a) = Fwd a
Protocol (CSignal dom a) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (CSignal dom a) 
Instance details

Defined in Protocols.Plugin

type Fwd (CSignal dom a) = Signal dom a
type Bwd (CSignal dom a) 
Instance details

Defined in Protocols.Plugin

type Bwd (CSignal dom a) = ()
Protocol (a, b) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a, b) 
Instance details

Defined in Protocols.Plugin

type Fwd (a, b) = (Fwd a, Fwd b)
type Bwd (a, b) 
Instance details

Defined in Protocols.Plugin

type Bwd (a, b) = (Bwd a, Bwd b)
Protocol (AvalonMmSubordinate dom fixedWaitTime config) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

Associated Types

type Fwd (AvalonMmSubordinate dom fixedWaitTime config) 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Fwd (AvalonMmSubordinate dom fixedWaitTime config) = Signal dom (AvalonSubordinateIn config)
type Bwd (AvalonMmSubordinate dom fixedWaitTime config) 
Instance details

Defined in Protocols.Experimental.Avalon.MemMap

type Bwd (AvalonMmSubordinate dom fixedWaitTime config) = Signal dom (AvalonSubordinateOut config)
Protocol (AvalonStream dom conf dataType) Source # 
Instance details

Defined in Protocols.Experimental.Avalon.Stream

Associated Types

type Fwd (AvalonStream dom conf dataType) 
Instance details

Defined in Protocols.Experimental.Avalon.Stream

type Fwd (AvalonStream dom conf dataType) = Signal dom (Maybe (AvalonStreamM2S conf dataType))
type Bwd (AvalonStream dom conf dataType) 
Instance details

Defined in Protocols.Experimental.Avalon.Stream

type Bwd (AvalonStream dom conf dataType) = Signal dom (AvalonStreamS2M (ReadyLatency conf))
Protocol (Axi4ReadAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

Associated Types

type Fwd (Axi4ReadAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Fwd (Axi4ReadAddress dom conf userType) = Signal dom (M2S_ReadAddress conf userType)
type Bwd (Axi4ReadAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadAddress

type Bwd (Axi4ReadAddress dom conf userType) = Signal dom S2M_ReadAddress
Protocol (Axi4Stream dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.Stream

Associated Types

type Fwd (Axi4Stream dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.Stream

type Fwd (Axi4Stream dom conf userType) = Signal dom (Maybe (Axi4StreamM2S conf userType))
type Bwd (Axi4Stream dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.Stream

type Bwd (Axi4Stream dom conf userType) = Signal dom Axi4StreamS2M
Protocol (Axi4WriteAddress dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

Associated Types

type Fwd (Axi4WriteAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Fwd (Axi4WriteAddress dom conf userType) = Signal dom (M2S_WriteAddress conf userType)
type Bwd (Axi4WriteAddress dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteAddress

type Bwd (Axi4WriteAddress dom conf userType) = Signal dom S2M_WriteAddress
Protocol (Axi4WriteData dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteData

Associated Types

type Fwd (Axi4WriteData dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteData

type Fwd (Axi4WriteData dom conf userType) = Signal dom (M2S_WriteData conf userType)
type Bwd (Axi4WriteData dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteData

type Bwd (Axi4WriteData dom conf userType) = Signal dom S2M_WriteData
Protocol (Axi4WriteResponse dom conf userType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.WriteResponse

Associated Types

type Fwd (Axi4WriteResponse dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteResponse

type Fwd (Axi4WriteResponse dom conf userType) = Signal dom (S2M_WriteResponse conf userType)
type Bwd (Axi4WriteResponse dom conf userType) 
Instance details

Defined in Protocols.Experimental.Axi4.WriteResponse

type Bwd (Axi4WriteResponse dom conf userType) = Signal dom M2S_WriteResponse
Protocol (PacketStream dom dataWidth meta) Source # 
Instance details

Defined in Protocols.PacketStream.Base

Associated Types

type Fwd (PacketStream dom dataWidth meta) 
Instance details

Defined in Protocols.PacketStream.Base

type Fwd (PacketStream dom dataWidth meta) = Signal dom (Maybe (PacketStreamM2S dataWidth meta))
type Bwd (PacketStream dom dataWidth meta) 
Instance details

Defined in Protocols.PacketStream.Base

type Bwd (PacketStream dom dataWidth meta) = Signal dom PacketStreamS2M
Protocol (a1, a2, a3) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3) = (Fwd a1, Fwd a2, Fwd a3)
type Bwd (a1, a2, a3) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3) = (Bwd a1, Bwd a2, Bwd a3)
Protocol (Axi4ReadData dom conf userType dataType) Source # 
Instance details

Defined in Protocols.Experimental.Axi4.ReadData

Associated Types

type Fwd (Axi4ReadData dom conf userType dataType) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadData

type Fwd (Axi4ReadData dom conf userType dataType) = Signal dom (S2M_ReadData conf userType dataType)
type Bwd (Axi4ReadData dom conf userType dataType) 
Instance details

Defined in Protocols.Experimental.Axi4.ReadData

type Bwd (Axi4ReadData dom conf userType dataType) = Signal dom M2S_ReadData
Protocol (Wishbone dom mode addressBits dataBytes) Source # 
Instance details

Defined in Protocols.Experimental.Wishbone

Associated Types

type Fwd (Wishbone dom mode addressBits dataBytes) 
Instance details

Defined in Protocols.Experimental.Wishbone

type Fwd (Wishbone dom mode addressBits dataBytes) = Signal dom (WishboneM2S addressBits dataBytes)
type Bwd (Wishbone dom mode addressBits dataBytes) 
Instance details

Defined in Protocols.Experimental.Wishbone

type Bwd (Wishbone dom mode addressBits dataBytes) = Signal dom (WishboneS2M dataBytes)
Protocol (a1, a2, a3, a4) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4)
type Bwd (a1, a2, a3, a4) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4)
Protocol (a1, a2, a3, a4, a5) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5)
type Bwd (a1, a2, a3, a4, a5) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5)
Protocol (a1, a2, a3, a4, a5, a6) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5, a6) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6)
type Bwd (a1, a2, a3, a4, a5, a6) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6)
Protocol (a1, a2, a3, a4, a5, a6, a7) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5, a6, a7) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7)
type Bwd (a1, a2, a3, a4, a5, a6, a7) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7)
Protocol (a1, a2, a3, a4, a5, a6, a7, a8) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8)
Protocol (a1, a2, a3, a4, a5, a6, a7, a8, a9) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9)
Protocol (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9, Fwd a10)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9, Bwd a10)
Protocol (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9, Fwd a10, Fwd a11)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9, Bwd a10, Bwd a11)
Protocol (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) # 
Instance details

Defined in Protocols.Plugin

Associated Types

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) 
Instance details

Defined in Protocols.Plugin

type Fwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = (Fwd a1, Fwd a2, Fwd a3, Fwd a4, Fwd a5, Fwd a6, Fwd a7, Fwd a8, Fwd a9, Fwd a10, Fwd a11, Fwd a12)
type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) 
Instance details

Defined in Protocols.Plugin

type Bwd (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = (Bwd a1, Bwd a2, Bwd a3, Bwd a4, Bwd a5, Bwd a6, Bwd a7, Bwd a8, Bwd a9, Bwd a10, Bwd a11, Bwd a12)

class Units a where #

Methods

units :: a #

Instances

Instances details
Units () # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: () #

Units (BitVector 0) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: BitVector 0 #

Units (Index 0) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: Index 0 #

Units (Index 1) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: Index 1 #

Units (Signed 0) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: Signed 0 #

Units (Unsigned 0) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: Unsigned 0 #

Units a => Units (Signal dom a) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: Signal dom a #

(Units a, KnownNat n) => Units (Vec n a) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: Vec n a #

(Units a1, Units a2) => Units (a1, a2) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2) #

(Units a1, Units a2, Units a3) => Units (a1, a2, a3) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3) #

(Units a1, Units a2, Units a3, Units a4) => Units (a1, a2, a3, a4) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4) #

(Units a1, Units a2, Units a3, Units a4, Units a5) => Units (a1, a2, a3, a4, a5) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5) #

(Units a1, Units a2, Units a3, Units a4, Units a5, Units a6) => Units (a1, a2, a3, a4, a5, a6) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5, a6) #

(Units a1, Units a2, Units a3, Units a4, Units a5, Units a6, Units a7) => Units (a1, a2, a3, a4, a5, a6, a7) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5, a6, a7) #

(Units a1, Units a2, Units a3, Units a4, Units a5, Units a6, Units a7, Units a8) => Units (a1, a2, a3, a4, a5, a6, a7, a8) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5, a6, a7, a8) #

(Units a1, Units a2, Units a3, Units a4, Units a5, Units a6, Units a7, Units a8, Units a9) => Units (a1, a2, a3, a4, a5, a6, a7, a8, a9) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5, a6, a7, a8, a9) #

(Units a1, Units a2, Units a3, Units a4, Units a5, Units a6, Units a7, Units a8, Units a9, Units a10) => Units (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) #

(Units a1, Units a2, Units a3, Units a4, Units a5, Units a6, Units a7, Units a8, Units a9, Units a10, Units a11) => Units (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) #

(Units a1, Units a2, Units a3, Units a4, Units a5, Units a6, Units a7, Units a8, Units a9, Units a10, Units a11, Units a12) => Units (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) # 
Instance details

Defined in Protocols.Plugin.Units

Methods

units :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) #

pattern TaggedBundle :: TaggedBundle t a => TaggedUnbundled t a -> Tagged t a #

class TaggedBundle (t :: k) a where #

Associated Types

type TaggedUnbundled (t :: k) a = (res :: Type) | res -> k t a #

Instances

Instances details
TaggedBundle () () # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled () () 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled () () = ()

Methods

taggedBundle :: TaggedUnbundled () () -> Tagged () () #

taggedUnbundle :: Tagged () () -> TaggedUnbundled () () #

TaggedBundle (Vec n t :: Type) (Vec n a) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled (Vec n t :: Type) (Vec n a) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled (Vec n t :: Type) (Vec n a) = Vec n (Tagged t a)

Methods

taggedBundle :: TaggedUnbundled (Vec n t) (Vec n a) -> Tagged (Vec n t) (Vec n a) #

taggedUnbundle :: Tagged (Vec n t) (Vec n a) -> TaggedUnbundled (Vec n t) (Vec n a) #

TaggedBundle ((t1, t2) :: Type) (a1, a2) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2) :: Type) (a1, a2) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2) :: Type) (a1, a2) = (Tagged t1 a1, Tagged t2 a2)

Methods

taggedBundle :: TaggedUnbundled (t1, t2) (a1, a2) -> Tagged (t1, t2) (a1, a2) #

taggedUnbundle :: Tagged (t1, t2) (a1, a2) -> TaggedUnbundled (t1, t2) (a1, a2) #

TaggedBundle ((t1, t2, t3) :: Type) (a1, a2, a3) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3) :: Type) (a1, a2, a3) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3) :: Type) (a1, a2, a3) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3) (a1, a2, a3) -> Tagged (t1, t2, t3) (a1, a2, a3) #

taggedUnbundle :: Tagged (t1, t2, t3) (a1, a2, a3) -> TaggedUnbundled (t1, t2, t3) (a1, a2, a3) #

TaggedBundle ((t1, t2, t3, t4) :: Type) (a1, a2, a3, a4) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4) :: Type) (a1, a2, a3, a4) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4) :: Type) (a1, a2, a3, a4) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4) (a1, a2, a3, a4) -> Tagged (t1, t2, t3, t4) (a1, a2, a3, a4) #

taggedUnbundle :: Tagged (t1, t2, t3, t4) (a1, a2, a3, a4) -> TaggedUnbundled (t1, t2, t3, t4) (a1, a2, a3, a4) #

TaggedBundle ((t1, t2, t3, t4, t5) :: Type) (a1, a2, a3, a4, a5) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5) :: Type) (a1, a2, a3, a4, a5) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5) :: Type) (a1, a2, a3, a4, a5) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5) (a1, a2, a3, a4, a5) -> Tagged (t1, t2, t3, t4, t5) (a1, a2, a3, a4, a5) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5) (a1, a2, a3, a4, a5) -> TaggedUnbundled (t1, t2, t3, t4, t5) (a1, a2, a3, a4, a5) #

TaggedBundle ((t1, t2, t3, t4, t5, t6) :: Type) (a1, a2, a3, a4, a5, a6) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6) :: Type) (a1, a2, a3, a4, a5, a6) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6) :: Type) (a1, a2, a3, a4, a5, a6) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5, t6) (a1, a2, a3, a4, a5, a6) -> Tagged (t1, t2, t3, t4, t5, t6) (a1, a2, a3, a4, a5, a6) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5, t6) (a1, a2, a3, a4, a5, a6) -> TaggedUnbundled (t1, t2, t3, t4, t5, t6) (a1, a2, a3, a4, a5, a6) #

TaggedBundle ((t1, t2, t3, t4, t5, t6, t7) :: Type) (a1, a2, a3, a4, a5, a6, a7) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7) :: Type) (a1, a2, a3, a4, a5, a6, a7) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7) :: Type) (a1, a2, a3, a4, a5, a6, a7) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7) (a1, a2, a3, a4, a5, a6, a7) -> Tagged (t1, t2, t3, t4, t5, t6, t7) (a1, a2, a3, a4, a5, a6, a7) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5, t6, t7) (a1, a2, a3, a4, a5, a6, a7) -> TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7) (a1, a2, a3, a4, a5, a6, a7) #

TaggedBundle ((t1, t2, t3, t4, t5, t6, t7, t8) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8) (a1, a2, a3, a4, a5, a6, a7, a8) -> Tagged (t1, t2, t3, t4, t5, t6, t7, t8) (a1, a2, a3, a4, a5, a6, a7, a8) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5, t6, t7, t8) (a1, a2, a3, a4, a5, a6, a7, a8) -> TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8) (a1, a2, a3, a4, a5, a6, a7, a8) #

TaggedBundle ((t1, t2, t3, t4, t5, t6, t7, t8, t9) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9) (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9) (a1, a2, a3, a4, a5, a6, a7, a8, a9) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9) (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9) (a1, a2, a3, a4, a5, a6, a7, a8, a9) #

TaggedBundle ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9, Tagged t10 a10)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) #

TaggedBundle ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9, Tagged t10 a10, Tagged t11 a11)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) #

TaggedBundle ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

Associated Types

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9, Tagged t10 a10, Tagged t11 a11, Tagged t12 a12)

Methods

taggedBundle :: TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) #

taggedUnbundle :: Tagged (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> TaggedUnbundled (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) #

type family TaggedUnbundled (t :: k) a = (res :: Type) | res -> k t a #

Instances

Instances details
type TaggedUnbundled () () # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled () () = ()
type TaggedUnbundled (Vec n t :: Type) (Vec n a) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled (Vec n t :: Type) (Vec n a) = Vec n (Tagged t a)
type TaggedUnbundled ((t1, t2) :: Type) (a1, a2) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2) :: Type) (a1, a2) = (Tagged t1 a1, Tagged t2 a2)
type TaggedUnbundled ((t1, t2, t3) :: Type) (a1, a2, a3) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3) :: Type) (a1, a2, a3) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3)
type TaggedUnbundled ((t1, t2, t3, t4) :: Type) (a1, a2, a3, a4) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4) :: Type) (a1, a2, a3, a4) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4)
type TaggedUnbundled ((t1, t2, t3, t4, t5) :: Type) (a1, a2, a3, a4, a5) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5) :: Type) (a1, a2, a3, a4, a5) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5)
type TaggedUnbundled ((t1, t2, t3, t4, t5, t6) :: Type) (a1, a2, a3, a4, a5, a6) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6) :: Type) (a1, a2, a3, a4, a5, a6) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6)
type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7) :: Type) (a1, a2, a3, a4, a5, a6, a7) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7) :: Type) (a1, a2, a3, a4, a5, a6, a7) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7)
type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8)
type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9)
type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9, Tagged t10 a10)
type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9, Tagged t10 a10, Tagged t11 a11)
type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) # 
Instance details

Defined in Protocols.Plugin.TaggedBundle

type TaggedUnbundled ((t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) :: Type) (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = (Tagged t1 a1, Tagged t2 a2, Tagged t3 a3, Tagged t4 a4, Tagged t5 a5, Tagged t6 a6, Tagged t7 a7, Tagged t8 a8, Tagged t9 a9, Tagged t10 a10, Tagged t11 a11, Tagged t12 a12)