aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/bqn.js2
-rw-r--r--docs/spec/primitive.html2
2 files changed, 2 insertions, 2 deletions
diff --git a/docs/bqn.js b/docs/bqn.js
index b2ce92be..ccef4a07 100644
--- a/docs/bqn.js
+++ b/docs/bqn.js
@@ -169,7 +169,7 @@ let run = (B,O,F,S,L,T,src,env) => { // Bytecode, Objects, Blocks, Bodies, Locat
// Runtime
let assertFn = pre => (x,w) => {
- if (x!==1) throw {kind:pre, message:w}; return x;
+ if (x!==1) throw {kind:pre, message:has(w)?w:x}; return x;
}
let arr = (r,sh,fill) => {r.sh=sh;r.fill=fill;return r;}
let list = (l,fill) => arr(l,[l.length],fill);
diff --git a/docs/spec/primitive.html b/docs/spec/primitive.html
index 128fd24f..f4cf08d9 100644
--- a/docs/spec/primitive.html
+++ b/docs/spec/primitive.html
@@ -66,7 +66,7 @@
</ul>
<h2 id="other-provided-functionality"><a class="header" href="#other-provided-functionality">Other provided functionality</a></h2>
<ul>
-<li><strong>Assert</strong> (<code><span class='Function'>!</span></code>) causes an error if the argument is not <code><span class='Number'>1</span></code>. If <code><span class='Value'>𝕨</span></code> is provided, it gives a message to be associated with this error (which can be any value, not necessarily a string).</li>
+<li><strong>Assert</strong> (<code><span class='Function'>!</span></code>) causes an error if <code><span class='Value'>𝕩</span></code> is not <code><span class='Number'>1</span></code>. The message associated with the error (which is not used by core BQN but might be shown to the user or used by system functions) is <code><span class='Value'>𝕨</span></code> if given and <code><span class='Value'>𝕩</span></code> otherwise. It can be any value, not just a string.</li>
</ul>
<ul>
<li><strong>Catch</strong> (<code><span class='Modifier2'>⎊</span></code>) evaluates <code><span class='Function'>𝔽</span></code> on the arguments <code><span class='Value'>𝕨</span></code> (if present) and <code><span class='Value'>𝕩</span></code>. If <code><span class='Function'>𝔽</span></code> completes without error it returns the result, but if evaluation of <code><span class='Function'>𝔽</span></code> results in an error then the error is suppressed, and Catch evaluates <code><span class='Function'>𝔾</span></code> on the arguments and returns the result. Errors in <code><span class='Function'>𝔾</span></code> are not caught. Catch only prevents evaluation errors, and not syntax errors: these are considered errors in the program as a whole rather than any particular part of it.</li>