Hi Ben,

2015-02-06 16:03 GMT+01:00 Ben Coman <b...@openinworld.com>:

>
>
> On Fri, Feb 6, 2015 at 5:58 PM, Thierry Goubier <thierry.goub...@gmail.com
> > wrote:
>
>> Hi Eliot,
>>
>> maybe I'll frame the core question a bit differently, thanks to your
>> explanations.
>>
>> I see pragmas used mainly for two things:
>>
>> 1- expressing a link to some metadata used by low level tools: compiler,
>> C lang generator, etc... primitives for me are part of that. Kind of neat
>> to see that unified.
>>
>
>
> btw, I just used a pragma to solve this issue of getting correct debugger
> behaviour for halting and stepping over #halt statements [1].  There seem
> about a dozen methods that can cause a #halt spread between Object and Halt
> classes which should all behave similarly, so the options would seem
> * hardcode all these methods either into to check for in
> Halt>>signalerContext (or into a helper method called from #singalerContext)
> * have a convention for a certain protocol to hold these methods, which
> Halt>>signalerContext can look up (except currently the methods on Object
> are an extension protocol)
> * tag each such method with a pragma.  This simplified the solution a
> lot.  The search of the call stack just asked each method if it had the
> <debuggerCompleteToSender> pragma.
>

Yes, I agree with your assessment. Solution 2 require multiple protocols
for a single method to be extensible, and this usage is perfect for
metadata associated with the method.


>
> I think discoverability is an issue with pragmas.  From Nautilus you can't
> "see" which methods contain which pragmas.  I wonder if one solution for
> this would be for pramga methods to be grouped under a <virtual-protocol>
> in the third pane of Nautilus.
>
> [1] https://pharo.fogbugz.com/default.asp?12970
>

The good old finder has a pragmas search mode which allows for a bit of
discoverability (pragma users), but it doesn't link to the code exploiting
the pragmas.

Do you know if we have something specific on SmartSuggestions for pragmas?

Thierry

Reply via email to