Я просто изучаю Haskell и пытаюсь выяснить самый идиоматический способ реализации алгоритма поиска.Лучше ли использовать государственную монаду или передать состояние рекурсивно?
Демо-код, который я нашел, использует государственную монаду, но мне кажется, что мне проще (я всего лишь новичок), чтобы передать состояние рекурсивно. Что мне здесь не хватает? Существуют ли проблемы с производительностью?
Найти код по адресу: http://www.finalcog.com/bresenham-algorithm-idiomatic-haskell
Спасибо,
Криса.
Ну рекурсия может быть медленнее и привести к росту вашего стека. –
@Tnay Recursion также может быть быстрее и работать в постоянном пространстве стека. – Amok
Стоит отметить, что монада штата и ST («Государственная нить», используемая вашей статьей) монады не совпадают. – jrockway