[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.16-20-g
From: |
Paul Eggert |
Subject: |
[SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.16-20-gd401771 |
Date: |
Thu, 15 Nov 2012 01:39:55 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU M4 source repository".
http://git.sv.gnu.org/gitweb/?p=m4.git;a=commitdiff;h=d4017710b79aef691f1eb04f438ec7fe1b5cfc50
The branch, branch-1.4 has been updated
via d4017710b79aef691f1eb04f438ec7fe1b5cfc50 (commit)
from 118378c9d104bf6b1f18931896f6cccc62a79591 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d4017710b79aef691f1eb04f438ec7fe1b5cfc50
Author: Paul Eggert <address@hidden>
Date: Wed Nov 14 17:39:28 2012 -0800
doc: improve prehistory discussion
* doc/m4.texinfo (History): Describe M6 and related processors.
From a suggestion by Doug McIlroy in
<http://lists.gnu.org/archive/html/m4-discuss/2012-05/msg00004.html>.
Also, improve citation quality by giving URLs and so forth.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 ++++++++
doc/m4.texinfo | 41 ++++++++++++++++++++++++++++++++---------
2 files changed, 40 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b195961..b369e83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-11-14 Paul Eggert <address@hidden>
+
+ doc: improve prehistory discussion
+ * doc/m4.texinfo (History): Describe M6 and related processors.
+ From a suggestion by Doug McIlroy in
+ <http://lists.gnu.org/archive/html/m4-discuss/2012-05/msg00004.html>.
+ Also, improve citation quality by giving URLs and so forth.
+
2012-09-21 Eric Blake <address@hidden>
maint: drop more CVS cruft
diff --git a/doc/m4.texinfo b/doc/m4.texinfo
index f29d541..aff888b 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -349,19 +349,42 @@ debugging their @code{m4} scripts than doing real work.
Beware that
@cindex history of @code{m4}
@cindex GNU M4, history of
address@hidden was an important ancestor of @code{m4}. See
-C. Strachey: ``A General Purpose Macro generator'', Computer Journal
-8,3 (1965), pp.@: 225 ff. @code{GPM} is also succinctly described into
-David Gries classic ``Compiler Construction for Digital Computers''.
-
-The classic B. Kernighan and P.J. Plauger: ``Software Tools'',
-Addison-Wesley, Inc.@: (1976) describes and implements a Unix
+Macro languages were invented early in the history of computing. In the
+1950s Alan Perlis suggested that the macro language be independent of the
+language being processed. Techniques such as conditional and recursive
+macros, and using macros to define other macros, were described by Doug
+McIlroy of Bell Labs in ``Macro Instruction Extensions of Compiler
+Languages'', @emph{Communications of the ACM} 3, 4 (1960), 214--20,
address@hidden://dx.doi.org/10.1145/367177.367223}.
+
+An important precursor of @code{m4} was GPM; see C. Strachey,
address@hidden The title uses lower case and has no space between "macro" and
"generator".
+``A general purpose macrogenerator'', @emph{Computer Journal} 8, 3
+(1965), 225--41, @url{http://dx.doi.org/10.1093/comjnl/8.3.225}. GPM is
+also succinctly described in David Gries's book @emph{Compiler
+Construction for Digital Computers}, Wiley (1971). Strachey was a
+brilliant programmer: GPM fit into 250 machine instructions!
+
+Inspired by GPM while visiting Strachey's Lab in 1968, McIlroy wrote a
+model preprocessor in that fit into a page of Snobol 3 code, and McIlroy
+and Robert Morris developed a series of further models at Bell Labs.
+Andrew D. Hall followed up with M6, a general purpose macro processor
+used to port the Fortran source code of the Altran computer algebra
+system; see Hall's ``The M6 Macro Processor'', Computing Science
+Technical Report #2, Bell Labs (1972),
address@hidden://cm.bell-labs.com/cm/cs/cstr/2.pdf}. M6's source code
+consisted of about 600 Fortran statements. Its name was the first of
+the @code{m4} line.
+
+The Brian Kernighan and P.J. Plauger book @emph{Software Tools},
+Addison-Wesley (1976), describes and implements a Unix
macro-processor language, which inspired Dennis Ritchie to write
@code{m3}, a macro processor for the AP-3 minicomputer.
Kernighan and Ritchie then joined forces to develop the original
address@hidden, as described in ``The M4 Macro Processor'', Bell
-Laboratories (1977). It had only 21 builtin macros.
address@hidden, described in ``The M4 Macro Processor'', Bell Laboratories
+(1977), @url{http://wolfram.schneider.org/bsd/7thEdManVol2/m4/m4.pdf}.
+It had only 21 builtin macros.
While @code{GPM} was more @emph{pure}, @code{m4} is meant to deal with
the true intricacies of real life: macros can be recognized without
hooks/post-receive
--
GNU M4 source repository
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.16-20-gd401771,
Paul Eggert <=