python / cpython

The Python programming language
https://www.python.org
Other
63.52k stars 30.43k forks source link

add type defintion support #44490

Closed 285978ad-ab23-4eae-8c05-3266f4bc23e4 closed 17 years ago

285978ad-ab23-4eae-8c05-3266f4bc23e4 commented 17 years ago
BPO 1639002
Nosy @birkenfeld, @josiahcarlson

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields: ```python assignee = None closed_at = created_at = labels = ['interpreter-core', 'type-feature'] title = 'add type defintion support' updated_at = user = 'https://bugs.python.org/djnet' ``` bugs.python.org fields: ```python activity = actor = 'josiahcarlson' assignee = 'none' closed = True closed_date = None closer = None components = ['Interpreter Core'] creation = creator = 'djnet' dependencies = [] files = [] hgrepos = [] issue_num = 1639002 keywords = [] message_count = 3.0 messages = ['54991', '54992', '54993'] nosy_count = 3.0 nosy_names = ['georg.brandl', 'josiahcarlson', 'djnet'] pr_nums = [] priority = 'normal' resolution = None stage = None status = 'closed' superseder = None type = 'enhancement' url = 'https://bugs.python.org/issue1639002' versions = ['Python 2.6'] ```

285978ad-ab23-4eae-8c05-3266f4bc23e4 commented 17 years ago

Hi,

I'm used to java language. When i use a good java ide, the autocompletion is very effective (python cannot be such effective). ex, if i enter following text: Date lDate=new Date(); lDate.[TAB_KEY] then the editor can display all the methods available for my 'lDate' object; it can because it knows the object's type. This is very convenient and allows to use a new API without browsing the API documentation !

I think such autocompletion could be achieved in python simply: it only need a "type definition" syntax. Of course, the type definition should NOT be MANDATORY !

So, is this a good idea ?

David

birkenfeld commented 17 years ago

If what you're suggesting is static typing, please go to the python-ideas mailing list and discuss it there. Changes of a scope that large shouldn't be discussed in a issue tracker.

ef6b2a61-f027-4805-a66a-cde4eee277c3 commented 17 years ago

FYI, WingIDE and a few other Python IDEs/editors offer a pseudo-syntax for defining such things to help with such introspection. Sometimes it is code that is actually executed when the program is run, sometimes it is comments. You may consider looking into this stuff further before posting on the python-ideas list.