m4-commit
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]