Pillar, traits, and cross platform

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Pillar, traits, and cross platform

JupiterJones
Hi All,

I noticed that in Pillar-Model-DamienCassou.88 there was a refactor that introduces traits into the project...

Refactor parameter management

- Move parameter-related methods from PRLink/PRScript to PRTParametrizable
- Extract parameter-related parsin to PRParameterParser


As nice as traits are, this makes Pillar and things that depend on it, like Pier, less cross platform.

Given the ideal would of maintaining as much cross-platform-abiltty as possible, would you prefer we create multiple code bases for Pillar/Pier, or refactor this refactor in preference to making the project available in other dialects of Smalltalk, notably GemStone?

I seem to remember there was a rumour that GemStone will support traits in the future, so it’s likely we’ll have the option to shift to traits in the future.

I have an old project using Pier in GemStone that I’m starting to upgrade, so my motivation here is to know what direction the Pillar/Pier team would prefer to take, then jump on board with whichever direction you choose.

Please chime in with any thoughts. What are your preferences for moving forward?

Cheers,

J
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pillar, traits, and cross platform

Damien Cassou-2
Hi Jupiter,

Jupiter Jones <[hidden email]> writes:

> I noticed that in Pillar-Model-DamienCassou.88 there was a refactor that introduces traits into the project...
>
> Refactor parameter management
>
> - Move parameter-related methods from PRLink/PRScript to PRTParametrizable
> - Extract parameter-related parsin to PRParameterParser


yes, this code was duplicated in several classes.


> As nice as traits are, this makes Pillar and things that depend on it,
> like Pier, less cross platform.


agree


> Given the ideal would of maintaining as much cross-platform-abiltty as
> possible, would you prefer we create multiple code bases for
> Pillar/Pier, or refactor this refactor in preference to making the
> project available in other dialects of Smalltalk, notably GemStone?


I don't see any refactoring that would both keep the code quality and improve
cross-platformability. If you have an idea, please tell us.

If there is a desire to keep pillar cross-platform, the first task is to
create continuous integration jobs for these platforms. I already asked
people interested in keeping pillar cross-platform to create such jobs.
Nobody told me about anything in that direction yet. I don't use any
other Smalltalk than Pharo so I don't see these tasks as being of my
responsibility. If you create such a job, please add my email address to
the list of notified persons as soon as you get the job green once. I
won't make any effort keeping compatibility until such a job exists.

Regarding Pier, it looks like it has stopped evolving for years now
(some fixes are still committed regularly). I would then suggest to all
non-Pharo Pier users to use a version of Pier that does depend on a
working-for-them version of Pillar.

> I seem to remember there was a rumour that GemStone will support
> traits in the future, so it’s likely we’ll have the option to shift to
> traits in the future.


another approach would be to automatically flatten the traits in Pharo
before loading in Gemstone: see Behavior>>#flattenDownAllTraits.


> I have an old project using Pier in GemStone that I’m starting to
> upgrade, so my motivation here is to know what direction the
> Pillar/Pier team would prefer to take, then jump on board with
> whichever direction you choose.

any contribution is welcome.

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pillar, traits, and cross platform

JupiterJones
Hi Damien,

Thanks for your reply! :)

> If there is a desire to keep pillar cross-platform, the first task is to
> create continuous integration jobs for these platforms. I already asked
> people interested in keeping pillar cross-platform to create such jobs.
> Nobody told me about anything in that direction yet. I don't use any
> other Smalltalk than Pharo so I don't see these tasks as being of my
> responsibility. If you create such a job, please add my email address to
> the list of notified persons as soon as you get the job green once. I
> won't make any effort keeping compatibility until such a job exists.

Sounds like a plan. When I get the chance I’ll see if I can add the projects to the GsDevKit CI.

> Regarding Pier, it looks like it has stopped evolving for years now
> (some fixes are still committed regularly). I would then suggest to all
> non-Pharo Pier users to use a version of Pier that does depend on a
> working-for-them version of Pillar.

Yes Pier hasn’t seen the love it deserves of late, but it’s still doing it’s job nicely. It just needs some tinkering and testing to make sure it’s working with all the latest releases of it’s dependencies.

> another approach would be to automatically flatten the traits in Pharo
> before loading in Gemstone: see Behavior>>#flattenDownAllTraits.

Excellent - I’ll create a code base on GitHub with the traits flattened and go from there.

Thanks again for your feedback.

Cheers,

J
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pillar, traits, and cross platform

Damien Cassou-2

Jupiter Jones <[hidden email]> writes:

>> another approach would be to automatically flatten the traits in Pharo
>> before loading in Gemstone: see Behavior>>#flattenDownAllTraits.
>
> Excellent - I’ll create a code base on GitHub with the traits
> flattened and go from there.

you may want to spend time working on a flattening script instead of
flattening manually. This way, you can get the future pillar releases in
Gemstone as well.

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pillar, traits, and cross platform

JupiterJones
Hi Damien,

I found a minor issue with CCDocumentationGenerationTest>>pragmasMock declaring a local variable “generator” with the same name as an instance variable. Pharo allows this to compile (which it probably shouldn’t), but in GemStone we get a “variable has already been defined” error.

It’s a simple fix, and I’m happy to make it if someone can give me write access to PharoExtras. Otherwise, is this the right place to report this?

Cheers,

Jupiter

> On 3 Jun 2015, at 7:26 pm, Damien Cassou <[hidden email]> wrote:
>
>
> Jupiter Jones <[hidden email]> writes:
>
>>> another approach would be to automatically flatten the traits in Pharo
>>> before loading in Gemstone: see Behavior>>#flattenDownAllTraits.
>>
>> Excellent - I’ll create a code base on GitHub with the traits
>> flattened and go from there.
>
> you may want to spend time working on a flattening script instead of
> flattening manually. This way, you can get the future pillar releases in
> Gemstone as well.
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm." --Winston Churchill
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pillar, traits, and cross platform

CyrilFerlicot
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Le 07/06/2015 00:10, Jupiter Jones a écrit :

> Hi Damien,
>
> I found a minor issue with
> CCDocumentationGenerationTest>>pragmasMock declaring a local
> variable “generator” with the same name as an instance variable.
> Pharo allows this to compile (which it probably shouldn’t), but in
> GemStone we get a “variable has already been defined” error.
>
> It’s a simple fix, and I’m happy to make it if someone can give me
> write access to PharoExtras. Otherwise, is this the right place to
> report this?
>

Hi!

I corrected the problem.

Name: Cocoon-Tests-Core-CyrilFerlicot.18
Author: CyrilFerlicot
Time: 7 June 2015, 2:56:33.061285 am
UUID: 4e002d61-08d3-e74f-801e-70f0fb5c17c6
Ancestors: Cocoon-Tests-Core-CyrilFerlicot.17

Adapt CCDocumentationGenerationTest>>pragmasMock to be compatible with
GemStone.


I created a new configuration

Name: ConfigurationOfCocoon-CyrilFerlicot.21
Author: CyrilFerlicot
Time: 7 June 2015, 2:59:43.971285 am
UUID: 8865d82a-a06c-d047-ab5d-9f58fe6303f2
Ancestors: ConfigurationOfCocoon-CyrilFerlicot.20

release 1.17
Configuration compatible with GemStone.

I'll use this configuration of Cocoon for the next version of Pillar.

> Cheers,
>
> Jupiter
>
>> On 3 Jun 2015, at 7:26 pm, Damien Cassou <[hidden email]>
>> wrote:
>>
>>
>> Jupiter Jones <[hidden email]> writes:
>>
>>>> another approach would be to automatically flatten the traits
>>>> in Pharo before loading in Gemstone: see
>>>> Behavior>>#flattenDownAllTraits.
>>>
>>> Excellent - I’ll create a code base on GitHub with the traits
>>> flattened and go from there.
>>
>> you may want to spend time working on a flattening script instead
>> of flattening manually. This way, you can get the future pillar
>> releases in Gemstone as well.
>>
>> -- Damien Cassou http://damiencassou.seasidehosting.st
>>
>> "Success is the ability to go from one failure to another
>> without losing enthusiasm." --Winston Churchill
>> _______________________________________________ Magritte, Pier
>> and Related Tools ...
>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>
>
> _______________________________________________ Magritte, Pier and
> Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>


- --
Cheers
Cyril Ferlicot-Delbecque
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJVc5huAAoJEBzpUtxBqUID80IQAJVpkmKKUXWVeK0n6yrIL5Nl
izAG7O4/IGgd8z2ucfV2cDeF0kBLfU5p0TLCq13lhf4L0A0J7dSnbnwSq1e39leK
Z2ZQ1RhG7xrOC9Kv+8Hx0xU+CPwG15gMBZ7HWWjWzJMR1kss6tDJOoD42dmN3xFA
xTawDo5BG3Veq4oJeywXheeKvHFWW6/wUbg31dYKOOZW0AKQ/4qg5Qxm3Fj71Tlx
ffcQmlVKld3ydDL6jBwOtAvQ8L5eupBZMM0nZWeBQWdynxO2QSFHFogKwyAbyn/L
bMdBhbMRguH8JllRM5HAd5BSbpyaSFWeC8bpJFkwnUeqGFph+K09jlgE7lZAm3og
kN4f00NKIp76/EltL5+n9YhEYDCqnneyyyUiPyRwZtUbecUZve5wWyGRVsSWarjs
RlFdgdeGo5Kc6tWdb0GQalD3ob5tyOLhc9UtvzEC5Q2Fj5pHXHI7pqZEuOie5yO5
ZY+ZHevEvghl1VQD6M4hOgEAD5eJ5cPM17CvHY8GdIv9HcqAF3pX+roSpQdraKr7
11kw6Eqea0n+JQnu/cw9S/8mf+aQ8kkBV1PpaIZ2IYISEBg6eDcPOwQpwzxXFv3X
AalNzqxK3OXjThJzdAzzla8dJPl84iKv6qyRfwD29hRVIN/KXghFJHoOzVWDPVLO
HJ/zymE/VeZ5xHXoasTM
=Y+K9
-----END PGP SIGNATURE-----
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pillar, traits, and cross platform

JupiterJones
Hi Cyril,

Thanks for the quick turnaround! :)

Cheers,

J

On 7 Jun 2015, at 11:03 am, Ferlicot D. Cyril <[hidden email]> wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Le 07/06/2015 00:10, Jupiter Jones a écrit :
Hi Damien,

I found a minor issue with
CCDocumentationGenerationTest>>pragmasMock declaring a local
variable “generator” with the same name as an instance variable.
Pharo allows this to compile (which it probably shouldn’t), but in
GemStone we get a “variable has already been defined” error.

It’s a simple fix, and I’m happy to make it if someone can give me
write access to PharoExtras. Otherwise, is this the right place to
report this?


Hi!

I corrected the problem.

Name: Cocoon-Tests-Core-CyrilFerlicot.18
Author: CyrilFerlicot
Time: 7 June 2015, 2:56:33.061285 am
UUID: 4e002d61-08d3-e74f-801e-70f0fb5c17c6
Ancestors: Cocoon-Tests-Core-CyrilFerlicot.17

Adapt CCDocumentationGenerationTest>>pragmasMock to be compatible with
GemStone.


I created a new configuration

Name: ConfigurationOfCocoon-CyrilFerlicot.21
Author: CyrilFerlicot
Time: 7 June 2015, 2:59:43.971285 am
UUID: 8865d82a-a06c-d047-ab5d-9f58fe6303f2
Ancestors: ConfigurationOfCocoon-CyrilFerlicot.20

release 1.17
Configuration compatible with GemStone.

I'll use this configuration of Cocoon for the next version of Pillar.

Cheers,

Jupiter

On 3 Jun 2015, at 7:26 pm, Damien Cassou <[hidden email]>
wrote:


Jupiter Jones <[hidden email]> writes:

another approach would be to automatically flatten the traits
in Pharo before loading in Gemstone: see
Behavior>>#flattenDownAllTraits.

Excellent - I’ll create a code base on GitHub with the traits 
flattened and go from there.

you may want to spend time working on a flattening script instead
of flattening manually. This way, you can get the future pillar
releases in Gemstone as well.

-- Damien Cassou http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another
without losing enthusiasm." --Winston Churchill 
_______________________________________________ Magritte, Pier
and Related Tools ... 
https://www.iam.unibe.ch/mailman/listinfo/smallwiki


_______________________________________________ Magritte, Pier and
Related Tools ... 
https://www.iam.unibe.ch/mailman/listinfo/smallwiki



- -- 
Cheers
Cyril Ferlicot-Delbecque
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJVc5huAAoJEBzpUtxBqUID80IQAJVpkmKKUXWVeK0n6yrIL5Nl
izAG7O4/IGgd8z2ucfV2cDeF0kBLfU5p0TLCq13lhf4L0A0J7dSnbnwSq1e39leK
Z2ZQ1RhG7xrOC9Kv+8Hx0xU+CPwG15gMBZ7HWWjWzJMR1kss6tDJOoD42dmN3xFA
xTawDo5BG3Veq4oJeywXheeKvHFWW6/wUbg31dYKOOZW0AKQ/4qg5Qxm3Fj71Tlx
ffcQmlVKld3ydDL6jBwOtAvQ8L5eupBZMM0nZWeBQWdynxO2QSFHFogKwyAbyn/L
bMdBhbMRguH8JllRM5HAd5BSbpyaSFWeC8bpJFkwnUeqGFph+K09jlgE7lZAm3og
kN4f00NKIp76/EltL5+n9YhEYDCqnneyyyUiPyRwZtUbecUZve5wWyGRVsSWarjs
RlFdgdeGo5Kc6tWdb0GQalD3ob5tyOLhc9UtvzEC5Q2Fj5pHXHI7pqZEuOie5yO5
ZY+ZHevEvghl1VQD6M4hOgEAD5eJ5cPM17CvHY8GdIv9HcqAF3pX+roSpQdraKr7
11kw6Eqea0n+JQnu/cw9S/8mf+aQ8kkBV1PpaIZ2IYISEBg6eDcPOwQpwzxXFv3X
AalNzqxK3OXjThJzdAzzla8dJPl84iKv6qyRfwD29hRVIN/KXghFJHoOzVWDPVLO
HJ/zymE/VeZ5xHXoasTM
=Y+K9
-----END PGP SIGNATURE-----
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Pillar, traits, and cross platform

Dale Henrichs-3
In reply to this post by JupiterJones


On 06/02/2015 03:02 PM, Jupiter Jones wrote:

> Hi Damien,
>
> Thanks for your reply! :)
>
>> If there is a desire to keep pillar cross-platform, the first task is to
>> create continuous integration jobs for these platforms. I already asked
>> people interested in keeping pillar cross-platform to create such jobs.
>> Nobody told me about anything in that direction yet. I don't use any
>> other Smalltalk than Pharo so I don't see these tasks as being of my
>> responsibility. If you create such a job, please add my email address to
>> the list of notified persons as soon as you get the job green once. I
>> won't make any effort keeping compatibility until such a job exists.
> Sounds like a plan. When I get the chance I’ll see if I can add the projects to the GsDevKit CI.
>
Yes, please do and/or let me know how much progress you've made, so that
I (or others) can complete the job ... I've meant to come back around to
Pier/Pillar and make sure that it's running on GemStone/GsDevKit, but
I've been too busy with tasks further down the stack:) ...

Dale
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki