On 08/01/2014 20:01, Sven Barth wrote:
On 08.01.2014 19:40, Howard Page-Clark wrote:
On 08/01/2014 18:16, Jürgen Hestermann wrote:

Today I found this type definition in some FreePascal sources:

TypeReal =type Double;

I wondered what the second “type” keyword means here (I have never seen
this before).

You are being rather obtuse.
Ignore the diagrams in the docs if they don't help you.

The double use of type here simply means that the "Real" type is being
defined as an alias for double. The two type identifiers now mean
exactly the same thing as the "=" indicates.

No, an alias would be

=== code begin ===

type
   Real = Double;

=== code end ===

Using the "type" behind the "=" tells the compiler to declare a new type
based on the right side. So a "Double" and a "Real" are not assignment
compatible and can have different sets of operator overloads.

Thanks for the clarification. That is a distinction worth drawing attention to in the documentation, and its relevance when writing overloaded routines.
Looks like the obtuseness is at this end, as well as at Jürgen's.

Howard

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to