※ 引述《slyfox (klanloss)》之銘言:
: I was tracing the code from:
: http://shivindap.wordpress.com/2009/01/12/permutations-of-a-list-in-haskell/
: but got confused by:
: permutation [1]
: = [ 1 : permutation [] ]
: = [ 1 : [[]] ]
: where did i go wrong? Thanks.
permutation [] = [ [] ]
permutation xs = [ x:ys | x <- xs, ys <- permutation (delete x xs) ]
permutation [1] = [ 1:ys | ys <- permutation [] ]
= [ 1:ys | ys <- [ [] ] ]
= [ 1:[] ] = [ [1] ]