En informática, Stalin ( implementación de lenguaje STAtic ) es un lenguaje de programación , un compilador de esquema de programa completo por lotes de optimización agresiva escrito por Jeffrey Mark Siskind. Utiliza análisis avanzado de flujo de datos e inferencia de tipos y una variedad de otros métodos de optimización para producir código. Stalin está destinado al uso de producción en la generación de un ejecutable optimizado .
Paradigmas | Multi-paradigma : funcional , imperativo , meta |
---|---|
Familia | Ceceo |
Diseñada por | Jeffrey Mark Siskind |
Desarrollador | Jeffrey Mark Siskind |
Lanzamiento estable | 0.11 / 2 de octubre de 2006 |
Disciplina de mecanografía | Dinámico , latente , fuerte |
Alcance | Léxico |
Plataforma | IA-32 , x86-64 |
SO | Multiplataforma |
Licencia | GPL |
Sitio web | ingeniería |
Influenciado por | |
Lisp , esquema |
El compilador se ejecuta lentamente, con poco o ningún soporte para la depuración u otras sutilezas. Se admite el esquema R4RS completo , con algunas omisiones menores y raras veces encontradas. La interfaz con bibliotecas C externas es sencilla. El compilador realiza un análisis de por vida y, por lo tanto, no genera tanta basura como podría esperarse, pero la recuperación global del almacenamiento se realiza mediante el recolector de basura de Boehm .
El nombre es una broma: " Stalin optimiza brutalmente".
Stalin es un software gratuito y de código abierto , con licencia GNU General Public License (GPL) y está disponible en línea.
Ver también
enlaces externos
- Un proyecto de Google Code : incluye una versión de Windows y una GUI
- Declaración de investigación de Siskind (compara a Stalin con otros compiladores de Scheme y afirma que "STALIN a menudo genera código que supera al código C y Fortran escrito a mano").
- Conversión de cierre ligero dirigido por flujo de Siskind (presenta un método ligero de conversión de cierre que se basa en los resultados de los análisis de flujo interprocedural, accesibilidad, puntos a y escape de todo el programa, utilizados en el compilador de Stalin)