[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
|