scalaz de andar por casa
TRANSCRIPT
Scalaz de andar por casa
by @dvnavarro
Índice
1.¿Qué es Scalaz?2.Monoids3.Type-Class4.Estructura de Scalaz5.Teo crea su primer Monoid
1. ¿Qué es Scalaz?¿Para Qué sirve Scalaz?¿Cómo puedo aprender
Scalaz?¿Qué debo saber antes de utilizar Scalaz?
¿Cómo está organizado Scalaz?
2. Monoids¿Qué $#&! es un Monoid?
Estructura algebraica con una operación binaria, que es asociativa y tiene elemento neutro, es decir, es un semigrupo con elemento neutro.
2. Monoids¿y en cristiano?
Movida que tiene una operación binaria. - Dicha movida tiene un elemento neutro para esa operación.
- Dicha operación cumple la regla de asociatividad.
2. Monoids(a + b) + c = a + (b + c)a + 0 = a
(a * b) * c = a * (b * c)a * 1 = a
(“León” + “come”) + “gamba” = “León” + (“come” + “gamba”)“León” + “” = “León”
3. Type Class
¿Qué $#&! es una Type Class?
It's a type system construct that supports ad hoc polymorphism
3. Type Class
¿lo qué?
Sistema molón que nos permite extender sus funciones a un nuevo tipo sin que
aquello sea un infierno
3. Type Class
3. Type Class
3. Type Class
ATENCIÓN!! FEATURE MOLONA DE SCALA!!
3. Type Class
Usando Context Bounds:
3. Type Class
COMPILE ERROR!!
could not find implicit value for parameter ev: Math.NumberLike[scala.concurrent.duration.FiniteDuration]
3. Type Class
3. Type Class
4. Estructura de Scalaz
scalaz.Monoid.scala
Definición de Monoid
4. Estructura de Scalaz
scalaz.syntax .MonoidSyntax.scala
Syntactic Sugar para Monoids
4. Estructura de Scalaz
scalaz.std.Option.scala
Implícitos para el tipo Option y operaciones especiales de
Option que no aparecen en la librería estándar
4. Estructura de Scalaz
scalaz.syntax.std.OptionOps.scala
Syntactic Sugar para Option de ScalaZ
5. Teo crea su primer Monoid¡HOLA AMIGOS! HOY OS VOY A
ENSEÑAR COMO HACER UN MONOID
5. Teo crea su primer Monoid
5. Teo crea su primer Monoid
5. Teo crea su primer Monoid
Nos tocará definirlo
5. Teo crea su primer Monoid
5. Teo crea su primer Monoid