Цитата отсюда: http://www.haskell.org/haskellwiki/Global_variables
Если у вас глобальная среда, какие функции читают (и вы можете, например, инициализировать из файла конфигурации) тогда вы должен передать это как параметр для ваши функции (после очень скорее всего, настройте его в своем "основном" действие). Если явный параметр прохождение вас раздражает, тогда вы можете «спрячьте» это с помощью монады.
Сейчас я пишу что-то, что требует доступа к параметрам конфигурации, и мне интересно, может ли кто-нибудь указать мне на учебник или любой другой ресурс, который описывает, как монады могут использоваться для этой цели. Извините, если вопрос дурацкий, я только начинаю грок монад. Читаю руководство Майка Вейнера по ним.