Concepts RE: Python evolution: Unease
Roman Suzi
rnd at onego.ru
Wed Jan 5 09:19:38 EST 2005
More information about the Python-list mailing list
Wed Jan 5 09:19:38 EST 2005
- Previous message (by thread): Concepts RE: Python evolution: Unease
- Next message (by thread): Concepts RE: Python evolution: Unease
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 5 Jan 2005, Paul Rubin wrote: >Paul Rubin <http://phr.cx@NOSPAM.invalid> writes: >> There is nothing in Wikipedia about [Generic programming]. > >Oops: http://en.wikipedia.org/wiki/Generic_programming > >This helps. But I don't see how it's different from what used to >be called polymorphism. I already posted these links. They seem to give more fundamental definitions than wikipedia: ''' 1. http://www.cs.rpi.edu/~musser/gp/ 2. "A Formalization of Concepts for Generic Programming" (google could find PDF of that). If I am correct, this one: http://www.osl.iu.edu/publications/pubs/2004/willcock04:_formal_concep_gener_progr.pdf (it is safe to skip till example on Fig.1 to grasp the idea behind a concept. Relations between concepts are also very logical and remind of inheritance, association and aggregation) 3. "The Boost Graph Library" by Jeremy Siek, et al with A.Stepanov's foreword is a good way to see GP != STL. ''' As for polymorphism, yes, polymorphism. But any decent language has some sort of polymorphism today. The essense of concepts is that they provide formalities for (call them) contracts, interfaces, etc. Concepts from GP gather all these together and call it a concept: a family of similar types. Python already uses concepts implicitly, by convention. And we know them well: file-like objects, sequences, maps, sets, queues, arrays, etc. My "marketing" of GP is directed to formalise on concepts instead of partial cases (design-by-contract, interfaces etc). Thus, concepts control polymorphism not only from liberation side, but from constraint side too. Right now concepts in Python are reused here and there without explicit mentioning. Concepts could help make code even more reusable. Sincerely yours, Roman Suzi -- rnd at onego.ru =\= My AI powered by GNU/Linux RedHat 7.3
- Previous message (by thread): Concepts RE: Python evolution: Unease
- Next message (by thread): Concepts RE: Python evolution: Unease
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list