Ответ 1
Установка нескольких версий одного и того же пакета отлично работает прямо сейчас (попробуйте cabal install ansi-terminal-0.5.4 && cabal install ansi-terminal-0.5.5
), но установка нескольких экземпляров одной и той же версии пакета не выполняется. Это то, что мы очень хотели бы поддержать, так как это позволило бы нам внедрить герметичные сборки и решить проблему "аддитивного ада" но это не совсем тривиально. В этом году был проект GSoC, чтобы добавить поддержку нескольких экземпляров в ghc-pkg и Cabal, но патчи еще не находятся в магистрали. Здесь видео HIW 2012 рассказывает о результатах проекта и здесь описание внутреннего дизайна.
Что касается других ваших вопросов, то фактически использовалась команда cabal upgrade
для установки последних версий всех установленных в настоящий момент пакетов, но она была удалена, так как она могла нарушить вашу установку (опять же, имея поддержку нескольких экземпляров такая же версия пакета исправит это). В настоящее время поддержка удаления включена в список пожеланий, просто, что никто еще не успел ее реализовать. Я предполагаю, что то же самое касается пакетов с цифровой подписью и HTTPS.
Кроме того, если вам интересно увидеть некоторые из реализованных функций, патчи к Cabal всегда приветствуются и с переходом на GitHub стало легче, чем когда-либо, вносить код (внесение наличных денег также хорошо, если вы можете себе это позволить - я думаю, Well-Typed будет очень рад поговорить с вами об этом).
Обновление (сентябрь 2016 г.): для обновления текущего состояния дел см. этот пост от Edward Z. Yang: cabal new-build
- это менеджер пакетов.