To: J3 J3/21-112r1 From: T. Clune and M. Haveraaen Subject: Retract TYPEOF and CLASSOF features Date: 2021-February-21 #Reference: 21-007 The generics subgroup strongly recommends that the proposed TYPEOF and CLASSOF features be removed from F202x. Upon reflection, we have concluded that these features will become superfluous under the more powerful generics capabilities planned for F202y and would likely result in several undesirable consequences. While we recognize that TYPEOF and CLASSOF could be of some limited use in implementing certain generics use cases (e.g., containers), these applications would generally rely heavily on the use of INCLUDE statements. This would lead to the situation where: - people who pay attention to the Fortran standard will upgrade their code to use TYPEOF/CLASSOF/INCLUDE - educational materials will be written to explain how to use TYPEOF/CLASSOF/INCLUDE to write generic code in Fortran - developer tools like IDEs (code aware editors) are currently struggling to support INCLUDE, but will have to add extra effort to support this form of generics - or give up supporting Fortran - people outside of Fortran will become more convinced Fortran is an archaic language Then, when F202y delivers a proper generics mechansism, TYPEOF/CLASSOF become suprefluous (but not made obsolescent) we envision the following consequences: - code developed with the TYPEOF/CLASSOF/INCLUDE hack will generally not be upgraded since the new generic notation will be very different from the hack - people who search for <> will find the old blogs with the TYPEOF/CLASSOF/INCLUDE hack and follow this pattern - developer tools will need another major upgrade - with IDE maintainers wondering if the whimsical behaviour of the Fortran committee is worth the investment - Fortran becomes a modern language, but will still be perceived as an archaic language using INCLUDE for generics