[Cuis-dev] unnecessary punctuation

Boris Shingarov shingarov at labware.com
Fri Jun 14 08:11:02 PDT 2024


> Interesting - I've never realized the difference :) So if I understand
> correctly the #ifTrue:ifFalse message gets inlined only when used with block
> arguments

Wait... didn't we get rid of it about a year ago, in order to avoid
duplicating Pharo's complexity around "deoptimization"?

Let me check:

DUCK >> ifTrue: a ifFalse: b
  ^'Excellent!'

Then, in Pharo:

  DUCK new ifTrue: [1] ifFalse: [2]  → 'Excellent!'

In Cuis today:

  DUCK new ifTrue: [1] ifFalse: [2]  → NonBooleanReceiver


Sigh.
I was kinda hoping we were close to porting MA to Cuis.
But if we can't send ifTrue:ifFalse: to non-1854 Booleans, such as
unsaturated expressions, then we can't execute Smalltalk symbolically
which means we can't do anything.



More information about the Cuis-dev mailing list