All Downloads are FREE. Search and download functionalities are using the official Maven repository.

kits.std.TailRec.scala Maven / Gradle / Ivy

The newest version!
package kits

package std

import scala.util.control.TailCalls._

trait TailRecMonad extends Monad[TailRec] {

  override final def pure[A](a: A): TailRec[A] = done(a)

  override final def map[A, B](fa: TailRec[A])(f: A => B): TailRec[B] = fa.map(f)

  override final def flatMap[A, B](fa: TailRec[A])(f: A => TailRec[B]): TailRec[B] = tailcall(fa.flatMap(f))

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy