LINUX.ORG.RU

Вышел язык программирования Racket 7.0

 , ,


3

3

Racket - это язык программирования общего назначения, а также первая в мире экосистема для языко-ориентированного программирования.

Racket версии 7.0 включает существенные изменения в рамках долгосрочных целей замены текущей системы времени выполнения и поддержки множества систем времени выполнения. Предполагается, что пользователи Racket не почувствуют большой разницы между Racket 6.12 и Racket 7.0, но в связи с тем, что реализация претерпела серьёзные изменения, увеличен именно старший номер версии.

Ядро версии 7.0 является результатом переработки ядра версии 6.12 более чем на 1/8, и включает новый механизм раскрытия макросов, который осуществляет бутстрэппинг самого себя. Данный механизм покрывает более 40% кода, необходимого для замены ядра Racket на Chez Scheme. Остальные 60% кода, по бОльшей части, также реализованы, но не включены в этот выпуск; мы надеемся и предполагаем, что Racket-на-Chez будет готов для промышленного использования в следующих выпусках ветки 7.x

  • Синтаксис формы (`#'`) поддерживает новые шаблоны подформ: ~@ - для сплайсинга, и ~? - для выбора между подшаблонами, основанного на возможном «отсутствии» значения у переменных образца (например, у образца ~optional в syntax-parse). Библиотека syntax/parse/experimental/template, откуда происходят эти возможности, экспортирует новые формы под старыми именами для совместимости.
  • На Windows флаг --embed-dlls команды raco exe создаёт по-настоящему автономный исполняемый файл ".exe", который содержит в себе разделяемые библиотеки Racket.
  • Опция «Create Executable» интегрированной среды разработки DrRacket для учебных языков (Beginner Student, и т.п.) использует флаг --embed-dlls на Windows.
  • Поддержка prefab («previously fabricated») структур в Typed Racket существенно улучшена, что делает их более полиморфными, исправляя, вместе с тем, существенные ошибки текущей реализации. Программы, которые сейчас используют предикаты для prefab-структур неизвестных данных, могут нуждаться в ревизии, т.к. предыдущие версии Typed Racket позволяли программам с потенциальными ошибками осуществлять проверку типов. Смотрите Typed Racket RFC 1 и prefab-changes для более подробной информации об этом изменении, и о том, как исправить программы, которые подверглись влиянию в связи с этим изменением.
  • Typed Racket поддерживает #:rest-star в конструкторе типов ->*, что позволяет функциональным типам указывать в хвостовом списке аргументов (rest arguments) более сложные образцы типов, такие как функция hash.
  • Интерактивные оверлеи могут быть наложены на графики, созданные с помощью plot-snip. Это позволяет создавать интерактивные графики или отображать дополнительную информацию, когда указатель мыши находится над областью графика. Примеры использования данной возможности можно посмотреть тут.
  • racket/plot предоставляет процедуры для отображения графиков японских свечей (candlestick charts), которые могут быть использованы в финансовом анализе временных рядов.
  • Добавлен contract-equivalent?, который проверяет, что два контракта являются взаимосильными, без экспоненциального замедления, которое имеет место в случае двух вызовов contract-stronger?.
  • Lazy Racket поддерживает функции с именованными аргументами.

>>> Оригинал

Ну, господа, это уже не серьезно. Как было метко замечено выше - тупняк. Ни лиспосрача, ни тонкого троллинга. Я бы даже сказал - быдло-тупняк. Несмотря на все усилия azelipupenko aka anonim «дискуссия» не перешла на удобоваримо осмысленный уровень. Даже выход Racket 7.0, как «событие» не помог. Если честно, я так и не понял - либо тут половина виртуалов анонима, либо люди реально настолько отупели.

anonymous ()
Ответ на: комментарий от anonymous

Гордиться нечем. Тред полон шизофазии и переливаний из пустого в порожнее. Про лисп вооюще забыли. И где только этот ваш тылганер. Царю почему то не разрешают изливаться, а его комменты посодержательней бесконечного тупняка от смайлофага и ведьмака, например.

Царь кидается понтами и говном, а здесь джентльмены деликатно тыкают друг в друга кожаными шпагами, соблюдая дистанцию.

Virtuos86 ★★★★★ ()

Программы на С шершавые и колючие, на Питоне - упругие и тёплые как сисечки, Раст отдаёт металлическим привкусом, С++ звучит как блэк-митол (Qt - рок-опера, а GTK - русский рэп), Java маслянистая,PHP попахивает сероводородом а Racket пахнет потом гипстоты.

anonymous ()
Ответ на: комментарий от WitcherGeralt

Какое-то реально заметное развитие (либо деградация) есть там, где язык изначально говно сам по себе

То есть, весь текущий мейнстрим - говно? Даже джава стала более активно развиваться.

Ну или назови языки, которые не говно.

DarkEld3r ★★★★★ ()
Ответ на: комментарий от DarkEld3r

То есть, весь текущий мейнстрим

Это что например?

Я уже называл JS и Python, это точно про них и это точно не про Java (там ничего не ломают и вообще всё ровно).

Ну или назови языки, которые не говно

Называл.

WitcherGeralt ()
Ответ на: комментарий от WitcherGeralt

Java (там ничего не ломают

Ломают (например модули).

Ну и на ранних этапах развития они расширяли список ключевых слов.

Называл.

Где? Весь топик не читал, а в том сообщение, на которое отвечал, не было.

DarkEld3r ★★★★★ ()