By excluding slice-selection from t/f ref mode arguments is it your intent to limit the kinds of selects available to those with constant element indices? If so, shouldn't dynamic bit selects also be illegal? In conventional languages, call-by-reference fully evaluates the an lvalue's selection expression before entering the task/function. The reference that is passed consists of whatever offset, pointer, or other access method conventionally refers to a certain fixed location. In these languages, dynamic selection expressions are the key discriminant between call-by-reference and call-by-name. Can you expand on why scalar dynamic indexing is OK, but vector dynamic indexing isn't in this case? Or perhaps I've misunderstood the proposal... Greg Jaxon Gordon Vreugdenhil wrote: > Based on some initial feedback, I've entered this as > Mantis 2235 with the proposal attached and set it as > a BC issue. > > Gord > > Gordon Vreugdenhil wrote: >> At the last BC meeting, 2097 was discussed and I observed that >> there is language related to ref modes that uses similar >> terminology but for which a "wider" interpretation was expected. >> I offered to write up a clarification. I've attached a >> first cut clarification below; if there is not objection, I >> can enter a Mantis item with the proposal and we can see how/if >> this can get into 1800. At very least I want to make sure that >> there is "intent agreement" on this. >> >> Gord >> >> ------------------------------------------------------------------------ >> >> Section 13.5.2 >> >> CHANGE: >> >> >> >> The semantics of assignments to variables passed by reference is that >> changes are seen outside the subroutine immediately (before the >> subroutine returns). Only variables, not nets, can be passed by >> reference. Only variables, not nets, can be passed by reference. >> >> >> >> TO: >> >> The semantics of assignments to variables passed by reference is that >> changes are seen outside the subroutine immediately (before the >> subroutine returns). Only variables, not nets, can be passed by >> reference. Only variables, not nets, can be passed by reference. >> >> >> >> Only the following shall be legal to pass by reference: >> >> · a variable >> >> · a member select of a class property or a member of an >> unpacked structure >> >> · a non-slice indexed select of an unpacked array. >> >> Nets and selects into nets shall not be passed by reference. >> >> >> > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed Jan 16 09:49:07 2008
This archive was generated by hypermail 2.1.8 : Wed Jan 16 2008 - 09:50:59 PST