"Little Scheme" and PL Design (Code Critique?)

jwatson-CO-edu real.name at colorado.edu
Sun Nov 20 19:26:30 UTC 2022


On Saturday, 19 November 2022 at 19:16:41 UTC, Jack Pope wrote:
> On Thursday, 17 November 2022 at 22:05:45 UTC, jwatson-CO-edu 
> wrote:
>> [`Atom`](https://github.com/jwatson-CO-edu/SPARROW/blob/main/lil_schemer.d#L66) (unit of data), I throw it on the heap and never bother to delete it.  [...]
>>
>
> If you wish to automatically de-allocate the oldest atoms, one 
> approach might be to put them in a ring buffer. Its size will 
> affect the relative time needed for deleting and overwriting 
> the oldest elements. You can hard code the size based on 
> experimentation or allow ongoing automatic adjustment based on 
> some formula.
>
> I think there are some interesting ring buffer packages in the 
> DUB registry.

Thank you, but I do not think the atoms will be freed in order, 
especially those holding user-defined functions.  A ring buffer 
would be more appropriate for processing items in a stream or for 
otherwise implementing a queue.


More information about the Digitalmars-d-learn mailing list