TQFB56HHRWAM4MG3BP5DWSRUWXKM7QTFVGFEX5PCKYBXXLLXBM5QC
4XD3XLRSTHAURHKAJF6LIJHUOTLZLJTF6OOLJWR4CNJTP6G7RE3AC
DOPKLXQZP3TDISHODQNI6GZ57EYE42NG225WHSZMQ3L355YVYPNAC
Y7COVTVYO2MFY7KGICPBFEENWSCRFYJLGVG53LKDWNFUOGXFEZLAC
WRLD7PACYNQI2F3MAYAM5OK4RHO7CZ4OMYWAZ37UQY2IJ4AYS7LAC
7NUEWNIMPWOFZAMPOK7QJH2AGZGS2SYTPZ5MVFI24KQG23WKRA2AC
DN2F55HBRBTHQAJDU4GOOGAEAXH5MIFPQSPEK2NNAPDJPZOOFJFQC
J4QXG3NCNCHLF2Z7FERKXPBZKL45MPMZQ2XLKPLURAOIRGHGF7IQC
DRHZBHR7G5UEXWJNZ4FWF63YCUIYMIM3B7JEUL5CC4ZY2UKE3CJAC
A5WEQR35VYRX4XL5DWHFJPW3BGMIHIWFNCKG767LLNPMOIJ557MQC
SNYOEZI7JMTLJNLM2YTAHBPJEKK2BJZJDOHRIX5676JCF2VNET3QC
evalMany :: (Traversable t) => t (R (DeckRep R) -> R (DeckRep R)) -> DeckRep R
evalMany = flip evalManyOn mempty
evalManyOn ::
(Traversable t) => t (R (DeckRep R) -> R (DeckRep R)) -> DeckRep R -> DeckRep R
evalManyOn instr initDeck = unR $ foldl' (\acc f -> f acc) (deck initDeck) instr
module Repr.Interpret (
evalMany,
evalManyOn,
) where
import Data.Foldable
import Deck.Diff
evalMany :: (Traversable t, DeckSYM m) => t (m (DeckRep m) -> m (DeckRep m)) -> m (DeckRep m)
evalMany = flip evalManyOn empty
evalManyOn :: (Traversable t, DeckSYM m) => t (m (DeckRep m) -> m (DeckRep m)) -> m (DeckRep m) -> m (DeckRep m)
evalManyOn = flip (foldl' (\acc f -> f acc))