Лично я нашел Haskell.Atom совершенно не хватает.Это не функциональное программирование, это EDSL на функциональном языке.Вы ограничены конструкциями этого EDSL.Никаких функций высшего порядка, списков и прочего, которые делают функциональное программирование таким лаконичным и приятным.Это может быть весело для исключительно небольших проектов (например, мигание светодиода), но мне кажется, что код you записи (не только сгенерированный C-код) будет расти в геометрической прогрессии по сравнению с функциональностью, которую он обеспечивает.
Если вы хотите пойти по функциональному пути, я предлагаю вам прочитать эту статью Малкольма Уоллеса.Он немного устарел, но, по крайней мере, довольно подробно описывает, как выполнять низкоуровневый ввод-вывод, обработку IRQ и т. Д. На чистом функциональном языке ( Gofer , диалект Haskell).
Обновление: Существует также совершенно новый исследовательский проект , целью которого является создание функционального языка системного программирования на основе Haskell, Habit.К сожалению, кажется, что он существует в основном в теории.