sbcl.sbcl/doc
Charles Zhang 2c56c5901d Auto-stack-allocate local functions even with multiple references.
With all the machinery in place to insert cleanup code correctly given
multiple derived dynamic extents, we just need to weaken the condition
for stack allocating a closure from having a single reference to
having all references be downward funarg uses.

Update the manual not only to document this new optimization but also
the existing way for users to declare downward funargs for their own
functions.

Also, there are a couple cases in the self-build where this
optimization applies. Remove those explicit dynamic extent
declarations which no longer do (or never did) anything and let the
compiler prove/auto-stack-allocate many of the valid cases. This makes
it easier to find the cases that the compiler cannot prove safe to
stack allocate yet, which led to finding some potential optimizations
that don't work yet, which failing test cases have been added for.
2025-06-01 12:43:15 +02:00
..
cmu-user Remove cmu-user.dict 2022-10-03 18:44:01 -04:00
internals Inline alien callback Lisp wrappers. 2025-02-10 15:08:24 +01:00
internals-notes Briefly explain the to-be-commited #+linkage-space patch 2024-06-13 17:44:34 -04:00
manual Auto-stack-allocate local functions even with multiple references. 2025-06-01 12:43:15 +02:00
clean.sh Tighten up the cd-then-clean.sh idiom. 2021-03-14 19:37:32 +03:00
entities.inc 0.8.6.1: 2003-11-26 02:11:09 +00:00
FOR-CMUCL-DEVELOPERS Remove #\! reader macro 2019-01-30 13:05:59 -05:00
GIT-FOR-SBCL-HACKERS.txt 1.0.20.29: small FIND fix & win32 build fix 2008-09-24 14:55:13 +00:00
GIT-WORKFLOW.md A git-only SBCL workflow 2011-06-06 09:48:08 +03:00
make-doc.sh 1.0.42.51: disable split html manual building 2010-09-21 15:29:10 +00:00
PACKAGING-SBCL.txt A git-only SBCL workflow 2011-06-06 09:48:08 +03:00
README 1.0.13.22: text tweaks 2008-01-10 15:54:04 +00:00
sbcl.1 Update random bits of text 2020-08-24 16:31:22 -04:00

SBCL is -- ahem! -- imperfectly documented. What can we say? Help with
documentation might not be refused.:-)

There is a Unix man page, sbcl.1.

There is a user manual in texinfo format, in doc/manual/. (In
binary distributions, the compiled-into-HTML translations are also
included.) 

Much of the documentation for supported extensions is in their Lisp
doc strings. For example, to find out how to use the SAVE-LISP-AND-DIE
function in the SB-EXT package, you can execute
  (documentation 'sb-ext:save-lisp-and-die 'function)
or
  (describe 'sb-ext:save-lisp-and-die)
in SBCL.

The user manual is incomplete, and some of its chapters are just notes
that "this is similar to chapter such-and-such of the CMU CL user
manual". The old CMU CL documentation can still be useful both for
missing chapters of the user manual and for documentation of the
internals of the system. It can be downloaded from
<ftp://sbcl.sourceforge.net/pub/sbcl/cmucl-docs.tar.bz2>.