22. Functor: Les lois - La composition
Mapper une fonction f puis mapper le résultat par une
fonction g équivaut à mapper une fois le résultat de la
fonction f à g
38. Functor
➔ Méthode map permet d’appliquer une fonction sur une
valeur contenue dans un contexte
➔ Loi identité et composition
➔ La composition des functors
61. Applicative - in real life
3 règles de gestion :
➔ Vérifier l’image a été uploadée
➔ Vérifier l’image est carrée
➔ Vérifier les métadatas
62. Applicative - in real life
3 règles de gestion :
➔ Vérifier l’image a été uploadée => 100 ms + Net
➔ Vérifier l’image est carrée => 5ms
➔ Vérifier les métadatas => 5ms
new Functor[Maybe] = {
override def map[A, B](maybeA: Maybe[A])(f: A => B) = {
maybeA match {
case Just(value) => Maybe(f(value))
case Nothing => Nothing
}
}
}
def compute(): Either[Error, List[Int]]
def plus3(x: Int): Int = x + 3
val result = compute()
result.map(_map(x => plus3(x)))
def compute(): Either[Error, List[Int]]
def plus3(x: Int): Int = x + 3
val result = compute()
result.map(_map(x => plus3(x)))
def compute(): Either[Error, List[Int]]
def plus3(x: Int): Int = x + 3
val result = compute()
result.map(_map(x => plus3(x)))