\documentclass[nocolor,memo]{j3}
\renewcommand{\hdate}{28 June 2004}
\renewcommand{\vers}{J3/04-347}
\usepackage{lineno}
\usepackage{longtable}
\usepackage{xr}
\externaldocument{007}
\input pdftest
\begin{document}
\vspace{-10pt}
\begin{tabbing}
Subject: \hspace*{0.25in}\=Relax C1226 a little bit\\
From: \>Van Snyder\\
\end{tabbing}
\pagewiselinenumbers
\leftlinenumbers
\linenumbers*
\section*{Number}
TBD
\section*{Title}
GRelax C1226 a little bit.
\section*{Submitted By}
J3
\section*{Status}
For consideration.
\section*{Basic Functionality}
Relax C1226 to allow non-keyword actual arguments to follow keyword
arguments so long as all preceeding keyword arguments would also correspond
by position.
\section*{Rationale}
Keyword-identified actual arguments have documentary value, especially
in the case that an actual argument is a constant.
Here's a call in one of my programs:
{\tt\begin{verbatim}
call frequency_loop ( alpha_path_c(:npc), beta_path_c(:npc,:), &
& c_inds(:npc), del_s(:npc), del_zeta(:npc), &
& do_calc_fzp(:no_ele,:), do_calc_zp(:no_ele,:), do_GL(:npc), &
& eta_fzp(:no_ele,:), eta_zp(:no_ele,:), frequencies, h_path_c, &
& incoptdepth(:npc), p_path(:no_ele), .false., ref_corr(:npc), &
& sps_path(:no_ele,:), tau(:npc), t_path_c(:npc), t_script(:npc), &
& tanh1_c(:npc), tt_path_c(:npc), w0_path_c(:npc) )
\end{verbatim}}
Each but one of the actual arguments has the same name as the
corresponding dummy argument. (The main purpose of having this subroutine
instead of just putting its body inline is to strip off the pointer
attribute --- which will hopefully help an optimizer here and there ---
and to get the dynamic bounds ``built in'' to the dummy argument names, so
that the body doesn't need {\tt(:npc)} and {\tt(:no\_ele,:)} throughout.)
There is one argument, named PFA, that doesn't have that purpose. It's a
flag that controls whether and how a small fraction of the calculations
are done. It would have documentary value if I could put {\tt
PFA=.false.} between {\tt p\_path(:no\_ele)} and {\tt ref\_corr(:npc)},
without needing to put \si{keyword} = on the rest of the actual arguments.
\section*{Estimated Impact}
Trivial for the standard, probably nearly trivial for implementors.
\section*{Detailed Specification}
\sep\mgpar{267:9+}[Move C1227 to here so that the idea that a \si{keyword}
= refers to a dummy argument is introduced before the revised C1226.]
\sep\mgpar{267:10-11}\dcons[C1226]{(\snref{actual-arg-spec}) The
\si{keyword} = shall appear if \si{keyword} = appears in any preceding
\si{actual-arg-spec} in the argument list and that actual argument does
not correspond by position (\ref{D12:Actual arguments, dummy arguments,
and argument association}) to the dummy argument named by its keyword.}
\section*{History}
\label{lastpage}
\end{document}