Final 28/04/2022 (Paradigmas)

De Cuba-Wiki
Revisión del 14:07 28 abr 2022 de 2800:810:49e:299e:fd16:c7e3:be05:d6eb (discusión) (Página creada con «== 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, ¿po…»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

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?