[squeak-dev] Re: [ANN] Preference pragmas

Andreas Raab andreas.raab at gmx.de
Mon Mar 9 02:19:27 UTC 2009


Hi Gary -

Let me throw in one additional thought: I'm not sure how one would deal 
with migration in Alain's case (I don't know David's work; I'm assuming 
you misspoke, but if not please point me to it). One of the issues is 
that there are currently some 694 (!) references to Preferences in a 
3.10.2 image. There will be more in external code.

One of the advantages of using a pragma for the simple cases is that we 
can start the migration today, without having sorted out all the details 
for the next-gen preferences implementation. People who want their code 
to work both in Squeak and Pharo can start doing this as soon as have a 
reasonable implementation for both (which I am willing to provide). I 
also don't expect the migration to be quick as there will be discussion 
where certain preferences should live etc.

A drop-dead conversion of saying "the day we load the new preferences 
implementation all old code will be broken" just won't work. So having a 
way that we know will be forward-compatible strikes me as absolutely 
necessary for any migration process. This is what I meant when I was 
saying that I think having something that abstracts from the preference 
implementation is absolutely necessary before we can consider adopting 
an alternative.

Cheers,
   - Andreas

Gary Chambers wrote:
> 
> Indeed, I see the point you are making.
> 
> I just have a "feeling" that making this as restrictive will mean we'll 
> be having the same discussion soon again!
> Always tricky to get any decisions made without a solution that 
> satisfies all viewpoints...
> 
> What I will say in favour of David's work is that it is extensible and, 
> like your approach, deals with the localisation vs. general kackness 
> that is the current situation.
> 
> I could live with "extension methods" on a Preference class, I think 
> (probably)... just  a bit nasty with it dynamically compiling code etc.
> 
> We should all discuss some more, perhaps, to get the best solution we 
> can, given that this is quite fundamental (Squeakers are *used* to 
> having choice...).
> 
> Regards, Gary
> 
> ----- Original Message ----- From: "Andreas Raab" <andreas.raab at gmx.de>
> To: "The general-purpose Squeak developers list" 
> <squeak-dev at lists.squeakfoundation.org>
> Sent: Monday, March 09, 2009 1:40 AM
> Subject: [squeak-dev] Re: [ANN] Preference pragmas
> 
> 
>> Gary Chambers wrote:
>>> The use of "extended" pragmas is interesting, although, to my mind it 
>>> doesn't address the problem/benefit of complex preference values 
>>> (non-literal).
>>>
>>> As for the value guard, good, but the ranges etc. are not exposed to 
>>> potential tools (would be nice to NOT be able to input 99, for 
>>> instance).
>>>
>>> I think, at this stage, I still believe the "modelling of a 
>>> preference" approach more flexible.
>>
>> I agree with this statement. It is more flexible to model the 
>> preference explicitly. And I am not proposing to make the preference 
>> pragma achieve that level of flexibility. What I'm proposing is to 
>> keep the pragma as simple as possible, use it in the cases where it's 
>> useful and model the preference explicitly if more flexibility is 
>> required.
>>
>> This way, the dependency on a specific preference implementation will 
>> be greatly reduced and for many uses preferences can be added to 
>> low-level code without introducing a dependency on the implementation. 
>> Plus it makes shipping preferences between implementations reasonably 
>> easy; much of the code that would otherwise be incompatible between 
>> Pharo and Squeak (and beyond, for example VW) can be compatible.
>>
>> Cheers,
>>   - Andreas
>>
> 
> 
> 




More information about the Squeak-dev mailing list