Aplicar el paradigma funcional en la resolución de problemas reales, mediante la comprensión de sus conceptos fundamentales y modelos de evaluación.
Subtemas de la unidad
Preliminar
4.0
Pensar en funcionesDe las instrucciones a las transformaciones: cómo interpretar un problema de manera funcional y programar su solución paso a paso, en Python y en Haskell.Apuntes
Disponible↗
4.1
Conceptos fundamentalesFunciones puras, inmutabilidad, transparencia referencial, funciones de orden superior y composición, con animaciones.Apuntes
Disponible↗
4.2
EvaluaciónOrden aplicativo y normal, evaluación estricta y perezosa, thunks y currificación, vistos como reducciones paso a paso.Apuntes
Disponible↗
4.3
Programación en HaskellEcuaciones, patrones, guardas, tipos de datos propios y árboles inmutables; y la misma función en otros lenguajes funcionales.Apuntes
Disponible↗
Cierre
Proy.
Proyecto: un mismo problema en dos paradigmasInterprete un problema de manera funcional, resuélvalo en Python imperativo, Python funcional y Haskell, verifíquelo, razone por sustitución y compare.Apuntes
Disponible↗