whisper at oz.net
Sun Sep 29 00:17:05 CEST 2002
> I recall a Lisp implementation from long ago that did not distinguish
> between integers and machine addresses. When applying a function to an
> arg list, if the function name evaluated to a number the interpreter
> blithely JSRed to that address. This was a Feature, in that it was how
> system built-ins were linked with the higher level stuff. User code did
> not normally do this and it was not a big issue in practice. However it
> WAS a loophole that allowed type errors to occur, as it allowed code to
> jump to any random address in the system.
> But I think the generalization holds for most dynamic languages.
In fact, the names of some Lisp funtions came from the machine registers of
the same name: car (current address register) and cdr (current data
register) are the only ones I recall offhand.
Seattle, WA USA
More information about the Python-list