!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 ======================== ****************************************************************