Path: utzoo!attcan!uunet!samsung!noose.ecn.purdue.edu!mentor.cc.purdue.edu!l.cc.purdue.edu!cik From: cik@l.cc.purdue.edu (Herman Rubin) Newsgroups: comp.lang.misc Subject: Re: Multi-compilers Summary: Utility involves easy-to-use notation Keywords: design, source Message-ID: <2581@l.cc.purdue.edu> Date: 21 Sep 90 14:17:38 GMT References: <9009110403.AA03158@csd4.csd.uwm.edu> <2576@l.cc.purdue.edu> <9206@ccncsu.ColoState.EDU> Organization: Purdue University Statistics Department Lines: 35 In article <9206@ccncsu.ColoState.EDU>, wendt@ives.cs.colostate.edu (alan l wendt) writes: > In article <2576@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: > > =The language can be produced, and presumably compilers can be written. > =But it must take the approach that everything is possible, and that > =utility is more important than esthetics. > > Sounds like PL/I to me. The problem with PL/I and assemblers is the poor notation. This even occurs with the present languages, to more of an extent than many would recognize. One of the important advantages of languages is the use of overloaded operators and relations, and converient use of standard mathematical notation. Why is there an absolute value function rather than an absolute value operator? Only because when Fortran was written, they were limited to a 48 character set (IBM punched cards, at the time). This is also why ** was used for exponentiation, and even * for multiplication. I have used a dialect of Fortran which overloaded some of the "standard" functions, so that absolute value, logarithm, mod, etc., did not have to have any modifier indicating the type(s) of the arguments. The compiler did the appropriate analysis. A language is a set of macros to be interpreted by the compiler into machine procedures. There is no good reason why the user should not be allowed to add macros in convenient notation to this list, nor why many of the restric- tions on the current macros need be there. If the machine can do something, the user should be able to invent a notation to do it, if necessary. For example, I find the general vector operation on the CYBER 205, with its dozen optional fields, easy to explain in a notation easy to read and write. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet) {purdue,pur-ee}!l.cc!cik(UUCP)