Была выпущена новая версия Racket, языка с открытым исходным кодом в семействе Lisp-Scheme.
Согласно его веб-сайту, Racket — это язык программирования полного спектра, который выходит за рамки Lisp и схемы с диалектами, поддерживающими объекты, типы и лень-он утверждает, что предназначен не только для упражнений в теории языка и программистов, увлеченных Lisp.
Он позволяет связывать компоненты, написанные на разных диалектах, а также использовать его для создания новых, специфичных для проекта диалектов. Библиотеки Racket поддерживают приложения от веб-серверов и баз данных до графических интерфейсов и диаграмм. Ракетка раньше называлась схемой PLT, и ее можно использовать бесплатно.
Основное улучшение нового выпуска заключается в том, как обрабатываются определения локальных рекурсивных переменных. Вместо инициализации переменных с неопределенным значением Racket вызывает исключение, когда такая переменная используется до ее определения.
Райан Калпеппер из PLT Design, пишущий в блоге Racket, отмечает, что, поскольку программы редко предназначены для создания #
Если у вас есть существующие программы рэкета, которые используют
(определить неопределенное (letrec ([x x]) x))
чтобы получить значение #
Другие изменения в новой версии дают лучший контроль над временем сброса благодаря новым функциям сантехники, которые обобщают возможность сброса при выходе примитивных выходных портов; более сильное случайное тестирование контрактной системы, чтобы она могла легко находить простые ошибки в контрактной структуре данных; и упрощение семантики шаблонов неправильного соответствия для Redex.
Графические библиотеки и зависимости (Pango, Cairo, GLib и т. Д.), Которые поставляются с Racket в Windows и Mac OS X, Также были обновлены, как и библиотека openssl. Теперь он поддерживает прямую секретность с помощью наборов шифров DHE и ECDHE.