about summary refs log tree commit diff stats
path: root/nqueens.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2017-09-25 21:20:49 -0700
committerKartik K. Agaram <vc@akkartik.com>2017-09-25 21:20:49 -0700
commitc0d61295ed3575cfea7d2a22d81bae93c6009308 (patch)
tree42fc40d4ce6da540c9fa75d5e74ec75e5c313a7b /nqueens.mu
parent409237204368205a06e2b82fcab26b0a290d7412 (diff)
downloadmu-c0d61295ed3575cfea7d2a22d81bae93c6009308.tar.gz
4008
Allow list `push` operation to save result in a new list rather than
mutate the existing list.
Diffstat (limited to 'nqueens.mu')
-rw-r--r--nqueens.mu5
1 files changed, 2 insertions, 3 deletions
diff --git a/nqueens.mu b/nqueens.mu
index 135668ab..e566e474 100644
--- a/nqueens.mu
+++ b/nqueens.mu
@@ -36,10 +36,9 @@ def nqueens n:num, queens:&:list:square -> result:num, queens:&:list:square [
     {
       curr-conflicts?:bool <- conflict? curr, queens
       break-if curr-conflicts?
-      queens <- push curr, queens
-      sub-result:num <- nqueens n, queens
+      new-queens:&:list:square <- push curr, queens
+      sub-result:num <- nqueens n, new-queens
       result <- add result, sub-result
-      queens <- rest queens
     }
     next-file <- add next-file, 1
     loop