- Oct 20, 1990
- Oct 19, 1990
- Oct 18, 1990
-
-
wlott authored
-
ram authored
functions under (space 0) so that the stubs will be inline expanded. Changed some uses of INTEGER-DECODE-FLOAT to FLOAT-SIGN, since only the sign was being used. Note that EXPT is broken, since (expt -2.0 0.5) should be a complex, not 0.
-
ram authored
and directly call the C interface stub (which can be inline expanded.) Also, generalized the rational-constant/float compare to work for any constant that has a precise single-float representation, not just for 0.
-
- Oct 17, 1990
-
-
ram authored
since we count on these being a local call (we never make an XEP.)
-
ram authored
have a NLX into them top-level.
-
ram authored
with top-level lambdas that aren't in :TOP-LEVEL components.
-
ram authored
reference if the function doesn't yet have any LEAF-INFO.
-
ram authored
components.
-
ram authored
a forward reference. Also, in REPLACE-TOP-LEVEL-XEPS, don't gag on top-level lambdas that aren't in top-level components.
-
ram authored
both normal XEPs and top-level lambdas. In addition to being included in the normal components list, these components are also returned as a list in the third value.
-
ram authored
creation when there is a forward reference across components. Also, changed many defaults to (REQUIRED-ARGUMENT), which should gag some type warnings
-
ram authored
to be less obscure. Made it clear the SPECIFIER-TYPE cache so that subsequent references will be noticed as unknown. In DEFINE-DEFSTRUCT-NAME, quietly blow away any existing ACCESSOR-FOR. This is necessary now that we don't always undefine a structure before redefining it, but it may also help with some of the spurious undefining that was happening. Broke off redefinition hackery into CHECK-FOR-STRUCTURE-REDEFINITION. This function checks for incompatible redefinition, and only undefines the structure if the redefinition is incompatible.
-
ram authored
is empty as long as one of the types was NIL. Also, frobbed DEFUN handling, mainly in the use of ASSERT-DEFINITION-TYPE. We use the new arguments to implement redefinition notes. Also, we inhibit doing actual type assertion for all known functions to avoid defeating explicit argument type checking. Someday we might want to make this inhibition conditional on an IR1 attribute.
-
ram authored
declared types with definitions. Also, fixed some of the logical functions to say their arguments were integers, not T.
-
ram authored
of type NIL, and downgraded the message from lossage to slime. Spiffed up ASSERT-DEFINITION-TYPE in various ways. It now takes various arguments which provide additional control. In particular, the REALLY-ASSERT argument allows this function to be used to give function redefinition notes without applying bogus type assertions. Also, fixed optional and keyword handling to take into account the possibility that the default might legally not be of the type in the function type. If the default is constant, we union its type in, otherwise we write off type assertion for that argument. Fixed the result type intersection stuff not to gag on NIL assertions. Also, tweaked the formatting a bit to reduce wrapped lines, etc.
-
ram authored
tweaked output format a bit.
-
ram authored
about required keyword argument defaults.
-
ram authored
DD when the redefinition is not incompatible. This precents recompiling and loading of DEFSTRUCT STREAM from blowing the system out of the water, etc.
-
ram authored
SIMPLE-STRING when they aren't.
-
ram authored
Changed nsubstitute-if to declare the :END arg as fixnum after defaulting. Somehow managed to stop myself from rewriting the entire file.
-
ram authored
illegal value NIL.
-
ram authored
since that's what the slot is declared to be. Also, check for variable size element type before creating the field-info, since the field-info-size must be an integer.
-
- Oct 16, 1990
- Oct 15, 1990
-
-
wlott authored
the definition and not in the type. (This case only happens if there is an &key in the type, since otherwise we punt before them.)
-
wlott authored
-
ram authored
maintaining separate compiler structure info. When we change the included-by info, we copy the DD and included-by list so that the definition in the compiler lisp is not affected. At load or eval time, %DEFSTRUCT is now responsible for updating the included-by list for the defined-structure-info.
-
ram authored
incompatibly redefined, signalling a correctable error. If proceeded, we FMAKUNBOUND the old accessors. Also, %DEFSTRUCT is now responsible for updating the INCLUDED-BY slot for the DEFINED-STRUCTURE-INFO, since the compiler's STRUCTURE-INFO may not be EQ. I also moved %DEFSTRUCT to be beginning of the DEFMACRO expansion. It was previously at the end, which caused %%COMPILER-DEFSTRUCT to create FUNCTION KIND and WHERE-FROM entries for the slot accessors. If they are defined as functions in the global environment, then it just lets the default expression for these info types realize that they are functions. With any luck, this won't cause any horrible bootstrapping problems.
-
- Oct 14, 1990