Skip to content

Instantly share code, notes, and snippets.

View jonathanvm13's full-sized avatar
😀

Jonathan Vallejo Muñoz jonathanvm13

😀
View GitHub Profile
@huitseeker
huitseeker / MT.scala
Created July 14, 2014 08:57
An answer to Will's question
object MyApp{
trait ApplicativeFunctor[A, F[A]] {
def apply[X](a:X): F[X]
def map[B](f: A => B): F[B]
}
trait Monad[A, M[A]] extends ApplicativeFunctor[A, M] {
def flatMMap[B](f: A => M[B]): M[B]
}