Hi Ben, Le 19 janv. 2016 à 17:35, Ben Coman a écrit :
> On Tue, Jan 19, 2016 at 10:29 PM, Christophe Demarey > <[email protected]> wrote: >> Hi all, >> >> In case you do not know, we work on bootstrapping Pharo, i.e. create a Pharo >> image from sources, not based on a previous image (well, we use a pharo >> image to produce it but no code / state from it). >> >> This process will allow to define a minimal Pharo kernel (currently 52 >> packages but we could have it far smaller) and to modularize the whole image >> (currently packages have too much dependencies on packages already loaded >> into the image). >> The bootstrap process also allows to write down the recipe to initialize a >> new image from scratch (some code is missing in the image or is wrong). In >> addition, I think we will clean a lot of historical objects that are not >> used anymore. >> >> With the amazing work done by Guillermo Polito during his Phd (around >> Espell, Oz): https://guillep.github.io/files/publications/Poli15Thesis.pdf, >> we succeeded to get a first prototype of a bootstraped Pharo 5 image (from >> 5.392). >> This prototype is able to run an eval command line handler and to log output >> / errors. Not all classes are yet initialized and you cannot yet save / >> restart this image but it is a big step forward. >> It is a 4 mb image (could be half the size without unicode data). You can >> download it at: >> http://chercheurs.lille.inria.fr/~demarey/pmwiki/pub/pharo-bootstrap/pharo-bootstrap.zip. >> >> Next steps are to have a bootstrapped image fully working, then to load >> packages on top of it (like network, sunit) to produce a minimal image. >> Then, we need to implement an Oz VM on top of Spur. >> After that, we need to work on a reliable way to build the bootstrap (not >> too sensitive to changes in the image). > > Great work guys. Now what stops me feeling compelled to really look > deep into this is having a class browser / senders / implementers > interface. I guess this is what Oz would facilitate for peeking into > the bootstrap image from another image ?? what we have with Espell, are mirrors pointing to the object space we created for the bootstrap. The idea would be to use mirrors in Pharo for all reflective operations to not mix pre-coccupations. Guillermo created this project: http://smalltalkhub.com/#!/~Pharo/Mirrors wit this perspective. Then tools like browser, inspectors, debugger should use these mirrors. Denis is also working to enable remote mirrors (a proxy to a local mirror). With this infrastructure in place, you will be able to browse code from another object space or another image. The bootstrap is a perfect use case to test the work of Denis on remote browsing / debugging. Cheers, Christophe
smime.p7s
Description: S/MIME cryptographic signature
