Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!ucbvax!info-modula-2 From: nagler%orb@SUN.ARPA (Rob Nagler) Newsgroups: net.lang.mod2 Subject: Re: extensions, a modest proposal Message-ID: <8602251623.AA03090@orb.sun.uucp> Date: Tue, 25-Feb-86 11:23:23 EST Article-I.D.: orb.8602251623.AA03090 Posted: Tue Feb 25 11:23:23 1986 Date-Received: Fri, 28-Feb-86 21:50:19 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 24 Infix arithmetic is an attempt to simulate mathematics (which we all know computers don't do very well). One could argue that the infix operators should extend to arrays, but APL certainly has its readability problems. I like lisp, but M2 isn't Lisp. There isn't much rational for keeping infix operators except for history and pseudo-upward compatibility. Overloading. Here is my main argument against overloading: Text_IO.Put( s ); is legal (if "s" is an array of char) and so is Text_IO.Put( s[0] ); This is a particularly simple example, but you get the drift. To me this eliminates the main feature of structured languages: type checking (or assertion verification, if you like). If you don't care about losing type checking, then I suggest you program in something like Smalltalk or Lisp. Why do you think Wirth put BYTE (formerly, WORD) in the module SYSTEM? It is a major loophole (which is how you can get your overloading of prefix operators by the way). Rob