2008-11-20 16 views
9

Estoy interesado en aprender Haskell en mi propio tiempo (no a través de un curso), pero sospecho que mis conocimientos de matemática pueden ser insuficientes para aprender conceptos importantes de lenguaje (TBD).¿Cuántas matemáticas necesito para ser productivo en Haskell?

He tenido un año de cálculo universitario (variable única), pero no matemática discreta o lógica.

¿Me voy a encontrar con lagunas en mis cálculos matemáticos?

+0

Si alguna vez ha tenido problemas para probar Haskell, por favor agregue un comentario aquí mencionando cómo fue y si las dificultades encontradas estuvieron relacionadas con la falta de formación matemática. – ShreevatsaR

Respuesta

11

¿Por qué no lo intentas y ves?

El diseño de Haskell ha tomado de las ideas matemáticas en áreas como la teoría de la categoría (mónadas, flechas, transformadores), pero la mayoría de los programadores de Haskell única entender lo que estos son en relación con la programación de todos modos :-)

Usted don' Necesito matemáticas especialmente avanzadas para aprender Haskell, más allá de cosas como poder pensar en una función en el sentido matemático (como, "un mapa f: X -> Y" en lugar de una "subrutina" que realiza algunas acciones), poder pensar en funciones de orden superior (por ejemplo, decir que "'componer fg' es una función que en la entrada x tiene el valor f (g (x))") y así sucesivamente. La notación de Haskell es realmente limpia, por lo que tampoco debería ser un problema.

5

Los conceptos importantes para Haskell son aquellos que también son importantes para todos los lenguajes puramente funcionales, y creo que no necesariamente requieren matemática avanzada.

Dado que has tenido un año de cálculo, estarás bien.

Si bien es bueno tener experiencia en cálculo lambda, no es un requisito difícil para Haskell.

5

Estarás bien. El agua está tibia ¡Súbete!

3

¿Matemáticas? Erm, no. No necesitas matemáticas en absoluto (como en Matemáticas en el sentido común de la palabra Álgebra, Cálculo, Geometría), pero sí necesitas un cerebro lógico (lógica == matemáticas?) Para programar al igual que con cualquier otro idioma

2

creo que Haskell le enseñará mucho de la lógica, las matemáticas discretas por lo que entonces aprender Haskell y obtendrá una cierta habilidad matemática también :)

3

me enseñó a mí mismo Haskell hace unos ocho años después de haber tenido solamente de negocios Cálculo, I don No creo que se requiera ninguna matemática.

2

Cuanto más universal sea el álgebra y la teoría de categorías que conozcas, mejor, ya que Haskell requiere mucho de esas ramas de las matemáticas (es decir, mónadas, sistema de tipo algebraico, flechas y funtores).

Cuestiones relacionadas