функций? (например, завести какой-то constraint alias для этой тройки)
import qualified Data.Vector.Generic.Mutable as G
ejectScoresAndRemaining
:: forall m s v a. (PrimMonad m, s ~ PrimState m, G.MVector v a)
=> a -> [v s a] -> m ([Score], [v s a])
elemIndex
:: (PrimMonad m, s ~ PrimState m, G.MVector v a, Eq a)
=> a -> v s a -> m (Maybe Index)
foldVector
:: forall m v a b. (PrimMonad m, G.MVector v a)
=> (b -> a -> b) -> b -> Index -> (Index -> Index) -> Int -> v (PrimState m) a -> m b
{-# language ConstraintKind #-} type PrimV m s v a = (PrimMonad m, s ~ PrimState m, G.MVector v a)
шикардос. Благодарю
Обсуждают сегодня