Bifunctor (⊗) =>Monoidal i (⊗)
where
α :: a ⊗ (b ⊗ c) -> (a ⊗ b) ⊗ c
λ :: i ⊗ a -> a
ρ :: a ⊗ i -> a
Есть ли какие-то варианты инстансов кроме:
i= (),(⊗) = (,)
Т.е. единственнен ли инстанс для () и (,)?
должна быть ещё обратная альфа
а зачем здесь Bifunctor? вроде необязательно
Ничего себе,так моноид в haskell это Monoid () (,). Где: class Monoidal i (⊗) =>Monoid m i (⊗) where μ :: m ⊗ m -> m η :: i -> m А, теперь ясно,почему не стали строить обобщение в виде класса Monoidal. Потому,что основным инстансом для Monoidal является Monoidal () (,).
Обсуждают сегодня