タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

scalaとmonadに関するkitokitokiのブックマーク (1)

  • 合成できるモナド、モナドが合成できる時 - Milestones to EVERPEACE 〜alius via〜

    (今回のコードは github:everpeace/composing-monads にあります。) 一般に、モナドって合成できないって言われますよね。 でも、モナドって合成できる場合も有るんです。 今回はまず、合成が難しい(できない)理由を説明して、 じゃぁ「モナドが合成できる時」はいつなのか? というのと「合成できるモナドたち」をちょっとだけ紹介してみます。 それにはまず、ここから始めましょう。 モナドをflatMapじゃなくてflattenで定義してみる。 flatMapで定義されるモナドのおさらい Mというモナドは次の用に定義されます。 trait Functor[F[_]]{ def map[A,B](fa:F[A])(f:(A) => B):F[B] } trait Monad[M[_]] extends Functor[M]{ def unit[A](a:A):M[A] de

    合成できるモナド、モナドが合成できる時 - Milestones to EVERPEACE 〜alius via〜
    kitokitoki
    kitokitoki 2018/06/07
    “合成できるモナド、モナドが合成できる時”
  • 1