helma-0.8.4.4: HELMA - Haskellish Esoteric Limited Minimal Automaton
Safe HaskellNone
LanguageHaskell2010

HelVM.HelMA.Automaton.Combiner.ALU

Synopsis

Documentation

doOutputChar2 :: ALU m ll element => ll -> m ll #

IO instructions

doInputChar2 :: ALU m ll element => ll -> m ll #

doInputDec2 :: ALU m ll element => ll -> m ll #

divMod :: ALU m ll element => ll -> m ll #

Arithmetic instructions

sub :: ALU m ll element => ll -> m ll #

binaryInstruction :: ALU m ll element => BinaryInstruction -> ll -> m ll #

binaryInstructions :: ALU m ll element => [BinaryInstruction] -> ll -> m ll #

halibut :: ALU m ll element => ll -> m ll #

Halibut and Pick instructions

runALI :: ALU m ll element => ALInstruction -> ll -> m ll #

move :: ALU m ll element => Index -> ll -> m ll #

Move instructions

discard :: (MonadSafe m, ListLike full item) => full -> m full #

slide :: ALU m ll element => Index -> ll -> m ll #

Slide instructions

copy :: ALU m ll element => Index -> ll -> m ll #

Copy instructions

flipPush1 :: Stack ll element => ll -> element -> ll #

charPush1 :: (Num element, Stack ll element) => Char -> ll -> ll #

genericPush1 :: (Integral v, Num element, Stack ll element) => v -> ll -> ll #

pop1 :: ALU m ll element => ll -> m (element, ll) #

Pop instructions

pop2 :: ALU m ll element => ll -> m (element, element, ll) #

push1 :: Stack ll element => element -> ll -> ll #

push2 :: Stack ll element => element -> element -> ll -> ll #

splitAt :: ListLike full item => Int -> full -> (full, full) #

drop :: ListLike full item => Int -> full -> full #

type ALU m ll element = (BIO m, Stack ll element, Integral element) #

Types

type Stack ll element = (Show ll, ListLike ll element, IndexSafe ll element) #