<div dir="ltr">Hi Marcel,<div><br></div><div>Just speaking about the constructor, I've long wished to be able to create MessageSend's with brevity like that.  I actually wish the traditional Smalltalk API would have been <i>outward-looking</i>, by having #>> answer a MessageSend, instead inward-looking and answering a CompiledMethod.  What do <i>users</i> of Smalltalk want to ever do with CompiledMethods?  Nothing.<div><br></div><div>But, I actually don't think it's too late.  There's no need to give up availability of #>>> (which I think <u>is</u> used by some frameworks -- I could be wrong) from the namespace.  Instead, I think we should simply overload #>> on Object and not worry about it.  If any code actually <u>needs</u> to create a MessageSend to a Behavior (probably a rare thing), they could still use the wordy constructor we're all still using to this day.</div><div><br></div><div>Okay, so there's Integer, too.  That's fine.  We're just talking about syntax-sugar here.  We'll have to continue to create our MessageSend's to Integer's the long way, which is what we're still doing, so, no big deal!  :)</div><div><br></div><div>See Kernel-cmm.1489.   I held off on that sugar to "<i>append"</i> arguments because it might be counterintuitive by the fact the #selector of a MessageSend is just set once and specifies a fixed number of arguments from the get go.  So, it might be better for usage of the arguments API to match #selector's.</div><div><br></div><div>Best,</div><div>  Chris</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 11, 2022 at 7:29 AM <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">A new version of Kernel was added to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/Kernel-mt.1489.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/inbox/Kernel-mt.1489.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-mt.1489<br>
Author: mt<br>
Time: 11 August 2022, 2:28:56.498306 pm<br>
UUID: 1413f35f-167c-7d45-af5c-198546d08830<br>
Ancestors: Kernel-eem.1488<br>
<br>
Propose #>>> message to set up message sends.<br>
<br>
Examples:<br>
        (5 >>> #negated) value.<br>
        (5 >>> #raisedTo: >>> 2) value.<br>
<br>
(This is just a brain fart. Feel free to discuss it. Maybe I am on to something here. Maybe not.)<br>
<br>
=============== Diff against Kernel-eem.1488 ===============<br>
<br>
Item was added:<br>
+ ----- Method: MessageSend>>>>> (in category 'evaluating') -----<br>
+ >>> arg<br>
+ <br>
+       arguments := arguments copyWith: arg.!<br>
<br>
Item was added:<br>
+ ----- Method: Object>>>>> (in category 'evaluating') -----<br>
+ >>> aSelector<br>
+       "<br>
+       (5 >>> #negated) value.<br>
+       (5 >>> #raisedTo: >>> 2) value.<br>
+       "<br>
+       <br>
+       ^ MessageSend receiver: self selector: aSelector!<br>
<br>
<br>
</blockquote></div>