[Seaside-dev] Issue 268 in seaside: Introduce WAMessageSend

codesite-noreply at google.com codesite-noreply at google.com
Sat Jan 3 14:27:00 UTC 2009


Comment #5 on issue 268 by paolo.bonzini: Introduce WAMessageSend
http://code.google.com/p/seaside/issues/detail?id=268

> Why is it not a message send if the arguments are not yet all specified?

Because its definition is not meant to be the same as a message send.  For  
example there should be no
distinction between receiver and arguments - if the selector has N keywords  
(0 for a unary message), the
"thing" should have N+1 arguments.  Then you can specify a constructor  
method #selector:receiver:, but
that's just a handy shortcut that sets the first argument.

> it is polymorphic with a block - so is the existing MessageSend in Squeak  
(at least in theory)

The "thing" is polymorphic with a block, the existing MessageSend in Squeak  
is not.  If something can be
evaluated with #value, its #numArgs should be 0.  Maybe that's what you  
meant by "(at least in theory)".

I don't care much if you call the "thing" WAMessageSend, because anyway in  
GNU Smalltalk the Squeak
MessageSend is called DirectedMessage.  But in Squeak it'd be confusing to  
have two classes differing only by
the WA prefix, but with only vaguely similar semantics.

> Callback has a very specific meaning in Seaside

Yeah, you're right.

One problem with the name is that block classes (independent of whether the  
exact name is Block,
BlockClosure, BlockContext or anything else) are named according to their  
syntax element rather than
according to their function (kind of like "Proc" in ruby).   
Maybe "WAMessageSender"?

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


More information about the seaside-dev mailing list