cómo avanzar a la programación funcional de nivel superior [cerrado]

12

Primero, mis disculpas si este no es el lugar correcto para esta pregunta, pero creo que th.CS no es el lugar correcto con seguridad, tampoco lo es StackOverflow.

Me gusta mucho la programación funcional y creo que soy un chico de nivel medio en F # y entiendo bastante bien los conceptos básicos de Haskell, y sí, creo que sé / me siento como si supiera lo que es una mónada.

Ahora tengo muchas ganas de llevar esto al siguiente nivel y quiero entender de qué se trata todo lo que se habla sobre functors y demás. Simplemente no sé por dónde empezar.

Leer algo sobre cálculo Lambda? Teoría de la categoría? Ambos sé un poco y no creo que esta sea la forma correcta / más rápida de iluminación.

Quizás puedas darme algunas pistas sobre eso.

PD: No le tengo miedo a las matemáticas y no me siento frustrado con los ejercicios fácilmente, pero preferiría algunas introducciones / textos en los que pueda colocar un código porque de esta manera obtiene los comentarios de inmediato.

Carsten
fuente

Respuestas:

6

F # es un buen comienzo, debes seguir con Haskell, y definitivamente leer sobre el cálculo lambda y leer los documentos Lambda mencionados anteriormente.

El uso de un lenguaje híbrido (Clojure, Scala, OCaml, ...) podría ayudar a facilitarlo si proviene de un entorno OO, pero creo que si realmente desea comprender la mentalidad de programación funcional, debería ir por el cosa real (Haskell, Lisp, ...).

haylem
fuente
gracias, por supuesto, me atendré a F # (puedo usar esto en el código de producción ...) e intentaré aprender más haskell, pero esto es más difícil porque me resulta bastante difícil hacer otras cosas que aplicaciones de consola en haskell (todavía). - El esquema podría ser bueno (tuvo un episodio corto en Lisp una vez) pero OCaml es casi lo mismo que F # (creo)
Carsten
@ CarstenKönig: Hay muchos proyectos muy interesantes que puedes hacer sin preocuparte por una interfaz de usuario. Una gran opción es trabajar en un lenguaje de programación: escribir un intérprete simple de Scheme o Prolog en Haskell es un ejercicio increíble y vive feliz en la línea de comandos.
Tikhon Jelvis
4

Te recomiendo que leas esos tres libros si el tiempo es un lujo que tienes:

Esos tres libros enriquecerán su comprensión de la programación funcional en general.

Quirón
fuente
El tiempo en el cajero automático no es un problema, y ​​me tomaré un tiempo si encuentro la energía en las tardes de todos modos ... puede ser lento, pero normalmente puedo leer mucho. Por supuesto, con ese tipo de libros, mi ritmo se ralentizará ... gracias (lamentablemente, el último parece estar agotado ... no soporto leer desde la pantalla)
Carsten