LINUX.ORG.RU

169
Всего сообщений: 409

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.

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

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

 , , , ,

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 ()

Haste - компилятор Haskell в JavaScript

Группа Open Source

Идёт разработка Haste (HASkell To Ecmascript) - компилятора из Haskell в JavaScript.

Перед проектом стоит цель создать практичный компилятор из Haskell в Javascript.

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

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

 , ,

vi0 ()

GHC 7.8.1

Группа Open Source

Спустя почти год с выпуска предыдущей версии, вышла новая версия GHC 7.8.1 — одного из самых мощных и развитых на сегодняшний день компиляторов функционального языка программирования Haskell, который разрабатывается свободной рабочей группой из многочисленных разработчиков, собранных по всему миру и координируемых из лаборатории университета Глазго.

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

  • добавлена поддержка OS X Mavericks и XCode 5. В связи с этим GHC использует Clang для препроцессорной обработки кода для билдов Mavericks;
  • добавлено новое предупреждение по умолчанию -fwarn-typed-holes, подробнее в Typed Holes;
  • возможность выполнять вычисления над натуральными числами на уровне типов при использовании расширения DataKinds;
  • добавлены Closed Type Families;
  • при использовании расширения GeneralizedNewtypeDeriving теперь проводится проверка ролей, подробнее в Roles;
  • добавлены Overloaded Lists;
  • добавлено расширение Pattern Synonyms;
  • переработаны механизмы вывода типов, увеличена скорость, уменьшено потребление памяти;
  • по умолчанию GHC проводит unboxing всех строгих полей «малых» типов для datatype'ов. «Малые» типы — это типы, размер которых меньше, либо равен машинному слову. Это означает что больше не нужно использовать прагму UNPACK для строгих полей с типом Int. Это также относится к типам с плавающей точкой;
  • новый менеджер IO, который значительно лучше масштабируется по сравнению с предыдущим;
  • LLVM-backend поддерживает 128-и и 256-битные SIMD операции;
  • полностью переписан кодогенератор;
  • улучшена поддержка кросскомпиляции;
  • PrimOps для сравнения unboxed значений теперь возвращает Int# вместо Bool;
  • новые PrimOps для атомарных операций;
  • Typeable теперь poly-kinded, типы Typeable1, Typeable2 и т.д. объявлены устаревшими и перемещены в Data.OldTypeable;
  • добавлена возможность параллельной компиляции;
  • добавлена поддержка новой прагмы {-# MINIMAL #-}, разрешающей явную декларацию минимального полного определения класса;
  • в версии 7.10 Applicative станет суперклассом Monad, что потенциально приведет к неработоспособности большого количества кода. Для облегчения миграции GHC теперь генерирует предупреждения о конфликтах Applicative-Monad Proposal (AMP);
  • добавлено расширение InterruptibleFFI extension, подробнее Interruptible foreign calls;
  • добавлен модуль Hooks в GHC API;
  • кодогенератор LLVM теперь поддерживает динамическую линковку;
  • добавлена поддержка Unicode left/right single quotation marks (i.e. U+2018 and U+2019) для сообщений компилятора, если текущая локаль поддерживает Юникод.

Страница загрузки

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

 ,

encyrtid ()

Встреча московской группы пользователей Haskell: MskHUG Fall 2013

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

30 октября в Москве состоится неформальная встреча Haskell-программистов для общения и обмена опытом.

На встрече будут представлены два доклада:

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

30 октября, в среду, с 18:30 ждем участников по адресу: Москва, ул. Льва Толстого 16, офис Яндекса, зал Экстрополис.

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

 ,

ymn ()

Вышла книжка по функциональному программированию на Haskell

Группа Документация

Григорий Макеев выложил в свободный доступ книгу «Основы функционального программирования на языке Haskell».
Скачать можно тут.

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

 ,

cab ()

Вышел тайлинговый менеджер xmonad 0.11

Группа Linux General

Спустя более года относительно активной разработки, команда разработчиков представила xmonad 0.11!

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

Возможности:

  • автоматическое управление окнами;
  • основное управление с помощью клавиатуры: мышь не нужна;
  • полная поддержка тайлинг окон на multi-head дисплеях;
  • полная поддержка плавающих окон, табов и декораций окон;
  • полная поддержка утилит Gnome и KDE;
  • поддержка XRandr для поворотов, добавления и удаления мониторов;
  • поддержка композитинга;
  • большая библиотека расширений;
  • отличная документация;
  • большая и активная команда разработчиков, поддержки и сообщество.

Наконец-то исправлена ошибка #177 (фокус в Java-приложениях).

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

 , ,

qnikst ()