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