simbolos peta para opciones instalar hacer español entornos ejemplos desarrollo como haskell optimization compiler-construction ghc

peta - ¿Posibles optimizaciones en Haskell que aún no están implementadas en GHC?



instalar haskell en ubuntu (3)

Por lo tanto, los lenguajes puramente funcionales tienen su propia clase de potenciales debido a la clara separación entre el código puro y el impuro. He visto varias características que son algo más sencillas de implementar en Haskell como Paralelismo de datos anidados o Stream Fusion .

Mi pregunta es, ¿cuáles son otras mejoras / optimizaciones que son más o menos exclusivas de Haskell en términos de factibilidad / simplicidad pero que aún no se han implementado? (En general me preocupo por GHC, pero también me encanta escuchar acerca de otros)



Otro tema que SPJ afirma en su artículo sobre la supercompilación modular es la combinación de supercompilación con unboxing. Las posibilidades para unboxing en el programa supercompilado se reducen significativamente. Esto provoca una disminución en el rendimiento en comparación con el programa no optimizado que se pasa a través del analizador / unboxer estricto de GHC. Consulte http://research.microsoft.com/en-us/um/people/simonpj/papers/supercompilation/


Una optimización que me encantaría ver en GHC es la supercompilación. Sin embargo, eso parece poco probable en el futuro cercano de GHC, ya que se trata de una optimización de todo el programa, y ​​GHC está muy centrado en la compilación de un módulo a la vez.

Básicamente, la supercompilación está ejecutando la mayor cantidad de programas posible en tiempo de compilación. Naturalmente, incluye las técnicas de inline, deforestación, especialización y cualquier otra técnica. Los primeros resultados experimentales han sido prometedores, pero es un proceso muy costoso. Es difícil verlo como una optimización práctica, pero el concepto es ridículamente impresionante.