Hi Alexandre,
One problem that I see with pragmas is that a compile method cannot be annotated without recompiling it. Which would be quite hampering on....
I agree with you; it is like syntax annotation. As text styles put to source code; in this case no for humman consumtion but for tools consumption.
CompiledMethods are not constrained to a syntax, they are objects and are true without relation with a source "code" (or any genetic code). You can have more of one compiler in the image, or have more than one compiler working on aBehavior. To see behavior (aBehavior) as anObject only reveals one point of view, a very common vission, but only one form of "modeling" behavior. The division of behavior in more atomic units(objects) is a kind of decomposition, degradation/reduction of the virtual space in the same direction of Self. It does not guaranties a more confortable ambient.
Having setProperty:toValue: / valueOfProperty: would make things simpler. The compiler would not have to be modified.
On some point, instead of manipulating pragmas, such might be useful: Object>>forCurrentMethodSetProperty: name toValue: val thisContext method setProperty: name toValue: val
Please do not promote the "Value" concept if we do not have a Value class/species in the ambient. (it is like saying we have "variables" in Smalltalk, imho the promotion of this concepts do more difficult to novices to understand objects and naming concepts)
best, Ale.
----- Original Message ----- From: "Alexandre Bergel" bergel@iam.unibe.ch To: "The general-purpose Squeak developers list" squeak-dev@lists.squeakfoundation.org Sent: Tuesday, August 30, 2005 4:32 PM Subject: Re: Request for Comment: MethodAnnotations for 3.9alpha
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.
One problem that I see with pragmas is that a compile method cannot be annotated without recompiling it. Which would be quite hampering on....
Having setProperty:toValue: / valueOfProperty: would make things simpler. The compiler would not have to be modified.
On some point, instead of manipulating pragmas, such might be useful: Object>>forCurrentMethodSetProperty: name toValue: val thisContext method setProperty: name toValue: val
Alexandre
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.iam.unibe.ch/~bergel ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.