Haskell: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
[[category:haskell]]
[[category:haskell]]
{{Шаблон:ОбновляемаяСтатья}}
{{Шаблон:ОбновляемаяСтатья}}
Небольшие заметки по <code>Haskell/GHC</code> в Сизифе
Небольшие заметки по <code>Haskell/GHC</code> в Сизифе


Строка 14: Строка 13:
= Текущее состояние дел =
= Текущее состояние дел =


В Sisyphus собрана достаточно актуальная (на 2025 год) версия компилятора GHC - 9.6.6 и cabal-install 3.14.2.0
В Sisyphus собрана достаточно актуальная (на 2025 год) версия компилятора GHC - 9.6.7 и cabal-install 3.14.2.0


Это два определяющих инфраструктуру пакета, их сборка происходит в режиме бутстрапа (см. статью [[Haskell/GHC]])
Это два определяющих инфраструктуру пакета, их сборка происходит в режиме бутстрапа (см. статью [[Haskell/GHC]])
Строка 24: Строка 23:
В версии X.Y.Z число X.Y будем называть мажором, а Z - релизом.
В версии X.Y.Z число X.Y будем называть мажором, а Z - релизом.


В Сизифе может быть произвольное число мажорных релизов компилятора, причём установленных в системе параллельно (они в общем никак никому не мешают, только возможны периодические FTBFS на этапе создания документации. Потому что Python.).
В Сизифе может быть произвольное число мажорных релизов компилятора, причём установленных в системе параллельно (они в общем никак никому не мешают, только возможны периодические FTBFS на этапе создания документации. ).


Основной пакет с компилятором именуется следующим образом: <code>ghc{мажор}</code>, т.е. для <code>GHC</code> 9.6.6 пакет будет называться <code>ghc9.6</code> (так же и gear репозиторий)
Основной пакет с компилятором именуется следующим образом: <code>ghc{мажор}</code>, т.е. для <code>GHC</code> 9.6.6 пакет будет называться <code>ghc9.6</code> (так же и gear репозиторий)

Версия от 11:06, 9 июня 2025

50px-Gnome globe current event.png
Данная статья периодически обновляется.
Последнее обновление
11:06 09 июня 2025

Небольшие заметки по Haskell/GHC в Сизифе

Вводные термины

Haskell - чистый функциональный язык программирования общего назначения.

GHC - на данный момент основной и самый продвинутый компилятор Haskell.

cabal - менеджер пакетов для Haskell. Так же называется расширение файлов с метаинформацией о пакете. Непосредственно запускаемую программу cabal для большей ясности будем называть cabal-install (по имени пакета)

Текущее состояние дел

В Sisyphus собрана достаточно актуальная (на 2025 год) версия компилятора GHC - 9.6.7 и cabal-install 3.14.2.0

Это два определяющих инфраструктуру пакета, их сборка происходит в режиме бутстрапа (см. статью Haskell/GHC)

Версионирование GHC

Политика наименования пакетов с GHC следующая:

В версии X.Y.Z число X.Y будем называть мажором, а Z - релизом.

В Сизифе может быть произвольное число мажорных релизов компилятора, причём установленных в системе параллельно (они в общем никак никому не мешают, только возможны периодические FTBFS на этапе создания документации. ).

Основной пакет с компилятором именуется следующим образом: ghc{мажор}, т.е. для GHC 9.6.6 пакет будет называться ghc9.6 (так же и gear репозиторий)

Сборка пакетов

Среди всех мажоров компилятора выделяется один - "стабильный". Он ставится при помощи метапакета ghc. Его же и следует (но не обязательно) использовать для сборки пакетов.

RPM макросы находятся в rpm-build-haskell (-vendored для статически слинкованных)

См. статьи Haskell/RPM и Haskell/Vendored

Наименование пакетов

Запускаемые программы, написанные на Haskell, должны называться просто по апстримному наименованию. Например alex или cabal-install.

Библиотеки называются следующим образом: ghc{мажор}-{название_библиотеки}, в случае сборки библиотеки со "стабильным" GHC библиотеку следует называть ghc-{название_библиотеки}

Основные репозитории

  • Текущие мажоры GHC:
  • Метапакет - ghc

Подробнее