Ok, here is my tip:
If you look at something like (x:xs), now you have the choice to either include xin the subset or not.
Somehow you have to use both options (maybe with (++);)) ...
Now remember the other clues (recursion ... xs....), and maybe you get an idea if you think about[x:ys | ys <- ...]
By the way: this is almost deceiving, but if you find a solution using the notation do: it is very easy to translate into a list of concepts;) - maybe you can publish your progress a little?
source
share