On Tue, Mar 12, 2013 at 12:01 PM, Esteban Lorenzano <esteba...@gmail.com>wrote:

>
> On Mar 12, 2013, at 7:44 PM, Eliot Miranda <eliot.mira...@gmail.com>
> wrote:
>
>
>
> On Tue, Mar 12, 2013 at 2:57 AM, Esteban Lorenzano <esteba...@gmail.com>wrote:
>
>> We use an automated building method that tries to be exactly the same in
>> each platform. We decided not to create bundles but dylibs because bundles
>> are mac-specific stuff and .dylibs same (but for mac) as .so and .dll.
>> Our process builds the vm, the plugins and the third party libraries as
>> an all-in-one. Eliot builds are hand made, and when there is a process
>> (like the autotool for unix builds), they are platform-specific.
>>
>
> That mine are hand-builkt is a straw man. They're not.  I kick off the
> builds by hand but everything is scripted and reproducible, and included in
> the generated source.  I don't (yet) have access to Jenkins for all three
> platforms.  But the VMs at Cadence are now all built via Jenkins (thanks to
> Bob Westergaard).  What's different is a fork.
>
>
> my bad... I thought it was hand made, I'm sorry. Good to know that it
> isn't.
>
>
> 1. Cog includes the set of plugins that came from Qwaq/Teleplace plus the
> plugin needed to develop the VM (the x86 simulator BochsIA32Plugin).  Pharo
> uses the set of plugins it has chosen (several of the same plugins are
> internal to the Cog VM, e.g. UUIDPlugin is internal in Cog).
>
>
> yes, as I said there is minimal difference between internal and
> external... just a a matter of taste if you want :)
>
>
> 2. Pharo uses CMake driven from Smalltalk; I'm too lazy to move, so
> automake is used (one in a blue moon) on linux, and hand-crafted makefiles
> on Mac and Windows (that don't change much).  The Pharo way is better
> (although I find CMake as incomprehensible and arbitrary as automake), but
> both Cog and Pharo have predictable C make systems.
>
>
> yes, I agree that cmake is as incomprehensible as autoconf... a terrible
> pain when you need to touch them directly... that´s why we try to use the
> CMakeMaker package, who helps (but not completely) to make the task less
> painful.
>
>
> 3. Pharo has forked the VM to include a) NativeBoost and b) ephemerons and
> c) new FileSystem primitives.
> a) is cool, but I don't like the x86 specificity.  I want a cross-platform
> FFI, so I'm not excited enough to include NB in my port.
> b) is useful (I fixed the implementation of ephemerons for VisualWorks
> done by someone else a while back, and I understand them well), but I don't
> like Igor's implementation.  IMO the ephemeronness of an object needs to be
> reflected in its format field (the 4 bit type field in every object), not
> found by indirecting through the class, which is hairy in the current GC
> and slow.  I've proposed an alternative and Igor is I think in agreement,
> but we have to find the time to implement it.
>  c) I have to find time to port.  Its a no-brainer.
>
>
> I do not consider pharo a fork. I think is wrong to think on it like a
> separated development. We put some effort on top of your own effort to
> match other requirements (like NB, branding, allow some experiments, etc.),
> but in essence is the same cog... we just change the cover :)
> Most of the changes are now based on: NB, the Cocoa branch and some
> plugins not yet integrated... I hardly would consider that a fork (and we
> try not to fork in purpose: is dumb to divide the work of the few ppl who
> work on the vm level in our community).
>

Yes, I agree.  I didn't choose my words carefully enough.  It is a version
of Cog, just as the one I build is the Croquet version (soon to be a Squeak
version).

But it would be nice if there was more agreement on the format of Smalltalk
getSystemAttribute: 1009.  This is a useful attribute and nice if it were
parsed by the Pharo image code.


Pharo however has a different vision than other communities in some points,
> specifically about the plugins and its place: the plugins should be moved
> to inside the image as much as they can (that's why NB is so important for
> us). The idea is to allow the community to participate in maintaining the
> plugins and keep the vm programmers focused on... well, vm stuff :)
>
> Esteban
>
>
>
>> TL;DR: Is easier for us to build all the vm stuff in an unified way :)
>>
>> Esteban
>>
>> On Mar 12, 2013, at 10:49 AM, "p...@highoctane.be" <p...@highoctane.be>
>> wrote:
>>
>> > Eliot's CogVM vs PharoVM on Mac application contents. Quite different.
>> >
>> > And worth some explanations :-) Why is it that way?
>> >
>> > Phil
>> >
>> > 2013/3/12 Stephan Eggermont <step...@stack.nl>:
>> >>> It would be good to have a parallel job, but the problem is that you
>> will
>> >>> get a message saying that the VM is too old for the Pharo 2.0 image.
>> >>
>> >> I started the latest MOOSE image on Eliots latest VM on mac.
>> >> It still has the 'old vm' warning.
>> >> Adding a monticello repository (directory) doesn't work.
>> >> Tests are still running
>> >>
>> >> Stephan
>> >>
>> >>
>> > <2013-03-12_10-43-37.png>
>>
>>
>>
>
>
> --
> best,
> Eliot
>
>
>


-- 
best,
Eliot

Reply via email to