module Xcommand( xcommand,xcommandK,xcommandF, xcommands,xcommandsK,xcommandsF) where import FRequest import FudgetIO import NullF(F,K) xcommandK :: XCommand -> K i o -> K i o xcommandK = forall i o. XCommand -> K i o -> K i o forall (f :: * -> * -> *) hi ho. FudgetIO f => XCommand -> f hi ho -> f hi ho xcommand :: (XCommand -> K i o -> K i o) xcommandF :: XCommand -> F i o -> F i o xcommandF = forall i o. XCommand -> F i o -> F i o forall (f :: * -> * -> *) hi ho. FudgetIO f => XCommand -> f hi ho -> f hi ho xcommand :: (XCommand -> F i o -> F i o) xcommandsK :: [XCommand] -> K i o -> K i o xcommandsK = forall i o. [XCommand] -> K i o -> K i o forall (f :: * -> * -> *) hi ho. FudgetIO f => [XCommand] -> f hi ho -> f hi ho xcommands :: ([XCommand] -> K i o -> K i o) xcommandsF :: [XCommand] -> F i o -> F i o xcommandsF = forall i o. [XCommand] -> F i o -> F i o forall (f :: * -> * -> *) hi ho. FudgetIO f => [XCommand] -> f hi ho -> f hi ho xcommands :: ([XCommand] -> F i o -> F i o) xcommand :: XCommand -> f hi ho -> f hi ho xcommand XCommand xcmd = FRequest -> f hi ho -> f hi ho forall (f :: * -> * -> *) hi ho. FudgetIO f => FRequest -> f hi ho -> f hi ho putLow (XCommand -> FRequest XCmd XCommand xcmd) xcommands :: [XCommand] -> f hi ho -> f hi ho xcommands [XCommand] xcmds = [FRequest] -> f hi ho -> f hi ho forall (t :: * -> *) (f :: * -> * -> *) hi ho. (Foldable t, FudgetIO f) => t FRequest -> f hi ho -> f hi ho putLows ((XCommand -> FRequest) -> [XCommand] -> [FRequest] forall a b. (a -> b) -> [a] -> [b] map XCommand -> FRequest XCmd [XCommand] xcmds)