<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">Am 14.08.2019 um 11:54 schrieb Craig Latta <<a href="mailto:notifications@github.com" class="">notifications@github.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><p class="">Norbert writes:</p>
<blockquote class=""><p class="">Pharo since version 7.0 is bootstrapped on every build. And it is surely the best way to get a<br class="">
reliable artifact.</p>
</blockquote><p class="">The approach you cited uses a plethora of external tools processing source code. That's composition, but not bootstrapping (something building itself, or "pulling itself up by its own bootstraps“).</p></div></blockquote>You are of course welcome to put your own definition of bootstrapping. But why is this better? So bootstrapping should mean no operating system, no interpreter (like a shell) in between? Where is the defined border? I’ve never compiled a C compiler without having an assembler and C compiler, a shell and shell scripts at hand. So I’m really interested where it is defined exactly.</div><div>Pharo constructs in an image another image from nothing, then it loads some binary packages until the point it has a compiler. I’m not sure at the moment if the compiler recompiles everything again. I think you can call that bootstrapping</div><div><blockquote type="cite" class=""><div class=""><p class="">Whether you consider the essence of the system to reside in that source code or in machine instructions, reliability comes from being able to explain why each bit in the resulting artifact is there. I think that process is most understandable, and most effectively verified, when the space of those external tools is smallest. This is why I prefer systems that actually do bootstrap.</p></div></blockquote>I agree that the set of external tools should be small. By using the term „reliable“ it was regarding the artefact produced a.k.a the image. In the sense of being able to produce a bit identical artefact you can reason about. Maybe I should have used reproducible to make it more clear. But then we are not speaking my native language, you know?</div><div><br class=""></div><div>Norbert</div><div><br class=""><blockquote type="cite" class=""><div class=""><p class="">-C</p><p style="font-size:small;-webkit-text-size-adjust:none;color:#666;" class="">—<br class="">You are receiving this because you commented.<br class="">Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/413?email_source=notifications&email_token=AIJPEWZDTI4VE5GU33HNUUTQEPI5RA5CNFSM4IHOIK62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4IJTOI#issuecomment-521181625" class="">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW4FELZNZA7Q6H5AMQ3QEPI5RANCNFSM4IHOIK6Q" class="">mute the thread</a>.<img src="https://github.com/notifications/beacon/AIJPEW7Z7ZVD55CRWOIKB7DQEPI5RA5CNFSM4IHOIK62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4IJTOI.gif" height="1" width="1" alt="" class=""></p>
</div></blockquote></div><br class=""></body></html>