[Python-ideas] Message passing syntax for objects

Mark Janssen dreamingforward at gmail.com
Mon Mar 18 04:53:17 CET 2013


Hello,

I just posted an answers on quora.com about OOP (http://qr.ae/TM1Vb)
and wanted to engage the python community on the subject.

Alan Kay's idea of message-passing in Smalltalk are interesting, and
like the questioner says, never took off.  My answer was that Alan
Kay's abstraction of "Everything is an object" fails because you can't
have message-passing, an I/O task, working in the same space as your
objects -- they are two very different functionalities and they have
to be preserved **for the programmer**.

This functional separation made me think that Python could benefit
from a syntactical, language-given separation between Classes and the
messages between them, to encourage loosely-coupled, modular OOP.
Something that OOP has always promised but never delivered.

I think we should co-opt C++'s poorly used >> and << I/O operators
(for files) and re-purpose them for objects/classes.  One could then
have within interpreter space, the ability to pass in a message to an
object.

>>>  42 >> MyObject  #sends 42 as a message into MyObject

The Object definition would then have special methods __in__ to
receive data and a special way of outputing data that can be caught
__str__(?).

I'm hoping the community can comment on the matter....

Thanks,

Mark
Tacoma, Washington



More information about the Python-ideas mailing list