(*bt-all*) (* Modified version of bt0, delivers all solutions to nqueens *) fun bt0 k m n p = if k>n then let val (pk,pm) = hd p in p:: bt0 pk (pm+1) n (tl p) end else if p=[] andalso m>n then [] else if m>n then let val (pk,pm)=hd p in bt0 pk (pm+1) n (tl p) end else if check nq (k,m) p then bt0 (k+1) 1 n ((k,m)::p) else bt0 k (m+1) n p;