ALGOL 68
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/04/02 06:55 UTC 版)
1968 Final Report での仕様と 1973 Revised Report での仕様は異なる。本来の ALGOL 68 には proceduring という機能があった。これは、項の値をその項を評価するプロシージャに合わせるようにすることである。proceduring は実質的には評価を「遅延」させることができる。その最も便利な利用法として、論理演算の短絡評価がある。 以下はユーザー定義演算子の例である。 op andf = (bool a, proc bool b)bool: if a then b() else a fi; ¢ b は a が true の場合のみ評価される。 ¢op orf = (bool a, proc bool b)bool: if a then a else b() fi; ¢ b は a が false の場合のみ評価される。 ¢ 従って、1973 Revised Report 以前には、プログラマは演算子(やプロシージャ)の引数の評価を逐次的にするか並行的にするかを選択可能であった。 ただし、これは予定通りには機能しなかった。多くの実装では andf/orf や andth/orel といった拡張を特別に扱って短絡評価をエミュレートしていた。
※この「ALGOL 68」の解説は、「短絡評価」の解説の一部です。
「ALGOL 68」を含む「短絡評価」の記事については、「短絡評価」の概要を参照ください。
- ALGOL 68のページへのリンク