В области вычислений Stalin ( STAtic Language ImplementatioN ) - это язык программирования , агрессивный оптимизирующий пакетный компилятор схемы всей программы, написанный Джеффри Марком Сискиндом. Он использует расширенный анализ потока данных и вывод типов, а также множество других методов оптимизации для создания кода. Сталин предназначен для производственного использования при создании оптимизированного исполняемого файла .
Парадигмы | Мультипарадигма : функциональная , императивная , мета |
---|---|
Семья | Лисп |
Разработано | Джеффри Марк Сискинд |
Разработчик | Джеффри Марк Сискинд |
Стабильный выпуск | 0.11 / 2 октября 2006 г . |
Печатная дисциплина | Динамичный , скрытый , сильный |
Сфера | Лексический |
Платформа | IA-32 , x86-64 |
Операционные системы | Кроссплатформенность |
Лицензия | GPL |
Веб-сайт | инженерный |
Под влиянием | |
Лисп , Схема |
Компилятор работает медленно, практически без поддержки отладки или других тонкостей. Поддерживается полная схема R4RS с некоторыми незначительными и редко встречающимися упущениями. Связь с внешними библиотеками C проста. Компилятор выполняет анализ времени жизни и, следовательно, не создает столько мусора, как можно было бы ожидать, но глобальное восстановление хранилища выполняется с помощью сборщика мусора Boehm .
Название в шутку: « Сталин жестоко оптимизирует».
Stalin - это бесплатное программное обеспечение с открытым исходным кодом , работающее под лицензией GNU General Public License (GPL) и доступное в Интернете.
Смотрите также
Внешние ссылки
- Проект Google Code - включает версию для Windows и графический интерфейс.
- Заявление об исследовании Siskind (сравнивает Сталина с другими компиляторами схемы и заявляет, что «STALIN часто генерирует код, который превосходит рукописный код C и Fortran»).
- Flow-Directed Lightweight Clos Conversion от Siskind (представляет собой упрощенный метод закрытия-преобразования, который основан на результатах межпроцедурного потока всей программы, анализа достижимости, точек на и выхода, используемых в компиляторе Stalin)