Я хотел бы создать метод, в котором я мог бы дать ему список длин, и он вернул бы все комбинации декартовых координат до этих длин. Легче объяснить на примере:
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] ]
Простое понимание списка не будет работать, потому что я не знаю, насколько длинными будут списки. Хотя мне нравится простота Haskell во многих задачах, эту задачу я могу написать процедурно (на C или где-то еще) за 5 минут, тогда как Haskell вызывает у меня аневризму!
Решение этой конкретной проблемы очень помогло бы мне; Я также хотел бы услышать о ваших мыслительных процессах, когда вы занимаетесь подобными вещами.
sequence
— это то, что вам нужно. - person yairchu   schedule 11.04.2010