[squeak-dev] Squeaksource, Squeak and Pharo..
Dale Henrichs
dhenrich at vmware.com
Sat Dec 22 02:43:20 UTC 2012
Göran,
Just a clarification ... my work on github/metacello should work on all three platforms: squeak, pharo and gemstone.
The filetree repository which is used to store Monticello packages in git allows one to share source code amongst 7 different smalltalk dialects[1] and work is ongoing to have it functional on VA as well.
Benoit,
It isn't necessary have a commit storm on a single package ... Metacello associates specific mcz files with a Metacello version which are immutable (by convention), so you won't be affected if someone commits a newer mcz package ...
Also, there are several different approaches for making projects portable across multiple platforms:
- partition project into multiple packages isolating platform
dependent code into platform specific packages (i.e, Grease-Core,
Grease-Pharo-Core, Grease-GemStone-Core)
- create platform-specific branches of a single package (i.e.,
Grease-Core.common, Grease-Core.pharo, Grease-Core.gemstone,
Grease-Core.squeak)
- using git, create platform-specific branches
Metacello then associates the set of mcz files that work together in a single version (with different set of files for each platform). Common code is typically in a shared package ....
Dale
[1] https://github.com/CampSmalltalk/Cypress/blob/master/README.md
----- Original Message -----
| From: "Göran Krampe" <goran at krampe.se>
| To: "The general-purpose Squeak developers list" <squeak-dev at lists.squeakfoundation.org>
| Cc: juan at jvuletich.org, "Ron Teitelbaum" <ron at usmedrec.com>
| Sent: Friday, December 21, 2012 4:01:00 PM
| Subject: Re: [squeak-dev] Squeaksource, Squeak and Pharo..
|
| Hey!
|
| On 12/21/2012 10:58 PM, Ron Teitelbaum wrote:
| > I’m happy with the fragmentation. I wasn’t at the start of this
| > conversation but I think I’m starting to appreciate it. I agree
| > that
| > the goals for each are a bit different and having separated
| > achieving
| > those goals is easier. We are building some new stuff and it seems
| > that
| > selecting the right fork for the right job “may” not have been
| > possible
| > without the split. There are a number of new developments coming,
| > (in
| > the VM, Spoon, Seaside, Cuis, EToys, …) and it’s possible that one
| > big
| > monolithic Squeak may have made it more difficult for all. It
| > seems
| > that we are closer to having split up the components then we had
| > thought.
| >
| > I know we cannot make everyone happy. It seems that the starting
| > point
| > which seems to me to be COG, is the common link that binds
| > everything
| > else. Let me know if you think that is wrong. If that is true
| > then
| > building Squeak, or Pharo, or Cuis from a single point seems like
| > something that might help bring the communities back together.
| > Will
| > Github or SmalltalkHub help to accomplish this? If this were a
| > goal
| > would either do more than the other?
|
| Github is nice and I applaud if we have the ability to use it.
| SmalltalkHub is on the other hand "our own puppy" and fully MC
| focused,
| so the advantages would typically be:
|
| - Only Smalltalk stuff, no line noise of other things.
| - MC is still a much smoother ride than mirroring to files and using
| external tools like git.
| - Since we control SmalltalkHub we can tailor it for "Smalltalker
| needs"
|
| Disadvantages are obvious of course, but I tend to think SmalltalkHub
| has a good spot.
|
| > I agree with the goal, we want to be able to load a package and
| > have it
| > work and it would be nice if the dependencies were limited/managed
| > such
| > so that it will load in any fork. Not all packages will load in
| > every
| > fork so knowing which will work beforehand is preferable. VW is
| > different since nobody expects that with some work it will run on
| > Oinq,
| > I mean Cog (my name for the vm didn’t stick).
| >
| > It seems to me that it doesn’t really matter. There seems to be
| > some
| > movement behind Metacello and SmalltalkHub. Sometimes movement is
| > preferable to good ideas. If Metacello works for Squeak and will
| > work
| > with SmalltalkHub should we not include it in Squeak to give it a
| > boost? If Squeak goes with GitHub will Pharo follow?
|
| - Metacello indeed works for Squeak. And has done so for quite some
| time.
|
| - Metacello already works with SmalltalkHub. This is because
| Metacello
| is simply a layer on top of Monticello so SmalltalkHub (or any other
| MC
| repository) needs to know about Metacello. That is a very good thing.
|
| - I think it would be good if Squeak endorsed/considered Metacello a
| primary tool. And nothing stops us from adding better support in
| SqueakMap to deal with it.
|
| - And finally, no. Pharo does what Pharo wants :). But Pharo is
| closer
| to working with github than Squeak is, given several git and github
| related efforts in the Pharo community (Dale himself too). :)
|
| When it comes to the Pharo vs Squeak "debate" it is IMHO quite
| simple.
| Pharo has their own agenda and the core people are doing a lot of
| good
| work there. As a Smalltalker, Squeaker and Pharooner I applaud it and
| love it.
|
| BUT... just because the Pharo project is independent doesn't mean
| there
| aren't lots of us straddling both (or more) camps and want to do
| cross
| platform tooling and libraries etc. Dale Henrichs is one such shining
| example, and he of course also covers Gemstone.
|
| At the same time sometimes time and effort is colliding. Take for
| example my Riak binding and coding on Oak (a... kind of OODB) - I
| picked
| Pharo explicitly for the Riak binding and Oak too - simply because
| there
| was extra effort trying to be cross platform. That is something we
| simply need to live with.
|
|
| > Nobody likes change but if we would all benefit from adopting some
| > similar tools should we not consider doing that for the benefit of
| > the
| > entire Smalltalk community.
|
| I would think so.
|
| regards, Göran
|
|
More information about the Squeak-dev
mailing list
|