Почему бы вам просто не попробовать и посмотреть?
Дизайн Haskell заимствован из математических идей в таких областях, как теория категорий (монады, стрелки, преобразователи), но большинство программистов на Haskell все равно понимают, что это такое в отношении программирования: -)
Вам не нужна какая-то особо продвинутая математика для изучения Хаскелла, кроме таких вещей, как способность думать о функции в математическом смысле (например, «карта f: X -> Y», а не как «подпрограмма») который выполняет некоторые действия), способность думать о функциях более высокого порядка (например, сказать, что «compose fg» - это функция, которая на входе x имеет значение f (g (x)) ») и так далее. Обозначения на Haskell действительно чистые, так что это тоже не должно быть проблемой.