domingo, 29 de noviembre de 2015

Ahora en Haskell se puede utilizar eager evaluation por defecto

Bueno como sabrán por defecto Haskell trabaja con lo que se denomina Lazy evaluation, en pocas palabras ejecuta algo solo hasta que lo necesites.

Esta característica como muchas otras lo hicieron un gran lenguaje, pero en algunas ocasiones se necesitaba ejecutar algo de forma estricta o eager por lo que podíamos hacer lo siguiente:

data T = C !a
f !x = ...
let !x

Ahora tambien se puede ejecutar un programa de forma estricta con los parámetros -XStrict y -XStrictData de ghc.

Personalmente no me parece una gran mejora, es como quitarle una propiedad al lenguaje; pero tendrá algún sentido.

Dejo link:
http://www.infoq.com/news/2015/11/haskell-strict-eval-patch
https://ghc.haskell.org/trac/ghc/wiki/Status/Oct15