<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nars2000.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop</id>
	<title>NARS2000 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nars2000.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop"/>
	<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Special:Contributions/WikiSysop"/>
	<updated>2026-05-08T05:30:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.7</generator>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Control_Structures&amp;diff=3875</id>
		<title>Control Structures</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Control_Structures&amp;diff=3875"/>
		<updated>2024-03-16T00:24:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:for &amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt; :in &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endfor&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Loop through the elements of &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; assigning each value to &amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt;, and then execute the statements between &amp;lt;apll&amp;gt;:for&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:endfor&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:forlcl &amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt; :in &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endforlcl&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Same as &amp;lt;apll&amp;gt;:for&amp;lt;/apll&amp;gt; except that the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is localized to the &amp;lt;apll&amp;gt;:forlcl&amp;lt;/apll&amp;gt; / &amp;lt;apll&amp;gt;:endforlcl&amp;lt;/apll&amp;gt; control structure.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:goto &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Execute &amp;lt;apll&amp;gt;{goto}&amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:if &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endif&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Execute the statements between &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:endif&amp;lt;/apll&amp;gt; iff &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:repeat ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endrepeat&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Repeatedly execute the statements between &amp;lt;apll&amp;gt;:repeat&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:endrepeat&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:repeat ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :until &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Repeatedly execute the statements between &amp;lt;apll&amp;gt;:repeat&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; until &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:return&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Execute &amp;lt;apll&amp;gt;{goto}0&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:select &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt; ⋄ :case &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; &amp;lt;/apll&amp;gt;&amp;lt;br/&amp;gt; &amp;lt;apll&amp;gt; ⋄ :caselist &amp;lt;i&amp;gt;expr3&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endselect&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Execute a specific block of statements depending upon which &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; expression matches &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:switch &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt; ⋄ :case &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; &amp;lt;/apll&amp;gt;&amp;lt;br/&amp;gt; &amp;lt;apll&amp;gt; ⋄ :caselist &amp;lt;i&amp;gt;expr3&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endswitch&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Same as &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:while &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endwhile&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Repeatedly execute the statements between &amp;lt;apll&amp;gt;:while&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:endwhile&amp;lt;/apll&amp;gt; while &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:while &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt; ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :until &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Repeatedly execute the statements between &amp;lt;apll&amp;gt;:while&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; while &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; and &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;All Control Structures may be placed all or partly on one line as in &amp;lt;apll&amp;gt;:for I :in {iota}12 ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;apll&amp;gt; ⋄ :endfor&amp;lt;/apll&amp;gt; (very convenient for use in immediate execution mode), or on multiple lines as in&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:for I :in {iota}12&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
...&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:endfor&amp;lt;/apll&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;As usual for any statement, a label may be used at the beginning of any line even if it starts with a Control Structure.  For example,&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;[3]   L1::if I &amp;amp;lt; 10 ⋄ &amp;lt;/apll&amp;gt;...&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Each Control Structure that closes with a statement-specific keyword (&amp;lt;apll&amp;gt;:endfor&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;:endforlcl&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;:endif&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;:endrepeat&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;:endselect&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;:endswitch&amp;lt;/apll&amp;gt;, and &amp;lt;apll&amp;gt;:endwhile&amp;lt;/apll&amp;gt;), may instead close with the &amp;lt;apll&amp;gt;:end&amp;lt;/apll&amp;gt; keyword.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FOR/FORLCL Statements ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:for &amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt; :in &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:forlcl &amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt; :in &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;... (Block of statements)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;... (Block of statements)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:endfor&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:endforlcl&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These statements evaluate &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; once, loop through its elements, assign each successive value to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, and then execute the block of statements once for each value in &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;.  The &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; may be of any type (including character and nested), any rank, and any shape.  If &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; is empty, the block of statements is skipped.&lt;br /&gt;
&lt;br /&gt;
With the &amp;lt;apll&amp;gt;:for&amp;lt;/apll&amp;gt; statement, the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is not localized to the &amp;lt;apll&amp;gt;:for&amp;lt;/apll&amp;gt; loop; upon exiting the loop, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; has the last value assigned to it by the &amp;lt;apll&amp;gt;:for&amp;lt;/apll&amp;gt; loop.&lt;br /&gt;
&lt;br /&gt;
With the &amp;lt;apll&amp;gt;:forlcl&amp;lt;/apll&amp;gt; statement, the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is localized to the &amp;lt;apll&amp;gt;:forlcl&amp;lt;/apll&amp;gt; loop; upon exiting the loop, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;varname&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; has the value assigned to it before the &amp;lt;apll&amp;gt;:forlcl&amp;lt;/apll&amp;gt; loop started.&lt;br /&gt;
&lt;br /&gt;
To interrupt the flow of control within a block of statements, use the &amp;lt;apll&amp;gt;:continue&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:leave&amp;lt;/apll&amp;gt; keywords.  The former keyword transfers control to the end of the block continuing with the next iteration, thus skipping the statements between the &amp;lt;apll&amp;gt;:continue&amp;lt;/apll&amp;gt; and matching &amp;lt;apll&amp;gt;:endfor&amp;lt;/apll&amp;gt;/&amp;lt;apll&amp;gt;:endforlcl&amp;lt;/apll&amp;gt; keywords.  The latter keyword exits the &amp;lt;apll&amp;gt;:for&amp;lt;/apll&amp;gt;/&amp;lt;apll&amp;gt;:forlcl&amp;lt;/apll&amp;gt; loop entirely and transfers control to the statement after the matching &amp;lt;apll&amp;gt;:endfor&amp;lt;/apll&amp;gt;/&amp;lt;apll&amp;gt;:endforlcl&amp;lt;/apll&amp;gt; statement.  Typically, these two keywords appear within &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt;/&amp;lt;apll&amp;gt;:endif&amp;lt;/apll&amp;gt; statements.&lt;br /&gt;
&lt;br /&gt;
== GOTO Statement ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;:goto &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement transfers control to the line number specified in &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;.  The value of &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt; must be a numeric simple scalar or one-element vector.  This statement is equivalent to &amp;lt;tt&amp;gt;[[→]]&amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== IF Statement ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;:if &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:elseif &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:else&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:endif&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement conditionally executes a block of statements.&lt;br /&gt;
&lt;br /&gt;
Each expression must evaluate to a Boolean-valued scalar or one-element vector.&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:elseif&amp;lt;/apll&amp;gt; statement may be followed by zero or more statements which form the block of statements controlled by that statement.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt; statement may be followed by zero or more &amp;lt;apll&amp;gt;:elseif&amp;lt;/apll&amp;gt; blocks.  Optionally, the &amp;lt;apll&amp;gt;:else&amp;lt;/apll&amp;gt; statement may appear after all &amp;lt;apll&amp;gt;:elseif&amp;lt;/apll&amp;gt; statements to handle the case where none of the previous expressions was true (evaluated to a &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:elseif&amp;lt;/apll&amp;gt; statement may be followed by zero or more &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; statements to narrow the conditions under which the following block of statements is executed, or may be followed by zero or more &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements to widen the conditions under which the following block of statements is executed.  The &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements may not be mixed within any &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:elseif&amp;lt;/apll&amp;gt; statement.&lt;br /&gt;
&lt;br /&gt;
== REPEAT Statement ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:repeat&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:repeat&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;... (Block of statements)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;... (Block of statements)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:endrepeat&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:until &amp;lt;i&amp;gt;expr&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement executes a block of statements repeatedly (but at least once) until the &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; expression is true, or control transfers out of the Control Structure.&lt;br /&gt;
&lt;br /&gt;
In the righthand form above, the block of statements is executed and then the expression is executed.  It must evaluate to a Boolean-valued scalar or one-element vector.  If the expression is true, the Control Structure terminates and execution continues with the statement after the &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement; if the expression is false, execution continues at the start of the Control Structure.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement may be followed by zero or more &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; statements to widen the conditions under which the block of statements is executed, or it may be followed by zero or more &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements to narrow the conditions under which the block of statements is executed.  The &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements may not be mixed after an &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement.&lt;br /&gt;
&lt;br /&gt;
To interrupt the flow of control within a block of statements, use the &amp;lt;apll&amp;gt;:continue&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:leave&amp;lt;/apll&amp;gt; keywords.  The former keyword transfers control to the end of the block continuing with the next repetition, skipping the statements between the &amp;lt;apll&amp;gt;:continue&amp;lt;/apll&amp;gt; and matching &amp;lt;apll&amp;gt;:endrepeat&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; keywords.  The latter keyword exits the &amp;lt;apll&amp;gt;:repeat&amp;lt;/apll&amp;gt; loop entirely and transfers control to the statement after the matching &amp;lt;apll&amp;gt;:endrepeat&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement.  Typically, these two keywords appear within &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt; statements.&lt;br /&gt;
&lt;br /&gt;
== RETURN Statement ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;:return&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement exits the current function and is equivalent to &amp;lt;apll&amp;gt;→0&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== SELECT/SWITCH Statements ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:select &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:case &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:caselist &amp;lt;i&amp;gt;expr3&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:else&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:endselect&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;b&amp;gt;OR&amp;lt;/b&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:switch &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:case &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:caselist &amp;lt;i&amp;gt;expr3&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:else&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
... (Block of statements)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;:endswitch&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement provides a mechanism for making a choice from multiple cases as to which block of statements is executed.  The &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; statement expression is evaluated and compared against each successive &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; expression and the successive items in each &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; expression.  Control is given to the first block of statements whose corresponding expression (or expression item in the case of &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt;) matches the &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; expression.&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; statement, its expression is compared with the &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; statement&#039;s expression.  The comparison uses the Match function (≡), so it takes into account rank and shape at every level.&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; statement, the successive items in its expression are compared with the &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; statement&#039;s expression.  As with the &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; statement the comparison uses the Match function.  The &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; statements allows you to combine multiple selection criteria into one expression.  It is equivalent to the C language use of multiple &amp;lt;b&amp;gt;case&amp;lt;/b&amp;gt; statements preceding a block of statements.&lt;br /&gt;
&lt;br /&gt;
Unlike the C language &amp;lt;b&amp;gt;switch&amp;lt;/b&amp;gt; statement, the &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; expressions need not be constant, and there may be multiple &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; statements whose expressions evaluate to the same value &amp;amp;mdash; however only the earliest occurrence is selected.&lt;br /&gt;
&lt;br /&gt;
When the last statement in a block of statements is executed, the system exits the &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; control structure.  The &amp;lt;apll&amp;gt;:leave&amp;lt;/apll&amp;gt; statement may be used to exit that block before reaching the last statement, similar to the C language &amp;lt;b&amp;gt;break&amp;lt;/b&amp;gt; statement.&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; statement may be followed by zero or more statements which form the block of statements controlled by that statement.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; statement may be followed by a mixture of zero or more &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; blocks.  Optionally, the &amp;lt;apll&amp;gt;:else&amp;lt;/apll&amp;gt; statement may appear after all &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; statements to handle the case where none of the previous &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; expressions match the &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; expression &amp;amp;mdash; in this context, the &amp;lt;apll&amp;gt;:else&amp;lt;/apll&amp;gt; statement is similar to the C language &amp;lt;b&amp;gt;default&amp;lt;/b&amp;gt; statement.&lt;br /&gt;
&lt;br /&gt;
Because of the way &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; statements are executed, a line with a &amp;lt;apll&amp;gt;:case&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:caselist&amp;lt;/apll&amp;gt; statement may not be a branch target; otherwise a &amp;lt;apll&amp;gt;DESTINATION ERROR&amp;lt;/apll&amp;gt; is signaled.  That is, a &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; statement may be entered at the top only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;:switch&amp;lt;/apll&amp;gt; is an alias for &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt;; in the above discussion wherever &amp;lt;apll&amp;gt;:select&amp;lt;/apll&amp;gt; appears, you may substitute &amp;lt;apll&amp;gt;:switch&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;font color=green&amp;gt;&amp;lt;strong&amp;gt;&lt;br /&gt;
== Cases Branching Example 1 ==&lt;br /&gt;
As an alternative to the Select/Switch control structure(s) above, for a pure original APL solution to Multiple Cases scenarios in a user-function, consider using the following APL control structure. For example the following &amp;lt;u&amp;gt;user-function&amp;lt;/u&amp;gt;, has one local variable (boolCases) with 6 different cases handled:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;BranchingExample1&amp;lt;/u&amp;gt;;boolCases&amp;lt;br&amp;gt;&lt;br /&gt;
[1]   ⍝MULTIPLE CASES: Branching/GoTo Example #1&amp;lt;br&amp;gt;&lt;br /&gt;
[2]   boolCases←0 1 1 1 0 0 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ⍝Leftmost boolean 1 determines which case or block will be executed { 0 &amp;lt;u&amp;gt;1&amp;lt;/u&amp;gt; 1 1 0 0 }&amp;lt;br&amp;gt;&lt;br /&gt;
[3]   →boolCases/(Label1 &amp;lt;u&amp;gt;Label2&amp;lt;/u&amp;gt; Label3 Label4 Label5 Label6)&amp;lt;br&amp;gt;&lt;br /&gt;
[4]   &#039;Did NOT branch, Case ELSE.&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[5]   →Next1&amp;lt;br&amp;gt;&lt;br /&gt;
[6]   Label1: &#039;Do this, Label1&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[7]   →Next1&amp;lt;br&amp;gt;&lt;br /&gt;
[8]   &amp;lt;u&amp;gt;Label2&amp;lt;/u&amp;gt;: &#039;Do this, Label2&#039; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ⍝This case &amp;lt;u&amp;gt;will&amp;lt;/u&amp;gt; get branched to based on boolCases!&amp;lt;br&amp;gt;&lt;br /&gt;
[9]   →Next1&amp;lt;br&amp;gt;&lt;br /&gt;
[10]  Label3: &#039;Do this, Label3&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[11]  →Next1&amp;lt;br&amp;gt;&lt;br /&gt;
[12]  Label4: &#039;Do this, Label4&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[13]  →Next1&amp;lt;br&amp;gt;&lt;br /&gt;
[14]  Label5: &#039;Do this, Label5&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[15]  →Next1&amp;lt;br&amp;gt;&lt;br /&gt;
[16]  Label6: &#039;Do this, Label6&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[17]  Next1: &#039;Code continues here.&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; BranchingExample1 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ⍝User-session, &amp;lt;u&amp;gt;BranchingExample1&amp;lt;/u&amp;gt; &#039;&#039;typed in by user&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Do this, Label2&amp;lt;br&amp;gt;&lt;br /&gt;
Code continues here.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WHILE Statement ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:while &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:while &amp;lt;i&amp;gt;expr1&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;... (Block of statements)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;... (Block of statements)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:endwhile&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td style=&amp;quot;border-right: solid 1px black;&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;:until &amp;lt;i&amp;gt;expr2&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement executes a block of statements repeatedly until the &amp;lt;apll&amp;gt;:while&amp;lt;/apll&amp;gt; expression is false, or the &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; expression is true, or control transfers out of the Control Structure.&lt;br /&gt;
&lt;br /&gt;
The expressions must evaluate to a Boolean-valued scalar or one-element vector.&lt;br /&gt;
&lt;br /&gt;
In the righthand form above, if the &amp;lt;apll&amp;gt;:while&amp;lt;/apll&amp;gt; expression evaluates to a scalar or one-element vector whose value is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, the block of statements is executed and then the &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; expression is executed.  It must evaluate to a Boolean-valued scalar or one-element vector.  If the &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; expression is true, the Control Structure terminates and execution continues with the statement after the &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement; if the &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; expression is false, execution continues at the start of the Control Structure.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;apll&amp;gt;:while&amp;lt;/apll&amp;gt; statement may be followed by zero or more &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; statements to narrow the conditions under which the block of statements is executed, or it may be followed by zero or more &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements to widen the conditions under which the block of statements is executed.  The &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements may not be mixed after a &amp;lt;apll&amp;gt;:while&amp;lt;/apll&amp;gt; statement.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement may be followed by zero or more &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; statements to widen the conditions under which execution the block of statements is executed, or it may be followed by zero or more &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements to narrow the conditions under which the block of statements is executed.  The &amp;lt;apll&amp;gt;:andif&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;:orif&amp;lt;/apll&amp;gt; statements may not be mixed after an &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement.&lt;br /&gt;
&lt;br /&gt;
To interrupt the flow of control within a block of statements, use the &amp;lt;apll&amp;gt;:continue&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:leave&amp;lt;/apll&amp;gt; keywords.  The former keyword transfers control to the end of the block continuing with the next repetition, skipping the statements between the &amp;lt;apll&amp;gt;:continue&amp;lt;/apll&amp;gt; and matching &amp;lt;apll&amp;gt;:endwhile&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; keywords, but evaluating and acting upon an &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement, if present.  The latter keyword exits the &amp;lt;apll&amp;gt;:while&amp;lt;/apll&amp;gt; loop entirely and transfers control to the statement after the matching &amp;lt;apll&amp;gt;:endwhile&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;:until&amp;lt;/apll&amp;gt; statement.  Typically, these two keywords appear within &amp;lt;apll&amp;gt;:if&amp;lt;/apll&amp;gt; statements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Variant&amp;diff=3874</id>
		<title>Variant</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Variant&amp;diff=3874"/>
		<updated>2024-02-19T00:45:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Eigenvalues and Eigenvectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Caution:&#039;&#039;&#039; Be careful not to confuse this symbol, which is &amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;, with &amp;lt;apll&amp;gt;⌹&amp;lt;/apll&amp;gt; which is [[Matrix Inverse/Divide]].&lt;br /&gt;
&amp;lt;hr /&amp;gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←f⍠B R&amp;lt;/apll&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; or &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;apll&amp;gt;Z←L f⍠B R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;evaluates &amp;lt;apll&amp;gt;f R&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;L f R&amp;lt;/apll&amp;gt; in the context described by &amp;lt;apll&amp;gt;B&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are arbitrary arrays conformable with &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt;, and &amp;lt;apll&amp;gt;B&amp;lt;/apll&amp;gt; is a simple scalar, simple or heterogeneous vector, or nested vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; is an arbitrary function.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic Variant operator creates a version of the function &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; with a set of properties bound and localized to it as specified by the array right operand.  For example, &amp;lt;apll&amp;gt;⍳⍠0&amp;lt;/apll&amp;gt; is a version of &amp;lt;apll&amp;gt;⍳&amp;lt;/apll&amp;gt; that executes in origin-0 independent of the current value of &amp;lt;apll&amp;gt;⎕IO&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The array right operand to the operator may take several different forms depending upon the function left operand.  In the general case, for any kind of function left operand, the right operand may specify a single property in the form of &amp;lt;apll&amp;gt;Key Val&amp;lt;/apll&amp;gt;, or multiple properties in the form of &amp;lt;apll&amp;gt;(Key1 Val1) (Key2 Val2)&amp;lt;/apll&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#8230;&amp;lt;/b&amp;gt;, or if the left operand is a primitive function, a shorthand notation may be used as in &amp;lt;apll&amp;gt;Val&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;Val1 Val2&amp;lt;/apll&amp;gt; &amp;lt;b&amp;gt;&amp;amp;#8230;&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the general case, the keys specify a property such as Index Origin as &amp;lt;apll&amp;gt;&#039;IO&#039;&amp;lt;/apll&amp;gt; or Comparison Tolerance as &amp;lt;apll&amp;gt;&#039;CT&#039;&amp;lt;/apll&amp;gt;, and the value part specifies a value appropriate to the property specified in the matching key.  At the moment, the keys that may be used are &amp;lt;apll&amp;gt;&#039;CT&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;DT&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;FPC&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;IO&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;LR&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;PP&#039;&amp;lt;/apll&amp;gt;, and &amp;lt;apll&amp;gt;&#039;RL&#039;&amp;lt;/apll&amp;gt; which stand for the corresponding system variable.  Note that for the Variants of &amp;lt;apll&amp;gt;L×R&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt; and the Subsequence variants such as &amp;lt;apll&amp;gt;L⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt; there are no corresponding system variables as yet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      1 2 (3+1e¯9)&amp;amp;nbsp; 3⍳⍠((&#039;IO&#039; 0) (&#039;CT&#039; 1e¯10)) 3&lt;br /&gt;
3&lt;br /&gt;
      1 2 (3+1e¯10) 3⍳⍠((&#039;IO&#039; 0) (&#039;CT&#039; 1e¯10)) 3&lt;br /&gt;
2&lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 0) 3 &lt;br /&gt;
0 1 2 &lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 1) 3 &lt;br /&gt;
1 2 3&lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 0) ⍠(&#039;IO&#039; 1) 3 &lt;br /&gt;
0 1 2 &lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 1) ⍠(&#039;IO&#039; 0) 3 &lt;br /&gt;
1 2 3&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Note that in the last two examples, the lefthand (innermost) value of &amp;lt;apll&amp;gt;⎕IO&amp;lt;/apll&amp;gt; takes precedence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Shorthand Notation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the left operand is a primitive or derived function, the following shorthand notation may be used:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;all&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;20%&amp;quot;&amp;gt;Function or&amp;lt;br /&amp;gt;Principal Operator&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;5%&amp;quot;&amp;gt;Right&amp;lt;br /&amp;gt;Arg&amp;lt;br /&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;75%&amp;quot;&amp;gt;Meaning&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;amp;nbsp;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;C&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;amp;nbsp;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L⌷R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⍋R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍋R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⍒R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍒R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;a‼R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⍕R&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;L⍕R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕PP←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;apll&amp;gt;L&amp;amp;lt;R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≤R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L=R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≠R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≥R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L&amp;amp;gt;R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;L∊R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≡R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∪R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∩R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;⌊R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⌈R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;∪R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;L|R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;f⌻R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L f⌻R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;∘⌻R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N C&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C N&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;?R&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;L?R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N C&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C N&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;amp;nbsp;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;C&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;amp;nbsp;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;!R&amp;lt;/apll&amp;gt; ([https://en.wikipedia.org/wiki/Pochhammer_k-symbol Pochhammer k-symbol])&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[#Rising_and_Falling_Factorials|Rising (&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; &amp;amp;gt; 0) and Falling (&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; &amp;amp;lt; 0) factorial]] of length &amp;lt;apll&amp;gt;|&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;, stepping by &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; in the direction of &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[#Rising_and_Falling_Factorials|Rising (&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; &amp;amp;gt; 0) and Falling (&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; &amp;amp;lt; 0) factorial]] of length &amp;lt;apll&amp;gt;|&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, stepping by &amp;lt;apll&amp;gt;|&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt; in the direction of &amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⍎R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕FPC←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L÷R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∨R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∧R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L○R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⊤R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L×R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Except for &amp;lt;b&amp;gt;Dot Product&amp;lt;/b&amp;gt;, these variants are non-trivial only when multiplying &amp;lt;b&amp;gt;Non-commutative&amp;lt;/b&amp;gt; numbers.&amp;lt;br /&amp;gt;The following definitions on scalar &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; extend to higher rank arrays in the usual way.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;all&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Quaternion/Octonion &amp;amp;mdash; Non-commutative&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Real/Complex &amp;amp;mdash; Commutative&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;i&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;I&amp;lt;/b&amp;gt;nterior product&amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;((L×R)+R×L)÷2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L×R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;e&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;E&amp;lt;/b&amp;gt;xterior product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;((L×R)-R×L)÷2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;x&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Cross&amp;lt;/b&amp;gt; product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;¯9○&amp;amp;lt;(∘⌻¯9○L)+.×&amp;amp;gt;¯9○R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;b&amp;gt;Quaternions only&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;where &amp;lt;apll&amp;gt;¯9○R&amp;lt;/apll&amp;gt; returns &amp;lt;apll&amp;gt;(R-+R)÷2&amp;lt;/apll&amp;gt;, i.e. as a pure imaginary number&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;D&amp;lt;/b&amp;gt;ot product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(&amp;amp;gt;L)+.×&amp;amp;gt;R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;(same)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;c&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt;onjugation product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L×R÷L&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;where &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; may be &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;.  &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; must be a square simple Real numeric matrix.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, the result is a Complex floating point vector of the [https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors Eigenvalues] of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is 2, the result is a Complex floating point matrix of the [https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors Eigenvectors] of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, one per column.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;, the result is a two-element nested vector with a Complex vector of the Eigenvalues in the first element and a Complex matrix of the Eigenvectors in the second.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;, the result is a three-element nested vector with a Complex vector of the Eigenvalues in the first element, a Complex matrix of the Eigenvectors in the second, and a Real matrix of the Schur vectors in the third.  For more details see [[#Eigenvalues_and_Eigenvectors|Eigenvalues and Eigenvectors]].&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;.&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;/0⍴⊂R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; &amp;amp;mdash; this value is used only when the identity function for inner product is called so as to distinguish the Left identity element from the Right.  For example, with &amp;lt;apll&amp;gt;R←3 4⍴⍳12&amp;lt;/apll&amp;gt;, the expression &amp;lt;apll&amp;gt;⊃+.×⍠&#039;l&#039;/0⍴⊂R&amp;lt;/apll&amp;gt; produces the Left identity element (which is a &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; by &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; identity matix) and &amp;lt;apll&amp;gt;⊃+.×⍠&#039;r&#039;/0⍴⊂R&amp;lt;/apll&amp;gt; produces the Right identity element (which is a &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt; by &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt; identity matrix).  The actual values in the result are dependent on the functions &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Subsequences==&lt;br /&gt;
&lt;br /&gt;
===Ascending===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;An Ascending subsequence of one vector in another (&amp;lt;apll&amp;gt;L⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt;) is a set of indices of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; (barring items Not Found) such that &amp;lt;apll&amp;gt;R≡L[L⍳⍠&#039;a&#039; R]&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;∧/2&amp;amp;lt;/L⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt;, that is the indices are monotonically increasing.  This primitive is written such that it returns the smallest values that satisfy the above conditions.  All datatypes are valid for the left and right arguments; the result is always an integer vector of the same length as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L←2 7 1 5 7 1 2 1 7 1&lt;br /&gt;
      R←5 2 7 1&lt;br /&gt;
      L⍳⍠&#039;a&#039; R&lt;br /&gt;
4 7 9 10&lt;br /&gt;
      L[L⍳⍠&#039;a&#039; R]&lt;br /&gt;
5 2 7 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, the corresponding value in the result is &amp;lt;apll&amp;gt;⎕IO+⍴L&amp;lt;/apll&amp;gt;.  Moreover, if an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, then all following elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are also Not Found.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Continuing the above example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      LL←L,3&lt;br /&gt;
      RR←R,9 3&lt;br /&gt;
      LL⍳⍠&#039;a&#039; RR&lt;br /&gt;
4 7 9 10 12 12&lt;br /&gt;
      (LL,&#039;?&#039;)[LL⍳⍠&#039;a&#039; RR]&lt;br /&gt;
5 2 7 1 ??&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Descending===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A Descending subsequence of one vector in another (&amp;lt;apll&amp;gt;L⍳⍠&#039;d&#039; R&amp;lt;/apll&amp;gt;) is a set of indices of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; (barring items Not Found) such that &amp;lt;apll&amp;gt;R≡L[L⍳⍠&#039;d&#039; R]&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;∧/2&amp;amp;gt;/L⍳⍠&#039;d&#039; R&amp;lt;/apll&amp;gt;, that is the indices are monotonically decreasing.  This primitive is written such that it returns the largest values that satisfy the above conditions.  All datatypes are valid for the left and right arguments; the result is always an integer vector of the same length as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L←1 2 5 7 2 1 5 7 1 2 5 5 1 2 7&lt;br /&gt;
      R←5 2 7 1&lt;br /&gt;
      L⍳⍠&#039;d&#039; R&lt;br /&gt;
12 10 8 6&lt;br /&gt;
      L[L⍳⍠&#039;d&#039; R]&lt;br /&gt;
5 2 7 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, the corresponding value in the result is &amp;lt;apll&amp;gt;⎕IO-1&amp;lt;/apll&amp;gt;.  Moreover, if an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, then all following elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are also Not Found.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Continuing the above example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      LL←3,L&lt;br /&gt;
      RR←R,9 3&lt;br /&gt;
      LL⍳⍠&#039;d&#039; RR&lt;br /&gt;
13 11 9 7 0 0&lt;br /&gt;
      (&#039;?&#039;,LL)[1+LL⍳⍠&#039;d&#039; RR]&lt;br /&gt;
5 2 7 1 ??&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Combining Variants===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Dyadic Iota allows several other Variants such as setting the Index Origin and Comparison Tolerance.  They may be combined into one right operand, for example, any of the following expressions&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;      L⍳⍠(0 1&amp;lt;_E/&amp;gt;¯10 &#039;d&#039;) R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; or&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;      L⍳⍠(0 &#039;d&#039; 1&amp;lt;_E/&amp;gt;¯10) R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; or&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;      L⍳⍠(&#039;d&#039; 0 1&amp;lt;_E/&amp;gt;¯10) R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;may be used to find a Descending Subsequence in origin-0 using a Comparison Tolerance of &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯10&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The order of the two numeric values is important:  if there is only one number in the right operand, it is applied to the Index Origin; if there are two numbers, the first is applied to the Index Origin and the second to the Comparison Tolerance.  The character value may appear anywhere in the right operand &amp;amp;mdash; however if a second character-valued Variant were defined for Dyadic Iota, then the two character values would also be order-dependent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Identities For Subsequences===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following identities hold in either Index Origin even if there are Not Found values in the result:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;      (L⍳⍠&#039;a&#039; R)≡(1 ¯1[1]+⍴L)-(⌽L)⍳⍠&#039;d&#039; R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;      (L⍳⍠&#039;d&#039; R)≡(1 ¯1[1]+⍴L)-(⌽L)⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rising and Falling Factorials==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A falling factorial is like a normal factorial except that it subtracts the step value (by default &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; unless overridden) from the original number for a fixed # of iterations.  That is, &amp;lt;apll&amp;gt;!6&amp;lt;/apll&amp;gt; successively decrements &amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt; by &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; and multiplies the numbers &amp;lt;apll&amp;gt;6 5 4 3 2 1&amp;lt;/apll&amp;gt; to get &amp;lt;apll&amp;gt;720&amp;lt;/apll&amp;gt;.  A falling factorial starting with &amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt; of length (say) &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; multiplies &amp;lt;apll&amp;gt;6 5 4&amp;lt;/apll&amp;gt; to get &amp;lt;apll&amp;gt;120&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A rising factorial is like a falling factorial except it adds the step value (by default &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; unless overridden) instead of subtracting it.  A rising factorial starting with &amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt; of length (say) &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; multiplies &amp;lt;apll&amp;gt;6 7 8&amp;lt;/apll&amp;gt; to get &amp;lt;apll&amp;gt;336&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some examples of the falling factorial&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      !6 &lt;br /&gt;
720 &lt;br /&gt;
      (!⍠¯6)6 ⍝ ×/6 5 4 3 2 1 &lt;br /&gt;
720 &lt;br /&gt;
      (!⍠¯5)6 ⍝ ×/6 5 4 3 2 &lt;br /&gt;
720 &lt;br /&gt;
      (!⍠¯4)6 ⍝ ×/6 5 4 3 &lt;br /&gt;
360 &lt;br /&gt;
      (!⍠¯3)6 ⍝ ×/6 5 4 &lt;br /&gt;
120 &lt;br /&gt;
      (!⍠¯2)6 ⍝ ×/6 5&lt;br /&gt;
30 &lt;br /&gt;
      (!⍠¯1)6 ⍝ ×/6 &lt;br /&gt;
6 &lt;br /&gt;
      (!⍠¯0)6 ⍝ ×/⍬ &lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;and now falling by &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (!⍠(¯6 2))6 ⍝ ×/6 4 2 0 ¯2 ¯4 &lt;br /&gt;
0 &lt;br /&gt;
      (!⍠(¯5 2))6 ⍝ ×/6 4 2 0 ¯2 &lt;br /&gt;
0 &lt;br /&gt;
      (!⍠(¯4 2))6 ⍝ ×/6 4 2 0 &lt;br /&gt;
0 &lt;br /&gt;
      (!⍠(¯3 2))6 ⍝ ×/6 4 2 &lt;br /&gt;
48 &lt;br /&gt;
      (!⍠(¯2 2))6 ⍝ ×/6 4 &lt;br /&gt;
24 &lt;br /&gt;
      (!⍠(¯1 2))6 ⍝ ×/6 &lt;br /&gt;
6 &lt;br /&gt;
      (!⍠(¯0 2))6 ⍝ ×/⍬ &lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;and here are some examples of the rising factorial&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (!⍠6)6 ⍝ ×/6 7 8 9 10 11 &lt;br /&gt;
332640 &lt;br /&gt;
      (!⍠5)6 ⍝ ×/6 7 8 9 10 &lt;br /&gt;
30240 &lt;br /&gt;
      (!⍠4)6 ⍝ ×/6 7 8 9 &lt;br /&gt;
3024 &lt;br /&gt;
      (!⍠3)6 ⍝ ×/6 7 8 &lt;br /&gt;
336 &lt;br /&gt;
      (!⍠2)6 ⍝ ×/6 7&lt;br /&gt;
42&lt;br /&gt;
      (!⍠1)6 ⍝ ×/6&lt;br /&gt;
6&lt;br /&gt;
      (!⍠0)6 ⍝ ×/⍬&lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;and now rising by &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (!⍠(6 2))6 ⍝ ×/6 8 10 12 14 16 &lt;br /&gt;
1290240 &lt;br /&gt;
      (!⍠(5 2))6 ⍝ ×/6 8 10 12 14 &lt;br /&gt;
80640 &lt;br /&gt;
      (!⍠(4 2))6 ⍝ ×/6 8 10 12 &lt;br /&gt;
5760 &lt;br /&gt;
      (!⍠(3 2))6 ⍝ ×/6 8 10 &lt;br /&gt;
480 &lt;br /&gt;
      (!⍠(2 2))6 ⍝ ×/6 8 &lt;br /&gt;
48 &lt;br /&gt;
      (!⍠(1 2))6 ⍝ ×/6 &lt;br /&gt;
6 &lt;br /&gt;
      (!⍠(0 2))6 ⍝ ×/⍬ &lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Identities For Rising and Falling Factorials===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠N)R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp; ←→ &amp;amp;nbsp;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N 1))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N 0))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp; ←→ &amp;amp;nbsp;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R*N&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N1,N2))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp; ←→ &amp;amp;nbsp;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N1,|N2))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;(the sign of &amp;lt;apll&amp;gt;N2&amp;lt;/apll&amp;gt; is ignored)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eigenvalues and Eigenvectors==&lt;br /&gt;
&lt;br /&gt;
These [https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors concepts] from Linear Algebra and Matrix Theory define the characteristic values and vectors of the linear transformation represented by a matrix.  Every square simple Real numeric matrix has Eigenvalues and Eigenvectors.  To calculate these objects, use the Variant operator with a left operand of the Domino function and a right operand of an integer scalar according to the following table:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; rules=&amp;quot;all&amp;quot; summary=&amp;quot;&amp;quot; style=&amp;quot;&amp;quot;border:1px solid black;&amp;quot;&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠1 RA&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a Complex floating point vector of the Eigenvalues of &amp;lt;apll&amp;gt;RA&amp;lt;/apll&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠2 RA&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a Complex floating point matrix of the Eigenvectors of &amp;lt;apll&amp;gt;RA&amp;lt;/apll&amp;gt;, one per column&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠3 RA&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a two-element nested vector with a Complex floating point vector of the Eigenvalues (&amp;lt;apll&amp;gt;⌹⍠1 RA&amp;lt;/apll&amp;gt;) in the first element and a Complex floating point matrix of the Eigenvectors (&amp;lt;apll&amp;gt;⌹⍠2 RA&amp;lt;/apll&amp;gt;) in the second&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠4 RA&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a three-element nested vector with a Complex floating point vector of the Eigenvalues (&amp;lt;apll&amp;gt;⌹⍠1 RA&amp;lt;/apll&amp;gt;) in the first element, a Complex floating point matrix of the Eigenvectors (&amp;lt;apll&amp;gt;⌹⍠2 RA&amp;lt;/apll&amp;gt;) in the second, and a Real matrix of the Schur vectors in the third&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠5 RA&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a two-element nested vector consisting of the QR Decomposition of &amp;lt;apll&amp;gt;RA&amp;lt;/apll&amp;gt;; the first element is &amp;lt;apll&amp;gt;Q&amp;lt;/apll&amp;gt;, an orthonormal matrix (&amp;lt;apll&amp;gt;Q≡⍉⌹Q&amp;lt;/apll&amp;gt;) and the second element is &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, an upper-triangular matrix, which, together, satisfy the identity &amp;lt;apll&amp;gt;RA≡Q+.×R&amp;lt;/apll&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, Eigenvalues and Eigenvectors can be used to calculate the factorial of a matrix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;ensp;       M←2 2⍴1 3 2 1&lt;br /&gt;
&amp;amp;ensp;       M&lt;br /&gt;
&amp;amp;ensp; 1 3&lt;br /&gt;
&amp;amp;ensp; 2 1&lt;br /&gt;
&amp;amp;ensp;       MatFact←{(Eval Evec)←⌹⍠3 ⍵&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;⋄ Diag←∘⌻!Eval ⍝ Factorial of Eigenvalues on diagonal&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;⋄ Evec+.×Diag+.×⌹Evec}&lt;br /&gt;
&amp;amp;ensp;       MatFact M&lt;br /&gt;
&amp;amp;ensp; 3.6274 8.8423&lt;br /&gt;
&amp;amp;ensp; 5.8949 3.6274&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if we delete the Shriek function in &amp;lt;apll&amp;gt;MatFact&amp;lt;/apll&amp;gt;, the result is the original matrix argument.&lt;br /&gt;
&lt;br /&gt;
In turn, the function &amp;lt;apll&amp;gt;MatFact&amp;lt;/apll&amp;gt; can be used to calculate the Factorial of a HyperComplex number:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;ensp;       HyperFact←{M←∘⌻⍵        ⍝ Matrix representation of a HyperComplex number&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;⋄ ⎕IO←1 ⋄ &amp;lt;9○1⌷[2] MatFact M  ⍝ Factorial ...&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;}&lt;br /&gt;
&amp;amp;ensp;       HyperFact 1&amp;lt;_i/&amp;gt;2&lt;br /&gt;
&amp;amp;ensp; 0.11229&amp;lt;_i/&amp;gt;0.32361&lt;br /&gt;
&amp;amp;ensp;       !1&amp;lt;_i/&amp;gt;2&lt;br /&gt;
&amp;amp;ensp; 0.11229&amp;lt;_i/&amp;gt;0.32361&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the latter expression uses the Gnu Scientific Library Complex number routines to calculate the Factorial of a Complex number.&lt;br /&gt;
&lt;br /&gt;
In a similar manner, using the appropriate &amp;lt;apll&amp;gt;4×4&amp;lt;/apll&amp;gt; matrix representation of a Quaternion, its Factorial can be calculated which is the algorithm used in the implementation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;ensp;       HyperFact &amp;lt;⍳4&lt;br /&gt;
&amp;amp;ensp; 0.0060975&amp;lt;_i/&amp;gt;¯0.0010787&amp;lt;_j/&amp;gt;¯0.001618&amp;lt;_k/&amp;gt;¯0.0021573&lt;br /&gt;
&amp;amp;ensp;       !&amp;lt;⍳4&lt;br /&gt;
&amp;amp;ensp; 0.0060975&amp;lt;_i/&amp;gt;¯0.0010787&amp;lt;_j/&amp;gt;¯0.001618&amp;lt;_k/&amp;gt;¯0.0021573&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Article footer|9|Variant}}&lt;br /&gt;
[[Category:Operators]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_DR&amp;diff=3873</id>
		<title>System Function DR</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_DR&amp;diff=3873"/>
		<updated>2024-02-18T20:07:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Special Values */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function is available in both &#039;&#039;monadic&#039;&#039; and &#039;&#039;dyadic&#039;&#039; forms.&lt;br /&gt;
==Monadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←⎕DR R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|returns the internal representation of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine |&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array.}}&lt;br /&gt;
{{BoxEnd  |&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar which represents the datatype of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The low-order two digits of the result encode the internal representation as a unique index for each category.  The high-order two digits of the result encode either the number of bits per element (where appropriate), or for Hypercomplex numbers, the internal representation of the coefficients:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;:  Boolean, one bit per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;:  Character, 16 bits per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;:  Integer, 64 bits per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;:  Floating Point, 64 bits per element (double precision)&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;14&amp;lt;/apll&amp;gt;:  Rational, 16 bytes plus two 4- or 8-byte pointers plus size of limbs per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;15&amp;lt;/apll&amp;gt;:  Variable-precision Floating Point, 12 bytes plus one 4- or 8-byte pointer plus size of limbs per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;1216&amp;lt;/apll&amp;gt;:  64-bit Integer Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1316&amp;lt;/apll&amp;gt;:  64-bit Floating Point Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1416&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1516&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1217&amp;lt;/apll&amp;gt;:  64-bit Integer Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1317&amp;lt;/apll&amp;gt;:  64-bit Floating Point Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1417&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1517&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1218&amp;lt;/apll&amp;gt;:  64-bit Integer Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1318&amp;lt;/apll&amp;gt;:  64-bit Floating Point Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1418&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1518&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;19&amp;lt;/apll&amp;gt;:  Arithmetic Progression Array, 64 bits each for the offset and multiplier&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;20&amp;lt;/apll&amp;gt;:  Heterogeneous, one 4- or 8-byte pointer per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;21&amp;lt;/apll&amp;gt;:  Nested, one 4- or 8-byte pointer per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;22&amp;lt;/apll&amp;gt;:  Real (one-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2216&amp;lt;/apll&amp;gt;:  Complex (two-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2217&amp;lt;/apll&amp;gt;:  Quaternion (four-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2218&amp;lt;/apll&amp;gt;:  Octonion (eight-dimensional) Ball Arithmetic&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕DR 1 0 1&lt;br /&gt;
110 &lt;br /&gt;
      ⎕DR ⌈/⍬&lt;br /&gt;
6413 &lt;br /&gt;
      ⎕DR 2 64⍴1   &amp;amp;mdash; Note [1]  &lt;br /&gt;
19 &lt;br /&gt;
      ⎕DR 2 64⍴1 1 &amp;amp;mdash; Note [2]  &lt;br /&gt;
110&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; This is really an APA, not Boolean &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; This one is Boolean because Reshape produces APAs for integer singleton right arguments only&lt;br /&gt;
&lt;br /&gt;
==Dyadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←L ⎕DR R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar or one-element vector datatype (see the table above), or a special value (see below).}}&lt;br /&gt;
{{BoxEnd|&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; where each of the values are converted to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Returned value &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; may alternatively be: numeric scalar, vector of numbers, or a character string - depending on what the value of left argument &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the conversion is from a narrower datatype to a wider datatype, there must be exactly enough columns in the right argument to match a multiple of the size of the wider datatype.  For example, when converting from character (16-bit) to integer (64-bit), the last column of the right argument must be a multiple of 4 (= 64/16); otherwise, a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the following example, an 8-element character vector (=128 bits) is converted to two 64-bit integers (in both NARS2000 32- and 64-bit versions integers are stored in 64-bits):&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR &#039;NARS2000&#039;&lt;br /&gt;
23362775258562638 13511005043687474&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the conversion is from a wider datatype to a narrower datatype, the number of values in the result is a multiple of the ratio of the wider datatype to the narrower datatype.  For example, when converting from integer (64-bit) to character (16-bit), the last column in the result is the product of last column of the right argument and 4 (= 64/16).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example (&#039;&#039;&#039;inverse&#039;&#039;&#039; of the example just above),&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍴⎕←1611 ⎕DR 23362775258562638 13511005043687474&lt;br /&gt;
NARS2000&lt;br /&gt;
8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Keep in mind how [[APA|Arithmetic Progression Arrays]]&#039;&#039;&#039; are created and represented; they can fool both the casual programmer as well as an experienced coder.  For example, one might try the following to convert from Boolean to integer:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR 2 64⍴1 ⍝ Conversion of an APA to an integer&lt;br /&gt;
1 0 2 64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;However, this doesn&#039;t produce the expected result because this particular right argument is an &amp;lt;apll&amp;gt;APA&amp;lt;/apll&amp;gt;, and &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; a simple Boolean vector of 1s.  That is, under certain circumstances, the reshape primitive creates an APA.  In this case, the APA is an array with an offset of &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, a multiplier of &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; and a shape of &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt; rows and &amp;lt;apll&amp;gt;64&amp;lt;/apll&amp;gt; cols.  The usefulness of APA&#039;s in reducing data storage and processing times outweighs their sometimes added code complexity or additional insight, which may be required.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;On the other hand, this expression:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR 2 64⍴1 1 ⍝ Contrast this with the prior example - Boolean vector created here, NOT an APA&lt;br /&gt;
 ¯1&lt;br /&gt;
 ¯1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;produces the expected result because the right argument is not an integer-valued singleton (in fact, it is a two-element vector which is not eligible for conversion to an APA).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Special Values===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There are several special values you may use as a left argument to &amp;lt;apll&amp;gt;⎕DR&amp;lt;/apll&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; displays the datatype of the right argument as a text &#039;&#039;&#039;string&#039;&#039;&#039; so you don&#039;t need to remember the datatype numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕DR 0&lt;br /&gt;
110&lt;br /&gt;
      0 ⎕DR 0&lt;br /&gt;
Boolean (110):  1 bit per element&lt;br /&gt;
      ⎕DR 23&lt;br /&gt;
6412&lt;br /&gt;
      0 ⎕DR 23 24&lt;br /&gt;
Integer (6412):  64 bits per element&lt;br /&gt;
      ⎕DR 1.1&lt;br /&gt;
6413&lt;br /&gt;
      0 ⎕DR 1.1&lt;br /&gt;
Floating Point (6413):  64 bits per element&lt;br /&gt;
      ⎕DR &#039;a&#039;&lt;br /&gt;
1611&lt;br /&gt;
      0 ⎕DR &#039;a&#039;&lt;br /&gt;
Character (1611):  16 bits per element&lt;br /&gt;
      ⎕DR ⍳12&lt;br /&gt;
19&lt;br /&gt;
      0 ⎕DR ⍳12&lt;br /&gt;
Arithmetic Progression Array (19):  64 bit offset + 64 bit multiplier -- PV1&lt;br /&gt;
      0 ⎕dr 1 2 3&amp;lt;_x/&amp;gt;&lt;br /&gt;
Rational (14):  arbitrary precision numerator and denominator&lt;br /&gt;
      0 ⎕dr 1 2 3&amp;lt;_v/&amp;gt;&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC128&lt;br /&gt;
      0 ⎕DR 1v64 2&amp;lt;_v/&amp;gt;64&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC64 &lt;br /&gt;
      0 ⎕DR 1 2&amp;lt;_v/&amp;gt;64&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC-Mixed&lt;br /&gt;
      0 ⎕DR ⍳¨⍳9&lt;br /&gt;
Nested Array (21):  PTR bits per element&lt;br /&gt;
      0 ⎕DR &#039;a&#039; 1&lt;br /&gt;
Heterogeneous Array (20):  PTR bits per element&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Note that the storage format for integers (&amp;lt;apll&amp;gt;23 24&amp;lt;/apll&amp;gt; in the above examples) is 64-bits per element and APAs (&amp;lt;apll&amp;gt;⍳12&amp;lt;/apll&amp;gt;) is 64-bits for both the offset and multiplier regardless of whether you are running the 32- or 64-bit version of NARS2000.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the last two examples, the reference to &amp;lt;apll&amp;gt;PTR&amp;lt;/apll&amp;gt; means that storage format consists of pointers and is either 32- or 64-bits per element in the 32- or 64-bit version of NARS2000, respectively.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Many times in programming - for debugging, data scrutiny or other purposes - it is very important to know &amp;lt;b&amp;gt;exactly&amp;lt;/b&amp;gt; how the data is represented by the program. &amp;lt;apll&amp;gt;⎕DR&amp;lt;/apll&amp;gt; or Data Representation is a feature designed to allow close scrutiny of how data is stored in memory and operated on in NARS2000.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Some arrays have properties that may be displayed by this function:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;PV0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;This array is a Permutation Vector, origin-0&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;PV1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a Permutation Vector, origin-1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;All2s&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array consists of all &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;s&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;FPC&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;nnn&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a VFP and all entries are represented in Precision &amp;lt;i&amp;gt;nnn&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;FPC-Mixed&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a VFP whose entries are represented in two or more different precisions&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; converts between hex-character and floating point computer formats.  This argument makes it very useful to view representations of floating point numbers - in order to better understand numeric precisions, program storage formats, debug multi-precision floating-point math routines (by NARS developers) or examine perceived floating point issues.  Because this function converts between floating point and character format, it is self-inverse.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕PP←99&lt;br /&gt;
      1 ⎕DR 1.1&lt;br /&gt;
3FF199999999999A&lt;br /&gt;
      ⍴1 ⎕DR 1.1&lt;br /&gt;
16&lt;br /&gt;
      1 ⎕DR 1&lt;br /&gt;
3FF0000000000000&lt;br /&gt;
      1 ⎕DR ÷3&lt;br /&gt;
3FD5555555555555&lt;br /&gt;
      1 ⎕DR &#039;3fd&#039;,13⍴&#039;5&#039;&lt;br /&gt;
0.3333333333333333&lt;br /&gt;
      1 ⎕DR ¯∞ ∞&lt;br /&gt;
FFF0000000000000&lt;br /&gt;
7FF0000000000000&lt;br /&gt;
      1 ⎕DR &#039;7fe&#039;,13⍴&#039;f&#039; ⍝ The largest positive number&lt;br /&gt;
1.7976931348623157E308&lt;br /&gt;
      1 ⎕DR &#039;001&#039;,13⍴&#039;0&#039; ⍝ The smallest positive number&lt;br /&gt;
2.2250738585072014E¯308&lt;br /&gt;
      1 ⎕DR &#039;801&#039;,13⍴&#039;0&#039; ⍝ The largest negative number&lt;br /&gt;
¯2.2250738585072014E¯308&lt;br /&gt;
      1 ⎕DR &#039;ffe&#039;,13⍴&#039;f&#039; ⍝ The smallest negative number&lt;br /&gt;
¯1.7976931348623157E308&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt; converts between character and 64-bit integer.  This argument makes it easy to see the representation of integers.  Because this function converts between integer and character format, it is self-inverse.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      2 ⎕DR ¯1&lt;br /&gt;
FFFFFFFFFFFFFFFF&lt;br /&gt;
      2 ⎕DR 16⍴&#039;f&#039;&lt;br /&gt;
¯1&lt;br /&gt;
      2 ⎕DR &#039;7&#039;,15⍴&#039;f&#039; ⍝ The largest positive integer&lt;br /&gt;
9223372036854775807&lt;br /&gt;
      2 ⎕DR &#039;8&#039;,15⍴&#039;0&#039; ⍝ The smallest negative integer&lt;br /&gt;
¯9223372036854775808&lt;br /&gt;
      2 ⎕DR 9223372036854775807 ¯9223372036854775808&lt;br /&gt;
7FFFFFFFFFFFFFFF&lt;br /&gt;
8000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; returns the precision in bits of the right argument array as a simple scalar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      3 ⎕DR 0 1&lt;br /&gt;
1&lt;br /&gt;
      3 ⎕DR ⍳3&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR ÷2 3&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR ÷2 3&amp;lt;_x/&amp;gt;&lt;br /&gt;
∞&lt;br /&gt;
      3 ⎕DR 2.3&amp;lt;_v/&amp;gt; ⍝ Returns the value of ⎕FPC when the constant was tokenized&lt;br /&gt;
128&lt;br /&gt;
      3 ⎕DR 1&amp;lt;_v/&amp;gt;64&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR &#039;a&#039;&lt;br /&gt;
0&lt;br /&gt;
      3 ⎕DR &#039;a&#039; 1&lt;br /&gt;
0&lt;br /&gt;
      3 ⎕DR ⊂1 2&lt;br /&gt;
0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt; returns the numerator and denominator of a right argument Rational array as a Rational integer array whose shape is &amp;lt;apll&amp;gt;2,{rho}R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;      ⍴⎕←4 ⎕dr 1&amp;lt;_r/&amp;gt;3&lt;br /&gt;
1 3 &lt;br /&gt;
2&lt;br /&gt;
      ⍴⎕←4 ⎕dr ,1&amp;lt;_r/&amp;gt;3&lt;br /&gt;
1&lt;br /&gt;
3&lt;br /&gt;
2 1 &lt;br /&gt;
      ⍴⎕←4 ⎕dr 1&amp;lt;_r/&amp;gt;3 3&amp;lt;_r/&amp;gt;7&lt;br /&gt;
1 3&lt;br /&gt;
3 7&lt;br /&gt;
2 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Word of Caution===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This system function allows you to create special numbers we don&#039;t support in that no other primitive generates these numbers and the behavior of all other primitives on these numbers is undefined.  Examples of such special numbers include [https://en.wikipedia.org/wiki/NaN#Quiet_NaN Quiet NaNs], [https://en.wikipedia.org/wiki/NaN#Signaling_NaN Signaling NaNs], [https://en.wikipedia.org/wiki/Signed_zero Negative Zero], and [https://en.wikipedia.org/wiki/Denormal_number Denormals].  If the system doesn&#039;t behave as you expect when using these special numbers, don&#039;t be surprised.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕CT←0 ⋄ ⎕PP←99&lt;br /&gt;
      6413 ⎕DR ¯64↑1&lt;br /&gt;
¯0&lt;br /&gt;
      QNaN←6413 ⎕DR ¯64↑13⍴1 ⍝ The Real Indefinite (Quiet NaN)  where NaN = Not a Number&lt;br /&gt;
      1 ⎕DR QNaN&lt;br /&gt;
FFF8000000000000&lt;br /&gt;
      QNaN=QNaN&lt;br /&gt;
0&lt;br /&gt;
      1 ⎕DR &#039;000fffffffffffff&#039; ⍝ The largest positive denormal&lt;br /&gt;
2.225073858507201E¯308&lt;br /&gt;
      1 ⎕DR &#039;0000000000000001&#039; ⍝ The smallest positive denormal&lt;br /&gt;
5E¯324&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is incomplete support for negative zero (&amp;lt;apll&amp;gt;¯0&amp;lt;/apll&amp;gt;) in NARS2000.  It may be enabled by setting the second element of &amp;lt;apll&amp;gt;⎕FEATURE&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, i.e. &amp;lt;apll&amp;gt;⎕FEATURE[2]←1&amp;lt;/apll&amp;gt;.  If you dare to try this concept, please report any problems in the usual manner via the [http://forum.nars2000.org/forum12.html?sid=18df73b72fccdedc847f3990d8b07410 forum], but please understand this feature is not fully supported.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
See also &#039;&#039;&#039;[[System_Variable_CT|System Variable ⎕CT]]&#039;&#039;&#039; and &#039;&#039;&#039;[[System_Variable_PP|System Variable ⎕PP]]&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{SFDM|DR}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Dual&amp;diff=3872</id>
		<title>Dual</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Dual&amp;diff=3872"/>
		<updated>2024-02-16T01:09:38Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍢&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; to or between the arguments.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an optional array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary ambivalent function.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function with an inverse.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The concept of the Dual operator was described in Ken Iverson&#039;s paper on [https://www.jsoftware.com/papers/opfns.htm Operators and Functions].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This operator is implemented via the anonymous function:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
{⍺←⍣0 ⋄ ⍵⍵⍣¯1 (⍵⍵ ⍺) ⍺⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Power&amp;diff=3871</id>
		<title>Power</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Power&amp;diff=3871"/>
		<updated>2024-02-12T22:17:04Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i/&amp;gt;⍣&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;successively applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; (or, if there is a Left argument, the function &amp;lt;apll&amp;gt;L∘&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;) to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; until the expression &amp;lt;apll&amp;gt;Z&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt; &amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; Z&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;&amp;lt;/apll&amp;gt; returns a singleton &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;.  &amp;lt;apll&amp;gt;Z&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;Z&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;&amp;lt;/apll&amp;gt; represent two consecutive applications of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; (or &amp;lt;apll&amp;gt;L∘&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;) to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; where &amp;lt;apll&amp;gt;Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;←R&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;Z&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;←&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt; Z&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;&amp;lt;/apll&amp;gt; (or &amp;lt;apll&amp;gt;Z&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;←L∘&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt; Z&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;&amp;lt;/apll&amp;gt;).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i/&amp;gt;⍣&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;for non-negative integer scalar &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, successively applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; (or, if there is a Left argument, the function &amp;lt;apll&amp;gt;L∘&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;) to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; number of times;&amp;lt;br/&amp;gt;&lt;br /&gt;
      for a negative integer scalar &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, successively applies the inverse of the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; (or, if there is a Left argument, the inverse to the function &amp;lt;apll&amp;gt;L∘&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;|&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; number of times&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are arbitrary arrays.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;4&amp;quot;&amp;gt;In the first case, &amp;lt;apll&amp;gt;Z&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt; &amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; Z&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;&amp;lt;/apll&amp;gt; must return a Boolean-valued singleton; otherwise a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signaled.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;4&amp;quot;&amp;gt;In the second case, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; must be an integer scalar, otherwise a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signaled.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      sqrt←{{0.5×⍵+⍺÷⍵}⍣=⍨⍵} ⍝ Calculate square root using Newton&#039;s method&lt;br /&gt;
      sqrt 2&lt;br /&gt;
1.414213562373095&lt;br /&gt;
      sqrt 2&amp;lt;_x/&amp;gt;&lt;br /&gt;
1.41421356237309504880168872420969807857&lt;br /&gt;
      √2&amp;lt;_x/&amp;gt;&lt;br /&gt;
1.41421356237309504880168872420969807857&lt;br /&gt;
      fib←{⍵,+/¯2↑⍵} ⍝ Calculate a Fibonacci sequence&lt;br /&gt;
      fib⍣15   1 1&lt;br /&gt;
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 &lt;br /&gt;
      pow←{⍵=0:,1 ⋄ ⍺+⍡×⍣(⍵-1) ⍺} ⍝ Raise a polynomial to a non-negative integer power&lt;br /&gt;
      1 ¯1 pow 5&lt;br /&gt;
1 ¯5 10 ¯10 5 ¯1&lt;br /&gt;
      phi←1+∘÷⍣=1 ⍝ Calculate the Golden Ratio&lt;br /&gt;
      phi&lt;br /&gt;
1.618033988749894&lt;br /&gt;
      phi=0.5×1+√5&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Inverses=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When the right operand to the Power Operator is a negative integer scalar, the inverse of the function left operand is applied to the right argument.  If &amp;lt;apll&amp;gt;f f⍣¯1 R ←→ R&amp;lt;/apll&amp;gt;, then &amp;lt;apll&amp;gt;f⍣¯1&amp;lt;/apll&amp;gt; is a Right Identity Function, and if &amp;lt;apll&amp;gt;f⍣¯1 f R ←→ R&amp;lt;/apll&amp;gt;, then &amp;lt;apll&amp;gt;f⍣¯1&amp;lt;/apll&amp;gt; is a Left Identity Function, which all of the examples below satisfy.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;At the moment, only a few inverse functions are available as follows:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&#039;&#039;&#039;Function&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&#039;&#039;&#039;Meaning of Inverse&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&#039;&#039;&#039;Left/Right&amp;lt;br&amp;gt;Identity&amp;lt;br /&amp;gt;Function&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;     L⊥⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;apll&amp;gt;(N⍴L)⊤R&amp;lt;/apll&amp;gt; for &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; sufficiently large to display all digits of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;         10⊥⍣¯1      1234567890&amp;lt;br /&amp;gt;1 2 3 4 5 6 7 8 9 0&amp;lt;br /&amp;gt;      10⊥10⊥⍣¯1      1234567890&amp;lt;br /&amp;gt;1234567890&amp;lt;br /&amp;gt;         10⊥⍣¯1   10⊥1 2 3 4 5 6 7 8 9 0&amp;lt;br /&amp;gt;1 2 3 4 5 6 7 8 9 0 &amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;      ⊥⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2⊥⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;        ⊥⍣¯1   19&amp;lt;br /&amp;gt;1 0 0 1 1&amp;lt;br /&amp;gt;      2⊥⊥⍣¯1   19&amp;lt;br /&amp;gt;19&amp;lt;br /&amp;gt;        ⊥⍣¯1   2⊥1 0 0 1 1&amp;lt;br /&amp;gt;1 0 0 1 1 &amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;     L⊤⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L⊥R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;               10 10 10⊤⍣¯1            2 3 4&amp;lt;br /&amp;gt;234&amp;lt;br /&amp;gt;      10 10 10⊤10 10 10⊤⍣¯1            2 3 4&amp;lt;br /&amp;gt;2 3 4&amp;lt;br /&amp;gt;               10 10 10⊤⍣¯1   10 10 10⊤234&amp;lt;br /&amp;gt;234&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;     ×/⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;, that is, factor &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; into primes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;        ×/⍣¯1   130&amp;lt;br /&amp;gt;2 5 13&amp;lt;br /&amp;gt;      ×/×/⍣¯1   130&amp;lt;br /&amp;gt;130&amp;lt;br /&amp;gt;        ×/⍣¯1 ×/2 5 13&amp;lt;br /&amp;gt;2 5 13&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;      π⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;×/R&amp;lt;/apll&amp;gt;, that is, multiply together the prime factors in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;       π⍣¯1   2 5 13&amp;lt;br /&amp;gt;130&amp;lt;br /&amp;gt;      ππ⍣¯1   2 5 13&amp;lt;br /&amp;gt;2 5 13&amp;lt;br /&amp;gt;       π⍣¯1 π 130&amp;lt;br /&amp;gt;130&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;  +\[X]⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;¯2-\[X] R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;        +\⍣¯1   ⍳4&amp;lt;br /&amp;gt;1 1 1 1&amp;lt;br /&amp;gt;      +\+\⍣¯1   ⍳4&amp;lt;br /&amp;gt;1 2 3 4&amp;lt;br /&amp;gt;        +\⍣¯1+\ ⍳4&amp;lt;br /&amp;gt;1 2 3 4&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;¯2-\[X]⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;+\[X] R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;          ¯2-\⍣¯1        4⍴1&amp;lt;br /&amp;gt;1 2 3 4&amp;lt;br /&amp;gt;      ¯2-\¯2-\⍣¯1        4⍴1&amp;lt;br /&amp;gt;1 1 1 1&amp;lt;br /&amp;gt;          ¯2-\⍣¯1    ¯2-\4⍴1 &amp;lt;br /&amp;gt;1 1 1 1&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;  -\[X]⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(2-\[X] R)×[X](⍴R)[X]⍴¯1 1&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;      a←?5⍴10&amp;lt;br /&amp;gt;      a&amp;lt;br /&amp;gt;10 8 3 2 6&amp;lt;br /&amp;gt;        -\⍣¯1   a&amp;lt;br /&amp;gt;10 2 ¯5 1 4&amp;lt;br /&amp;gt;      -\-\⍣¯1   a&amp;lt;br /&amp;gt;10 8 3 2 6&amp;lt;br /&amp;gt;        -\⍣¯1-\ a&amp;lt;br /&amp;gt;10 8 3 2 6 &amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;  ÷\[X]⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(2÷\[X] R)*[X](⍴R)[X]⍴¯1 1&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;      a←?5⍴10&amp;lt;br /&amp;gt;      a&amp;lt;br /&amp;gt;10 8 3 2 6&amp;lt;br /&amp;gt;        ÷\⍣¯1   a&amp;lt;br /&amp;gt;10 1.25 0.375 1.5 3&amp;lt;br /&amp;gt;      ÷\÷\⍣¯1   a&amp;lt;br /&amp;gt;10 8 3 2 6&amp;lt;br /&amp;gt;        ÷\⍣¯1÷\ a&amp;lt;br /&amp;gt;10 8 3 2 6&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;   +∘÷/⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Display the [https://en.wikipedia.org/wiki/Continued_fraction Continued Fraction] expansion of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to at most &amp;lt;apll&amp;gt;⎕PP&amp;lt;/apll&amp;gt; terms&amp;lt;br /&amp;gt;This function is best used on Multiple Precision numbers&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;          +∘÷/⍣¯1     449&amp;lt;_r/&amp;gt;303&amp;lt;br /&amp;gt;1 2 13 3 1 2&amp;lt;br /&amp;gt;      +∘÷/+∘÷/⍣¯1     449&amp;lt;_r/&amp;gt;303&amp;lt;br /&amp;gt;449&amp;lt;_r/&amp;gt;303&amp;lt;br /&amp;gt;          +∘÷/⍣¯1 +∘÷/1 2 13 3 1 2&amp;lt;_x/&amp;gt;&amp;lt;br /&amp;gt;1 2 13 3 1 2&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;  L+∘÷/⍣¯1   R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Display the [https://en.wikipedia.org/wiki/Continued_fraction Continued Fraction] expansion of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to at most &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; terms&amp;lt;br /&amp;gt;This function is best used on Multiple Precision numbers&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline;&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;      phi←1+∘÷⍣=1   ⍝ Phi -- the Golden Ratio&amp;lt;br /&amp;gt;      20 +∘÷/⍣¯1   phi&amp;lt;br /&amp;gt;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1&amp;lt;br /&amp;gt;      20 +∘÷/⍣¯1   √2&amp;lt;br /&amp;gt;1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2&amp;lt;br /&amp;gt;      20 +∘÷/⍣¯1   *1&amp;lt;_x/&amp;gt;&amp;lt;br /&amp;gt;2 1 2 1 1 4 1 1 6 1 1 8 1 1 10 1 1 12 1 1&amp;lt;br /&amp;gt;      20 +∘÷/⍣¯1   ○1&amp;lt;_x/&amp;gt;&amp;lt;br /&amp;gt;3 7 15 1 292 1 1 1 2 1 3 1 14 2 1 1 2 2 2 2&amp;lt;br /&amp;gt;      +∘÷/35 +∘÷/⍣¯1   ○1&amp;lt;_x/&amp;gt;&amp;lt;br /&amp;gt;3.141592653589793238462643383279502884197&amp;lt;br /&amp;gt;      ○1&amp;lt;_x/&amp;gt;&amp;lt;br /&amp;gt;3.141592653589793238462643383279502884197&amp;lt;br /&amp;gt;          4 +∘÷/⍣¯1 +∘÷/○1&amp;lt;_x/&amp;gt;&amp;lt;br /&amp;gt;3 7 15 1&amp;lt;br /&amp;gt;      +∘÷\4 +∘÷/⍣¯1 &#039;r&#039; ⎕DC ○1&amp;lt;_x/&amp;gt;    ⍝ Convergents to Pi&amp;lt;br /&amp;gt;3 22&amp;lt;_r/&amp;gt;7 333&amp;lt;_r/&amp;gt;106 355&amp;lt;_r/&amp;gt;113&amp;lt;/apll&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;L and R&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Hyperators&amp;diff=3870</id>
		<title>Hyperators</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Hyperators&amp;diff=3870"/>
		<updated>2024-02-12T22:12:47Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Syntax Glitch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Object Orders==&lt;br /&gt;
&lt;br /&gt;
The sequence of objects:  Arrays, Functions, and Operators appear in ascending order with the property that each later object consumes one or two of the earlier objects and produces an object in the sequence one order less.  For example, a Function takes Array(s) and produces an Array; an Operator takes Array(s) and/or Function(s) and produces a (derived) Function.&lt;br /&gt;
&lt;br /&gt;
Hyperators extend this sequence by one:&lt;br /&gt;
&lt;br /&gt;
* a &#039;&#039;&#039;Hyperator&#039;&#039;&#039; has one or two &#039;&#039;&#039;Hyperands&#039;&#039;&#039; (any of Arrays, Functions, and/or Operators) and yields ...&lt;br /&gt;
* an &#039;&#039;&#039;Operator&#039;&#039;&#039; which has one or two &#039;&#039;&#039;Operands&#039;&#039;&#039; (any of Arrays and/or Functions) and yields ...&lt;br /&gt;
* a &#039;&#039;&#039;Function&#039;&#039;&#039; which has zero, one, or two &#039;&#039;&#039;Arguments&#039;&#039;&#039; (Arrays) and yields...&lt;br /&gt;
* an &#039;&#039;&#039;Array&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
That is, in the object hierarchy:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;center&amp;quot; style=&amp;quot;padding: 1em;&amp;quot; | Order&lt;br /&gt;
!align=&amp;quot;center&amp;quot; style=&amp;quot;border-bottom:1px solid; padding: 1em;&amp;quot; | Object&lt;br /&gt;
!align=&amp;quot;center&amp;quot; style=&amp;quot;border-bottom:1px solid; padding: 1em;&amp;quot; | Options&lt;br /&gt;
!align=&amp;quot;left&amp;quot;   style=&amp;quot;border-bottom:1px solid; padding: 1em;&amp;quot; | User-Defined Function Example&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|0&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|Array|| ||&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|1&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|Function&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|0, 1, 2&amp;lt;br/&amp;gt;Arguments&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;apll&amp;gt;∇Z←  fn0&amp;lt;br/&amp;gt;∇Z←  fn1 R&amp;lt;br/&amp;gt;∇Z←L fn2 R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|2&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|Operator&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|0, 1, 2&amp;lt;br/&amp;gt;Arguments&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;and&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;1 or 2&amp;lt;br/&amp;gt;Operands&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;apll&amp;gt;∇Z←  (LO op01)&amp;lt;br/&amp;gt;∇Z←  (LO op11) R&amp;lt;br/&amp;gt;∇Z←L (LO op21) R&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;∇Z←  (LO op02 RO)&amp;lt;br/&amp;gt;∇Z←  (LO op12 RO) R&amp;lt;br/&amp;gt;∇Z←L (LO op22 RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|3&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|Hyperator&lt;br /&gt;
|align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot;|0, 1, 2&amp;lt;br/&amp;gt;Arguments&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;and&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;1 or 2&amp;lt;br/&amp;gt;Operands&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;and&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;1 or 2&amp;lt;br/&amp;gt;Hyperands&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;apll&amp;gt;∇Z←  (LO (LH hy011))&amp;lt;br/&amp;gt;∇Z←  (LO (LH hy111)) R&amp;lt;br/&amp;gt;∇Z←L (LO (LH hy211)) R&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;∇Z←  (LO (LH hy021) RO)&amp;lt;br/&amp;gt;∇Z←  (LO (LH hy121) RO) R&amp;lt;br/&amp;gt;∇Z←L (LO (LH hy221) RO) R&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;∇Z←  (LO (LH hy012 RH))&amp;lt;br/&amp;gt;∇Z←  (LO (LH hy112 RH)) R&amp;lt;br/&amp;gt;∇Z←L (LO (LH hy212 RH)) R&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;∇Z←  (LO (LH hy022 RH) RO)&amp;lt;br/&amp;gt;∇Z←  (LO (LH hy122 RH) RO) R&amp;lt;br/&amp;gt;∇Z←L (LO (LH hy222 RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each Function, Operator, and Hyperator may have any of its lower order objects as its Arguments, Operands, or Hyperands, respectively.  Missing from the above table due to lack of space is the option for both Operators and Hyperators of using a Jot (∘) for one or both Operands or Hyperands to indicate a missing element.  Also missing is the usual [[User-Defined_Functions/Operators/Hyperators|function header enhancements]] such as Axis Operator, Optional Left Argument, Shy Result, Lists of Names in the Arguments, etc.&lt;br /&gt;
&lt;br /&gt;
==Anonymous Functions==&lt;br /&gt;
&lt;br /&gt;
Following the lead of John Scholes&amp;lt;ref name=&amp;quot;Scholes&amp;quot;&amp;gt;San Quirico Moot, http://archive.vector.org.uk/art10011760&amp;lt;/ref&amp;gt;, Anonymous Functions are [[Anonymous_Functions/Operators/Hyperators|extended to Hyperators]] by defining three new special symbols:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;apll&amp;gt;⍺⍺⍺&amp;lt;/apll&amp;gt; represents the Left Hyperand&lt;br /&gt;
* &amp;lt;apll&amp;gt;⍵⍵⍵&amp;lt;/apll&amp;gt; represents the Right Hyperand&lt;br /&gt;
* &amp;lt;apll&amp;gt;∇∇∇&amp;lt;/apll&amp;gt; represents the Hyperator itself&lt;br /&gt;
&lt;br /&gt;
==Scoping==&lt;br /&gt;
&lt;br /&gt;
Similar to Operators, Hyperators have &#039;&#039;&#039;short right scope&#039;&#039;&#039; and for the same reason:  so as to reduce the number of surrounding parentheses required to limit its right scope.  However, unlike Operators, Hyperators must have &#039;&#039;&#039;short left scope&#039;&#039;&#039;, too.  Here&#039;s why:&lt;br /&gt;
&lt;br /&gt;
Because Hyperators may take an operator as a hyperand, and in particular as a &#039;&#039;&#039;left hyperand&#039;&#039;&#039;, we need a way to pass both a function &#039;&#039;&#039;left operand&#039;&#039;&#039; and an operator &#039;&#039;&#039;left hyperand&#039;&#039;&#039;.  In particular, how can we pass &amp;lt;apll&amp;gt;+&amp;lt;/apll&amp;gt; as a left &#039;&#039;&#039;operand&#039;&#039;&#039; and &amp;lt;apll&amp;gt;/&amp;lt;/apll&amp;gt; as a left &#039;&#039;&#039;hyperand&#039;&#039;&#039; to a Hyperator?&lt;br /&gt;
&lt;br /&gt;
One&#039;s first choice might be to code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;      +/mhmo&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;mhmo&amp;lt;/apll&amp;gt; is a Monadic Hyperand Monadic Operand hyperator.  However, if Hyperators have long left scope, then the left hyperand in the above example is &amp;lt;apll&amp;gt;+/&amp;lt;/apll&amp;gt; and there is no left operand specified.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;      +(/)mhmo&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but this violates the APL2 rule on Redundant Parentheses (&amp;quot;Parentheses surrounding a primitive or constructed name, a character string (enclosed in quotation marks), or an already parenthesized expression are always redundant.&amp;quot;&amp;lt;ref name=&amp;quot;RedundantParens&amp;quot;&amp;gt;[https://www.ibm.com/downloads/cas/ZOKMYKOY APL2 Reference Manual, Second Edition, 1994, SH21-1061-01, p. 37]&amp;lt;/ref&amp;gt;), so that example is equivalent to the previous one.&lt;br /&gt;
&lt;br /&gt;
Only if Hyperators have &#039;&#039;&#039;short left scope&#039;&#039;&#039; can we pass a function as a left operand and an operator as the left hyperand to a Hyperator as in the example &amp;lt;apll&amp;gt;+/mhmo&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
FWIW, there is another example with this scoping rule that also illustrates a change in [[Binding Strength]] in NARS2000:  &#039;&#039;&#039;Vector Notation&#039;&#039;&#039; (a.k.a. &#039;&#039;&#039;Numeric Strands&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
In the same example as above with a Monadic Hyperand Monadic Operand hyperator, how can we pass (say) a &amp;lt;apll&amp;gt;12&amp;lt;/apll&amp;gt; as a left &#039;&#039;&#039;operand&#039;&#039;&#039; and a &amp;lt;apll&amp;gt;34&amp;lt;/apll&amp;gt; as a left &#039;&#039;&#039;hyperand&#039;&#039;&#039;?  This can be accomplished with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;      12 34 mhmo&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
because the rules for Binding Strength used by NARS2000 dictate that Vector Notation has a lower Binding Strength than both a right operand to its operator and either hyperand to its hyperator.  In these three cases, the scope is &#039;&#039;&#039;short&#039;&#039;&#039; which is interpreted by NARS2000 as extracting the number nearest to the operator/hyperator from the numeric strand and using it for the operand/hyperand.&lt;br /&gt;
&lt;br /&gt;
This yields several interesting cases:&lt;br /&gt;
&lt;br /&gt;
* A dyadic operator written as &amp;lt;apll&amp;gt;&amp;amp;#x2026; dop 1 2 3 4&amp;lt;/apll&amp;gt; is interpreted as having a right &#039;&#039;&#039;operand&#039;&#039;&#039; (&#039;&#039;&#039;short&#039;&#039;&#039; right scope) of &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; and a right &#039;&#039;&#039;argument&#039;&#039;&#039; of &amp;lt;apll&amp;gt;2 3 4&amp;lt;/apll&amp;gt;.&lt;br /&gt;
* A hyperator written as either &amp;lt;apll&amp;gt;1 2 3 4 mhmo&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;1 2 3 4 mhdo &amp;amp;#x2026;&amp;lt;/apll&amp;gt; is interpreted as having a left &#039;&#039;&#039;hyperand&#039;&#039;&#039; (&#039;&#039;&#039;short&#039;&#039;&#039; left scope) of &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt; and a left &#039;&#039;&#039;operand&#039;&#039;&#039; (&#039;&#039;&#039;long&#039;&#039;&#039; left scope) of &amp;lt;apll&amp;gt;1 2 3&amp;lt;/apll&amp;gt;.&lt;br /&gt;
* A dyadic hyperator written as &amp;lt;apll&amp;gt;&amp;amp;#x2026; dhmo 1 2 3 4&amp;lt;/apll&amp;gt; is interpreted as having a right &#039;&#039;&#039;hyperand&#039;&#039;&#039; (&#039;&#039;&#039;short&#039;&#039;&#039; right scope) of &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; and a right &#039;&#039;&#039;argument&#039;&#039;&#039; of &amp;lt;apll&amp;gt;2 3 4&amp;lt;/apll&amp;gt;.&lt;br /&gt;
* A dyadic hyperator written as &amp;lt;apll&amp;gt;&amp;amp;#x2026; dhdo 1 2 3 4&amp;lt;/apll&amp;gt; is interpreted as having a right &#039;&#039;&#039;hyperand&#039;&#039;&#039; (&#039;&#039;&#039;short&#039;&#039;&#039; right scope) of &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, a right &#039;&#039;&#039;operand&#039;&#039;&#039; (&#039;&#039;&#039;short&#039;&#039;&#039; right scope) of &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;, and a right &#039;&#039;&#039;argument&#039;&#039;&#039; of &amp;lt;apll&amp;gt;3 4&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To reduce confusion, use parentheses such as &amp;lt;apll&amp;gt;(LO (LH dhdo 1) 2) 3&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Abbreviations:&lt;br /&gt;
* &amp;lt;apll&amp;gt;dop&amp;lt;/apll&amp;gt; Dyadic Operator&lt;br /&gt;
* &amp;lt;apll&amp;gt;mhmo&amp;lt;/apll&amp;gt; Monadic Hyperand Monadic Operand Hyperator&lt;br /&gt;
* &amp;lt;apll&amp;gt;mhdo&amp;lt;/apll&amp;gt; Monadic Hyperand Dyadic Operand ...&lt;br /&gt;
* &amp;lt;apll&amp;gt;dhmo&amp;lt;/apll&amp;gt; Dyadic Hyperand Monadic Operand ...&lt;br /&gt;
* &amp;lt;apll&amp;gt;dhdo&amp;lt;/apll&amp;gt; Dyadic Hyperand Dyadic Operand ...&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
The Power Operator can be used to apply a &#039;&#039;&#039;function&#039;&#039;&#039; iteratively to an argument, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      +\⍣3 ⍳4&lt;br /&gt;
1 5 15 35&lt;br /&gt;
      +\+\+\⍳4&lt;br /&gt;
1 5 15 35&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applying an &#039;&#039;&#039;operator&#039;&#039;&#039; iteratively to an argument, is a task for Hyperators:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      PowEach←{⍺←⊢ ⋄ ⍎&#039;⍺ ⍺⍺ &#039;,(∊⍵⍵⍵⍴⊂&#039;⍺⍺⍺ &#039;),&#039;⍵&#039;} ⍝ It takes a Hyperator to iterate an operator (⍺⍺⍺)&lt;br /&gt;
&lt;br /&gt;
      ,¨PowEach 3   4 ⍝ ←→ ,¨¨¨4     Here the hyperand (⍺⍺⍺←¨) is iterated and then&lt;br /&gt;
                      ⍝                the operand (⍺⍺←,) is bound to the iterated hyperand&lt;br /&gt;
┌───────┐&lt;br /&gt;
│┌─────┐│&lt;br /&gt;
││┌───┐││&lt;br /&gt;
│││┌1┐│││&lt;br /&gt;
││││4││││&lt;br /&gt;
│││└~┘2││&lt;br /&gt;
││└∊──┘3│&lt;br /&gt;
│└∊────┘4&lt;br /&gt;
└∊──────┘&lt;br /&gt;
      ,¨⍣3   4 ⍝ ←→ ,¨,¨,¨4     Here the function (,¨) is iterated&lt;br /&gt;
┌────┐&lt;br /&gt;
│┌1─┐│&lt;br /&gt;
││ 4││&lt;br /&gt;
│└~─┘2&lt;br /&gt;
└∊───┘&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Hyperators, Dyalog APL Dfns, https://dfns.dyalog.com/n_hyperators.htm&lt;br /&gt;
* Hyperators, Dyalog APL Example, https://dfns.dyalog.com/n_cf.htm&lt;br /&gt;
* Hyperators, Dyalog APL Example, https://dfns.dyalog.com/n_cond.htm&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Commutator&amp;diff=3869</id>
		<title>Commutator</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Commutator&amp;diff=3869"/>
		<updated>2024-02-09T15:57:12Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍫&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; and then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; to or between the arguments.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an optional array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary ambivalent function with an inverse.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function with an inverse.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notation==&lt;br /&gt;
&lt;br /&gt;
The symbol chosen for this operator is the Del overstruck with Tilde (&amp;lt;apl&amp;gt;⍫&amp;lt;/apl&amp;gt;), entered from the keyboard as Alt-’K’ or Alt-Shift-&#039;k&#039; (U+236B).&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The concept of the Commutator operator is taken from mathematical [https://en.wikipedia.org/wiki/Commutator Group Theory] from the 1830s.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example, the algorithm for [https://dl.acm.org/doi/pdf/10.1145/800136.804488 Partitioned Plus Scan] where &amp;lt;apll&amp;gt;P&amp;lt;/apll&amp;gt; is the Boolean partition vector (always with a leading 1), in modern notation looks like this:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      P←1 0 0 1 0 1 0 0 0&lt;br /&gt;
      R←1 2 3 4 5 6 7 8 9 &lt;br /&gt;
      +\R-  P\  ¯2-\  P/  +\  ¯1↓0,R&lt;br /&gt;
1 3 6 4 9 6 13 21 30&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;An interesting observation on this one-liner is that it contains two interleaved pairs of inverses: &amp;lt;apll&amp;gt;P\&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;P/&amp;lt;/apll&amp;gt; as one and &amp;lt;apll&amp;gt;¯2-\&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;+\&amp;lt;/apll&amp;gt; as the other.  This interleaving of inverses exactly matches the template for the Commutator Operator:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;f&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; g&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; f g&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;where &amp;lt;apll&amp;gt;f⍣¯1 ←→ P∘\&amp;lt;/apll&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;apll&amp;gt;g⍣¯1 ←→ ¯2∘(-\)&amp;lt;/apll&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;apll&amp;gt;f ←→ P∘/&amp;lt;/apll&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;apll&amp;gt;g ←→ +\&amp;lt;/apll&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;which can be re-written as&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;      +\R- P∘/⍫(+\) ¯1↓0,R&lt;br /&gt;
1 3 6 4 9 6 13 21 30&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For more information about inverses, see the [[Power#Inverses|Power Operator]].&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This operator is implemented via the anonymous function:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
{⍺←⍣0 ⋄ (⍵⍵ ⍺) ⍺⍺⍣¯1 ⍵⍵⍣¯1 (⍵⍵ ⍺) ⍺⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Commutator&amp;diff=3868</id>
		<title>Commutator</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Commutator&amp;diff=3868"/>
		<updated>2024-02-07T14:31:52Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt; &amp;lt;tr&amp;gt;   &amp;lt;td&amp;gt;     &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;     &amp;lt;tr&amp;gt;       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍫&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;       &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;       &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;       &amp;lt;td&amp;gt;applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; and then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; to or between the arguments.&amp;lt;/td&amp;gt;     &amp;lt;/tr&amp;gt;     &amp;lt;/table&amp;gt;   &amp;lt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍫&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; and then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; to or between the arguments.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an optional array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary ambivalent function with an inverse.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function with an inverse.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The concept of the Commutator operator is taken from mathematical [https://en.wikipedia.org/wiki/Commutator Group Theory] from the 1830s.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example, the algorithm for [https://dl.acm.org/doi/pdf/10.1145/800136.804488 Partitioned Plus Scan] where &amp;lt;apll&amp;gt;P&amp;lt;/apll&amp;gt; is the Boolean partition vector (always with a leading 1), in modern notation looks like this:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      P←1 0 0 1 0 1 0 0 0&lt;br /&gt;
      R←1 2 3 4 5 6 7 8 9 &lt;br /&gt;
      +\R-P\¯2-\P/+\¯1↓0,R&lt;br /&gt;
1 3 6 4 9 6 13 21 30&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;An interesting observation on this one-liner is that it contains two interleaved pairs of inverses: &amp;lt;apll&amp;gt;P\&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;P/&amp;lt;/apll&amp;gt; as one and &amp;lt;apll&amp;gt;¯2-\&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;+\&amp;lt;/apll&amp;gt; as the other.  This interleaving of inverses exactly matches the template for the Commutator Operator:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;f&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; g&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; f g&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;where &amp;lt;apll&amp;gt;g ←→ +\&amp;lt;/apll&amp;gt;   &amp;lt;apll&amp;gt;g⍣¯1 ←→ ¯2∘(-\)&amp;lt;/apll&amp;gt;   &amp;lt;apll&amp;gt;f ←→ P∘/   f⍣¯1 ←→ P∘\&amp;lt;/apll&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;which can be re-written as&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;+\R-P∘/⍫(+\)¯1↓0,R&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This operator is implemented via the anonymous function:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
{⍺←⍣0 ⋄ (⍵⍵ ⍺) ⍺⍺⍣¯1 ⍵⍵⍣¯1 (⍵⍵ ⍺) ⍺⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Dual&amp;diff=3867</id>
		<title>Dual</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Dual&amp;diff=3867"/>
		<updated>2024-02-06T22:06:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt; &amp;lt;tr&amp;gt;   &amp;lt;td&amp;gt;     &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;     &amp;lt;tr&amp;gt;       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍢&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;       &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;       &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;       &amp;lt;td&amp;gt;applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; to or between the arguments.&amp;lt;/td&amp;gt;     &amp;lt;/tr&amp;gt;     &amp;lt;/table&amp;gt;   &amp;lt;/td&amp;gt; &amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt;   &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/ap...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍢&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;applies the function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and then &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;⍣¯1&amp;lt;/apll&amp;gt; to or between the arguments.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an optional array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary ambivalent function.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function with an inverse.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The concept of the Dual operator was described in Ken Iverson&#039;s paper on [https://www.jsoftware.com/papers/opfns.htm Operators and Functions].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This operator is implemented via the anonymous function:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
{⍺←⍣0 ⋄ ⍵⍵⍣¯1 (⍵⍵ ⍺)⍺⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3866</id>
		<title>Language Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3866"/>
		<updated>2024-02-06T21:25:59Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Primitive Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At the moment, the following sections describe only those language features that are &#039;&#039;&#039;New&#039;&#039;&#039; or &#039;&#039;&#039;Enhanced&#039;&#039;&#039; relative to the Extended APL Standard, or that deserve special comment.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* [[Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modified Assignment]]:  &amp;lt;apll&amp;gt;Af←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modify Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)f←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Hyperators]]:  &amp;lt;apll&amp;gt;∇ Z←L (LO (LH dhdo RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Function/Operator/Hyperator Assignment]]:  &amp;lt;apll&amp;gt;A←f&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op1&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op2&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Binding Strength]]:  How Variables, Functions, Operators, Hyperators and other syntactic elements combine&lt;br /&gt;
* [[Sink]]:  &amp;lt;apll&amp;gt;←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Point Notation]]:  &lt;br /&gt;
** &#039;&#039;&#039;Base&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;16&amp;lt;_b/&amp;gt;10FFFF&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;16⊥1 0 15 15 15 15&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;10&amp;lt;_b/&amp;gt;45v&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;10⊥4 5 31&amp;lt;/apll&amp;gt;.&lt;br /&gt;
** &#039;&#039;&#039;Euler&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_x/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙e&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(*1)*3&amp;lt;/apll&amp;gt; where e is [https://en.wikipedia.org/wiki/E_(mathematical_constant) Euler&#039;s Number] (&amp;lt;apll&amp;gt;2.718281828459045...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Pi&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;2&amp;lt;_pi/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙π&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(○1)*3&amp;lt;/apll&amp;gt; where π is [https://en.wikipedia.org/wiki/Pi Archimedes&#039; constant] (&amp;lt;apll&amp;gt;3.141592653589793...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Gamma&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_g/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙γ&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; where γ is [https://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni&#039;s Constant] (&amp;lt;apll&amp;gt;0.5772156649015329...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Zeta&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_z/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙&amp;amp;zeta;(3) where &amp;amp;zeta;(x) is the [https://en.wikipedia.org/wiki/Riemann_zeta_function Riemann Zeta function].&lt;br /&gt;
** &#039;&#039;&#039;Hypercomplex&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_i/&amp;gt;3&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;_J/&amp;gt;3&amp;lt;/apll&amp;gt; (both equal to &amp;lt;apll&amp;gt;2+3×√¯1&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Degrees), &amp;lt;apll&amp;gt;2&amp;lt;_ar/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Radians), &amp;lt;apll&amp;gt;2&amp;lt;_au/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Unit Normalized), or &amp;lt;apll&amp;gt;2&amp;lt;_ah/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Half Unit Normalized) for a Complex number, &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt; for a Quaternion number, and &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt; for an Octonion number.&lt;br /&gt;
** &#039;&#039;&#039;Rational&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2÷3&amp;lt;/apll&amp;gt; as a Multiple-Precision Integer/Rational number.&lt;br /&gt;
** &#039;&#039;&#039;Variable-Precision Floating&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; as a Multiple-Precision Floating Point number.&lt;br /&gt;
** &#039;&#039;&#039;Ball Arithmetic&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt;, respectively.&lt;br /&gt;
* [[Trains]]:  e.g., &amp;lt;apll&amp;gt;avg←(+⌿ ÷ ≢)&amp;lt;/apll&amp;gt; applies the functions to its argument(s) in a particular way (in this case, to compute the average of a numeric scalar or vector).&lt;br /&gt;
* [[Anonymous Functions/Operators/Hyperators]]:  multi-line grouping of one or more statements all enclosed in braces such as &amp;lt;apll&amp;gt;{(+⌿⍵)÷≢⍵}&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Primitive Functions==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Array Lookup]]||     &amp;lt;apll&amp;gt;L⍸R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Condense]]||     &amp;lt;apll&amp;gt;&amp;amp;lt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dilate]]||     &amp;lt;apll&amp;gt;&amp;amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Expand]]||     &amp;lt;apll&amp;gt;L\[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Find]]||     &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Generator]]||     &amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Of]]||     &amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indexing]]||     &amp;lt;apll&amp;gt;R[L]&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]f←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌷[X] R&amp;lt;/apll&amp;gt;,    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indices]]||     &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix Inverse/Divide]]||     &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Mismatch]]||     &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Partitioned Enclose]]||     &amp;lt;apll&amp;gt;L⊂[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Primes]]||     &amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Reshape]]||     &amp;lt;apll&amp;gt;L⍴R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Root]]||     &amp;lt;apll&amp;gt;√R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L√[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sequence]]||     &amp;lt;apll&amp;gt;L..R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Sets]]||     &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Tally]]||     &amp;lt;apll&amp;gt;≢R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Without]]||     &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Operators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[At]]||      &amp;lt;apll&amp;gt;a@b R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;a@f R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;{L} f@b R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;{L} f@g R&amp;lt;/apll&amp;gt;      ||monadic/ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Axis]]||     &amp;lt;apll&amp;gt;{L} f[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op1[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op2[X] g R&amp;lt;/apll&amp;gt; ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Combinatorial]]||     &amp;lt;apll&amp;gt;a‼ R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commutator]]||     &amp;lt;apll&amp;gt;{L} f⍫g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Commute]]||     &amp;lt;apll&amp;gt;L f⍨ R ←→ R f L&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose]]||     &amp;lt;apll&amp;gt;{L} f∘g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;f∘b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;a∘g R&amp;lt;/apll&amp;gt; ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Composition]]||     &amp;lt;apll&amp;gt;{L} f⍥g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Convolution]]||     &amp;lt;apll&amp;gt;L f⍡g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Derivative]]||     &amp;lt;apll&amp;gt;{L} f∂[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f∂∂[X] R&amp;lt;/apll&amp;gt;, etc.   ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Determinant Operator|Determinant]]||     &amp;lt;apll&amp;gt;f.g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dual]]||     &amp;lt;apll&amp;gt;{L} f⍢g R&amp;lt;/apll&amp;gt;     || ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Duplicate]]||     &amp;lt;apll&amp;gt;f⍨ R ←→ R f R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Integral]]||     &amp;lt;apll&amp;gt;{L} f&amp;lt;_sg/&amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power#Inverses|Inverses]]||     &amp;lt;apll&amp;gt;{L} f⍣¯1 R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mask|Mask]]||      &amp;lt;apll&amp;gt;L (a∘/) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⌿) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘/[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]||     &amp;lt;apll&amp;gt;{L} f⌻ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;∘⌻ R&amp;lt;/apll&amp;gt;    ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mesh|Mesh]]||      &amp;lt;apll&amp;gt;L (a∘\) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⍀) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘\[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Multisets]]||     &amp;lt;apll&amp;gt;{L} f⍦ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Null]]||     &amp;lt;apll&amp;gt;{L} f⊙ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power]]||     &amp;lt;apll&amp;gt;{L} f⍣g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍣b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Rank/Atop]]||     &amp;lt;apll&amp;gt;{L} f⍤[X] b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍤g R&amp;lt;/apll&amp;gt;     ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Variant]]||     &amp;lt;apll&amp;gt;{L} f⍠b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;b&amp;lt;/apll&amp;gt; represent Variables, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Hyperators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform]||     &amp;lt;apll&amp;gt;f h⍑g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;h&amp;lt;/apll&amp;gt; represents a Function/Operator, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
Also, see [[Hyperators]].&lt;br /&gt;
&lt;br /&gt;
==Datatypes==&lt;br /&gt;
* [[Infinity]]:  &amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;¯∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[NaN]]:  &amp;lt;apll&amp;gt;∅&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[APA|Arithmetic Progression Arrays]]:   &amp;lt;apll&amp;gt;2 3 4⍴⍳24&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Unicode|Unicode Characters]]&lt;br /&gt;
* [[Array Predicates]]&lt;br /&gt;
* [[Rational and VFP Numbers|Rational Numbers]]:  &amp;lt;apll&amp;gt;1&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12345&amp;lt;_x/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Rational and VFP Numbers|Variable-precision Floating Point (VFP) Numbers]]:  &amp;lt;apll&amp;gt;1.234&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Complex Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;3.4&amp;lt;_i/&amp;gt;5&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;90&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;22&amp;lt;_ar/&amp;gt;.1&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;20&amp;lt;_au/&amp;gt;.5&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Quaternion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Octonion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Ball Arithmetic]]:  &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;2*¯53&amp;lt;/apll&amp;gt;, respectively, because the Midpoint (&amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt;) cannot be represented exactly in double-precision floating point format with the standard &amp;lt;apll&amp;gt;53&amp;lt;/apll&amp;gt; bits of precision.&lt;br /&gt;
&lt;br /&gt;
==Java Support==&lt;br /&gt;
The Java programming language is now supported.  You can now write code in Java, and call it from APL.  For more details, see [[Java_Support|Java Support]].&lt;br /&gt;
&lt;br /&gt;
==System Commands==&lt;br /&gt;
{{:System Commands}}&lt;br /&gt;
&lt;br /&gt;
==System Variables and Functions==&lt;br /&gt;
{{System Variables}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3865</id>
		<title>Language Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3865"/>
		<updated>2024-02-06T21:23:34Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Primitive Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At the moment, the following sections describe only those language features that are &#039;&#039;&#039;New&#039;&#039;&#039; or &#039;&#039;&#039;Enhanced&#039;&#039;&#039; relative to the Extended APL Standard, or that deserve special comment.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* [[Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modified Assignment]]:  &amp;lt;apll&amp;gt;Af←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modify Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)f←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Hyperators]]:  &amp;lt;apll&amp;gt;∇ Z←L (LO (LH dhdo RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Function/Operator/Hyperator Assignment]]:  &amp;lt;apll&amp;gt;A←f&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op1&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op2&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Binding Strength]]:  How Variables, Functions, Operators, Hyperators and other syntactic elements combine&lt;br /&gt;
* [[Sink]]:  &amp;lt;apll&amp;gt;←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Point Notation]]:  &lt;br /&gt;
** &#039;&#039;&#039;Base&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;16&amp;lt;_b/&amp;gt;10FFFF&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;16⊥1 0 15 15 15 15&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;10&amp;lt;_b/&amp;gt;45v&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;10⊥4 5 31&amp;lt;/apll&amp;gt;.&lt;br /&gt;
** &#039;&#039;&#039;Euler&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_x/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙e&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(*1)*3&amp;lt;/apll&amp;gt; where e is [https://en.wikipedia.org/wiki/E_(mathematical_constant) Euler&#039;s Number] (&amp;lt;apll&amp;gt;2.718281828459045...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Pi&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;2&amp;lt;_pi/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙π&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(○1)*3&amp;lt;/apll&amp;gt; where π is [https://en.wikipedia.org/wiki/Pi Archimedes&#039; constant] (&amp;lt;apll&amp;gt;3.141592653589793...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Gamma&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_g/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙γ&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; where γ is [https://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni&#039;s Constant] (&amp;lt;apll&amp;gt;0.5772156649015329...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Zeta&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_z/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙&amp;amp;zeta;(3) where &amp;amp;zeta;(x) is the [https://en.wikipedia.org/wiki/Riemann_zeta_function Riemann Zeta function].&lt;br /&gt;
** &#039;&#039;&#039;Hypercomplex&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_i/&amp;gt;3&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;_J/&amp;gt;3&amp;lt;/apll&amp;gt; (both equal to &amp;lt;apll&amp;gt;2+3×√¯1&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Degrees), &amp;lt;apll&amp;gt;2&amp;lt;_ar/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Radians), &amp;lt;apll&amp;gt;2&amp;lt;_au/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Unit Normalized), or &amp;lt;apll&amp;gt;2&amp;lt;_ah/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Half Unit Normalized) for a Complex number, &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt; for a Quaternion number, and &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt; for an Octonion number.&lt;br /&gt;
** &#039;&#039;&#039;Rational&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2÷3&amp;lt;/apll&amp;gt; as a Multiple-Precision Integer/Rational number.&lt;br /&gt;
** &#039;&#039;&#039;Variable-Precision Floating&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; as a Multiple-Precision Floating Point number.&lt;br /&gt;
** &#039;&#039;&#039;Ball Arithmetic&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt;, respectively.&lt;br /&gt;
* [[Trains]]:  e.g., &amp;lt;apll&amp;gt;avg←(+⌿ ÷ ≢)&amp;lt;/apll&amp;gt; applies the functions to its argument(s) in a particular way (in this case, to compute the average of a numeric scalar or vector).&lt;br /&gt;
* [[Anonymous Functions/Operators/Hyperators]]:  multi-line grouping of one or more statements all enclosed in braces such as &amp;lt;apll&amp;gt;{(+⌿⍵)÷≢⍵}&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Primitive Functions==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Array Lookup]]||     &amp;lt;apll&amp;gt;L⍸R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Condense]]||     &amp;lt;apll&amp;gt;&amp;amp;lt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dilate]]||     &amp;lt;apll&amp;gt;&amp;amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Expand]]||     &amp;lt;apll&amp;gt;L\[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Find]]||     &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Generator]]||     &amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Of]]||     &amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indexing]]||     &amp;lt;apll&amp;gt;R[L]&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]f←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌷[X] R&amp;lt;/apll&amp;gt;,    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indices]]||     &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix Inverse/Divide]]||     &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Mismatch]]||     &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Partitioned Enclose]]||     &amp;lt;apll&amp;gt;L⊂[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Primes]]||     &amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Reshape]]||     &amp;lt;apll&amp;gt;L⍴R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Root]]||     &amp;lt;apll&amp;gt;√R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L√[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sequence]]||     &amp;lt;apll&amp;gt;L..R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Sets]]||     &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Tally]]||     &amp;lt;apll&amp;gt;≢R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Without]]||     &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Operators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[At]]||      &amp;lt;apll&amp;gt;a@b R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;a@f R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;{L} f@b R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;{L} f@g R&amp;lt;/apll&amp;gt;      ||monadic/ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Axis]]||     &amp;lt;apll&amp;gt;{L} f[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op1[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op2[X] g R&amp;lt;/apll&amp;gt; ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Combinatorial]]||     &amp;lt;apll&amp;gt;a‼ R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commutator]]||     &amp;lt;apll&amp;gt;{L} f⍫g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Commute]]||     &amp;lt;apll&amp;gt;L f⍨ R ←→ R f L&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose]]||     &amp;lt;apll&amp;gt;{L} f∘g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;f∘b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;a∘g R&amp;lt;/apll&amp;gt; ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Composition]]||     &amp;lt;apll&amp;gt;{L} f⍥g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Convolution]]||     &amp;lt;apll&amp;gt;L f⍡g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Derivative]]||     &amp;lt;apll&amp;gt;{L} f∂[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f∂∂[X] R&amp;lt;/apll&amp;gt;, etc.   ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Determinant Operator|Determinant]]||     &amp;lt;apll&amp;gt;f.g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dual]]||     &amp;lt;apll&amp;gt;{L} f⍢g R&amp;lt;/apll&amp;gt;     || Dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Duplicate]]||     &amp;lt;apll&amp;gt;f⍨ R ←→ R f R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Integral]]||     &amp;lt;apll&amp;gt;{L} f&amp;lt;_sg/&amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power#Inverses|Inverses]]||     &amp;lt;apll&amp;gt;{L} f⍣¯1 R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mask|Mask]]||      &amp;lt;apll&amp;gt;L (a∘/) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⌿) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘/[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]||     &amp;lt;apll&amp;gt;{L} f⌻ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;∘⌻ R&amp;lt;/apll&amp;gt;    ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mesh|Mesh]]||      &amp;lt;apll&amp;gt;L (a∘\) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⍀) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘\[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Multisets]]||     &amp;lt;apll&amp;gt;{L} f⍦ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Null]]||     &amp;lt;apll&amp;gt;{L} f⊙ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power]]||     &amp;lt;apll&amp;gt;{L} f⍣g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍣b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Rank/Atop]]||     &amp;lt;apll&amp;gt;{L} f⍤[X] b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍤g R&amp;lt;/apll&amp;gt;     ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Variant]]||     &amp;lt;apll&amp;gt;{L} f⍠b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;b&amp;lt;/apll&amp;gt; represent Variables, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Hyperators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform]||     &amp;lt;apll&amp;gt;f h⍑g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;h&amp;lt;/apll&amp;gt; represents a Function/Operator, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
Also, see [[Hyperators]].&lt;br /&gt;
&lt;br /&gt;
==Datatypes==&lt;br /&gt;
* [[Infinity]]:  &amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;¯∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[NaN]]:  &amp;lt;apll&amp;gt;∅&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[APA|Arithmetic Progression Arrays]]:   &amp;lt;apll&amp;gt;2 3 4⍴⍳24&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Unicode|Unicode Characters]]&lt;br /&gt;
* [[Array Predicates]]&lt;br /&gt;
* [[Rational and VFP Numbers|Rational Numbers]]:  &amp;lt;apll&amp;gt;1&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12345&amp;lt;_x/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Rational and VFP Numbers|Variable-precision Floating Point (VFP) Numbers]]:  &amp;lt;apll&amp;gt;1.234&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Complex Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;3.4&amp;lt;_i/&amp;gt;5&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;90&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;22&amp;lt;_ar/&amp;gt;.1&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;20&amp;lt;_au/&amp;gt;.5&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Quaternion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Octonion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Ball Arithmetic]]:  &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;2*¯53&amp;lt;/apll&amp;gt;, respectively, because the Midpoint (&amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt;) cannot be represented exactly in double-precision floating point format with the standard &amp;lt;apll&amp;gt;53&amp;lt;/apll&amp;gt; bits of precision.&lt;br /&gt;
&lt;br /&gt;
==Java Support==&lt;br /&gt;
The Java programming language is now supported.  You can now write code in Java, and call it from APL.  For more details, see [[Java_Support|Java Support]].&lt;br /&gt;
&lt;br /&gt;
==System Commands==&lt;br /&gt;
{{:System Commands}}&lt;br /&gt;
&lt;br /&gt;
==System Variables and Functions==&lt;br /&gt;
{{System Variables}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3864</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3864"/>
		<updated>2024-01-30T21:31:42Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Data Conversion==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NAPPEND&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NCREATE&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NERASE&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NINFO&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NLOCK&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NNAMES&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NNUMS&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NREAD&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NRENAME&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NREPLACE&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NRESIZE&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NSIZE&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NTIE&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apllsect&amp;gt;⎕NUNTIE&amp;lt;/apllsect&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3863</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3863"/>
		<updated>2024-01-30T21:02:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Data Conversion==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3862</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3862"/>
		<updated>2024-01-30T20:55:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Data Conversion==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll class=&amp;quot;Section&amp;quot;&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section .mw-editsection&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h12 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3861</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3861"/>
		<updated>2024-01-30T20:54:25Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Data Conversion==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section .mw-editsection&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h12 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3860</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3860"/>
		<updated>2024-01-30T20:53:23Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Data Conversion==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==⎕NAPPEND==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section .mw-editsection&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h12 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3859</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3859"/>
		<updated>2024-01-30T20:25:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Data Conversion&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section .mw-editsection&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section .mw-editsection&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h12 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3858</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3858"/>
		<updated>2024-01-30T20:11:07Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Data Conversion&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h12 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3857</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3857"/>
		<updated>2024-01-30T20:07:22Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;Data Conversion&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h12 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3856</id>
		<title>System Function Native Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_Native_Files&amp;diff=3856"/>
		<updated>2024-01-28T00:23:08Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Data Conversion&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Reading from and writing to disk files naturally involves data conversion as there are more ways to represent simple homogeneous data on disk than in the workspace.  For example, a common disk data type is an 8-bit character which NARS2000 doesn&#039;t support in the workspace as yet, however it does support 16-bit characters.  The other data types available on disk, but not supported in the workspace include 8-, 16-, and 32-bit integer, whereas the corresponding data type in the workspace is a 64-bit integer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;When reading from a file, you must specify both datatypes; that is, the datatype of the data in the file and the datatype you want to use in the workspace.  When writing to (appending or replacing) a file, the workspace datatype is implicit in the data so you need only specify the datatype in the file to which you want the data converted.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A conversion from a larger size to a smaller size (e.g., &amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;) is allowed only if all of the larger size values (e.g., 64-bit integers) are within the range of the smaller size values (e.g., 8-bit integers &amp;amp;mdash; &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;); if not, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following table summarizes the conversion codes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table name=&amp;quot;ConvCodes&amp;quot; id=&amp;quot;ConvCodes&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Numeric&amp;lt;br /&amp;gt;Value&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Character&amp;lt;br /&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Datatype&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td valign=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;b&amp;gt;File(F) or&amp;lt;br /&amp;gt;Workspace(W)&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1-bit Boolean&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;811&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3211&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;char32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit character&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp;812&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;8-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1612&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int16&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;16-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3212&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;int64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit integer&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3213&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt32&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;32-bit floating point (single precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;F&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;flt64&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;64-bit floating point (double precision)&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;FW&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The rightmost column in the above table specifies whether the conversion can be used as a file (&amp;lt;apll&amp;gt;F&amp;lt;/apll&amp;gt;) and/or a workspace (&amp;lt;apll&amp;gt;W&amp;lt;/apll&amp;gt;) conversion code.  As you can see, the workspace conversion codes correspond to the four simple homogeneous datatypes available in a workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use either the numeric value or upper-/lower-case character name to identify the conversion code.  For example, &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;...&#039; ⎕ncreate tn mode (811 1611)&amp;lt;/apll&amp;gt; are equivalent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NAPPEND R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;appends the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; to the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file conversion code used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  The file and workspace conversion codes are as specified [[#ConvCodes|above]].  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the offset in the file of the next byte after the data just appended.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;tn←&#039;C:\foo&#039; ⎕ncreate 0 ⍝&amp;lt;/apll&amp;gt; Implicit file conversion code of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt; and workspace conversion code of &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;Now is the time &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;br /&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|4E|6F|77|20|69|73|20|74|68|65|20|74|69|6D|65|20|  Now is the time&lt;br /&gt;
|4E|00|6F|00|77|00|20|00|69|00|73|00|20|00|74|00|  N o w   i s   t&lt;br /&gt;
|68|00|65|00|20|00|74|00|69|00|6D|00|65|00|20|00|  h e   t i m e  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the workspace data (in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;) is wider than the width specified by the file conversion code and it cannot be truncated at the high end without losing data, then a &amp;lt;apll&amp;gt;DOMAIN ERROR&amp;lt;/apll&amp;gt; is signalled.  For example, if the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is character (&amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;) and the file conversion code is one of &amp;lt;apll&amp;gt;&#039;char8&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;int8&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;bool&#039;&amp;lt;/apll&amp;gt;, then enough of the high-order bits of each character in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be zero so that the actual value fits without loss of data.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      tn←&#039;C:\foo&#039; ⎕ncreate 0 &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
DOMAIN ERROR &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &lt;br /&gt;
                         ∧ &lt;br /&gt;
      &#039;⊤○⍵ ⍳⌈ ∼∆∊ ∼⍳⍦∊ &#039; ⎕nappend tn &#039;char16&#039;&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After which the file data consists of&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F&lt;br /&gt;
|A4|22|CB|25|75|23|20|00|73|23|08|23|20|00|3C|22|  ⊤○⍵ ⍳⌈ ∼&lt;br /&gt;
|06|22|0A|22|20|00|3C|22|73|23|66|23|0A|22|20|00|  ∆∊ ∼⍳⍦∊ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NCREATE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;creates and opens the native file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to create and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is either zero or the negative integer tie number to associate with the open native file.  If the tie number is zero, the system automatically generates the next available negative integer to use as the tie number.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the access mode to use when creating the file.  This mode is the sum of two integer values, the first of which specifies the type of access you are requesting after creating the file, and the second of which specifies the type of access you are granting to subsequent users while you have the file opened.  The following table illustrates the two types of modes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Needed&amp;lt;br /&amp;gt;To Open&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Access Granted&amp;lt;br /&amp;gt;To Others&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;compatibility&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;16&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;exclusive&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;32&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;48&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;td&amp;gt;64&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;read-write&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If this item is not present, the default value used is &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the default file and/or workspace [[#ConvCodes|conversion code(s)]] to use when reading from and/or writing to the file.  These code(s) may be overwritten by using an explicit conversion code in the call to &amp;lt;apll&amp;gt;⎕NAPPEND&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;.  If present, this item may be a numeric scalar, one-or two-element numeric vector, or a one- or two-element nested vector of character vectors.  For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L ⎕NCREATE tn mode 811 &lt;br /&gt;
      L ⎕NCREATE  tn mode (811 1611) &lt;br /&gt;
      L ⎕NCREATE tn mode &#039;char8&#039; &lt;br /&gt;
      L ⎕NCREATE tn mode (&#039;char8&#039; &#039;char16&#039;) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If only one element is specified in the code, it is used as the file conversion code when writing data to the file, and the workspace conversion code is &amp;lt;apll&amp;gt;&#039;char16&#039;&amp;lt;/apll&amp;gt;.  If both elements are specified, the first is the file conversion code and the second is the workspace conversion code.  The latter conversion code is used when reading data from the file into the workspace.  If this item is not specified, the default conversion code used is &amp;lt;apll&amp;gt;(&#039;char8&#039; &#039;char16&#039;)&amp;lt;/apll&amp;gt; which says that the file data is unsigned 8-bit characters and when read into the workspace should be converted into unsigned 16-bit characters&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Specifying the conversion code when creating/opening the native file avoids having to specify non-default conversions for subsequent read and/or write operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NERASE&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NERASE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;erases the open file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and tied to the number in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; must be identical to the name used as the left argument to the most recent create/tie of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the tie number of the file just erased.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NINFO&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar with the character vector name of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This is equivalent to &amp;lt;apll&amp;gt;Z←0 ⎕NINFO R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar with the character vector native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NINFO R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a nested scalar or nested vector with the set of properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; of the file specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or numeric vector with values from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; specifying which properties to return.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element numeric vector of a native file tie number, or it is a character scalar or character vector of a native file name.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a nested scalar or nested vector of the same shape as that of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; which contains the properties as specified by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The valid values in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are the integers from &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt; with the following meanings:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Properties&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th&amp;gt;Property&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; of the item specified in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  This item may be a file or directory.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;File Types&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;File Type&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Unknown&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Regular file&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Character device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Symbolic link&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Block device (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;FIFO (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Socket (not supported)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The numeric scalar file or directory &amp;lt;b&amp;gt;size&amp;lt;/b&amp;gt; in bytes.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The timestamp (&amp;lt;apll&amp;gt;⎕TS&amp;lt;/apll&amp;gt;) of the &amp;lt;b&amp;gt;last write&amp;lt;/b&amp;gt; to the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Security Identifier&amp;lt;/b&amp;gt; (SID).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;5&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector &amp;lt;b&amp;gt;Owner Name&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The Boolean scalar indicating whether or not the file is &amp;lt;b&amp;gt;hidden&amp;lt;/b&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;7&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The character vector target of a &amp;lt;b&amp;gt;Symbolic Link&amp;lt;/b&amp;gt; (only if the File Type is 4).&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\autoexec.bat&#039; ⍝ Regular file #1&lt;br /&gt;
 0          C:\autoexec.bat &lt;br /&gt;
 1                        2 &lt;br /&gt;
 2                      441 &lt;br /&gt;
 3   2016 7 27 13 43 47 615 &lt;br /&gt;
 4             S-1-5-32-544 &lt;br /&gt;
 5   BUILTIN\Administrators &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\Users&#039; ⍝ Directory #2&lt;br /&gt;
 0                 C:\Users &lt;br /&gt;
 1                        1 &lt;br /&gt;
 2                     4096 &lt;br /&gt;
 3   2016 11 12 8 45 32 558 &lt;br /&gt;
 4                 S-1-5-18 &lt;br /&gt;
 5      NT AUTHORITY\SYSTEM &lt;br /&gt;
 6                        0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\PHP&#039; ⍝ Symbolic Link #3&lt;br /&gt;
 0                 C:\PHP &lt;br /&gt;
 1                      4 &lt;br /&gt;
 2                      0 &lt;br /&gt;
 3   2015 2 7 14 59 9 769 &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      0 &lt;br /&gt;
 7           G:\PHP-5.5.0&lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO ⊃7 ⎕NINFO &#039;C:\PHP&#039; ⍝ Target of Symbolic Link #4&lt;br /&gt;
 0              G:\PHP-5.5.0 &lt;br /&gt;
 1                         1 &lt;br /&gt;
 2                      8192 &lt;br /&gt;
 3   2016 11 14 12 40 51 557 &lt;br /&gt;
 4              S-1-5-32-544 &lt;br /&gt;
 5    BUILTIN\Administrators &lt;br /&gt;
 6                         0 &lt;br /&gt;
 7 &lt;br /&gt;
      (0..7),⍪(0..7) ⎕NINFO &#039;C:\$Recycle.bin&#039; ⍝ Hidden file #5&lt;br /&gt;
 0        C:\$Recycle.bin &lt;br /&gt;
 1                      1 &lt;br /&gt;
 2                   4096 &lt;br /&gt;
 3   2016 8 3 9 34 8 657  &lt;br /&gt;
 4           S-1-5-32-544 &lt;br /&gt;
 5 BUILTIN\Administrators &lt;br /&gt;
 6                      1 &lt;br /&gt;
 7 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The design for this system function was taken from Dyalog APL with minor changes.  The differences include:  Block vs. character devices are not supported; the operands &amp;lt;apll&amp;gt;&#039;Follow&#039;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&#039;Wildcard&#039;&amp;lt;/apll&amp;gt; to the Variant operator are not needed.  That is, the target of the Symbolic Link (produced by a 7 in the left argument) is always filled in if the File Type is 4 (Symbolic Link) as demonstrated in the above examples #3 and #4, and wildcards are automatically detected by examining the character vector right argument.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍉⊃0 1 2 ⎕NINFO &#039;C:\Program Files*&#039;&lt;br /&gt;
 C:\Program Files       1 28672 &lt;br /&gt;
 C:\Program Files (x86) 1 81920&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NLOCK&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NLOCK R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;locks or unlocks the file and returns the right arg.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one- or two-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar representing the Lock Type:  0 for Unlock, 1 for a Read Lock, and 2 for a Write Lock.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Lock Timeout in seconds.  If not present, this value is assumed to be zero.  It may be a fractional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is starting byte offset in the file from which to begin locking.  If not present, the offset is assumed to be zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the byte length of the lock.  If not present, the length is assumed to be the entire file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the same as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNAMES&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a matrix of the names of all open native files, padding each row with blanks as necessary.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a character matrix.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NNUMS&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns a numeric vector containing the tie numbers of all open native files .&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result contains the tie numbers of all open native files and are in the same order as the rows of &amp;lt;apll&amp;gt;⎕NNAMES&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NREAD R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;reads from the open native file whose tie number is the first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, three-, or four-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file and workspace [[#ConvCodes|conversion codes]].  If the file and/or workspace conversion codes are not present, then the corresponding codes specified implicitly or explicitly when the file was most recently created or opened are used.  For example, file and workspace conversion codes of &amp;lt;apll&amp;gt;(&#039;int8&#039; &#039;int64&#039;)&amp;lt;/apll&amp;gt; mean that the data in the file consists of one byte signed integers (with a range of &amp;lt;apll&amp;gt;¯128&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;127&amp;lt;/apll&amp;gt;) and are to be converted (and signed extended) to 64-bit integers in the workspace.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the number of elements (not bytes) to read.  If this item is not present, the number of elements read is however many are present from the current file pointer to the end of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional fourth item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin reading.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To set a file pointer to a particular byte offset to be used by a subsequent &amp;lt;apll&amp;gt;⎕NREAD&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;, use &amp;lt;apll&amp;gt;←⎕NREAD tn ⍬ 0 off&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRENAME&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRENAME R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the name of the file tied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just renamed.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new name of the file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NREPLACE&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NREPLACE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;replaces the raveled data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; into the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an arbitrary (but simple homogeneous) array.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The first item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional second item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the file [[#ConvCodes|conversion code]] used to convert the data in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; before writing it to the file.  If the file conversion code is not present, then the corresponding code specified implicitly or explicitly when the file was most recently created or opened is used.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The optional third item in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the starting byte offset in the file from which to begin writing.  If this item is not present, the offset used is the current file pointer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NRESIZE&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NRESIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;changes to &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; the size of the open file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number just erased.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the new size of the file.  If it is smaller than the current file size, the file is truncated.  If it is larger, the file size is increased as per the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NSIZE&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NSIZE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the file size of the open native file whose tie number is in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the negative integer tie number of an open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is the file size of the open native file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NTIE&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L ⎕NTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;opens the existing file named in &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and associates with it the tie number from the first element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or one-, two-, or three-element vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar of the tie number of the file.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the name of the native file to open and is subject to the restrictions of the underlying file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The items in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are defined identically to how they are used in [[#⎕NCREATE|&amp;lt;apll&amp;gt;⎕NCREATE&amp;lt;/apll&amp;gt;]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 class=&amp;quot;Section&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;⎕NUNTIE&amp;lt;/apll&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⎕NUNTIE R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;closes the open native file(s) whose tie number(s) are in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are zero or more tie numbers of open native files to be closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The result is a list of the tie numbers of the files successfully closed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{System Variables}}&amp;lt;hr/&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3855</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3855"/>
		<updated>2024-01-08T21:11:27Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Extra APL Glyphs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is (in order of preference) [https://abrudz.github.io/APL386/APL386.ttf|&#039;&#039;&#039;APL386 Unicode&#039;&#039;&#039;], [https://apl385.com/fonts/apl385.zip|&#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;], &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), or &#039;&#039;&#039;SImPL&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the [https://abrudz.github.io/APL386/APL386.ttf|&#039;&#039;&#039;APL386 Unicode&#039;&#039;&#039;] and &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here].  Normally these fonts may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000&#039;&#039;&#039; (for the 32-bit program) or &#039;&#039;&#039;C:\Program Files\NARS2000&#039;&#039;&#039; (for the 64-bit version).&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Plus-or-Minus&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;±&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;177 or U+00B1 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Downtack-overbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍑&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9041 or U+2351&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-B&#039;&#039;&#039;&lt;br /&gt;
|| [https://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform Operator]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank/Atop operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-K&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;All of the above symbols may be found in &#039;&#039;&#039;APL386 Unicode&#039;&#039;&#039;.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3854</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3854"/>
		<updated>2024-01-08T20:57:30Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Default Font */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is (in order of preference) [https://abrudz.github.io/APL386/APL386.ttf|&#039;&#039;&#039;APL386 Unicode&#039;&#039;&#039;], [https://apl385.com/fonts/apl385.zip|&#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;], &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), or &#039;&#039;&#039;SImPL&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the [https://abrudz.github.io/APL386/APL386.ttf|&#039;&#039;&#039;APL386 Unicode&#039;&#039;&#039;] and &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here].  Normally these fonts may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000&#039;&#039;&#039; (for the 32-bit program) or &#039;&#039;&#039;C:\Program Files\NARS2000&#039;&#039;&#039; (for the 64-bit version).&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Plus-or-Minus&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;±&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;177 or U+00B1 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Downtack-overbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍑&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9041 or U+2351&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-B&#039;&#039;&#039;&lt;br /&gt;
|| [https://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform Operator]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank/Atop operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-K&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3853</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3853"/>
		<updated>2024-01-08T12:34:57Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Extra APL Glyphs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), &#039;&#039;&#039;SImPL&#039;&#039;&#039;, or &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here].  Normally font and file &#039;&#039;&#039;SimPL-Medium.ttf&#039;&#039;&#039; may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000 (32-bit program)&#039;&#039;&#039; and or &#039;&#039;&#039;C:\Program Files\NARS2000 (64-bit version)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If they still don&#039;t display correctly, [http://www.getfirefox.com/ download] FireFox.&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Plus-or-Minus&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;±&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;177 or U+00B1 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Downtack-overbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍑&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9041 or U+2351&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-B&#039;&#039;&#039;&lt;br /&gt;
|| [https://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform Operator]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank/Atop operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-K&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Variant&amp;diff=3852</id>
		<title>Variant</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Variant&amp;diff=3852"/>
		<updated>2024-01-08T00:17:43Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Eigenvalues and Eigenvectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Caution:&#039;&#039;&#039; Be careful not to confuse this symbol, which is &amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;, with &amp;lt;apll&amp;gt;⌹&amp;lt;/apll&amp;gt; which is [[Matrix Inverse/Divide]].&lt;br /&gt;
&amp;lt;hr /&amp;gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←f⍠B R&amp;lt;/apll&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; or &amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;apll&amp;gt;Z←L f⍠B R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;evaluates &amp;lt;apll&amp;gt;f R&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;L f R&amp;lt;/apll&amp;gt; in the context described by &amp;lt;apll&amp;gt;B&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are arbitrary arrays conformable with &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt;, and &amp;lt;apll&amp;gt;B&amp;lt;/apll&amp;gt; is a simple scalar, simple or heterogeneous vector, or nested vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; is an arbitrary function.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic Variant operator creates a version of the function &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; with a set of properties bound and localized to it as specified by the array right operand.  For example, &amp;lt;apll&amp;gt;⍳⍠0&amp;lt;/apll&amp;gt; is a version of &amp;lt;apll&amp;gt;⍳&amp;lt;/apll&amp;gt; that executes in origin-0 independent of the current value of &amp;lt;apll&amp;gt;⎕IO&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The array right operand to the operator may take several different forms depending upon the function left operand.  In the general case, for any kind of function left operand, the right operand may specify a single property in the form of &amp;lt;apll&amp;gt;Key Val&amp;lt;/apll&amp;gt;, or multiple properties in the form of &amp;lt;apll&amp;gt;(Key1 Val1) (Key2 Val2)&amp;lt;/apll&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#8230;&amp;lt;/b&amp;gt;, or if the left operand is a primitive function, a shorthand notation may be used as in &amp;lt;apll&amp;gt;Val&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;Val1 Val2&amp;lt;/apll&amp;gt; &amp;lt;b&amp;gt;&amp;amp;#8230;&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the general case, the keys specify a property such as Index Origin as &amp;lt;apll&amp;gt;&#039;IO&#039;&amp;lt;/apll&amp;gt; or Comparison Tolerance as &amp;lt;apll&amp;gt;&#039;CT&#039;&amp;lt;/apll&amp;gt;, and the value part specifies a value appropriate to the property specified in the matching key.  At the moment, the keys that may be used are &amp;lt;apll&amp;gt;&#039;CT&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;DT&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;FPC&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;IO&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;LR&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;PP&#039;&amp;lt;/apll&amp;gt;, and &amp;lt;apll&amp;gt;&#039;RL&#039;&amp;lt;/apll&amp;gt; which stand for the corresponding system variable.  Note that for the Variants of &amp;lt;apll&amp;gt;L×R&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt; and the Subsequence variants such as &amp;lt;apll&amp;gt;L⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt; there are no corresponding system variables as yet.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      1 2 (3+1e¯9)&amp;amp;nbsp; 3⍳⍠((&#039;IO&#039; 0) (&#039;CT&#039; 1e¯10)) 3&lt;br /&gt;
3&lt;br /&gt;
      1 2 (3+1e¯10) 3⍳⍠((&#039;IO&#039; 0) (&#039;CT&#039; 1e¯10)) 3&lt;br /&gt;
2&lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 0) 3 &lt;br /&gt;
0 1 2 &lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 1) 3 &lt;br /&gt;
1 2 3&lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 0) ⍠(&#039;IO&#039; 1) 3 &lt;br /&gt;
0 1 2 &lt;br /&gt;
      ⍳⍠(&#039;IO&#039; 1) ⍠(&#039;IO&#039; 0) 3 &lt;br /&gt;
1 2 3&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Note that in the last two examples, the lefthand (innermost) value of &amp;lt;apll&amp;gt;⎕IO&amp;lt;/apll&amp;gt; takes precedence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Shorthand Notation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the left operand is a primitive or derived function, the following shorthand notation may be used:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;all&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;20%&amp;quot;&amp;gt;Function or&amp;lt;br /&amp;gt;Principal Operator&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;5%&amp;quot;&amp;gt;Right&amp;lt;br /&amp;gt;Arg&amp;lt;br /&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;th width=&amp;quot;75%&amp;quot;&amp;gt;Meaning&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;amp;nbsp;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;C&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;amp;nbsp;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and [[#Subsequences|Subsequence]] &amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; (&amp;lt;apll&amp;gt;&#039;a&#039;&amp;lt;/apll&amp;gt; for Ascending, &amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt; for Descending)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L⌷R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⍋R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍋R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⍒R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍒R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;a‼R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⍕R&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;L⍕R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕PP←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;apll&amp;gt;L&amp;amp;lt;R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≤R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L=R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≠R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≥R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L&amp;amp;gt;R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;L∊R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≡R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∪R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∩R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;⌊R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;⌈R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;∪R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;L|R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;f⌻R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L f⌻R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;∘⌻R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N C&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C N&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕CT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;?R&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;L?R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N C&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C N&amp;lt;/i&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;amp;nbsp;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;C&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;amp;nbsp;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕IO←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, &amp;lt;apll&amp;gt;⎕RL←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt;, and &amp;lt;apll&amp;gt;⎕DT←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;!R&amp;lt;/apll&amp;gt; ([https://en.wikipedia.org/wiki/Pochhammer_k-symbol Pochhammer k-symbol])&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[#Rising_and_Falling_Factorials|Rising (&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; &amp;amp;gt; 0) and Falling (&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; &amp;amp;lt; 0) factorial]] of length &amp;lt;apll&amp;gt;|&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;, stepping by &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; in the direction of &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N1&amp;amp;nbsp;N2&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;[[#Rising_and_Falling_Factorials|Rising (&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; &amp;amp;gt; 0) and Falling (&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt; &amp;amp;lt; 0) factorial]] of length &amp;lt;apll&amp;gt;|&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;, stepping by &amp;lt;apll&amp;gt;|&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N2&amp;lt;/i&amp;gt; in the direction of &amp;lt;i&amp;gt;N1&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⍎R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕FPC←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L÷R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∨R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L∧R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L○R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;L⊤R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L×R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Except for &amp;lt;b&amp;gt;Dot Product&amp;lt;/b&amp;gt;, these variants are non-trivial only when multiplying &amp;lt;b&amp;gt;Non-commutative&amp;lt;/b&amp;gt; numbers.&amp;lt;br /&amp;gt;The following definitions on scalar &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; extend to higher rank arrays in the usual way.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;all&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Quaternion/Octonion &amp;amp;mdash; Non-commutative&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Real/Complex &amp;amp;mdash; Commutative&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;i&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;I&amp;lt;/b&amp;gt;nterior product&amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;((L×R)+R×L)÷2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L×R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;e&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;E&amp;lt;/b&amp;gt;xterior product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;((L×R)-R×L)÷2&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;x&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Cross&amp;lt;/b&amp;gt; product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;¯9○&amp;amp;lt;(∘⌻¯9○L)+.×&amp;amp;gt;¯9○R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;b&amp;gt;Quaternions only&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;where &amp;lt;apll&amp;gt;¯9○R&amp;lt;/apll&amp;gt; returns &amp;lt;apll&amp;gt;(R-+R)÷2&amp;lt;/apll&amp;gt;, i.e. as a pure imaginary number&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;d&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;D&amp;lt;/b&amp;gt;ot product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(&amp;amp;gt;L)+.×&amp;amp;gt;R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;(same)&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&#039;c&#039;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt;onjugation product&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L×R÷L&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;where &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; may be &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;.  &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; must be a square simple Real numeric matrix.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, the result is a Complex floating point vector of the [https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors Eigenvalues] of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is 2, the result is a Complex floating point matrix of the [https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors Eigenvectors] of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, one per column.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt;, the result is a two-element nested vector with a Complex vector of the Eigenvalues in the first element and a Complex matrix of the Eigenvectors in the second.  If &amp;lt;i&amp;gt;N&amp;lt;/i&amp;gt; is &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;, the result is a three-element nested vector with a Complex vector of the Eigenvalues in the first element, a Complex matrix of the Eigenvectors in the second, and a Real matrix of the Schur vectors in the third.  For more details see [[#Eigenvalues_and_Eigenvectors|Eigenvalues and Eigenvectors]].&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;.&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;/0⍴⊂R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;⎕LR←&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;C&amp;lt;/i&amp;gt; &amp;amp;mdash; this value is used only when the identity function for inner product is called so as to distinguish the Left identity element from the Right.  For example, with &amp;lt;apll&amp;gt;R←3 4⍴⍳12&amp;lt;/apll&amp;gt;, the expression &amp;lt;apll&amp;gt;⊃+.×⍠&#039;l&#039;/0⍴⊂R&amp;lt;/apll&amp;gt; produces the Left identity element (which is a &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; by &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; identity matix) and &amp;lt;apll&amp;gt;⊃+.×⍠&#039;r&#039;/0⍴⊂R&amp;lt;/apll&amp;gt; produces the Right identity element (which is a &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt; by &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt; identity matrix).  The actual values in the result are dependent on the functions &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Subsequences==&lt;br /&gt;
&lt;br /&gt;
===Ascending===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;An Ascending subsequence of one vector in another (&amp;lt;apll&amp;gt;L⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt;) is a set of indices of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; (barring items Not Found) such that &amp;lt;apll&amp;gt;R≡L[L⍳⍠&#039;a&#039; R]&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;∧/2&amp;amp;lt;/L⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt;, that is the indices are monotonically increasing.  This primitive is written such that it returns the smallest values that satisfy the above conditions.  All datatypes are valid for the left and right arguments; the result is always an integer vector of the same length as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L←2 7 1 5 7 1 2 1 7 1&lt;br /&gt;
      R←5 2 7 1&lt;br /&gt;
      L⍳⍠&#039;a&#039; R&lt;br /&gt;
4 7 9 10&lt;br /&gt;
      L[L⍳⍠&#039;a&#039; R]&lt;br /&gt;
5 2 7 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, the corresponding value in the result is &amp;lt;apll&amp;gt;⎕IO+⍴L&amp;lt;/apll&amp;gt;.  Moreover, if an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, then all following elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are also Not Found.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Continuing the above example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      LL←L,3&lt;br /&gt;
      RR←R,9 3&lt;br /&gt;
      LL⍳⍠&#039;a&#039; RR&lt;br /&gt;
4 7 9 10 12 12&lt;br /&gt;
      (LL,&#039;?&#039;)[LL⍳⍠&#039;a&#039; RR]&lt;br /&gt;
5 2 7 1 ??&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Descending===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A Descending subsequence of one vector in another (&amp;lt;apll&amp;gt;L⍳⍠&#039;d&#039; R&amp;lt;/apll&amp;gt;) is a set of indices of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; (barring items Not Found) such that &amp;lt;apll&amp;gt;R≡L[L⍳⍠&#039;d&#039; R]&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;∧/2&amp;amp;gt;/L⍳⍠&#039;d&#039; R&amp;lt;/apll&amp;gt;, that is the indices are monotonically decreasing.  This primitive is written such that it returns the largest values that satisfy the above conditions.  All datatypes are valid for the left and right arguments; the result is always an integer vector of the same length as &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L←1 2 5 7 2 1 5 7 1 2 5 5 1 2 7&lt;br /&gt;
      R←5 2 7 1&lt;br /&gt;
      L⍳⍠&#039;d&#039; R&lt;br /&gt;
12 10 8 6&lt;br /&gt;
      L[L⍳⍠&#039;d&#039; R]&lt;br /&gt;
5 2 7 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, the corresponding value in the result is &amp;lt;apll&amp;gt;⎕IO-1&amp;lt;/apll&amp;gt;.  Moreover, if an element in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is Not Found, then all following elements in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are also Not Found.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Continuing the above example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      LL←3,L&lt;br /&gt;
      RR←R,9 3&lt;br /&gt;
      LL⍳⍠&#039;d&#039; RR&lt;br /&gt;
13 11 9 7 0 0&lt;br /&gt;
      (&#039;?&#039;,LL)[1+LL⍳⍠&#039;d&#039; RR]&lt;br /&gt;
5 2 7 1 ??&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Combining Variants===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Dyadic Iota allows several other Variants such as setting the Index Origin and Comparison Tolerance.  They may be combined into one right operand, for example, any of the following expressions&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;      L⍳⍠(0 1&amp;lt;_E/&amp;gt;¯10 &#039;d&#039;) R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; or&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;      L⍳⍠(0 &#039;d&#039; 1&amp;lt;_E/&amp;gt;¯10) R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp; or&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;      L⍳⍠(&#039;d&#039; 0 1&amp;lt;_E/&amp;gt;¯10) R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;may be used to find a Descending Subsequence in origin-0 using a Comparison Tolerance of &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯10&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The order of the two numeric values is important:  if there is only one number in the right operand, it is applied to the Index Origin; if there are two numbers, the first is applied to the Index Origin and the second to the Comparison Tolerance.  The character value may appear anywhere in the right operand &amp;amp;mdash; however if a second character-valued Variant were defined for Dyadic Iota, then the two character values would also be order-dependent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Identities For Subsequences===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The following identities hold in either Index Origin even if there are Not Found values in the result:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;      (L⍳⍠&#039;a&#039; R)≡(1 ¯1[1]+⍴L)-(⌽L)⍳⍠&#039;d&#039; R&amp;lt;/apll&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;      (L⍳⍠&#039;d&#039; R)≡(1 ¯1[1]+⍴L)-(⌽L)⍳⍠&#039;a&#039; R&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rising and Falling Factorials==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A falling factorial is like a normal factorial except that it subtracts the step value (by default &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; unless overridden) from the original number for a fixed # of iterations.  That is, &amp;lt;apll&amp;gt;!6&amp;lt;/apll&amp;gt; successively decrements &amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt; by &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; and multiplies the numbers &amp;lt;apll&amp;gt;6 5 4 3 2 1&amp;lt;/apll&amp;gt; to get &amp;lt;apll&amp;gt;720&amp;lt;/apll&amp;gt;.  A falling factorial starting with &amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt; of length (say) &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; multiplies &amp;lt;apll&amp;gt;6 5 4&amp;lt;/apll&amp;gt; to get &amp;lt;apll&amp;gt;120&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A rising factorial is like a falling factorial except it adds the step value (by default &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; unless overridden) instead of subtracting it.  A rising factorial starting with &amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt; of length (say) &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; multiplies &amp;lt;apll&amp;gt;6 7 8&amp;lt;/apll&amp;gt; to get &amp;lt;apll&amp;gt;336&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Here are some examples of the falling factorial&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      !6 &lt;br /&gt;
720 &lt;br /&gt;
      (!⍠¯6)6 ⍝ ×/6 5 4 3 2 1 &lt;br /&gt;
720 &lt;br /&gt;
      (!⍠¯5)6 ⍝ ×/6 5 4 3 2 &lt;br /&gt;
720 &lt;br /&gt;
      (!⍠¯4)6 ⍝ ×/6 5 4 3 &lt;br /&gt;
360 &lt;br /&gt;
      (!⍠¯3)6 ⍝ ×/6 5 4 &lt;br /&gt;
120 &lt;br /&gt;
      (!⍠¯2)6 ⍝ ×/6 5&lt;br /&gt;
30 &lt;br /&gt;
      (!⍠¯1)6 ⍝ ×/6 &lt;br /&gt;
6 &lt;br /&gt;
      (!⍠¯0)6 ⍝ ×/⍬ &lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;and now falling by &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (!⍠(¯6 2))6 ⍝ ×/6 4 2 0 ¯2 ¯4 &lt;br /&gt;
0 &lt;br /&gt;
      (!⍠(¯5 2))6 ⍝ ×/6 4 2 0 ¯2 &lt;br /&gt;
0 &lt;br /&gt;
      (!⍠(¯4 2))6 ⍝ ×/6 4 2 0 &lt;br /&gt;
0 &lt;br /&gt;
      (!⍠(¯3 2))6 ⍝ ×/6 4 2 &lt;br /&gt;
48 &lt;br /&gt;
      (!⍠(¯2 2))6 ⍝ ×/6 4 &lt;br /&gt;
24 &lt;br /&gt;
      (!⍠(¯1 2))6 ⍝ ×/6 &lt;br /&gt;
6 &lt;br /&gt;
      (!⍠(¯0 2))6 ⍝ ×/⍬ &lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;and here are some examples of the rising factorial&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (!⍠6)6 ⍝ ×/6 7 8 9 10 11 &lt;br /&gt;
332640 &lt;br /&gt;
      (!⍠5)6 ⍝ ×/6 7 8 9 10 &lt;br /&gt;
30240 &lt;br /&gt;
      (!⍠4)6 ⍝ ×/6 7 8 9 &lt;br /&gt;
3024 &lt;br /&gt;
      (!⍠3)6 ⍝ ×/6 7 8 &lt;br /&gt;
336 &lt;br /&gt;
      (!⍠2)6 ⍝ ×/6 7&lt;br /&gt;
42&lt;br /&gt;
      (!⍠1)6 ⍝ ×/6&lt;br /&gt;
6&lt;br /&gt;
      (!⍠0)6 ⍝ ×/⍬&lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;and now rising by &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (!⍠(6 2))6 ⍝ ×/6 8 10 12 14 16 &lt;br /&gt;
1290240 &lt;br /&gt;
      (!⍠(5 2))6 ⍝ ×/6 8 10 12 14 &lt;br /&gt;
80640 &lt;br /&gt;
      (!⍠(4 2))6 ⍝ ×/6 8 10 12 &lt;br /&gt;
5760 &lt;br /&gt;
      (!⍠(3 2))6 ⍝ ×/6 8 10 &lt;br /&gt;
480 &lt;br /&gt;
      (!⍠(2 2))6 ⍝ ×/6 8 &lt;br /&gt;
48 &lt;br /&gt;
      (!⍠(1 2))6 ⍝ ×/6 &lt;br /&gt;
6 &lt;br /&gt;
      (!⍠(0 2))6 ⍝ ×/⍬ &lt;br /&gt;
1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Identities For Rising and Falling Factorials===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠N)R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp; ←→ &amp;amp;nbsp;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N 1))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N 0))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp; ←→ &amp;amp;nbsp;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R*N&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N1,N2))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;&amp;amp;nbsp; ←→ &amp;amp;nbsp;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;(!⍠(N1,|N2))R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;(the sign of &amp;lt;apll&amp;gt;N2&amp;lt;/apll&amp;gt; is ignored)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Eigenvalues and Eigenvectors==&lt;br /&gt;
&lt;br /&gt;
These [https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors concepts] from Linear Algebra and Matrix Theory define the characteristic values and vectors of the linear transformation represented by a matrix.  Every square simple Real numeric matrix has Eigenvalues and Eigenvectors.  To calculate these objects, use the Variant operator with a left operand of the Domino function and a right operand of an integer scalar according to the following table:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; rules=&amp;quot;all&amp;quot; summary=&amp;quot;&amp;quot; style=&amp;quot;&amp;quot;border:1px solid black;&amp;quot;&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠1 R&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a Complex floating point vector of the Eigenvalues of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠2 R&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a Complex floating point matrix of the Eigenvectors of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, one per column&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠3 R&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a two-element nested vector with a Complex floating point vector of the Eigenvalues in the first element and a Complex floating point matrix of the Eigenvectors in the second&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;apll&amp;gt;Z←⌹⍠4 R&amp;lt;/apll&amp;gt;||&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a three-element nested vector with a Complex floating point vector of the Eigenvalues in the first element, a Complex floating point matrix of the Eigenvectors in the second, and a Real matrix of the Schur vectors in the third&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, Eigenvalues and Eigenvectors can be used to calculate the factorial of a matrix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;ensp;       M←2 2⍴1 3 2 1&lt;br /&gt;
&amp;amp;ensp;       M&lt;br /&gt;
&amp;amp;ensp; 1 3&lt;br /&gt;
&amp;amp;ensp; 2 1&lt;br /&gt;
&amp;amp;ensp;       MatFact←{(Eval Evec)←⌹⍠3 ⍵&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;⋄ Diag←∘⌻!Eval ⍝ Factorial of Eigenvalues on diagonal&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;⋄ Evec+.×Diag+.×⌹Evec}&lt;br /&gt;
&amp;amp;ensp;       MatFact M&lt;br /&gt;
&amp;amp;ensp; 3.6274 8.8423&lt;br /&gt;
&amp;amp;ensp; 5.8949 3.6274&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if we delete the Shriek function in &amp;lt;apll&amp;gt;MatFact&amp;lt;/apll&amp;gt;, the result is the original matrix argument.&lt;br /&gt;
&lt;br /&gt;
In turn, the function &amp;lt;apll&amp;gt;MatFact&amp;lt;/apll&amp;gt; can be used to calculate the Factorial of a HyperComplex number:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;ensp;       HyperFact←{M←∘⌻⍵        ⍝ Matrix representation of a HyperComplex number&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;⋄ ⎕IO←1 ⋄ &amp;lt;9○1⌷[2] MatFact M  ⍝ Factorial ...&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;➥&amp;lt;/span&amp;gt;}&lt;br /&gt;
&amp;amp;ensp;       HyperFact 1&amp;lt;_i/&amp;gt;2&lt;br /&gt;
&amp;amp;ensp; 0.11229&amp;lt;_i/&amp;gt;0.32361&lt;br /&gt;
&amp;amp;ensp;       !1&amp;lt;_i/&amp;gt;2&lt;br /&gt;
&amp;amp;ensp; 0.11229&amp;lt;_i/&amp;gt;0.32361&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the latter expression uses the Gnu Scientific Library Complex number routines to calculate the Factorial of a Complex number.&lt;br /&gt;
&lt;br /&gt;
In a similar manner, using the appropriate &amp;lt;apll&amp;gt;4×4&amp;lt;/apll&amp;gt; matrix representation of a Quaternion, its Factorial can be calculated which is the algorithm used in the implementation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;ensp;       HyperFact &amp;lt;⍳4&lt;br /&gt;
&amp;amp;ensp; 0.0060975&amp;lt;_i/&amp;gt;¯0.0010787&amp;lt;_j/&amp;gt;¯0.001618&amp;lt;_k/&amp;gt;¯0.0021573&lt;br /&gt;
&amp;amp;ensp;       !&amp;lt;⍳4&lt;br /&gt;
&amp;amp;ensp; 0.0060975&amp;lt;_i/&amp;gt;¯0.0010787&amp;lt;_j/&amp;gt;¯0.001618&amp;lt;_k/&amp;gt;¯0.0021573&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Article footer|9|Variant}}&lt;br /&gt;
[[Category:Operators]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=At&amp;diff=3851</id>
		<title>At</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=At&amp;diff=3851"/>
		<updated>2023-12-04T22:16:27Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Variable v. Jot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==At Derived Functions==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic At operator is used to index assign into an array &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, returning as the result the changed array.  There are four separate cases, depending upon whether the two operands are Variables or Functions. The design of this operator is taken directly from the corresponding feature in Dyalog APL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Variable v. Variable===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are variables.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the 1st and last characters in a string with a string:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (⊂&#039;abra&#039;)@(1 5)&#039;scads!&#039;&lt;br /&gt;
 abra cad abra !&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Replace the diagonal elements of a matrix:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      &#039;abcd&#039;@(2/¨⍳4)4 4⍴⍳16&lt;br /&gt;
 a  2  3  4&lt;br /&gt;
 5  b  7  8&lt;br /&gt;
 9 10  c 12&lt;br /&gt;
13 14 15  d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ 1≥≡A:A⊣A[⊃⍵⍵⌷¨⊂⍳⍴A]←⍺⍺ ⋄ A[⍵⍵]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Variable v. Function===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;When the Boolean-valued result of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g R&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, replace the corresponding element of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with the corresponding element of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a function.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the prime numbers in R with a character:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      &#039;π&#039;@{0π⍵}4 4⍴⍳16&lt;br /&gt;
1  π  π  4&lt;br /&gt;
π  6  π  8&lt;br /&gt;
9 10  π 12&lt;br /&gt;
π 14 15 16&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ A[⍸⍵⍵ A]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Variable v. Jot===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@∘ R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces all of the items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace all of the items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;¯1&amp;lt;/apll&amp;gt;:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ¯1@∘⍳2 3&lt;br /&gt;
¯1 ¯1 ¯1&lt;br /&gt;
¯1 ¯1 ¯1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ A[]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
===Function v. Variable===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; applied to each replaced item, where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional left argument to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a function, and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the diagonal elements of a matrix with their reciprocals:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ÷@(2/¨⍳4)4 4⍴⍳16&amp;lt;_x/&amp;gt;&lt;br /&gt;
 1   2    3    4&lt;br /&gt;
 5 1&amp;lt;_r/&amp;gt;6    7    8&lt;br /&gt;
 9  10 1&amp;lt;_r/&amp;gt;11   12&lt;br /&gt;
13  14   15 1&amp;lt;_r/&amp;gt;16&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Replace the diagonal elements of a matrix with their duplicates:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
       2/¨@(2/¨⍳4)4 4⍴⍳16&lt;br /&gt;
 1 1    2       3        4 &lt;br /&gt;
   5    6 6     7        8 &lt;br /&gt;
   9   10    11 11      12 &lt;br /&gt;
  13   14      15    16 16&lt;br /&gt;
&amp;lt;/pre&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{⍺←⊢ ⋄ A←⍵ ⋄ 1≥≡A:A⊣A[B]←⍺ ⍺⍺ A[B]⊣B←⊃⍵⍵⌷¨⊂⍳⍴A ⋄ A[⍵⍵]←⍺ ⍺⍺ A[⍵⍵] ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Function v. Function===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;When the Boolean-valued result of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, replace the corresponding element of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; applied to the same element, where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional left argument to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are functions.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace composite numbers with their factors:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      π¨@{~0π⍵}4 4⍴⍳16&lt;br /&gt;
 1        2      3  2 2     &lt;br /&gt;
   5    2 3      7  2 2 2   &lt;br /&gt;
 3 3    2 5     11  2 2 3   &lt;br /&gt;
  13    2 7    3 5  2 2 2 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{⍺←⊢ ⋄ A←⍵ ⋄ B←⍸⍵⍵ A ⋄ A[B]←⍺ ⍺⍺ A[B] ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=At&amp;diff=3850</id>
		<title>At</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=At&amp;diff=3850"/>
		<updated>2023-12-04T22:14:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==At Derived Functions==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic At operator is used to index assign into an array &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, returning as the result the changed array.  There are four separate cases, depending upon whether the two operands are Variables or Functions. The design of this operator is taken directly from the corresponding feature in Dyalog APL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Variable v. Variable===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are variables.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the 1st and last characters in a string with a string:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (⊂&#039;abra&#039;)@(1 5)&#039;scads!&#039;&lt;br /&gt;
 abra cad abra !&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Replace the diagonal elements of a matrix:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      &#039;abcd&#039;@(2/¨⍳4)4 4⍴⍳16&lt;br /&gt;
 a  2  3  4&lt;br /&gt;
 5  b  7  8&lt;br /&gt;
 9 10  c 12&lt;br /&gt;
13 14 15  d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ 1≥≡A:A⊣A[⊃⍵⍵⌷¨⊂⍳⍴A]←⍺⍺ ⋄ A[⍵⍵]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Variable v. Function===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;When the Boolean-valued result of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g R&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, replace the corresponding element of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with the corresponding element of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a function.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the prime numbers in R with a character:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      &#039;π&#039;@{0π⍵}4 4⍴⍳16&lt;br /&gt;
1  π  π  4&lt;br /&gt;
π  6  π  8&lt;br /&gt;
9 10  π 12&lt;br /&gt;
π 14 15 16&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ A[⍸⍵⍵ A]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Variable v. Jot===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@∘ R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces all of the items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace all items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ¯1@∘⍳2 3&lt;br /&gt;
¯1 ¯1 ¯1&lt;br /&gt;
¯1 ¯1 ¯1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ A[]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Function v. Variable===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; applied to each replaced item, where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional left argument to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a function, and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the diagonal elements of a matrix with their reciprocals:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ÷@(2/¨⍳4)4 4⍴⍳16&amp;lt;_x/&amp;gt;&lt;br /&gt;
 1   2    3    4&lt;br /&gt;
 5 1&amp;lt;_r/&amp;gt;6    7    8&lt;br /&gt;
 9  10 1&amp;lt;_r/&amp;gt;11   12&lt;br /&gt;
13  14   15 1&amp;lt;_r/&amp;gt;16&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Replace the diagonal elements of a matrix with their duplicates:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
       2/¨@(2/¨⍳4)4 4⍴⍳16&lt;br /&gt;
 1 1    2       3        4 &lt;br /&gt;
   5    6 6     7        8 &lt;br /&gt;
   9   10    11 11      12 &lt;br /&gt;
  13   14      15    16 16&lt;br /&gt;
&amp;lt;/pre&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{⍺←⊢ ⋄ A←⍵ ⋄ 1≥≡A:A⊣A[B]←⍺ ⍺⍺ A[B]⊣B←⊃⍵⍵⌷¨⊂⍳⍴A ⋄ A[⍵⍵]←⍺ ⍺⍺ A[⍵⍵] ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Function v. Function===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;When the Boolean-valued result of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, replace the corresponding element of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; applied to the same element, where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional left argument to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are functions.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace composite numbers with their factors:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      π¨@{~0π⍵}4 4⍴⍳16&lt;br /&gt;
 1        2      3  2 2     &lt;br /&gt;
   5    2 3      7  2 2 2   &lt;br /&gt;
 3 3    2 5     11  2 2 3   &lt;br /&gt;
  13    2 7    3 5  2 2 2 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{⍺←⊢ ⋄ A←⍵ ⋄ B←⍸⍵⍵ A ⋄ A[B]←⍺ ⍺⍺ A[B] ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3849</id>
		<title>Language Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3849"/>
		<updated>2023-11-28T02:25:23Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Primitive Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At the moment, the following sections describe only those language features that are &#039;&#039;&#039;New&#039;&#039;&#039; or &#039;&#039;&#039;Enhanced&#039;&#039;&#039; relative to the Extended APL Standard, or that deserve special comment.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* [[Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modified Assignment]]:  &amp;lt;apll&amp;gt;Af←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modify Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)f←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Hyperators]]:  &amp;lt;apll&amp;gt;∇ Z←L (LO (LH dhdo RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Function/Operator/Hyperator Assignment]]:  &amp;lt;apll&amp;gt;A←f&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op1&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op2&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Binding Strength]]:  How Variables, Functions, Operators, Hyperators and other syntactic elements combine&lt;br /&gt;
* [[Sink]]:  &amp;lt;apll&amp;gt;←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Point Notation]]:  &lt;br /&gt;
** &#039;&#039;&#039;Base&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;16&amp;lt;_b/&amp;gt;10FFFF&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;16⊥1 0 15 15 15 15&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;10&amp;lt;_b/&amp;gt;45v&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;10⊥4 5 31&amp;lt;/apll&amp;gt;.&lt;br /&gt;
** &#039;&#039;&#039;Euler&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_x/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙e&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(*1)*3&amp;lt;/apll&amp;gt; where e is [https://en.wikipedia.org/wiki/E_(mathematical_constant) Euler&#039;s Number] (&amp;lt;apll&amp;gt;2.718281828459045...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Pi&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;2&amp;lt;_pi/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙π&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(○1)*3&amp;lt;/apll&amp;gt; where π is [https://en.wikipedia.org/wiki/Pi Archimedes&#039; constant] (&amp;lt;apll&amp;gt;3.141592653589793...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Gamma&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_g/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙γ&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; where γ is [https://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni&#039;s Constant] (&amp;lt;apll&amp;gt;0.5772156649015329...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Zeta&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_z/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙&amp;amp;zeta;(3) where &amp;amp;zeta;(x) is the [https://en.wikipedia.org/wiki/Riemann_zeta_function Riemann Zeta function].&lt;br /&gt;
** &#039;&#039;&#039;Hypercomplex&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_i/&amp;gt;3&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;_J/&amp;gt;3&amp;lt;/apll&amp;gt; (both equal to &amp;lt;apll&amp;gt;2+3×√¯1&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Degrees), &amp;lt;apll&amp;gt;2&amp;lt;_ar/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Radians), &amp;lt;apll&amp;gt;2&amp;lt;_au/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Unit Normalized), or &amp;lt;apll&amp;gt;2&amp;lt;_ah/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Half Unit Normalized) for a Complex number, &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt; for a Quaternion number, and &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt; for an Octonion number.&lt;br /&gt;
** &#039;&#039;&#039;Rational&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2÷3&amp;lt;/apll&amp;gt; as a Multiple-Precision Integer/Rational number.&lt;br /&gt;
** &#039;&#039;&#039;Variable-Precision Floating&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; as a Multiple-Precision Floating Point number.&lt;br /&gt;
** &#039;&#039;&#039;Ball Arithmetic&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt;, respectively.&lt;br /&gt;
* [[Trains]]:  e.g., &amp;lt;apll&amp;gt;avg←(+⌿ ÷ ≢)&amp;lt;/apll&amp;gt; applies the functions to its argument(s) in a particular way (in this case, to compute the average of a numeric scalar or vector).&lt;br /&gt;
* [[Anonymous Functions/Operators/Hyperators]]:  multi-line grouping of one or more statements all enclosed in braces such as &amp;lt;apll&amp;gt;{(+⌿⍵)÷≢⍵}&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Primitive Functions==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Array Lookup]]||     &amp;lt;apll&amp;gt;L⍸R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Condense]]||     &amp;lt;apll&amp;gt;&amp;amp;lt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dilate]]||     &amp;lt;apll&amp;gt;&amp;amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Expand]]||     &amp;lt;apll&amp;gt;L\[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Find]]||     &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Generator]]||     &amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Of]]||     &amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indexing]]||     &amp;lt;apll&amp;gt;R[L]&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]f←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌷[X] R&amp;lt;/apll&amp;gt;,    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indices]]||     &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix Inverse/Divide]]||     &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Mismatch]]||     &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Partitioned Enclose]]||     &amp;lt;apll&amp;gt;L⊂[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Primes]]||     &amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Reshape]]||     &amp;lt;apll&amp;gt;L⍴R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Root]]||     &amp;lt;apll&amp;gt;√R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L√[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sequence]]||     &amp;lt;apll&amp;gt;L..R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Sets]]||     &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Tally]]||     &amp;lt;apll&amp;gt;≢R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Without]]||     &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Operators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[At]]||      &amp;lt;apll&amp;gt;a@b R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;a@f R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;{L} f@b R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;{L} f@g R&amp;lt;/apll&amp;gt;      ||monadic/ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Axis]]||     &amp;lt;apll&amp;gt;{L} f[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op1[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op2[X] g R&amp;lt;/apll&amp;gt; ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Combinatorial]]||     &amp;lt;apll&amp;gt;a‼ R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Commute]]||     &amp;lt;apll&amp;gt;L f⍨ R ←→ R f L&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose]]||     &amp;lt;apll&amp;gt;{L} f∘g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;f∘b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;a∘g R&amp;lt;/apll&amp;gt; ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Composition]]||     &amp;lt;apll&amp;gt;{L} f⍥g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Convolution]]||     &amp;lt;apll&amp;gt;L f⍡g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Derivative]]||     &amp;lt;apll&amp;gt;{L} f∂[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f∂∂[X] R&amp;lt;/apll&amp;gt;, etc.   ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Determinant Operator|Determinant]]||     &amp;lt;apll&amp;gt;f.g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Duplicate]]||     &amp;lt;apll&amp;gt;f⍨ R ←→ R f R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Integral]]||     &amp;lt;apll&amp;gt;{L} f&amp;lt;_sg/&amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power#Inverses|Inverses]]||     &amp;lt;apll&amp;gt;{L} f⍣¯1 R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mask|Mask]]||      &amp;lt;apll&amp;gt;L (a∘/) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⌿) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘/[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]||     &amp;lt;apll&amp;gt;{L} f⌻ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;∘⌻ R&amp;lt;/apll&amp;gt;    ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mesh|Mesh]]||      &amp;lt;apll&amp;gt;L (a∘\) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⍀) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘\[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Multisets]]||     &amp;lt;apll&amp;gt;{L} f⍦ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Null]]||     &amp;lt;apll&amp;gt;{L} f⊙ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power]]||     &amp;lt;apll&amp;gt;{L} f⍣g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍣b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Rank/Atop]]||     &amp;lt;apll&amp;gt;{L} f⍤[X] b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍤g R&amp;lt;/apll&amp;gt;     ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Variant]]||     &amp;lt;apll&amp;gt;{L} f⍠b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;b&amp;lt;/apll&amp;gt; represent Variables, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Hyperators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform]||     &amp;lt;apll&amp;gt;f h⍑g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;h&amp;lt;/apll&amp;gt; represents a Function/Operator, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
Also, see [[Hyperators]].&lt;br /&gt;
&lt;br /&gt;
==Datatypes==&lt;br /&gt;
* [[Infinity]]:  &amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;¯∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[NaN]]:  &amp;lt;apll&amp;gt;∅&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[APA|Arithmetic Progression Arrays]]:   &amp;lt;apll&amp;gt;2 3 4⍴⍳24&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Unicode|Unicode Characters]]&lt;br /&gt;
* [[Array Predicates]]&lt;br /&gt;
* [[Rational and VFP Numbers|Rational Numbers]]:  &amp;lt;apll&amp;gt;1&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12345&amp;lt;_x/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Rational and VFP Numbers|Variable-precision Floating Point (VFP) Numbers]]:  &amp;lt;apll&amp;gt;1.234&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Complex Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;3.4&amp;lt;_i/&amp;gt;5&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;90&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;22&amp;lt;_ar/&amp;gt;.1&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;20&amp;lt;_au/&amp;gt;.5&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Quaternion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Octonion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Ball Arithmetic]]:  &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;2*¯53&amp;lt;/apll&amp;gt;, respectively, because the Midpoint (&amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt;) cannot be represented exactly in double-precision floating point format with the standard &amp;lt;apll&amp;gt;53&amp;lt;/apll&amp;gt; bits of precision.&lt;br /&gt;
&lt;br /&gt;
==Java Support==&lt;br /&gt;
The Java programming language is now supported.  You can now write code in Java, and call it from APL.  For more details, see [[Java_Support|Java Support]].&lt;br /&gt;
&lt;br /&gt;
==System Commands==&lt;br /&gt;
{{:System Commands}}&lt;br /&gt;
&lt;br /&gt;
==System Variables and Functions==&lt;br /&gt;
{{System Variables}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=At&amp;diff=3848</id>
		<title>At</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=At&amp;diff=3848"/>
		<updated>2023-11-28T02:24:21Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;==At Derived Functions==  &amp;lt;p&amp;gt;The dyadic At operator is used to index assign into an array &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, returning as the result the changed array.  There are four separate cases, depending upon whether the two operands are Variables or Functions. The design of this operator is taken directly from the corresponding feature in Dyalog APL.&amp;lt;/p&amp;gt;  ===Variable v. Variable===  &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt; &amp;lt;tr&amp;gt;   &amp;lt;td&amp;gt;     &amp;lt;table bor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==At Derived Functions==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic At operator is used to index assign into an array &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, returning as the result the changed array.  There are four separate cases, depending upon whether the two operands are Variables or Functions. The design of this operator is taken directly from the corresponding feature in Dyalog APL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Variable v. Variable===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;+&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are variables.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the 1st and last characters in a string with a string:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      (⊂&#039;abra&#039;)@(1 5)&#039;scads!&#039;&lt;br /&gt;
 abra cad abra !&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Replace the diagonal elements of a matrix:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      &#039;abcd&#039;@(2/¨⍳4)4 4⍴⍳16&lt;br /&gt;
 a  2  3  4&lt;br /&gt;
 5  b  7  8&lt;br /&gt;
 9 10  c 12&lt;br /&gt;
13 14 15  d&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ 1≥≡A:A⊣A[⊃⍵⍵⌷¨⊂⍳⍴A]←⍺⍺ ⋄ A[⍵⍵]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Function v. Variable===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Replaces the &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; items of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; applied to each replaced item, where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional left argument to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a function, and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;b&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the diagonal elements of a matrix with their reciprocals:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ÷@(2/¨⍳4)4 4⍴⍳16&amp;lt;_x/&amp;gt;&lt;br /&gt;
 1   2    3    4&lt;br /&gt;
 5 1&amp;lt;_r/&amp;gt;6    7    8&lt;br /&gt;
 9  10 1&amp;lt;_r/&amp;gt;11   12&lt;br /&gt;
13  14   15 1&amp;lt;_r/&amp;gt;16&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Replace the diagonal elements of a matrix with their duplicates:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
       2/¨@(2/¨⍳4)4 4⍴⍳16&lt;br /&gt;
 1 1    2       3        4 &lt;br /&gt;
   5    6 6     7        8 &lt;br /&gt;
   9   10    11 11      12 &lt;br /&gt;
  13   14      15    16 16&lt;br /&gt;
&amp;lt;/pre&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{⍺←⊢ ⋄ A←⍵ ⋄ 1≥≡A:A⊣A[B]←⍺ ⍺⍺ A[B]⊣B←⊃⍵⍵⌷¨⊂⍳⍴A ⋄ A[⍵⍵]←⍺ ⍺⍺ A[⍵⍵] ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Variable v. Function===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;When the Boolean-valued result of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g R&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, replace the corresponding element of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with the corresponding element of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;a&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a variable and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is a function.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace the prime numbers in R with a character:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      &#039;π&#039;@{0π⍵}4 4⍴⍳16&lt;br /&gt;
1  π  π  4&lt;br /&gt;
π  6  π  8&lt;br /&gt;
9 10  π 12&lt;br /&gt;
π 14 15 16&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{A←⍵ ⋄ A[⍸⍵⍵ A]←⍺⍺ ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===Function v. Function===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←{L} &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;@&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;When the Boolean-valued result of &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, replace the corresponding element of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; with &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; applied to the same element, where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional left argument to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are functions.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;For example:&lt;br /&gt;
Replace composite numbers with their factors:&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      π¨@{~0π⍵}4 4⍴⍳16&lt;br /&gt;
 1        2      3  2 2     &lt;br /&gt;
   5    2 3      7  2 2 2   &lt;br /&gt;
 3 3    2 5     11  2 2 3   &lt;br /&gt;
  13    2 7    3 5  2 2 2 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;p&amp;gt;This case is implemented via the anonymous function &amp;lt;apll&amp;gt;{⍺←⊢ ⋄ A←⍵ ⋄ B←⍸⍵⍵ A ⋄ A[B]←⍺ ⍺⍺ A[B] ⋄ A}&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_DR&amp;diff=3847</id>
		<title>System Function DR</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_DR&amp;diff=3847"/>
		<updated>2023-11-20T22:07:23Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Special Values */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function is available in both &#039;&#039;monadic&#039;&#039; and &#039;&#039;dyadic&#039;&#039; forms.&lt;br /&gt;
==Monadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←⎕DR R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|returns the internal representation of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine |&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array.}}&lt;br /&gt;
{{BoxEnd  |&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar which represents the datatype of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The low-order two digits of the result encode the internal representation as a unique index for each category.  The high-order two digits of the result encode either the number of bits per element (where appropriate), or for Hypercomplex numbers, the internal representation of the coefficients:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;:  Boolean, one bit per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;:  Character, 16 bits per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;:  Integer, 64 bits per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;:  Floating Point, 64 bits per element (double precision)&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;14&amp;lt;/apll&amp;gt;:  Rational, 16 bytes plus two 4- or 8-byte pointers plus size of limbs per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;15&amp;lt;/apll&amp;gt;:  Variable-precision Floating Point, 12 bytes plus one 4- or 8-byte pointer plus size of limbs per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;1216&amp;lt;/apll&amp;gt;:  64-bit Integer Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1316&amp;lt;/apll&amp;gt;:  64-bit Floating Point Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1416&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1516&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1217&amp;lt;/apll&amp;gt;:  64-bit Integer Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1317&amp;lt;/apll&amp;gt;:  64-bit Floating Point Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1417&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1517&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1218&amp;lt;/apll&amp;gt;:  64-bit Integer Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1318&amp;lt;/apll&amp;gt;:  64-bit Floating Point Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1418&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1518&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;19&amp;lt;/apll&amp;gt;:  Arithmetic Progression Array, 64 bits each for the offset and multiplier&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;20&amp;lt;/apll&amp;gt;:  Heterogeneous, one 4- or 8-byte pointer per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;21&amp;lt;/apll&amp;gt;:  Nested, one 4- or 8-byte pointer per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;22&amp;lt;/apll&amp;gt;:  Real (one-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2216&amp;lt;/apll&amp;gt;:  Complex (two-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2217&amp;lt;/apll&amp;gt;:  Quaternion (four-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2218&amp;lt;/apll&amp;gt;:  Octonion (eight-dimensional) Ball Arithmetic&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕DR 1 0 1&lt;br /&gt;
110 &lt;br /&gt;
      ⎕DR ⌈/⍬&lt;br /&gt;
6413 &lt;br /&gt;
      ⎕DR 2 64⍴1   &amp;amp;mdash; Note [1]  &lt;br /&gt;
19 &lt;br /&gt;
      ⎕DR 2 64⍴1 1 &amp;amp;mdash; Note [2]  &lt;br /&gt;
110&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; This is really an APA, not Boolean &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; This one is Boolean because Reshape produces APAs for integer singleton right arguments only&lt;br /&gt;
&lt;br /&gt;
==Dyadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←L ⎕DR R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar or one-element vector datatype (see the table above), or a special value (see below).}}&lt;br /&gt;
{{BoxEnd|&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; where each of the values are converted to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Returned value &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; may alternatively be: numeric scalar, vector of numbers, or a character string - depending on what the value of left argument &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the conversion is from a narrower datatype to a wider datatype, there must be exactly enough columns in the right argument to match a multiple of the size of the wider datatype.  For example, when converting from character (16-bit) to integer (64-bit), the last column of the right argument must be a multiple of 4 (= 64/16); otherwise, a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the following example, an 8-element character vector (=128 bits) is converted to two 64-bit integers (in both NARS2000 32- and 64-bit versions integers are stored in 64-bits):&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR &#039;NARS2000&#039;&lt;br /&gt;
23362775258562638 13511005043687474&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the conversion is from a wider datatype to a narrower datatype, the number of values in the result is a multiple of the ratio of the wider datatype to the narrower datatype.  For example, when converting from integer (64-bit) to character (16-bit), the last column in the result is the product of last column of the right argument and 4 (= 64/16).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example (&#039;&#039;&#039;inverse&#039;&#039;&#039; of the example just above),&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍴⎕←1611 ⎕DR 23362775258562638 13511005043687474&lt;br /&gt;
NARS2000&lt;br /&gt;
8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Keep in mind how [[APA|Arithmetic Progression Arrays]]&#039;&#039;&#039; are created and represented; they can fool both the casual programmer as well as an experienced coder.  For example, one might try the following to convert from Boolean to integer:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR 2 64⍴1 ⍝ Conversion of an APA to an integer&lt;br /&gt;
1 0 2 64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;However, this doesn&#039;t produce the expected result because this particular right argument is an &amp;lt;apll&amp;gt;APA&amp;lt;/apll&amp;gt;, and &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; a simple Boolean vector of 1s.  That is, under certain circumstances, the reshape primitive creates an APA.  In this case, the APA is an array with an offset of &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, a multiplier of &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; and a shape of &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt; rows and &amp;lt;apll&amp;gt;64&amp;lt;/apll&amp;gt; cols.  The usefulness of APA&#039;s in reducing data storage and processing times outweighs their sometimes added code complexity or additional insight, which may be required.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;On the other hand, this expression:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR 2 64⍴1 1 ⍝ Contrast this with the prior example - Boolean vector created here, NOT an APA&lt;br /&gt;
 ¯1&lt;br /&gt;
 ¯1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;produces the expected result because the right argument is not an integer-valued singleton (in fact, it is a two-element vector which is not eligible for conversion to an APA).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Special Values===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There are several special values you may use as a left argument to &amp;lt;apll&amp;gt;⎕DR&amp;lt;/apll&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; displays the datatype of the right argument as a text &#039;&#039;&#039;string&#039;&#039;&#039; so you don&#039;t need to remember the datatype numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕DR 0&lt;br /&gt;
110&lt;br /&gt;
      0 ⎕DR 0&lt;br /&gt;
Boolean (110):  1 bit per element&lt;br /&gt;
      ⎕DR 23&lt;br /&gt;
6412&lt;br /&gt;
      0 ⎕DR 23 24&lt;br /&gt;
Integer (6412):  64 bits per element&lt;br /&gt;
      ⎕DR 1.1&lt;br /&gt;
6413&lt;br /&gt;
      0 ⎕DR 1.1&lt;br /&gt;
Floating Point (6413):  64 bits per element&lt;br /&gt;
      ⎕DR &#039;a&#039;&lt;br /&gt;
1611&lt;br /&gt;
      0 ⎕DR &#039;a&#039;&lt;br /&gt;
Character (1611):  16 bits per element&lt;br /&gt;
      ⎕DR ⍳12&lt;br /&gt;
19&lt;br /&gt;
      0 ⎕DR ⍳12&lt;br /&gt;
Arithmetic Progression Array (19):  64 bit offset + 64 bit multiplier -- PV1&lt;br /&gt;
      0 ⎕dr 1 2 3&amp;lt;_x/&amp;gt;&lt;br /&gt;
Rational (14):  arbitrary precision numerator and denominator&lt;br /&gt;
      0 ⎕dr 1 2 3&amp;lt;_v/&amp;gt;&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC128&lt;br /&gt;
      0 ⎕DR 1v64 2&amp;lt;_v/&amp;gt;64&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC64 &lt;br /&gt;
      0 ⎕DR 1 2&amp;lt;_v/&amp;gt;64&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC-Mixed&lt;br /&gt;
      0 ⎕DR ⍳¨⍳9&lt;br /&gt;
Nested Array (21):  PTR bits per element&lt;br /&gt;
      0 ⎕DR &#039;a&#039; 1&lt;br /&gt;
Heterogeneous Array (20):  PTR bits per element&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Note that the storage format for integers (&amp;lt;apll&amp;gt;23 24&amp;lt;/apll&amp;gt; in the above examples) is 64-bits per element and APAs (&amp;lt;apll&amp;gt;⍳12&amp;lt;/apll&amp;gt;) is 64-bits for both the offset and multiplier regardless of whether you are running the 32- or 64-bit version of NARS2000.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the last two examples, the reference to &amp;lt;apll&amp;gt;PTR&amp;lt;/apll&amp;gt; means that storage format consists of pointers and is either 32- or 64-bits per element in the 32- or 64-bit version of NARS2000, respectively.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Many times in programming - for debugging, data scrutiny or other purposes - it is very important to know &amp;lt;b&amp;gt;exactly&amp;lt;/b&amp;gt; how the data is represented by the program. &amp;lt;apll&amp;gt;⎕DR&amp;lt;/apll&amp;gt; or Data Representation is a feature designed to allow close scrutiny of how data is stored in memory and operated on in NARS2000.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Some arrays have properties that may be displayed by this function:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;PV0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;This array is a Permutation Vector, origin-0&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;PV1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a Permutation Vector, origin-1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;All2s&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array consists of all &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;s&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;FPC&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;nnn&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a VFP and all entries are represented in Precision &amp;lt;i&amp;gt;nnn&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;FPC-Mixed&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a VFP whose entries are represented in two or more different precisions&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; converts between hex-character and floating point computer formats.  This argument makes it very useful to view representations of floating point numbers - in order to better understand numeric precisions, program storage formats, debug multi-precision floating-point math routines (by NARS developers) or examine perceived floating point issues.  Because this function converts between floating point and character format, it is self-inverse.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕PP←99&lt;br /&gt;
      1 ⎕DR 1.1&lt;br /&gt;
3FF199999999999A&lt;br /&gt;
      ⍴1 ⎕DR 1.1&lt;br /&gt;
16&lt;br /&gt;
      1 ⎕DR 1&lt;br /&gt;
3FF0000000000000&lt;br /&gt;
      1 ⎕DR ÷3&lt;br /&gt;
3FD5555555555555&lt;br /&gt;
      1 ⎕DR &#039;3fd&#039;,13⍴&#039;5&#039;&lt;br /&gt;
0.3333333333333333&lt;br /&gt;
      1 ⎕DR ¯∞ ∞&lt;br /&gt;
FFF0000000000000&lt;br /&gt;
7FF0000000000000&lt;br /&gt;
      1 ⎕DR &#039;7fe&#039;,13⍴&#039;f&#039; ⍝ The largest positive number&lt;br /&gt;
1.7976931348623157E308&lt;br /&gt;
      1 ⎕DR &#039;001&#039;,13⍴&#039;0&#039; ⍝ The smallest positive number&lt;br /&gt;
2.2250738585072014E¯308&lt;br /&gt;
      1 ⎕DR &#039;801&#039;,13⍴&#039;0&#039; ⍝ The largest negative number&lt;br /&gt;
¯2.2250738585072014E¯308&lt;br /&gt;
      1 ⎕DR &#039;ffe&#039;,13⍴&#039;f&#039; ⍝ The smallest negative number&lt;br /&gt;
¯1.7976931348623157E308&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt; converts between character and 64-bit integer.  This argument makes it easy to see the representation of integers.  Because this function converts between integer and character format, it is self-inverse.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      2 ⎕DR ¯1&lt;br /&gt;
FFFFFFFFFFFFFFFF&lt;br /&gt;
      2 ⎕DR 16⍴&#039;f&#039;&lt;br /&gt;
¯1&lt;br /&gt;
      2 ⎕DR &#039;7&#039;,15⍴&#039;f&#039; ⍝ The largest positive integer&lt;br /&gt;
9223372036854775807&lt;br /&gt;
      2 ⎕DR &#039;8&#039;,15⍴&#039;0&#039; ⍝ The smallest negative integer&lt;br /&gt;
¯9223372036854775808&lt;br /&gt;
      2 ⎕DR 9223372036854775807 ¯9223372036854775808&lt;br /&gt;
7FFFFFFFFFFFFFFF&lt;br /&gt;
8000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; returns the precision of the right argument array as a simple scalar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      3 ⎕DR 0 1&lt;br /&gt;
1&lt;br /&gt;
      3 ⎕DR ⍳3&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR ÷2 3&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR ÷2 3&amp;lt;_x/&amp;gt;&lt;br /&gt;
∞&lt;br /&gt;
      3 ⎕DR 2.3&amp;lt;_v/&amp;gt; ⍝ Returns the value of ⎕FPC when the constant was tokenized&lt;br /&gt;
128&lt;br /&gt;
      3 ⎕DR 1&amp;lt;_v/&amp;gt;64&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR &#039;a&#039;&lt;br /&gt;
0&lt;br /&gt;
      3 ⎕DR &#039;a&#039; 1&lt;br /&gt;
0&lt;br /&gt;
      3 ⎕DR ⊂1 2&lt;br /&gt;
0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt; returns the numerator and denominator of a right argument Rational array as a Rational integer array whose shape is &amp;lt;apll&amp;gt;2,{rho}R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;      ⍴⎕←4 ⎕dr 1&amp;lt;_r/&amp;gt;3&lt;br /&gt;
1 3 &lt;br /&gt;
2&lt;br /&gt;
      ⍴⎕←4 ⎕dr ,1&amp;lt;_r/&amp;gt;3&lt;br /&gt;
1&lt;br /&gt;
3&lt;br /&gt;
2 1 &lt;br /&gt;
      ⍴⎕←4 ⎕dr 1&amp;lt;_r/&amp;gt;3 3&amp;lt;_r/&amp;gt;7&lt;br /&gt;
1 3&lt;br /&gt;
3 7&lt;br /&gt;
2 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Word of Caution===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This system function allows you to create special numbers we don&#039;t support in that no other primitive generates these numbers and the behavior of all other primitives on these numbers is undefined.  Examples of such special numbers include [https://en.wikipedia.org/wiki/NaN#Quiet_NaN Quiet NaNs], [https://en.wikipedia.org/wiki/NaN#Signaling_NaN Signaling NaNs], [https://en.wikipedia.org/wiki/Signed_zero Negative Zero], and [https://en.wikipedia.org/wiki/Denormal_number Denormals].  If the system doesn&#039;t behave as you expect when using these special numbers, don&#039;t be surprised.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕CT←0 ⋄ ⎕PP←99&lt;br /&gt;
      6413 ⎕DR ¯64↑1&lt;br /&gt;
¯0&lt;br /&gt;
      QNaN←6413 ⎕DR ¯64↑13⍴1 ⍝ The Real Indefinite (Quiet NaN)  where NaN = Not a Number&lt;br /&gt;
      1 ⎕DR QNaN&lt;br /&gt;
FFF8000000000000&lt;br /&gt;
      QNaN=QNaN&lt;br /&gt;
0&lt;br /&gt;
      1 ⎕DR &#039;000fffffffffffff&#039; ⍝ The largest positive denormal&lt;br /&gt;
2.225073858507201E¯308&lt;br /&gt;
      1 ⎕DR &#039;0000000000000001&#039; ⍝ The smallest positive denormal&lt;br /&gt;
5E¯324&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is incomplete support for negative zero (&amp;lt;apll&amp;gt;¯0&amp;lt;/apll&amp;gt;) in NARS2000.  It may be enabled by setting the second element of &amp;lt;apll&amp;gt;⎕FEATURE&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, i.e. &amp;lt;apll&amp;gt;⎕FEATURE[2]←1&amp;lt;/apll&amp;gt;.  If you dare to try this concept, please report any problems in the usual manner via the [http://forum.nars2000.org/forum12.html?sid=18df73b72fccdedc847f3990d8b07410 forum], but please understand this feature is not fully supported.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
See also &#039;&#039;&#039;[[System_Variable_CT|System Variable ⎕CT]]&#039;&#039;&#039; and &#039;&#039;&#039;[[System_Variable_PP|System Variable ⎕PP]]&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{SFDM|DR}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_DR&amp;diff=3846</id>
		<title>System Function DR</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_DR&amp;diff=3846"/>
		<updated>2023-11-20T20:24:53Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Monadic Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function is available in both &#039;&#039;monadic&#039;&#039; and &#039;&#039;dyadic&#039;&#039; forms.&lt;br /&gt;
==Monadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←⎕DR R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|returns the internal representation of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine |&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array.}}&lt;br /&gt;
{{BoxEnd  |&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric scalar which represents the datatype of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The low-order two digits of the result encode the internal representation as a unique index for each category.  The high-order two digits of the result encode either the number of bits per element (where appropriate), or for Hypercomplex numbers, the internal representation of the coefficients:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;110&amp;lt;/apll&amp;gt;:  Boolean, one bit per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;1611&amp;lt;/apll&amp;gt;:  Character, 16 bits per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;6412&amp;lt;/apll&amp;gt;:  Integer, 64 bits per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;6413&amp;lt;/apll&amp;gt;:  Floating Point, 64 bits per element (double precision)&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;14&amp;lt;/apll&amp;gt;:  Rational, 16 bytes plus two 4- or 8-byte pointers plus size of limbs per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;15&amp;lt;/apll&amp;gt;:  Variable-precision Floating Point, 12 bytes plus one 4- or 8-byte pointer plus size of limbs per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;1216&amp;lt;/apll&amp;gt;:  64-bit Integer Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1316&amp;lt;/apll&amp;gt;:  64-bit Floating Point Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1416&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1516&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Complex (two-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1217&amp;lt;/apll&amp;gt;:  64-bit Integer Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1317&amp;lt;/apll&amp;gt;:  64-bit Floating Point Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1417&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1517&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Quaternion (four-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1218&amp;lt;/apll&amp;gt;:  64-bit Integer Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1318&amp;lt;/apll&amp;gt;:  64-bit Floating Point Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1418&amp;lt;/apll&amp;gt;:  Multiple-precision Integer/Rational Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;1518&amp;lt;/apll&amp;gt;:  Multiple-precision Floating Point Octonion (eight-dimensional) number&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;19&amp;lt;/apll&amp;gt;:  Arithmetic Progression Array, 64 bits each for the offset and multiplier&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;20&amp;lt;/apll&amp;gt;:  Heterogeneous, one 4- or 8-byte pointer per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;21&amp;lt;/apll&amp;gt;:  Nested, one 4- or 8-byte pointer per element&lt;br /&gt;
*&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;22&amp;lt;/apll&amp;gt;:  Real (one-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2216&amp;lt;/apll&amp;gt;:  Complex (two-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2217&amp;lt;/apll&amp;gt;:  Quaternion (four-dimensional) Ball Arithmetic&lt;br /&gt;
*&amp;lt;apll&amp;gt;2218&amp;lt;/apll&amp;gt;:  Octonion (eight-dimensional) Ball Arithmetic&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕DR 1 0 1&lt;br /&gt;
110 &lt;br /&gt;
      ⎕DR ⌈/⍬&lt;br /&gt;
6413 &lt;br /&gt;
      ⎕DR 2 64⍴1   &amp;amp;mdash; Note [1]  &lt;br /&gt;
19 &lt;br /&gt;
      ⎕DR 2 64⍴1 1 &amp;amp;mdash; Note [2]  &lt;br /&gt;
110&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; This is really an APA, not Boolean &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; This one is Boolean because Reshape produces APAs for integer singleton right arguments only&lt;br /&gt;
&lt;br /&gt;
==Dyadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←L ⎕DR R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is an integer scalar or one-element vector datatype (see the table above), or a special value (see below).}}&lt;br /&gt;
{{BoxEnd|&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; where each of the values are converted to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Returned value &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; may alternatively be: numeric scalar, vector of numbers, or a character string - depending on what the value of left argument &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the conversion is from a narrower datatype to a wider datatype, there must be exactly enough columns in the right argument to match a multiple of the size of the wider datatype.  For example, when converting from character (16-bit) to integer (64-bit), the last column of the right argument must be a multiple of 4 (= 64/16); otherwise, a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt; is signalled.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the following example, an 8-element character vector (=128 bits) is converted to two 64-bit integers (in both NARS2000 32- and 64-bit versions integers are stored in 64-bits):&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR &#039;NARS2000&#039;&lt;br /&gt;
23362775258562638 13511005043687474&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the conversion is from a wider datatype to a narrower datatype, the number of values in the result is a multiple of the ratio of the wider datatype to the narrower datatype.  For example, when converting from integer (64-bit) to character (16-bit), the last column in the result is the product of last column of the right argument and 4 (= 64/16).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example (&#039;&#039;&#039;inverse&#039;&#039;&#039; of the example just above),&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⍴⎕←1611 ⎕DR 23362775258562638 13511005043687474&lt;br /&gt;
NARS2000&lt;br /&gt;
8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Keep in mind how [[APA|Arithmetic Progression Arrays]]&#039;&#039;&#039; are created and represented; they can fool both the casual programmer as well as an experienced coder.  For example, one might try the following to convert from Boolean to integer:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR 2 64⍴1 ⍝ Conversion of an APA to an integer&lt;br /&gt;
1 0 2 64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;However, this doesn&#039;t produce the expected result because this particular right argument is an &amp;lt;apll&amp;gt;APA&amp;lt;/apll&amp;gt;, and &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; a simple Boolean vector of 1s.  That is, under certain circumstances, the reshape primitive creates an APA.  In this case, the APA is an array with an offset of &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, a multiplier of &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; and a shape of &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt; rows and &amp;lt;apll&amp;gt;64&amp;lt;/apll&amp;gt; cols.  The usefulness of APA&#039;s in reducing data storage and processing times outweighs their sometimes added code complexity or additional insight, which may be required.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;On the other hand, this expression:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      6412 ⎕DR 2 64⍴1 1 ⍝ Contrast this with the prior example - Boolean vector created here, NOT an APA&lt;br /&gt;
 ¯1&lt;br /&gt;
 ¯1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;produces the expected result because the right argument is not an integer-valued singleton (in fact, it is a two-element vector which is not eligible for conversion to an APA).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Special Values===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There are several special values you may use as a left argument to &amp;lt;apll&amp;gt;⎕DR&amp;lt;/apll&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; displays the datatype of the right argument as a text &#039;&#039;&#039;string&#039;&#039;&#039; so you don&#039;t need to remember the datatype numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕DR 0&lt;br /&gt;
110&lt;br /&gt;
      0 ⎕DR 0&lt;br /&gt;
Boolean (110):  1 bit per element&lt;br /&gt;
      ⎕DR 23&lt;br /&gt;
6412&lt;br /&gt;
      0 ⎕DR 23 24&lt;br /&gt;
Integer (6412):  64 bits per element&lt;br /&gt;
      ⎕DR 1.1&lt;br /&gt;
6413&lt;br /&gt;
      0 ⎕DR 1.1&lt;br /&gt;
Floating Point (6413):  64 bits per element&lt;br /&gt;
      ⎕DR &#039;a&#039;&lt;br /&gt;
1611&lt;br /&gt;
      0 ⎕DR &#039;a&#039;&lt;br /&gt;
Character (1611):  16 bits per element&lt;br /&gt;
      ⎕DR ⍳12&lt;br /&gt;
19&lt;br /&gt;
      0 ⎕DR ⍳12&lt;br /&gt;
Arithmetic Progression Array (19):  64 bit offset + 64 bit multiplier -- PV1&lt;br /&gt;
      0 ⎕dr 1 2 3x&lt;br /&gt;
Rational (14):  arbitrary precision numerator and denominator&lt;br /&gt;
      0 ⎕dr 1 2 3v&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC128&lt;br /&gt;
      0 ⎕DR 1v64 2v64&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC64 &lt;br /&gt;
      0 ⎕DR 1 2v64&lt;br /&gt;
VFP (15):  variable precision mantissa, 32-bit exponent -- FPC-Mixed&lt;br /&gt;
      0 ⎕DR ⍳¨⍳9&lt;br /&gt;
Nested Array (21):  PTR bits per element&lt;br /&gt;
      0 ⎕DR &#039;a&#039; 1&lt;br /&gt;
Heterogeneous Array (20):  PTR bits per element&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Note that the storage format for integers (&amp;lt;apll&amp;gt;23 24&amp;lt;/apll&amp;gt; in the above examples) is 64-bits per element and APAs (&amp;lt;apll&amp;gt;⍳12&amp;lt;/apll&amp;gt;) is 64-bits for both the offset and multiplier regardless of whether you are running the 32- or 64-bit version of NARS2000.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In the last two examples, the reference to &amp;lt;apll&amp;gt;PTR&amp;lt;/apll&amp;gt; means that storage format consists of pointers and is either 32- or 64-bits per element in the 32- or 64-bit version of NARS2000, respectively.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Many times in programming - for debugging, data scrutiny or other purposes - it is very important to know &amp;lt;b&amp;gt;exactly&amp;lt;/b&amp;gt; how the data is represented by the program. &amp;lt;apll&amp;gt;⎕DR&amp;lt;/apll&amp;gt; or Data Representation is a feature designed to allow close scrutiny of how data is stored in memory and operated on in NARS2000.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Some arrays have properties that may be displayed by this function:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;PV0&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;This array is a Permutation Vector, origin-0&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;PV1&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a Permutation Vector, origin-1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;All2s&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array consists of all &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;s&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;FPC&amp;lt;/apll&amp;gt;&amp;lt;i&amp;gt;nnn&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a VFP and all entries are represented in Precision &amp;lt;i&amp;gt;nnn&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;FPC-Mixed&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;This array is a VFP whose entries are represented in two or more different precisions&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt; converts between hex-character and floating point computer formats.  This argument makes it very useful to view representations of floating point numbers - in order to better understand numeric precisions, program storage formats, debug multi-precision floating-point math routines (by NARS developers) or examine perceived floating point issues.  Because this function converts between floating point and character format, it is self-inverse.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕PP←99&lt;br /&gt;
      1 ⎕DR 1.1&lt;br /&gt;
3FF199999999999A&lt;br /&gt;
      ⍴1 ⎕DR 1.1&lt;br /&gt;
16&lt;br /&gt;
      1 ⎕DR 1&lt;br /&gt;
3FF0000000000000&lt;br /&gt;
      1 ⎕DR ÷3&lt;br /&gt;
3FD5555555555555&lt;br /&gt;
      1 ⎕DR &#039;3fd&#039;,13⍴&#039;5&#039;&lt;br /&gt;
0.3333333333333333&lt;br /&gt;
      1 ⎕DR ¯∞ ∞&lt;br /&gt;
FFF0000000000000&lt;br /&gt;
7FF0000000000000&lt;br /&gt;
      1 ⎕DR &#039;7fe&#039;,13⍴&#039;f&#039; ⍝ The largest positive number&lt;br /&gt;
1.7976931348623157E308&lt;br /&gt;
      1 ⎕DR &#039;001&#039;,13⍴&#039;0&#039; ⍝ The smallest positive number&lt;br /&gt;
2.2250738585072014E¯308&lt;br /&gt;
      1 ⎕DR &#039;801&#039;,13⍴&#039;0&#039; ⍝ The largest negative number&lt;br /&gt;
¯2.2250738585072014E¯308&lt;br /&gt;
      1 ⎕DR &#039;ffe&#039;,13⍴&#039;f&#039; ⍝ The smallest negative number&lt;br /&gt;
¯1.7976931348623157E308&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt; converts between character and 64-bit integer.  This argument makes it easy to see the representation of integers.  Because this function converts between integer and character format, it is self-inverse.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      2 ⎕DR ¯1&lt;br /&gt;
FFFFFFFFFFFFFFFF&lt;br /&gt;
      2 ⎕DR 16⍴&#039;f&#039;&lt;br /&gt;
¯1&lt;br /&gt;
      2 ⎕DR &#039;7&#039;,15⍴&#039;f&#039; ⍝ The largest positive integer&lt;br /&gt;
9223372036854775807&lt;br /&gt;
      2 ⎕DR &#039;8&#039;,15⍴&#039;0&#039; ⍝ The smallest negative integer&lt;br /&gt;
¯9223372036854775808&lt;br /&gt;
      2 ⎕DR 9223372036854775807 ¯9223372036854775808&lt;br /&gt;
7FFFFFFFFFFFFFFF&lt;br /&gt;
8000000000000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The value &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; returns the precision of the right argument array as a simple scalar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      3 ⎕DR 0 1&lt;br /&gt;
1&lt;br /&gt;
      3 ⎕DR ⍳3&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR ÷2 3&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR ÷2 3x&lt;br /&gt;
∞&lt;br /&gt;
      3 ⎕DR 2.3v ⍝ Returns the value of ⎕FPC when the constant was tokenized&lt;br /&gt;
128&lt;br /&gt;
      3 ⎕DR 1v64&lt;br /&gt;
64&lt;br /&gt;
      3 ⎕DR &#039;a&#039;&lt;br /&gt;
0&lt;br /&gt;
      3 ⎕DR &#039;a&#039; 1&lt;br /&gt;
0&lt;br /&gt;
      3 ⎕DR ⊂1 2&lt;br /&gt;
0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A Word of Caution===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This system function allows you to create special numbers we don&#039;t support in that no other primitive generates these numbers and the behavior of all other primitives on these numbers is undefined.  Examples of such special numbers include [https://en.wikipedia.org/wiki/NaN#Quiet_NaN Quiet NaNs], [https://en.wikipedia.org/wiki/NaN#Signaling_NaN Signaling NaNs], [https://en.wikipedia.org/wiki/Signed_zero Negative Zero], and [https://en.wikipedia.org/wiki/Denormal_number Denormals].  If the system doesn&#039;t behave as you expect when using these special numbers, don&#039;t be surprised.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕CT←0 ⋄ ⎕PP←99&lt;br /&gt;
      6413 ⎕DR ¯64↑1&lt;br /&gt;
¯0&lt;br /&gt;
      QNaN←6413 ⎕DR ¯64↑13⍴1 ⍝ The Real Indefinite (Quiet NaN)  where NaN = Not a Number&lt;br /&gt;
      1 ⎕DR QNaN&lt;br /&gt;
FFF8000000000000&lt;br /&gt;
      QNaN=QNaN&lt;br /&gt;
0&lt;br /&gt;
      1 ⎕DR &#039;000fffffffffffff&#039; ⍝ The largest positive denormal&lt;br /&gt;
2.225073858507201E¯308&lt;br /&gt;
      1 ⎕DR &#039;0000000000000001&#039; ⍝ The smallest positive denormal&lt;br /&gt;
5E¯324&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is incomplete support for negative zero (&amp;lt;apll&amp;gt;¯0&amp;lt;/apll&amp;gt;) in NARS2000.  It may be enabled by setting the second element of &amp;lt;apll&amp;gt;⎕FEATURE&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, i.e. &amp;lt;apll&amp;gt;⎕FEATURE[2]←1&amp;lt;/apll&amp;gt;.  If you dare to try this concept, please report any problems in the usual manner via the [http://forum.nars2000.org/forum12.html?sid=18df73b72fccdedc847f3990d8b07410 forum], but please understand this feature is not fully supported.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
See also &#039;&#039;&#039;[[System_Variable_CT|System Variable ⎕CT]]&#039;&#039;&#039; and &#039;&#039;&#039;[[System_Variable_PP|System Variable ⎕PP]]&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{SFDM|DR}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_DC&amp;diff=3845</id>
		<title>System Function DC</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_DC&amp;diff=3845"/>
		<updated>2023-11-09T14:49:47Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Dyadic Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function is available in both &#039;&#039;monadic&#039;&#039; and &#039;&#039;dyadic&#039;&#039; forms.&lt;br /&gt;
==Monadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←⎕DC R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; between the coefficients of a Hypercomplex number and the corresponding Hypercomplex number.}}&lt;br /&gt;
{{BoxLine |&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric array.}}&lt;br /&gt;
{{BoxEnd  |&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;For simple numeric (a.k.a. Hypercomplex 1-dimensional &amp;amp;mdash; BOOL, INT, APA, FLOAT, RAT, or VFP) &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, where the number of columns of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; (call that &amp;lt;apll&amp;gt;NC&amp;lt;/apll&amp;gt;) is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;8&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding Hypercomplex array whose Hypercomplex dimension is the same as the number of columns of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, and whose shape is &amp;lt;apll&amp;gt;¯1↓⍴R&amp;lt;/apll&amp;gt;.  That is, the values in the last coordinate of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are treated as the coefficients of a Hypercomplex number and &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding Hypercomplex number.  &#039;&#039;&#039;This capability has been replaced by the [[Condense]] function (&amp;lt;apll&amp;gt;&amp;amp;lt;R&amp;lt;/apll&amp;gt;).&#039;&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For Hypercomplex 2-, 4-, or 8-dimensional &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding simple array (INT, FLOAT, RAT, or VFP) with a new coordinate on the right consisting of the coefficients of the Hypercomplex numbers in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, and whose shape is &amp;lt;apll&amp;gt;(⍴R),NC&amp;lt;/apll&amp;gt;.  That is, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; contains the coefficients of the Hypercomplex number &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  &#039;&#039;&#039;This capability has been replaced by the [[Dilate]] function (&amp;lt;apll&amp;gt;&amp;amp;gt;R&amp;lt;/apll&amp;gt;).&#039;&#039;&#039;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕←a←⎕DC 4 2⍴1 0 ¯1 0 0 1 0 ¯1&lt;br /&gt;
1 ¯1 0&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;1 0&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;¯1      ⍝  The four units for Complex numbers &lt;br /&gt;
      ⎕DC a &lt;br /&gt;
 1  0 &lt;br /&gt;
¯1  0 &lt;br /&gt;
 0  1 &lt;br /&gt;
 0 ¯1&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dyadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←L ⎕DC R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts the coefficients of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric array.}}&lt;br /&gt;
{{BoxLine|If &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or one-element vector whose value is one of (&amp;lt;apll&amp;gt;&#039;I&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;F&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;R&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;V&#039;&amp;lt;/apll&amp;gt;), this value indicates the datatype to which the coefficients of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; should be converted.}}&lt;br /&gt;
{{BoxLine|If &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector, then its datatype is the datatype to which the coefficients of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; should be converted.}}&lt;br /&gt;
{{BoxEnd|&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; where all of the coefficients of each of the values are converted to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&lt;br /&gt;
The shape of &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as that of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;R&#039; ⎕DC 1.5&amp;lt;_i/&amp;gt;3&lt;br /&gt;
3&amp;lt;_r/&amp;gt;2&amp;lt;_i/&amp;gt;3&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;R&#039; ⎕DC 1.1&amp;lt;_i/&amp;gt;3&lt;br /&gt;
2476979795053773&amp;lt;_r/&amp;gt;2251799813685248&amp;lt;_i/&amp;gt;3&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;F&#039; ⎕DC 3&amp;lt;_r/&amp;gt;2 2476979795053773&amp;lt;_r/&amp;gt;2251799813685248&lt;br /&gt;
1.5 1.1&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;0 ⎕DR ⎕←0&amp;lt;_x/&amp;gt; ⎕DC 2&amp;lt;_i/&amp;gt;1&lt;br /&gt;
2&amp;lt;_i/&amp;gt;1 &lt;br /&gt;
Complex Rational (1416):  arbitrary precision numerator and denominator&lt;br /&gt;
&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{SFDM|DC}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_DC&amp;diff=3844</id>
		<title>System Function DC</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_DC&amp;diff=3844"/>
		<updated>2023-11-05T02:24:35Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Dyadic Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function is available in both &#039;&#039;monadic&#039;&#039; and &#039;&#039;dyadic&#039;&#039; forms.&lt;br /&gt;
==Monadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←⎕DC R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; between the coefficients of a Hypercomplex number and the corresponding Hypercomplex number.}}&lt;br /&gt;
{{BoxLine |&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric array.}}&lt;br /&gt;
{{BoxEnd  |&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;For simple numeric (a.k.a. Hypercomplex 1-dimensional &amp;amp;mdash; BOOL, INT, APA, FLOAT, RAT, or VFP) &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, where the number of columns of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; (call that &amp;lt;apll&amp;gt;NC&amp;lt;/apll&amp;gt;) is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;8&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding Hypercomplex array whose Hypercomplex dimension is the same as the number of columns of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, and whose shape is &amp;lt;apll&amp;gt;¯1↓⍴R&amp;lt;/apll&amp;gt;.  That is, the values in the last coordinate of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are treated as the coefficients of a Hypercomplex number and &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding Hypercomplex number.  &#039;&#039;&#039;This capability has been replaced by the [[Condense]] function (&amp;lt;apll&amp;gt;&amp;amp;lt;R&amp;lt;/apll&amp;gt;).&#039;&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For Hypercomplex 2-, 4-, or 8-dimensional &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding simple array (INT, FLOAT, RAT, or VFP) with a new coordinate on the right consisting of the coefficients of the Hypercomplex numbers in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, and whose shape is &amp;lt;apll&amp;gt;(⍴R),NC&amp;lt;/apll&amp;gt;.  That is, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; contains the coefficients of the Hypercomplex number &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  &#039;&#039;&#039;This capability has been replaced by the [[Dilate]] function (&amp;lt;apll&amp;gt;&amp;amp;gt;R&amp;lt;/apll&amp;gt;).&#039;&#039;&#039;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕←a←⎕DC 4 2⍴1 0 ¯1 0 0 1 0 ¯1&lt;br /&gt;
1 ¯1 0&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;1 0&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;¯1      ⍝  The four units for Complex numbers &lt;br /&gt;
      ⎕DC a &lt;br /&gt;
 1  0 &lt;br /&gt;
¯1  0 &lt;br /&gt;
 0  1 &lt;br /&gt;
 0 ¯1&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dyadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←L ⎕DC R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts the coefficients of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric array.}}&lt;br /&gt;
{{BoxLine|If &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or one-element vector datatype (&amp;lt;apll&amp;gt;&#039;I&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;F&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;R&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;V&#039;&amp;lt;/apll&amp;gt;) indicating the datatype to which the coefficients of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; should be converted.}}&lt;br /&gt;
{{BoxLine|If &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar or one-element vector, then its datatype is the datatype to which the coefficients of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; should be converted.}}&lt;br /&gt;
{{BoxEnd|&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; where all of the coefficients of each of the values are converted to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&lt;br /&gt;
The shape of &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as that of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;R&#039; ⎕DC 1.5&amp;lt;_i/&amp;gt;3&lt;br /&gt;
3&amp;lt;_r/&amp;gt;2&amp;lt;_i/&amp;gt;3&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;R&#039; ⎕DC 1.1&amp;lt;_i/&amp;gt;3&lt;br /&gt;
2476979795053773&amp;lt;_r/&amp;gt;2251799813685248&amp;lt;_i/&amp;gt;3&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;F&#039; ⎕DC 3&amp;lt;_r/&amp;gt;2 2476979795053773&amp;lt;_r/&amp;gt;2251799813685248&lt;br /&gt;
1.5 1.1&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;0 ⎕DR ⎕←0&amp;lt;_x/&amp;gt; ⎕DC 2&amp;lt;_i/&amp;gt;1&lt;br /&gt;
2&amp;lt;_i/&amp;gt;1 &lt;br /&gt;
Complex Rational (1416):  arbitrary precision numerator and denominator&lt;br /&gt;
&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{SFDM|DC}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Function_DC&amp;diff=3843</id>
		<title>System Function DC</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Function_DC&amp;diff=3843"/>
		<updated>2023-11-05T02:04:25Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Monadic Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function is available in both &#039;&#039;monadic&#039;&#039; and &#039;&#039;dyadic&#039;&#039; forms.&lt;br /&gt;
==Monadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←⎕DC R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; between the coefficients of a Hypercomplex number and the corresponding Hypercomplex number.}}&lt;br /&gt;
{{BoxLine |&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric array.}}&lt;br /&gt;
{{BoxEnd  |&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;For simple numeric (a.k.a. Hypercomplex 1-dimensional &amp;amp;mdash; BOOL, INT, APA, FLOAT, RAT, or VFP) &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, where the number of columns of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; (call that &amp;lt;apll&amp;gt;NC&amp;lt;/apll&amp;gt;) is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;4&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;8&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding Hypercomplex array whose Hypercomplex dimension is the same as the number of columns of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, and whose shape is &amp;lt;apll&amp;gt;¯1↓⍴R&amp;lt;/apll&amp;gt;.  That is, the values in the last coordinate of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are treated as the coefficients of a Hypercomplex number and &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding Hypercomplex number.  &#039;&#039;&#039;This capability has been replaced by the [[Condense]] function (&amp;lt;apll&amp;gt;&amp;amp;lt;R&amp;lt;/apll&amp;gt;).&#039;&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For Hypercomplex 2-, 4-, or 8-dimensional &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the corresponding simple array (INT, FLOAT, RAT, or VFP) with a new coordinate on the right consisting of the coefficients of the Hypercomplex numbers in &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, and whose shape is &amp;lt;apll&amp;gt;(⍴R),NC&amp;lt;/apll&amp;gt;.  That is, &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; contains the coefficients of the Hypercomplex number &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  &#039;&#039;&#039;This capability has been replaced by the [[Dilate]] function (&amp;lt;apll&amp;gt;&amp;amp;gt;R&amp;lt;/apll&amp;gt;).&#039;&#039;&#039;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⎕←a←⎕DC 4 2⍴1 0 ¯1 0 0 1 0 ¯1&lt;br /&gt;
1 ¯1 0&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;1 0&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;¯1      ⍝  The four units for Complex numbers &lt;br /&gt;
      ⎕DC a &lt;br /&gt;
 1  0 &lt;br /&gt;
¯1  0 &lt;br /&gt;
 0  1 &lt;br /&gt;
 0 ¯1&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dyadic Function==&lt;br /&gt;
{{BoxStart|&amp;lt;apll&amp;gt;Z←L ⎕DC R&amp;lt;/apll&amp;gt;&lt;br /&gt;
|converts the coefficients of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric array.}}&lt;br /&gt;
{{BoxLine|&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a character scalar or one-element vector datatype (&amp;lt;apll&amp;gt;&#039;I&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;F&#039;&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;&#039;R&#039;&amp;lt;/apll&amp;gt;, or &amp;lt;apll&amp;gt;&#039;V&#039;&amp;lt;/apll&amp;gt;) indicating the datatype to which the coefficients should be converted.}}&lt;br /&gt;
{{BoxEnd|&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; where all of the coefficients of each of the values are converted to the datatype indicated by &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt;.&lt;br /&gt;
The shape of &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the same as that of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;R&#039; ⎕DC 1.5&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;3&lt;br /&gt;
3&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;2&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;3&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;R&#039; ⎕DC 1.1&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;3&lt;br /&gt;
2476979795053773&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;2251799813685248&amp;lt;hc&amp;gt;i&amp;lt;/hc&amp;gt;3&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;F&#039; ⎕DC 3&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;2 2476979795053773&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;2251799813685248&lt;br /&gt;
1.5 1.1&amp;lt;/apll&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{SFDM|DC}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=System_Functions&amp;diff=3842</id>
		<title>System Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=System_Functions&amp;diff=3842"/>
		<updated>2023-11-05T02:02:21Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;This contains a list of all quad functions. A value may be assigned to a quad variable. A value cannot be assigned to a quad function.&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%;&amp;quot; width=&amp;quot;{{{Width|{{{width|80%}}}}}}&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | [[System Functions|Niladic System Functions]]&lt;br /&gt;
{{SF|A     | The alphabet from A to Z, also Á to Ź, Â to Ẑ, À to À, Ä to Z and Ã to Z, all in lowercase, too&amp;lt;br/&amp;gt;using the variations &amp;lt;apll&amp;gt;⎕a ⎕A ⎕á ⎕Á ⎕à ⎕À ⎕â ⎕Â ⎕ä ⎕Ä ⎕ã ⎕Ã&amp;lt;/apll&amp;gt;}}&lt;br /&gt;
{{SF|AV    | Atomic Vector}}&lt;br /&gt;
{{SF|CS    | Collating sequence}}&lt;br /&gt;
{{SF|EM    | Event Message}}&lt;br /&gt;
{{SF|ET    | Event Type}}&lt;br /&gt;
{{SF|LC    | Line Counter}}&lt;br /&gt;
{{SF|NNAMES| Names of Open Native Files}}&lt;br /&gt;
{{SF|NNUMS | Tie Numbers of Open Native Files}}&lt;br /&gt;
{{SF|SI    | State Indicator}}&lt;br /&gt;
{{SF|SYSID | System Identifier}}&lt;br /&gt;
{{SF|SYSVER| System Version}}&lt;br /&gt;
{{SF|T     | Tickcount}}&lt;br /&gt;
{{SF|TC    | Terminal Control Characters}}&lt;br /&gt;
{{SF|TCBEL | Terminal Control Character, Bell}}&lt;br /&gt;
{{SF|TCBS  | Terminal Control Character, Backspace}}&lt;br /&gt;
{{SF|TCESC | Terminal Control Character, Escape}}&lt;br /&gt;
{{SF|TCFF  | Terminal Control Character, Form Feed}}&lt;br /&gt;
{{SF|TCHT  | Terminal Control Character, Horizontal Tab}}&lt;br /&gt;
{{SF|TCLF  | Terminal Control Character, Line Feed}}&lt;br /&gt;
{{SF|TCNL  | Terminal Control Character, New Line}}&lt;br /&gt;
{{SF|TCNUL | Terminal Control Character, Null}}&lt;br /&gt;
{{SF|TS    | Time Stamp}}&lt;br /&gt;
{{SF|WA    | Workspace Available}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;  |  Monadic or dyadic system functions&lt;br /&gt;
{{SF|AT      | Attributes}}&lt;br /&gt;
{{SF|CR      | Canonical representation}}&lt;br /&gt;
{{SF|DC      | Data Conversion}}&lt;br /&gt;
{{SF|DFT     | Discrete Fourier Transform}}&lt;br /&gt;
{{SF|DL      | Delay or pause APL processing}}&lt;br /&gt;
{{SF|DR      | Data representation}}&lt;br /&gt;
{{SF|EA      | Execute alternate}}&lt;br /&gt;
{{SF|EC      | Execute controlled}}&lt;br /&gt;
{{SF|ERROR   | Signal error}}&lt;br /&gt;
{{SF|ES      | Event simulate}}&lt;br /&gt;
{{SF|EX      | Expunge names}}&lt;br /&gt;
{{SF|FMT     | Format}}&lt;br /&gt;
{{SF|FX      | Function fix}}&lt;br /&gt;
{{SF|MF      | Monitor function}}&lt;br /&gt;
{{SF|NAPPEND | Append data to an open native file}}&lt;br /&gt;
{{SF|NC      | Name classification}}&lt;br /&gt;
{{SF|NCREATE | Create and open a native file}}&lt;br /&gt;
{{SF|NERASE  | Erase an open native file}}&lt;br /&gt;
{{SF|NINFO   | Native file information}}&lt;br /&gt;
{{SF|NL      | Name list}}&lt;br /&gt;
{{SF|NREAD   | Read data from an open native file}}&lt;br /&gt;
{{SF|NRENAME | Rename an open native file}}&lt;br /&gt;
{{SF|NREPLACE| Replace data in an open native file}}&lt;br /&gt;
{{SF|NRESIZE | Resize an open native file}}&lt;br /&gt;
{{SF|NSIZE   | Get the size of an open native file}}&lt;br /&gt;
{{SF|NTIE    | Open a native file}}&lt;br /&gt;
{{SF|NUNTIE  | Close a native file}}&lt;br /&gt;
{{SF|STOP    | Stop execution of a user-defined function/operator/hyperator or Magic Function}}&lt;br /&gt;
{{SF|TF      | Transfer form}}&lt;br /&gt;
{{SF|TRACE   | Trace execution of a user-defined function/operator/hyperator or Magic Function}}&lt;br /&gt;
{{SF|UCS     | Universal character set}}&lt;br /&gt;
{{SF|VR      | Vector representation of a function}}                  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Article footer}}&lt;br /&gt;
[[Category:Navigation]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3841</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3841"/>
		<updated>2023-10-16T21:37:20Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Extra APL Glyphs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), &#039;&#039;&#039;SImPL&#039;&#039;&#039;, or &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here].  Normally font and file &#039;&#039;&#039;SimPL-Medium.ttf&#039;&#039;&#039; may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000 (32-bit program)&#039;&#039;&#039; and or &#039;&#039;&#039;C:\Program Files\NARS2000 (64-bit version)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If they still don&#039;t display correctly, [http://www.getfirefox.com/ download] FireFox.&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Downtack-overbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍑&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9041 or U+2351&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-B&#039;&#039;&#039;&lt;br /&gt;
|| [https://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform Operator]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank/Atop operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-K&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3840</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3840"/>
		<updated>2023-10-14T17:33:11Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Extra APL Glyphs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), &#039;&#039;&#039;SImPL&#039;&#039;&#039;, or &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here].  Normally font and file &#039;&#039;&#039;SimPL-Medium.ttf&#039;&#039;&#039; may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000 (32-bit program)&#039;&#039;&#039; and or &#039;&#039;&#039;C:\Program Files\NARS2000 (64-bit version)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If they still don&#039;t display correctly, [http://www.getfirefox.com/ download] FireFox.&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Downtack-overbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍑&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9041 or U+2351&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-B&#039;&#039;&#039;&lt;br /&gt;
|| [https://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform Operator]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank/Atop operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Rank/Atop&amp;diff=3839</id>
		<title>Rank/Atop</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Rank/Atop&amp;diff=3839"/>
		<updated>2023-10-14T11:11:07Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Rank Monadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤[X] Y R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is defined by &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; and restores the cells to the result as per &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function, &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt; is an origin-sensitive integer scalar or vector, and &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is an integer scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1&amp;amp;lt;⍴⍴Y&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1=⍴⍴Y&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;~(⍴Y)∊1 2 3&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is a scalar or one-, two-, or three-element integer vector that describes the cell size of the arguments.  When it is a three-element vector, the first element specifies the cell size of the right argument when the derived function is called monadically; the second and third elements specify the left and right argument cell sizes when the derived function is called dyadically.  When it is a two-element vector, the two values are used for the left and right arguments cell sizes when the derived function is called dyadically; if the derived function is called monadically, the cell size is the second value of the two.  When it is a scalar or one-element vector, the single value is used for all three cell sizes.  Moreover, the value of &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; for the monadic derived function case may be positive or negative with an absolute value no larger than &amp;lt;apll&amp;gt;⍴⍴R&amp;lt;/apll&amp;gt;.  In this case (first element only), the above rules may be summarized by setting &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; to the one-element integer vector &amp;lt;apll&amp;gt;(-⍴⍴R)⌈(⍴⍴R)⌊1↑⌽3⍴⌽Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CR←(-Y)↑⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand cells, and &amp;lt;apll&amp;gt;FR←(-Y)↓⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Loop through the frame applying &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the shape &amp;lt;apll&amp;gt;CR&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The result &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the &amp;lt;b&amp;gt;conforming&amp;lt;/b&amp;gt; disclose of the above, using &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt;, if present.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic derived function of this dyadic operator is implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ∇ Z←(LO #MonRank[X] Y) R;YR&lt;br /&gt;
[1]   YR←(1↑⌽3⍴⌽Y)⌊⍴⍴R&lt;br /&gt;
[2]   if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[3]   Z←LO¨⊂[(-YR)↑⍳⍴⍴R] R ⋄ →L1&lt;br /&gt;
[4]   ⎕PRO:YR←(1↑⌽3⍴⌽Y)⌊⍴⍴R&lt;br /&gt;
[5]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[6]   Z←⊃LO¨¨⊂[(-YR)↑⍳⍴⍴R]¨0⍴⊂R&lt;br /&gt;
[7]   L1::if 0=⎕NC &#039;X&#039; ⋄ Z←⊃Z ⋄ :else ⋄ Z←⊃[X] Z ⋄ :end&lt;br /&gt;
    ∇&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rank Dyadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤[X] Y R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the dyadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;l&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; and restores the cells to the result as per &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;l&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are defined by &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are arbitrary arrays, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary dyadic function, &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt; is an origin-sensitive integer scalar or vector, and &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is an integer scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1&amp;amp;lt;⍴⍴Y&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1=⍴⍴Y&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;~(⍴Y)∊1 2 3&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is a scalar or one-, two-, or three-element integer vector that describes the cell size of the arguments.  When it is a three-element vector, the first element specifies the cell size of the right argument when the derived function is called monadically; the second and third elements specify the left and right argument cell sizes when the derived function is called dyadically.  When it is a two-element vector, the two values are used for the left and right arguments cell sizes when the derived function is called dyadically; if the derived function is called monadically, the cell size is the second value of the two.  When it is a scalar or one-element vector, the single value is used for all three cell sizes.  &lt;br /&gt;
&lt;br /&gt;
Moreover, the values of &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; for the dyadic derived function case may be positive or negative with an absolute value no larger than &amp;lt;apll&amp;gt;(⍴⍴L),⍴⍴R&amp;lt;/apll&amp;gt;.  In this case (second and third elements only), the above rules may be summarized by setting &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; to the two-element integer vector &amp;lt;apll&amp;gt;(-(⍴⍴L),⍴⍴R)⌈((⍴⍴L),⍴⍴R)⌊1↓⌽3⍴⌽Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|1↑Y&amp;lt;/apll&amp;gt;; the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|1↓Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1↑Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CL←(-1↑Y)↑⍴L&amp;lt;/apll&amp;gt; is the shape of the lefthand cells, and &amp;lt;apll&amp;gt;FL←(-1↑Y)↓⍴L&amp;lt;/apll&amp;gt; is the shape of the lefthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1↓Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CR←(-1↓Y)↑⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand cells, and &amp;lt;apll&amp;gt;FR←(-1↓Y)↓⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;FL&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;FR&amp;lt;/apll&amp;gt; are both non-empty and &amp;lt;apll&amp;gt;(⍴FL)≠⍴FR&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;; if the shapes of &amp;lt;apll&amp;gt;FL&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;FR&amp;lt;/apll&amp;gt; are the same, but their values differ, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Loop through the frames (scalar extending as necessary) applying &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between the shape &amp;lt;apll&amp;gt;CL&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the shape &amp;lt;apll&amp;gt;CR&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The result &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the &amp;lt;b&amp;gt;conforming&amp;lt;/b&amp;gt; disclose of the above, using &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt;, if present.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic derived function of this dyadic operator is implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ∇ Z←L (LO #DydRank[X] Y) R;YL;YR&lt;br /&gt;
[1]   (YL YR)←(1↓⌽3⍴⌽Y)⌊(⍴⍴L),⍴⍴R&lt;br /&gt;
[2]   :if 0&amp;gt;YL ⋄ YL←0⌈YL+⍴⍴L ⋄ :end&lt;br /&gt;
[3]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[4]   Z←(⊂[(-YL)↑⍳⍴⍴L] L) LO¨⊂[(-YR)↑⍳⍴⍴R] R ⋄ →L1&lt;br /&gt;
[5]   ⎕PRO:(YL YR)←(1↓⌽3⍴⌽Y)⌊(⍴⍴L),⍴⍴R&lt;br /&gt;
[6]   :if 0&amp;gt;YL ⋄ YL←0⌈YL+⍴⍴L ⋄ :end&lt;br /&gt;
[7]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[8]   Z←⊃(⊂[(-YL)↑⍳⍴⍴L]¨0⍴⊂L) LO¨¨⊂[(-YR)↑⍳⍴⍴R]¨0⍴⊂R&lt;br /&gt;
[9]   L1::if 0=⎕NC &#039;X&#039; ⋄ Z←⊃Z ⋄ :else ⋄ Z←⊃[X] Z ⋄ :end&lt;br /&gt;
    ∇&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, the rank operator can emulate laminate between the following two vectors to produce the first result, but not the second without help from the axis operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L←&#039;abcdef&#039; {diamond} R←⍳⍴L&lt;br /&gt;
      L ,⍤0 R                   a.k.a. L,[1.5] R&lt;br /&gt;
 a 1&lt;br /&gt;
 b 2&lt;br /&gt;
 c 3&lt;br /&gt;
 d 4&lt;br /&gt;
 e 5&lt;br /&gt;
 f 6&lt;br /&gt;
      L ,⍤[1] 0 R               a.k.a. L,[0.5] R&lt;br /&gt;
 a b c d e f&lt;br /&gt;
 1 2 3 4 5 6&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Atop Monadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic functions &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; as in &amp;lt;apll&amp;gt; f g R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are both arbitrary monadic functions.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic and dyadic derived functions of this dyadic operator are implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#Atop←{⍺←⊢ ⋄ ⍺⍺ ⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;      ⌈⍤-¯1.1      ⍝ where f⍤g R ←→ f g R&lt;br /&gt;
2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Atop Dyadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the result of applying the dyadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  That is, it is equivalent to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt; L &amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are arbitrary arrays, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary dydadic function.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic and dyadic derived functions of this dyadic operator are implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#Atop←{⍺←⊢ ⋄ ⍺⍺ ⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;      2⌈⍤-¯1.1      ⍝ where L f⍤g R ←→ f L g R&lt;br /&gt;
4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Acknowledgments ==&lt;br /&gt;
&lt;br /&gt;
The APL functions for the Rank operator shown above were originally based upon those found in the paper J. Philip Benkhard, &amp;quot;[http://portal.acm.org/citation.cfm?id=114058&amp;amp;dl=GUIDE&amp;amp;coll=GUIDE&amp;amp;CFID=98347615&amp;amp;CFTOKEN=27795431 Extending structure, type, and expression in APL2]&amp;quot;, ACM SIGAPL APL Quote Quad, v.21 n.4, p.20-38, Aug. 1991, but later was modified to reflect the definition of the Rank operator in the ISO-IEC 13751 Extended APL Standard.&lt;br /&gt;
&lt;br /&gt;
The Atop operator was defined by the developers at Dyalog APL.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3838</id>
		<title>Language Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3838"/>
		<updated>2023-10-14T10:37:42Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Primitive Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At the moment, the following sections describe only those language features that are &#039;&#039;&#039;New&#039;&#039;&#039; or &#039;&#039;&#039;Enhanced&#039;&#039;&#039; relative to the Extended APL Standard, or that deserve special comment.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* [[Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modified Assignment]]:  &amp;lt;apll&amp;gt;Af←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modify Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)f←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Hyperators]]:  &amp;lt;apll&amp;gt;∇ Z←L (LO (LH dhdo RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Function/Operator/Hyperator Assignment]]:  &amp;lt;apll&amp;gt;A←f&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op1&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op2&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Binding Strength]]:  How Variables, Functions, Operators, Hyperators and other syntactic elements combine&lt;br /&gt;
* [[Sink]]:  &amp;lt;apll&amp;gt;←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Point Notation]]:  &lt;br /&gt;
** &#039;&#039;&#039;Base&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;16&amp;lt;_b/&amp;gt;10FFFF&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;16⊥1 0 15 15 15 15&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;10&amp;lt;_b/&amp;gt;45v&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;10⊥4 5 31&amp;lt;/apll&amp;gt;.&lt;br /&gt;
** &#039;&#039;&#039;Euler&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_x/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙e&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(*1)*3&amp;lt;/apll&amp;gt; where e is [https://en.wikipedia.org/wiki/E_(mathematical_constant) Euler&#039;s Number] (&amp;lt;apll&amp;gt;2.718281828459045...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Pi&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;2&amp;lt;_pi/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙π&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(○1)*3&amp;lt;/apll&amp;gt; where π is [https://en.wikipedia.org/wiki/Pi Archimedes&#039; constant] (&amp;lt;apll&amp;gt;3.141592653589793...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Gamma&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_g/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙γ&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; where γ is [https://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni&#039;s Constant] (&amp;lt;apll&amp;gt;0.5772156649015329...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Zeta&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_z/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙&amp;amp;zeta;(3) where &amp;amp;zeta;(x) is the [https://en.wikipedia.org/wiki/Riemann_zeta_function Riemann Zeta function].&lt;br /&gt;
** &#039;&#039;&#039;Hypercomplex&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_i/&amp;gt;3&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;_J/&amp;gt;3&amp;lt;/apll&amp;gt; (both equal to &amp;lt;apll&amp;gt;2+3×√¯1&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Degrees), &amp;lt;apll&amp;gt;2&amp;lt;_ar/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Radians), &amp;lt;apll&amp;gt;2&amp;lt;_au/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Unit Normalized), or &amp;lt;apll&amp;gt;2&amp;lt;_ah/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Half Unit Normalized) for a Complex number, &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt; for a Quaternion number, and &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt; for an Octonion number.&lt;br /&gt;
** &#039;&#039;&#039;Rational&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2÷3&amp;lt;/apll&amp;gt; as a Multiple-Precision Integer/Rational number.&lt;br /&gt;
** &#039;&#039;&#039;Variable-Precision Floating&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; as a Multiple-Precision Floating Point number.&lt;br /&gt;
** &#039;&#039;&#039;Ball Arithmetic&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt;, respectively.&lt;br /&gt;
* [[Trains]]:  e.g., &amp;lt;apll&amp;gt;avg←(+⌿ ÷ ≢)&amp;lt;/apll&amp;gt; applies the functions to its argument(s) in a particular way (in this case, to compute the average of a numeric scalar or vector).&lt;br /&gt;
* [[Anonymous Functions/Operators/Hyperators]]:  multi-line grouping of one or more statements all enclosed in braces such as &amp;lt;apll&amp;gt;{(+⌿⍵)÷≢⍵}&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Primitive Functions==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Array Lookup]]||     &amp;lt;apll&amp;gt;L⍸R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Condense]]||     &amp;lt;apll&amp;gt;&amp;amp;lt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dilate]]||     &amp;lt;apll&amp;gt;&amp;amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Expand]]||     &amp;lt;apll&amp;gt;L\[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Find]]||     &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Generator]]||     &amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Of]]||     &amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indexing]]||     &amp;lt;apll&amp;gt;R[L]&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]f←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌷[X] R&amp;lt;/apll&amp;gt;,    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indices]]||     &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix Inverse/Divide]]||     &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Mismatch]]||     &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Partitioned Enclose]]||     &amp;lt;apll&amp;gt;L⊂[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Primes]]||     &amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Reshape]]||     &amp;lt;apll&amp;gt;L⍴R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Root]]||     &amp;lt;apll&amp;gt;√R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L√[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sequence]]||     &amp;lt;apll&amp;gt;L..R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Sets]]||     &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Tally]]||     &amp;lt;apll&amp;gt;≢R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Without]]||     &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Operators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Axis]]||     &amp;lt;apll&amp;gt;{L} f[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op1[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op2[X] g R&amp;lt;/apll&amp;gt; ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Combinatorial]]||     &amp;lt;apll&amp;gt;a‼ R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Commute]]||     &amp;lt;apll&amp;gt;L f⍨ R ←→ R f L&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose]]||     &amp;lt;apll&amp;gt;{L} f∘g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;f∘b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;a∘g R&amp;lt;/apll&amp;gt; ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Composition]]||     &amp;lt;apll&amp;gt;{L} f⍥g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Convolution]]||     &amp;lt;apll&amp;gt;L f⍡g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Derivative]]||     &amp;lt;apll&amp;gt;{L} f∂[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f∂∂[X] R&amp;lt;/apll&amp;gt;, etc.   ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Determinant Operator|Determinant]]||     &amp;lt;apll&amp;gt;f.g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Duplicate]]||     &amp;lt;apll&amp;gt;f⍨ R ←→ R f R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Integral]]||     &amp;lt;apll&amp;gt;{L} f&amp;lt;_sg/&amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power#Inverses|Inverses]]||     &amp;lt;apll&amp;gt;{L} f⍣¯1 R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mask|Mask]]||      &amp;lt;apll&amp;gt;L (a∘/) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⌿) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘/[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]||     &amp;lt;apll&amp;gt;{L} f⌻ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;∘⌻ R&amp;lt;/apll&amp;gt;    ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mesh|Mesh]]||      &amp;lt;apll&amp;gt;L (a∘\) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⍀) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘\[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Multisets]]||     &amp;lt;apll&amp;gt;{L} f⍦ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Null]]||     &amp;lt;apll&amp;gt;{L} f⊙ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power]]||     &amp;lt;apll&amp;gt;{L} f⍣g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍣b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Rank/Atop]]||     &amp;lt;apll&amp;gt;{L} f⍤[X] b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍤g R&amp;lt;/apll&amp;gt;     ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Variant]]||     &amp;lt;apll&amp;gt;{L} f⍠b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;b&amp;lt;/apll&amp;gt; represent Variables, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Hyperators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform]||     &amp;lt;apll&amp;gt;f h⍑g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;h&amp;lt;/apll&amp;gt; represents a Function/Operator, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
Also, see [[Hyperators]].&lt;br /&gt;
&lt;br /&gt;
==Datatypes==&lt;br /&gt;
* [[Infinity]]:  &amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;¯∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[NaN]]:  &amp;lt;apll&amp;gt;∅&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[APA|Arithmetic Progression Arrays]]:   &amp;lt;apll&amp;gt;2 3 4⍴⍳24&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Unicode|Unicode Characters]]&lt;br /&gt;
* [[Array Predicates]]&lt;br /&gt;
* [[Rational and VFP Numbers|Rational Numbers]]:  &amp;lt;apll&amp;gt;1&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12345&amp;lt;_x/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Rational and VFP Numbers|Variable-precision Floating Point (VFP) Numbers]]:  &amp;lt;apll&amp;gt;1.234&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Complex Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;3.4&amp;lt;_i/&amp;gt;5&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;90&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;22&amp;lt;_ar/&amp;gt;.1&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;20&amp;lt;_au/&amp;gt;.5&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Quaternion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Octonion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Ball Arithmetic]]:  &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;2*¯53&amp;lt;/apll&amp;gt;, respectively, because the Midpoint (&amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt;) cannot be represented exactly in double-precision floating point format with the standard &amp;lt;apll&amp;gt;53&amp;lt;/apll&amp;gt; bits of precision.&lt;br /&gt;
&lt;br /&gt;
==Java Support==&lt;br /&gt;
The Java programming language is now supported.  You can now write code in Java, and call it from APL.  For more details, see [[Java_Support|Java Support]].&lt;br /&gt;
&lt;br /&gt;
==System Commands==&lt;br /&gt;
{{:System Commands}}&lt;br /&gt;
&lt;br /&gt;
==System Variables and Functions==&lt;br /&gt;
{{System Variables}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3837</id>
		<title>Language Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3837"/>
		<updated>2023-10-14T10:36:38Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Primitive Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At the moment, the following sections describe only those language features that are &#039;&#039;&#039;New&#039;&#039;&#039; or &#039;&#039;&#039;Enhanced&#039;&#039;&#039; relative to the Extended APL Standard, or that deserve special comment.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* [[Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modified Assignment]]:  &amp;lt;apll&amp;gt;Af←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modify Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)f←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Hyperators]]:  &amp;lt;apll&amp;gt;∇ Z←L (LO (LH dhdo RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Function/Operator/Hyperator Assignment]]:  &amp;lt;apll&amp;gt;A←f&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op1&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op2&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Binding Strength]]:  How Variables, Functions, Operators, Hyperators and other syntactic elements combine&lt;br /&gt;
* [[Sink]]:  &amp;lt;apll&amp;gt;←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Point Notation]]:  &lt;br /&gt;
** &#039;&#039;&#039;Base&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;16&amp;lt;_b/&amp;gt;10FFFF&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;16⊥1 0 15 15 15 15&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;10&amp;lt;_b/&amp;gt;45v&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;10⊥4 5 31&amp;lt;/apll&amp;gt;.&lt;br /&gt;
** &#039;&#039;&#039;Euler&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_x/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙e&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(*1)*3&amp;lt;/apll&amp;gt; where e is [https://en.wikipedia.org/wiki/E_(mathematical_constant) Euler&#039;s Number] (&amp;lt;apll&amp;gt;2.718281828459045...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Pi&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;2&amp;lt;_pi/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙π&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(○1)*3&amp;lt;/apll&amp;gt; where π is [https://en.wikipedia.org/wiki/Pi Archimedes&#039; constant] (&amp;lt;apll&amp;gt;3.141592653589793...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Gamma&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_g/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙γ&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; where γ is [https://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni&#039;s Constant] (&amp;lt;apll&amp;gt;0.5772156649015329...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Zeta&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_z/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙&amp;amp;zeta;(3) where &amp;amp;zeta;(x) is the [https://en.wikipedia.org/wiki/Riemann_zeta_function Riemann Zeta function].&lt;br /&gt;
** &#039;&#039;&#039;Hypercomplex&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_i/&amp;gt;3&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;_J/&amp;gt;3&amp;lt;/apll&amp;gt; (both equal to &amp;lt;apll&amp;gt;2+3×√¯1&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Degrees), &amp;lt;apll&amp;gt;2&amp;lt;_ar/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Radians), &amp;lt;apll&amp;gt;2&amp;lt;_au/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Unit Normalized), or &amp;lt;apll&amp;gt;2&amp;lt;_ah/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Half Unit Normalized) for a Complex number, &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt; for a Quaternion number, and &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt; for an Octonion number.&lt;br /&gt;
** &#039;&#039;&#039;Rational&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2÷3&amp;lt;/apll&amp;gt; as a Multiple-Precision Integer/Rational number.&lt;br /&gt;
** &#039;&#039;&#039;Variable-Precision Floating&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; as a Multiple-Precision Floating Point number.&lt;br /&gt;
** &#039;&#039;&#039;Ball Arithmetic&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt;, respectively.&lt;br /&gt;
* [[Trains]]:  e.g., &amp;lt;apll&amp;gt;avg←(+⌿ ÷ ≢)&amp;lt;/apll&amp;gt; applies the functions to its argument(s) in a particular way (in this case, to compute the average of a numeric scalar or vector).&lt;br /&gt;
* [[Anonymous Functions/Operators/Hyperators]]:  multi-line grouping of one or more statements all enclosed in braces such as &amp;lt;apll&amp;gt;{(+⌿⍵)÷≢⍵}&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Primitive Functions==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Array Lookup]]||     &amp;lt;apll&amp;gt;L⍸R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Condense]]||     &amp;lt;apll&amp;gt;&amp;amp;lt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dilate]]||     &amp;lt;apll&amp;gt;&amp;amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Expand]]||     &amp;lt;apll&amp;gt;L\[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Find]]||     &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Generator]]||     &amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Of]]||     &amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indexing]]||     &amp;lt;apll&amp;gt;R[L]&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]f←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌷[X] R&amp;lt;/apll&amp;gt;,    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indices]]||     &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix Inverse/Divide]]||     &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Mismatch]]||     &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Partitioned Enclose]]||     &amp;lt;apll&amp;gt;L⊂[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Primes]]||     &amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Reshape]]||     &amp;lt;apll&amp;gt;L⍴R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Root]]||     &amp;lt;apll&amp;gt;√R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L√[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sequence]]||     &amp;lt;apll&amp;gt;L..R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Sets]]||     &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Tally]]||     &amp;lt;apll&amp;gt;≢R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Without]]||     &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Operators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Axis]]||     &amp;lt;apll&amp;gt;{L} f[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op1[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op2[X] g R&amp;lt;/apll&amp;gt; ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Combinatorial]]||     &amp;lt;apll&amp;gt;a‼ R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Commute]]||     &amp;lt;apll&amp;gt;L f⍨ R ←→ R f L&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose]]||     &amp;lt;apll&amp;gt;{L} f∘g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;f∘b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;a∘g R&amp;lt;/apll&amp;gt; ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Composition]]||     &amp;lt;apll&amp;gt;{L} f⍥g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Convolution]]||     &amp;lt;apll&amp;gt;L f⍡g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Derivative]]||     &amp;lt;apll&amp;gt;{L} f∂[χ] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f∂∂[χ] R&amp;lt;/apll&amp;gt;, etc.   ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Determinant Operator|Determinant]]||     &amp;lt;apll&amp;gt;f.g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Duplicate]]||     &amp;lt;apll&amp;gt;f⍨ R ←→ R f R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Integral]]||     &amp;lt;apll&amp;gt;{L} f&amp;lt;_sg/&amp;gt;[χ] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power#Inverses|Inverses]]||     &amp;lt;apll&amp;gt;{L} f⍣¯1 R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mask|Mask]]||      &amp;lt;apll&amp;gt;L (a∘/) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⌿) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘/[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]||     &amp;lt;apll&amp;gt;{L} f⌻ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;∘⌻ R&amp;lt;/apll&amp;gt;    ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mesh|Mesh]]||      &amp;lt;apll&amp;gt;L (a∘\) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⍀) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘\[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Multisets]]||     &amp;lt;apll&amp;gt;{L} f⍦ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Null]]||     &amp;lt;apll&amp;gt;{L} f⊙ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power]]||     &amp;lt;apll&amp;gt;{L} f⍣g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍣b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Rank/Atop]]||     &amp;lt;apll&amp;gt;{L} f⍤[X] b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍤g R&amp;lt;/apll&amp;gt;     ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Variant]]||     &amp;lt;apll&amp;gt;{L} f⍠b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;b&amp;lt;/apll&amp;gt; represent Variables, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Hyperators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform]||     &amp;lt;apll&amp;gt;f h⍑g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;h&amp;lt;/apll&amp;gt; represents a Function/Operator, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
Also, see [[Hyperators]].&lt;br /&gt;
&lt;br /&gt;
==Datatypes==&lt;br /&gt;
* [[Infinity]]:  &amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;¯∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[NaN]]:  &amp;lt;apll&amp;gt;∅&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[APA|Arithmetic Progression Arrays]]:   &amp;lt;apll&amp;gt;2 3 4⍴⍳24&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Unicode|Unicode Characters]]&lt;br /&gt;
* [[Array Predicates]]&lt;br /&gt;
* [[Rational and VFP Numbers|Rational Numbers]]:  &amp;lt;apll&amp;gt;1&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12345&amp;lt;_x/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Rational and VFP Numbers|Variable-precision Floating Point (VFP) Numbers]]:  &amp;lt;apll&amp;gt;1.234&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Complex Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;3.4&amp;lt;_i/&amp;gt;5&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;90&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;22&amp;lt;_ar/&amp;gt;.1&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;20&amp;lt;_au/&amp;gt;.5&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Quaternion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Octonion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Ball Arithmetic]]:  &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;2*¯53&amp;lt;/apll&amp;gt;, respectively, because the Midpoint (&amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt;) cannot be represented exactly in double-precision floating point format with the standard &amp;lt;apll&amp;gt;53&amp;lt;/apll&amp;gt; bits of precision.&lt;br /&gt;
&lt;br /&gt;
==Java Support==&lt;br /&gt;
The Java programming language is now supported.  You can now write code in Java, and call it from APL.  For more details, see [[Java_Support|Java Support]].&lt;br /&gt;
&lt;br /&gt;
==System Commands==&lt;br /&gt;
{{:System Commands}}&lt;br /&gt;
&lt;br /&gt;
==System Variables and Functions==&lt;br /&gt;
{{System Variables}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3836</id>
		<title>Language Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3836"/>
		<updated>2023-10-14T10:32:04Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Primitive Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At the moment, the following sections describe only those language features that are &#039;&#039;&#039;New&#039;&#039;&#039; or &#039;&#039;&#039;Enhanced&#039;&#039;&#039; relative to the Extended APL Standard, or that deserve special comment.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* [[Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modified Assignment]]:  &amp;lt;apll&amp;gt;Af←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modify Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)f←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Hyperators]]:  &amp;lt;apll&amp;gt;∇ Z←L (LO (LH dhdo RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Function/Operator/Hyperator Assignment]]:  &amp;lt;apll&amp;gt;A←f&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op1&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op2&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Binding Strength]]:  How Variables, Functions, Operators, Hyperators and other syntactic elements combine&lt;br /&gt;
* [[Sink]]:  &amp;lt;apll&amp;gt;←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Point Notation]]:  &lt;br /&gt;
** &#039;&#039;&#039;Base&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;16&amp;lt;_b/&amp;gt;10FFFF&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;16⊥1 0 15 15 15 15&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;10&amp;lt;_b/&amp;gt;45v&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;10⊥4 5 31&amp;lt;/apll&amp;gt;.&lt;br /&gt;
** &#039;&#039;&#039;Euler&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_x/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙e&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(*1)*3&amp;lt;/apll&amp;gt; where e is [https://en.wikipedia.org/wiki/E_(mathematical_constant) Euler&#039;s Number] (&amp;lt;apll&amp;gt;2.718281828459045...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Pi&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;2&amp;lt;_pi/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙π&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(○1)*3&amp;lt;/apll&amp;gt; where π is [https://en.wikipedia.org/wiki/Pi Archimedes&#039; constant] (&amp;lt;apll&amp;gt;3.141592653589793...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Gamma&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_g/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙γ&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; where γ is [https://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni&#039;s Constant] (&amp;lt;apll&amp;gt;0.5772156649015329...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Zeta&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_z/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙&amp;amp;zeta;(3) where &amp;amp;zeta;(x) is the [https://en.wikipedia.org/wiki/Riemann_zeta_function Riemann Zeta function].&lt;br /&gt;
** &#039;&#039;&#039;Hypercomplex&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_i/&amp;gt;3&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;_J/&amp;gt;3&amp;lt;/apll&amp;gt; (both equal to &amp;lt;apll&amp;gt;2+3×√¯1&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Degrees), &amp;lt;apll&amp;gt;2&amp;lt;_ar/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Radians), &amp;lt;apll&amp;gt;2&amp;lt;_au/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Unit Normalized), or &amp;lt;apll&amp;gt;2&amp;lt;_ah/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Half Unit Normalized) for a Complex number, &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt; for a Quaternion number, and &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt; for an Octonion number.&lt;br /&gt;
** &#039;&#039;&#039;Rational&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2÷3&amp;lt;/apll&amp;gt; as a Multiple-Precision Integer/Rational number.&lt;br /&gt;
** &#039;&#039;&#039;Variable-Precision Floating&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; as a Multiple-Precision Floating Point number.&lt;br /&gt;
** &#039;&#039;&#039;Ball Arithmetic&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt;, respectively.&lt;br /&gt;
* [[Trains]]:  e.g., &amp;lt;apll&amp;gt;avg←(+⌿ ÷ ≢)&amp;lt;/apll&amp;gt; applies the functions to its argument(s) in a particular way (in this case, to compute the average of a numeric scalar or vector).&lt;br /&gt;
* [[Anonymous Functions/Operators/Hyperators]]:  multi-line grouping of one or more statements all enclosed in braces such as &amp;lt;apll&amp;gt;{(+⌿⍵)÷≢⍵}&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Primitive Functions==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Array Lookup]]||     &amp;lt;apll&amp;gt;L⍸R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Condense]]||     &amp;lt;apll&amp;gt;&amp;amp;lt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dilate]]||     &amp;lt;apll&amp;gt;&amp;amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Expand]]||     &amp;lt;apll&amp;gt;L\[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Find]]||     &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Generator]]||     &amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Of]]||     &amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indexing]]||     &amp;lt;apll&amp;gt;R[L]&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]f←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌷[X] R&amp;lt;/apll&amp;gt;,    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indices]]||     &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix Inverse/Divide]]||     &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Mismatch]]||     &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Partitioned Enclose]]||     &amp;lt;apll&amp;gt;L⊂[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Primes]]||     &amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Reshape]]||     &amp;lt;apll&amp;gt;L⍴R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Root]]||     &amp;lt;apll&amp;gt;√R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L√[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sequence]]||     &amp;lt;apll&amp;gt;L..R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Sets]]||     &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Tally]]||     &amp;lt;apll&amp;gt;≢R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Without]]||     &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Operators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Axis]]||     &amp;lt;apll&amp;gt;{L} f[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op1[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op2[X] g R&amp;lt;/apll&amp;gt; ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Combinatorial]]||     &amp;lt;apll&amp;gt;a‼ R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Commute]]||     &amp;lt;apll&amp;gt;L f⍨ R ←→ R f L&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose]]||     &amp;lt;apll&amp;gt;{L} f∘g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;f∘b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;a∘g R&amp;lt;/apll&amp;gt; ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Composition]]||     &amp;lt;apll&amp;gt;{L} f⍥g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Convolution]]||     &amp;lt;apll&amp;gt;L f⍡g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Derivative]]||     &amp;lt;apll&amp;gt;{L} f∂ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f∂∂ R&amp;lt;/apll&amp;gt;, etc.   ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Determinant Operator|Determinant]]||     &amp;lt;apll&amp;gt;f.g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Duplicate]]||     &amp;lt;apll&amp;gt;f⍨ R ←→ R f R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Integral]]||     &amp;lt;apll&amp;gt;{L} f&amp;lt;_sg/&amp;gt; R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power#Inverses|Inverses]]||     &amp;lt;apll&amp;gt;{L} f⍣¯1 R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mask|Mask]]||      &amp;lt;apll&amp;gt;L (a∘/) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⌿) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘/[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]||     &amp;lt;apll&amp;gt;{L} f⌻ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;∘⌻ R&amp;lt;/apll&amp;gt;    ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mesh|Mesh]]||      &amp;lt;apll&amp;gt;L (a∘\) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⍀) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘\[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Multisets]]||     &amp;lt;apll&amp;gt;{L} f⍦ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Null]]||     &amp;lt;apll&amp;gt;{L} f⊙ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power]]||     &amp;lt;apll&amp;gt;{L} f⍣g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍣b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Rank/Atop]]||     &amp;lt;apll&amp;gt;{L} f⍤[X] b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍤g R&amp;lt;/apll&amp;gt;     ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Variant]]||     &amp;lt;apll&amp;gt;{L} f⍠b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;b&amp;lt;/apll&amp;gt; represent Variables, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Hyperators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform]||     &amp;lt;apll&amp;gt;f h⍑g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;h&amp;lt;/apll&amp;gt; represents a Function/Operator, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
Also, see [[Hyperators]].&lt;br /&gt;
&lt;br /&gt;
==Datatypes==&lt;br /&gt;
* [[Infinity]]:  &amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;¯∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[NaN]]:  &amp;lt;apll&amp;gt;∅&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[APA|Arithmetic Progression Arrays]]:   &amp;lt;apll&amp;gt;2 3 4⍴⍳24&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Unicode|Unicode Characters]]&lt;br /&gt;
* [[Array Predicates]]&lt;br /&gt;
* [[Rational and VFP Numbers|Rational Numbers]]:  &amp;lt;apll&amp;gt;1&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12345&amp;lt;_x/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Rational and VFP Numbers|Variable-precision Floating Point (VFP) Numbers]]:  &amp;lt;apll&amp;gt;1.234&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Complex Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;3.4&amp;lt;_i/&amp;gt;5&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;90&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;22&amp;lt;_ar/&amp;gt;.1&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;20&amp;lt;_au/&amp;gt;.5&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Quaternion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Octonion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Ball Arithmetic]]:  &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;2*¯53&amp;lt;/apll&amp;gt;, respectively, because the Midpoint (&amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt;) cannot be represented exactly in double-precision floating point format with the standard &amp;lt;apll&amp;gt;53&amp;lt;/apll&amp;gt; bits of precision.&lt;br /&gt;
&lt;br /&gt;
==Java Support==&lt;br /&gt;
The Java programming language is now supported.  You can now write code in Java, and call it from APL.  For more details, see [[Java_Support|Java Support]].&lt;br /&gt;
&lt;br /&gt;
==System Commands==&lt;br /&gt;
{{:System Commands}}&lt;br /&gt;
&lt;br /&gt;
==System Variables and Functions==&lt;br /&gt;
{{System Variables}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Rank&amp;diff=3835</id>
		<title>Rank</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Rank&amp;diff=3835"/>
		<updated>2023-10-14T10:26:11Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: WikiSysop moved page Rank to Rank/Atop: Expanded Definition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Rank/Atop]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Rank/Atop&amp;diff=3834</id>
		<title>Rank/Atop</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Rank/Atop&amp;diff=3834"/>
		<updated>2023-10-14T10:26:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: WikiSysop moved page Rank to Rank/Atop: Expanded Definition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Rank Monadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←(&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤[X] Y) R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is defined by &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; and restores the cells to the result as per &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function, &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt; is an origin-sensitive integer scalar or vector, and &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is an integer scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1&amp;amp;lt;⍴⍴Y&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1=⍴⍴Y&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;~(⍴Y)∊1 2 3&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is a scalar or one-, two-, or three-element integer vector that describes the cell size of the arguments.  When it is a three-element vector, the first element specifies the cell size of the right argument when the derived function is called monadically; the second and third elements specify the left and right argument cell sizes when the derived function is called dyadically.  When it is a two-element vector, the two values are used for the left and right arguments cell sizes when the derived function is called dyadically; if the derived function is called monadically, the cell size is the second value of the two.  When it is a scalar or one-element vector, the single value is used for all three cell sizes.  Moreover, the value of &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; for the monadic derived function case may be positive or negative with an absolute value no larger than &amp;lt;apll&amp;gt;⍴⍴R&amp;lt;/apll&amp;gt;.  In this case (first element only), the above rules may be summarized by setting &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; to the one-element integer vector &amp;lt;apll&amp;gt;(-⍴⍴R)⌈(⍴⍴R)⌊1↑⌽3⍴⌽Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CR←(-Y)↑⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand cells, and &amp;lt;apll&amp;gt;FR←(-Y)↓⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Loop through the frame applying &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the shape &amp;lt;apll&amp;gt;CR&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The result &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the &amp;lt;b&amp;gt;conforming&amp;lt;/b&amp;gt; disclose of the above, using &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt;, if present.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic derived function of this dyadic operator is implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ∇ Z←(LO #MonRank[X] Y) R;YR&lt;br /&gt;
[1]   YR←(1↑⌽3⍴⌽Y)⌊⍴⍴R&lt;br /&gt;
[2]   if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[3]   Z←LO¨⊂[(-YR)↑⍳⍴⍴R] R ⋄ →L1&lt;br /&gt;
[4]   ⎕PRO:YR←(1↑⌽3⍴⌽Y)⌊⍴⍴R&lt;br /&gt;
[5]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[6]   Z←⊃LO¨¨⊂[(-YR)↑⍳⍴⍴R]¨0⍴⊂R&lt;br /&gt;
[7]   L1::if 0=⎕NC &#039;X&#039; ⋄ Z←⊃Z ⋄ :else ⋄ Z←⊃[X] Z ⋄ :end&lt;br /&gt;
    ∇&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rank Dyadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L (&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤[X] Y) R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the dyadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;l&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; and restores the cells to the result as per &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;l&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are defined by &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are arbitrary arrays, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary dyadic function, &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt; is an origin-sensitive integer scalar or vector, and &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is an integer scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1&amp;amp;lt;⍴⍴Y&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1=⍴⍴Y&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;~(⍴Y)∊1 2 3&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is a scalar or one-, two-, or three-element integer vector that describes the cell size of the arguments.  When it is a three-element vector, the first element specifies the cell size of the right argument when the derived function is called monadically; the second and third elements specify the left and right argument cell sizes when the derived function is called dyadically.  When it is a two-element vector, the two values are used for the left and right arguments cell sizes when the derived function is called dyadically; if the derived function is called monadically, the cell size is the second value of the two.  When it is a scalar or one-element vector, the single value is used for all three cell sizes.  &lt;br /&gt;
&lt;br /&gt;
Moreover, the values of &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; for the dyadic derived function case may be positive or negative with an absolute value no larger than &amp;lt;apll&amp;gt;(⍴⍴L),⍴⍴R&amp;lt;/apll&amp;gt;.  In this case (second and third elements only), the above rules may be summarized by setting &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; to the two-element integer vector &amp;lt;apll&amp;gt;(-(⍴⍴L),⍴⍴R)⌈((⍴⍴L),⍴⍴R)⌊1↓⌽3⍴⌽Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|1↑Y&amp;lt;/apll&amp;gt;; the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|1↓Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1↑Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CL←(-1↑Y)↑⍴L&amp;lt;/apll&amp;gt; is the shape of the lefthand cells, and &amp;lt;apll&amp;gt;FL←(-1↑Y)↓⍴L&amp;lt;/apll&amp;gt; is the shape of the lefthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1↓Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CR←(-1↓Y)↑⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand cells, and &amp;lt;apll&amp;gt;FR←(-1↓Y)↓⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;FL&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;FR&amp;lt;/apll&amp;gt; are both non-empty and &amp;lt;apll&amp;gt;(⍴FL)≠⍴FR&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;; if the shapes of &amp;lt;apll&amp;gt;FL&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;FR&amp;lt;/apll&amp;gt; are the same, but their values differ, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Loop through the frames (scalar extending as necessary) applying &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between the shape &amp;lt;apll&amp;gt;CL&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the shape &amp;lt;apll&amp;gt;CR&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The result &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the &amp;lt;b&amp;gt;conforming&amp;lt;/b&amp;gt; disclose of the above, using &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt;, if present.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic derived function of this dyadic operator is implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ∇ Z←L (LO #DydRank[X] Y) R;YL;YR&lt;br /&gt;
[1]   (YL YR)←(1↓⌽3⍴⌽Y)⌊(⍴⍴L),⍴⍴R&lt;br /&gt;
[2]   :if 0&amp;gt;YL ⋄ YL←0⌈YL+⍴⍴L ⋄ :end&lt;br /&gt;
[3]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[4]   Z←(⊂[(-YL)↑⍳⍴⍴L] L) LO¨⊂[(-YR)↑⍳⍴⍴R] R ⋄ →L1&lt;br /&gt;
[5]   ⎕PRO:(YL YR)←(1↓⌽3⍴⌽Y)⌊(⍴⍴L),⍴⍴R&lt;br /&gt;
[6]   :if 0&amp;gt;YL ⋄ YL←0⌈YL+⍴⍴L ⋄ :end&lt;br /&gt;
[7]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[8]   Z←⊃(⊂[(-YL)↑⍳⍴⍴L]¨0⍴⊂L) LO¨¨⊂[(-YR)↑⍳⍴⍴R]¨0⍴⊂R&lt;br /&gt;
[9]   L1::if 0=⎕NC &#039;X&#039; ⋄ Z←⊃Z ⋄ :else ⋄ Z←⊃[X] Z ⋄ :end&lt;br /&gt;
    ∇&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, the rank operator can emulate laminate between the following two vectors to produce the first result, but not the second without help from the axis operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L←&#039;abcdef&#039; {diamond} R←⍳⍴L&lt;br /&gt;
      L ,⍤0 R                   a.k.a. L,[1.5] R&lt;br /&gt;
 a 1&lt;br /&gt;
 b 2&lt;br /&gt;
 c 3&lt;br /&gt;
 d 4&lt;br /&gt;
 e 5&lt;br /&gt;
 f 6&lt;br /&gt;
      L ,⍤[1] 0 R               a.k.a. L,[0.5] R&lt;br /&gt;
 a b c d e f&lt;br /&gt;
 1 2 3 4 5 6&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Atop Monadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic functions &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; as in &amp;lt;apll&amp;gt; f g R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are both arbitrary monadic functions.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic and dyadic derived functions of this dyadic operator are implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#Atop←{⍺←⊢ ⋄ ⍺⍺ ⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Atop Dyadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the result of applying the dyadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  That is, it is equivalent to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt; L &amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary dydadic function.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic and dyadic derived functions of this dyadic operator are implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#Atop←{⍺←⊢ ⋄ ⍺⍺ ⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgments ==&lt;br /&gt;
&lt;br /&gt;
The APL functions for the Rank operator shown above were originally based upon those found in the paper J. Philip Benkhard, &amp;quot;[http://portal.acm.org/citation.cfm?id=114058&amp;amp;dl=GUIDE&amp;amp;coll=GUIDE&amp;amp;CFID=98347615&amp;amp;CFTOKEN=27795431 Extending structure, type, and expression in APL2]&amp;quot;, ACM SIGAPL APL Quote Quad, v.21 n.4, p.20-38, Aug. 1991, but later was modified to reflect the definition of the Rank operator in the ISO-IEC 13751 Extended APL Standard.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3833</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3833"/>
		<updated>2023-10-14T01:45:36Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Extra APL Glyphs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), &#039;&#039;&#039;SImPL&#039;&#039;&#039;, or &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here].  Normally font and file &#039;&#039;&#039;SimPL-Medium.ttf&#039;&#039;&#039; may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000 (32-bit program)&#039;&#039;&#039; and or &#039;&#039;&#039;C:\Program Files\NARS2000 (64-bit version)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If they still don&#039;t display correctly, [http://www.getfirefox.com/ download] FireFox.&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank/Atop operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Rank/Atop&amp;diff=3832</id>
		<title>Rank/Atop</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Rank/Atop&amp;diff=3832"/>
		<updated>2023-10-13T23:32:49Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Rank Monadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←(&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤[X] Y) R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is defined by &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; and restores the cells to the result as per &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function, &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt; is an origin-sensitive integer scalar or vector, and &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is an integer scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1&amp;amp;lt;⍴⍴Y&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1=⍴⍴Y&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;~(⍴Y)∊1 2 3&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is a scalar or one-, two-, or three-element integer vector that describes the cell size of the arguments.  When it is a three-element vector, the first element specifies the cell size of the right argument when the derived function is called monadically; the second and third elements specify the left and right argument cell sizes when the derived function is called dyadically.  When it is a two-element vector, the two values are used for the left and right arguments cell sizes when the derived function is called dyadically; if the derived function is called monadically, the cell size is the second value of the two.  When it is a scalar or one-element vector, the single value is used for all three cell sizes.  Moreover, the value of &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; for the monadic derived function case may be positive or negative with an absolute value no larger than &amp;lt;apll&amp;gt;⍴⍴R&amp;lt;/apll&amp;gt;.  In this case (first element only), the above rules may be summarized by setting &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; to the one-element integer vector &amp;lt;apll&amp;gt;(-⍴⍴R)⌈(⍴⍴R)⌊1↑⌽3⍴⌽Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CR←(-Y)↑⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand cells, and &amp;lt;apll&amp;gt;FR←(-Y)↓⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Loop through the frame applying &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the shape &amp;lt;apll&amp;gt;CR&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The result &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the &amp;lt;b&amp;gt;conforming&amp;lt;/b&amp;gt; disclose of the above, using &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt;, if present.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic derived function of this dyadic operator is implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ∇ Z←(LO #MonRank[X] Y) R;YR&lt;br /&gt;
[1]   YR←(1↑⌽3⍴⌽Y)⌊⍴⍴R&lt;br /&gt;
[2]   if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[3]   Z←LO¨⊂[(-YR)↑⍳⍴⍴R] R ⋄ →L1&lt;br /&gt;
[4]   ⎕PRO:YR←(1↑⌽3⍴⌽Y)⌊⍴⍴R&lt;br /&gt;
[5]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[6]   Z←⊃LO¨¨⊂[(-YR)↑⍳⍴⍴R]¨0⍴⊂R&lt;br /&gt;
[7]   L1::if 0=⎕NC &#039;X&#039; ⋄ Z←⊃Z ⋄ :else ⋄ Z←⊃[X] Z ⋄ :end&lt;br /&gt;
    ∇&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rank Dyadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L (&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤[X] Y) R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the dyadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;l&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the rank-&amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; cells of &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; and restores the cells to the result as per &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt;, where &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;l&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;r&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are defined by &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are arbitrary arrays, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary dyadic function, &amp;lt;apll&amp;gt;X&amp;lt;/apll&amp;gt; is an origin-sensitive integer scalar or vector, and &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is an integer scalar or vector.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1&amp;amp;lt;⍴⍴Y&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1=⍴⍴Y&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;~(⍴Y)∊1 2 3&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; is a scalar or one-, two-, or three-element integer vector that describes the cell size of the arguments.  When it is a three-element vector, the first element specifies the cell size of the right argument when the derived function is called monadically; the second and third elements specify the left and right argument cell sizes when the derived function is called dyadically.  When it is a two-element vector, the two values are used for the left and right arguments cell sizes when the derived function is called dyadically; if the derived function is called monadically, the cell size is the second value of the two.  When it is a scalar or one-element vector, the single value is used for all three cell sizes.  &lt;br /&gt;
&lt;br /&gt;
Moreover, the values of &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; for the dyadic derived function case may be positive or negative with an absolute value no larger than &amp;lt;apll&amp;gt;(⍴⍴L),⍴⍴R&amp;lt;/apll&amp;gt;.  In this case (second and third elements only), the above rules may be summarized by setting &amp;lt;apll&amp;gt;Y&amp;lt;/apll&amp;gt; to the two-element integer vector &amp;lt;apll&amp;gt;(-(⍴⍴L),⍴⍴R)⌈((⍴⍴L),⍴⍴R)⌊1↓⌽3⍴⌽Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|1↑Y&amp;lt;/apll&amp;gt;; the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are of rank &amp;lt;apll&amp;gt;|1↓Y&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1↑Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CL←(-1↑Y)↑⍴L&amp;lt;/apll&amp;gt; is the shape of the lefthand cells, and &amp;lt;apll&amp;gt;FL←(-1↑Y)↓⍴L&amp;lt;/apll&amp;gt; is the shape of the lefthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;1↓Y&amp;lt;/apll&amp;gt; is positive, the cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; are taken from the right end of the shape vector; if negative, the cells are taken from the left end of the shape vector.  In particular, &amp;lt;apll&amp;gt;CR←(-1↓Y)↑⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand cells, and &amp;lt;apll&amp;gt;FR←(-1↓Y)↓⍴R&amp;lt;/apll&amp;gt; is the shape of the righthand frame.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If &amp;lt;apll&amp;gt;FL&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;FR&amp;lt;/apll&amp;gt; are both non-empty and &amp;lt;apll&amp;gt;(⍴FL)≠⍴FR&amp;lt;/apll&amp;gt;, signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;; if the shapes of &amp;lt;apll&amp;gt;FL&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;FR&amp;lt;/apll&amp;gt; are the same, but their values differ, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;Loop through the frames (scalar extending as necessary) applying &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between the shape &amp;lt;apll&amp;gt;CL&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the shape &amp;lt;apll&amp;gt;CR&amp;lt;/apll&amp;gt; cells from &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The result &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is the &amp;lt;b&amp;gt;conforming&amp;lt;/b&amp;gt; disclose of the above, using &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt;, if present.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The dyadic derived function of this dyadic operator is implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    ∇ Z←L (LO #DydRank[X] Y) R;YL;YR&lt;br /&gt;
[1]   (YL YR)←(1↓⌽3⍴⌽Y)⌊(⍴⍴L),⍴⍴R&lt;br /&gt;
[2]   :if 0&amp;gt;YL ⋄ YL←0⌈YL+⍴⍴L ⋄ :end&lt;br /&gt;
[3]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[4]   Z←(⊂[(-YL)↑⍳⍴⍴L] L) LO¨⊂[(-YR)↑⍳⍴⍴R] R ⋄ →L1&lt;br /&gt;
[5]   ⎕PRO:(YL YR)←(1↓⌽3⍴⌽Y)⌊(⍴⍴L),⍴⍴R&lt;br /&gt;
[6]   :if 0&amp;gt;YL ⋄ YL←0⌈YL+⍴⍴L ⋄ :end&lt;br /&gt;
[7]   :if 0&amp;gt;YR ⋄ YR←0⌈YR+⍴⍴R ⋄ :end&lt;br /&gt;
[8]   Z←⊃(⊂[(-YL)↑⍳⍴⍴L]¨0⍴⊂L) LO¨¨⊂[(-YR)↑⍳⍴⍴R]¨0⍴⊂R&lt;br /&gt;
[9]   L1::if 0=⎕NC &#039;X&#039; ⋄ Z←⊃Z ⋄ :else ⋄ Z←⊃[X] Z ⋄ :end&lt;br /&gt;
    ∇&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, the rank operator can emulate laminate between the following two vectors to produce the first result, but not the second without help from the axis operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      L←&#039;abcdef&#039; {diamond} R←⍳⍴L&lt;br /&gt;
      L ,⍤0 R                   a.k.a. L,[1.5] R&lt;br /&gt;
 a 1&lt;br /&gt;
 b 2&lt;br /&gt;
 c 3&lt;br /&gt;
 d 4&lt;br /&gt;
 e 5&lt;br /&gt;
 f 6&lt;br /&gt;
      L ,⍤[1] 0 R               a.k.a. L,[0.5] R&lt;br /&gt;
 a b c d e f&lt;br /&gt;
 1 2 3 4 5 6&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Atop Monadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic functions &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; as in &amp;lt;apll&amp;gt; f g R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; are both arbitrary monadic functions.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic and dyadic derived functions of this dyadic operator are implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#Atop←{⍺←⊢ ⋄ ⍺⍺ ⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Atop Dyadic Derived Function==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L &amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;⍤&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;Applies the monadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; to the result of applying the dyadic function &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; between &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and the &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;.  That is, it is equivalent to &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt; L &amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt; R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is an arbitrary array, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;f&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary monadic function, &amp;lt;apll&amp;gt;&amp;lt;i&amp;gt;g&amp;lt;/i&amp;gt;&amp;lt;/apll&amp;gt; is an arbitrary dydadic function.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The monadic and dyadic derived functions of this dyadic operator are implemented by calling an internal magic function similar to the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#Atop←{⍺←⊢ ⋄ ⍺⍺ ⍺ ⍵⍵ ⍵}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Acknowledgments ==&lt;br /&gt;
&lt;br /&gt;
The APL functions for the Rank operator shown above were originally based upon those found in the paper J. Philip Benkhard, &amp;quot;[http://portal.acm.org/citation.cfm?id=114058&amp;amp;dl=GUIDE&amp;amp;coll=GUIDE&amp;amp;CFID=98347615&amp;amp;CFTOKEN=27795431 Extending structure, type, and expression in APL2]&amp;quot;, ACM SIGAPL APL Quote Quad, v.21 n.4, p.20-38, Aug. 1991, but later was modified to reflect the definition of the Rank operator in the ISO-IEC 13751 Extended APL Standard.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3831</id>
		<title>Language Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Language_Features&amp;diff=3831"/>
		<updated>2023-10-13T23:07:02Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Primitive Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At the moment, the following sections describe only those language features that are &#039;&#039;&#039;New&#039;&#039;&#039; or &#039;&#039;&#039;Enhanced&#039;&#039;&#039; relative to the Extended APL Standard, or that deserve special comment.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
* [[Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modified Assignment]]:  &amp;lt;apll&amp;gt;Af←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Modify Strand Assignment]]:  &amp;lt;apll&amp;gt;(A1 A2 ... An)f←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Hyperators]]:  &amp;lt;apll&amp;gt;∇ Z←L (LO (LH dhdo RH) RO) R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Function/Operator/Hyperator Assignment]]:  &amp;lt;apll&amp;gt;A←f&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op1&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;A←op2&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Binding Strength]]:  How Variables, Functions, Operators, Hyperators and other syntactic elements combine&lt;br /&gt;
* [[Sink]]:  &amp;lt;apll&amp;gt;←R&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Point Notation]]:  &lt;br /&gt;
** &#039;&#039;&#039;Base&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;16&amp;lt;_b/&amp;gt;10FFFF&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;16⊥1 0 15 15 15 15&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;10&amp;lt;_b/&amp;gt;45v&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;10⊥4 5 31&amp;lt;/apll&amp;gt;.&lt;br /&gt;
** &#039;&#039;&#039;Euler&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_x/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙e&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(*1)*3&amp;lt;/apll&amp;gt; where e is [https://en.wikipedia.org/wiki/E_(mathematical_constant) Euler&#039;s Number] (&amp;lt;apll&amp;gt;2.718281828459045...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Pi&#039;&#039;&#039; —  &amp;lt;apll&amp;gt;2&amp;lt;_pi/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙π&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; or &amp;lt;apll&amp;gt;2×(○1)*3&amp;lt;/apll&amp;gt; where π is [https://en.wikipedia.org/wiki/Pi Archimedes&#039; constant] (&amp;lt;apll&amp;gt;3.141592653589793...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Gamma&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_g/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙γ&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; where γ is [https://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni&#039;s Constant] (&amp;lt;apll&amp;gt;0.5772156649015329...&amp;lt;/apll&amp;gt;).&lt;br /&gt;
** &#039;&#039;&#039;Zeta&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_z/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for 2∙&amp;amp;zeta;(3) where &amp;amp;zeta;(x) is the [https://en.wikipedia.org/wiki/Riemann_zeta_function Riemann Zeta function].&lt;br /&gt;
** &#039;&#039;&#039;Hypercomplex&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_i/&amp;gt;3&amp;lt;/apll&amp;gt;, &amp;lt;apll&amp;gt;2&amp;lt;_J/&amp;gt;3&amp;lt;/apll&amp;gt; (both equal to &amp;lt;apll&amp;gt;2+3×√¯1&amp;lt;/apll&amp;gt;), &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Degrees), &amp;lt;apll&amp;gt;2&amp;lt;_ar/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Radians), &amp;lt;apll&amp;gt;2&amp;lt;_au/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Unit Normalized), or &amp;lt;apll&amp;gt;2&amp;lt;_ah/&amp;gt;3&amp;lt;/apll&amp;gt; (Angle in Half Unit Normalized) for a Complex number, &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt; for a Quaternion number, and &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt; for an Octonion number.&lt;br /&gt;
** &#039;&#039;&#039;Rational&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2÷3&amp;lt;/apll&amp;gt; as a Multiple-Precision Integer/Rational number.&lt;br /&gt;
** &#039;&#039;&#039;Variable-Precision Floating&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; as a Multiple-Precision Floating Point number.&lt;br /&gt;
** &#039;&#039;&#039;Ball Arithmetic&#039;&#039;&#039; — &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;1&amp;lt;_E/&amp;gt;¯17&amp;lt;/apll&amp;gt;, respectively.&lt;br /&gt;
* [[Trains]]:  e.g., &amp;lt;apll&amp;gt;avg←(+⌿ ÷ ≢)&amp;lt;/apll&amp;gt; applies the functions to its argument(s) in a particular way (in this case, to compute the average of a numeric scalar or vector).&lt;br /&gt;
* [[Anonymous Functions/Operators/Hyperators]]:  multi-line grouping of one or more statements all enclosed in braces such as &amp;lt;apll&amp;gt;{(+⌿⍵)÷≢⍵}&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Primitive Functions==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Array Lookup]]||     &amp;lt;apll&amp;gt;L⍸R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Condense]]||     &amp;lt;apll&amp;gt;&amp;amp;lt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Dilate]]||     &amp;lt;apll&amp;gt;&amp;amp;gt;[X] R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Expand]]||     &amp;lt;apll&amp;gt;L\[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Find]]||     &amp;lt;apll&amp;gt;L⍷R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Generator]]||     &amp;lt;apll&amp;gt;⍳R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Index Of]]||     &amp;lt;apll&amp;gt;L⍳R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indexing]]||     &amp;lt;apll&amp;gt;R[L]&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;R[L]f←A&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌷[X] R&amp;lt;/apll&amp;gt;,    &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⍉R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊃R&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Indices]]||     &amp;lt;apll&amp;gt;⍸R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix Inverse/Divide]]||     &amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Mismatch]]||     &amp;lt;apll&amp;gt;L≢R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Partitioned Enclose]]||     &amp;lt;apll&amp;gt;L⊂[X] R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Primes]]||     &amp;lt;apll&amp;gt;πR&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;LπR&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Reshape]]||     &amp;lt;apll&amp;gt;L⍴R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Root]]||     &amp;lt;apll&amp;gt;√R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L√[X] R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Sequence]]||     &amp;lt;apll&amp;gt;L..R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Sets]]||     &amp;lt;apll&amp;gt;L§R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊆R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L⊇R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Tally]]||     &amp;lt;apll&amp;gt;≢R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Without]]||     &amp;lt;apll&amp;gt;L~R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is the Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Operators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Atop]]||     &amp;lt;apll&amp;gt;{L} f⍤g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Axis]]||     &amp;lt;apll&amp;gt;{L} f[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op1[X] R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f op2[X] g R&amp;lt;/apll&amp;gt; ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Combinatorial]]||     &amp;lt;apll&amp;gt;a‼ R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Commute]]||     &amp;lt;apll&amp;gt;L f⍨ R ←→ R f L&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose]]||     &amp;lt;apll&amp;gt;{L} f∘g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;f∘b R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;a∘g R&amp;lt;/apll&amp;gt; ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Composition]]||     &amp;lt;apll&amp;gt;{L} f⍥g R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Convolution]]||     &amp;lt;apll&amp;gt;L f⍡g R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Derivative]]||     &amp;lt;apll&amp;gt;{L} f∂ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f∂∂ R&amp;lt;/apll&amp;gt;, etc.   ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Determinant Operator|Determinant]]||     &amp;lt;apll&amp;gt;f.g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Commute-Duplicate|Duplicate]]||     &amp;lt;apll&amp;gt;f⍨ R ←→ R f R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Integral]]||     &amp;lt;apll&amp;gt;{L} f&amp;lt;_sg/&amp;gt; R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power#Inverses|Inverses]]||     &amp;lt;apll&amp;gt;{L} f⍣¯1 R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mask|Mask]]||      &amp;lt;apll&amp;gt;L (a∘/) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⌿) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘/[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]||     &amp;lt;apll&amp;gt;{L} f⌻ R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;∘⌻ R&amp;lt;/apll&amp;gt;    ||ambivalent/monadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Compose#Mesh|Mesh]]||      &amp;lt;apll&amp;gt;L (a∘\) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘⍀) R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;L (a∘\[X]) R&amp;lt;/apll&amp;gt;    ||dyadic&lt;br /&gt;
|-&lt;br /&gt;
|[[Multisets]]||     &amp;lt;apll&amp;gt;{L} f⍦ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Null]]||     &amp;lt;apll&amp;gt;{L} f⊙ R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Power]]||     &amp;lt;apll&amp;gt;{L} f⍣g R&amp;lt;/apll&amp;gt;,&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;apll&amp;gt;{L} f⍣b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Rank]]||     &amp;lt;apll&amp;gt;{L} f⍤[X] b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|-&lt;br /&gt;
|[[Variant]]||     &amp;lt;apll&amp;gt;{L} f⍠b R&amp;lt;/apll&amp;gt;    ||ambivalent&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;b&amp;lt;/apll&amp;gt; represent Variables, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
==Primitive Hyperators==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;||     &#039;&#039;&#039;Symbol/Syntax&#039;&#039;&#039;||&#039;&#039;&#039;Derived Function Valence&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.sudleyplace.com/APL/A%20Transform%20Hyperator%20in%20APL.pdf Transform]||     &amp;lt;apll&amp;gt;f h⍑g R&amp;lt;/apll&amp;gt;    ||monadic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;apll&amp;gt;{L}&amp;lt;/apll&amp;gt; is an optional Left argument, &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is the Right argument, &amp;lt;apll&amp;gt;f&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;g&amp;lt;/apll&amp;gt; represent Functions, &amp;lt;apll&amp;gt;h&amp;lt;/apll&amp;gt; represents a Function/Operator, and &amp;lt;apll&amp;gt;[X]&amp;lt;/apll&amp;gt; is an optional Axis value.&lt;br /&gt;
&lt;br /&gt;
Also, see [[Hyperators]].&lt;br /&gt;
&lt;br /&gt;
==Datatypes==&lt;br /&gt;
* [[Infinity]]:  &amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;¯∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[NaN]]:  &amp;lt;apll&amp;gt;∅&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[APA|Arithmetic Progression Arrays]]:   &amp;lt;apll&amp;gt;2 3 4⍴⍳24&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Unicode|Unicode Characters]]&lt;br /&gt;
* [[Array Predicates]]&lt;br /&gt;
* [[Rational and VFP Numbers|Rational Numbers]]:  &amp;lt;apll&amp;gt;1&amp;lt;_r/&amp;gt;3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12345&amp;lt;_x/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Rational and VFP Numbers|Variable-precision Floating Point (VFP) Numbers]]:  &amp;lt;apll&amp;gt;1.234&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;12&amp;lt;_v/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Complex Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;3.4&amp;lt;_i/&amp;gt;5&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;2&amp;lt;_ad/&amp;gt;90&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;22&amp;lt;_ar/&amp;gt;.1&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;20&amp;lt;_au/&amp;gt;.5&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Quaternion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [http://www.sudleyplace.com/APL/Hypercomplex%20Numbers%20in%20APL.pdf Octonion Numbers]:  &amp;lt;apll&amp;gt;1&amp;lt;_i/&amp;gt;2&amp;lt;_j/&amp;gt;3&amp;lt;_k/&amp;gt;4&amp;lt;_l/&amp;gt;5&amp;lt;_ij/&amp;gt;6&amp;lt;_jk/&amp;gt;7&amp;lt;_kl/&amp;gt;8&amp;lt;/apll&amp;gt;&lt;br /&gt;
* [[Ball Arithmetic]]:  &amp;lt;apll&amp;gt;2.3&amp;lt;_pom/&amp;gt;&amp;lt;/apll&amp;gt; is a shorthand for a Ball whose Midpoint and Radius are &amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;2*¯53&amp;lt;/apll&amp;gt;, respectively, because the Midpoint (&amp;lt;apll&amp;gt;2.3&amp;lt;/apll&amp;gt;) cannot be represented exactly in double-precision floating point format with the standard &amp;lt;apll&amp;gt;53&amp;lt;/apll&amp;gt; bits of precision.&lt;br /&gt;
&lt;br /&gt;
==Java Support==&lt;br /&gt;
The Java programming language is now supported.  You can now write code in Java, and call it from APL.  For more details, see [[Java_Support|Java Support]].&lt;br /&gt;
&lt;br /&gt;
==System Commands==&lt;br /&gt;
{{:System Commands}}&lt;br /&gt;
&lt;br /&gt;
==System Variables and Functions==&lt;br /&gt;
{{System Variables}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Atop&amp;diff=3830</id>
		<title>Atop</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Atop&amp;diff=3830"/>
		<updated>2023-10-13T23:06:14Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Redirected page to Rank&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Rank]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Matrix_Inverse/Divide&amp;diff=3829</id>
		<title>Matrix Inverse/Divide</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Matrix_Inverse/Divide&amp;diff=3829"/>
		<updated>2023-10-08T14:58:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Caution:&#039;&#039;&#039; Be careful not to confuse this symbol, which is &amp;lt;apll&amp;gt;⌹&amp;lt;/apll&amp;gt;, with &amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt; which is [[Variant]].&lt;br /&gt;
&amp;lt;hr /&amp;gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←⌹R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the inverse of the right argument.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar, vector or matrix; otherwise signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric array of rank &amp;lt;apll&amp;gt;⍴⍴R&amp;lt;/apll&amp;gt;, and shape &amp;lt;apll&amp;gt;⌽⍴R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This feature implements matrix inversion on &#039;&#039;&#039;Boolean&#039;&#039;&#039;, &#039;&#039;&#039;integer&#039;&#039;&#039;, or &#039;&#039;&#039;floating point&#039;&#039;&#039; arguments using [http://www.gnu.org/software/gsl/manual/html_node/Singular-Value-Decomposition.html Singular Value Decomposition].  In particular, this means that any numeric array meeting the rank and shape requirements above is invertible.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Matrix inverse (&amp;lt;apll&amp;gt;⌹R&amp;lt;/apll&amp;gt;) and matrix division (&amp;lt;apll&amp;gt;L⌹R&amp;lt;/apll&amp;gt;) on &#039;&#039;&#039;Rational&#039;&#039;&#039;, &#039;&#039;&#039;VFP&#039;&#039;&#039;, or &#039;&#039;&#039;Ball&#039;&#039;&#039; arguments each have two limitations above and beyond that of normal conformability:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;for a &#039;&#039;&#039;square&#039;&#039;&#039; (&amp;lt;apll&amp;gt;=/⍴R&amp;lt;/apll&amp;gt;) right argument that it be non-singular, and&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;for an &#039;&#039;&#039;overdetermined&#039;&#039;&#039; (&amp;lt;apll&amp;gt;&amp;amp;gt;/⍴R&amp;lt;/apll&amp;gt;) or &#039;&#039;&#039;underdetermined&#039;&#039;&#039; (&amp;lt;apll&amp;gt;&amp;amp;lt;/⍴R&amp;lt;/apll&amp;gt;) right argument that the symmetric matrix &amp;lt;apll&amp;gt;(⍉R)+.×R&amp;lt;/apll&amp;gt; be non-singular.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;These limitations are due to the algorithm ([http://en.wikipedia.org/wiki/Gauss%E2%80%93Jordan_elimination Gauss-Jordan Elimination]) used to implement Matrix Inverse/Divide on Rational and VFP numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Overdetermined matrices are evaluated equivalently to the expression &amp;lt;apll&amp;gt;(⌹(⍉R)+.×R)+.×⍉R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Underdetermined matrices are evaluated equivalently to the expression &amp;lt;apll&amp;gt;(⍉R)+.×⌹R+.×⍉R&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      ⌹3 3{rho}0&lt;br /&gt;
 0 0 0&lt;br /&gt;
 0 0 0&lt;br /&gt;
 0 0 0&lt;br /&gt;
      ⌹3 3⍴1 2 3 4&lt;br /&gt;
¯0.1944444444   0.2777777778   0.02777777778&lt;br /&gt;
 0.05555555556 ¯0.2222222222   0.2777777778&lt;br /&gt;
 0.3611111111   0.05555555556 ¯0.1944444444&lt;br /&gt;
      ⌹3 3⍴1 2 3 4&amp;lt;pn&amp;gt;x&amp;lt;/pn&amp;gt;&lt;br /&gt;
¯7&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;36  5&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;18  1&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;36&lt;br /&gt;
 1&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;18 ¯2&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;9   5&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;18&lt;br /&gt;
13&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;36  1&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;18 ¯7&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;36&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Variations On Matrix Divide&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For variations on this function, see the [[Variant#Eigenvalues_and_Eigenvectors|Variant Operator]].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←L⌹R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns the quotient of the left and right arguments.  This quotient can be interpreted in various ways, such as the least squares solution of the system of linear equations determined by arguments.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; is a numeric scalar, vector or matrix; otherwise signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a numeric scalar, vector or matrix; otherwise signal a &amp;lt;apll&amp;gt;RANK ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;If either &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; or &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a scalar or vector, it is coerced to a matrix by &amp;lt;apll&amp;gt;(L R)←⍪{each}L R&amp;lt;/apll&amp;gt;.  After this coercion, if the two matrices have a different number of rows, signal a &amp;lt;apll&amp;gt;LENGTH ERROR&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is a numeric array.  Before the above coercion of &amp;lt;apll&amp;gt;L&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt;, the rank of &amp;lt;apll&amp;gt;Z&amp;lt;/apll&amp;gt; is &amp;lt;apll&amp;gt;¯2+2⌈(⍴⍴L)+⍴⍴R&amp;lt;/apll&amp;gt;, and the shape is &amp;lt;apll&amp;gt;(1↓⍴R),1↓⍴L&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This feature implements matrix division on &#039;&#039;&#039;Boolean&#039;&#039;&#039;, &#039;&#039;&#039;integer&#039;&#039;&#039; and &#039;&#039;&#039;floating point&#039;&#039;&#039; arguments using [http://www.gnu.org/software/gsl/manual/html_node/Singular-Value-Decomposition.html Singular Value Decomposition].  In particular, this means that any two numeric arrays meeting the rank and shape requirements above are divisible.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;As noted above, Matrix Division on &#039;&#039;&#039;Rational&#039;&#039;&#039;, &#039;&#039;&#039;VFP&#039;&#039;&#039;, or &#039;&#039;&#039;Ball&#039;&#039;&#039; arguments uses a different algorithm and has slightly more restrictive conformability requirements.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;for a &#039;&#039;&#039;square&#039;&#039;&#039; (&amp;lt;apll&amp;gt;=/⍴R&amp;lt;/apll&amp;gt;) right argument that it be non-singular, and&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;p&amp;gt;for an &#039;&#039;&#039;overdetermined&#039;&#039;&#039; (&amp;lt;apll&amp;gt;&amp;amp;gt;/⍴R&amp;lt;/apll&amp;gt;) or &#039;&#039;&#039;underdetermined&#039;&#039;&#039; (&amp;lt;apll&amp;gt;&amp;amp;lt;/⍴R&amp;lt;/apll&amp;gt;) right argument that the symmetric matrix &amp;lt;apll&amp;gt;(⍉R)+.×R&amp;lt;/apll&amp;gt; be non-singular.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Overdetermined matrices are evaluated equivalently to the expression &amp;lt;apll&amp;gt;(⌹(⍉R)+.×R)+.×(⍉R)+.×L&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Underdetermined matrices are evaluated equivalently to the expression &amp;lt;apll&amp;gt;(⍉R)+.×⌹R+.×(⍉R)+.×L&amp;lt;/apll&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;For example,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      a←3 3⍴0&lt;br /&gt;
      a⌹a&lt;br /&gt;
 0 0 0&lt;br /&gt;
 0 0 0&lt;br /&gt;
 0 0 0&lt;br /&gt;
      1 2 3⌹3 3⍴1 2 3 4&lt;br /&gt;
0.4444444444 0.4444444444 ¯0.1111111111&lt;br /&gt;
      1 2 3⌹3 3⍴1 2 3 4&amp;lt;pn&amp;gt;x&amp;lt;/pn&amp;gt;&lt;br /&gt;
4&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;9 4&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;9 ¯1&amp;lt;pn&amp;gt;r&amp;lt;/pn&amp;gt;9&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr width=35%&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;For several more everyday problem-solving examples using Matrix Inverse see also &#039;&#039;&#039;[[Symbol_Domino|Domino Symbol ⌹]]&#039;&#039;&#039;.&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;hr width=35%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Article footer|2|Matrix}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3828</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3828"/>
		<updated>2023-10-07T19:12:04Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Extra APL Glyphs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), &#039;&#039;&#039;SImPL&#039;&#039;&#039;, or &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here].  Normally font and file &#039;&#039;&#039;SimPL-Medium.ttf&#039;&#039;&#039; may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000 (32-bit program)&#039;&#039;&#039; and or &#039;&#039;&#039;C:\Program Files\NARS2000 (64-bit version)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If they still don&#039;t display correctly, [http://www.getfirefox.com/ download] FireFox.&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3827</id>
		<title>APL Font</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=APL_Font&amp;diff=3827"/>
		<updated>2023-10-07T19:10:56Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Extra APL Glyphs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Default Font==&lt;br /&gt;
&lt;br /&gt;
The default APL font for NARS2000 (its APL Interpreter session, function editing, screen display and printing purposes) and this wiki is &#039;&#039;&#039;SImPL medium&#039;&#039;&#039;(Unicode based), &#039;&#039;&#039;SImPL&#039;&#039;&#039;, or &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the APL characters in the articles don&#039;t display correctly, you may obtain a copy of the &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; font by downloading the current [http://www.nars2000.org/download/Download.html NARS2000 binary], or the &#039;&#039;&#039;SImPL&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/simpl02.zip here], or the &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039; font from [http://archive.vector.org.uk/resource/apl385.ttf here].  Normally font and file &#039;&#039;&#039;SimPL-Medium.ttf&#039;&#039;&#039; may  be found in your downloaded NARS2000 program folder, e.g. &#039;&#039;&#039;C:\Program Files (x86)\NARS2000 (32-bit program)&#039;&#039;&#039; and or &#039;&#039;&#039;C:\Program Files\NARS2000 (64-bit version)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If they still don&#039;t display correctly, [http://www.getfirefox.com/ download] FireFox.&lt;br /&gt;
&lt;br /&gt;
==Default Keyboard Layout==&lt;br /&gt;
&lt;br /&gt;
NARS2000 default APL keyboard layout, based on the SImPL medium font, is found &#039;&#039;&#039;[http://www.sudleyplace.com/APL/Keyboard.ahtml here]&#039;&#039;&#039;, on SudleyPlace.com.  Printing the keyboard layout and keeping it in front of you while using NARS2000 - provides a handy reference. Just as typists eventually memorize the QWERTY (oe AZERTY, etc.) keyboard layout, most APL&#039;ers quickly memorize APL keyboard layouts.  A &amp;lt;u&amp;gt;printed keyboard reference&amp;lt;/u&amp;gt; is good to &amp;lt;u&amp;gt;keep&amp;lt;/u&amp;gt; however, if only for some of the lesser used APL symbols.  Several frequently used APL symbols are &amp;lt;u&amp;gt;very easily keyboard-memorized&amp;lt;/u&amp;gt;: &#039;&#039;&#039;∊ (epsilon = Alt-e), ⍴ (rho = Alt-r), ∼ (tilde = Alt-t) and ⍳ (iota = Alt-i)&#039;&#039;&#039; since the beginning letter of the symbol is same-placed as its qwerty letter equivalent in the alphabet.  Also, all of the APL symbols may be found (and copied to the current session or function being edited) from the Language Bar at the top of the APL session window.  Cross ref. wiki page [[Keyboard|Keyboard and Language bar]].&lt;br /&gt;
&lt;br /&gt;
==Font Issues==&lt;br /&gt;
Even if you have an APL font installed, that may not be the end of the story. Each font designer decides what glyphs to display and for which characters. Also, some implementations of supposedly Unicode fonts don&#039;t always display the same glyphs in the same places or in the same way. The &#039;&#039;&#039;SimPL Medium&#039;&#039;&#039; font, which comes with NARS2000, will display some characters with different glyphs than are displayed by the font &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.  For example, these are the underlined letters A to Z, which are valid identifiers in APL: &amp;lt;u&amp;gt;A&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;B&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;C&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;D&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;E&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;F&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;G&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;H&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;I&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;J&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;K&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;L&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;N&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;O&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;P&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Q&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;R&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;S&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;T&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;U&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;V&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;W&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;X&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Y&amp;lt;/u&amp;gt; &amp;lt;u&amp;gt;Z&amp;lt;/u&amp;gt;. Now, to display these characters in &#039;&#039;APL385 Unicode&#039;&#039;, the characters use code positions 9398 through 9423, or 0x24B6 through 0x24CF, which show up as &amp;amp;#9398; &amp;amp;#9399; &amp;amp;#9400; &amp;amp;#9401; &amp;amp;#9402; &amp;amp;#9403; &amp;amp;#9404; &amp;amp;#9405; &amp;amp;#9406; &amp;amp;#9407; &amp;amp;#9408; &amp;amp;#9409; &amp;amp;#9410; &amp;amp;#9411; &amp;amp;#9412; &amp;amp;#9413; &amp;amp;#9414; &amp;amp;#9415; &amp;amp;#9416; &amp;amp;#9417; &amp;amp;#9418; &amp;amp;#9419; &amp;amp;#9420; &amp;amp;#9421; &amp;amp;#9422; &amp;amp;#9423;, which, while not the same, is very close.  When copying underlined APL characters to the clipboard, you may convert them to lowercase by first setting the user preference &amp;quot;Underbar alphabet converted to lowercase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The standard &#039;&#039;&#039;Arial&#039;&#039;&#039; font doesn&#039;t even have a built-in set of underlined characters, nor does SimPL. (Yet note some glyphs, as shown below, that are used by NARS2000, are not present in APL385.)&lt;br /&gt;
&lt;br /&gt;
Also, the settings for Unicode for APL symbols, which are listed as being 0x2300 - 0x23F3, do not necessarily appear - or appear the same - in all APL fonts.&lt;br /&gt;
&lt;br /&gt;
==Extra APL Glyphs==&lt;br /&gt;
&lt;br /&gt;
While any Unicode APL font will display all of the standard APL glyphs, NARS2000 uses (or has plans to use) some extra glyphs not found in all Unicode APL fonts such as&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Symbol&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Unicode&amp;lt;br /&amp;gt;Code Point&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Keystroke&lt;br /&gt;
! style=&amp;quot;border-bottom: solid black 1px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
||Section&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;lt;apll&amp;gt;§&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&amp;amp;ensp;167 or U+00A7 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; |&#039;&#039;&#039;Alt-t&#039;&#039;&#039;&lt;br /&gt;
| [[Multisets#Missing_Function|Multiset Symmetric Difference]]&lt;br /&gt;
|-&lt;br /&gt;
||Pi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;π&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;960 or U+03C0  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-p&#039;&#039;&#039;&lt;br /&gt;
|| [[Primes|Prime Decomposition and Number-theoretic]]&lt;br /&gt;
|-&lt;br /&gt;
||Chi&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;χ&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;ensp;967 or U+03C7&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-C&#039;&#039;&#039;&lt;br /&gt;
|| [[Anonymous Functions/Operators/Hyperators#Axis_Operator|Anonymous Functions/Operators/Hyperators]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Shriek&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8252 or U+203C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Combinatorial|Combinatorial Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Derivative&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∂&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8706 or U+2202&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-D&#039;&#039;&#039;&lt;br /&gt;
| [[Derivative]]&lt;br /&gt;
|-&lt;br /&gt;
||NaN&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;{nan}&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8709 or U+2205&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-5&#039;&#039;&#039;&lt;br /&gt;
||[[NaN|NaN]]&lt;br /&gt;
|-&lt;br /&gt;
||Root&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;√&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8730 or U+221A&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-R&#039;&#039;&#039;&lt;br /&gt;
|| [[Root|Square Root and Nth Root]]&lt;br /&gt;
|-&lt;br /&gt;
||Infinity&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;∞&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8734 or U+221E  &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-f&#039;&#039;&#039;&lt;br /&gt;
|| [[Infinity]]&lt;br /&gt;
|-&lt;br /&gt;
||Integral&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;&amp;lt;_sg/&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8747 or U+222B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-S&#039;&#039;&#039;&lt;br /&gt;
|| [[Integral]]&lt;br /&gt;
|-&lt;br /&gt;
||Double-Tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≈&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8776 or U+2248&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Q&#039;&#039;&#039;&lt;br /&gt;
|| [[Ball Arithmetic]]&lt;br /&gt;
|-&lt;br /&gt;
|| Mismatch&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;≢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8802 or U+2262 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-@&#039;&#039;&#039;&lt;br /&gt;
|| [[Mismatch]]&lt;br /&gt;
|-&lt;br /&gt;
||Left-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊆&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8838 or U+2286 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-Z&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Subset of]]&lt;br /&gt;
|-&lt;br /&gt;
|| Right-shoe-underbar&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊇&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8839 or U+2287 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-X&#039;&#039;&#039;&lt;br /&gt;
|| [[Sets|Superset of]]&lt;br /&gt;
|-&lt;br /&gt;
||Circle-middle-dot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⊙&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|8857 or U+2299 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-?&#039;&#039;&#039;&lt;br /&gt;
|| [[Null|Null operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-middle-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⌻&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9019 or U+233B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-F&#039;&#039;&#039;&lt;br /&gt;
|| [[Matrix|Matrix Operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Quad-colon&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍠&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9056 or U+2360 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-_&#039;&#039;&#039;&lt;br /&gt;
|| [[Variant|Variant operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-downtack&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍡&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9057 or U+2361 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-N&#039;&#039;&#039;&lt;br /&gt;
|| [[Convolution|Convolution operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-del&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍢&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9058 or U+2362 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-G&#039;&#039;&#039;&lt;br /&gt;
|| [[Dual|Dual operator&amp;lt;b&amp;gt;]]&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-star&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍣&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9059 or U+2363 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-P&#039;&#039;&#039;&lt;br /&gt;
|| [[Power|Power operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-jot&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍤&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9060 or U+2364 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-J&#039;&#039;&#039;&lt;br /&gt;
|| [[Rank|Rank operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-circle&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9061 or U+2365 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-O&#039;&#039;&#039;&lt;br /&gt;
|| [[Composition|Composition operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Down-shoe-stile&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍦&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9062 or U+2366 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-m&#039;&#039;&#039;&lt;br /&gt;
|| [[Multisets|Multiset operator]]&lt;br /&gt;
|-&lt;br /&gt;
||Dieresis-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍨&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9064 or U+2368 &lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-T&#039;&#039;&#039;&lt;br /&gt;
|| [[Commute-Duplicate|Commute/Duplicate operator]]&lt;br /&gt;
|-&lt;br /&gt;
|| Del-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍫&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9067 or U+236B&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-k&#039;&#039;&#039;&lt;br /&gt;
|| [[Commutator|Commutator operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Zilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍬&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9068 or U+236C&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-}&#039;&#039;&#039;&lt;br /&gt;
|| Empty simple numeric vector&lt;br /&gt;
|-&lt;br /&gt;
|| Stile-tilde&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;⍭&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|9069 or U+236D&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&#039;&#039;&#039;Alt-M&#039;&#039;&#039;&lt;br /&gt;
|| [[Partition|Partition operator]]&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Line Continuation&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;lt;apll&amp;gt;➥&amp;lt;/apll&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|10149 or U+27A5&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Shift-Enter&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|| [[Session_Manager_Editing|Line Continuation Marker]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;dagger;&amp;lt;/b&amp;gt; = Not currently implemented.&lt;br /&gt;
&lt;br /&gt;
All but the Integral and Line Continuation symbols may be found in &#039;&#039;&#039;SImPL medium&#039;&#039;&#039; and all but the NaN, Derivative, Null, and Line Continuation symbols in &#039;&#039;&#039;APL385 Unicode&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.nars2000.org/index.php?title=Combinatorial&amp;diff=3826</id>
		<title>Combinatorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.nars2000.org/index.php?title=Combinatorial&amp;diff=3826"/>
		<updated>2023-09-15T14:27:10Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;apll&amp;gt;Z←a‼R&amp;lt;/apll&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;returns an array whose values depend upon which Combinatorial Function is chosen by the left operand &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; is a non-negative numeric scalar or one- or two-element vector.  If &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; has only one element, it is treated as if the value were duplicated as in &amp;lt;apll&amp;gt;2⍴R&amp;lt;/apll&amp;gt;.  For convenience in the description below, the two elements are referred to as &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; as in &amp;lt;apll&amp;gt;(M N)←2⍴R&amp;lt;/apll&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; is a non-negative numeric scalar or one- or two- element vector which serves as the &#039;&#039;&#039;Selector&#039;&#039;&#039; for the Twelve Combinatorial Functions.&lt;br /&gt;
&lt;br /&gt;
The first element (&#039;&#039;&#039;Function Selector&#039;&#039;&#039;) in &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; is a non-negative integer for each of the Twelve functions (where the number is written here as a decimal number with three digits to emphasize that each digit has a [[#The_Twelvefold_Way|separate meaning]]):&amp;lt;br /&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; rules=&amp;quot;none&amp;quot; summary=&amp;quot;&amp;quot; style=&amp;quot;margin-left: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase000/100|&amp;lt;apll&amp;gt;000&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase000/100|&amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Pigeons in &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; holes]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase001|&amp;lt;apll&amp;gt;001&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase001|Partitions of the number &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; into no more than &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; parts]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase002|&amp;lt;apll&amp;gt;002&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase002|Partitions of the number &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; into &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; parts]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase010|&amp;lt;apll&amp;gt;010&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase010|&amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Combinations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase011|&amp;lt;apll&amp;gt;011&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase011|&amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Multisets of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;[[CombinatorialCase012|&amp;lt;apll&amp;gt;012&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase012|Compositions of the number &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; into &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; parts]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;a.k.a. Partitions of the number &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; into &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; ordered parts&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase000/100|&amp;lt;apll&amp;gt;100&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase000/100|&amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Pigeons in &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; holes]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase101|&amp;lt;apll&amp;gt;101&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase101|Partitions of the set &amp;lt;apll&amp;gt;{⍳M}&amp;lt;/apll&amp;gt; into no more than &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; parts]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase102|&amp;lt;apll&amp;gt;102&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase102|Partitions of the set &amp;lt;apll&amp;gt;{⍳M}&amp;lt;/apll&amp;gt; into &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; parts]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase110|&amp;lt;apll&amp;gt;110&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase110|&amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Permutations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase111|&amp;lt;apll&amp;gt;111&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase111|&amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Tuples of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;[[CombinatorialCase112|&amp;lt;apll&amp;gt;112&amp;lt;/apll&amp;gt;]]&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[CombinatorialCase112|Partitions of the set &amp;lt;apll&amp;gt;{⍳M}&amp;lt;/apll&amp;gt; into &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; ordered parts]]&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The second element (&#039;&#039;&#039;Count/Generate Flag&#039;&#039;&#039;) in &amp;lt;apll&amp;gt;a&amp;lt;/apll&amp;gt; is an optional Integer value where &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; (the default) means &#039;&#039;&#039;Count&#039;&#039;&#039; the number of elements in the Combinatorial Function as applied to &amp;lt;apll&amp;gt;R&amp;lt;/apll&amp;gt; and values greater than &amp;lt;apll&amp;gt;0&amp;lt;/apll&amp;gt; mean &#039;&#039;&#039;generate&#039;&#039;&#039; the array of elements.  If the &#039;&#039;&#039;Generate Flag&#039;&#039;&#039; is &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;, generate the array in an unspecified order.  Certain Function Selectors (see the individual Combinatorial Functions) accept values greater than &amp;lt;apll&amp;gt;1&amp;lt;/apll&amp;gt;.  In particular, the value &amp;lt;apll&amp;gt;2&amp;lt;/apll&amp;gt; generates the array in [https://en.wikipedia.org/wiki/Lexicographical_order &#039;&#039;&#039;Lexicographic&#039;&#039;&#039;] order, and &amp;lt;apll&amp;gt;3&amp;lt;/apll&amp;gt; generates the array in [https://en.wikipedia.org/wiki/Gray_code &#039;&#039;&#039;Gray Code&#039;&#039;&#039;] order.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;The symbol &amp;lt;apll&amp;gt;‼&amp;lt;/apll&amp;gt; (U+203C) can be entered from the default keyboard layout with Alt-’k’ or Ctrl-’k’, depending upon your choice of keyboard layouts.&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Counting and generating items is fundamental in mathematics, but has been sorely lacking in APL (notwithstanding the counting functions &amp;lt;apll&amp;gt;!N&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;M!N&amp;lt;/apll&amp;gt;); instead we have had to rely upon a patchwork of various library routines.&lt;br /&gt;
&lt;br /&gt;
Moreover, most APL papers on the topic have focused on the implementation of the algorithms rather than their organization and syntax mostly because, at the time, there was no unifying concept nor common syntax.&lt;br /&gt;
&lt;br /&gt;
The main purpose of this document is to present in APL a unified organizing principle to classify and access various Combinatorial Algorithms.&lt;br /&gt;
&lt;br /&gt;
A secondary purpose is to shed light on the relationships between the various algorithms through a new perspective provided by Gian-Carlo Rota&amp;lt;ref name=&amp;quot;Rota&amp;quot;&amp;gt;Rota, Gian-Carlo [https://en.wikipedia.org/wiki/Gian-Carlo_Rota]&amp;lt;/ref&amp;gt;’s clever way to fit them into a single organizational framework.&lt;br /&gt;
&lt;br /&gt;
The goal of this document is to describe a single APL primitive to both &#039;&#039;&#039;Count&#039;&#039;&#039; and &#039;&#039;&#039;Generate&#039;&#039;&#039; various &#039;&#039;&#039;Combinatorial Arrays&#039;&#039;&#039;:  permutations, combinations, compositions, partitions, etc.  The unifying (and very APL-like) principle for such a primitive is Gian-Carlo Rota&#039;s Twelvefold Way&amp;lt;ref name=&amp;quot;WikipediaTFW&amp;quot; /&amp;gt; as described in Richard Stanley&#039;s &amp;quot;Enumerative Combinatorics&amp;quot;&amp;lt;ref name=&amp;quot;Stanley&amp;quot; /&amp;gt; and Knuth’s TAoCP, Vol. 4A&amp;lt;ref name=&amp;quot;Knuth&amp;quot;&amp;gt;Knuth, Donald E., “The Art of Computer Programming”, Volume 4A, Combinatorial Algorithms, p. 390, Addison Wesley, ISBN 0-201-89685-0&amp;lt;/ref&amp;gt; among other references.&lt;br /&gt;
&lt;br /&gt;
==The Twelvefold Way==&lt;br /&gt;
&lt;br /&gt;
This elegant notion consolidates twelve Combinatorial Algorithms into a single &amp;lt;apll&amp;gt;2×2×3&amp;lt;/apll&amp;gt; array based on the simple concept of placing balls into boxes (urns, to you old-timers). The three dimensions of the array can be described as follows:&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;Balls&#039;&#039;&#039; may be labeled (or not) {2 ways},&lt;br /&gt;
* The &#039;&#039;&#039;Boxes&#039;&#039;&#039; may be labeled (or not) {2 ways}, and&lt;br /&gt;
* The &#039;&#039;&#039;Capacity&#039;&#039;&#039; of Balls in a Box may be one of (at most one | unrestricted | at least one) {3 ways}.&lt;br /&gt;
&lt;br /&gt;
Amazingly, these twelve choices spanning three dimensions knit together within a single concept (balls in boxes) all of the following interesting, fundamental, and previously disparate and disorganized Combinatorial Algorithms:&lt;br /&gt;
&lt;br /&gt;
* Permutations&lt;br /&gt;
* Combinations&lt;br /&gt;
* Compositions&lt;br /&gt;
* Multisets&lt;br /&gt;
* Partitions of a set&lt;br /&gt;
* Partitions of a number&lt;br /&gt;
* Tuples&lt;br /&gt;
* Pigeon Holes&lt;br /&gt;
&lt;br /&gt;
As mentioned above, although the first element of the Function Selector is an integer, it is written here with three digits to emphasize that each digit has a separate meaning.  Those meanings are exactly related to the &amp;lt;apll&amp;gt;2×2×3&amp;lt;/apll&amp;gt; array mentioned above.&lt;br /&gt;
&lt;br /&gt;
* The first digit represents the &#039;&#039;&#039;Balls&#039;&#039;&#039; as Unlabeled (0) or Labeled (1)&lt;br /&gt;
* The second digit represents the &#039;&#039;&#039;Boxes&#039;&#039;&#039; as Unlabeled (0) or Labeled (1)&lt;br /&gt;
* The third digit represents the &#039;&#039;&#039;Capacity&#039;&#039;&#039; of Balls in a Box as one of &#039;&#039;&#039;At most One&#039;&#039;&#039; (0), &#039;&#039;&#039;Unrestricted&#039;&#039;&#039; (1), or &#039;&#039;&#039;At Least One&#039;&#039;&#039; (2).&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A function selector of [[CombinatorialCase010|&amp;lt;apll&amp;gt;010&amp;lt;/apll&amp;gt;]] means unlabeled balls (0), labeled boxes (1), and at most one ball per box (0).&lt;br /&gt;
&lt;br /&gt;
If we have 2 unlabeled balls (&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●●&amp;lt;/span&amp;gt;) and 4 labeled boxes (&amp;lt;apll&amp;gt;1234&amp;lt;/apll&amp;gt;) with at most one ball per box, there are &amp;lt;apll&amp;gt;6&amp;lt;/apll&amp;gt; (&amp;lt;apll&amp;gt;↔ 2!4&amp;lt;/apll&amp;gt;) ways to meet these criteria:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|4&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;vertical-align: text-bottom;&amp;quot; | &#039;&#039;&#039;&amp;amp;#x21D0; Box Contents&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: text-bottom;&amp;quot; | &#039;&#039;&#039;&amp;amp;#x21D0; Box Labels&#039;&#039;&#039; (blank = &#039;&#039;&#039;Unlabeled&#039;&#039;&#039;)&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
from which it is easy to see that these criteria correspond to &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; combinations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items (&amp;lt;apll&amp;gt;↔ M!N&amp;lt;/apll&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: yellow; padding-left: 1.3em; text-indent: -1.3em;&amp;quot;&amp;gt;► Notice how we obtain the generated answer as a &amp;lt;apll&amp;gt;6×M&amp;lt;/apll&amp;gt; matrix.  In this example, it is obtained by reading the Box Labels in ascending order (&amp;lt;apll&amp;gt;6 M⍴1 2, 1 3, 1 4, 2 3, 2 4, 3 4&amp;lt;/apll&amp;gt;).  Also note that because each individual Combination is always written in ascending order, that explains why the Function Selector uses &#039;&#039;&#039;Unlabeled Balls&#039;&#039;&#039; and &#039;&#039;&#039;Labeled Boxes&#039;&#039;&#039; with &#039;&#039;&#039;At Most One Ball per Box&#039;&#039;&#039;.  That is, the use of Unlabeled Balls forces us to read in ascending order the labels on the Labeled Boxes; because there are &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Balls and At Most One Ball Per Box we are assured of obtaining exactly &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; box labels per row.&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A function selector of [[CombinatorialCase110|&amp;lt;apll&amp;gt;110&amp;lt;/apll&amp;gt;]] means labeled balls (1), labeled boxes (1), and at most one ball in each box (0).&lt;br /&gt;
&lt;br /&gt;
If we have 3 labeled balls (❶❷❸) and 3 labeled boxes (&amp;lt;apll&amp;gt;123&amp;lt;/apll&amp;gt;) with at most one ball per box, there are 6 (&amp;lt;apll&amp;gt;↔ !⍠¯3   3 ↔ 3×2×1&amp;lt;/apll&amp;gt;) ways to meet these criteria:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❶&lt;br /&gt;
|❷&lt;br /&gt;
|❸&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❷&lt;br /&gt;
|❶&lt;br /&gt;
|❸&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❷&lt;br /&gt;
|❸&lt;br /&gt;
|❶&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❶&lt;br /&gt;
|❸&lt;br /&gt;
|❷&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❸&lt;br /&gt;
|❶&lt;br /&gt;
|❷&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❸&lt;br /&gt;
|❷&lt;br /&gt;
|❶&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If we have 2 labeled balls (❶❷) and 3 labeled boxes (&amp;lt;apll&amp;gt;123&amp;lt;/apll&amp;gt;) with at most one ball per box, there are 6 (&amp;lt;apll&amp;gt;↔ !⍠¯2   3 ↔ 3×2&amp;lt;/apll&amp;gt;) ways to meet these criteria:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❶&lt;br /&gt;
|❷&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|❷&lt;br /&gt;
|❶&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❷&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|❶&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|❶&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|❷&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|❶&lt;br /&gt;
|❷&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|❷&lt;br /&gt;
|❶&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|1&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|2&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|3&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
from which it is easy to see that these criteria correspond to &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; permutations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items.  When &amp;lt;apll&amp;gt;M=N&amp;lt;/apll&amp;gt;, this is the # permutations of &amp;lt;apll&amp;gt;⍳N&amp;lt;/apll&amp;gt;, (&amp;lt;apll&amp;gt;↔ !N&amp;lt;/apll&amp;gt;), and when &amp;lt;apll&amp;gt;M&amp;amp;lt;N&amp;lt;/apll&amp;gt;, this is the # &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt;-permutations, also called the [[Variant#Rising_and_Falling_Factorials|Falling Factorial]] (&amp;lt;apll&amp;gt;!⍠((-M) N)&amp;lt;/apll&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: yellow; padding-left: 1.3em; text-indent: -1.3em;&amp;quot;&amp;gt;► Notice how we obtain the generated answer as a &amp;lt;apll&amp;gt;6×M&amp;lt;/apll&amp;gt; matrix differently from the Combinations example. In the two Permutations examples, it is obtained by reading the Box Labels in ascending order of the Ball Labels.  For the first Permutations example (with &amp;lt;apll&amp;gt;M=3&amp;lt;/apll&amp;gt;), the generated answer is &amp;lt;apll&amp;gt;6 M⍴1 2 3, 2 1 3, 3 1 2, 1 3 2, 2 3 1, 3 2 1&amp;lt;/apll&amp;gt;, and for the second one (with &amp;lt;apll&amp;gt;M=2&amp;lt;/apll&amp;gt;), it is &amp;lt;apll&amp;gt;6 M⍴1 2, 2 1, 3 1, 1 3, 2 3, 3 2&amp;lt;/apll&amp;gt;.  It is common to need a different method of generating the answer for many of these Combinatorial Algorithms.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a side note, the above examples reveal one of the many insights the Twelvefold Way provides into Combinatorial Algorithms.  Previously, you might not have seen any connection between the algorithms for Combinations and Permutations, but, as the above examples show, they are closely related in that they differ only in the use of labeled (1) vs. unlabeled (0) balls; both algorithms use labeled boxes (1) with at most one ball per box (0).&lt;br /&gt;
&lt;br /&gt;
==Labeled vs. Unlabeled==&lt;br /&gt;
&lt;br /&gt;
===Boxes===&lt;br /&gt;
&lt;br /&gt;
For most cases, the boxes are the columns of the result. Two or more &#039;&#039;&#039;labeled&#039;&#039;&#039; boxes may hold identical content, but because the boxes are labeled, they are considered distinct. On the other hand, &#039;&#039;&#039;unlabeled&#039;&#039;&#039; boxes with identical content are indistinguishable.  For example, the following (partial) configurations of 3 unlabeled balls (&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●●●&amp;lt;/span&amp;gt;) in 3 unlabeled boxes&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-size: 2em;&amp;quot;&amp;gt;●&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
are all considered equivalent and are counted only once because the boxes are unlabeled.&lt;br /&gt;
&lt;br /&gt;
Similarly, the following (partial) configurations of 3 labeled balls (❶❷❸) in 2 unlabeled boxes&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❶&amp;lt;br /&amp;gt;❷&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❸&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❸&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❶&amp;lt;br /&amp;gt;❷&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❷&amp;lt;br /&amp;gt;❶&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❸&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❸&lt;br /&gt;
| valign=&amp;quot;bottom&amp;quot;|❷&amp;lt;br /&amp;gt;❶&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
are also all considered equivalent and are counted only once, again because the boxes are unlabeled.&lt;br /&gt;
&lt;br /&gt;
Note that the order of the (labeled) balls within a box is ignored which means that even if the boxes were labeled, the first and third configurations above are equivalent, as are the second and fourth.&lt;br /&gt;
&lt;br /&gt;
===Balls===&lt;br /&gt;
&lt;br /&gt;
In a similar manner, the counts and generations for combinations ([[CombinatorialCase010|&amp;lt;apll&amp;gt;010&amp;lt;/apll&amp;gt;]]) and permutations ([[CombinatorialCase110|&amp;lt;apll&amp;gt;110&amp;lt;/apll&amp;gt;]]) differ by a factor of &amp;lt;apll&amp;gt;!M&amp;lt;/apll&amp;gt;, this time because of the balls:  one is unlabeled and the other labeled.  That is, the count for &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; combinations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items is&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;M!N ↔ (!N)÷(!N-M)×!M&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the count for &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; permutations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items is&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;!⍠((-M) N) ↔ (!N)÷!N-M&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course, when &amp;lt;apll&amp;gt;M=N&amp;lt;/apll&amp;gt;, the permutation count is the familiar &amp;lt;apll&amp;gt;!N&amp;lt;/apll&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==The Functions==&lt;br /&gt;
&lt;br /&gt;
The array of functions can be displayed as follows in a table organized by the Function Selector:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;padding: 1em;&amp;quot; width=&amp;quot;20%&amp;quot;|&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;FS Table&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;border-bottom:1px solid; padding: 1em;&amp;quot; width=&amp;quot;65%&amp;quot;|&#039;&#039;&#039;Balls Per Box&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|&#039;&#039;&#039;At Most One&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|&#039;&#039;&#039;xx0&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|&#039;&#039;&#039;Unrestricted&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|&#039;&#039;&#039;xx1&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|&#039;&#039;&#039;At least One&#039;&#039;&#039;&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|&#039;&#039;&#039;xx2&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot; |M unlabeled balls&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;|&#039;&#039;&#039;00x&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|N unlabeled boxes&lt;br /&gt;
|}&lt;br /&gt;
|[[CombinatorialCase000/100|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M pigeons&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|000&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into N holes&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase001|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|partitions of M&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|001&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into ≤N parts&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase002|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|partitions of M&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|002&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into N parts&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M unlabeled balls&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|&#039;&#039;&#039;01x&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|N labeled boxes&lt;br /&gt;
|}&lt;br /&gt;
|[[CombinatorialCase010|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M-combinations&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|010&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|of N items&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase011|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M-multisets&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|011&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|of N items&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase012|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|compositions of M&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|012&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into N parts&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M labeled balls&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|&#039;&#039;&#039;10x&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|N unlabeled boxes&lt;br /&gt;
|}&lt;br /&gt;
|[[CombinatorialCase000/100|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M pigeons&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|100&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into N holes&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase101|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|partitions&amp;amp;nbsp;of&amp;amp;nbsp;&amp;lt;apll&amp;gt;{⍳M}&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|101&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into ≤N parts&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase102|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|partitions&amp;amp;nbsp;of&amp;amp;nbsp;&amp;lt;apll&amp;gt;{⍳M}&amp;lt;/apll&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|102&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into N parts&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M labeled balls&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|&#039;&#039;&#039;11x&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|N labeled boxes&lt;br /&gt;
|}&lt;br /&gt;
|[[CombinatorialCase110|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M-permutations&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|110&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|of N items&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase111|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|M-tuples&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|111&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|of N items&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|[[CombinatorialCase112|&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;lightblue&amp;quot; style=&amp;quot;padding: 0 5px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: left;&amp;quot;|partitions&amp;amp;nbsp;of&amp;amp;nbsp;&amp;lt;apll&amp;gt;{⍳M}&amp;lt;/apll&amp;gt;&lt;br /&gt;
|style=&amp;quot;text-align: right;&amp;quot;|112&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|into N ordered parts&lt;br /&gt;
|}&lt;br /&gt;
]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Click on one of the above &amp;lt;span style=&amp;quot;background:lightblue;&amp;quot;&amp;gt;colored&amp;lt;/span&amp;gt; cells to see more detail on that function.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: yellow; padding-left: 1.3em; text-indent: -1.3em;&amp;quot;&amp;gt;► Almost without exception, the counts for these functions grow quite rapidly as the arguments increase (hence the term [https://en.wikipedia.org/wiki/Combinatorial_explosion &#039;&#039;&#039;Combinatorial Explosion&#039;&#039;&#039;]).  It&#039;s a good idea to check the &#039;&#039;&#039;Count&#039;&#039;&#039; value before trying to &#039;&#039;&#039;Generate&#039;&#039;&#039; the corresponding array.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expression &amp;lt;apll&amp;gt;110‼M N&amp;lt;/apll&amp;gt; produces &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Permutations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items.  When &amp;lt;apll&amp;gt;M=N&amp;lt;/apll&amp;gt;, it represents the usual Permutation function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      110‼3     ⍝ Count the !3 Permutations&lt;br /&gt;
6&lt;br /&gt;
      110 1‼3   ⍝ Generate the !3 Permutations&lt;br /&gt;
1 2 3&lt;br /&gt;
1 3 2&lt;br /&gt;
3 1 2&lt;br /&gt;
3 2 1&lt;br /&gt;
2 3 1&lt;br /&gt;
2 1 3&lt;br /&gt;
      110 2‼3 ⍝ Generate the !3 Permutations in Lexicographic order&lt;br /&gt;
1 2 3&lt;br /&gt;
1 3 2&lt;br /&gt;
2 1 3&lt;br /&gt;
2 3 1&lt;br /&gt;
3 1 2&lt;br /&gt;
3 2 1&lt;br /&gt;
      110 1‼2 3 ⍝ Generate the 2 Permutations of 3 items&lt;br /&gt;
1 2&lt;br /&gt;
2 1&lt;br /&gt;
1 3&lt;br /&gt;
3 1&lt;br /&gt;
2 3&lt;br /&gt;
3 2&lt;br /&gt;
      perm←{110 1‼⍵} ⍝ Permutation function&lt;br /&gt;
      perm 3&lt;br /&gt;
1 2 3&lt;br /&gt;
1 3 2&lt;br /&gt;
3 1 2&lt;br /&gt;
3 2 1&lt;br /&gt;
2 3 1&lt;br /&gt;
2 1 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expression &amp;lt;apll&amp;gt;10‼M N&amp;lt;/apll&amp;gt; produces &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Combinations of &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; items.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      comb←{10 1‼⍺ ⍵} ⍝ Combinations function&lt;br /&gt;
      3 comb 5&lt;br /&gt;
1 2 3&lt;br /&gt;
1 2 4&lt;br /&gt;
1 3 4&lt;br /&gt;
2 3 4&lt;br /&gt;
1 2 5&lt;br /&gt;
1 3 5&lt;br /&gt;
2 3 5&lt;br /&gt;
1 4 5&lt;br /&gt;
2 4 5&lt;br /&gt;
3 4 5&lt;br /&gt;
      10 2‼3 5 ⍝ Combinations in Lexicographic order&lt;br /&gt;
1 2 3&lt;br /&gt;
1 2 4&lt;br /&gt;
1 2 5&lt;br /&gt;
1 3 4&lt;br /&gt;
1 3 5&lt;br /&gt;
1 4 5&lt;br /&gt;
2 3 4&lt;br /&gt;
2 3 5&lt;br /&gt;
2 4 5&lt;br /&gt;
3 4 5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expression &amp;lt;apll&amp;gt;1‼M N&amp;lt;/apll&amp;gt; produces Partitions of &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; into at most &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; parts (as a nested array).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
      1‼7 3&lt;br /&gt;
8&lt;br /&gt;
      ⍪1 1‼7 3&lt;br /&gt;
 7     &lt;br /&gt;
 6 1   &lt;br /&gt;
 5 2   &lt;br /&gt;
 5 1 1 &lt;br /&gt;
 4 3   &lt;br /&gt;
 4 2 1 &lt;br /&gt;
 3 3 1 &lt;br /&gt;
 3 2 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have seen the movie [http://www.imdb.com/title/tt0787524/ “The Man Who Knew Infinity” (2015)] (about the life and academic career of the brilliant Indian mathematician Srinivasa Ramanujan), you may recall that at one point it focuses on the problem of calculating p(200) &amp;amp;mdash; the number of Partitions of the number 200 into at most 200 parts. This number can be calculated by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;      1‼200&lt;br /&gt;
3972999029388&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in a few hundred-thousandths of a second.&lt;br /&gt;
&lt;br /&gt;
==Special Cases==&lt;br /&gt;
&lt;br /&gt;
The problem of counting [[CombinatorialCase001|Partitions of &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Into At Most &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; Parts]] has been well studied.  As alluded to above, the brilliantly intuitive Indian mathematician [https://en.wikipedia.org/wiki/Srinivasa_Ramanujan Srinivasa Ramanujan] along with [https://en.wikipedia.org/wiki/G._H._Hardy G. H. Hardy] and [https://en.wikipedia.org/wiki/Hans_Rademacher Hans Rademacher] have provided a convergent series which can produce an exact value for this number.  Fortunately, this algorithm (referred to as [https://en.wikipedia.org/wiki/Partition_(number_theory)#Approximation_formulas Hardy-Ramanujan-Rademacher] or HRR) has been coded by Frederik Johansson&amp;lt;ref name=&amp;quot;Johansson&amp;quot;&amp;gt;Johansson, F. (2012). Efficient implementation of the Hardy–Ramanujan–Rademacher formula. LMS Journal of Computation and Mathematics, 15, 341-359. doi:10.1112/S1461157012001088&amp;lt;/ref&amp;gt; using the open source library [http://mpfr.org MPFR] (Multiple Precision Floating Point) and is available in the open source library [http://flintlib.org FLINT] (Fast Library for Number Theory).  This code is used for the function &amp;lt;apll&amp;gt;1‼M&amp;lt;/apll&amp;gt; when &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; is in the range &amp;lt;apll&amp;gt;395 &amp;amp;lt; M &amp;amp;lt; 2&amp;lt;sup&amp;gt;31&amp;lt;/sup&amp;gt;&amp;lt;/apll&amp;gt; on the 32-bit version of NARS2000, and in the range &amp;lt;apll&amp;gt;395 &amp;amp;lt; M &amp;amp;lt; 2&amp;lt;sup&amp;gt;63&amp;lt;/sup&amp;gt;&amp;lt;/apll&amp;gt; on the 64-bit version.  The code is so efficient that it can calculate &amp;lt;apll&amp;gt;1‼1E12&amp;lt;/apll&amp;gt; in under a minute (on a 64-bit machine only!).  However, if you try this, be sure to assign the result to a variable as otherwise it will display a number with &amp;lt;apll&amp;gt;1,113,996&amp;lt;/apll&amp;gt; digits!&lt;br /&gt;
&lt;br /&gt;
Correspondingly, because partitions of &amp;lt;apll&amp;gt;M&amp;lt;/apll&amp;gt; into &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; non-negative parts ([[CombinatorialCase001|&amp;lt;apll&amp;gt;001&amp;lt;/apll&amp;gt;]]) is the same as partitions of &amp;lt;apll&amp;gt;N+M&amp;lt;/apll&amp;gt; into &amp;lt;apll&amp;gt;N&amp;lt;/apll&amp;gt; positive parts ([[CombinatorialCase002|&amp;lt;apll&amp;gt;002&amp;lt;/apll&amp;gt;]]), (i.e., &amp;lt;apll&amp;gt;1‼M N ←→ 2‼(M+N) N&amp;lt;/apll&amp;gt;&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Twelvefold_way#case_fnx&amp;lt;/ref&amp;gt;), the case of &amp;lt;apll&amp;gt;2‼(2×M) M&amp;lt;/apll&amp;gt; also takes advantage of the fast algorithm.&lt;br /&gt;
&lt;br /&gt;
==Memoization==&lt;br /&gt;
&lt;br /&gt;
This [https://en.wikipedia.org/wiki/Memoization technique] is a form of caching used to speed up certain algorithms, particularly recursive ones.&lt;br /&gt;
&lt;br /&gt;
Two of the Combinatorial Functions ([[CombinatorialCase001|&amp;lt;apll&amp;gt;001&amp;lt;/apll&amp;gt;]] and [[CombinatorialCase002|&amp;lt;apll&amp;gt;002&amp;lt;/apll&amp;gt;]]) are dependent on the following recurrence relation for [https://en.wikipedia.org/wiki/Partition_(number_theory) Partition Numbers] defined on integer &amp;lt;apll&amp;gt;n&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;k&amp;lt;/apll&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;P(0,0) = 1&lt;br /&gt;
P(n,k) = 0				for n≤0 or k≤0&lt;br /&gt;
P(n,k) = P(n-k,k) + P(n-1,k-1)&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Within a session of the interpreter, these values are cached internally so that subsequent requests for already calculated Partition Numbers are sped up significantly.&lt;br /&gt;
&lt;br /&gt;
Three other Combinatorial Functions ([[CombinatorialCase101|&amp;lt;apll&amp;gt;101&amp;lt;/apll&amp;gt;]], [[CombinatorialCase102|&amp;lt;apll&amp;gt;102&amp;lt;/apll&amp;gt;]], and [[CombinatorialCase112|&amp;lt;apll&amp;gt;112&amp;lt;/apll&amp;gt;]]) are dependent on the [https://en.wikipedia.org/wiki/Stirling_numbers_of_the_second_kind Stirling numbers of the 2nd kind]. They satisfy the following recurrence relation defined on integer &amp;lt;apll&amp;gt;n≥0&amp;lt;/apll&amp;gt; and &amp;lt;apll&amp;gt;k≥0&amp;lt;/apll&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
S(0,0) = 1&lt;br /&gt;
S(0,n) = S(n,0) = 0			for n&amp;gt;0&lt;br /&gt;
S(n,k) = k × S(n-1,k) + S(n-1,k-1)&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These numbers are also cached internally by the interpreter so as to speed up subsequent access.&lt;br /&gt;
&lt;br /&gt;
In case you need to clear the cache so as to time the internal algorithms starting with an empty cache, use the expression&lt;br /&gt;
&lt;br /&gt;
&amp;lt;apll&amp;gt;&amp;lt;pre&amp;gt;      ∘‼1&lt;br /&gt;
Cache cleared&amp;lt;/pre&amp;gt;&amp;lt;/apll&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this expression does not clear certain caching internal to the above HRR algorithm in FLINT.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The idea of consolidating these twelve algorithms into a single primitive is credited to Gian-Carlo Rota through a series of lectures given at the Massachusetts Institute of Technology (MIT).  The mathematics behind the Twelvefold Way is described in several places, most notably in Richard Stanley&#039;s Enumerative Combinatorics&amp;lt;ref name=&amp;quot;Stanley&amp;quot;&amp;gt;Stanley, Richard P. (1997, 1999). Enumerative Combinatorics, Volumes 1 and 2. Cambridge University Press. ISBN 0-521-55309-1, ISBN 0-521-56069-1&amp;lt;/ref&amp;gt;, and Wikipedia&amp;lt;ref name=&amp;quot;WikipediaTFW&amp;quot;&amp;gt;Wikipedia [https://en.wikipedia.org/wiki/Twelvefold_way &amp;quot;Twelvefold Way&amp;quot;]&amp;lt;/ref&amp;gt;.  The name was suggested by Joel Spencer&amp;lt;ref name=&amp;quot;Spencer&amp;quot;&amp;gt;[https://en.wikipedia.org/wiki/Joel_Spencer Joel Spencer]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
This Combinatorial Operator is implemented in the Released version of NARS2000 and may be downloaded from [http://www.nars2000.org/download/Download.html here].  For an in-depth look at the Twelvefold Way and its implementation in APL, see Smith&#039;s&amp;lt;ref name=&amp;quot;Smith&amp;quot;&amp;gt;Smith, Bob [http://www.sudleyplace.com/APL/A%20Combinatorial%20Operator%20in%20APL.pdf &amp;quot;A Combinatorial Operator&amp;quot;], 2016-2017&amp;lt;/ref&amp;gt; paper.&lt;br /&gt;
&lt;br /&gt;
==Conclusions==&lt;br /&gt;
&lt;br /&gt;
* Rota’s amazing Twelvefold Way of consolidating numerous Combinatorial Algorithms through the unifying concept of Balls in Boxes into a single organizational framework is presented and each algorithm is discussed in detail with examples.&lt;br /&gt;
* This organizational framework is ideally suited for implementation in APL for both counting and generation by referencing the individual algorithms using a function selector as the (left) operand to a new monadic primitive operator.&lt;br /&gt;
* Insight into these Combinatorial Algorithms is gained when viewed from the perspective of the Twelvefold Way.  To wit:&lt;br /&gt;
** The relationships among the algorithms is made clearer when comparing their APL versions, especially through identities&amp;lt;ref name=&amp;quot;Smith&amp;quot; /&amp;gt;.&lt;br /&gt;
** The algorithms are shown to have considerable dependence amongst themselves as shown through APL identities&amp;lt;ref name=&amp;quot;Smith&amp;quot; /&amp;gt;.&lt;br /&gt;
** Interesting similarities within the function selector table are identified and are worthy of further investigation&amp;lt;ref name=&amp;quot;Smith&amp;quot; /&amp;gt;.&lt;br /&gt;
* Thanks to the work of D. E. Knuth in his TAoCP Vol 4A, each of the twelve ways has a high quality algorithm behind it&amp;lt;ref name=&amp;quot;Smith&amp;quot; /&amp;gt;.&lt;br /&gt;
* Finally, APL programmers need no longer search for the fastest APL program to generate any of several Combinatorial Counts or Generations as the fastest way is now available primitively.&lt;br /&gt;
&lt;br /&gt;
==Acknowledgments==&lt;br /&gt;
&lt;br /&gt;
No paper is written in isolation, and this paper is no exception.  I’d like to thank David Liebtag, Roy Sykes, Norman Thomson, Jim Brown, Roger Hui, and Michael Turniansky for their helpful advice and suggestions.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>