retroclash-lib-0.1.2.1: Code shared across the code samples in the book "Retrocomputing with Clash"
Safe HaskellNone
LanguageHaskell2010

RetroClash.Port

Documentation

data PortCommand port a Source #

Constructors

ReadPort port 
WritePort port a 

Instances

Instances details
Bifunctor PortCommand Source # 
Instance details

Defined in RetroClash.Port

Methods

bimap :: (a -> b) -> (c -> d) -> PortCommand a c -> PortCommand b d #

first :: (a -> b) -> PortCommand a c -> PortCommand b c #

second :: (b -> c) -> PortCommand a b -> PortCommand a c #

Bitraversable PortCommand Source # 
Instance details

Defined in RetroClash.Port

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> PortCommand a b -> f (PortCommand c d) #

Bifoldable PortCommand Source # 
Instance details

Defined in RetroClash.Port

Methods

bifold :: Monoid m => PortCommand m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> PortCommand a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> PortCommand a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> PortCommand a b -> c #

Functor (PortCommand port) Source # 
Instance details

Defined in RetroClash.Port

Methods

fmap :: (a -> b) -> PortCommand port a -> PortCommand port b #

(<$) :: a -> PortCommand port b -> PortCommand port a #

(Show port, Show a) => Show (PortCommand port a) Source # 
Instance details

Defined in RetroClash.Port

Methods

showsPrec :: Int -> PortCommand port a -> ShowS #

show :: PortCommand port a -> String #

showList :: [PortCommand port a] -> ShowS #

Generic (PortCommand port a) Source # 
Instance details

Defined in RetroClash.Port

Associated Types

type Rep (PortCommand port a) :: Type -> Type #

Methods

from :: PortCommand port a -> Rep (PortCommand port a) x #

to :: Rep (PortCommand port a) x -> PortCommand port a #

(NFDataX port, NFDataX a) => NFDataX (PortCommand port a) Source # 
Instance details

Defined in RetroClash.Port

Methods

deepErrorX :: String -> PortCommand port a #

hasUndefined :: PortCommand port a -> Bool #

ensureSpine :: PortCommand port a -> PortCommand port a #

rnfX :: PortCommand port a -> () #

type Rep (PortCommand port a) Source # 
Instance details

Defined in RetroClash.Port

type Rep (PortCommand port a) = D1 ('MetaData "PortCommand" "RetroClash.Port" "retroclash-lib-0.1.2.1-3QYYIIVHJO83EmrUE6AW6v" 'False) (C1 ('MetaCons "ReadPort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 port)) :+: C1 ('MetaCons "WritePort" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 port) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

portFromAddr :: Signal dom (Maybe port) -> Signal dom (Maybe a) -> Signal dom (Maybe (PortCommand port a)) Source #