lol-apps-0.0.0.1: utils/Apply.hs
{-# LANGUAGE DataKinds, FlexibleInstances, MultiParamTypeClasses, PolyKinds,
TypeFamilies, TypeOperators #-}
-- applies functions to proxy arguments
module Apply where
class (params :: [k]) `Satisfy` (ctx :: *) where
data ArgsCtx ctx
run :: proxy params
-> (ArgsCtx ctx -> rnd res)
-> [rnd res]
instance '[] `Satisfy` ctx where
-- any implementation of ArgsCtx would conflict with concrete instances,
-- so skip
run _ _ = []