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 {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 {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 {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 {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 = 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 = forall {t :: * -> *} {f :: * -> * -> *} {hi} {ho}. (Foldable t, FudgetIO f) => t FRequest -> f hi ho -> f hi ho putLows (forall a b. (a -> b) -> [a] -> [b] map XCommand -> FRequest XCmd [XCommand] xcmds)