Newsgroups: comp.lang.apl
Path: watmath!watserv1!torn!utcsri!rpi!zaphod.mps.ohio-state.edu!uunet.ca!geac!itcyyz!yrloc!rbe
From: rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
Subject: Re: SIGNUM of teaching numerical methods
Message-ID: <1992Jul23.050113.20216@yrloc.ipsa.reuter.COM>
Reply-To: rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
Organization: Snake Island Research Inc, Toronto
References: <1992Jul17.171448.13672@chpc.utexas.edu> <1079@kepler1.rentec.com> <ROCKWELL.92Jul19155653@socrates.umd.edu> <1089@kepler1.rentec.com>
Date: Thu, 23 Jul 92 05:01:13 GMT
Lines: 43

In article <1089@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>In article <ROCKWELL.92Jul19155653@socrates.umd.edu> rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell) writes:
>>Andrew Mullhaupt:
>>   Small consolation, given what APL/J might have been...
>is wanted.
>
>>   Oh by the way - I should point out that Splus isn't perfect either
>>   - it has the stupidest function calling ever implemented in an
>>   interpreter - it _copies_ every argument so that functions can't
>>   modify their arguments, _no matter how large they are_. 
>
>No. Having talked to the people who implement it, they maintain that they
>are constrained by the language spec. (And why shouldn't they be?)

This is baloney. (Bullshit in our terms): It is, first of all,
IRRELAVENT to the language spec as to HOW something is implemented.
Semantics is all. It is TRIVIAL to implement a language such as Splus
such that it avoids copying arguments except when a callee tries to tinker
an argument by modifying it. 

If you don't believe me, hire Snake Island Research, and we'll fix you
up ASAP, and give you a substantial performance boost.

>On the other hand, they have told me that they are experimenting with a
>'flag' which will allow you to write functions which do not always copy
>their arguments. This is pretty thin soup, since you will have no way of

This is not experimentation, since it's been done for 20 years or more.

>be non-stupid. And for this who can blame the implementer? How does he know
>that nobody ever 'cheated' and relied on a standard function to copy its
>arguments in another important standard function? No what we need is a

Easy. Strong semantics. If someone tries to tinker some array which has
been passed as a parameter, and you need the copy outside the current
scope, you make a copy. If not, you proceed. Big deal.


Robert Bernecky      rbe@yrloc.ipsa.reuter.com  bernecky@itrchq.itrc.on.ca 
Snake Island Research Inc  (416) 368-6944   FAX: (416) 360-4694 
18 Fifth Street, Ward's Island
Toronto, Ontario M5J 2B9 
Canada
