Arena storage pool: Difference between revisions
Content deleted Content added
→{{header|REXX}}: added the REXX language. -- ~~~~ |
|||
Line 323:
Statements, such as assignments, class and function definitions, and import statements can create objects and assign names to them which can be seen as assigning a reference to objects. Objects can also be referred to from other objects e.g. in collections such as lists.<br>
When names go out of scope, or objects are explicitly destroyed, references to objects are diminished. Python's implementation keeps track of references to objects and marks objects that have no remaining references so that they become candidates for '[[wp:Garbage collection (computer science)|garbage collection]]' at a later time.
=={{header|REXX}}==
In the REXX language, each (internal and external) procedure has it's
own storage (memory) to hold local variables and other information
pertaining to a procedure.
<br>Each call to a precedure (to facilitate recursion) has it's own
storage.
<br>Garbage collection can be performed after a procedure finishes
executing (either via an <tt> EXIT, </tt> <tt> RETURN, </tt>
or some other external action),
but this isn't specified in the language.
<br>A <tt> DROP </tt> will mark a variable
as not defined, but doesn't unallocate it's storage, but the freed
storage can be used by another variable within the program (or precedure).
<br>Essentially, the method used by a particular REXX interpreter isn't
of concern by a programmer as there is but one type of variable
(character), and even (stemmed) arrays aren't preallocated or even
allocated sequentially in virtual (local) storage (as it's elements are
defined).
<br>Some REXX interpreters have built-in functions to query how much free
memory is available (these were written when real storage was a premium
during the early DOS days).<br>
=={{header|Tcl}}==
|