He oído que hay una rama de GHC que compila a código estricto por defecto, mientras que la pereza se puede habilitar mediante anotación. (IIRC, dijo que una compañía financiera desarrolla la sucursal y la usa para el código de producción). ¿Es eso cierto? No puedo encontrarlorama no vago de GHC
La persona también sugirió que la opinión de que la evaluación estricta es más práctica que la evaluación perezosa (de manera predeterminada) gana aceptación cada vez más. No encuentro esto confirmado en la lista de correo de Haskell, pero tal vez eso se deba a que la gente no está orientada a la práctica.
Todo lo que encuentro en Haskell estricto son cosas explícitas como $!
y rnf
. Aunque considero que la evaluación perezosa es muy elegante, me gustaría desarrollar un programa en Haskell en el que quiera evitar fugas de espacio y me gustaría tener un rendimiento predecible.
Descargo de responsabilidad: No estoy defendiendo el rigor, solo me gustaría echarle un vistazo al estricto Haskell o algo así.
Tengo curiosidad - ¿Qué sorpresas groseros te topaste? –
Por (la expresión ciertamente estúpida) groseras surpise quise decir fugas de espacio e imprevisibilidad de tiempo de ejecución. En realidad, no me he encontrado con ellos, pero me parece que estos problemas son reales, ¿verdad? (En este momento estoy evaluando qué idioma usar). – chs
Creo que esto podría llamarse 'Mu'? Lennart Augustsson puede haberlo mencionado en alguna parte. – jtobin