Resumen de la clase 2 - Orden Superior

1. Repaso

Arrancamos con una revisión de los conceptos de la primera clase:
  • Función, dominio, imagen
  • Valores básicos de Haskell: números, booleanos, caracteres, listas, tuplas.
  • Tipos e inferencia de tipos, en particular el tipo de una función.
  • Aplicación y aplicación parcial.
  • Visión operacional y visión denotacional.
  • Pattern matching

2. Guardas y recursividad

Y aprovechamos para agregar algunos conceptos nuevos:
  • Recursividad
  • Guardas

Con estos conceptos hicimos primero el factorial y incorporamos pattern matching para hacer length.

3. Representación de información

Modelamos a un alumno como una tupla: (nombre, lista de notas) y programamos aproboCursada, que me dice si un alumno tuvo todas las notas de 4 para arriba.

Luego dejamos ejercicios para practicar un poco:
  • alumnoEstrella: me dice si tuvo puros 10.
  • viveZafando: me dice si tuvo puros 4.
  • cursoModelo: me dice si un curso tiene todos aprobados

4. Orden Superior
Pensamos en las repeticiones entre las funciones anteriores, entre alumnoEstrella y viveZafando encontramos que solo cambia la nota, entonces podemos convertir eso en un parámetro.
Luego vemos que las tres funciones que nos quedaron tienen la misma estructura, y también sacamos un parámetro, oh sorpresa, el parámetro es una función. Sí, vale.

En funcional las funciones pueden pasarse por parámetro como cualquier otra.

5. Aplicación parcial y orden superior
Vimos que la aplicación parcial suele ser muy util para ser usada en conjunto con el orden superior, la utilizamos para pensar los ejemplos anteriores.

6. Algunas funciones comunes de orden superior
Las listas suelen ser estructuras muy útiles para el uso de orden superior, la que hicimos antes existe y se llama all.
Practicamos haciendo algunas funciones más:
  • map
  • filter
  • count
  • any
  • none
También podemos hacer funciones de orden superior sin listas:
  • mayorSegun
  • hice diferentes juegos con tuplas para que me expliquen que hace cada función.

7. Tarea para el hogar
Repasar orden superior y aplicación parcial, la clase que viene tenemos TP presencial.

    Comments