Version 1.1 of si99s/si99-0062-2.txt

Unformatted version of si99s/si99-0062-2.txt version 1.1
Other versions for file si99s/si99-0062-2.txt

!standard 23.2.1          12-12-03 SI99-0062-2/01
!class amendment 12-12-03
!status work item 12-12-03
!status received 12-12-02
!priority High
!difficulty Hard
!qualifier Error
!subject Forget the Semantic Subsystem
!summary
** TBD.
!question
ASIS implementers intent to ignore the Semantic Subsystem as too complex and too duplicative.
There is a lot of needed functionality that is provided ONLY by the Semantic Subsystem (see !discussion). We ought to consider providing this functionality another way.
Should the Semantic Subsystem be removed completely??
!recommendation
(See summary.)
!wording
!discussion
Here is a list of interesting issues about the semantic subsystem that come up in SIs. [Editor's note: There is a complete list of references in the !appendix, including uninteresting ones.]
*SI99-0016-1.TXT
Discussion about macro-expansion of generics. The SI says it should not be required in the syntactic interface since the semantic interface will do the "right thing".
*SI99-0021-1.TXT
The SI is about getting to aspects of things that do not have a declaration, or are defined as part of a multiple declaration. The discussion is not conclusive, saying it depends on what will be in the semantic interface.
*SI99-0025-1.TXT
The SI is about reducing the permissions of the implementation. Predefined_Operations_Supported is left optional, on the ground that there is (required) equivalent functionality in the semantic subsystem.
*SI99-0045-1.TXT
The SI is about the meaning of Corresponding_Expression_Type when there is no convenient type declaration at hand. In some cases, it returns Nil_Element, on the ground that more useful information can be obtained from the semantic subsystem.
This is clarified further by a note added by SI99-0053-1 (item [13]).
Note that the issue is solved in ASIS-for-Gnat by the query Corresponding_Expression_Type_Definition. Not sure if it has its own SI.
*SI99-0058-1.TXT
This SI justifies (in part) the deletion of Asis.Data_Decomposition by the fact that it is being superseded by the semantic subsystem.
*SI99-0061-1.TXT
This SI discusses queries about the inheritance relationships, with a mixture of queries from the syntactic and semantic subsystems.
The issue of analyzing inheritance definitely needs being revisited.
Here is a list of interesting issues about the semantic subsystem that come up in ARG minutes. [Editor's note: I've removed most of the issues that are clearly called out in the SI list above. After all, the text in these SIs often came from meeting discussions. There is a complete list of references in the !appendix.]
*Minutes of 36th ARG Meeting, 31 October, 1-2 November 2008, Portland, Oregon, USA
Syntaxic/semantic subsystem issue in the discussion of - SI99-0038-1/01 (find out whether a non-library body is required) - SI99-0040-1/00, question 3 (meaning of Corresponding_Expression_Type).
(See SI99-0045-1 for the "final" resolution of this question.)
*Minutes of 34th ARG Meeting, 8-10 February 2008, St. Pete Beach, Florida, USA
The discussion with Sergey includes some pointers on holes that the semantic subsystem would be filling.
*Minutes of 32nd ARG Meeting, 1-3 June 2007, Paris, France
Syntaxic/semantic subsystem issue in the discussion of - SI99-0009-1/03 notes: "this change will need to be reflected in
the semantic interface, as 17.1 is the function Corresponding_Expression_Type, which will probably be obsolesced by the semantic interface." [Again, see SI99-0045-1 above.]
- SI99-0025-1/01: "Jean-Pierre argues that tools that are analyzing
uses of operators currently hit Nil, and that causes all kinds of trouble. Randy argues that this belongs to the semantic interfaces; Corresponding_Type_Operators should be obsolescent and thus we don't care about this function. The lists of primitive operations returned by the semantic interface will necessarily include these along with all inherited operations, so worrying about the syntactic side of things is not necessary. One way or the other, the predefined operations need to be available."
- Jean-Pierre's request to find the Size of an object: "If
Jean-Pierre wants to be able to find the size of an object, he should propose an interface for that, either as part of the semantic interface or separately."
*Minutes of 31st ARG Meeting, 17-19 November 2006, Albuquerque, New Mexico, USA
Syntaxic/semantic subsystem issue in the discussion of - SI99-0007-1/02: "This is only a tiny corner of what is broken in
OOP in ASIS. Dispatching calls are defined to return Nil. Class-wide subtypes are represented as Nil. It's hard to get concerned about fixing just this corner - there is a lot wrong here - and that why we want to introduce the new semantic domain model." (further discussion on the need of the semantic interface)
================= SI99-0024 was introduced Nov. 12, 2006 ========================
!appendix

From: Jean-Pierre Rosen
Sent: Monday, December 3, 2012  3:56 AM

Here is the list of SIs that refer to the semantic subsystem, with a
short summary of the issue related to the semantic subsytem. I've put
a "*" in front of the file name when I think there is something to
discuss.

*SI99-0016-1.TXT
   Discussion about macro-expansion of generics. The SI says it should
   not be required in the syntactic interface since the semantic
   interface will do the "right thing".

*SI99-0021-1.TXT
   The SI is about getting to aspects of things that do not have a
   declaration, or are defined as part of a multiple declaration. The
   discussion is not conclusive, saying it depends on what will be in
   the semantic interface.

SI99-0024-1.TXT
   This is the whole semantic subsystem proposal.

*SI99-0025-1.TXT
   The SI is about reducing the permissions of the implementation.
   Predefined_Operations_Supported is left optional, on the ground
   that there is (required) equivalent functionality in the semantic
   subsystem.

   (there is also a copy of the discussion about macro-expansion,
   apparently identical to the one in SI99-0016-1.TXT)

*SI99-0045-1.TXT
   The SI is about the meaning of Corresponding_Expression_Type when
   there is no convenient type declaration at hand. In some cases, it
   returns Nil_Element, on the ground that more useful information can
   be obtained from the semantic subsystem.

   Note that the issue is solved in ASIS-for-Gnat by the query
   Corresponding_Expression_Type_Definition. Not sure if it has its
   own SI.

SI99-0047-1.TXT
   This SI is just about editorial changes (including a presentation
   of the semantic interface).

SI99-0048-1.TXT
   Id., in the summary

*SI99-0053-1.TXT
   Various presentation and editorial changes. Under item [13], there
   is a mention of doing something differently thanks to the semantic
   interface, but short of a reference, it is hard to tell where this
   note is intended to be inserted.

SI99-0054-1.TXT
   This SI is about various fixes in the semantic subsystem itself.

SI99-0056-1.TXT
   There is just an indication that the issue does NOT belong to the
   semantic subsystem.

*SI99-0058-1.TXT
   This SI justifies (in part) the deletion of Asis.Data_Decomposition
   by the fact that it is being superseded by the semantic subsystem.

SI99-0060-1.TXT
   This SI adds an example of using the semantic subsystem.

*SI99-0061-1.TXT
   This SI discusses queries about the inheritance relationships, with
   a mixture of  queries from the syntactic and semantic subsystems.

   The issue of analyzing inheritance definitely needs being
   revisited.

SI99-0062-1.TXT
   Comments about the semantic subsystem itself.

****************************************************************

From: Jean-Pierre Rosen
Sent: Monday, December 3, 2012  3:56 AM

Here is a list of ARG minutes since SI99-0024 was introduced (in
reverse order), with the places where the semantic subsystem was
discussed. I've put a "*" in front of the minutes when I think there
is something to discuss.


Minutes of the 47th ARG Meeting, 15-16 June 2012, Stockholm, Sweden
   No SI discussed

Minutes of 46th ARG Meeting, 24-26 February 2012, Kemah, Texas, USA
   No SI discussed

Minutes of 45th ARG Meeting, 11-13 November 2011, Denver, Colorado, USA
   No SI discussed

Minutes of 44th ARG Meeting, 24-26 June 2011, Edinburgh, Scotland, UK
   No SI discussed

Minutes of Telephone Meeting, 7 April 2011
   No SI discussed

Minutes of Telephone Meeting, 17 March 2011
   No SI discussed

Minutes of 43nd ARG Meeting, 18-20 February 2011, St. Pete Beach, Florida, USA
   No SI discussed

Minutes of 42nd ARG Meeting, 29-31 October 2010, Fairfax, Virginia, USA
   No SI discussed (some ASIS discussion though, not related to the
   semantic subsystem).

Minutes of 41st ARG Meeting, 18-20 June 2010, Valencia, Spain
   No SI discussed

Minutes of 40th ARG Meeting, 26-28 February 2010, Burlington, Massachusetts, USA
   SIs were discussed, but no syntaxic/semantic subsystem issue.

Minutes of 39th ARG Meeting, 6-8 November 2009, St. Petersburg, Florida, USA
   There is an allusion to the semantic subsystem to be considered, under
   23.2.5

Minutes of 38th ARG Meeting, 12-14 June 2009, Brest, France
   SIs were discussed, but no syntaxic/semantic subsystem issue.

Minutes of 37th ARG Meeting, 20-22 February 2009, Tallahassee, Florida, USA
   SI99-0024 was discussed (as well as other SIs), but no
   syntaxic/semantic subsystem issue.

*Minutes of 36th ARG Meeting, 31 October, 1-2 November 2008, Portland, Oregon, USA
   SI99-0024 was discussed (as well as other SIs).

   Syntaxic/semantic subsystem issue in the discussion of
   - SI99-0038-1/01 (find out whether a non-library body is required)
   - SI99-0040-1/00, question 3 (meaning of Corresponding_Expression_Type).
     Obsoleted by Corresponding_Expression_Type_Definition?

*Minutes of 35th ARG Meeting, 20-22 June 2008, Venice, Italy
   SI99-0024 was discussed (as well as other SIs).

   Syntaxic/semantic subsystem issue in the discussion of
   - Old action items ("He also did not work on SI99-0007-1,
     SI99-0019-1, and SI99-0021-1 (those may be handled by the semantic
     subsystem).") 
     However, these SIs continued to live on in the syntactic
     subsystem (later modifications).
   - SI99-0021-1/01 (but going to the semantic subsystem was rejected)
   
*Minutes of 34th ARG Meeting, 8-10 February 2008, St. Pete Beach, Florida, USA
   SI99-0024 was discussed (as well as other SIs).

   The discussion with Sergey includes some pointers on holes that the
   semantic subsystem would be filling.

Minutes of 33rd ARG Meeting, 9-11 November 2007, Fairfax, Virginia, USA
   SI99-0024 was discussed (as well as other SIs).

   Syntaxic/semantic subsystem issue in the discussion of
   - SI99-0012-1/05: allusion to the semantic query, no impact on this one.
   - (Re)assignment of open SIs ("Tucker will take the action items
     for SI99-0007-1 and SI99-0021-1 to ensure that these are covered
     by the semantic interface"). But see meeting 35.

*Minutes of 32nd ARG Meeting, 1-3 June 2007, Paris, France
   SI99-0024 was discussed (as well as other SIs).

   Syntaxic/semantic subsystem issue in the discussion of
   - SI99-0009-1/03 notes: "this change will need to be reflected in
     the semantic interface, as 17.1 is the function
     Corresponding_Expression_Type, which will probably be obsolesced
     by the semantic interface."
   - SI99-0025-1/01: "Jean-Pierre argues that tools that are analyzing
     uses of operators currently hit Nil, and that causes all kinds of
     trouble. Randy argues that this belongs to the semantic
     interfaces; Corresponding_Type_Operators should be obsolescent
     and thus we don't care about this function. The lists of
     primitive operations returned by the semantic interface will
     necessarily include these along with all inherited operations, so
     worrying about the syntactic side of things is not necessary. One
     way or the other, the predefined operations need to be
     available."
   - Jean-Pierre's request to find the Size of an object: "If
     Jean-Pierre wants to be able to find the size of an object, he
     should propose an interface for that, either as part of the
     semantic interface or separately."

*Minutes of 31st ARG Meeting, 17-19 November 2006, Albuquerque, New Mexico, USA
   SI99-0024 was discussed (as well as other SIs).
 
   Syntaxic/semantic subsystem issue in the discussion of
   - SI99-0007-1/02: "This is only a tiny corner of what is broken in
     OOP in ASIS. Dispatching calls are defined to return
     Nil. Class-wide subtypes are represented as Nil. It's hard to get
     concerned about fixing just this corner - there is a lot wrong
     here - and that why we want to introduce the new semantic domain
     model." (further discussion on the need of the semantic interface)
   - SI99-0016-1/01: "There is general agreement with the narrow
     question and solution posed by the SI. The more general
     discussion probably should be put off until the semantic
     interfaces are defined."
   - SI99-0021-1/01: "This appears to be in the semantic domain; it's
     the semantic entity (a type or subprogram) that is interesting,
     not the syntax. This function should really be returning an
     Aspect_Item_List. So this should also be postponed to integrate
     with the semantic interface." But see meeting 35.

================= SI99-0024 was introduced Nov. 12, 2006 ========================

****************************************************************


Questions? Ask the ACAA Technical Agent