Preliminary report on a practical type inference system for common Lisp
暂无分享,去创建一个
While the combination of dynamic typing and generic functions in Lisp have always presented a challenge to optimizing Lisp compilers for stock hardware, the situation has never been more difficult than in Common Lisp [7]. For example, one may add any of eight distinct primitive types of numbers in any combination using the single function+. While the overhead of sorting this type information out at run-time may be largely alleviated by the use of special-purpose hardware or microcode, the problem remains critical for implementations running on conventional general-purpose computers. Indeed, this situation played a crucial role in at least one wide-ranging critique of Common Lisp [2].
[1] Rodney A. Brooks,et al. A critique of common LISP , 1984, LFP '84.
[2] Robin Milner,et al. A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..
[3] Terrence C. Miller. Type checking in an imperfect world , 1979, POPL '79.
[4] Jeffrey D. Ullman,et al. A Scheme for the Automatic Inference of Variable Types , 1980, JACM.