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
|