mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
Assignment lambdas have first order control flow like let lambdas do. So we can just do global constraint propagation around their blocks like normal instead of having to reason about higher-order control flow through local calls. This speeds things up by not having to do conset bookkeeping in local calls and stopping the leading blocks optimization. Possibly as a consequence, it also seems to derive more constraints this way as shown in the attached test case. In any case, this is clearly how assignment lambdas should be handled (by that I mean the same type propagation logic as with other local call function kinds, but without needing higher order control flow reasoning), so mark the old TODO item around assignment lambdas as finished. |
||
|---|---|---|
| .github/workflows | ||
| benchmarks | ||
| contrib | ||
| crossbuild-runner | ||
| doc | ||
| src | ||
| tests | ||
| tlsf-bsd | ||
| tools-for-build | ||
| .cirrus.yml | ||
| .dir-locals.el | ||
| .git-archive-version | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| binary-distribution.sh | ||
| BUGS | ||
| build-all-cores.sh | ||
| build-comparison.sh | ||
| clean.sh | ||
| cload-xc.lisp | ||
| COPYING | ||
| cover-script.lisp | ||
| CREDITS | ||
| cross-make.sh | ||
| distclean.sh | ||
| DOCUMENTATION | ||
| find-gnumake.sh | ||
| freeze.sh | ||
| generate-version.sh | ||
| HACKING | ||
| html-distribution.sh | ||
| INSTALL | ||
| install.sh | ||
| load-xc.lisp | ||
| loader.lisp | ||
| make-android.sh | ||
| make-c-runtime.sh | ||
| make-config.sh | ||
| make-genesis-2.lisp | ||
| make-genesis-2.sh | ||
| make-host-1.lisp | ||
| make-host-1.sh | ||
| make-host-2.lisp | ||
| make-host-2.sh | ||
| make-shared-library.sh | ||
| make-target-1.sh | ||
| make-target-2-load.lisp | ||
| make-target-2.sh | ||
| make-target-contrib-android.sh | ||
| make-target-contrib.sh | ||
| make-windows-installer.sh | ||
| make.sh | ||
| maketarg2loop.lisp | ||
| NEWS | ||
| OPTIMIZATIONS | ||
| PRINCIPLES | ||
| pubring.pgp | ||
| README | ||
| release.sh | ||
| run-sbcl.sh | ||
| sbcl-pwd.sh | ||
| slam.sh | ||
| source-distribution.sh | ||
| tagify.sh | ||
| TLA | ||
| TODO | ||
| validate-float.lisp | ||
| verify-header-parsing.sh | ||
| wc.sh | ||
| xperfecthash30.lisp-expr | ||
| xperfecthash61.lisp-expr | ||
| xperfecthash63.lisp-expr | ||
GENERAL INFORMATION Welcome to SBCL. If you'd like to install or build the system, see the "INSTALL" file. To find out more about who created the system, see the "CREDITS" file. If you'd like information about the legalities of copying the system, see the "COPYING" file. The "DOCUMENTATION" file describes the various formats and ways to access the documentation. The system is a work in progress. See the "TODO" file in the source distribution for some highlights. See the "BUGS" file for how to view or report bugs. If you'd like to make suggestions or help to improve the system, please send mail to one of the mailing lists: sbcl-help@lists.sourceforge.net sbcl-devel@lists.sourceforge.net Note that as a spam reduction measure you must subscribe to the lists before you can post: https://sourceforge.net/p/sbcl/mailman/ The "HACKING" file has more details regarding hacking on and contributing to SBCL. SYSTEM-SPECIFIC HINTS for OpenBSD 6.0 and newer: SBCL must be built and run from a filesystem with the "wxallowed" mount option, such as /usr/local in the default install.