[squeak-dev] re: MicroSqueak

Igor Stasenko siguctua at gmail.com
Mon Mar 2 03:33:31 UTC 2009


2009/3/2 Stephen Pair <stephen at pairhome.net>:
> On Sun, Mar 1, 2009 at 10:04 PM, Craig Latta <craig at netjam.org> wrote:
>>
>> > You should ask John, but the aim was to get a minimal Hello World so
>> > there isn't a compiler for example.  But surely the answer is
>> > "whatever you need to get what you want done", right?
>>
>>     Heh, sure... but you're not answering my question. :)  I'm wondering
>> how others have gone about deriving the complete set of classes and methods
>> a system needs to perform a particular task (so that I can compare to how I
>> do it). Indeed, I should ask John.
>
> Hmm, I think the key question here is: what do you want to be able to do
> with the image you create?  I've no idea how John did this, but I think I
> would start by writing a method that did all the things I'd want to be able
> to do in the image I ultimately create.  This might be things like compiling
> a string of code, loading something from a file (or socket), etc...the bare
> minimum of things you'd absolutely need to do in a minimal image.  Then I'd
> guess you could create a shadow M* class with this method in it and some
> sort of proxies for literals and global references.  With a little
> doesNotUnderstand: magic I'd think you could run that method, hit those
> proxies and copy over other classes and methods as you hit them.  I'm sure
> the devil is in the details, but this top level method that expresses
> exactly the things that you'd want to be able to do in this minimal image
> seems like it would be an interesting artifact in and of itself.  It would
> be in a sense a specification of this image.
> - Stephen
>
>
I having a similar idea to capture methods/classes while running code
to discover what objects i need to clone into separate heap to make it
running under another interpreter instance in Hydra.

Squeak already having facilities which can be used for this:
MessageTally tallySends: aBlock .

we just need to make some modifications to it, and as you pointed out,
since we need a bare minimum, then capturing things while running:

FileStream fileIn: 'somecode.st'

is a good starting point.


-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list