Final 28/04/2022 (Paradigmas)
De Cuba-Wiki
Funcional
- Definir map usando foldl y foldr
- ¿Qué pasa con foldl y foldr con listas infinitas?
Lambda Cálculo
- Dadas las reglas de LC con registros, ¿por qué pedimos que para aplicar una proyección todo los campos de los registros sean valores y no proyectamos directametnte?
- Si sacamos la regla siguiente para arreglarlo, ¿ahora anda o sigue roto?
M -> M’
M.l -> M’l
- Hablamos de la propiedad de progreso
Lógico
- Diferencias entre la regla de unificación para proposicional vs. lógica de primer orden.
- ¿Por qué si las reglas para LPO no son completas, en Prolog se pueden usar igual y anda?
- Cómo funciona el not para árboles de resolución finitos e infinitos.
- Vimos unos casitos de unificación, y discutimos si se podía unificar en un paso a la cláusula {}:
* {p(X,a)}, {~p(b,X)} * {p(X), q(a)}, {~p(b), ~q(Y)}
Objetos
- Diferencias entre semántica operacional entre LC y SC (o sea preguntaba por big step y small step).
- ¿Cómo se evidencia "que un programa se colgó" en la semántica operacional de lambda cálculo? ¿Y en sigma cálculo?