Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!pwa-b!mmintl!franka From: franka@mmintl.UUCP (Frank Adams) Newsgroups: net.lang.apl Subject: Re: Proliferation of operators (was: C Builtin Functions) Message-ID: <1477@mmintl.UUCP> Date: Mon, 19-May-86 19:38:06 EDT Article-I.D.: mmintl.1477 Posted: Mon May 19 19:38:06 1986 Date-Received: Fri, 23-May-86 22:22:37 EDT References: <1418@mmintl.UUCP> <812@bentley.UUCP> Reply-To: franka@mmintl.UUCP (Frank Adams) Organization: Multimate International, E. Hartford, CT Lines: 29 In article <812@bentley.UUCP> kwh@bentley.UUCP writes: >You say APL has "too little structure". If you mean things like "while" and >"if", I think they may be unwelcome. Put in a "while" loop, and people will >start using it to implement a matrix multiply. (For those who don't get it, >APL has a builtin matrix multiply, "+.x".) The language doesn't need much >program structure, because it has data structure in its place. I disagree. "if/then/else" would be very useful in APL. You wind up using go to (->) instead. This is bad for the same reason it is bad in other languages. The data structuring somewhat reduces the need for such things, but not all that much -- particularly for complex applications. People can write a matrix multiply using go to right now. There is no cure for idiocy, and only one for ignorance. >Now, I *would* like to see some improvement in the data structure. It's now >practically impossible to write a function which expects, say, three string >(character vector) arguments. I like the grounded tree model, myself, as a >fix for this. Also, APL is *severely* in need of *variable declarations*! I had both program and data structure in mind when I made that statement. One advantage of a proper implementation of variable declarations is that one would be able to define a function as operating on, say, two scalar arguments; if invoked with two arrays of the same dimensions, it would automatically be called for each corresponding pair of scalars. Frank Adams ihnp4!philabs!pwa-b!mmintl!franka Multimate International 52 Oakland Ave North E. Hartford, CT 06108