\documentclass[nocolor,memo]{j3}
\renewcommand{\hdate}{31 July 2006}
\renewcommand{\vers}{J3/06-186r1}
\usepackage{lineno}
\usepackage{longtable}
\usepackage{xr}
\externaldocument{007}
\input opt
\input pdftest
\begin{document}
\vspace{-10pt}
\begin{tabbing}
Subject: \hspace*{0.25in}\=Oh No! Not more left hand functions!\\
From: \>Van Snyder\\
\end{tabbing}
\section{Introduction}
Meeting 176 paper 06-154r4 changed the definition of \si{variable} from
\si{designator} to \si{designator} or \si{expr}. This allows \cf{A+B=C+D}
so long \cf{A+B} is a reference to a function that returns a pointer
result. Similarly, it allows \cf{READ(1,IOSTAT=A+B)} so long as A+B is a
reference to a function that has a scalar integer pointer result, etc.
I didn't intend this when I proposed the functionality, but others may have
seen this as a natural and desirable consequence.
Is it what J3 wants?
\subsection{Malcolm responds}
It was certainly envisaged by some for the argument association case at
least (it was a U.K. proposal -- I know at least one of us thinks that
a function reference is a function reference regardless of syntax).
I agree that \texttt{A+B=C} looks pretty strange.
However, more realistic examples like
{\tt\hspace{0.25in} table.HASH.key = new\_value}
or
{\tt\hspace{0.25in} .REF.swizzled\_pointer = value}
look reasonable. Many people like using infix notation
for this kind of thing.
\edits[--- Assuming it's not what J3 wants]{06-007}
\stdref{115:7}\bnfo{\si{function-reference}}
\stdref{115:9}\dcons[C602]{(\snref{variable}) The \si{function-reference} shall
be a reference to a function that has a pointer result.}
\section{On the other hand \dots}
If we wish to allow \cf{READ(1,IOSTAT=A+B)} so long as A+B is a reference to a function
that has a scalar integer pointer result, etc., but not \cf{A+B=C+D}:
\stdref{157:3+}\dcons[C716a]{(\snref{assignment-stmt}) If
\si{variable} is \si{expr}, \si{expr} shall be \si{function-reference}.}
\section{More stuff}
\stdref{230:17+2-3}[Note 9.35 isn't quite right any more. Editor: After
``references'' insert ``that does not have a pointer result'', and delete
``may \dots but'' so as not to give the impression by omission that an
expression whose result isn't a pointer cannot appear in an output list.]
\label{lastpage}
\end{document}