1. RepasoArrancamos 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 recursividadY aprovechamos para agregar algunos conceptos nuevos:
Con estos conceptos hicimos primero el factorial y incorporamos pattern matching para hacer length.
3. Representación de informaciónModelamos 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: 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.
Repasar orden superior y aplicación parcial, la clase que viene tenemos TP presencial.
|