Language Change Specification for Anonymous Types for External Names

LCS Number: LCS-2016-028a
Version: 2
Date: 21-Mar-2017
Status: Request for Comments and/or Edits
Author: Jim Lewis
Email: Main.JimLewis
Source Doc: Anonymous Types for External Names
Summary: Anonymous Types for External Names implements External Names for Types
Conflicts with LCS: LCS-2016-028

Voting Results: Cast your votes here

Yes:

  1. Jim Lewis - 21-Mar-2017 ver 2
  2. Patrick Lehmann​ - 22-Mar-2017 ver 2

No:

Abstain:

Revision Notes

Revision 2: Updates for comments 21-Mar-2017
  • Added item d to list

Revision 1: Initial 19-Mar-2017

  • Replacement LCS for

Style Notes

[Author Comment: author comments are shown in green]

Text changes are shown in red

Deleted text is shown in red font with a strike thru

Reviewing Notes

Goal: Allow the type of an external name to be an anonymous type

Details of Language Change

Section 8.7 External Names

productions on page 113

external_constant_name ::=
    << constant external_pathname : external_type_indication >>
external_signal_name ::=
    << signal external_pathname : external_type_indication >>
    
  external_type_indication ::=
    subtype_indication 
    | anonymous_type_indication   [From LCS_2016_059]

Add new paragraph just before last paragraph (is before the notes)

For an external name whose type is specified by an anonymous type indication,
a) the type is determined during elaboration of the external name.
b) only predefined operators and attributes that are appropriate for the corresponding type class may be used.
c) it is an error if the type mark in the subtype indication of the external name is not a member of the type class of the anonymous type.
d) it is an error if the type mark in the subtype indication is itself a formal generic type.



Comments

Please show the afterwords in black text. LCS 059 has no definition of operations per type class. We would need to move it from interface types to normal types. There is no definition of compatibility for a type and type class. This LCS needs to break possible type loops.. A generic type is not allowed.

-- Patrick Lehmann - 2017-03-20

anonymous type indication

-- Jim Lewis - 2017-03-21

Added "indication" to the first sentence. No revision change.

-- Patrick Lehmann - 2017-03-22

Topic revision: r9 - 2020-02-17 - 15:34:41 - JimLewis
 
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback