Commit Graph

179 Commits

Author SHA1 Message Date
Phil Nguyen
66f89cb6f6 fix documented contract ranges of set-subtract! and set-symmetric-difference! 2015-11-07 08:39:48 -07:00
Sam Tobin-Hochstadt
f126fd2356 Revert "change or/c so that it takes the first ho projection"
This reverts commit 5a33856802.

Merge to 6.3.
2015-11-06 14:25:41 -05:00
Juan Francisco Cantero Hurtado
5e2421b1a0 Doc: github.com/plt -> github.com/racket 2015-11-06 10:26:07 -06:00
Phil Nguyen
42e5d9f5cf fix typo in documented contracts for extfl->exact and extfl->inexact 2015-11-04 13:30:56 -06:00
Matthew Flatt
5a8d2e4204 fix bugs in the reader, especially related to readtables
Closes #1118, but improved testing exposed many other bugs.
2015-11-04 08:51:03 -07:00
Matthew Flatt
0edd781928 use "_LOCK" prefix for Windows cross-build
Use "_LOCK" instead of ".LOCK" when the cross
platform is Windows, not just when the current
platform is Windows.

Merge to v6.3
2015-10-28 17:44:26 -04:00
Spencer Florence
8f681cec7a fixed minor docs typo 2015-10-28 09:18:05 -04:00
Stephen Chang
c868c7b68d doc typos 2015-10-27 16:11:15 -04:00
Alex Knauth
67e3899272 Allow separate read and write contracts for box/c 2015-10-24 14:16:49 -05:00
Matthew Flatt
2e3ff0332d improve docs on make-weak-hash
Note that values are held normally and ephemerons can help.
2015-10-22 09:40:37 -06:00
Matthew Flatt
62f089756c fix doc typo 2015-10-21 15:16:56 -06:00
Phil Nguyen
056ec806d5 fix ranges of set-union!, set-intersect!, dict-clear! to be void? in doc 2015-10-19 08:08:22 -06:00
Matthew Flatt
c50c23c134 GC: toward incremental collection
Make the old-generation marking process incremental
on request, where `(collect-garbage 'incremental)`
makes a request.

Only the marking phase of an old-generation collection
is incremental, so far. In exchange for slower
minor collections and a larger heap, you get a major
collection pause time that is roughly halved. So, this
is a step forward, but not good enough for most purposes
that need incremental collection.

An incremental-mode request sticks until the next
major GC. The idea is that any program that could
benefit from incremental collection will have
some sort of periodic task where it can naturally
request incremental mode. (In particular, that
request belongs in the program, not in some external
flag to the runtime system.) Otherwise, the
system should revert to non-incremental mode, given
that incremental mode is slower overall and can
use much more memory --- usually within a factor of
two, but the factor can be much worse due to
fragmentation.
2015-10-16 21:08:23 -06:00
Vincent St-Amour
9fe486b9e0 Add missing history annotations.
Please merge to 6.3.
2015-10-12 14:43:19 -05:00
Vincent St-Amour
270bbccf6b Fix history annotations to refer to 6.3.
Please merge to 6.3.
2015-10-12 13:49:55 -05:00
Matthew Flatt
6c0ffe1ba2 add missing history
Merge to v6.3
2015-10-11 07:44:55 -06:00
Stefan
d988055a49 added crypto-random-bytes 2015-10-05 12:00:01 -06:00
Asumu Takikawa
a729c028a6 Add racket/os library.
For now this just contains two functions from mzlib/os.
2015-10-05 11:59:38 -06:00
Gustavo Massaccesi
09a2b630bc Generalize inferred names
After some expansions, a expression with the syntax property 'inferred-name of
'x is converted to one with ('x . 'x), so it's not useful to get the name of a
procedure. So we simplify the syntax property 'inferred-name to handle
these cases.
2015-10-05 10:25:57 -06:00
Robby Findler
5a33856802 change or/c so that it takes the first ho projection
whose first-order predicate accepts a value, instead
of requiring that there be exactly one
2015-09-22 09:05:34 -05:00
Vincent St-Amour
4522d2167a Merge docs for new string functions. 2015-09-16 13:05:42 -05:00
ben
85e5db38fb renamed string-startswith/endswith to string-prefix/suffix 2015-09-16 13:05:40 -05:00
ben
22cda63200 add string-startswith? and string-endswith? 2015-09-16 10:33:53 -05:00
Benjamin Greenman
dedde2cd60 typo: construct -> contract 2015-09-13 15:36:19 -05:00
Matthew Flatt
5401c5d179 racket/sandbox docs: clarify that collection modules are accessible 2015-09-12 13:21:04 -06:00
Matthew Flatt
81ee1b39c7 change the (relatively new) argument to collect-garbage
Make the argument a symbol, 'major or 'minor, instead
of a boolean, because that allows further extension.
2015-09-11 12:07:35 -06:00
Asumu Takikawa
4c2a32d293 Document inspector of #f for make-struct-type 2015-09-10 15:36:22 -04:00
Vincent St-Amour
965fa8e34c Start using failure-result/c in docs.
Not exhaustive, just what I could think of.
2015-09-08 17:11:26 -05:00
Vincent St-Amour
e358c49573 Add rename-contract, if/c and failure-result/c from unstable/contract. 2015-09-08 17:11:26 -05:00
Vincent St-Amour
147baa63f7 Add port-number? and listen-port-number? to racket/tcp.
From `unstable/contract`.
2015-09-08 17:11:26 -05:00
Vincent St-Amour
dc11eede98 Add links to docs. 2015-09-08 17:11:26 -05:00
Vincent St-Amour
5f43b3a913 Move non-empty-string? to racket/string.
From `unstable/contract`.
2015-09-08 17:11:26 -05:00
Asumu Takikawa
33bb5e9060 Make prop:rename-transformer accept a procedure
Allows the choice of target identifier to be delayed
until expansion time, rather than fixed at the point of
the transformer definition.
2015-09-08 13:29:13 -04:00
Vincent St-Amour
d705e928ac Add a mode argument to pretty-format.
... which controls whether it uses `print`, `write` or `display`.

Obsoletes most of `unstable/pretty`.
2015-09-07 15:46:58 -05:00
Brian Lachance
e0f2d9c0d6 Fix make-contract example to show the correct contract violation
There was a duplicate quote around `given:' which caused a violation in
make-contract's internals.
2015-09-07 11:58:13 -05:00
Matthew Flatt
c1ef6b999d fix documentation's contract for syntax-track-origin 2015-09-07 07:48:43 -06:00
Matthew Flatt
efe056f18d update documentation for preserved syntax-object source locations 2015-09-02 18:21:38 -06:00
Matthew Flatt
929db29b67 add prop:expansion-contexts
The `prop:expansion-contexts` property can control the expansion
of a rename transformer in much the same that conditionals on
`(syntax-local-context)` can control the expansion of other
transformers.
2015-09-01 13:55:35 -06:00
Robby Findler
13964c4141 add and use late-neg projections to the contract system
These avoid one layer of currying and are more efficient, getting
about a 1.3x speed up on this program:

 #lang racket/base
(module server racket/base
  (require racket/contract/base)
  (provide
   (contract-out
    [f (-> integer? boolean? char? void?)]))
  (define (f i b c) (void)))

(require (submod "." server))

(time
  (for ([x (in-range 10000000)])
    (f 1 #t #\x)))
2015-08-31 20:48:03 -05:00
Matthew Flatt
29784bda8e add cross-system-type and cross-system-library-subpath
Adjust installation tools to support cross-installation (i.e.,
installation for a platform other than the current one) as triggered
by "system.rktd" in "lib" having different information than the
running Racket executable.
2015-08-27 12:01:31 -06:00
Matthew Flatt
3d452fdba6 raco exe: make Windows exes as proper PE32 images
Instead of simply tacking bytecode onto the end of an executable,
generate a proper PE32 image.
2015-08-24 17:12:11 -06:00
Vincent St-Amour
e5a024b02e Move struct->list docs from unstable docs. 2015-08-19 15:07:25 -05:00
Vincent St-Amour
13b6a98de6 Move docs for make-constructor-style-printer from unstable docs. 2015-08-19 15:07:25 -05:00
Matthew Flatt
80aac79507 change place to create a submodule
When `place` expands, the body of the `place` form is placed into a
`(module* place-body-<n> #f ....)` submodule.

The `place` form previously placed its body in a lifted function,
where the function's exported name was based on
`(current-inexact-milliseconds)`. The generated submodules have
deterministic names, so that compilation is deterministic, and
submodule names don't collide (unlike exported function names) when
multiple `place`-using module are imported into some other module.
Also, using a submodule avoids the problem that the clock doesn't
change fast enough on Windows.
2015-08-14 17:55:47 -06:00
Matthew Flatt
0caf079637 add syntax-local-lift-module 2015-08-14 16:52:56 -06:00
Matthew Flatt
15eadbb868 copy-directory/files: add #:preserve-links? argument 2015-08-13 15:13:46 -06:00
Matthew Flatt
33cf716835 include phantom bytes consistently in memory-use reports 2015-08-13 15:13:46 -06:00
Vincent St-Amour
c50eeeecc9 Fix history annotations.
Version changed while the PR was up.
2015-08-13 14:43:57 -05:00
Vincent St-Amour
033d5afb19 Revert adding in-pairs to racket/sequence.
`in-dict` is more general, and `for` loops optimize it already.
2015-08-13 14:43:57 -05:00
Vincent St-Amour
52425fbb27 Add history notes. 2015-08-13 14:43:57 -05:00