Я хотел бы создать метод, в котором я мог бы дать ему список длин, и он бы возвращал все комбинации декартовых координат вплоть до этих длин. Проще объяснить на примере:
cart [2,5]
Prelude> [ [0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[1,1],[1,2],[1,3],[1,4] ]
cart [2,2,2]
Prelude> [ [0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1] ]
Простое понимание списков не сработает, потому что я не знаю, как долго эти списки будут. В то время как я люблю простоту Хаскелла для многих проблем, это та, которую я мог бы написать процедурно (на С или около того) за 5 минут, тогда как Хаскелл дает мне аневризму!
Решение этой конкретной проблемы мне очень поможет; Я также хотел бы услышать о ваших мыслительных процессах, когда занимаюсь такими вещами.