aboutsummaryrefslogtreecommitdiff
path: root/docs/spec/types.html
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-12-03 21:15:30 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-12-03 21:15:30 -0500
commit33831837f3e17f6369097327005699a9b28d06c7 (patch)
tree8d901bf1cdae263dedd4779be0fb1e0febb1ceec /docs/spec/types.html
parent0d065be5a871100eb5c2a332499fa1cb65a9f5e5 (diff)
Separate complex number specification into its own extension
Diffstat (limited to 'docs/spec/types.html')
-rw-r--r--docs/spec/types.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/spec/types.html b/docs/spec/types.html
index 50d96bf0..8f10434b 100644
--- a/docs/spec/types.html
+++ b/docs/spec/types.html
@@ -24,5 +24,5 @@
</ul>
<p>A namespace holds the variables used to evaluate a block or program, as defined in the <a href="scope.html">scoping rules</a>. The observable aspects of a namespace are that it can be compared for equality with other namespaces and that it exposes variables associated with certain names, whose values can be queried or set.</p>
<p>To begin the data types, a <em>character</em> is a <a href="https://en.wikipedia.org/wiki/Unicode">Unicode</a> code point, that is, its value is a non-negative integer within the ranges defined by Unicode (however, it is distinct from this number as a BQN value). Characters are ordered by this numeric value. BQN deals with code points as abstract entities and does not expose encodings such as UTF-8 or UTF-16.</p>
-<p>The precise type of a <em>number</em> may vary across BQN implementations or instances. A <em>real number</em> is a member of some supported subset of the <a href="https://en.wikipedia.org/wiki/Extended_real_number_line">extended real numbers</a>, that is, the real numbers and positive or negative infinity. Some system must be defined for rounding an arbitrary real number to a member of this subset, and the basic arithmetic operations add, subtract, multiply, divide, and natural exponent (base <em>e</em>) are defined by performing these operations on exact real values and rounding the result. The Power function (dyadic <code><span class='Function'>⋆</span></code>) is also used but need not be exactly rounded. A <em>complex number</em> is a value with two real number <em>components</em>, a <em>real part</em> and an <em>imaginary part</em>. A BQN implementation can either support real numbers only, or complex numbers.</p>
+<p>The precise type of a <em>number</em> may vary across BQN implementations or instances. The type must be a subset of the <a href="https://en.wikipedia.org/wiki/Extended_real_number_line">extended real numbers</a>, that is, the real numbers and positive or negative infinity. Some system must be defined for rounding an arbitrary real number to a member of this subset, and the basic arithmetic operations add, subtract, multiply, divide, and natural exponent (base <em>e</em>) are defined by performing these operations on exact real values and rounding the result. The Power function (dyadic <code><span class='Function'>⋆</span></code>) is also used but need not be exactly rounded. The <a href="complex.html">complex number</a> extension describes an optional extension to use complex numbers instead of reals only.</p>
<p>An <em>array</em> is a rectangular collection of data. It is defined by a <em>shape</em>, which is a list of non-negative integer lengths, and a <em>ravel</em>, which is a list of <em>elements</em> whose length (the array's <em>bound</em>) is the product of all lengths in the shape. Arrays are defined inductively: any value (of a value or function type) can be used as an element of an array, but it is not possible for an array to contain itself as an element, or an array that contains itself, and so on. Types other than array are called <em>atomic types</em>, and their members are called <em>atoms</em>.</p>