Thanks for the kind words! You're creating a closure on entry into the function every time, try this instead:
ok
>> subseqs([-10,20,-34,10,22,-5])
[[-10, 20, -34, 10, 22, -5], [20, -34, 10, 22, -5], [-34, 10, 22, -5], [10, 22, -5], [22, -5], [-5], [-5, 22, 10, -34, 20, -10], [22, 10, -34, 20, -10], [10, -34, 20, -10], [-34, 20, -10], [20, -10], [-10]]
As for the list slice, let me take a closer look--there is definitely some bug going on. Thanks for reporting it!
Dhanji.