Any comments? Does anyone see a problem with the annotations itself or the implementation?
I'd very much like to see method annotations in Squeak. However, why not use an implementation that's compatible with VW's pragmas? AFAICT, the VW syntax is a superset of the Tweak syntax, and it has a very similar implementation, with the annotations stored in the literal frame of the CompiledMethod.
It is similar but not identical. Tweak supports some annotations that VW doesn't support and vice versa. For example, try:
<type: Object>
in VW (it fails) vs. Tweak (it uses class Object) or
<args: #(foo bar baz) types: #(Object Integer String)>
in VW (it works) vs. Tweak (it fails). This could probably be fixed but personally, I don't care that much. Patches are of course welcome ;-)
Cheers, - Andreas