Subject: Re: Common Lisp, the one true religion!
From: Erik Naggum <erik@naggum.net>
Date: Mon, 10 Sep 2001 01:08:31 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3209072908163468@naggum.net>

* tfb@famine.OCF.Berkeley.EDU (Thomas F. Burdick)
> And yet they feel perfectly comfortable breaking their previous
> promises to the compiler, comfortable in the knowledge that they
> remember the actual memory layout of the object pointed to, whatever
> the compiler might think.

  But that is so different!  A cast says "now I want this to be of type X",
  not "tell me if this is not used consistently with its declared type",
  which all the type checking is about.  Ironically, a cast is like a type
  declaration in Common Lisp, which says "you may assume this is of type X".

> There are plenty of casts in my C code, but for those people who really
> *can't* be trusted to remember the types of their variables, they are
> sometimes a source of remarkably difficult to find and fix bugs.

  I believe the same is true for highly optimized, e.g., (safety 0), Common
  Lisp code with declarations that are lies.

///