svenvc / ston

STON - Smalltalk Object Notation - A lightweight text-based, human-readable data interchange format for class-based object-oriented languages like Smalltalk.
MIT License
135 stars 32 forks source link

Add support for Squeak #17

Closed fniephaus closed 4 years ago

fniephaus commented 7 years ago

This introduces two platform-specific packages for each, Pharo and Squeak.

Compatibility changes for tests:

Also, Travis CI is instructed to test the STON code in the repository rather than from ss3.gemstone.com which is why I added a dedicated BaselineOfSton.

This PR closes #12.

svenvc commented 7 years ago

Fabio,

Thank you. This is a pretty large commit, I'll need some time to process it and to see how I merge it. I also want these changes back to regular MC and I have to figure out have to best do this.

Sven

fniephaus commented 7 years ago

No problem, take your time. And let me know if you need any help or clarification. You should be able to directly copy the packages from your FileTree repository to your other repositories.

krono commented 7 years ago

*bump*

svenvc commented 7 years ago

Hi,

I did try to study the change set (the big one), but it is soo large and complex that I am not able to judge it properly.

I even used it in a discussion about the pro & cons of git(hub) to make the point that merging is always hard, and the reaction was 'never accept such a huge change set' ;-)

So I have a problem evaluating the changes.

I also think that 100% portability will be quite hard (there are some serious differences between Pharo and Squeak).

Furthermore, STON is fundamental to Pharo (it is a standard part of the image and used in critical subsystems). STON is partially developed inside Pharo without any portability consideration (understandable given its importance). Splitting packages is counter productive in that respect.

Obviously I still think it is important that a reasonable Squeak port of STON exists, is used and maintained. I want to help make that real.

But I do not know how to proceed. Maybe the best route would be to do it like Gemstone, not really one code base, but a regular port with hard overrides.

I will try to sync the main SS3 repo to the changes that happened in Pharo and then re-export to github.

I am open to suggestions.

Sven

svenvc commented 5 years ago

A quick note: the current implementation no longer uses Traits which should make porting easier.

2d0ab3a

krono commented 5 years ago

@svenvc Thank you for letting us know!

shingarov commented 4 years ago

What is the status of this today? Would it make sense to give this fniephaus-patch-3 branch a try in a recent Squeak?

svenvc commented 4 years ago

STON has evolved since the patch was written, so I doubt it is directly useable.

It should be doable to port to Squeak, I just can't do this myself.

fniephaus commented 4 years ago

@shingarov I think my branch should still work in a recent Squeak. It's unfortunate that we didn't merge this PR. smalltalkCI is using its own fork of STON, so I'm closing this for now.