text_combined: guido van rossum hoaufpythonorg staticmethod thing isnt new thats also case 2x super thing case practicality beats purity note pay small measurable cost implicit __class__ implemented cell variable mechanism used nested scopes wouldnt want introduce unless used wed apr 30 2008 246 pm armin ronacher wrote hi blogged topic today turned bad idea summarize mailinglist hopefully start discussion topic think rather important last weeks something remarkable happened python3 sources self kinda became implicit function definitions super calls self also class passed super thats interesting means language shifts completely different direction super rarely used past mainly weird use common use case current class current instance passed super typed returned looked parent methods mro useful multiple inheritance mixin classes dont know parent confusing many see replacement good idea im sure current implementation way go main problem replacing superfoo selfbar something like superbar obviously self explicit class case foo cant determined caller furthermore python principle always functions stack introspection find caller examples stdlib builtins sort caller introspection special functions vars locals gloabal vars functions inspect module nothing getting current frame accessing dict locals globals super current python 3 builds goes way beyond implementation automatic super currently two ugly details think violate python zen bytecode generated differently name super used function __class__ added cell code super __class__ referenced fact f_localsplus completely unavailable within python makes whole process appear magical way magical anything weve python past doesnt fit language opinion explicit self methods methods less functions pythons methods functions descriptor puts method object around pass self first arguments thats incredible cool thing makes things simple nonmagical breaking principle introducing automatic super seems harm concept another odd thing python 3 starts keeping information c layer cant access within python super one example another good one methods dont descriptor wraps accessed via classes problem call call completely different receivers becomes problem functions marked staticmethods look completely looking classes perspective class c normal lambda x none static staticmethodlambda x none typecnormal typecstatic true cnormal 0x4da150 far see documentation tool chance keep apart even though completely different instance typecnormal typecstatic false cnormal __main__c object 0x4dbcf0 cstatic 0x4da198 dont knwo method thing think automatic super least implementable within python could imagine adding __class__ __self__ scopes automatically lot magic could removed regards armin _______________________________________________ pythondev mailing list zvlllneumpythonorg httpmailpythonorgmailmanlistinfopythondev unsubscribe httpmailpythonorgmailmanoptionspythondevguido40pythonorg guido van rossum home page httpwwwpythonorgguido _______________________________________________ pythondev mailing list zvlllneumpythonorg httpmailpythonorgmailmanlistinfopythondev unsubscribe httpmailpythonorgmailmanoptionspythondevpythondev40tangomucom thu 07 aug 2008 222712 0700 pythondev problems new super