[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
User-Visible Declarations and Proclamations
- To: common-lisp@SAIL.STANFORD.EDU
- Subject: User-Visible Declarations and Proclamations
- From: MURRAY%cs.umass.edu@RELAY.CS.NET
- Date: Mon, 18 May 87 12:04 EDT
Because of all the interest in the Maps, I've rewritten Dan Corkill's
original code to handle sequences as well as lists (as well as other changes).
The code is now available (I'm sending it out via Netmail), and Dan
should have a paper on the Maps finished up real soon now.
Since the code now works on both sequences and lists, it must test
at run-time what kind of argument it has (similiar to the MAP-INTO code).
This could be avoided if the type was declared to be a list or vector.
I would like to solicit discussion on the possibility of providing one
or more functions or variables in Common Lisp to provide information
about any declarations or proclaimations that are in effect.
Previous mail by a number of people has indicated a desire to be able to
determine whether a variable has been proclaimed special (e.g. DEFVAR).
This is another example of the general problem.
For type declarations, something like (DECLARED-RESULT-TYPE Form) --> Type
would allow macro-expanders to possibly generate much more efficient code.
I imagine all systems with a compiler have this kind of a function in one
form or another. A system could always just return T.
What about defining the global variables *speed*, *safety*, and
*compiler-speed* to be bound to their proclaimed values?
Another possibility is to have one general function that takes as arguments
what kind of information is requested.
- Kelly Murray
University of Massachusetts