[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Common Lisp solved this problem 20 years ago



Per Bothner wrote:
Common Lisp allows a compiler to *assume* / is defined to the standard
/ operation, unless there is a visible re-definition.
Kawa makes more-or-less the same assumpions.
I think that is a reasonable default mode for a compiler.

Unless the compiler has the ability to see into the future, this assumption can be rather dangerous in an interactive system.

Can you tell me where in the HyperSpec this behaviour is sanctioned? I had a quick look before posting my last message, but couldn't find it.

If I recall correctly, one of the advances of Dylan over Common Lisp was that that Dylan modules export names and *values* not whereas Common Lisp packages export names. This helps the compiler reason about the value of imported procedures. Bigloo is able to do this too, I think.

Regards,

Alan
--
Dr Alan Watson
Centro de Radioastronomía y Astrofísica
Universidad Astronómico Nacional de México