Fantasy-land: una especificación para gobernarlos a todos

Yo, me, myself, no ego at all

 

  • Background:
    • Licenciada el ciencias químicas
    • Doctora en física de sistemas complejos
  • Actualmente:
    • Desarrolladora front en Sngular
    • Arquitectura front en BBVA

@HenarMendiola

@HenarMendiola

@HenarMendiola

Especificación 

@HenarMendiola

Estructura Algebraica

  • Objetos
  • Transformaciones
  • Leyes matemáticas

@HenarMendiola

Objetos: vectores

@HenarMendiola

Transformación: suma

\vec{a}
\vec{b}
\vec{a} + \vec{b}

@HenarMendiola

Leyes: asociativa

\vec{a}
\vec{b}
\vec{a} + \vec{b}
\vec{c}
(\vec{a} + \vec{b})+ \vec{c}

@HenarMendiola

Leyes: asociativa

\vec{a}
\vec{b}
\vec{b} + \vec{c}
\vec{c}
\vec{a} + (\vec{b}+ \vec{c})

@HenarMendiola

Leyes: elemento neutro

\vec{a}
\vec{0}

@HenarMendiola

Leyes: elemento simétrico

\vec{a}
-\vec{a}
\vec{0}

@HenarMendiola

ADTs en Js

@HenarMendiola

class MyAdt{
    constructor(value){
        this._value=value;
    }

    method(param){
        //...logic here
    }
}

Objetos

Transformaciones

Leyes matemáticas

@HenarMendiola

@HenarMendiola

Fantasy-land

  • namespace

  • reglas adts

@HenarMendiola

¿Cómo utilizar FL?

@HenarMendiola

Firmas

  • ::  pertenece a (es del tipo)
  • => restricción
  • ~> método
  • -> constructor

@HenarMendiola

Firmas

@HenarMendiola

Time to code

deck

By Henar Hernandez

deck

  • 147