Path: utzoo!utgpu!water!watmath!clyde!rutgers!mit-eddie!uw-beaver!cornell!rochester!quiroz From: quiroz@cs.rochester.edu (Cesar Quiroz) Newsgroups: comp.lang.lisp Subject: Re: Common Lisp lacks portability Summary: All at once: Incorrect programs are known for being nonportable. Message-ID: <5208@sol.ARPA> Date: 15 Dec 87 04:33:18 GMT References: <1421@orstcs.CS.ORST.EDU> <233@spt.entity.com> <2126@ulowell.cs.ulowell.edu> Reply-To: quiroz@ROCHESTER.UUCP (Cesar Quiroz) Organization: U of Rochester, CS Dept, Rochester, NY Lines: 49 Expires: Sender: Followup-To: In article <2126@ulowell.cs.ulowell.edu>, Ross Miller offers to show an example of a `debugged' program that stills fails. I emphasized `debugged', because that wasn't the issue. Here the problem is whether the program is correct or not, not whether it has been debugged, whatever that means. Miller's program was in error, so his objection is moot. (I hope I am not quoting his posting out of context due to my heavy editing): : ... Here is a case where a program could be perfectly :debugged and still fail. : What if we had an implemenation of GKS for lisp. ... :... The GKS is perfect passes all the test suites etc. ... :By accident he sends a float to polyline when an integer :was expected... The scenario involves at least this incorrection. Then, the program is not correct, never mind how energetically debugged. Never mind CL does not specify how to pass things to a C program, etc. These latter questions are of the highest practical importance, see below, but shouldn't cloud our judgement as to the fact that the program was in error and whatever happens was deserved.) : If the GKS is actually implemented in lisp, then lisp will return :an error eventually from such garbage being passed to it, and again the :applications programmer is going to have to intuitivly figure out what :is wrong. Worse, nothing is wrong the GKS is perfect only his program is :wrong but he will get errors unrelated to what is wrong because data with :garbage types will be being passed around. I feel reasonable sympathy for such programmer. It is still true that `only his program is wrong'. And that is all that is needed to render the objection moot. On the issue of interfacing with other languages, I think it is clear there is no way to legislate a solution. Good ideas should be tried, in the hopes that almost de-facto standards for specific combinations of languages and architectures eventually emerge. If Lispers want to carve a nice niche for their favorite language in the numeric community, such interfaces will be needed. (But CL already has a better defined arithmetic than many other languages, just improving the Lisp compilers might be a better idea. Burn those dusty decks :-) -- Cesar Augusto Quiroz Gonzalez Department of Computer Science ...allegra!rochester!quiroz University of Rochester or Rochester, NY 14627 quiroz@cs.rochester.edu