Squeak size history

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Mon Dec 16 09:04:24 UTC 2002


Tim Rowledge <tim at sumeru.stanford.edu> wrote:
[SNIP]
> To make a kernel we really need very little. You need stuff to _be_ 
> methods, stuff to _hold_ methods and stuff to _run_ methods. Of course, 
> we need some way to add more stuff but that doesn't need to be much;  a 
> prim that can retrieve something suitable from somewhere (embedded in 
> the flash memory, in a file, off a net connection) or whatever. One 
> could load a bytearray that is used as an ImageSegment (in which case 
> some support code must be in the kernel) or a String to compile (in 
> which case the Compiler - or most of it - must be there). Once you have 
> that and VM plugins you can put together anything.

My proposal for the smallest kernel would be to have file support
(needed in order to maintain a changes-file etc I suppose - an
kernelimage without filesupport sounds tricky to deal with) OR Socket
support. Sockets are simpler I guess. And then also keep Compiler in
there AS LONG as it can be easily discarded.

This would let us:

- Fire it up with some command line argument telling it to open a Socket
on port x.
- Telnet into the kernel and feed it simple "do its" like a primitive
shell, since it has the Compiler.
- Feed it source packages.
- Tell it to dump the compiler, close the Socket and do a snapshot.

So in short - either file or Socket support (or some other darn I/O) is
needed. And of course - if it can be discarded like the Compiler - sure,
why not? :-)

My point is - if stuff can be discarded we don't necessarily need to
throw it out into a loadable package. The Compiler sounds like such a
thing - because its a "catch 22" if we stick to source code packages
then we can never break out the Compiler into such a package, right? :-)

regards, Göran




More information about the Squeak-dev mailing list