Getting started

David LeBlanc whisper at oz.net
Sun Sep 29 00:17:05 CEST 2002


<snip>
> 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.
>
> Regards
>
> --jb
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.

Dave LeBlanc
Seattle, WA USA





More information about the Python-list mailing list