From b055787c83186803152631a910030045d3aa47ef Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 2 Mar 2004 21:26:05 +0000 Subject: [PATCH] On the wierdness of SET LIST. --- doc/mad-manual.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/mad-manual.xml b/doc/mad-manual.xml index ebaf36f..9b76c6b 100644 --- a/doc/mad-manual.xml +++ b/doc/mad-manual.xml @@ -92,6 +92,13 @@ whitespace-delimited tokens without relying on card position, and languages like MAD were called fixed-field. When batch computing vanished in the 1990s, both terms passed out of use. +By modern standards, the list manipulation statements (SET LIST, +SAVE DATA, SAVE RETURN, RESTORE DATA, RESTORE RETURN) are downright +peculiar. We are accustomed to having a similar stack be managed +automatically by procedure entry and exit and the binding of local +variables, but that was an innovation of ALGOL 60 which was not +present in ALGOL 58. + Perhaps strangest to the modern eye is the exclusiveness with which MAD is focused on numerical computations in applied mathematics. String handling is rudimentary, and data structures other @@ -1867,7 +1874,7 @@ equation f(x) = cos x - x = 0 could be written as a single statement, using the criterion "|f(x)| < ε and |xk - xk+1| = |f(xk)/f'(xk)| < | -ε " for stopping the iteration: +ε" for stopping the iteration: NEW THROUGH NEW, FOR X = X0, (COS.(X)-X)/(SIN.(X) + 1.), @@ -4013,7 +4020,7 @@ statements always refer to the current list. <emphasis role='note'>Example 4: Evaluate Tschebychev polynomials</emphasis> Problem: To evaluate Tschebychev polynomials. -Analysis: The Tschebychev polynomialT(N,X) +Analysis: The Tschebychev polynomial T(N,X) is defined recursively as follows: -- 2.43.0