retroclash-lib-0.1.2.2: Code shared across the code samples in the book "Retrocomputing with Clash"
Safe HaskellSafe-Inferred
LanguageHaskell2010

RetroClash.CPU

Documentation

(.:=) :: (Applicative f, MonadWriter (Barbie b f) m) => Setter' (b f) (f a) -> a -> m () infix 4 Source #

assignOut :: (Applicative f, MonadWriter (Barbie b f) m) => Setter' (b f) (f a) -> a -> m () Source #

update :: (BareB b, ApplicativeB (b Covered)) => Pure b -> Partial b -> Pure b Source #

type CPUM s o = WriterT (Barbie (o Covered) Last) (State s) Source #

mealyCPU :: (BareB i, TraversableB (i Covered)) => NFDataX s => (BareB o, ApplicativeB (o Covered), DistributiveB (o Covered)) => HiddenClockResetEnable dom => s -> (s -> Pure o) -> (Pure i -> CPUM s o ()) -> Signals dom i -> Signals dom o Source #

runCPU :: (BareB o, ApplicativeB (o Covered)) => (s -> Pure o) -> CPUM s o () -> State s (Pure o) Source #