From 177bc8a2d6ec8c5f13bb73da387cfefbd6fa0c1d Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Tue, 30 Aug 2022 08:03:29 -0400 Subject: Don't allow Conjugate (monadic +) on non-number atoms --- docs/bqn.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'docs') 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); -- cgit v1.2.3