我试图以更实际的方式理解monad和monoids之间的关系.如果这个问题毫无意义,我会提前道歉,我还在苦苦挣扎.
例如,假设我有:
trait Monoid[T] { def zero: T def combine: (T,T) => T }
和(从这里):
trait Monad[+M[_]] { def unit[A](a: A): M[A] def bind[A, B](m: M[A])(f: A => M[B]): M[B] }
是否可以在Monad和Monoid特征之间建立关系,例如我可以将Monad视为Monoid(假设我正确理解Monad是Monoid的特例)?