[comp.lang.fortran] Fortran 8x: recursive data types

corbett@beatnix.UUCP (Bob Corbett) (06/27/89)

     There has been a proposal that pointers in Fortran 8x should be
replaced with recursive data types.  I know I oppose the idea, but I
am not sure why.  The proposal I saw did not spell out what the author
meant by recursive data types.  I have seen references to two forms of
recursive data types in the literature.  One form restricts the types
of data structures that can be constructed to trees.  If this form is
intended, I oppose it because I often use data structures, such as rings
and doubly-linked lists, that cannot be represented as trees.  The other
form of recursive data types allows fully general data structures to be
constructed.  This form is equivalent to using pointers, but the pointers
are implied rather than explicit.  I oppose this form of recursive data
types because when pointers are used, their use should be explicit.

                                                Yours very truly,
						Bob Corbett
						uunet!elxsi!corbett
						ucbvax!sun!elxsi!corbett

jlg@lanl.gov (Jim Giles) (06/28/89)

From article <2775@elxsi.UUCP>, by corbett@beatnix.UUCP (Bob Corbett):
> [...]                                                         The other
> form of recursive data types allows fully general data structures to be
> constructed.  This form is equivalent to using pointers, but the pointers
> are implied rather than explicit.  I oppose this form of recursive data
> types because when pointers are used, their use should be explicit.

Why?  The functionality of recursive data structures is identical either
way.  The syntax using implicit pointers is more compact and the semantics
is easier to describe.  Furthermore, using explicit pointers would allow
pointers to be used for things _other_ than recursive data structures!
If the language already has IDENTIFY and SET RANGE, this additional use
of pointers would not only be redundant, but undesireable.