Another H'98 Report query

Malcolm Wallace Malcolm.Wallace@cs.york.ac.uk
Thu, 31 Jan 2002 11:07:45 +0000


The revised H'98 Report, in the section on Modules, 5.2 (Export Lists),
under the description of the forms T (c_i,...) and C (f_i,...) for
explicitly named constructors, fieldnames, and methods of the
respective type or class, says:

    The subordinate names c_i (f_i) must not contain duplicates.

Yet later in the text it is stated that

    Exports lists are cumulative: the set of entities exported by an
    export list is the union of the entities exported by the individual
    items of the list.

I see no reason to disallow duplicates at the subordinate level if
they are permitted otherwise.

Examples:

    module M (T,T(C))) where		-- legal
    module M (T(),T(C))) where		-- legal
    module M (T(C),T(C))) where		-- legal
    module M (T(C,C)) where		-- illegal

I propose we should drop the text that disallows duplicates, to make
the last example legal.

Regards,
    Malcolm