четверг, 4 августа 2011 г.

Haskell библиотеки, которые мы должны использовать

Однажды просматривая reddit, я наткнулся на неплохую статью с кратким обзором Haskell-библиотек для практических нужд.
Оригинал статьи на английском, с ним можно ознакомиться тут. А у кого плохо с английским, мой авторский перевод в этой статье.

Hackage не может рассказать нам, какая библиотека хорошая, а какая нет. Часто мы можем встретить две и более библиотек, которые выполняют одну задачу, но c немного разным подходом. И часто нам приходится тратить время на то, чтобы попробовать обе библиотеки.

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

Список, составленный Johan Tibell - это список хорошо документированных и хорошо спроектированных Haskell-библиотек, которые не раз применялись в реальных проектах.

Собственно сам список:

bytestring: Пакет bytestring определяет различные виды ByteString. Используется для представления данных в бинарном формате, для дальнейшей записи в файл, либо передачи по сети.

text: Определяет тип Text. Используется для работы с текстом в Unicode. Библиотека text учитывает различные особенности языков, что, например, помогает корректно преобразовывать заглавные буквы в маленькие и наоборот в различных языках. Также библиотека содержит функции, для получения Text из ByteString и наоборот.

vector: Определяет типы для работы c иммутабельными и мутабельными векторами. Используйте эту библиотеку там, где нужна скорость и где вы бы использовали массивы, если бы пользовались другим языком программирования. 

aeson: Пакет aeson предоставляет возможность работать с JSON форматом удобно и эффективно в плане производительности.

binary: Сериализация и десериализация бинарных данных. Удобно для разбора заранее известных бинарных форматов. Также существует альтернатива - пакет cereal.

attoparsec: Библиотека для комбинаторного парсинга форматов, содержащих как бинарные, так и текстовые данные.

В данном списке содержатся наиболее стабильные библиотеки, которые обновляются и расширяют функционал. Но как было сказано ранее - время идет. И возможно уже есть лучшие альтернативы.

Комментариев нет:

Отправить комментарий