From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f891f,9d58048b8113c00f X-Google-Attributes: gidf891f,public X-Google-Thread: 1014db,9d58048b8113c00f X-Google-Attributes: gid1014db,public X-Google-Thread: 101deb,b20bb06b63f6e65 X-Google-Attributes: gid101deb,public X-Google-Thread: 103376,2e71cf22768a124d X-Google-Attributes: gid103376,public X-Google-Thread: 10cc59,9d58048b8113c00f X-Google-Attributes: gid10cc59,public From: rav@goanna.cs.rmit.EDU.AU (++ robin) Subject: Re: next "big" language?? (disagree) Date: 1996/06/13 Message-ID: <4pnu4m$ga9@goanna.cs.rmit.EDU.AU>#1/1 X-Deja-AN: 159916555 references: <4p1l65$35qi@info4.rus.uni-stuttgart.de> <4p60nk$imd@euas20.eua.ericsson.se> <4p8lmq$oq7@goanna.cs.rmit.edu.au> <4pj8p7$h9r@goanna.cs.rmit.EDU.AU> <4plegb$ibp@goanna.cs.rmit.EDU.AU> <4pljv3$oqp@goanna.cs.rmit.EDU.AU> <4pm33l$66q@goanna.cs.rmit.EDU.AU> organization: Comp Sci, RMIT, Melbourne, Australia newsgroups: comp.lang.pascal,comp.lang.c,comp.lang.misc,comp.lang.pl1,comp.lang.ada nntp-posting-user: rav Date: 1996-06-13T00:00:00+00:00 List-Id: ok@goanna.cs.rmit.EDU.AU (Richard A. O'Keefe) writes: >rav@goanna.cs.rmit.EDU.AU (++ robin) writes: >If I were using PL/I, I would certainly write an Assert procedure and >use it. As far as that is concerned, there is little to choose between >PL/I and Ada. As far as I can see, the debate is about whether to use >a library function, or whether to use an explicit IF ... PUT ... >If that's not what it's about, I don't know _what_ rav's point is. >>---If we bring a preprocesor into it, we can do things like: >> assert ("x > b", "the value of x is out of range" ); >Yes, indeed. >> The relevant macro would be something like: >> assert: procedure (test, message); >> answer ('if ' || test || ' then put (' || message || ')' ); >> end assert; >>That's 3 lines, I think. >Agreed, except that it doesn't do the same thing. ---same as what? I never claimed it to be the same as anything. Do read what's written -- ". . . we can do things like". > To do the same thing ---as what? (see above) >it would have to be something like > % assert: %procedure (test, message); > answer ('if ' || test || ' then do ' || > 'put (' || message || ');' || > 'signal whatever_you_want;' || > 'end'); > %end assert; ---Well, definitely not! Your example does NOT do the same thing as mine. You've included additional functionality that is not in my example. BTW, you left out the %activate statement. The SIGNAL statement is SIGNAL CONDITION (whatever_you_want);, the PROCEDURE keyword does not have a % prefix, and the DO statement requires a semicolon. The point of the example, is that a PL/I programmer can do it in a few lines.