¿Cómo es hacer programación científica en Haskell?

Es divertido y fácil.

El hecho de que estés haciendo “bucles todo el tiempo” hace que los bucles sean un candidato perfecto para la abstracción. Resúmalos y nunca escribas explícitamente otro ciclo. Las clases de tipos Functor y Monad proporcionarían las interfaces comunes que necesita. Por ejemplo, Functor define una función llamada fmap, que le permite aplicar una función f a cada elemento de un contenedor:

fmap :: Functor f => (a -> b) -> fa -> fb
fmap (* 2) [1,2,3] == [2,4,6]

Son posibles otros llamados esquemas de recursión. Por ejemplo, podríamos querer agregar todos los elementos de una lista. Ese esquema de recursión se llama un pliegue, y podríamos doblar y doblar de la siguiente manera:

lista doubleAndFold = lista foldl (+) 0 $ fmap (* 2)

La clase de mónada también hace que “poner las cosas en orden” sea fácil. No voy a entrar en lo que es una mónada, pero mi punto es que Haskell hace que todas las cosas en las que los lenguajes de programación funcionales son generalmente malos (código imperativo, bucles, etc.) realmente fáciles y más seguros de arrancar. Los errores fuera de uno, las excepciones de puntero nulo y todos los demás archivos basura desaparecen.

More Interesting

¿Cómo se transfiere una persona trabajadora a tiempo completo a la ciencia de datos?

¿Cuáles son las últimas informaciones de big data?

¿Cuáles son algunos ejemplos específicos donde el análisis de datos topológicos (TDA) supera los puntos de referencia estándar de la industria en datos disponibles públicamente?

¿Cómo son las ubicaciones de Agies Mumbai después de PGP en Data Science?

Quería obtener el certificado de ciencia de datos de Harvard. ¿Las materias enseñadas en este curso de certificación sientan una base sólida requerida para cambiar de carrera a la corriente de la ciencia de datos?

¿Cuál es la diferencia entre un lenguaje de definición de datos y un lenguaje de manipulación de datos?

¿Qué tipo de pruebas ejecuta para validar la calidad de sus datos?

¿Cuál es el mejor programa de aprendizaje automático / ciencia de datos cerca del área de Chicago?

¿Cuál es el beneficio de las soluciones de archivo de datos?

¿Es el análisis de series temporales multivariantes un campo de estudio popular? ¿Qué es un buen libro para series de tiempo multivariadas?

¿Cuánto tiempo durará la exageración de la ciencia de datos antes de que se sature? ¿Y cuál podría ser la próxima tendencia?

¿Cuál de los siguientes 2 cursos en la India es mejor para una carrera en ciencia de datos, Udacity o Courseera?

¿Cómo debería un principiante aprender de un libro técnico que diga "Ciencia de datos desde cero"? ¿Debería completarlo una vez y luego volver a comprender temas complejos, o debería comprender profundamente cada tema antes de continuar y así retrasar la finalización?

¿Qué es todo lo que hay que aprender sobre el análisis de big data?

Cómo extraer el registro DNS de un sitio web para compartir videos (YouTube) para combatir el terrorismo