[squeak-dev] Separation of domain from UI in Squeak (was: 5.3 cannot rename subclasses of Error)

Marcel Taeumel marcel.taeumel at hpi.de
Mon Mar 2 09:24:35 UTC 2020


Hi all! :-)

Here is a more general thought:

Working with ProvideAnswerNotification is too brittle for tests. It is basically useless when using localization (String >> #translated). One cannot expect the translator to also translate all those patterns for ProvideAnswerNotification.


The explicit use of a RemarkNotification (or similar) improves modularity by decoupling the mechanism from UI texts.

Just my two cents. :-) Let's work on that in 6.0alpha. Christoph (ct) has some interesting ideas in this regard.

Best,
Marcel
Am 29.02.2020 18:48:22 schrieb Jakob Reschke <forums.jakob at resfarm.de>:
Am Sa., 29. Feb. 2020 um 03:23 Uhr schrieb tim Rowledge :
> An obvious problem with the current implementation is that it carries very little helpful information (notwithstanding Marcel's BlockClosure>>#valueSupplyingAnswers: try-to-do-it-all method) for the handler to decode. We seem to need to know an awful lot about what is going on in called code.

Agreed. And in a catch-all handler, how do you know which details you
can access in the current handler invocation?

> It might be neat if we could find a way to handle the exception within a terminal environment; maybe with 'curses' (that's probably dating me horribly) or zenity or whatever. Possibly helpful for nominally headless setups?

If we had all these request exceptions Christoph and me are writing
about, I'd imagine the fallback handlers would sit in the Project
subclass. MorphicProject opens the UserDialogBoxMorph, MVCProject does
its equivalent thing, HeadlessProject must already know all the
answers or abort with an error, TerminalProject (sounds like the last
one before the program dies...) pops up the request with the imaginary
curses UI.

Also note that opening a debugger is a special case of all of this:
the debugger is the UI for the request of how to proceed in the event
of an error, warning or interrupt/halt/breakpoint.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200302/dad2aba5/attachment.html>


More information about the Squeak-dev mailing list