После трехлетнего перерыва вышла новая версия оптимизирующего компилятора MLton для языка Standard ML.
Основные изменения:
- Компилятор
- Улучшение сообщений об ошибках типов
- Удалена возможность генерации байт-кода
- Удалена поддержка .cm файлов, с помощью утилиты cm2mlb (доступной в базовой поставке) возможно сконвертировать CM проекты в MLB проекты, сохраняя область видимости идентификаторов модуля
- Исправление ошибок, changelog
- Runtime
- Исправление ошибок, changelog
- Язык
- Директива (*#line line:col «file» *) работает с относительными путями файлов
- В ML Basis annotations добавлена директива «resolveScope»
- Библиотеки
- Улучшена производительность String.concatWith
- Используются битовые операции для REAL.class и других низкоуровневых операций
- Поддержка дополнительных переменных в Posix.ProcEnv.sysconf
- Исправление ошибок
- Удален MLton.Socket
- Обновлены: ckit library, MLRISC library, SML/NJ library
- Добавлена MLLPT library
- Дополнительные инструменты
- Поддержка работы с относительными путями файлов в директиве (*#line line:col «file.lex» *) добавлена в mllex и mlyacc
- Исправлена ошибка с обработкой комментариев в mlyacc
MLton осуществляет полнотекстовую (whole-program) компиляцию программ на SML. Полнотекстовая компиляция позволяет достичь высокого уровня оптимизации. Аналогом MLton являются Stalin для Scheme и jhc для Haskell.
MLton поддерживает стандарт SML'97, SML Basis Library, имеет свой FFI (т.е. может вызывать C-функции без оберток) и другие полезные расширения. MLton генерирует небольшие исполнимые файлы,не требующие внешнего рантайма.
Подробнее о языке SML: http://en.wikipedia.org/wiki/Standard_ML
Подробнее о компиляторе: http://mlton.org/Features
>>> Подробности