> On 05 Oct 2015, at 11:51, Henrik Johansen <[email protected]> 
> wrote:
> 
> 
>> On 03 Oct 2015, at 2:41 , [email protected] 
>> <mailto:[email protected]> wrote:
>> 
>> Hi,
>> 
>> The latest image now has some more options for meta links. The complete list 
>> is listed in the #defaultOptions method of
>> MetaLink class:
>> 
>> defaultOptions
>>      ^ #(
>>      + optionInlineMetaObject            "meta object is inlined by default."
>>      + optionInlineCondtion              "condition is inlined by default.”  
>> (ups, typo, will fix)
>>      - optionCompileOnLinkInstallation   "generate compiledMethod on link 
>> installation"
>>      - optionOneShot                     "remove link after first activation"
>>      - optionMetalevel                   "force level: 0 for the link"
>>      - optionDisabledLink                "links are active by default"
>>      )
>> 
>> Some of the options make only sense because after this issue will be 
>> integrated:
>> 
>>      
>> https://pharo.fogbugz.com/f/cases/16695/allow-classes-to-force-meta-link-options-metaLinkOptions
>>  
>> <https://pharo.fogbugz.com/f/cases/16695/allow-classes-to-force-meta-link-options-metaLinkOptions>
>> 
>> we will have a mechanism that classes can enforce options for all links 
>> installed in them. This is done by adding
>> a method on the instance or class side like this:
>> 
>> metaLinkOptions
>>      ^{
>>      #exampleMethodWithMetaLinkOptionsViaClass -> #( + 
>> optionCompileOnLinkInstallation)
>>      }
>> 
>> This allows e.g. a class to turn off links for one method or enforce using 
>> meta-level awareness.
>> (for now the options are overridden when installing a link, I will move this 
>> into the code generator
>> to have a real overlay semantics as a next step). 
>> 
>>      Marcus
> 
> Why the aversion to classes?
> Personally, I'd much prefer a MetaLinkOptions class with boolean instvars, 
> and a class comment...
> 
> Would work much better with the tools we have (finding users, etc.) and a 
> class enforcing method such as:
> 
> overrideMetaLinkOptions: options
> 
> ^options 
>       oneShot: false; 
>       yourself 
> 

Yes.. the current way starts to be too complex… could be a good next step.

        Marcus







Reply via email to