Post Reply 
is AND broken?
10-14-2015, 02:09 AM (This post was last modified: 10-14-2015 02:10 AM by toml_12953.)
Post: #4
RE: is AND broken?
(10-11-2015 01:23 AM)ji3m Wrote:  I have very mysterious problems with the AND function in a program if statement.

The program misbehaves until i remove the AND and use two ifs.

E.e

IF ((expr1) AND (expr2)) THEN ....

fails with bad argument error somewhere in the code.

IF (expr1) THEN
IF (expr2) THEN
......

make the gremlins go away.

Seems odd.

If expr2 has an error in it, the second example works because the IF never gets evaluated if the first IF is false. HPPL, as in most forms of BASIC, evaluates all expressions in an AND statement. There's no early exit if the first part of the AND is false.

Example:
Code:
IF 4<2 AND 1/0 >3 THEN
<do something here>
END;
will fail because 1/0 is illegal.
Code:

IF 4<2 THEN
  IF 1/0>3 THEN
    <do something here>
  END;
END;

will work because the 1/0 never gets evaluated.

Tom L
Cui bono?
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
is AND broken? - ji3m - 10-11-2015, 01:23 AM
RE: is AND broken? - Han - 10-11-2015, 05:06 AM
RE: is AND broken? - Didier Lachieze - 10-11-2015, 05:35 AM
RE: is AND broken? - toml_12953 - 10-14-2015 02:09 AM



User(s) browsing this thread: 1 Guest(s)