Python and generic programming
Roman Suzi
rnd at onego.ru
Fri Oct 22 04:05:41 EDT 2004
More information about the Python-list mailing list
Fri Oct 22 04:05:41 EDT 2004
- Previous message (by thread): Python and generic programming
- Next message (by thread): Python and generic programming
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 21 Oct 2004, Josiah Carlson wrote: > > Roman Suzi <rnd at onego.ru> wrote: > > > Most Python programs are already kinda generic, yes. But generic > > programming adds multi-sorted types control and constraints to ensure type > > safety... > > "kinda generic"? That is quite the understatement. > > As for "type safety", Python has runtime type checking, and as a > programmer, if you want to have varying dispatch based on type, you are > free to do so: > > foo_dispatch = {(int, int):foo_int_int, #some defined function > ...} > > def foo(arg1, arg2): > foo_dispatch[(type(arg1), type(arg2))](arg1, arg2) > > > With decorator syntax, the above becomes even easier. > > > Your arguments claiming Python is not generic, and your suggestions that > Python is not type safe while being generic are unfounded. One likely > reason why you don't find many examples of what I show above, is because > it is usually not necessary; even for production applications. The essense of my question was not to proof or dis-proof Python's genericity capabilities! But I'd liked to know from those who know ;-) can Python be called as supporting GP or not, and if not, what is missing. C++ doesn't support GP in full, but it seems, its heading to that direction. As byside, type-safety is a good thing sometimes, especially in moderately large projects. So probably interfaces or concepts is a good idea for a PEP. And I think GPs concepts are even better than just interfaces as they add constraints. Right now concepts in Python are vaguely expressed like file objects must have this, this and this. > - Josiah Sincerely yours, Roman A.Suzi -- - Petrozavodsk - Karelia - Russia - mailto:rnd at onego.ru -
- Previous message (by thread): Python and generic programming
- Next message (by thread): Python and generic programming
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list