diff --git a/src/main/scala/monads/MonadFunctor.scala b/src/main/scala/monads/MonadFunctor.scala index 3c9292549b8f3ac6889dfc79555195467e361b99..a606402921aba14530fefc4caa9a1c8c262159be 100644 --- a/src/main/scala/monads/MonadFunctor.scala +++ b/src/main/scala/monads/MonadFunctor.scala @@ -1,3 +1,6 @@ +package monads +import scala.language.higherKinds + trait Monad[F[_]] { def unit[A](a: A): F[A] def flatMap[A, B](fa: F[A])(f: A => F[B]): F[B] @@ -8,7 +11,7 @@ trait Functor[F[_]] { } object Functor { - def functorFromMonad[F[_]](m: Monad[F]): Functor[F] = new Functor[F] { - // your code for map here + def functorFromMonad[F[_]](M: Monad[F]): Functor[F] = new Functor[F] { + def map[A, B](a: F[A])(f: A => B): F[B] = ??? } } diff --git a/src/main/scala/monads/MonadId.scala b/src/main/scala/monads/MonadId.scala index 5254529063e3ef52dd8b1787789b5a403a240b14..a93956254f153888e666ee9057aab2868eb3f58f 100644 --- a/src/main/scala/monads/MonadId.scala +++ b/src/main/scala/monads/MonadId.scala @@ -1,3 +1,4 @@ +package monads final case class Id[A](value: A) object Id {