Для обучения Haskell начинающим пользователям с использованием последней версии GHC типы некоторых функций могут сбивать с толку из-за Foldable-Traversable-in-Prelude (FTP). Например, основные функции в списках, такие как length
, sum
и product
, имеют типы, которые включают ограничение Foldable
foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
. Аналогично для некоторых вводных функций более высокого порядка, например. foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
.Создание почтового FTP-сервера GHC pre-FTP
Что такое легкий способ временного включения режима pre-FTP? Тогда новички могут по-прежнему пользоваться всеми преимуществами недавнего GHC и не должны прибегать к попытке установить более старые версии или использовать Hugs (например, как предложено для версии edP версии FP101x 2015).
Почему бы просто не использовать GHC 7.8? Использование объятий я бы не рекомендовал – jberryman
Я согласен с тем, что не рекомендую Hugs. Но, поскольку использование GHC 7.10 и более поздних версий также имеет довольно простые обходные пути, я бы не рекомендовал GHC 7.8. – algotrific
Думаю, я должен был спросить: что заставляет вас хотеть 7.10 для обучения? Они оба отличные компиляторы, поддерживаемые stackage lts, одинаково просты в установке и т. Д. На самом деле, нет проблем с последними 7.10 на macs? – jberryman