Hi All.
Is there a preferred methodology for handling Pharo-isms on Squeak?
I know Seaside has Grease which does some of that, but I don't thing we want Grease for CMakeVMMaker (or do we).
Specifically, the Pharo team has abstracted out some stuff in SmalltalkImage (vm, platform..) that does not exist in Squeak.
If there is an existing mechanism for bridging this gap, I will use it.
In the meantime, I will be DTSTTCW.
cordially,
tty
Hi Tty,
On Sat, May 10, 2014 at 8:17 AM, gettimothy gettimothy@zoho.com wrote:
Hi All.
Is there a preferred methodology for handling Pharo-isms on Squeak?
I know Seaside has Grease which does some of that, but I don't thing we want Grease for CMakeVMMaker (or do we).
Specifically, the Pharo team has abstracted out some stuff in SmalltalkImage (vm, platform..) that does not exist in Squeak.
If there is an existing mechanism for bridging this gap, I will use it.
In the meantime, I will be DTSTTCW.
+1. But I recommend a compatibility package that is loaded alongside to provide the missing support in Squeak. Then methods (& classes) can be moved from there into Squeak when we see fit.
cordially,
tty
Hi Eliot.
---- On Sat, 10 May 2014 11:27:30 -0700 Eliot Miranda<eliot.miranda@gmail.com> wrote ----
...
+1. But I recommend a compatibility package that is loaded alongside to provide the missing support in Squeak. Then methods (& classes) can be moved from there into Squeak when we see fit.
Thanks
I started by adding the protocol 'Squeak compatibility' to the CPlatformConfig class and then putting squeakDoFoo in there when doFoo is incompatible with Squeak. However, your approach is the one to take. It neither forks nor clutters the existing pharo CMakeVMMaker package.
Mini-refactoring #1 here we go!
Cordially,
tty
2014-05-10 20:27 GMT+02:00 Eliot Miranda eliot.miranda@gmail.com:
Hi Tty,
On Sat, May 10, 2014 at 8:17 AM, gettimothy gettimothy@zoho.com wrote:
Hi All.
Is there a preferred methodology for handling Pharo-isms on Squeak?
I know Seaside has Grease which does some of that, but I don't thing we want Grease for CMakeVMMaker (or do we).
Specifically, the Pharo team has abstracted out some stuff in SmalltalkImage (vm, platform..) that does not exist in Squeak.
If there is an existing mechanism for bridging this gap, I will use it.
In the meantime, I will be DTSTTCW.
+1. But I recommend a compatibility package that is loaded alongside to provide the missing support in Squeak. Then methods (& classes) can be moved from there into Squeak when we see fit.
The biggest source of differences is usage of FileSystem. FileSystem was originally written by Colin Putney in Squeak, so it should work well in Squeak. IMO, the best thing would be to integrate FileSystem in Squeak.
However the Pharo team has significantly modified the API. So now there is a dilemna: which FileSystem should we include in Squeak?
I'm for integrating the version of Pharo, in order to reduce the gratuitous differences. Unless there are reasons for not doing so. We should ask Colin, not sure if he follow this list, so I cross post on Squeak-dev.
cordially,
tty
-- best, Eliot
Hi Nicolas.
The biggest source of differences is usage of FileSystem.
FileSystem was originally written by Colin Putney in Squeak, so it should work well in Squeak.
IMO, the best thing would be to integrate FileSystem in Squeak.
SmalltalkImage vm is architected very differently in the two systems as well.
Cordially,
tty
2014-05-10 21:04 GMT+02:00 gettimothy gettimothy@zoho.com:
Hi Nicolas.
The biggest source of differences is usage of FileSystem. FileSystem was originally written by Colin Putney in Squeak, so it should work well in Squeak. IMO, the best thing would be to integrate FileSystem in Squeak.
SmalltalkImage vm is architected very differently in the two systems as well.
Cordially,
tty
Yes, for these ones, a compatibility package will be fine.
On Sat, May 10, 2014 at 12:00 PM, Nicolas Cellier < nicolas.cellier.aka.nice@gmail.com> wrote:
2014-05-10 20:27 GMT+02:00 Eliot Miranda eliot.miranda@gmail.com:
Hi Tty,
On Sat, May 10, 2014 at 8:17 AM, gettimothy gettimothy@zoho.com wrote:
Hi All.
Is there a preferred methodology for handling Pharo-isms on Squeak?
I know Seaside has Grease which does some of that, but I don't thing we want Grease for CMakeVMMaker (or do we).
Specifically, the Pharo team has abstracted out some stuff in SmalltalkImage (vm, platform..) that does not exist in Squeak.
If there is an existing mechanism for bridging this gap, I will use it.
In the meantime, I will be DTSTTCW.
+1. But I recommend a compatibility package that is loaded alongside to provide the missing support in Squeak. Then methods (& classes) can be moved from there into Squeak when we see fit.
The biggest source of differences is usage of FileSystem. FileSystem was originally written by Colin Putney in Squeak, so it should work well in Squeak. IMO, the best thing would be to integrate FileSystem in Squeak.
+1. I *loathe* using the old FileStream/FileDirectory crud but they're what's there.
However the Pharo team has significantly modified the API. So now there is a dilemna: which FileSystem should we include in Squeak?
We should try and merge no? Presumably the Pharo changes come form their actually using FileSystem in anger. It would be great to get it into Squeak for 4.6/5.
I'm for integrating the version of Pharo, in order to reduce the gratuitous differences. Unless there are reasons for not doing so.
Makes sense. And there's a test suite.
We should ask Colin, not sure if he follow this list, so I cross post on Squeak-dev.
cordially,
tty
--
best, Eliot
On Sat, May 10, 2014 at 08:17:18AM -0700, gettimothy wrote:
Hi All.
Is there a preferred methodology for handling Pharo-isms on Squeak?
I know Seaside has Grease which does some of that, but I don't thing we want Grease for CMakeVMMaker (or do we).
Specifically, the Pharo team has abstracted out some stuff in SmalltalkImage (vm, platform..) that does not exist in Squeak.
If there is an existing mechanism for bridging this gap, I will use it.
In the meantime, I will be DTSTTCW.
I had to deal with this for OSProcess and CommandShell. These are packages that I develop in Squeak with the intention that they should run on a range of Squeak Pharo, and Cuis images. The issues would be similar to what you are now encountering for CMakeVMMaker, particularly for addressing the FileSystem differences.
The approach that I have taken is to put compatibility methods in method category "version dependent" on the class side of the OSProcess and CommandShell classes. Those compatability methods are used as required in any of the classes in the OSProcess and CommandShell packages.
This approach keeps all of the compatibility changes localized to a couple of method categories where they can be identified and updated.
Dave
vm-dev@lists.squeakfoundation.org