Final 25/10/2023 (Paradigmas)
Paseó por toda la materia:
Primero un map para una estructura de datos falopa, después el tipo del fold para esa misma estructura. Preservación, un caso con fix, función de inferencia en general y subtipado, qué se pierde con subtipado, resolución de primer orden en un paso y un ejemplo con prolog y cuts.
- Funcional: Me dio esta estructura data A a b = C1 a | C2 b | C3 a (A a b) y me preguntó cómo sería map para esa estructura (no me salió de una, así que lo hizo más sencillo y fui llegando)
Después me preguntó qué es Progreso, me preguntó si algo puede no terminar en LC, nos pusimos a hablar de fix, de qué pasa si defino fix V como V (fix V) , de qué tipo es, etc.
- Lógico: Me preguntó qué significa que la regla de resolución para LPO sea completa, y ahí fuimos hablando de SLD, de cláusulas de Horn y otras cosas (acá la manqueé bastante así que la dinámica era ir arreglando los errores que cometía al intentar los errores que había cometido 🙃). En el medio también me preguntó si la regla de resolución binaria no es completa y prolog siempre resuelve de a dos cláusulas qué onda, prolog no es completo o qué? (la respuesta es que siempre va tomando de a dos por cómo quedan definidos los goals en SLD)
-Objetos: Diferencia entre small-step y big-step. Si objetos es big-step, cómo se evidencia que una evaluación se cuelga? (respuesta: en el árbol de derivación que queda infinito)