Состоялся релиз языка программирования Racket 9.0 с поддержкой параллельных потоков.

Команда разработчиков Racket объявила о выходе Racket 9.0. Дистрибутив уже доступен на сайте проекта, описание изменений опубликовано в блоге Racket.
Главное нововведение версии 9.0 - поддержка параллельных потоков. Ранее в Racket были зеленые потоки, а также механизмы параллелизма через futures и places. Теперь добавлены параллельные потоки, которые используют несколько ядер процессора в рамках штатной модели потоков языка.
Параллельные потоки создаются с использованием нового аргумента #:pool при вызове thread. Это позволяет объединять потоки в пул и управлять распределением задач по вычислительным ресурсам. При указании аргумента #:keep со значением 'results поток сохраняет результат выполнения, который затем можно получить через thread-wait.
В релиз включен механизм black-box wrapper. Он предотвращает случаи, когда оптимизирующий компилятор полностью убирает некоторые вычисления. Такой механизм нужен для более корректного измерения производительности и проверки бенчмарков.
Функция decompile-linklet получила поддержку преобразования linklet обратно в s-выражения. Это полезно при анализе кода и работе с внутренними представлениями программ на Racket.
В реализации BC Racket изменено поведение функции processor-count. Теперь она всегда возвращает число параллельных вычислительных единиц, на которые ориентируется система. Для архитектуры AArch64 стали доступны пакеты формата natipkg, рассчитанные на инфраструктуру сборки и тестирования пакетов.
Подсистема Check Syntax теперь глубже отслеживает идентификаторы в поле origin синтаксических объектов, что дает более подробную информацию при анализе кода. В библиотеке math добавлены распределения Вейбулла, расширяющие набор доступных статистических функций.
Помимо этого, в Racket 9.0 внесены исправления ошибок и обновления документации. Проект развивается как открытое программное обеспечение при участии сообщества разработчиков. Подробности релиза и ссылки на дистрибутив приведены на сайте и в блоге Racket.