racket/pkgs/racket-doc
Matthew Flatt ad230d2ca0 improve structure-type property handling
Make the optimizer recognize and track `make-struct-property-type`
values, and use that information to recognize `make-struct-type`
calls that will defnitely succeed because a property that hs no
guard is given a value in the list of properties.

Combined with the change to require-keyword expansion, this
change allows the optimizer to inline `f` in

 (define (g y)
   (f #:x y))

 (define (f #:x x)
   (list x))

because the `make-struct-type` that appears between `g` and `f`
is determined to have no side-effect that would prevent `f` from
having its expected value.
2016-08-07 15:59:02 -06:00
..
compatibility use `scribble/examples' for the Reference 2015-12-11 12:29:41 -07:00
dynext add module-suffixes and doc-module-suffixes to "info.rkt" 2015-08-22 09:36:19 -06:00
ffi/examples _enum only takes symbols 2015-04-23 19:23:50 -04:00
file pathlist-closure, tar, and tar-gzip: add #:path-filter 2016-01-01 13:52:37 -07:00
help add support for tethering to a config or addon dir 2016-04-15 06:42:15 -06:00
json remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
openssl use OS X native SSL when libssl is too old 2016-01-06 11:55:43 -07:00
pkg fixed typo in url 2016-06-25 09:31:31 -05:00
scribblings improve structure-type property handling 2016-08-07 15:59:02 -06:00
syntax document this-syntax and #:auto-nested-attributes 2016-07-29 17:39:33 -04:00
version typo: curent -> current 2016-01-06 15:42:58 -05:00
xml A #x20 X-expression converts to  , not . 2016-05-28 15:53:31 -04:00
info.rkt add support for tethering to a config or addon dir 2016-04-15 06:42:15 -06:00
LICENSE.txt update copyright from 2015 to 2016 2016-01-13 19:40:35 -07:00