kuno@gssm.otsuka.tsukuba.ac.jp writes:

>   学生時代、Fortranの論理演算子(.AND. とか .OR. とかのこと)は両
> 側を評価しなくてもよい)と学んだので。短絡評価は保証されてはいな
> いがコンパイラのコードとして許容されているというか。

中田育男先生の「コンパイラ」(産業図書)に、詳しい解説がありましたね。

言語仕様としては、
(1)必ず短絡評価する
(2)短絡評価するかもしれないし、しないかもしれない(副作用を使ったら誤り)
(3)短絡評価しない(コンパイラは、副作用がない時に限り短絡評価してよい)
の3とおりでしょうか。副作用のない言語だと意味のない区別ですけど。
Fortranは(2)ですか。Pascalは(3)ですね。

> > (1)と(2)は、別の概念なので両方用意したということでしょう。いかにもAda
> > らしいですね。
> 
>     …Cだって | と || とか両方ありますよね(ちょっと違うけど)    久野

値域がだいぶ違いますが、両辺が0か1ならたしかに…

MS BASICのAND, OR, NOTはCでいうと&, |, ~でしたね。だから「真」は&HFFFF
だった。
                                前田敦司