\documentclass[nocolor,memo]{j3}
\renewcommand{\hdate}{27 November 2004}
\renewcommand{\vers}{J3/05-103}
\usepackage{lineno}
\usepackage{longtable}
\usepackage{xr}
\externaldocument{007}
\input pdftest
\begin{document}
\vspace{-10pt}
\begin{tabbing}
Subject: \hspace*{0.25in}\=Compute whether an actual argument is present\\
From: \>Van Snyder\\
Reference: \>03-258r1, section 2.8.1; 04-192, 04-357r1 04-393\\
\end{tabbing}
\pagewiselinenumbers
\leftlinenumbers
\linenumbers*
\section*{Number}
TBD
\section*{Title}
Compute whether an actual argument is present.
\section*{Submitted By}
J3
\section*{Status}
For consideration.
\section*{Basic Functionality}
Provide a mechanism to compute whether an actual argument is present.
\section*{Rationale}
If the presence of an argument controls whether a calculation is
performed, and if the desire to perform the calculation is determined by
the results of other calculations, one needs to be able to compute
whether the argument is present or absent. In Fortran 2003, the way to
do this is with an IF construct. But with $n$ arguments, one needs a
$2^n$-way if-elseif{\dots}-else-endif construct with a different one of
the $2^n$ possible combinations of present actual arguments in each
branch. It would be more convenient if one could use a syntactic form
for an actual argument to calculate whether it is present. It is
important that the desired entity, not the value of it, is the actual
argument. Otherwise, it would not be useful where the associated dummy
argument does not have INTENT(IN).
\section*{Estimated Impact}
This is part of the proposal in J3 paper 04-393, whose antecedent was
04-357r1. At J3 meeting 169, the proposal in 04-357r1 was judged to be at
4 on the JKR scale. Surely this proposal, being only part of the
previous one, is not larger.
\section*{Detailed Specification}
Provide a mechanism to compute whether an actual argument is present.
If the condition specifies that the actual argument is present, to be
useful in the case the desired entity is not an expression, or is a
procedure argument, it, rather than the value of it, must become the
actual argument. No matter what syntax is used, if there is no special
description it cannot be called a function or operation, because the
result would be a value separate from the desired entity itself.
If the condition specifies that the actual argument is absent, neither
the entity that would otherwise become the actual argument, nor any
expressions within it, shall be evaluated. That the condition specifies
the entity is considered to be absent might be a proxy for the
nonexistence of values necessary for these evaluations.
%\section*{History}
\label{lastpage}
\end{document}