On 28 January 2015 at 21:21, Greg Ewing <greg.ew...@canterbury.ac.nz> wrote:
> Andrea Griffini wrote:
>>
>> Sorry if the question is naive, but why is co_names needed? Wouldn't be
>> simpler to just use co_consts?
>
> One reason might be that keeping them separate means
> you can have up to 256 names and 256 consts using
> 1-byte opcode arguments. Otherwise, you'd be limited
> to a total of 256 of both.

They're logically distinct things accessed by different opcodes for
very different purposes. While you theoretically *could* use one array
to hold both, it would make the eval code harder to read, and various
introspection tasks (like "tell me all the names referenced from this
code object") significantly more difficult.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to