diff options
Diffstat (limited to 'docs/doc/glossary.html')
| -rw-r--r-- | docs/doc/glossary.html | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/docs/doc/glossary.html b/docs/doc/glossary.html index 13581749..3588a8d8 100644 --- a/docs/doc/glossary.html +++ b/docs/doc/glossary.html @@ -37,34 +37,23 @@ <li><strong>Real number</strong> (more accurately, approximate doubly-extended real number): A number with no complex part.</li> <li><strong>Complex number</strong>: A real number plus <em>i</em> (one of the square roots of -1) times another real number.</li> </ul> -<h2 id="roles"><a class="header" href="#roles">Roles</a></h2> -<ul> -<li><a href="expression.html#syntactic-role"><strong>Syntactic role</strong></a>: One of four possible types for an expression, which are determined by the expression itself and not outside context and describe how it interacts with other parts of the syntax.</li> -</ul> -<p>The possible roles are:</p> -<ul> -<li><strong>Subject</strong>: Can be passed to a function or modifier.</li> -<li><strong>Function</strong>: Can be called on subjects or passed to a modifier.</li> -<li><strong>1-modifier</strong>: Can be called on one subject or function.</li> -<li><strong>2-modifier</strong>: Can be called on two subjects or functions.</li> -</ul> <h2 id="arrays"><a class="header" href="#arrays">Arrays</a></h2> <ul> <li><a href="array.html"><strong>Array</strong></a>: A multidimensional collection of values.</li> <li><a href="array.html#elements"><strong>Element</strong></a>: One of the values contained in an array.</li> <li><a href="array.html#rectangles"><strong>Axis</strong></a>: One dimension or direction in an array.</li> <li><a href="array.html#dimensions"><strong>Rank</strong></a>: The number of dimensions an array has.</li> -<li><a href="shape.html"><strong>Shape</strong></a>: The number of elements an array has along each dimension.</li> -<li><a href="shape.html"><strong>Length</strong></a>: The number of elements an array has along the first dimension, or 1 if it has rank 0.</li> +<li><a href="shape.html"><strong>Shape</strong></a>: The number of positions an array has along each dimension.</li> +<li><a href="shape.html"><strong>Length</strong></a>: The number of positions an array has along the first dimension, or 1 if it has rank 0.</li> <li><a href="depth.html"><strong>Depth</strong></a>: The greatest number of times an element can be selected from a value before reaching an atom.</li> <li><a href="fill.html"><strong>Fill</strong></a>: A "prototypical" array element used in certain operations; it's an inferred property of an array.</li> </ul> <ul> -<li><strong>Empty</strong>: Having no elements. An array is empty if its shape contains 0.</li> -<li><a href="array.html#cells"><strong>Cell</strong></a>: An array containing all elements of the original array whose indices share a particular prefix.</li> +<li><a href="array.html#elements"><strong>Empty</strong></a>: Having no elements. An array is empty if its shape contains 0.</li> +<li><a href="array.html#cells"><strong>Cell</strong></a>: An array selected from a larger array, containing all elements whose indices share a particular prefix.</li> <li><a href="array.html#cells"><strong>k-Cell</strong></a>: A cell of rank <em>k</em>.</li> <li><a href="array.html#cells"><strong>Major cell</strong></a>: A cell with rank one less than the original array.</li> -<li><a href="leading.html#leading-axis-agreement"><strong>Agreement</strong></a>: The way elements are paired when a function maps over two arrays.</li> +<li><a href="leading.html#leading-axis-agreement"><strong>Agreement</strong></a>: The way elements are paired when mapping over two arrays together (for example by Each).</li> <li><a href="rank.html#frame-and-cells"><strong>Frame</strong></a>: A prefix of an array's shape, used for agreement with the Rank modifier.</li> </ul> <ul> @@ -102,15 +91,6 @@ <li><strong>Error</strong>: A condition that stops compilation or execution (see <a href="assert.html">assert</a>).</li> <li><strong>Inferred property</strong>: A property of a value that is derived by BQN based on constraints. If it can't be derived then the value won't have the property. Includes identity values, fill elements, and behavior of Undo and Under.</li> </ul> -<h2 id="namespaces"><a class="header" href="#namespaces">Namespaces</a></h2> -<ul> -<li><a href="namespace.html"><strong>Namespace</strong></a>: A container for variables, some of which are exposed as fields.</li> -<li><strong>Field</strong>: One of the variables accessible from outside a namespace.</li> -<li><strong>Access</strong>: To get the current value of a field from a namespace.</li> -<li><a href="namespace.html#exports"><strong>Export</strong></a>: Declare a variable to be accessible from the outside, that is, make it a field.</li> -<li><a href="oop.html"><strong>Object</strong></a>: Informal term for a namespace that holds mutable state.</li> -<li><a href="namespace.html#imports"><strong>Alias</strong></a>: A different "outside" name chosen for a field in a destructuring assignment.</li> -</ul> <h2 id="tokens"><a class="header" href="#tokens">Tokens</a></h2> <ul> <li><strong>Token formation</strong> or tokenization: Splitting source code into a sequence of tokens.</li> @@ -124,14 +104,25 @@ <li><a href="syntax.html#constants"><strong>Character literal</strong></a>: A literal written with single quotes <code><span class='String'>''</span></code>, indicating a string.</li> <li><a href="syntax.html#constants"><strong>Null literal</strong></a>: The literal <code><span class='String'>@</span></code>, indicating the null character (code point 0).</li> </ul> -<h2 id="parsing"><a class="header" href="#parsing">Parsing</a></h2> +<h2 id="grammar"><a class="header" href="#grammar">Grammar</a></h2> <ul> -<li><strong>Parsing</strong>: Analysis of the tokens of a program, which determines which actions will be taken to evaluate it.</li> -<li><a href="syntax.html#expressions"><strong>Expression</strong></a>: A piece of code that defines a (not necessarily constant) variable.</li> +<li><a href="syntax.html#expressions"><strong>Expression</strong></a>: A piece of code that describes the computation of a value.</li> <li><a href="expression.html#nothing"><strong>Nothing</strong></a>: A special value-like entity that comes from <code><span class='Nothing'>·</span></code>, <code><span class='Value'>𝕨</span></code> in a function with no left argument, or a function called on nothing.</li> <li><strong>Statement</strong>: An expression, nothing (<code><span class='Nothing'>·</span></code>), or an export (<code><span class='Value'>var</span><span class='Gets'>⇐</span></code>).</li> <li><a href="arrayrepr.html#strands"><strong>Ligature</strong></a>: The character <code><span class='Ligature'>‿</span></code>.</li> <li><a href="arrayrepr.html#brackets"><strong>List notation</strong></a>: The angle brackets <code><span class='Bracket'>⟨⟩</span></code> or ligatures used to indicate a list.</li> +<li><a href="arrayrepr.html#high-rank-arrays"><strong>Array notation</strong></a>: The square brackets <code><span class='Bracket'>[]</span></code> used to form high-rank arrays.</li> +</ul> +<h3 id="roles"><a class="header" href="#roles">Roles</a></h3> +<ul> +<li><a href="expression.html#syntactic-role"><strong>Syntactic role</strong></a>: One of four possible types for an expression, which are determined by the text of the expression, not outside context. The role describes how it interacts with other parts of the syntax.</li> +</ul> +<p>The possible roles are:</p> +<ul> +<li><strong>Subject</strong>: Can be passed to a function or modifier.</li> +<li><strong>Function</strong>: Can be called on subjects or passed to a modifier.</li> +<li><strong>1-modifier</strong>: Can be called on one subject or function.</li> +<li><strong>2-modifier</strong>: Can be called on two subjects or functions.</li> </ul> <h2 id="assignment-and-scoping"><a class="header" href="#assignment-and-scoping">Assignment and scoping</a></h2> <ul> @@ -147,7 +138,7 @@ <h2 id="blocks"><a class="header" href="#blocks">Blocks</a></h2> <ul> <li><a href="block.html"><strong>Block</strong></a>: A syntactic element surrounded in curly braces <code><span class='Brace'>{}</span></code>, which encapsulates code.</li> -<li><a href="block.html#headerless-blocks"><strong>Immediate block</strong></a>: A block that is evaluated and returns a value immediately; it has a subject role.</li> +<li><a href="block.html#headerless-blocks"><strong>Immediate block</strong></a>: A block that's evaluated giving a result immediately; it has a subject role.</li> <li><strong>Block function</strong>: A block defining a function.</li> <li><strong>Block modifier</strong>: A block defining a 1- or 2-modifier.</li> <li><a href="block.html#operands"><strong>Immediate modifier</strong></a>: A modifier that's evaluated as soon as it receives its operands.</li> @@ -158,3 +149,12 @@ <li><a href="block.html#predicates"><strong>Predicate</strong></a>: An expression followed by <code><span class='Head'>?</span></code>, which acts as a condition for the body to continue running.</li> <li><a href="tacit.html"><strong>Tacit</strong></a>: Code that defines functions without using blocks.</li> </ul> +<h2 id="namespaces"><a class="header" href="#namespaces">Namespaces</a></h2> +<ul> +<li><a href="namespace.html"><strong>Namespace</strong></a>: A container for variables, some of which are exposed as fields.</li> +<li><strong>Field</strong>: One of the variables accessible from outside a namespace.</li> +<li><strong>Access</strong>: To get the current value of a field from a namespace.</li> +<li><a href="namespace.html#exports"><strong>Export</strong></a>: Declare a variable to be accessible from the outside, that is, make it a field.</li> +<li><a href="oop.html"><strong>Object</strong></a>: Informal term for a namespace that holds mutable state.</li> +<li><a href="namespace.html#imports"><strong>Alias</strong></a>: A different "outside" name chosen for a field in a destructuring assignment.</li> +</ul> |
