Неожиданный результат при обращении списка

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

reverse' :: [b] -> [b]
reverse' [] = []
reverse' [x] = [x]
reverse'(x:xs) = last (x:xs) : reverse' xs

*Main> reverse' [0,8,2,5,6,1,20,99,91,1]
[1,1,1,1,1,1,1,1,1,1]

Это из-за ошибки?

8
задан Bleeding Fingers 24 October 2013 в 06:47
поделиться