<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        Merged.<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 21.02.2020 17:33:03 schrieb Thiede, Christoph <christoph.thiede@student.hpi.uni-potsdam.de>:</p><div style='font-family:Arial,Helvetica,sans-serif'>
<div id="divtagdefaultwrapper" style="font-size: 12pt;color: #000000;font-family: Calibri,Helvetica,sans-serif" dir="ltr">
<p>This changeset makes it possible to accept an argument in the otherwise block of a #caseOf:otherwise: call.</p>
<p><br>
</p>
<p>Diff of the #caseOf:otherwise: implementation:</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p></p>
<div>caseOf: aBlockAssociationCollection otherwise: aBlock</div>
<p></p>
<p></p>
<div><span style="white-space:pre"></span>"The elements of aBlockAssociationCollection are associations between blocks.  Answer the evaluated value of the first association in aBlockAssociationCollection whose evaluated key equals the receiver.  If no match
 is found, answer the result of evaluating aBlock."</div>
<p></p>
<p></p>
<div><br>
</div>
<p></p>
<p></p>
<div><span style="white-space:pre"></span>aBlockAssociationCollection associationsDo:</div>
<p></p>
<p></p>
<div><span style="white-space:pre"></span>[:assoc | (assoc key value = self) ifTrue: [^assoc value value]].</div>
<p></p>
<p></p>
<div><span style="white-space:pre">
<div><strike><span style="color: rgb(0, 111, 201);">- </span><span style="white-space: pre; color: rgb(0, 111, 201);"></span><span style="color: rgb(0, 111, 201);">^ aBlock
</span><span style="color: rgb(0, 111, 201);">value</span></strike></div>
</span></div>
<p></p>
<p></p>
<div><span style="white-space:pre"><span style="color: rgb(208, 92, 18);">+ </span>
<span style="color: rgb(208, 92, 18);"></span></span><span style="color: rgb(208, 92, 18);">^ aBlock cull: self</span></div>
<p></p>
<p></p>
<div><br>
</div>
<p></p>
<p></p>
<div>"| z | z := {[#a]->[1+1]. ['b' asSymbol]->[2+2]. [#c]->[3+3]}. #b caseOf: z otherwise: [0]"</div>
<p></p>
<p></p>
<div>"| z | z := {[#a]->[1+1]. ['d' asSymbol]->[2+2]. [#c]->[3+3]}. #b caseOf: z otherwise: [0]"</div>
<p></p>
<p></p>
<div>"The following are compiled in-line:"</div>
<p></p>
<p></p>
<div>"#b caseOf: {[#a]->[1+1]. ['b' asSymbol]->[2+2]. [#c]->[3+3]} otherwise: [0]"</div>
<p></p>
<p></p>
<div>"#b caseOf: {[#a]->[1+1]. ['d' asSymbol]->[2+2]. [#c]->[3+3]} otherwise: [0]"</div>
<p></p>
<p></p>
<div><span style="color: rgb(208, 92, 18);">+ </span><span style="color: rgb(208, 92, 18);">"#b caseOf: {[#a]->[1+1]. ['d' asSymbol]->[2+2]. [#c]->[3+3]} otherwise: [:x | x halt]"</span></div>
<p></p>
</blockquote>
<p></p>
<div></div>
<br>
<p></p>
<p>Furthermore, the changeset includes a necessary modification of MessageNode >> #transformCase: so that the otherwise argument can be compiled in-line.</p>
<p>Last but not least, I wrote some tests for #caseOf:[otherwise:].</p>
<p><br>
</p>
<p><span style="font-size: 12pt">Please review!</span><br>
</p>
<p><span style="font-size: 12pt">(In a later change, it would be possible to allow arguments for the association key blocks as well. But I love short feedback loops, so let's assess this one first :-))</span></p>
<p><span style="font-size: 12pt"><br>
</span></p>
<p><span style="font-size: 12pt">Best,</span></p>
<p><span style="font-size: 12pt">Christoph</span></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>
<div class="_rp_T4" id="Item.MessagePartBody">
<div class="_rp_U4 ms-font-weight-regular ms-font-color-neutralDark rpHighlightAllClass rpHighlightBodyClass" id="Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="divtagdefaultwrapper"><span style="font-family: Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"></font></div>
</div>
</span></div>
</div>
</div>
</div>
</div>
<div><span style="font-size: 10pt;color: #808080"></span></div>
</div>
</div>
</div>
</div>
</div></blockquote>
                                        </div></body>