Ракетка 6.1


Была выпущена новая версия Racket, языка с открытым исходным кодом в семействе Lisp-Scheme.

Согласно его веб-сайту, Racket — это язык программирования полного спектра, который выходит за рамки Lisp и схемы с диалектами, поддерживающими объекты, типы и лень-он утверждает, что предназначен не только для упражнений в теории языка и программистов, увлеченных Lisp.

Он позволяет связывать компоненты, написанные на разных диалектах, а также использовать его для создания новых, специфичных для проекта диалектов. Библиотеки Racket поддерживают приложения от веб-серверов и баз данных до графических интерфейсов и диаграмм. Ракетка раньше называлась схемой PLT, и ее можно использовать бесплатно.

Основное улучшение нового выпуска заключается в том, как обрабатываются определения локальных рекурсивных переменных. Вместо инициализации переменных с неопределенным значением Racket вызывает исключение, когда такая переменная используется до ее определения.

Райан Калпеппер из PLT Design, пишущий в блоге Racket, отмечает, что, поскольку программы редко предназначены для создания #, создание исключения обеспечивает раннюю и улучшенную обратную связь. Переменные уровня модуля всегда вызывали такое исключение, когда использовались слишком рано, и это изменение, наконец, придает локальным привязкам, включая поля класса, то же значение.

Если у вас есть существующие программы рэкета, которые используют

(определить неопределенное (letrec ([x x]) x))

чтобы получить значение #, вам нужно будет изменить их, так как новая функция сломает их. Racket предоставляет то же значение через библиотеку racket/undefined, которая была представлена в предыдущем выпуске.

Другие изменения в новой версии дают лучший контроль над временем сброса благодаря новым функциям сантехники, которые обобщают возможность сброса при выходе примитивных выходных портов; более сильное случайное тестирование контрактной системы, чтобы она могла легко находить простые ошибки в контрактной структуре данных; и упрощение семантики шаблонов неправильного соответствия для Redex.

Графические библиотеки и зависимости (Pango, Cairo, GLib и т. Д.), Которые поставляются с Racket в Windows и Mac OS X, Также были обновлены, как и библиотека openssl. Теперь он поддерживает прямую секретность с помощью наборов шифров DHE и ECDHE.


Добавить комментарий