LINUX.ORG.RU

Haskell


175

8

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

Grease — утилита для поиска ошибок в бинарных файлах

 , , ,

Группа Open Source

Привет, ЛОР!

Компания Galois Inc. представила Grease – программу для статического анализа исполняемых файлов и поиска в них уязвимостей. Grease дизассемблирует исполняемый файл и строит модель его исполнения, после чего анализирует пограничные условия на предмет возможных ошибок. Использовать Grease можно как отдельно, так и плагином к системе обратного инжениринга Ghidra.

Grease поддерживает анализ исполняемых файлов ELF и динамических библиотек, содержащих код ARMv7l, PowerPC или x86_64, а также может анализировать bitcode LLVM.

Код написан на языке Haskell и распространяется под лицензией BSD-3.

>>> Репозитарий на Github

>>> Подробности (galoisinc.github.io)

hateyoufeel
()

Glasgow Haskell Compiler 9.12.1

 , ,

Glasgow Haskell Compiler 9.12.1
Группа Open Source

Привет, ЛОР!

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

Среди особенностей новой версии:

  • Расширение языка OrPatterns, позволяющее давать общий обработчик нескольким веткам сравнения по образцу.
  • Поддержка многострочных строковых литералов через специальный синтаксис: """строка""".
  • В бэкенд компилятора добавлены экспериментальная поддержка архитектуры RISC-V и поддержка SIMD инструкций для архитектуры x86 (ранее требовалось использование LLVM).
  • Удалена поддержка 32-битных версий ОС Windows, macOS и iOS. Поддержка 32-битных систем на базе Linux и BSD нетронута.
  • Улучшена работа сборщика мусора. В некоторых случаях скорость работы программ может увеличиться на 25%.
  • И множество других мелких фич, багфиксов и так далее.

>>> Скачать

>>> Подробности (haskell.org)

hateyoufeel
()

Вышел GHC 9.6.1

 , ,

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

Привет, ЛОР!

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

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

>>> Подробности (haskell.org)

hateyoufeel
()

Glasgow Haskell Compiler 9.4.1

 , ,

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

Привет, ЛОР!

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

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

>>> Release Notes (haskell.org)

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.

>>> Подробности (haskell.org)

hateyoufeel
()

GHC 8.10.1

 , ,

Группа Open Source

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

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

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

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

>>> Скачать

>>> Подробности (haskell.org)

hateyoufeel
()

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

 , ,

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

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

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

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

>>> Подробности (kent.ac.uk)

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.
  • Множество других изменений.

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

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

>>> Скачать (haskell.org)

hateyoufeel
()

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

 , , ,

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

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

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

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

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

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

Исходный код

>>> Подробности (github.com)

atsym
()

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

 , ,

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

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

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

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

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

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

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

>>> Подробности (compsciclub.ru)

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.

>>> Репозиторий (github.com)

bodqhrohro_promo
()

GHC 8.2.1

 ,

Группа Open Source

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

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

>>> Скачать

>>> Release Notes (haskell.org)

hateyoufeel
()

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

 , , ,

Группа Open Source

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

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

Исходный код

>>> Подробности (medium.com)

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.

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

>>> Подробности (kaspersky.com)

ymn
()

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

 , corrode, , ,

Группа Open Source

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

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

>>> Подробности (thesharps.us)

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.

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

>>> Подробности (timepad.ru)

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 более не поддерживается.

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

>>> Подробности (haskell.org)

hateyoufeel
()

Darcs 2.10.2

 , ,

Группа Open Source

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

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

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

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

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

>>> Анонс релиза (osuosl.org)

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)
  • И многое другое

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

>>> Все изменения (haskell.org)

sf
()

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

 , , , ,

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

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

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

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

>>> Подробности (eax.me)

CruZ
()