<para>The 704 had 36-bit words; MAD floats are translated to C
doubles, which on modern machines have 32 or 64 bits. Precision and
-overflow of numeric results may therefore differ. The original MAD
-limit of 6 characters on variable names, labels, and string constants
-is not enforced.</para>
+overflow of numeric results may therefore differ.</para>
<para>Character READ FORMATs into arrays cause their equivalents in the
generated C code to be declared with a base char type as would
computed-transfer statement are not implemented (mainly because the
manual did not include programs with which they could be tested).
Neither are multiple ENTRY points, EQUIVALENCE, ERASABLE, COMMON,
-TAPE, or DRUM statements. More seriously, though array references
-and assignments are implemented, array I/O is not (except for the
-special case of character arrays which are handled as strings).</para>
+TAPE, or DRUM statements.</para>
+
+<para>More seriously, though array references and assignments are
+implemented, array I/O is not (except for the special case of
+character arrays which are handled as strings). The fact that the
+size of arrays is dynamic appears to make this feature impossible
+to compile; I conjecture that in the original MAD format strings
+were actually interpreted at runtime by a service routine compiled
+into the code.</para>
<para>Only the no-argument case of ERROR RETURN is supported. The
language describing the more general case of this feature is deeply
K = I
L = J
ST1 CONTINUE
- .
+ .
.
.
</programlisting>
argument in a function <emphasis>definition</emphasis> program. The
function would be <emphasis>called</emphasis> with a statement of the
form EXECUTE TRANS.(A, N).</para>
+
+<note><para>The Retrocomputing Museum implementation cannot yet
+compile this example. The problem is the array I/O.</para></note>
+
</sect2>
<!-- beginpage III.16 -->
<sect2><title>Example 6<emphasis role='note'>: Matrix multiplication</emphasis></title>
7. 8. 9. 10. 11. 12.
13. 14. 15.
</programlisting>
+
+<note><para>The Retrocomputing Museum implementation cannot yet
+compile this example. The problem is the array I/O.</para></note>
</sect2>
<!-- beginpage III.19 -->
<sect2><title>Example 7<emphasis role='note'>: Solve simultaneous linear equations</emphasis></title>
0. -1. -1. -2. -9. -32.
</programlisting>
+<note><para>The Retrocomputing Museum implementation cannot yet
+compile this example. The problem is the array I/O.</para></note>
+
</sect2>
</sect1>
<!-- beginpage III.24 -->
&payrolltape;
</programlisting>
+<note><para>The Retrocomputing Museum implementation cannot yet
+compile this example. The problem is the TAPE statement.</para></note>
+
</sect2>
<!-- beginpage III.37 -->
<sect2><title>Example 3<emphasis role='note'>: Mortgage Payment Processing</emphasis></title>
<!-- beginpage III.46 after "M(OMEGA) = C(OMEGA)" in listing -->
<!-- beginpage III.47 after line labeled GAMMA in listing -->
+<note><para>The Retrocomputing Museum implementation cannot yet
+compile this example. The problem is the array I/O.</para></note>
+
</sect2>
</sect1>
<!-- beginpage III.48 -->