Это проблема, которую я могу легко решить нефункциональным образом.
Но решение этого в Haskell дает мне большие проблемы. Разумеется, я неопытна, когда речь заходит о функциональном программировании.
Проблема:
У меня есть 2D-поле, разделенное на прямоугольники одинакового размера. Простая сетка. Некоторые прямоугольники являются пустым пространством (и могут быть пропущены), а другие непроходимы. Учитывая начальный прямоугольник A и прямоугольник назначения B, как бы вычислить кратчайший путь между ними? Движение возможно только по вертикали и по горизонтали, по шагам - один прямоугольник большой.
Как я могу сделать это в Haskell? Фрагменты кода, безусловно, приветствуются, но также, безусловно, не обязательно. И ссылки на дополнительные ресурсы также очень приветствуются!
Спасибо!