Module
ChocoPie
- Package
- purescript-choco-pie
- Repository
- justinwoo/purescript-chocopie
#runChocoPie Source
runChocoPie :: forall eff sourceRow sinkRow driverRow bundleRow. ChocoPieRecord eff sourceRow sinkRow driverRow bundleRow => (Record sourceRow -> Record sinkRow) -> Record driverRow -> Eff (frp :: FRP | eff) Unit
#ChocoPieRecord Source
class ChocoPieRecord (e :: Row Effect) (sourceRow :: Row Type) (sinkRow :: Row Type) (driverRow :: Row Type) (bundleRow :: Row Type) | sourceRow -> sinkRow driverRow bundleRow, sinkRow -> sourceRow driverRow bundleRow, driverRow -> sourceRow sinkRow bundleRow, bundleRow -> sourceRow sinkRow driverRow where
Members
chocoPieItUp :: (Record sourceRow -> Record sinkRow) -> (Record driverRow) -> Eff (frp :: FRP | e) Unit
Instances
(RowToList sourceRow sourceList, RowToList sinkRow sinkList, RowToList driverRow driverList, RowToList bundleRow bundleList, ChocoPieRowList e sourceList sinkList driverList bundleList, MakeSinkProxies e sinkList sinkRow bundleList bundleRow, CallDrivers e driverList driverRow bundleList bundleRow sourceList sourceRow, ReplicateMany e sinkList sinkRow bundleList bundleRow, ListToRow sourceList sourceRow, ListToRow sinkList sinkRow, ListToRow driverList driverRow, ListToRow bundleList bundleRow) => ChocoPieRecord e sourceRow sinkRow driverRow bundleRow
#MakeSinkProxies Source
class MakeSinkProxies (e :: Row Effect) (xs :: RowList) (row :: Row Type) (bundleList :: RowList) (bundles :: Row Type) | xs -> row, bundleList -> bundles where
Members
makeSinkProxies :: RLProxy xs -> RLProxy bundleList -> RProxy row -> Eff (frp :: FRP | e) (Record bundles)
Instances
(IsSymbol name, MakeSinkProxies e tail tailRow bundleList bundles', RowLacks name bundles', RowCons name { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit } bundles' bundles) => MakeSinkProxies e (Cons name (Event a) tail) row bundleList bundles
(TypeEquals (Record bundle) (Record ())) => MakeSinkProxies e Nil row bundleList bundle
#CallDrivers Source
class CallDrivers (e :: Row Effect) (driverList :: RowList) (driver :: Row Type) (bundleList :: RowList) (bundle :: Row Type) (sourceList :: RowList) (source :: Row Type) | driverList -> driver bundleList sourceList e, bundleList -> bundle driverList sourceList e, sourceList -> source driverList bundleList e where
Members
callDrivers :: RLProxy driverList -> RLProxy bundleList -> RLProxy sourceList -> Record driver -> Record bundle -> Eff (frp :: FRP | e) (Record source)
Instances
(IsSymbol name, ListToRow driverTail driverTailRow, ListToRow bundleTail bundleTailRow, ListToRow sourceTail sourceTailRow, CallDrivers e driverTail driverTailRow bundleTail bundleTailRow sourceTail sourceTailRow, TypeEquals bundleton { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit }, TypeEquals driverton (Event a -> Eff (frp :: FRP | e) b), RowLacks name driverTailRow, RowCons name driverton driverTailRow driverRow, RowLacks name bundleTailRow, RowCons name bundleton bundleTailRow bundleRow, RowLacks name sourceTailRow, RowCons name b sourceTailRow sourceRow) => CallDrivers e (Cons name driverton driverTail) driverRow (Cons name bundleton bundleTail) bundleRow (Cons name b sourceTail) sourceRow
(TypeEquals (Record source) (Record ())) => CallDrivers e Nil driver Nil bundle Nil source
#ReplicateMany Source
class ReplicateMany (e :: Row Effect) (sinkList :: RowList) (sinkRow :: Row Type) (bundleList :: RowList) (bundleRow :: Row Type) | sinkList -> sinkRow e, bundleList -> bundleRow e where
Members
replicateMany :: RLProxy sinkList -> RLProxy bundleList -> Record sinkRow -> Record bundleRow -> Eff (frp :: FRP | e) Unit
Instances
(IsSymbol name, TypeEquals bundleton { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit }, RowCons name (Event a) sinkTailRow sinkRow, RowCons name bundleton bundleTailRow bundleRow, ReplicateMany e sinkTail sinkTailRow bundleTail bundleTailRow, RowLacks name sinkTailRow, RowCons name (Event a) sinkTailRow sinkRow, RowLacks name bundleTailRow, RowCons name bundleton bundleTailRow bundleRow) => ReplicateMany e (Cons name (Event a) sinkTail) sinkRow (Cons name bundleton bundleTail) bundleRow
ReplicateMany e Nil sinkRow Nil bundleRow
#ChocoPieRowList Source
class ChocoPieRowList (e :: Row Effect) (sourceList :: RowList) (sinkList :: RowList) (driverList :: RowList) (bundleList :: RowList) | sourceList -> sinkList driverList bundleList e, sinkList -> sourceList driverList bundleList e, driverList -> sourceList sinkList bundleList e, bundleList -> sourceList sinkList driverList e
Instances
(ChocoPieRowList e sourceTail sinkTail driverTail bundleTail, TypeEquals driver ((Event a) -> Eff (frp :: FRP | e) b), TypeEquals c { event :: Event a, push :: a -> Eff (frp :: FRP | e) Unit }) => ChocoPieRowList e (Cons k b sourceTail) (Cons k (Event a) sinkTail) (Cons k driver driverTail) (Cons k c bundleTail)
ChocoPieRowList e Nil Nil Nil Nil
- Modules
- ChocoPie