Path: utzoo!mnetor!uunet!husc6!think!ames!umd5!umbc3!alex
From: alex@umbc3.UMD.EDU (Alex S. Crain)
Newsgroups: comp.lang.lisp
Subject: Re: Common Lisp lacks portability
Message-ID: <640@umbc3.UMD.EDU>
Date: 15 Dec 87 08:37:04 GMT
References: <1421@orstcs.CS.ORST.EDU> <233@spt.entity.com> <2126@ulowell.cs.ulowell.edu>
Reply-To: alex@umbc3.UMD.EDU (Alex S. Crain)
Organization: University of Maryland, Baltimore County
Lines: 47
Keywords: Common Lisp

In article <2126@ulowell.cs.ulowell.edu> ross@swan.cs.ulowell.edu (Ross Miller) writes:
>	What if we had an implemenation of GKS for lisp.

  [much deleted about how programs that use incorrect data give poor results]

[Lessee, I think I got a match here somewhare...there we go]
I think that the problem here is that the wrong language is being used. Might
I suggest VAX/VMS Pascal? VAX Pascal offers a multitude of idiot-proofing
schemes to protect incompetant programmers from themselves, includeing run
time bounds checking and full checking of types, use checking of variables,
etc. True, all that extra work causes the code to run at about 1/2 speed at
best, but it seems to supply what you want.

	I play consultant at the first-aide desk in the computer center
a few hours a week, for the sake of the distraction, and I get mutitudes
of people (more seniors than I would like) with the attitude that the 
language is responsibe for detection of programmer stupidity. My answer
to them is the same as the one above. If you can't hack working without
a net, get a net and suffer the consiquences of poor run time performance
and code restriction. But don't blame the language for your mistakes.

[flame off]

	There is a valid point here though, in that it is in general difficult
to find obscure semantic errors in an interpreted environment. I was thinking
is what I really want is lint for lisp. I was tracing through some code (mine)
recently and found..

	(prog						(progn
	   (arf narf snarf)      as opposed to		   (arf narf snarf)
		...						...
	   )						    )

which didn't cause major problems, but the variable scoping was wrong and
(arf ...) was never evaled. I would have rather had something major.

	I would guess that lint for lisp wouldn't be too far fetched,
a utility that would complain about unused variables and wrong # of arguments,
etc. My compiler does this but that is so much overhead that its a bit
extreme. Has anyone ever seen such an animal? Realizing that it would
have to be tuned for each dialect, source for such a thing in any form that
could be modified for use with CL would certainly be a help.

					:alex.


alex@umbc3.umd.edu