Использование: в списке-понимании - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь написать функцию, которая принимает список и возвращает список всех подсписков.

К сожалению, мое решение не компилируется, и я не понимаю, почему.

Моя идея состоит в том, чтобы использовать списки и списки и генерировать в каждой итерации от 0 до длины списка двух подсписков.

sublists:: [a] -> [[a]]
sublists xs = [ as:bs | i <-[0..length xs], as <- (take i xs), bs <- drop (length xs - i) xs]

1 Ответ

3 голосов
/ 05 апреля 2019

: добавляет элемент и список. Ваши as и bs - это оба списка.

Возможно, вам нужна конкатенация, как в as ++ bs.

Кажется, вы найдете другие проблемы, но это должно быть первым, что нужно исправить.

...