Simon Peyton Jones mismo reconoce que razonar sobre el desempeño en Haskell es difícil debido a la semántica no estricta.
Todavía tengo que escribir un proyecto importante en Haskell, así que me pregunto: ¿puedo razonar sobre el rendimiento solo al comienzo de un proyecto (al elegir estructuras de datos básicas y biblioteca de E / S) y cuando surja un problema, lidiar con el perfilador?
Para decirlo de otra manera, ¿es posible (es decir, no demasiado doloroso) posponer el manejo del rendimiento cuando tiene problemas de rendimiento, o tiene que aprender a predecir cómo GHC ejecutará su código (por ejemplo: infiera lo que decidirá el analizador de rigor) )?