classification
Title: pyvm module patch
Type: enhancement Stage: test needed
Components: Extension Modules, Interpreter Core Versions: Python 3.1, Python 2.7
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: Nosy List: ajaksu2, benjamin.peterson, brett.cannon, christian.heimes, georg.brandl, gvanrossum
Priority: normal Keywords: patch

Created on 2007-11-29 16:27 by christian.heimes, last changed 2009-04-27 23:28 by benjamin.peterson. This issue is now closed.

Files
File name Uploaded Description Edit
py3k_add_types_to_h.patch christian.heimes, 2007-11-29 22:25
py3k_pyvm3.patch christian.heimes, 2007-11-29 22:26
Messages (15)
msg57937 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-29 16:27
I've created a pyvm module for Python 3.0. So far it just contains a
bunch of internal types. What methods do you like to add to pyvm?
Somebody suggested internal functions from sys like the check internal.
msg57940 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2007-11-29 17:22
Hm... What if we just put these names in sys?
msg57947 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-29 19:14
I don't see it as an option. I'd rather keep the types in the 'types'
module than to add them to the sys module.
msg57948 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2007-11-29 19:24
If there's a new "pyvm" module, there are a few things in sys that
should be moved there, I expect.
msg57949 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2007-11-29 19:29
> I don't see it as an option. I'd rather keep the types in the 'types'
> module than to add them to the sys module.

Why such a strong opinion? 'sys' is pretty close to the VM too...
msg57953 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-29 20:45
> Why such a strong opinion? 'sys' is pretty close to the VM too...

sys is a very important and often used module, too. I don't like the
idea to remove one module (types) and clutter an important module with
its content.

The list of types has grown pretty long and most of the types can't be
instantiated in Python. I fear that the types are going to confuse too
many people. However the types are useful for type checking and ABCs.

['PyCObject', '__doc__', '__name__', 'builtin_function',
'builtin_method', 'bytearray_iterator', 'bytes_iterator',
'callable_iterator', 'cell', 'classmethod_descriptor', 'cmpwrapper',
'code', 'dict_itemiterator', 'dict_items', 'dict_keyiterator',
'dict_keys', 'dict_valueiterator', 'dict_values', 'dictproxy',
'enumerate', 'frame', 'function', 'generator', 'getset_descriptor',
'instance_method', 'iterator', 'list_iterator', 'list_reverseiterator',
'longrange_iterator', 'member_descriptor', 'method_descriptor',
'module', 'range_iterator', 'reversed', 'set_iterator', 'sortwrapper',
'str_iterator', 'traceback', 'tuple_iterator', 'wrapper_descriptor']
msg57954 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2007-11-29 20:52
> sys is a very important and often used module, too. I don't like the
> idea to remove one module (types) and clutter an important module with
> its content.

Well, it is already pretty cluttered -- it contains many items that
*I* don't recognize... :-)

> The list of types has grown pretty long and most of the types can't be
> instantiated in Python. I fear that the types are going to confuse too
> many people. However the types are useful for type checking and ABCs.

Stuff in sys that people don't use doesn't really confuse anyone IMO.

I really don't think that this warrants a new module.

Many of the datatype-related types (e.g. dict_keys) should not go
there but in _collections anyway.
msg57955 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-29 21:11
Guido van Rossum wrote:
> Stuff in sys that people don't use doesn't really confuse anyone IMO.
> 
> I really don't think that this warrants a new module.
> 
> Many of the datatype-related types (e.g. dict_keys) should not go
> there but in _collections anyway.

I really think we should postpone the decision until after the next
alpha. For now I like to commit the part of the patch that adds all
types to the appropriate header files. A lot of internal types aren't
available from other C files.

Christian
msg57956 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2007-11-29 21:16
There has been talk in the past of cleaning up the sys module by
splitting it up into a package, although I don't know how that would
work for a built-in module, though.
msg57957 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-29 22:25
I've split the patch into two tasks. The first patch adds all types in
Objects/ to the appropriate header files. I've renamed some types, too.

The second patch contains the new pyvm.c module plus a modification to
Modules/Setup.dist.
msg57958 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-29 22:26
I like to apply the py3k_add_types_to_h.patch before the next alpha and
discuss the fate of pyvm after the alpha.
msg57959 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2007-11-29 22:30
> I like to apply the py3k_add_types_to_h.patch before the next alpha and
> discuss the fate of pyvm after the alpha.

Sure, go ahead and submit the uncontroversial part.
msg57961 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2007-11-29 22:36
Guido van Rossum wrote:
> Sure, go ahead and submit the uncontroversial part.

Applied py3k_add_types_to_h.patch in r59229
msg86709 - (view) Author: Daniel Diniz (ajaksu2) Date: 2009-04-27 23:21
Could this be useful for the "make other Python implementors lives
easier" plan?
msg86710 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2009-04-27 23:28
I'm afraid it's too late for this.
History
Date User Action Args
2009-04-27 23:28:42benjamin.petersonsetstatus: open -> closed

nosy: + benjamin.peterson
messages: + msg86710

resolution: rejected
2009-04-27 23:21:36ajaksu2setversions: + Python 3.1, Python 2.7, - Python 3.0
nosy: + ajaksu2

messages: + msg86709

type: enhancement
stage: test needed
2008-01-06 22:29:44adminsetkeywords: - py3k
versions: Python 3.0
2007-11-29 22:36:12christian.heimessetmessages: + msg57961
2007-11-29 22:30:21gvanrossumsetmessages: + msg57959
2007-11-29 22:27:20christian.heimessetfiles: - py3k_pyvm2.patch
2007-11-29 22:27:15christian.heimessetfiles: - py3k_pyvm.patch
2007-11-29 22:26:25christian.heimessetfiles: + py3k_pyvm3.patch
messages: + msg57958
2007-11-29 22:25:34christian.heimessetfiles: + py3k_add_types_to_h.patch
messages: + msg57957
2007-11-29 21:16:27brett.cannonsetnosy: + brett.cannon
messages: + msg57956
2007-11-29 21:11:32christian.heimessetmessages: + msg57955
2007-11-29 20:52:40gvanrossumsetmessages: + msg57954
2007-11-29 20:45:27christian.heimessetfiles: + py3k_pyvm2.patch
messages: + msg57953
2007-11-29 19:29:29gvanrossumsetmessages: + msg57949
2007-11-29 19:24:38georg.brandlsetnosy: + georg.brandl
messages: + msg57948
2007-11-29 19:14:07christian.heimessetmessages: + msg57947
2007-11-29 17:22:04gvanrossumsetmessages: + msg57940
2007-11-29 16:27:34christian.heimescreate