From: Reini Urban
Subject: "Nimble Type Inferencer" alike implementation for an actual CL?
Date: 
Message-ID: <352BA81F.C00258E1@sbox.tu-graz.ac.at>
I recently came across Henry Baker's paper of his "Nimble Type
Inferencer" at ftp://ftp.netcom.com/pub/hb/hbaker/TInference.html
for pre-CLOS

I wonder if any ansi-cl implementation uses a similar or better "Type
Inferencer"? 
cmucl's python compiler seems to do similar stuff but is it better than
nimble? 
from the cmucl docs:
"Although Python does much more type inference than most Common Lisp
compilers,
remember that the more precise and comprehensive type
declarations are, the more type inference will be able to do."

the nimble docs state the opposite: the less type declarations you give
the less 
errors you can make, the inferencer is good enough to insert all correct
declarations 
automatically.
"Since our declarations do constrain the values of variables and
temporaries, they
can change the meaning of a program, in the sense that a program with
declarations
can exhibit a smaller range of correct behavior than the same program
with the
declarations elided. Therefore, declarations can become a source of
bugs, as well as
a way to find bugs (assuming that a compiler or run-time system
complains about 
declarations which actually constrain a program's meaning).
The fact that declarations may actually introduce bugs into previously
correct
programs means that the traditional advice to "only add declarations to
well-debugged programs" becomes circular and nonsensical!"

--
Reini Urban   http://xarch.tu-graz.ac.at/~rurban/