Re: Latest on Windoze Navy software

From: Tom Linden (tom_at_kednos.com)
Date: 10/20/04


Date: Tue, 19 Oct 2004 17:41:51 -0700

On 19 Oct 2004 12:20:04 -0500, <briggs@encompasserve.org> wrote:

> In article <opsf4i3fjezgicya@hyrrokkin>, "Tom Linden" <tom@kednos.com>
> writes:
>> On 19 Oct 2004 10:01:59 -0500, Larry Kilgallen <Kilgallen@SpamCop.net>
>> wrote:
>>> As has been explained to you before, descriptors are an implementation
>>> issue, not a language issue.
>>
>> Well, %DESCR is an extension, which would make a source program
>> employing
>> it non-portable. So, from that point of view it is a language issue,
>> even
>> though it appears to be a preprocessor function.
>
> If you use a non-portable extension then the behavior of a program
> that uses that extension is an implementation issue, not a language
> issue.

I had a different understanding of the term. I was thinking of
specific implementations which did not impact the language reference,
e.g. how you allocate storage. I view this as an extension to the
language reference. If wrong, my misunderstanding.

>
> If you need to use a non-portable extension then the behavior that
> you are trying to influence must be implementation-specific rather
> than language-defined.
>
> The language definition is silent on both the question of parameter
> passing mechanism (reference versus descriptor) and on the question
> of interpretation of the %DESCR extension. Accordingly, neither is
> a language issue. Both are implementation issues.
>
> One should distinguish between the semantics of parameter passing
> and the mechanism of parameter passing.
>
> Call by value, by reference or by copy-in, copy-back -- those are
> semantics. You can write a program to tell which semantics
> are in use. And the language definition may prescribe particular
> semantics. Or it may be left as an implementation decision.
>
> Call by value, by reference or by descriptor -- those are mechanisms.
> You cannot, in general, write a program to tell which mechanism is in
> use. Parameter passing mechanism is almost always an implementation
> decision.
>
> One popular choice used by language definers is to prescribe
> copy-in, copy-back semantics by default but to allow by-reference
> semantics for structured objects.
>
> On VAX:
>
> You can implement by-value semantics using value, reference or
> descriptor.
>
> You can implement by-reference semantics using reference or descriptor
>
> You can implement copy-in, copy-back semantics using reference or
> descriptor
>
>
>
> John Briggs

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/


Relevant Pages

  • Re: Question on LSP
    ... not have to be explicit attributes, ... Since objects in memory usually don't move, the language can largely hide the identity mapping. ... My issue here is that whatever semantic meta model the language uses, there must be some way for the developer to unambiguously express the OOA/D is-a semantics for some problem space entity. ... Note that the language allows us to use a name like 'T' on the reference as a mnemonic so that the developer can keep track of what is happening with the indirection. ...
    (comp.object)
  • Re: c# features
    ... I don't really think it's strictly necessary to add return by reference. ... introducing a "return by reference" semantic would not be in keeping with the existing semantics in C# and would unnecessarily complicate the language. ... You obviously disagree, as does the OP. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Latest on Windoze Navy software
    ... So, from that point of view it is a language issue, even ... If you use a non-portable extension then the behavior of a program ... One should distinguish between the semantics of parameter passing ... by reference or by descriptor -- those are mechanisms. ...
    (comp.os.vms)
  • Re: Struct size
    ... reference to base TWO, so I think you still have some work left. ... The C language may have used the notion of 2 in implementation of the ... semantics of unsigned shifts, but I didn't. ...
    (comp.lang.c)
  • Re: The meaning of a = b in object oriented languages
    ... only copying the reference. ... Whether the language is OO or not has no bearing on this question. ... semantics of the assignment operator can and do differ between ...
    (comp.lang.ruby)