comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@world.std.com>
Subject: Re: conditional compilation
Date: 2000/08/03
Date: 2000-08-03T00:00:00+00:00	[thread overview]
Message-ID: <wcc7l9y316j.fsf@world.std.com> (raw)
In-Reply-To: Pine.BSF.4.21.0008021448510.22894-100000@shell5.ba.best.com

Brian Rogoff <bpr@shell5.ba.best.com> writes:

> On Wed, 2 Aug 2000, Robert A Duff wrote:
> > In any case, from a language design point of view, if you think the
> > compiler should see things in a different order or different
> > organization than human beings, then clearly the programming language is
> > poorly designed.  
> 
> That isn't so clear to me. I don't think Common Lisp, Scheme and Dylan are 
> poorly designed because they include powerful macro systems.

I completely agree with you, so if you think we disagree, I think you
misunderstand what I mean.  I have nothing against Lisp macros -- they
are quite powerful and useful.  Note that one feeds them directly to the
compiler, and also reads them as is.

What I object to, is using Literate Programming to stir the code around
in an obfuscatory manner.  In cases where Literate Programming improves
the structure of the code, that indicates a flaw in the underlying
programming language.  In cases where it damages the structure of the
code (see my previous post about loop exits), well, that's not a good
thing.

Note that Lisp macros operate at a completely different level than
text-based macros.  Lisp macros don't stir the code around in ways that
totally violates the language rules.  Text-based macros are evil.

>... I believe 
> their designers feel that syntactic abstraction is important enough to 
> include facilities in the language for extensible syntax. That may
> conflict with some of the design goals of Ada, but I don't thnk it
> clearly indicates poor design. 
> 
> > Macros can be used to get around poor language
> > designs.
> 
> They can also be used to change the syntax of the language so that it is
> more suitable for a particular problem. There are lots of things I don't
> like about Lisp, but the inclusion of a powerful macro system is not among
> them.
> 
> -- Brian

- Bob




  reply	other threads:[~2000-08-03  0:00 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-07-31  0:00 conditional compilation Matthew Woodcraft
2000-07-31  0:00 ` Marin D. Condic
2000-07-31  0:00   ` Ira D. Baxter
2000-08-01  0:00   ` Simon Brady
2000-07-31  0:00     ` Marin D. Condic
2000-08-01  0:00     ` Ted Dennison
2000-08-01  0:00       ` Robert A Duff
2000-08-01  0:00         ` Laurent Guerby
2000-08-02  0:00       ` Simon Brady
2000-08-02  0:00         ` Georg Bauhaus
2000-08-02  0:00         ` Simon Brady
2000-08-01  0:00           ` William J. Thomas
2000-08-02  0:00         ` Robert A Duff
2000-08-02  0:00           ` Georg Bauhaus
2000-08-03  0:00             ` Robert A Duff
2000-08-02  0:00           ` Brian Rogoff
2000-08-03  0:00             ` Robert A Duff [this message]
2000-08-03  0:00           ` Florian Weimer
  -- strict thread matches above, loose matches on Subject: below --
2000-09-19  0:00 Conditional Compilation Kenneth Kueny
2000-09-19  0:00 ` Jeffrey Carter
2000-09-19  0:00   ` Samuel T. Harris
2000-09-20  0:44     ` Robert Dewar
2000-09-19  0:00 ` Ted Dennison
2000-09-19  0:00 ` David Starner
2000-09-19  0:00 ` Richard Riehle
2000-09-19  0:00 ` E. Robert Tisdale
2000-09-19  0:00   ` David Starner
2000-09-20  0:52     ` Robert Dewar
2000-09-19  0:00   ` Larry Kilgallen
2000-09-19  0:00     ` Jeff Allen
2000-09-20  0:49       ` Robert Dewar
2000-09-19  0:00         ` Bobby D. Bryant
2000-09-24  0:00           ` Robert Dewar
2000-09-20  0:47   ` Robert Dewar
2000-10-09  0:00   ` John McCabe
2000-09-20  1:33 ` tmoran
     [not found]   ` <8qauu3$7ei$1@nnrp1.deja.com>
2000-09-24  0:00     ` Robert Dewar
2000-09-25  2:45       ` Ted Dennison
2000-09-25  0:00         ` peter
     [not found] ` <39CA31F2.E160F0D8@res.raytheon.com>
2000-09-24  0:00   ` Robert Dewar
2001-01-02 13:27 ` Andrew Hately
2001-01-02 16:46   ` Robert Dewar
1989-12-12  0:08 conditional compilation Emery
1988-06-13  0:24 Conditional compilation Steinar Haug
1988-06-17 13:53 ` rds
1988-06-22  0:44   ` Jeff Bartlett
1988-06-23 13:01   ` Arny B. Engelson
1988-06-27 18:01     ` Dave Seward
1988-06-29 13:32   ` brucej
1988-06-17 14:48 ` rjs
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox