Re: type-inquiry
Waldek Hebisch <[email protected]> Mon, 23 Jan 2017 00:25:29 +0100 (CET)
| Newsgroups | gmane.comp.compilers.gpc |
|---|---|
| Message-ID | <[email protected]> |
Paul Isaacs wrote:
>
> On 22/01/17 11:09 AM, Waldek Hebisch wrote:
> > It seems that if you want you can replace type-inquiry by explicit
> > definition.
>
> Hello Waldek,
>
> Thanks for the reply. I just assumed, incorrectly, that type-inquiry was
> a reflective construct of some sort.
It _is_ a reflective construct. Just most of time you can live
without it. Maybe an example:
var a : record i : integer end;
Note that if you write:
var b : record i : integer end;
then b will be of different type than a (because each 'record'
introduces entirely new type). You can solve the problem
using named type:
type t = record i : integer end;
var a : t;
var b : t;
Or you can use type-inquiry:
var b : typeof(a);
If you can modify declaration of 'a' you probably prefer
first version. But in real life you may be unable to
modify declaration of 'a'...
Note: in GPC 'typeof' is only implemented for object types
(which are absent in Extended Pascal) so this does not work.
--
Waldek Hebisch
_______________________________________________
Gpc mailing list
[email protected]
https://www.g-n-u.de/mailman/listinfo/gpc