about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-06-11 21:36:12 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-06-11 21:36:12 -0700
commit0dc4f9c62bf26b373284e7d27aa41c500c8bd16a (patch)
tree4119cdfd28b77cb2b15e6b3173a5c899db8801c2
parent31918612428c82652934be7b2e3ffc347e19ff2c (diff)
downloadmu-0dc4f9c62bf26b373284e7d27aa41c500c8bd16a.tar.gz
hacky bugfix: support floats in nth
Needed because we don't yet have a primitive in the shell to truncate/round
non-integers to integers.

Before:
  (nth (/ 31 10)    # we don't have float literals yet
       '(1 2 3 4))
  => NULL

..with an unpleasant abort likely later on.

Really the correct thing to do is ensure none of my primitives ever returns
NULL. Start with car/cdr.
-rw-r--r--shell/data.limg2
1 files changed, 1 insertions, 1 deletions
diff --git a/shell/data.limg b/shell/data.limg
index 21488812..9d130a28 100644
--- a/shell/data.limg
+++ b/shell/data.limg
@@ -22,7 +22,7 @@
     0
     (+ 1 (len (cdr l)))))])
     (nth . [(def (nth n xs)
-  (if (<= n 0)
+  (if (< n 1)
     (car xs)
     (nth (- n 1) (cdr xs))))])
     (map1 . [(def (map1 f xs)