Hi Frank, so, which definition of pragmas I should follow? Declarative or executable?
From what you describe, I'm against it, they are just annotations (a way to convey programmer intention because the code itself is unable to do so).
I introduce annotations in a programming language when I can't do otherwise because: the language is deficient in expressing the correct abstractions; or the compiler is too dumb to deduce properties on its own. Now, which one applies to Smalltalk pragmas? Thierry 2015-02-06 11:29 GMT+01:00 Frank Shearar <frank.shearar@gmail.com>:
Pragmas don't execute. They're _data_. There is no "calls unknown sender" because the don't execute.
Eliot's point is that pragmas _describe_, and then other systems act on those descriptions.
They're just like Java or C# attributes, or Python decorators. Only they're better, because Java/C# attributes can do anything, whereas pragmas merely describe.
frank