Ladrillos (was SqueakCore System [proposal])

Lic. Edgar J. De Cleene edgardec2001 at yahoo.com.ar
Wed Aug 23 08:31:47 UTC 2006


Pavel Krivanek puso en su mail :

> Hi Edgar,
> 
> That's great that you are trying to create packages for the kernel
> image but remember that the image shloud be consistent after loading -
> empty Undeclared etc. I don't know why you need to have FileList or
> MessageTally in this package.
> 
> I think that we need better packaging system - maybe something like
> Gentoo has. Packages use property named "use flags" that tell that for
> example MessageTally package may be compiled with the compression
> support.
> 
> Does anybody know next good packaging systems we can learn from?
How I "guess" the class list.

I have for a while 
Object > othersClassList
othersClassList
|classList metodosSospechosos |
 classList := Set new.
metodosSospechosos := self  methodDict .
metodosSospechosos isEmpty
        ifFalse: [metodosSospechosos
                collect: [:cm | cm literals
                        select: [:any | any isVariableBinding]
                        thenCollect: [:each | (Smalltalk at: each key
ifAbsent:[])
                                ifNotNil: [  classList add: each key]]]].
                   
metodosSospechosos := self class methodDict .
metodosSospechosos isEmpty
        ifFalse: [metodosSospechosos
                collect: [:cm | cm literals
                        select: [:any | any isVariableBinding]
                        thenCollect: [:each | (Smalltalk at: each key
ifAbsent:[])
                                ifNotNil: [classList add: each key]]]].
                    classList remove: self name  ifAbsent: [].
                    ^classList

On a fresh Squeak3.9g-7054.image.

 GZipReadStream othersClassList gives me a Set(#FileStream #Smalltalk
#Sensor #MultiByteBinaryOrTextStream #Array #OrderedCollection #ByteArray
#SimpleServiceEntry #ZipWriteStream #FileModifyingSimpleServiceEntry
#FileList #FileDirectory)


The goal is kernel could load the "wished" normal class without change any
on Squeak3.9g-7054.image and as little as possible on kernel.

So the "exploration" consists in exchange info between kernel as you
provides plus my first Ladrillo.
That is fileOut Network-Kernel.st from Squeak3.9g-7054.image and fileIn in
kernel, loading RemoteCommand.st and doing SmalltalkImage current
saveAsNewVersion.

Now I have your kernel as provided and KernelSqueak3.9b-7053.1.image
It's time to build the next Ladrillo, what I wish was the minimal code what
lets understand gzip on kernel without complaints, Undefined or odd things.

I have the process semi automatic.
The rest of classes what I thing should go in second Ladrillo comes from
this semi-automatic process.
When complete , also I polish this process.
And if I could proper load ZipConstants on kernel , I could continue

In the end , looooog time, we have a kernel with minimal change as you have
now, several Ladrilllos and I hope a beautiful, safer house for all.

Cheers.

Edgar
                    



	
	
		
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya! 
http://www.yahoo.com.ar/respuestas




More information about the Squeak-dev mailing list