Pragmas
For some time, VA Smalltalk has provided an approach to defining the contents of a Pool Dictionary using a declarative syntax. This approach involves using pragmas, so named because the convention for naming the methods containing the declarative information is to use _PRAGMA_ as a prefix for the selector.
However, most other Smalltalk platforms provide pragmas that have a completely different syntax and semantics. These pragmas serve as method annotations and use angle-bracket notation (<keyword1: arg1 ... keywordN: argN>) to define their content.
Now, if you have been paying attention, you may notice that this second type of pragma seems to have a strong resemblance to inline external function calls (<callingConvention: returnType 'library':function parameterTypes>) since they also use the angle-bracket notation. They are actually not related at all other than the restriction that keyword1 of an annotation pragma cannot match any of the supported calling conventions for an inline external function call.
This chapter describes the VA Smalltalk Pragma support and includes the following:
Last modified date: 10/08/2020