[squeak-dev] how to protocol removal

Jakob Reschke forums.jakob at resfarm.de
Mon Oct 5 20:23:13 UTC 2020


You can access the scripts in the Monticello browser by selecting the
package and clicking the Scripts button in the bar.

Am Mo., 5. Okt. 2020 um 22:03 Uhr schrieb rabbit
<rabbit at churchofthesacrifice.org>:
>
> Hi Jakob,
>
> Thanks for the info! How could I define such a preamble in Monticello? I
> ended up redefining the methods to call the super impl and pass the
> tests. So these methods are present in the package I published.
>
> I modified the PromiseTest in KernelTests-Processes to add small delay
> to allow for async completions. The only changes in semantics are that
> when a second attempt for a resolution, of a previously resolved
> promise, I throw a PromiseAlreadyResolved exception. When an arbitrary
> rejection value is used I wrap it in a BrokenPromiseValue excption.
> These are the only two classes & exceptions I added to the trunk impl.
>
> PromisesLocal pass those tests when it is loaded.
>
> K, r
>
> On 10/5/20 3:29 PM, Jakob Reschke wrote:
> > Hi,
> >
> > What about a preamble script to remove the existing class or methods?
> >
> > Though it does not sound like a good idea to me if the interface is
> > not compatible. It will probably break other stuff in the image.
> >
> > Kind regards,
> > Jakob
> >
> > Am So., 4. Okt. 2020 um 19:41 Uhr schrieb rabbit
> > <rabbit at churchofthesacrifice.org>:
> >> I have a package PromisesLocal which redefines a trunk class, Promise.
> >> There is some old protocol from trunk Promise which remains as part of
> >> the new definition and this is breaking tests (,
> >> Promise>>#whenResolved:, Promise>>#whenBroken:). Is there a way with
> >> Monticello or loading where I can remove this protocol? Or a better
> >> question is how to best remove this protocol when loading a Monticello
> >> package?
> >>
> >> K, r
> >>
> >>
> >>
>


More information about the Squeak-dev mailing list