This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author rhettinger
Recipients pdox, rhettinger
Date 2017-10-14.20:57:43
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1508014664.11.0.213398074469.issue31785@psf.upfronthosting.co.za>
In-reply-to
Content
> A strict (non-leaky) abstraction interface is necessary 
> for being able to re-use the instruction code in an
> alternate evaluator.

The problem is that we don't have a strict (non-leaky) abstraction and I don't think we should impose one.

> Done properly, there should be very little need to move
> between instructions.h and ceval.c to understand what is happening.

I believe that is just wishful thinking and the separation will make it harder to learn and reason ceval.c.   Also, I really don't like putting the essential core of instruction code in a .h file rather than a .c file.

FWIW, when I've done my own experiments with alternative evaluation techniques (such as subroutine threading), it always required changes to the instruction bodies (in part because interesting variants use different argument passing techniques and in part because of a need to change state external to the instruction body for tracing and whatnot).

Overall, I think the proposal would be a net detriment to future maintenance and would not have a recurring payoff beyond your present experiments.
History
Date User Action Args
2017-10-14 20:57:44rhettingersetrecipients: + rhettinger, pdox
2017-10-14 20:57:44rhettingersetmessageid: <1508014664.11.0.213398074469.issue31785@psf.upfronthosting.co.za>
2017-10-14 20:57:44rhettingerlinkissue31785 messages
2017-10-14 20:57:43rhettingercreate