[squeak-dev] Re: <Method Tags> (Pragmas)
Andreas Raab
andreas.raab at gmx.de
Fri Apr 30 03:23:47 UTC 2010
On 4/29/2010 1:23 PM, Travis Griggs wrote:
> Weighing in on a 2 day dead topic is probably passe` around here... :)
It's not quite dead yet :-)
> 2) I push, at ever juncture I can, the term <tagged methods> and <method
> tags>. The <tag> term grew on me for a set of reasons.
I think that's a great term. It doesn't have the compiler connotations
of "pragma", is shorter than "annotation" yet very concise and flexible.
I like the sound of, e.g., "the apicall tag instructs the compiler to
generate the code for some FFI call", "the preference tag allows
discovery of preferences", the "type tag can be used to annotate
variables". It really works for me.
In fact, I raise my hand and vote for renaming Pragma to MethodTag :-)
> 3) You can get carried away with <method tags>. It's tempting to grow
> little micro-DSLs with these things. They don't scale well for that.
> They're far from turing complete, and you're limited to literal objects.
> Best example of this is the nightmare that the method tags for menus
> were turning into VW. I wrote about this here:
>
> http://www.cincomsmalltalk.com/userblogs/travis/blogView?showComments=true&printTitle=Menu_Items_Are_Objects_Too&entry=3354355944
I've discussed this particular issue with Eliot at length in order to
understand what caused these issues. I agree with the conclusion that
it's dangerous to use method tags as DSLs, and that if the level of
fine-grained control one needs reaches the level you're describing in
your post, tags are not the solution.
However, that doesn't preclude their use for a small set of menu
declarations that we'd like to support going forward. Read the full
argument here:
http://squeakingalong.wordpress.com/2010/04/27/annotations-for-service-discovery/
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|