Насколько безопасно обновлять базу?

На ubuntu у меня в настоящее время установлена ​​haskell-платформа 2011.2.0.1.2, и я я в настоящее время работаю над некоторым кодом, где было бы очень приятно иметь Control.Concurrent.Chan - это экземпляр Eq. К сожалению, в base-4.3.1.0, который я установил, это не так, но в base-4.4.0.0 Chan является экземпляром Eq.

Можно ли обновить базу, возможно, с помощью песочницы с помощью cabal-dev или любого другой метод, чтобы не сломать слишком много пакетов?

Ответ 1

Нет, вы никогда не должны обновлять base. Это один из загрузочных пакетов - пакеты, которые сам GHC должен построить, а также поставлять с ними и обновлять их, приведут к очень плохим вещам. (Здесь полный список загрузочных пакетов; все с - в столбце tag - это одно. Не обновляйте их!)

Действительно, функция cabal-install cabal upgrade была удалена именно потому, что у нее была противная тенденция обновлять загрузочные пакеты.

Он не только загрузочный пакет, но и является такой основной функциональностью, он в значительной степени привязан к конкретной версии GHC. Ваш лучший вариант - установить соответствующую новую версию GHC в локальном каталоге.