[squeak-dev] Lessons learned from (Re: Faster fibonacci)
Keith
keithy at consultant.com
Mon Apr 29 23:15:34 UTC 2019
Years ago I was trying to rationalise all the various functionality of
Smalltalk/SmalltalkImage across
forks. I also wanted to support a scheme that would handle being
bootstrapped from sources.
i.e. the startup process may load in or unload a number of classes from
sources at an early stage, and when the time came to think about
#startUp they may not have been #initialised, (the #startUp might be
their initialisation).
So I vaguely recollect that when I had a go at re-doing the startuplist
I removed this responsibility to a class of its own, called
StartupManager, and removed the class var that holds the list in favour
of a voting system.
I found some code hiding away (somewhat obfuscated)
https://bazaar.launchpad.net/~keithy/cuis/System-Support_StartupManager/revision/1#StartupManager-into-Cuis2/1-System-Support-StartupManager.install/0002/StartupManager-(startup-shutdown)-int.1.st
Looking through the comments I find
StatupManager
New simple startUp shutDown protocol
classes implement #startUpPriority #shutDownPriority to register.
Note: this code could be hosted on a different class, such as
SmalltalkImage,
The startUp and shutdownLists are compiled by looking at all
implementors of:'
#startUpPriority and #shutDownPriority'
Priorities are: #first #earliest #earlier #early #normal #late #later
#latest #last'
As you can imagine this was very much a first attempt at resolving these
problems.
Keith
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190430/3238d39f/attachment-0001.html>
More information about the Squeak-dev
mailing list
|