Aquellos que hasta ahora me han conocido y han llegado a hablar conmigo sobre temas de programación, probablemente están al tanto de mi fanatismo por el paradigma funcional, especialmente el lenguaje de programación Haskell.

Por lo tanto, sin duda alguna mi blog no se sentía completo sin antes tener un espacio para evangelización al culto del cálculo lambda.

Estos son algunos de los recursos que he revisado y en algún punto me han servido para entender (si es que puedo decir que lo entiendo) la programación funcional y declarativa, y algunos incluso siguen siendo contenido de referencia que utilizo para enseñar a otros.

Notarán que hay una cantidad importante de contenido relacionado a Haskell, no por excluir a otros lenguajes, sino porque al momento de escribir esto me encuentro en mi fase de relación (discutiblemente tóxica) con este lenguaje. Probablemente más adelante añada contenido particular a otros lenguajes, y de haber comenzado este registro con anterioridad, probablemente ahora ya estaría plagado de contenido sobre Elixir (tal vez algún día vuelva a buscar algo del contenido que utilicé en mi época de amante de Elixir).


Tabla de contenidos.


Cálculo λ.


Sistemas de tipos.


Diseño de lenguajes.

  • Namespaced De Brujin indices: Un método interesante de solucionar problemas con el alcance de variables en declaración de funciones en lenguajes interpretados.
  • Write you a Haskell: Una excelente para entender Haskell y la implementación de un compilador para el lenguaje. (Disclaimer: Aún no está completo).

Teoría de categorías.

Aunque la teoría de categorías es una rama matemática, los siguientes son recursos relacionados a esta rama, pero desde la implementación que proveen algunos lenguajes de programación (en particular Haskell).


Haskell

Estoy consciente de que toda la colección ha estado plagado de referencias a Haskell, pero los siguientes son recursos cuyo propósito es exclusivamente entender Haskell y no es necesariamente aplicable a otros lenguajes (como todo lo anterior).


Random

  • typo: Un lenguaje de programación que corre sobre el sistema de tipos de Haskell.