LINUX.ORG.RU

Haskell


173

8

Всего сообщений: 53

Вышел GHC 9.6.1

Вышел GHC 9.6.1
Группа Разработка

Привет, ЛОР!

10 марта вышел релиз самого популярного компилятора языка Haskell — GHC 9.6.1. С момента предыдущего мажорного выпуска 9.4.1 прошло более 10 месяцев. GHC на данный момент является эталонной реализацией языка и распространяется под модифицированной лицензией BSD3.

( читать дальше... )

>>> Подробности

 , ,

hateyoufeel
()

Glasgow Haskell Compiler 9.4.1

Glasgow Haskell Compiler 9.4.1
Группа Разработка

Привет, ЛОР!

7 августа вышла новая версия Glasgow Haskell Compiler 9.4.1. На данный момент GHC является самым активно развиваемым компилятором для Haskell.

( читать дальше... )

>>> Release Notes

 , ,

hateyoufeel
()

GHC 9.0.1

GHC 9.0.1
Группа Open Source

Вышла новая версия компилятора языка Haskell — Glasgow Haskell Compiler. Из-за значительных изменений была увеличена мажорная версия компилятора.

Основные изменения:

  • Добавлена реализация линейных типов (расширение LinearTypes). Линейные типы позволяют отслеживать использование ресурсов на стадии компиляции и могут использоваться, среди прочих вещей, для статического управления памятью в стиле Rust.
  • Новая встроенная библиотека для работы с числами неограниченного размера: ghc-bignum. Её использование помогает с переносимостью в системах, где библиотека GMP по каким-либо причинам недоступна.
  • Улучшения в кодогенераторе, значительно увеличивающие производительность многих программ.
  • Улучшения в коде проверки сравнения с образцом (pattern matching), позволяющие находить лишние проверки в случаях, где раньше это было невозможно.
  • Новый IO-менеджер для платформы Windows. Раньше на Windows был использован IO-менеджер для Unix-систем, что приводило в худшей производительности на этой платформе. Также прекращена поддержка Windows Vista. Теперь для сборки и запуска программ на Haskell требуется минимум Windows 7.
  • Добавлено расширение QualifiedDo, расширяющее возможности по переопределению поведения кода.
  • Для сборки с LLVM теперь требуется версия 9.0 или выше.

Также недавно был выпущен корректирующий релиз GHC 8.10.4, исправляющий несколько багов в ветке 8.10.

>>> Подробности

 , ,

hateyoufeel
()

GHC 8.10.1

Группа Open Source

Состоялся очередной релиз компилятора Glasgow Haskell Compiler.

Среди изменений:

  • Новые расширения языка UnliftedNewtypes, StandaloneKindSignatures и ImportQualifiedPost.
  • Изменения в кодогенерации, включая более агрессивную специализацию кода, новый анализатор циклов, оптимизацию работы с массивами и тэггирование указателей для больших типов данных.
  • Новая команда интерпретатора :instances, показывающая доступные инстансы классов для заданного типа.
  • Улучшения в работе встраиваемого профайлера кода.
  • И, вишенкой на торте, новый сборщик мусора, отличающийся уменьшенным временем задержек, сборкой мусора без копирования данных и возможностью параллельной сборки мусора и работы кода. Для включения нового сборщика мусора нужно скомпилировать код новой версией компилятора и запустить с параметрами +RTS -xn.

Подробнее про новый сборщик мусора можно прочитать здесь.

>>> Скачать

>>> Подробности

 , ,

hateyoufeel
()

Опубликован исходный код компилятора Miranda

Группа Разработка

Исходный код компилятора языка Miranda был выпущен под открытой (BSD 2-clause) лицензией. Miranda — функциональный ленивый язык программирования, созданный в 1985 году Дэвидом Тёрнером и широко использовавшийся в 80х и 90х годах для обучения функциональному программированию. Также он стал прообразом более популярного языка Haskell, который возник в том числе из-за закрытости исходного кода Miranda.

>>> Обсуждение на Hacker News

>>> Страница о языке в Wikipedia

>>> Подробности

 , ,

hateyoufeel
()

GHC 8.8.1

Группа Open Source

Тихо и незаметно, вышла новая версия известного компилятора языка программирования Haskell.

Среди изменений:

  • Поддержка профилирования на 64-битных системах с Windows.
  • GHC теперь требует LLVM версии 7.
  • Метод fail окончательно вынесен из класса Monad, теперь он находится в классе MonadFail (финальная часть MonadFail Proposal).
  • Явное применение типа (type application) теперь работает и для самих типов, а не только для значений.
  • forall теперь является ключевым словом вне зависимости от контекста, что позволяет использовать его в type families и rewrite rules.
  • Улучшен алгоритм компоновки кода для x86.
  • Множество других изменений.

>>> Полный список изменений

>>> Гайд по миграции кода на новую версию

>>> Скачать

 , ,

hateyoufeel
()

Релиз Gifcurry 3.0.0 - видеоредактор и конвертор видео в GIF

Группа Мультимедиа

Gifcurry — свободный видеоредактор и конвертор видео в GIF. Программа написана с использованием языка Haskell для Linux, macOS, и возможно Windows. Доступны как графический интерфейс (GUI), так и интерфейс коммандной строки (CLI).

В программе Gifcurry вы можете изменять размер, обрезать, искать, добавлять текст, выбирать шрифты, изменять продолжительность, выбирать качество, и сохранять результат в формате GIF или видео.

( читать дальше... )

Скачать AppImage-пакет (для Linux, x86_64)

Скачать статическую сборку (для Linux)

Исходный код

>>> Подробности

 , , ,

atsym
()

Компилятор GHC языка Haskell: теория языков программирования в работе

Группа Конференции и встречи

31 марта в Санкт-Петербурге стартует двухдневный курс лекций Виталия Брагилевского о внутреннем устройстве компилятора GHC.

Компилятор GHC (The Glasgow Haskell Compiler) языка Haskell уже в течение почти 30 лет представляет собой площадку для экспериментов в области теории языков программирования. В рамках этого курса мы посмотрим, какие именно результаты теории в нём реализованы, а также обсудим, как можно подключиться к его разработке.

В первой части курса (две лекции) будет рассказываться о структуре компилятора GHC, принципах его разработки и порядке работы.

Вторая часть (три лекции) будет посвящена внутреннему языку GHC Core, в который транслируется код на Haskell и который представляет собой расширение системы полиморфного λ-исчисления высших порядков System Fω, а также вычислению выражений Core с использованием STG-машины.

Лекции будут проходить в ПОМИ РАН (Набережная реки Фонтанки, 27, Мраморный зал (2 этаж)).

Участие бесплатное, регистрация не требуется.

>>> Подробности

 , ,

ymn
()

taporwave 0.0.3

Группа Мультимедиа

taporwave — это бесплатный генератор случайного изменения скорости воспроизведения, написанный на языке Haskell.

Благодаря постоянному изменению скорости достигается эффект низкокачественного кассетного магнитофона с нестабильным лентопротягом; характерной чертой этого эффекта является «завывание» среднечастотного легато, в особенности партий синтезаторов.

В настоящий момент поддерживается только плеер MPV. Запускать его следует с ключами --input-file=/dev/stdin и --audio-pitch-correction=no. Команды изменения скорости подаются на вход плеера через пайп. Сам taporwave можно запускать с опциональными ключами --minBound и --maxBound, задающими соответственно нижний и верхний предел коэффициента умножения частоты. По умолчанию скорость изменяется в диапазоне от 0.8 до 1.2.

Полный пример использования:

/data/progs/haskell/taporwave/taporwave --minBound 0.9 --maxBound 1.1|mpv --no-video --input-file=/dev/stdin --audio-pitch-correction=no /downloads/sound/misc/Tracker\ music\ playlist\ from\ ~1999-gHQYYh7J1O4.webm

Пример получаемого звучания: оригинальная композиция, она же в обработке taporwave.

Доступна сборка для GNU/Linux-cистем с архитектурой процессора x86_64 (md5: d25f5cfe3790417a3debd5ff6ba46dbd). Пользователи других систем могут собрать программу самостоятельно.

Лицензия: WTFPL.

>>> Репозиторий

 , , , ,

bodqhrohro_promo
()

GHC 8.2.1

Группа Open Source

Вышла новая версия компилятора Glasgow Haskell Compiler.

( Список изменений )

>>> Скачать

>>> Release Notes

 ,

hateyoufeel
()

Начата публикация исходных кодов серверной части Wire

Группа Open Source

На GitHub начата публикация исходных кодов серверной части сервиса обмена мгновенными сообщениями Wire. Пока опубликован код, отвечающий за обмен сообщениями и интеграцию с nginx. В дальнейшем будут открыты исходники системы push-нотификаций для устройств на iOS и Android, поиска пользователей и управления устройствами.

Большая часть кода написана на языке программирования Haskell, небольшие фрагменты — на Rust и C. Код опубликован под лицензией AGPL 3.0.

Исходный код

>>> Подробности

 , , ,

hateyoufeel
()

Очередная встреча сообщества RuHaskell

Группа Конференции и встречи

6 апреля сообщество RuHaskell и «Лаборатория Касперского» вновь приглашают всех заинтересованных на встречу, чтобы обсудить Haskell и другие языки в функциональной парадигме, поделиться опытом их применения в решении прикладных задач.

  • Дмитрий Зуйков в докладе «Haskell вместо СУБД» поделится опытом отказа от реляционной СУБД в веб-проекте в пользу in-memory структуры данных и CAS (Content-addressable storage).
  • Катерина Галкина в докладе «Интеграция с API внешних сервисов» расскажет о взаимодействии с чужими HTTP API с помощью servant, aeson и swagger2.
  • Алексей Пирогов расскажет о построении Web GUI с использованием GHCJS и библиотеки react-flux.
  • Антон Холомьёв выступит с докладом «Если нельзя писать на Haskell, но очень хочется», в котором поделится опытом использования Haskell для построения графических интерфейсов и UI.

Встреча пройдет 6 апреля 2017 года с 19:00 до 22:00 в штаб-квартире «Лаборатории Касперского», Москва, Ленинградское шоссе, 39Ас2.

Мероприятие бесплатное. Необходима предварительная регистрация.

>>> Подробности

 ,

ymn
()

Corrode, проект транслятора из C в Rust, получил финансирование Mozilla

Группа Open Source

Джеймс Шарп (James Sharp), отметившийся ранее в проекте X.org, в начале мая 2016 начал разработку проекта Corrode, целью которого является трансляция программ, написанных на C, в исходный код на Rust. Corrode написан на Haskell и распространяется под GNU GPLv2.

( читать дальше... )

>>> Подробности

 , corrode, , ,

shahid
()

Московская встреча сообщества RuHaskell

Группа Конференции и встречи

18 августа сообщество RuHaskell и «Лаборатории Касперского» приглашают всех заинтересованных, чтобы обсудить Haskell и другие языки в функциональной парадигме, поделиться опытом их применения в решении прикладных задач бизнеса, позадавать вопросы и пообщаться.

Список докладов:

  • Павел Филонов, разработчик-исследователь, Лаборатория Касперского — «Концепты C++ и классы типов Haskell».
    В ходе изучения различных технических идей очень помогает использование аналогий и задействований из близких областей знаний. Именно в таком контексте предлагается рассмотреть два инструмента из разных языков программирования. Какие проблемы они решают. Что в них похоже, и в чём отличие. Слушатели, знакомые с концептами C++, смогут лучше понять классы типов из Haskell и наоборот. Если эти два инструмента кажутся непонятными, то у вас есть уникальная возможность составить своё впечатление с чистого листа об обоих.
  • Юрий Сыровецкий, разработчик, Лаборатория Касперского — «Ivory — производительный код на Haskell».
    Обсудим проблемы написания программ с гарантиями производительности и потребления памяти, а также особенности разработки на C и Haskell с использованием language-c и Ivory.
  • Алексей Пирогов, разработчик, Lendmix — «Elm как идея и способ писать Web UI (почти) без боли».
    Этот доклад призван как дать общее представление о языке Elm, так и познакомить с некоторыми идеями, на взгляд докладчика, способными послужить примером того, как можно и нужно строить экосистему языка и сообщество вокруг неё.
  • Николай Кудасов, технический директор, GetShopTV — «Простые MMO игры на Haskell».
    В этом докладе мы с нуля реализуем многопользовательскую онлайн игру и познакомимся с организацией проекта при помощи Stack и Cabal, библиотеками gloss, servant, binary, stm. Если останется время, мы обсудим GHCJS и перенесём интерфейс игры на страницу браузера при помощи библиотеки reflex-gloss.

Мероприятие бесплатное, необходима предварительная регистрация.

>>> Подробности

 ,

ymn
()

GHC 8.0.1

Группа Open Source

Спустя 6 лет с момента релиза 7.0 выпущена новая версия компилятора языка Haskell — GHC 8.0.1.

Главные изменения:

  • Новое расширение DuplicateRecordFields, позволяющее использовать в различных типах поля с одинаковыми именами.
  • Поддержка превращения do-нотации в код, использующий класс Applicative вместо Monad.
  • Расширения Strict и StrictData, отключающие ленивое вычисление кода и данных соответственно в пределах модуля.
  • Поддержка инъективных (injective) семейств типов и рекурсивных суперклассов.
  • Улучшена генерация стектрейсов.
  • Новый генератор кода для платформы PPC64. Поддержка операционной системы AIX.
  • Улучшена поддержка платформы ARM.
  • Поддержка LLVM 3.7.
  • Новый аллокатор памяти для 64-битных платформ.
  • Добавлена поддержка пользовательских ошибок при проверке типов.
  • Windows XP более не поддерживается.

>>> Полный список изменений

>>> Подробности

 ,

hateyoufeel
()

Darcs 2.10.2

Группа Open Source

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

В новой версии основная масса изменений посвящена исправлению ошибок и улучшениям в коде, среди которых:

  • Оптимизация потребления памяти командой patch apply.
  • При работе в Windows больше не используется mmap.
  • Обновлены подсказки.
  • Исправлены недочёты в пакете тестов.
  • Исправлен баг в команде darcs test.
  • Вновь возможна сборка на платформе PowerPC.

Darcs написан на языке программирования Haskell и распространяется под лицензией GPL.

Страница проекта

>>> Анонс релиза

 , ,

hateyoufeel
()

Вышел Glasgow Haskell Compiler 7.10.1

Группа Open Source

27 Марта 2015 года вышла новая версия компилятора и интерпретатора функционального языка программирования Haskell.

Из интересного:

  • Новое расширение StaticPointers для распределенных вычислений: обзор
  • Поддержка плагинов в модуль проверки типов
  • GHC начал понимать опцию -g, которая добавляет отладочную DWARF секцию для отладчиков (например, gdb) и профилировщиков (например, perf)
  • Встроенная библиотека работы с числами Integer использует более эффективный распределитель памяти.
  • Улучшена поддержка динамических библиотек на архитуетурах PowerPC, SPARC, Itanium
  • Исправлено непомерное потребление памяти при компиляции типов с большим числом конструкторов в режиме -O2 (SpecConstr bug)
  • И многое другое

Изменения, влияющие на обратную совместимость:

>>> Все изменения

 ,

sf
()

Доступны первые выпуски второго сезона подкаста EaxCast

Группа Интернет

Кампания на BoomStarter по сбору средств на запись второго сезона EaxCast завершилась успешно. Соответственно, теперь ведутся работы над новым сезоном. В настоящее время для прослушивания доступны первые три выпуска:

  • S02E01, интервью с Александром Юрченко о работе в Яндексе, проекте OpenBSD и машинном обучении.
  • S02E02, интервью с Романом Душкиным об управлении проектами, функциональном программировании, квантовых вычислениях и краудфандинге.
  • S02E03, интервью с Владимиром Шабановым о BazQux, стартапах, геймдеве, а также Haskell и Riak.

Особый акцент в подкасте делается на «не мейнстримовых» технологиях. Впрочем, тематика подкаста не ограничивается исключительно этими вопросами. Новые выпуски публикуются раз в две недели и имеют продолжительность 40-45 минут. Всего в рамках второго сезона планируется записать 24 выпуска. Каждый выпуск сопровождается полной текстовой расшифровкой.

>>> Подробности

 , , , ,

CruZ
()

Facebook представил проект Haxl

Группа Open Source

Haxl — библиотека на языке Haskell, которая упрощает доступ к ресурсам, таким как базы данных или web-сервисы. Haxl может обрабатывать в пакетном режиме запросы к одному источнику данных, конкуррентно обрабатывать запросы к многим источникам данных и кешировать предыдущие запросы.

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

>>> Подробности

 , ,

nikitos
()

Мастер-класс по Haskell в Новосибирске

Группа Конференции и встречи

14 июня в СКБ «Робототехника и ИИ» НГТУ пройдёт X SUP-ботник. Александр Гранин обещает научить всех программировать на Haskell.

С собой желательно иметь ноутбук. Будет много живого кодинга.

>>> Подробности

 , ,

lugnsk
()