[squeak-dev] Roassal next steps.

Tom Beckmann tomjonabc at gmail.com
Mon Oct 12 06:25:20 UTC 2020


Hi,

@timothy, happy to hear that Roassal now loads for you! :)

Concerning Announcements: when I initially tried to load Roassal, I
included AXAnnouncements from Squeaksource. However, there are some
extension methods from Roassal on Announcements that assume a different
data layout. In the version on Github I just made sure the extensions
compiled at all. Looking at the failing tests now, here are the two
hopefully correct implementations for the extension methods (code is mostly
copied from the Pharo version, you may want to consider having these make
better use of our stdlib if we want to keep those :)):

SubscriptionRegistry>>getInteractionsForClass: eventClass
"Return the list of subscription for a given Event class"
| answer |
answer := OrderedCollection new.
subscriptionsByAnnouncementClasses values do: [ :collection |
collection do: [:subscription |
(subscription action receiver class includesBehavior: eventClass) ifTrue:
[answer add: subscription subscriber]]].
^ answer

SubscriptionRegistry>>handleSubscriberClass: eventClass
"Return true if the receiver has a callback subscripbed for the event class"
^ subscriptionsByAnnouncementClasses values anySatisfy: [ :subCollection |
subCollection anySatisfy: [:subscriber | subscriber action receiver class
includesBehavior: eventClass ]]

With these two, the two RSRoassal3Test methods pass for me.

I think the most helpful next step would be to go through each package,
make sure the package can be loaded without stumbling over stray pharo-only
symbols and getting all the tests to pass.

Best,
Tom

On Sun, Oct 11, 2020 at 9:58 PM Jakob Reschke <forums.jakob at resfarm.de>
wrote:

> "We" might not need Announcements, but Roassal uses them, so "it" needs
> them.
> :-)
>
> Is AXAnnouncements still API-compatible with the Pharo Announcements (or
> should I phrase this the other way around)? Either way, it would be nice to
> have a working Pharo-Announcements-API implementation for Squeak, at least
> for compatibility's sake. It doesn't have to be in the Trunk, but once you
> have an implementation or shim, one would extend the BaselineOfRoassal to
> include this dependency for Squeak only.
>
>
>
> --
> Sent from: http://forum.world.st/Squeak-Dev-f45488.html
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20201012/44847557/attachment.html>


More information about the Squeak-dev mailing list