Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Applicative_Monadic_Validation_-_ScaLatam.pdf

 Applicative_Monadic_Validation_-_ScaLatam.pdf

Avatar for Raúl Piaggio

Raúl Piaggio

May 02, 2019

Other Decks in Programming

Transcript

  1. Objetivos 01 Seguir usando código existente sin modificaciones (o modificaciones

    mínimas). 02 Poder combinar contextos fácilmente. 03 Inferir contexto resultante.
  2. Inspiración • Abstraer contexto: ◦ Tagless Final ◦ Free Monads

    ◦ Doobie • Scala Meetup Montevideo ◦ Natural Transformations: F[_] ~> G[_]
  3. Cómo generalizamos? • Functor? Monad? Applicative! • Múltiples evaluaciones independientes.

    • Paralelismo! • Qué obtenemos del contexto? ◦ map ◦ pure ◦ traverse/compose
  4. Primeros pasos • Todos los “generadores base” existentes ahora validan

    en contexto Id[_]. Ejemplo: • Todos los “modificadores” existentes respetan el contexto. Ejemplo: