New submission from Nick Coghlan <ncogh...@gmail.com>:

When merging the bpo-44590 changes into my PEP 558 implementation branch, I 
found it very hard to follow when the code was referring to the new interpreter 
frames rather than the existing Python frame objects that were historically 
used for both execution and introspection.

The "interpreter frame" name was also a little confusing, since the 
introspection frames are still associated with a specific interpreter, they're 
just not required for code execution anymore, only for code introspection APIs 
that call for a full Python object.

So, inspired by the "gi_xframe" (etc) attributes added in 
https://github.com/python/cpython/pull/27077, I'm proposing the following 
internal refactoring:

* Rename "pycore_frame.h" to "pycore_xframe.h"
* Rename the _interpreter_frame struct to _execution_frame
* Rename the type from InterpreterFrame to ExecFrame
* Use "xf_" rather than "f_" as the struct field prefix on execution frames
* Use "xframe" and "xf" rather than "frame" and "f" for execution frame 
variables
* Consistently use _PyExecFrame as the access function prefix, rather than a 
confusing mixture of _PyFrame and _PyInterpreterFrame
* Rename _PyThreadState_PushFrame to _PyThreadState_PushExecFrame
* Rename _PyThreadState_PopFrame to _PyThreadState_PopExecFrame

----------
messages: 398675
nosy: Mark.Shannon, ncoghlan
priority: normal
severity: normal
stage: needs patch
status: open
title: Code readability: rename interpreter frames to execution frames
type: enhancement
versions: Python 3.11

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44800>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to