Я пытаюсь написать функцию, которая принимает список и возвращает список всех подсписков.
К сожалению, мое решение не компилируется, и я не понимаю, почему.
Моя идея состоит в том, чтобы использовать списки и списки и генерировать в каждой итерации от 0 до длины списка двух подсписков.
sublists:: [a] -> [[a]]
sublists xs = [ as:bs | i <-[0..length xs], as <- (take i xs), bs <- drop (length xs - i) xs]