<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Okay, so you would prefer a different naming?</p>
<p>On the other side, there are many prepositions that have different meanings in different selectors ...</p>
<p>For example, "in:" for Objects expects an evaluable. "in:" for Compilers expects either an environment or a context.</p>
<p>"on:" expects either an exception, or a model, or an event name, or a stream. :)</p>
<p>Personally, I don't really care - each selector in Squeak is only one Cmd + M or Cmd + ArrowRight away from revealing their argument's true names. Smalltalk's complexity is just greater than the complexity of any natural language :-)</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel<br>
<b>Gesendet:</b> Montag, 6. Januar 2020 10:42:56<br>
<b>An:</b> John Pfersich via Squeak-dev<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Kernel-ct.1292.mcz</font>
<div> </div>
</div>
<div>
<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
Note Squeak's object events: #when:send:to:. There, "when" requires an event object as a look-up key in the event map. Usually a Symbol.
<div><br>
</div>
<div>Best,</div>
<div>Marcel</div>
<div class="mb_sig"></div>
<blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
<p style="color: #AAAAAA; margin-top: 10px;">Am 03.01.2020 07:43:42 schrieb Jakob Reschke <forums.jakob@resfarm.de>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">
<div dir="auto">
<div>Note that VA Smalltalk has a legacy approach to exceptions that precedes the ANSI standard. It uses #when:do: in place of #on:do:. (Nowadays it also supports #on:do: but not for old-style exceptions in applications.) Might not a blocker for the proposed
 nomenclature, but you should at least be aware of it.</div>
<div dir="auto"><br>
<div class="gmail_quote" dir="auto">
<div dir="ltr" class="gmail_attr"><<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> schrieb am Fr., 3. Jan. 2020, 02:21:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A new version of Kernel was added to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/Kernel-ct.1292.mcz" rel="noreferrer noreferrer" target="_blank">http://source.squeak.org/inbox/Kernel-ct.1292.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-ct.1292<br>
Author: ct<br>
Time: 3 January 2020, 2:21:26.297116 am<br>
UUID: 95936a10-85a4-734e-a10b-0f87290b70f9<br>
Ancestors: Kernel-nice.1291<br>
<br>
Proposal: Implement conditional exception handling on blocks. The nomenclature is inspired from usual practice in .NET languages.<br>
<br>
For an impression of possible users, have a look at:<br>
<br>
        self systemNavigation<br>
                browseMessageList: ((self systemNavigation allCallsOn: #on:do: and: #pass) intersection: (#(ifTrue: ifFalse: ifTrue:ifFalse: ifFalse:ifTrue:) gather: [:sel | self systemNavigation allCallsOn: sel]))<br>
                name: 'Potential users of #on:when:do:'<br>
<br>
=============== Diff against Kernel-nice.1291 ===============<br>
<br>
Item was added:<br>
+ ----- Method: BlockClosure>>on:when:do: (in category 'exceptions') -----<br>
+ on: exceptionOrExceptionSet when: aPredicate do: handlerAction<br>
+ <br>
+       ^ self<br>
+               on: exceptionOrExceptionSet<br>
+               do: [:exception |<br>
+                       (aPredicate value: exception)<br>
+                               ifTrue: [handlerAction cull: exception]<br>
+                               ifFalse: [exception pass]]!<br>
<br>
Item was added:<br>
+ ----- Method: BlockClosure>>on:when:ensure: (in category 'exceptions') -----<br>
+ on: exceptionOrExceptionSet when: aPredicate ensure: aBlock<br>
+ <br>
+       ^ self<br>
+               on: exceptionOrExceptionSet<br>
+               do: [:exception |<br>
+                       (aPredicate value: exception)<br>
+                               ifTrue: [aBlock value].<br>
+                       exception pass]!<br>
<br>
<br>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>