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