Background
I use repa more as a management tool. I am passing reactive-banana AddHandlers to Array : Array D DIM2 (AddHandler Bool) .
I am currently using this kludge:
mapMArray :: (Monad m, R.Source ra, R.Shape sh) => (a -> mb) -> Array r sh a -> m (Array D sh b) mapMArray fa = do l <- mapM f . R.toList $ a return $ R.fromFunction sh (\i -> l !! R.toIndex sh i) where sh = R.extent a
So, I can do something like this:
makeNetworkDesc :: Frameworks t => Array D DIM2 (AddHandler Bool) -> Moment t () makeNetworkDesc events = do -- inputs aes <- mapMArray fromAddHandler events -- outputs _ <- mapMArray (reactimate . (print <$>)) aes
Question
Is there a reason why this is not included in repa ?
source share