[fpc-pascal] typed constants...

Michael Van Canneyt michael at freepascal.org
Mon Oct 23 19:30:17 CEST 2006



On Mon, 23 Oct 2006, David Mears wrote:

> is this bit of syntactic weirdness a fpc element, or from delphi.  I've
> largely been away from pascal since the early 90s, mostly only using it to
> write dos-y non-object-y utilities, for which it excels. 
> typed constants  seem to basically to be like the static keyword from c.. but
> not a var modifier..  It just seems it should be a modifier for var.  such as
> var st:string static;..  since.. constant is usually pretty wrapped up in the
> meaning of "not changing."  and that it has a constant, initialized, reserved
> place in memory is.. well.. abstract.  Especially since you can initialize
> your variables now, then the only thing that makes it special is that it is a
> global variable with  a local scope.
> 
> I'm not the sort who thinks pascal should be C, because I hate having to work
> with C or it's work likes.  I just think that being able to call something
> constant and change it muggles the syntactic clarity of the language, which is
> otherwise rather good.

Initialized constants are deprecated, and should be replaced by initialized
variables, as in Delphi:

Var
  A : String = 'Some string';

"Real" constants (in the sense of 'not changing') do not need to be typed in
the first place so

Const
  A = 'Some String';

Will do just fine. You now have both possibilities and they each have clear 
and unambiguous meaning.

Michael.



More information about the fpc-pascal mailing list