я пока вообще так не понимаю профитность систем эффектов. ну спрятали вы эффектфул штуки за тайпклассом и что как бы дальше? это не дает же вообще ничего
я раньше думал что смысл в том что вместо действий мы отдаем тип который должен сделать действие, и мы хотябы можем по выходу из функции отрефлексить какие именно у есть действия но вроде как нет
я пока вообще так не понимаю профитность систем эффектов. ну спрятали вы эффектфул штуки за тайпклассом и что как бы дальше? это не дает же вообще ничего
Это даёт то, что ты можешь смотря на сигнатуру примерно понять, что эта функция может и что не может делать
forwardSub :: ( Num a , Fractional a , Foldable m , Additive m , Ixed (m a) , Ixed (m (m a)) , i ~ Index (m a) , i ~ Index (m (m a)) , Eq i , Ord i , Integral i , a ~ IxValue (m a) , m a ~ IxValue (m (m a)) ) => m (m a) -> m a -> m a forwardSub a b