Xref: utzoo comp.lang.fortran:1431 comp.lang.c:13693 Path: utzoo!yunexus!geac!syntron!jtsv16!uunet!lll-winken!lll-tis!ames!oliveb!sun!chiba!khb From: khb%chiba@Sun.COM (Keith Bierman - Sun Tactical Engineering) Newsgroups: comp.lang.fortran,comp.lang.c Subject: Re: isomorphic languages Message-ID: <75328@sun.uucp> Date: 30 Oct 88 10:04:37 GMT Article-I.D.: sun.75328 References: <75326@sun.uucp> Sender: news@sun.uucp Reply-To: khb@sun.UUCP (Keith Bierman - Sun Tactical Engineering) Organization: Sun Microsystems, Mountain View Lines: 32 In article <75326@sun.uucp> dgh%dgh@Sun.COM (David Hough) writes: >Thesis: Language designers (including X3Jn committees) needn't >incorporate every bad syntax of the past if revised versions are >syntactically isomorphic. > > < stuff deleted > >I'd consider Fortran-8x to be upwardly compatible with Fortran-77, and >X3J11 C to be upwardly compatible from K&R, if every legal old program >could be converted to a legal new program by a "context-free" >translator that only has to look at one logical input line at a time. >One logical input line may contain multiple physical input lines - >Fortran-77 continuation lines are what I have in mind. Languages with >this "context-free translatability" property could be called >"syntactically isomorphic". > < more stuff deleted > I agree, but with one modest addition. The translator must be bidirectional. If a program does not use any of the languages new features (that don't correspond to anything in the old language), it should be convertable back into an old format. This is necessary for supporting multi-platform projects, where one cannot be sure that all vendors will supply a new compiler in a timely fashion. Also if the original program was readable (well indented, and commented, etc.) the converted (or doubly converted) should still be. With these two proviso's added, I agree with David's proposal. Keith H. Bierman It's Not My Fault ---- I Voted for Bill & Opus