El documento presenta una introducción a la programación funcional, destacando conceptos como funciones, evaluación perezosa, y características del lenguaje Haskell. Abarca antecedentes históricos y ejemplos de programación funcional comparando con la programación imperativa. Se incluyen propiedades matemáticas y su verificación mediante la herramienta 'quickcheck'.