(j3.2006) are selectors allowed to be procedures ?
Malcolm Cohen
malcolm
Fri Oct 23 00:29:20 EDT 2009
> According to the interface, FUNC does return a pointer result.
Right.
The standard is littered with text that doesn't work if functions are allowed to
return bare pointers to procedures. For example
"If RESULT appears, the name of the result variable of the function ..."
Note the word "variable" in there.
That there are quibbles with ASSOCIATE too is merely another tiny inconsistency
considering the huge number of direct contradictions if one allows functions to
return procedures.
By clause 1, those contradictions mean that functions are not permitted to
return bare procedure pointers (because the standard does not establish an
interpretation).
There is evidence that we intended to allow functions to do that, but we
certainly didn't actually succeed in allowing them. Why we started making edits
to allow them and then stopped miles short of what was needed is a question I
cannot answer (and probably has a different answer for each committee member).
Maybe some people changed their minds about whether it was a good idea and
forgot we'd already made some edits. Maybe some people thought syntax was
enough and we didn't need semantics.
Anyway, it is something we ought to sort out sometime.
Cheers,
--
................................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3
mailing list