racket/pkgs/racket-doc
Matthew Flatt db0a6de1d2 add procedure-specialize
The `procedure-specialize` function is the identity function, but it
provides a hint to the JIT to compile the body of a closure
specifically for the values in the closure (as opposed to compiling
the body generically for all closure instances).

This hint is useful to the contract system, where a predicate
is coerced to a projection with

 (lambda (p?)
   (procedure-specialize
    (lambda (v)
      (if (p? v)
          v
          ....))))

Specializing the projection to a given `p?` allows primitive
predicates to be JIT-inlined in the projection's body.
2015-12-23 17:46:56 -07: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 file/tar: add #:follow-links? option 2015-11-10 10:50:07 -07:00
help
json
openssl document openssl/libcrypto and openssl/libssl 2015-10-05 17:40:19 -06:00
pkg Fix history annotations to refer to 6.3. 2015-10-12 13:49:55 -05:00
scribblings add procedure-specialize 2015-12-23 17:46:56 -07:00
syntax Remove typo in docs for expand-syntax-top-level-with-compile-time-evals 2015-12-09 11:58:18 -05:00
version improve error checking in version/utils 2015-11-28 16:26:09 -06:00
xml
info.rkt use `scribble/examples' for the Reference 2015-12-11 12:29:41 -07:00
LICENSE.txt adjust copyright dates: 2014 -> 2015 2015-10-05 13:39:11 -06:00