id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,lang,patch,platform
1190,Replace .globalconst/.const directives by .const/.localconst (respectively),kjs,,"This ticket replaces RT57634.


hi,

in PIR you can use the .globalconst directive in a sub to define a constant
that is globally accessible.
Likewise, you can use the .const directive in a sub that is local to that
sub.

.sub foo
.globalconst int answer = 42
.const num PI = 3.14

.end

answer in this case is globally accessible (in any other sub, that is parsed
AFTER the foo subroutine, I should note)
PI in this case is only accessible in this subroutine foo.


However, I question the need for .globalconst, as the .const directive can
also be used /outside/ of a subroutine, like so:

.const int answer = 42


Therefore, the .globalconst directive seems to be superfluous; why have 2
directives that do the same thing; if a .globalconst is accessible globally
anyway, there's no need to define it WITHIN a sub.

Therefore, my proposal is to remove the .globalconst directive;
whenever you need to have a global const, use .const outside of a
subroutine.
whenever you need to have a local const (in a sub), use .const inside a
subroutine.

comments welcome,
kjs
",RFC,new,normal,,core,trunk,medium,,"PIR, .globalconst, .localconst, .const",jkeenan,,,
