racket/pkgs
Matthew Flatt 6603fe3ad4 cs: improve single-value and no-return tracking
New `#%app/no-return` and `#%app/value` functions at the Chez Scheme
level allow schemify to communicate that function calls will not
return or will return a single value. The schmeify pass may have this
information because a Racket-level primitive is declared that way
(such as `error` or `raise-argument-error` for no-return, or most
functions for single-valued) or because single-valuedness is inferred.

There's currently no inference for no-return functions, because those
are relatively rare. An `#%app/value` is used by schemify only for
imported, non-inlined functions, since cp0 can already deal with local
functions and primitives.

There's a start here at adapting the "optimize.rktl" test suite for CS
--- and that effort triggered these improvements plus some other
low-hanging fruit. But a lot more is needed to adapt "optimize.rktl"
and to make some additional optimizations happen.
2020-12-11 13:29:35 -07:00
..
at-exp-lib Update package LICENSE files (#3048) 2020-02-25 14:13:34 -05:00
base cs: improve single-value and no-return tracking 2020-12-11 13:29:35 -07:00
compiler Update package LICENSE files (#3048) 2020-02-25 14:13:34 -05:00
compiler-lib cs: improve single-value and no-return tracking 2020-12-11 13:29:35 -07:00
compiler-test raco: test: Add support to output to file (#3451) 2020-10-27 06:09:22 +01:00
net Update package LICENSE files (#3048) 2020-02-25 14:13:34 -05:00
net-doc net-lib/ftp upload and download enhancement 2020-11-19 15:10:58 -07:00
net-lib net-lib/ftp upload and download enhancement 2020-11-19 15:10:58 -07:00
net-test Disable test that no longer works. 2020-10-14 10:57:49 -04:00
plt-services Update package LICENSE files (#3048) 2020-02-25 14:13:34 -05:00
racket-benchmarks Fix typo in comment 2020-08-26 07:43:58 +02:00
racket-build-guide docs: build guide correction on PLT_SETUP_OPTIONS 2020-12-03 06:42:31 -07:00
racket-doc Create racket/place/dynamic to reduce dependencies. 2020-12-09 11:50:24 -07:00
racket-index raco setup: add --sync-docs-only flag 2020-11-01 06:12:31 -07:00
racket-lib repairs for AArch64 Mac OS 2020-12-04 11:05:40 -07:00
racket-test match: eliminate vector refs due to ``_ ddk'' 2020-11-30 10:56:08 -05:00
racket-test-core cs: improve single-value and no-return tracking 2020-12-11 13:29:35 -07:00
racket-test-extra fix rktio destroy to release a pipe used for internal singals 2020-06-09 10:04:46 -06:00
zo-lib cs: unbreak zo-marshal 2020-11-22 10:18:20 -07:00