additional memory used by the python interpreter we have discussedin section how the python interpreter allocates memory for objects within memory heap howeverthis is not the only memory that is used when executing python program in this sectionwe discuss some other important uses of memory the run-time call stack stacks have most important application to the run-time environment of python programs running python program has private stackknown as the call stack or python interpreter stackthat is used to keep track of the nested sequence of currently active (that isnonterminatedinvocations of functions each entry of the stack is structure known as an activation record or framestoring important information about an invocation of function at the top of the call stack is the activation record of the running callthat isthe function activation that currently has control of the execution the remaining elements of the stack are activation records of the suspended callsthat isfunctions that have invoked another function and are currently waiting for that other function to return control when it terminates the order of the elements in the stack corresponds to the chain of invocations of the currently active functions when new function is calledan activation record for that call is pushed onto the stack when it terminatesits activation record is popped from the stack and the python interpreter resumes the processing of the previously suspended call each activation record includes dictionary representing the local namespace for the function call (see sections and for further discussion of namespacesthe namespace maps identifierswhich serve as parameters and local variablesto object valuesalthough the objects being referenced still reside in the memory heap the activation record for function call also includes reference to the function definition itselfand special variableknown as the program counterto maintain the address of the statement within the function that is currently executing when one function returns control to anotherthe stored program counter for the suspended function allows the interpreter to properly continue execution of that function implementing recursion one of the benefits of using stack to implement the nesting of function calls is that it allows programs to use recursion that isit allows function to call itselfas discussed in we implicitly described the concept of the call stack and the use of activation records within our portrayal of recursion traces in