[squeak-dev] [Pharo-dev] Pragma keyword / selector / methodSelector

Tobias Pape Das.Linux at gmx.de
Tue Nov 15 20:58:22 UTC 2016


Here's my 2ct:

1. Pragmas aren't actually pragmas. They do not instruct the compiler to do things (_except_ for primitive: and apicall:, but these are now  outliers).
   They rather add metadata to a (compiled) method. 
2. The 'thing' (ie, class) should probably be named
	MethodAnnotation
3. We can have the cake and eat it to:

	Rename Pragma -> MethodAnnotation.
	Make Pragma a new subclass of MethodAnnotation.
	Make MethodAnnotation implement
		#methodSelector 
		#annotationSelector (or #selector, if it must be)
	Make Pragma implement
		#selector
		#keywords

That way, We can nuke Pragma (with its 'old' interface) when the time is right but already us the new variant without introducing problems.

Best regards
	-Tobias

On 15.11.2016, at 20:33, Dale Henrichs <dale.henrichs at gemtalksystems.com> wrote:

> We are integrating Pragma into the GemStone base for GemStone 3.4.0, so when the dust settles over the changes I will integrate them into GemStone 3.4.0 ...
> 
> Dale
> 
> On 11/14/2016 11:18 AM, Torsten Bergmann wrote:
>> I was hit by this today already as it made Catalog slow like hell (which I fixed):  https://pharo.fogbugz.com/f/cases/19342/.
>> 
>> +1   for the short-term revert
>> +10  for aligning Squeak and Pharo with a more intention revealing name
>> 
>> Thx
>> T.
>> 
>>> Gesendet: Montag, 14. November 2016 um 19:49 Uhr
>>> Von: "Eliot Miranda" <eliot.miranda at gmail.com>
>>> An: "Pharo Development List" <pharo-dev at lists.pharo.org>
>>> Cc: squeak-dev at lists.squeakfoundation.org
>>> Betreff: Re: [Pharo-dev] Pragma keyword / selector / methodSelector
>>> 
>>> Hi All,
>>> 
>>>      can I suggest that Pharo and Squeak coordinate on a change.  First, #selector is bad because it is ambiguous.  As already determined #keyword is awful because it's false (it is a message selector, not just a keyword).  So could we
>>> 
>>> - use #methodSelector and #pragmaSelector for the next few years, and deprecate #selector and #keyword?
>>> 
>>> - after a suitable time use #selector to mean #pragmaSelector because that's the most useful abbreviation (in my experience I most often access #pragmaSelector)?
>>> 
>>> _,,,^..^,,,_ (phone)
>>> 
>>>> On Nov 14, 2016, at 6:37 AM, Esteban A. Maringolo <emaringolo at gmail.com> wrote:
>>>> 
>>>> 2016-11-14 11:27 GMT-03:00 phil at highoctane.be <phil at highoctane.be>:
>>>>> Breaking Metacello in Pharo 6: Not good. Revert: +1
>>>> Breaking Metacello in any version = Not good.
>>>> 
>>>> Metacello is very backward compatible but breaking pragma semantics
>>>> would require a rewrite of many configurations that work okay today
>>>> and would require a new version of Metacello that contemplates the new
>>>> selectors based on some criteria.
>>>> 
>>>> Regards!
>>>> 
>>>> Esteban A. Maringolo
>>>> 
>>> 
> 
> 



More information about the Squeak-dev mailing list