Nano Hash - криптовалюты, майнинг, программирование

Что такое хаскелнг? В чем разница между «haskellPackages» и «haskellngPackages»?

Я читал этот пост StackOverflow в который нам рекомендуется использовать с набором пакетов haskellng.

Я также прочитал это, но я не понимаю, что такое haskellng.

Я тоже прочитал это, но я до сих пор не знаю, что такое haskellng.

Может ли кто-нибудь объяснить, что такое haskellng, простым и понятным способом?

Почему haskellng имеет значение? Почему это хорошо?

Я так понимаю, что haskellng что-то заменяет. Но что это за то, что он заменяет? Почему это что-то нужно заменить?

В этом посте написано:

То есть мне никогда не придется обновляться, если я не захочу?

Я предполагаю, что «haskellPackages» и «haskellngPackages» какое-то время будут сосуществовать. Однако лично я перешел на Haskell NG и больше не буду поддерживать какие-либо пакеты в старой иерархии. Я полагаю, что другие участники сделают то же самое. После того, как вы преобразовали свою установку в «haskellngPackages», на самом деле нет причин оглядываться назад.

В чем разница между haskellPackages и haskellngPackages?

Что такое «haskellPackages»? Откуда это взялось ? Для чего его используют ?

Также в тот же пост они пишут:

Почему меня должна волновать эта «новая инфраструктура»?

Новый код нарушит оценку любой конфигурации, связанной с Haskell, которая может быть в ~/.nixpkgs/config.nix или /etc/nixos/configuration.nix.

Приватно сгенерированные выражения cabal2nix перестанут компилироваться.

Установки, которые полагаются на то, что ghc-wrapper автоматически находит библиотеки GHC в вашем ~/.nix-профиле, устарели. Если вы воспользуетесь этим подходом, вы больше не сможете обновлять свой профиль.

Что такое новый код? Какой был старый код? Почему новый код что ломает?


Ответы:


1

Может ли кто-нибудь объяснить, что такое haskellng простым и понятным способом?

Что ж, haskellng — это набор пакетов Nix Haskell следующего поколения, созданный для Nix. Я думаю, что большую часть работы проделал Питер Саймонс. Но обратите внимание, что в последней основной версии haskellngPackages было переименовано обратно в haskellPackages. Так что разница не имеет значения, если вы используете жизнь в нестабильном канале.

Почему haskellng имеет значение? Почему это хорошо?

С haskellng, я думаю, все автоматизировано. Кто-то загружает пакет в hackage, и примерно через неделю этот производный пакет автоматически включается в набор пакетов nix haskell (undex nixpkgs) каким-то процессом (думаю, он использует cabal2nix).

В чем разница между haskellPackages и haskellngPackages?

В последней основной ветке между ними нет разницы, как объяснялось выше.

Что такое «haskellPackages»? Откуда это взялось ? Для чего его используют ?

Это была более ранняя инфраструктура для nix-пакетов Haskell. Он использовался для создания и сборки пакетов Haskell.

Какой новый код? Какой был старый код? Почему новый код ломает что?

Новый код haskellngPackages. Старый код был haskellPackages. Но теперь это не имеет значения, так как haskellng был переименован обратно в старое имя, а старый код, я думаю, удален.

20.06.2015
  • Большое спасибо Сиби! Что вы знаете о последней основной ветке? Где это находится ? Вы имеете в виду git clone git://github.com/nixos/nixpkgs? Имеет ли значение, какой канал nix я использую? 20.06.2015
  • Да, это он. Да, важно, что channel вы используете. 20.06.2015
  • Нужно ли использовать нестабильный канал? 20.06.2015
  • @jhegedus Если вы хотите жить на последних пакетах. 20.06.2015
  • примерно через неделю — может быть, всего за несколько минут или часов, если вы используете последнюю версию (например, HEAD) всего? 23.12.2015
  • @ErikAllik Сейчас это занимает несколько часов? Тогда не стесняйтесь редактировать ответ. 23.12.2015
  • Я спрашивал — я еще не пробовал использовать Hackage через Nix, но подумал, что это достаточно важный аспект, чтобы спросить здесь. 23.12.2015
  • @ErikAllik Думаю, нет. Но вы можете спросить в nix IRC, чтобы быть уверенным. (Мне тоже было бы интересно это узнать!). Но обратите внимание, что любой новый пакет Haskell, которого еще нет в nixpkgs (или даже в Hackage!), можно легко опробовать с помощью инструмента cabal2nix. В инструкции есть более подробная информация по этому поводу. 23.12.2015

  • 2

    Я спросил об этом на канале #nix:

    я: Кто-нибудь может объяснить, что такое haskellng? Что такое haskellng? В чем разница между haskellPackages и haskellngPackages?

    Fuuzetsu: это уже не имеет значения, это новая архитектура по умолчанию, а старой не существует

    Fuuzetsu: какое-то время у нас было две архитектуры Haskell, а -ng была новой.

    20.06.2015
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

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

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..