[squeak-dev] Lessons learned from (Re: Faster fibonacci)

Keith keithy at consultant.com
Mon Apr 29 23:46:05 UTC 2019

On 29 Apr 2019, at 23:14, tim Rowledge wrote:

> Hi marcel -
>> On 2019-04-28, at 11:40 PM, Marcel Taeumel <marcel.taeumel at hpi.de>
>> wrote:
>> command-line scripts are executed *after* all other start-up calls
>> were made using a deferred UI message. There is no need to fiddle
>> around with the order in the start-up list. See:
>> SmalltalkImage >> #processStartUpList:
>> AutoStart class >> #startUp: (last line)
>> ProjectLauncher >> #startUp
>> ProjectLauncher >> #startUpAfterLogin
> I see that; but then we have to work out why the stdin/out/err
> filehandles need (re)initialising.  FileStream class>>startUp: (true)
> is supposed to do it as part of the normal startup sequence but I had
> to add it at the beginning of my doit-file. Not to mention why does it
> seem to not work at all on Windows? And also, there is still the point
> that things are not in the requested/required order in the StartUp
> list.
> As an extra excitement, how shall we allow for having startup files
> that want to avoid the UI starting up - say to support the idea of
> using Squeak for quick jobs as part of scripting? I'm not at all sure
> what a good answer would be here, it seems at first thought that we'd
> need either have two ways to specify the files in the commandline
> (say, -earlyfilein & -uifilein, which are both horrible and should not
> be used!) or to have some tags in the files to say where sections get
> evaluated - perhaps [preUI] & [postUI].

This was the functionality of my InstallSeries code.

The idea was to aim to load a project as a series of file ins, from a
hierarchy of directories whose structure would indicate the priority,
such as #preUI,  "I am the UI" and #postUI.

The file out scheme, would create InstallSeries compatible changesets
according to specific slice definitions, such as "methods in the image
categorised as (startup-shutdown)." Thus a slice definition could be
applied to more than one image or fork, for import or export.

The aim was to patch each fork (pharo squeak cuis et al) at an early
stage in the bootstrap so that subsequent slices of functionality could
be held in common. I think I got as far as loading Seaside in Cuis.

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

More information about the Squeak-dev mailing list