From: Eric Chomko on
On Feb 23, 2:07 pm, "(see below)" <yaldni...(a)blueyonder.co.uk> wrote:
> On 23/02/2010 17:52, in article
> 3ec03225-3a0f-4bcd-9db1-51201d1b3...(a)w12g2000vbj.googlegroups.com, "Eric
>
> Chomko" <pne.cho...(a)comcast.net> wrote:
> > But an ALGOL "activation record" (stack frame) had a lot more than
> > that. As I recall, they copied a lot more just pointers and parameter
> > values.
>
> Just the usual red tape: return address, frame pointer of caller; and either
> a static pointer or some housekeeping for 'display' registers (if used) to
> access non-locals. But bear in mind that in decent languages arrays are
> storable values, so a value array parameter gets copied in toto, unlike C..
>

Are you saying that C doesn't implement true recursion? I have only
used recursion in college and not with C. ALGOL, SIMPL-T and LISP were
the only languages I used to write recursive algorithms.

From: Weng Tianxiang on
glen,

"More to the hardware side, an architecture still exists even
if no implementations of it exist. (Though in most cases at
least one still does.) "

Can you list them fully? I am interested in them.

Weng
From: (see below) on
On 24/02/2010 19:31, in article
d902c75e-e33a-4281-a796-7c56c3276066(a)o16g2000prh.googlegroups.com, "Eric
Chomko" <pne.chomko(a)comcast.net> wrote:

> On Feb 23, 2:07�pm, "(see below)" <yaldni...(a)blueyonder.co.uk> wrote:
>> On 23/02/2010 17:52, in article
>> 3ec03225-3a0f-4bcd-9db1-51201d1b3...(a)w12g2000vbj.googlegroups.com, "Eric
>>
>> Chomko" <pne.cho...(a)comcast.net> wrote:
>>> But an ALGOL "activation record" (stack frame) had a lot more than
>>> that. As I recall, they copied a lot more just pointers and parameter
>>> values.
>>
>> Just the usual red tape: return address, frame pointer of caller; and either
>> a static pointer or some housekeeping for 'display' registers (if used) to
>> access non-locals. But bear in mind that in decent languages arrays are
>> storable values, so a value array parameter gets copied in toto, unlike C.
>
>>
>
> Are you saying that C doesn't implement true recursion? I have only
> used recursion in college and not with C. ALGOL, SIMPL-T and LISP were
> the only languages I used to write recursive algorithms.
>

No. I'm at a loss as to how you could put that interpretation on it.

I'm saying that array parameters in C are not called by value, but they are
in Algol 60 and cognate languages, requiring more stack space than C does.

--
Bill Findlay
<surname><forename> chez blueyonder.co.uk


From: Joe Pfeiffer on
Eric Chomko <pne.chomko(a)comcast.net> writes:

> On Feb 23, 2:07�pm, "(see below)" <yaldni...(a)blueyonder.co.uk> wrote:
>> On 23/02/2010 17:52, in article
>> 3ec03225-3a0f-4bcd-9db1-51201d1b3...(a)w12g2000vbj.googlegroups.com, "Eric
>>
>> Chomko" <pne.cho...(a)comcast.net> wrote:
>> > But an ALGOL "activation record" (stack frame) had a lot more than
>> > that. As I recall, they copied a lot more just pointers and parameter
>> > values.
>>
>> Just the usual red tape: return address, frame pointer of caller; and either
>> a static pointer or some housekeeping for 'display' registers (if used) to
>> access non-locals. But bear in mind that in decent languages arrays are
>> storable values, so a value array parameter gets copied in toto, unlike C.
>>
>
> Are you saying that C doesn't implement true recursion? I have only
> used recursion in college and not with C. ALGOL, SIMPL-T and LISP were
> the only languages I used to write recursive algorithms.

Yes, C does recursion. Local variables are also on the stack.
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)
From: Joe Pfeiffer on
"(see below)" <yaldnif.w(a)blueyonder.co.uk> writes:

> On 24/02/2010 19:31, in article
> d902c75e-e33a-4281-a796-7c56c3276066(a)o16g2000prh.googlegroups.com, "Eric
> Chomko" <pne.chomko(a)comcast.net> wrote:
>
>> On Feb 23, 2:07�pm, "(see below)" <yaldni...(a)blueyonder.co.uk> wrote:
>>> On 23/02/2010 17:52, in article
>>> 3ec03225-3a0f-4bcd-9db1-51201d1b3...(a)w12g2000vbj.googlegroups.com, "Eric
>>>
>>> Chomko" <pne.cho...(a)comcast.net> wrote:
>>>> But an ALGOL "activation record" (stack frame) had a lot more than
>>>> that. As I recall, they copied a lot more just pointers and parameter
>>>> values.
>>>
>>> Just the usual red tape: return address, frame pointer of caller; and either
>>> a static pointer or some housekeeping for 'display' registers (if used) to
>>> access non-locals. But bear in mind that in decent languages arrays are
>>> storable values, so a value array parameter gets copied in toto, unlike C.
>>
>>>
>>
>> Are you saying that C doesn't implement true recursion? I have only
>> used recursion in college and not with C. ALGOL, SIMPL-T and LISP were
>> the only languages I used to write recursive algorithms.
>>
>
> No. I'm at a loss as to how you could put that interpretation on it.

You forgot to mention local variables are in the activation record.

When I was an undergrad I spent some time programming FORTRAN on a
Harris /6 (I think it was a /6 -- there's something nagging at the back
of my mind that says it may have been a /7). Anyway, reading the manual
I discovered that return addresses were stacked, and immediately jumped to
the conclusion that it could do recursion. It turned out that local
variables were static... which meant I spent a *long* time figuring out
why my program was producing completely nonsensical results.

As Al Stewart once sang, "I was jumping to conclusions, and one of them
jumped back."
--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)