<div class="gmail_quote">On Sun, Mar 1, 2009 at 10:04 PM, Craig Latta <span dir="ltr">&lt;<a href="mailto:craig@netjam.org">craig@netjam.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="Ih2E3d"><br>
&gt; You should ask John, but the aim was to get a minimal Hello World so<br>
&gt; there isn&#39;t a compiler for example.  But surely the answer is<br>
&gt; &quot;whatever you need to get what you want done&quot;, right?<br>
<br></div>
     Heh, sure... but you&#39;re not answering my question. :)  I&#39;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.</blockquote>
<div><br></div><div>Hmm, I think the key question here is: what do you want to be able to do with the image you create?  I&#39;ve no idea how John did this, but I think I would start by writing a method that did all the things I&#39;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&#39;d absolutely need to do in a minimal image.  Then I&#39;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&#39;d think you could run that method, hit those proxies and copy over other classes and methods as you hit them.  I&#39;m sure the devil is in the details, but this top level method that expresses exactly the things that you&#39;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.</div>
<div><br></div><div>- Stephen</div></div>