LINUX.ORG.RU

The Haskell Platform 2011.2

 , , ,


0

1

Вышла новая версия комплекта для разработки на популярном функциональном языке Haskell — «The Haskell Platform 2011.2». Данная сборка содержит всё необходимое не только для освоения, но и успешной разработки на данном языке.

В комплект включены такие важные компоненты, как:

  • GHC 7.0.2 — оптимизирующий компилятор языка Haskell, поддерживающий REPL и содержащий интерактивный отладчик;
  • Haddock — генератор документации из аннотированного исходного кода (аналог doxygen);
  • Cabal — пакетный менеджер, позволяющий «одной командой» устанавливать различные программы и библиотеки с Hackage;
  • Happy, Alex, Parsec — для упрощения написания лексических анализаторов и парсеров;
  • библиотеки для работы с OpenGL/GLU/GLUT;
  • а также многое другое.

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



Проверено: mono ()
Последнее исправление: Dendy (всего исправлений: 3)
Ответ на: комментарий от ky-san

чушь. Есть дистрибутивный хаскел, который ставится дистрибутивными средствами, есть свой хомяк с любыми версиями любых компонент хаскела, которы попросишь. И есть cabal2spec, позволяющий одним тычком перекинуть самосбор в дистрибутивный пакет.

AVL2 ★★★★★
()
Ответ на: комментарий от ky-san

>Microsoft Research это не Microsoft.

Не прямо, но опосредованно все равно ушки лезут. Отсюда все беды хаскела.

AVL2 ★★★★★
()
Ответ на: комментарий от ky-san

> Microsoft Research это не Microsoft.

Ага, а Microsoft Research Cambridge это не Microsoft Research.

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

> А кабал напрямую работает с репами хаскеля, позволяет собирать и ставить проги с зависимостями пользователю, отслеживать версии либ, с которыми работает прога и все такое.

Да, я вкурсе. При локальном обновлении появятся дубликаты (с другими версиями) установленных компонент. На мой взгляд, плодить такой зоопарк версий ни к чему. Проще либо играться в $HOME с Cabal, либо всё-таки пользоваться тем, что есть в дистрибутиве.

ky-san
() автор топика
Ответ на: комментарий от AVL2

> Все, к чему прикасаются в мекрософт, в итоге отравлено. Хаскел не стал исключением.

Стопудово. Меня стало от жабы тошнить. Все признаки отравления Хаскеллем.

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

> И есть cabal2spec, позволяющий одним тычком перекинуть самосбор в дистрибутивный пакет.

Да, если дистрибутив федора & компания. Поправь, если я не прав.

ky-san
() автор топика
Ответ на: комментарий от ky-san

для дебиана тоже были helpers, для arch тоже...

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

> > > Cabal — пакетный менеджер, позволяющий «одной командой» устанавливать различные программы и библиотеки с Hackage;

> А в Haskell Platform 2021.2 будет киллер-фича: cabal сможет _удалять_ ранее установленные программы и библиотеки.

Вообще говоря, для таких вещей есть пакетные менеджеры ОС. cabal — это в первую очередь система сборки, а не пакетный менеджер.

Вообще говоря, cabal это комбайн: сборщик пакетов, установщик оных, связь с репозиторием hackage. Причем фича «удаление уже установленного» на сайте cabal визит уже давно как нечто, что недурственно было бы сделать, но руки ни у кого не доходят.

rtvd ★★★★★
()
Ответ на: комментарий от ky-san

> Microsoft Research это не Microsoft.

Спасибо, кеп, что напомнил всем нам, что Microsoft Research это просто часть Microsoft. И че?

rtvd ★★★★★
()
Ответ на: комментарий от ky-san

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

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

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

> >Microsoft Research это не Microsoft.

Не прямо, но опосредованно все равно ушки лезут. Отсюда все беды хаскела.

Ну и какие же беды у хаскеля из-за Microsoft? То, что он развивается а не лежит на помойке?

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

Все, к чему прикасаются в мекрософт, в итоге отравлено. Хаскел не стал исключением.

Пока оно:

  • Под свободной лицензией
  • Работает под свободными ОС
  • Компилируется прямо в машинный код
  • Разрабатывается учёными, которым платят зарплату, но не заставляют делать то что скажет маркетолог

пускай его финансирует хоть майкрософт, хоть ibm, хоть гугл, хоть газпром.

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

>«собрал» - это про компиляцию?

собрал == сделал

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

> Вообще говоря, cabal это комбайн: сборщик пакетов, установщик оных, связь с репозиторием hackage.

Да, именно поэтому фраза звучала так:

cabal — это в первую очередь система сборки, а не пакетный менеджер.

sanuda
()
Ответ на: комментарий от ky-san

> Зануда. Не путай оформление с содержанием.

Да, согласен. Но это не отменяет того, что лучше называть cabal системой сборки, а не менеджером.

sanuda
()
Ответ на: комментарий от ky-san

Ну не тянет он на полноценный менеджер пакетов. И позиционируется он, как система сборки и пакетирования. А не как менеджер пакетов.

sanuda
()
Ответ на: комментарий от sanuda
$ cabal --help | grep package
  install      Installs a list of packages.
  update       Updates list of known packages
  list         List packages matching a search string.
  info         Display detailed information about a particular package.
  upgrade      Upgrades installed packages to the latest available version
  fetch        Downloads packages for later installation.
  unpack       Unpacks packages for user inspection.
  check        Check the package for common mistakes
  upload       Uploads source packages to Hackage
  configure    Prepare to build the package.
  build        Make this package ready for installation.
  register     Register this package with the compiler.
To install Cabal packages from hackage use:
Occasionally you need to update the list of available packages:

Это похоже на программу, управлюящую packages. По-русски - мэнеджер пакетов.

ky-san
() автор топика
Ответ на: комментарий от ky-san

Ты меня решил удивить выводом cabal --help или что?

Ну не тянет он на полноценный менеджер пакетов. И позиционируется он, как система сборки и пакетирования. А не как менеджер пакетов.

С каким из этих утверждений ты споришь? Я не понимаю тебя.

sanuda
()
Ответ на: комментарий от ky-san

Мой вопрос про ruby gems мне повторить?

Пойми простую вещь: ВСЕ годные (и даже не очень) хаскеляцкие либы есть в hackage, но ой как далеко не все они есть в репах любого дистра, зачем плодить этот зоопарк?

cabal - это универсальная и по-настоящему кросс- и мультиплатформенная система распространения пакетов, вот в чем ее заслуга и нужность.

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

> Мой вопрос про ruby gems мне повторить?

Я им не пользуюсь и комментировать не собираюсь.

Пойми простую вещь: ВСЕ годные (и даже не очень) хаскеляцкие либы есть в hackage, но ой как далеко не все они есть в репах любого дистра, зачем плодить этот зоопарк?

Что я должен понять? Ты предлагаешь выкинуть из дистрибутивов все пакеты для разработки на хаскеле для нераспространения зоопарка и играться локально в $HOME? Отличный вариант, я не спорю, держать зоопарк разных пакетов для разных пакетных систем - не очень хорошая идея. Про это я уже писал.

cabal - это универсальная и по-настоящему кросс- и мультиплатформенная система распространения пакетов, вот в чем ее заслуга и нужность.

То же самое можно сказать про portage в gentoo или pkgsrc. Хорошие вещи

ky-san
() автор топика
Ответ на: комментарий от sanuda

Основная задача подобных систем - это не удаление, а проверка целостности, зависимостей, версий, установка зависимостей и обновление.

http://en.wikipedia.org/wiki/Package_management_system#Functions

Кот без половины хвоста - всё равно остаётся котом.

ky-san
() автор топика
Ответ на: комментарий от ky-san

Ты это утверждаешь, основываясь на тексте по ссылке из википедии? Ну, ОК. Давай тогда посмотрим подробнее:

Typical functions of a package management system include:

1. Verifying file checksums to ensure correct and complete packages.

2. Verifying digital signatures to authenticate the origin of packages.

3. Applying file archivers to manage encapsulated files.

4. Upgrading software with latest versions, typically from a software repository.

5. Grouping of packages by function to help eliminate user confusion.

6. Managing dependencies to ensure a package is installed with all packages it requires.

Делает ли cabal пункты 1, 2 и 5? Я вот смотрю в cabal, который в debian squeeze и четко вижу, что пункты 1 и 2 он не делает. Заодно давай поглядим на пункт 5. Делаю cabal upgrade:

cabal: the 'upgrade' command (when used without any package arguments) has been disabled in this release. It has been disabled because it has frequently led people to accidentally break their set of installed packages. It will be re-enabled when it is safer to use.

Итог: 3 пункта из 6 отсутствуют.

sanuda
()
Ответ на: комментарий от ky-san

Кстати, я в корне не согласен с этими пунктами. ИМХО, это совершенно бредовое описание пакетного менеджера. Целью предыдущего поста было показать, что даже этому бредовому описанию, на которое ты ссылаешься, cabal не удовлетворяет.

sanuda
()
Ответ на: комментарий от ky-san

Вот самое первое предложение из той статьи на википедии мне гораздо больше нравится.

In software, a package management system (PMS) is a collection of software tools to automate the process of installing, upgrading, configuring, and removing software packages for a computer's operating system in a consistent manner.

Кратко, сухо и по делу.

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

> ну вот, снова нет повода не

Есть. Здоровьем зовется.

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

> Я им не пользуюсь и комментировать не собираюсь.

Не пользуюсь, но осуждаю? Ну-ну... я к тому, что это нормальная практика и применяется не только в хаскеле.

То же самое можно сказать про portage в gentoo или pkgsrc. Хорошие вещи

portage в gentoo

по-настоящему кросс- и мультиплатформенная

по-настоящему

Взаимоисключающие параграфы детектед.

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

> > Я им не пользуюсь и комментировать не собираюсь.

Не пользуюсь, но осуждаю?

Протри свои ясные очи и перечитай. Комментариев не будет. Не ясно? Ещё раз - я не собираюсь осуждать/поощрять/как-либо коментировать. Хватит приписывать мне то, что я не писал.

Взаимоисключающие параграфы детектед.

1) Освой цитирование и уровни вложенности. Сейчас ты только что приписал мне то, что я не писал

2) Ты, видимо, не понимаешь, о чём пишешь. Вот тебе пример сборки & установки пакета xfsprogs для системы: emerge xfsprogs А вот то же самое, но с кросс-компиляцией: emerge-emerge-mipsel-unknown-linux-gnu xfsprogs

Всё будет собранно из исходников, включая зависимости. Видишь консистентность и кросс-компиляцию?

ky-san
() автор топика
Ответ на: комментарий от ott

> ключевое слово SHIME ;-)

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

Пока же это из раздела «хорошее начинание».

Или я неправ? :-)

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

> Почему у популярных/попсовых языков есть комьюнити в любой стране

Очевидно из-за популярности и попсовости.

Зачем тогда , ЛОР и зачем поститься на нем с новостью, если все кто пишут на Haskell знают, или могут посмотреть на англоязычных ресурсах.

Для вербовки новых душ и увеличения популярности в массах.

ky-san
() автор топика
Ответ на: комментарий от ky-san

> Для вербовки новых душ и увеличения популярности в массах.

Ну так и есть - сектанты

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

> emerge/portage ничего не знает про хаскел гараж. Он будет обновлять только то, что соизволят обернуть в ебилды.

кстати, ждём ебилдов

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.