Path: utzoo!utgpu!water!watmath!clyde!rutgers!sunybcs!boulder!hao!noao!arizona!gudeman From: gudeman@arizona.edu (David Gudeman) Newsgroups: comp.lang.lisp Subject: Re: Correctness (was Re: Common Lisp lacks portability) Message-ID: <3247@megaron.arizona.edu> Date: 17 Dec 87 22:51:25 GMT Organization: U of Arizona CS Dept, Tucson Lines: 18 In article <1547@orstcs.CS.ORST.EDU> ruffwork@orstcs.CS.ORST.EDU (Ritchey Ruff) writes: >I think I see the basic point of dissent in this discussion... > >The main difference in opinion seems to be what we "feel" the definition >of "A CORRECT PROGRAM" is, right? No, I don't think you get it. You are trying to use type declarations to make the run-time system verify the types of variables. You are using them incorrectly. Type declarations in Common Lisp have no purpose other than to give the compiler information that helps it produce efficient code. That's why the compiler is free to ignore the declarations. Some implementations may use the declarations to help the programmer find bugs, but this is not part of the language. So if you depend on type declarations to check the types of your variables at run time, you are using a non-standard, non-portable feature of a specific implementation.