You're remark of function chaining reminded me of a nice feture that a few OOP 
languages provide:

// pseudo syntax
auto obj = new Object();
obj foo() ; bar() ; goo() 

foo, bar and goo above are three mesages (methods) that are sent to the same 
object. i.e. it's the same as doing:
obj.foo();
obj.bar();
obj.goo();

this means the functions can return void instead of returning this like you'd 
do in C++/D. I think it provides a cleaner conceptual separation between 
multiple messages sent to one object and real chaining when foo returns obj2 
which then receives message bar and so on.

Reply via email to