[Info-vax] DEC Basic and dynamic memory ?

Arne Vajhøj arne at vajhoej.dk
Mon Jan 31 12:06:07 EST 2022


On 1/31/2022 11:38 AM, Dave Froble wrote:
> On 1/31/2022 8:55 AM, Simon Clubley wrote:
>> On 2022-01-30, Dave Froble <davef at tsoft-inc.com> wrote:
>>> On 1/30/2022 7:09 PM, Simon Clubley wrote:
>>>> On 2022-01-30, Arne Vajhøj <arne at vajhoej.dk> wrote:
>>>>> On 1/30/2022 6:54 PM, Simon Clubley wrote:
>>>>>> On 2022-01-29, Arne Vajhøj <arne at vajhoej.dk> wrote:
>>>>>>> In this case Simon outlined a problem where Pascal and C are obvious
>>>>>>> languages and me with no Basic experience wrote some Basic code - 
>>>>>>> that
>>>>>>> is almost ensure an "unsual style". Or to put it another way: I am
>>>>>>> (or was) a Fortran programmer and Fortran programmers can program
>>>>>>> in Fortran in any language.  :-)
>>>>>>
>>>>>> Thanks for the demo program Arne.
>>>>>>
>>>>>> The approach you are forced to use in DEC Basic is way more ugly than
>>>>>> doing it in C or Pascal.
>>>>>
>>>>> Ugly or just unfamiliar?
>>>>>
>>>>
>>>> Ugly because of all the tree management stuff you have to do for
>>>> yourself that you get for free in C or Pascal.
>>>>
>>>> In addition, there's the overhead of copying the tree everytime
>>>> you run out of allocated spare space and need to extend it.
>>>
>>> Bullshit!  Just not true.
>>
>> Arne's example makes it very clear that when you run out of spare nodes
>> in your backing storage in DEC Basic, and hence have to grow the backing
>> storage by the growth increment, you have to do a copy of the existing 
>> data.
> 
> Arne tried to provide a simple and quick and dirty example.  Doesn't 
> have to be that way.  Would not be that way in well designed code.
> 
> The nice thing about links is that the storage does not have to be linear.
> 
>> How would you grow the existing backing storage without either you or
>> the DEC Basic RTL doing a copy of the existing data when you extend it
>> by the growth increment ?
> 
> I'd just point to additional storage.

I am sure there are other possible designs.

But a single contiguous array is a simple design.

And it seems primitive but it is not as bad as it seems.

Arne





More information about the Info-vax mailing list