Fixed cons, set-car! and set-cdr!
authorTim Vaughan <tgvaughan@gmail.com>
Thu, 21 Jul 2016 08:52:17 +0000 (20:52 +1200)
committerTim Vaughan <tgvaughan@gmail.com>
Thu, 21 Jul 2016 08:52:17 +0000 (20:52 +1200)
scheme-primitives.4th
scheme.4th

index c1f3626..87cbdd4 100644 (file)
     cons
 ; make-primitive cons
 
-:noname ( args -- pair )
-    2dup 1 ensure-arg-count
-    
-
-    2dup car 2swap cdr car
-    cons
-; make-primitive cons
-
 :noname ( args -- pair )
     2dup 1 ensure-arg-count
     car pair-type ensure-arg-type
 
 :noname ( args -- pair )
     2dup 2 ensure-arg-count
-    2dup car pair-type ensure-arg-type
-    swap cdr car
+    2dup cdr car
+    2swap car pair-type ensure-arg-type
 
-    2swap set-car!
+    set-car!
 
     ok-symbol
 ; make-primitive set-car!
 
 :noname ( args -- pair )
     2dup 2 ensure-arg-count
-    2dup car pair-type ensure-arg-type
-    swap cdr car
+    2dup cdr car
+    2swap car pair-type ensure-arg-type
 
-    2swap set-cdr!
+    set-cdr!
 
     ok-symbol
 ; make-primitive set-cdr!
index 9d86461..ae88b4b 100644 (file)
@@ -762,6 +762,7 @@ parse-idx-stack parse-idx-sp !
     then
 
     eof? if
+        inc-parse-idx
         bold fg blue ." Moriturus te saluto." reset-term ."  ok" cr
         quit
     then