aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/bqn.js5
-rw-r--r--test/cases/prim.bqn3
2 files changed, 7 insertions, 1 deletions
diff --git a/docs/bqn.js b/docs/bqn.js
index b64ea1cc..0f310dbd 100644
--- a/docs/bqn.js
+++ b/docs/bqn.js
@@ -227,7 +227,10 @@ let m1 = m=>{let r= f =>setrepr(()=>[4,f,r ], m(f )); r.m=1; return r;}
let m2 = m=>{let r=(f,g)=>setrepr(()=>[5,f,r,g], m(f,g)); r.m=2; return r;}
let ctrans = (c,t) => String.fromCodePoint(c.codePointAt(0)+t);
let plus = (x,w) => {
- if (!has(w)) return x;
+ if (!has(w)) {
+ if (!isnum(x)) throw Error("+: Argument must be a number");
+ return x;
+ }
let s=typeof w, t=typeof x;
if (s==="number" && t==="number") return w+x;
if (s==="number" && t==="string") return ctrans(x,w);
diff --git a/test/cases/prim.bqn b/test/cases/prim.bqn
index 2b8ccdf7..6201414c 100644
--- a/test/cases/prim.bqn
+++ b/test/cases/prim.bqn
@@ -8,6 +8,9 @@
'a'≡¯2+'c'
! % 'a'+'c'
! % F←-⋄f+2
+¯4≡+¯4
+! % +'x'
+! % F←-⋄+f
¯∞≡1e6-∞
4≡-¯4
¯∞≡-∞