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

Declarations and Ignorance

     From DLW:
     There should NOT be a way to ask the type of a variable!
     CL is not a typed-variable language.  Implementations
     are EXPLCITLY ALLOWED to ignore all type declarations.

This statement seems hastily spoken: if CL has as a goal guaranteeing that
compiled-code semantics are the same as interpretted-code semantics, and
if stock hardware is allowed declarations for the compiler, then it seems
that the interpreter has to be able to obtain the type of a variable.
That is, unless CL is one of those languages whose machine is allowed to
consult an oracle on certain questions.

If you want to EXPLICITLY ALLOW an implementation to IGNORE *ALL* type
declarations, then the way that asks of a variable, what type are you?, can
simply be the constant function #'(LAMBDA (X) 'POINTER).