Benchmark-inspired SEARCH deftransform for simple-base-strings
... Adjust per APD sbcl-devel to allow the type deriver to
work out all the types
... put boyer-moore version in compiler-extras in contrib/
Also fix stale-symbols so that it runs
... most stale symbols appear to be within vop-parse and
pv-table structures
moved remaining contrib/*-extras.lisp stuff to main system
deleted unused *CHAR=-FUNCTIONS*
Since some of the new transforms use LOOP, and are used in
cross-compilation, it'd be nice if LOOP worked more
correctly in cross-compilation..
..changed SUBTYPEP to SB!XC:SUBTYPEP in loop.lisp
..changed TYPEP to SB!XC:TYPEP in loop.lisp
Now that LOOP calls SB!XC:TYPEP, CROSS-TYPEP needs to be smart
enough to type-expand its arguments, so that e.g.
(SB!XC:TYPEP 0 'INDEX) works.
moved definition of INDEX-OR-MINUS-1 type alongside INDEX
deleted obsolute LOOP NODECLARE stuff
miscellaneous other tidying in loop.lisp
added various bug 117 workarounds so SBCL code builds without
bogus WARNINGs from FIND/POSITION inline expansions
moved more contrib/*-extras.lisp stuff to main system..
..TRUNCATE, FLOOR, and CEILING
..SORT
..VECTOR-PUSH-EXTEND
tweaked TRUNCATE, FLOOR, and CEILING DEFTRANSFORMs so that
they work when &OPTIONAL argument is missing
"We release no software before its time.":-| (Hopefully the
interval between 0.6.13 and 0.7.0 will be shorter
than the interval between 0.6.12 and 0.6.13..)
copied transforms for TRUNCATE, FLOOR, and CEILING from
CMU CL 18c. (Like various other efficiency fixes,
they're in contrib/compiler-extras.lisp instead
of the main system. My plan is to merge all the
contrib/*-extra.lisp stuff into the main system
in version 0.7.x.)
moved my optimization patches to contrib/ so that I can keep
them under the same revision control as SBCL itself
Fix declarations in host-alieneval.lisp so that
DEF-ALIEN-VARIABLE will work.