<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>On 2026-03-20 05:46, Stephen Pair via Cuis-dev wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div style="font-family: Arial, sans-serif; font-size: 14px;">I've recently come back to Smalltalk after about a 15 year absence to work on a personal project.  I've been really impressed with Cuis Smalltalk.  I love the goal of maintaining a simple and powerful implementation of Smalltalk.</div>
<div style="font-family: Arial, sans-serif; font-size: 14px;"> </div>
<div style="font-family: Arial, sans-serif; font-size: 14px;">Question:  Is there any plan to migrate to full block closures (as found in Squeak) in Cuis in the future?</div>
<div style="font-family: Arial, sans-serif; font-size: 14px;"> </div>
<div style="font-family: Arial, sans-serif; font-size: 14px;">Thanks,</div>
<div style="font-family: Arial, sans-serif; font-size: 14px;">Stephen</div>
<div class="protonmail_signature_block protonmail_signature_block-empty" style="font-family: Arial, sans-serif; font-size: 14px;"> </div>
<br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace"> </div>
</blockquote>
<p>Already there.</p>
<p>I use Continuation Passing Style, e.g. to animate card moves.</p>
<p><br /></p>
<p>Feature require: 'Morphic-Games-Solitaire'.</p>
<p>=====</p>
<p>CardTableMorph>><br />slide: aMorph to: endPoint nSteps: numSteps delay: milliSecondsDelay next: nextAction<br /> "Slide from current to new position -- in owner's coordinates"<br /> "Nota Bene: Asynchronous. When complete, nextAction value"</p>
<p>| startPoint delta stepCount |<br /> startPoint _ aMorph morphPosition.<br /> delta _ (endPoint - startPoint) / numSteps.<br /> stepCount := 0.<br /> aMorph when: #morphicStep <br /> evaluate: [ :ignoredArgument |<br /> stepCount := stepCount + 1.<br /> (stepCount < numSteps)<br /> ifTrue: [ <br /> aMorph morphPosition: (startPoint + (stepCount * delta)) rounded; <br /> redrawNeeded <br /> ]<br /> ifFalse: [ "done"<br /> aMorph stopStepping.<br /> aMorph morphPosition: endPoint.<br /> aMorph removeActionsForEvent: #morphicStep.<br /> nextAction value<br /> ]<br /> ].<br /> aMorph startSteppingStepTime: milliSecondsDelay!</p>

</body></html>