• how to edit this into a labeled version

    From Ho Yeung Lee@21:1/5 to All on Tue Jul 26 21:29:00 2016
    for example

    [(1,[...])],[(2,[...])],[(3,[...])]


    replicateM :: (Applicative m) => Int -> m a -> m [a]
    replicateM cnt0 f =
    loop cnt0
    where
    loop cnt
    | cnt <= 0 = pure []
    | otherwise = liftA2 (:) f (loop (cnt - 1))


    to

    replicateM :: (Applicative m, Num b) => Int -> m a -> m [(b,a)]
    replicateM cnt0 f =
    loop cnt0
    where
    loop cnt
    | cnt <= 0 = pure []
    | otherwise = liftA2 (:) f (loop (cnt - 1))

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)