Robby Findler
99d7ad56d9
clean up exports of racket/contract/combinator
...
It used to have a (provide (except-out (all-from-out <private-file>) ...))
and various private functions leaked to the outside over the years.
None of the ones removed in this commit were documented, so hopefully
they weren't being used. But this is definitely not backwards compatible,
so this commit is mostly about testing the waters
2015-12-21 10:32:41 -06:00
Robby Findler
3a4ba9a1ca
fix parametric->/c for the keyword case
2015-12-21 10:32:08 -06:00
Robby Findler
261a5cb1f4
port rename-contract to late-neg projection and add some tests
2015-12-21 09:32:14 -06:00
Robby Findler
e4ffa6c97c
port if/c to late-neg, add tests, and fix some (minor) bugs
2015-12-21 09:20:45 -06:00
Robby Findler
8776ab7686
remove implementations of non-late-neg projections from bunch of combinators
2015-12-21 09:20:45 -06:00
Robby Findler
7d02f4c7b1
port parametric->/c to late-neg
2015-12-21 08:06:14 -06:00
Robby Findler
35b2320730
add more warning logging for contracts that don't have late-neg projections
2015-12-21 07:27:38 -06:00
Robby Findler
efc8bcc2fd
update contract in comment
2015-12-20 21:17:53 -06:00
Matthew Flatt
0553f191d7
adjust PLT_INCREMENTAL_GC so it can disable generational GC
...
A value that starts "1", "y", or "Y" enabled incremental mode
permanently (any value was allowed formerly), while a value that
starts "0", "n", or "N" causes incremental-mode requests to be
ignored.
2015-12-20 08:58:21 -07:00
Matthew Flatt
3a99a19c56
reduce double major GCs
...
When a major GC triggers finalization, another major
GC is scheduled immediately on the grounds that the
finalizer may release other values. That was important
at once time, but the finalization and weak-reference
implementation has improved to the point where the
extra ful GC no longer seems necessary or useful.
2015-12-20 08:58:21 -07:00
Matthew Flatt
513849c1e3
incremental GC: make accounting incremental for the root custodian
2015-12-20 08:58:21 -07:00
Matthew Flatt
9711000b70
drop generation 1/2 except in incremental mode
...
Originally, generation 1/2 was intended to delay major
collections when the heap is especially large. It doesn't
seem to be effective in that case, and it can slow down
minor GCs, so continue to use it only in incremental
mode (where it helps significantly with fragmentation).
2015-12-20 08:58:21 -07:00
Matthew Flatt
6957780cd5
incremental GC: tune departure from incremental mode
...
At the completion of an incremental major GC, if incremental
mode wasn't requested recently, schedule an immediate major
GC to reduce the heap back to its normal footprint.
2015-12-20 08:58:21 -07:00
Jay McCarthy
ddaffc8248
Revert "A kinder, gentler, friendly starting documentation page"
...
This reverts commit 260bfe9fec
.
2015-12-20 10:51:31 -05:00
Robby Findler
15e24fce78
adjust set/c to follow the late-neg protocol
...
and make it do some work earlier
2015-12-19 22:17:59 -06:00
Robby Findler
53fa16fc9c
adjust hash/c to more completely follow the late-neg protocol
2015-12-19 22:17:59 -06:00
Robby Findler
783443f9d7
update the docs for ->i
...
(should have been in commit 506c9be0cd
)
2015-12-19 22:17:59 -06:00
Robby Findler
bd4b243963
port xml contracts to late-neg
2015-12-19 22:17:58 -06:00
Robby Findler
3b1e535049
port recursive-contract to late-neg
2015-12-19 22:17:58 -06:00
Robby Findler
a712117030
adjust syntax-parse's contract support to use the late-neg projections
2015-12-19 22:17:58 -06:00
Robby Findler
00c0ddb7f6
port vector/c to late-neg projection (and throw away some redundant code)
2015-12-19 22:17:58 -06:00
Robby Findler
efcbd12116
port class/c and friends to late-neg projections
2015-12-19 22:17:58 -06:00
Robby Findler
3ed5eef44d
put a little more info into the test case failure messages
2015-12-19 22:17:57 -06:00
Jay McCarthy
260bfe9fec
A kinder, gentler, friendly starting documentation page
2015-12-19 21:56:55 -05:00
Jay McCarthy
2e34599ce3
Support custom categories on root documentation page
...
When custom categories are used in older versions, raco setup will
report a warning, but the documentation will still appear under the
Miscellaneous section. Thus, this is a backwards compatible
implementation of the idea.
2015-12-19 16:56:48 -05:00
Robby Findler
93d286914e
port new-∀/c and new-∃/c to late-neg
2015-12-19 11:41:38 -06:00
Robby Findler
8e2179a6eb
port struct-type-property/c to late-neg and add some tests for it
2015-12-19 11:41:37 -06:00
Robby Findler
557b039f3c
add more racket/contract non late-neg projection warnings
2015-12-19 11:41:37 -06:00
Robby Findler
4a29792934
port ->i to late-neg
2015-12-19 11:41:37 -06:00
Matthew Flatt
7d2b538293
fix marshaling of a compiled top-level begin-for-syntax
...
Closes #1174
2015-12-19 09:37:32 -07:00
Matthew Flatt
2fad028fd5
fix incremental GC bug
...
Also, fix reporting of whether a minor GC was in incremental mode.
2015-12-19 09:37:32 -07:00
Robby Findler
506c9be0cd
add the ability to make chaperone contracts to ->i
2015-12-18 20:41:51 -06:00
Sam Tobin-Hochstadt
962a72dfda
Properly handle (place ...) in submodules.
...
Closes #1173 and PR 12934.
2015-12-17 19:35:08 -05:00
Sam Tobin-Hochstadt
e5c5feca6d
Bind channel properly in place/context
.
...
Closes #1169 .
2015-12-17 19:17:28 -05:00
Matthew Flatt
074202bdd2
raco setup: don't completely ignore a collection without compilation
...
A collection's "info.rkt" might have `(define compile-omit-paths
'all)` but also other setup actions, so don't completely ignore
a collection directory just because there's nothing to compile.
2015-12-17 07:55:39 -07:00
Matthew Flatt
ad1fe0c529
raco setup: make "nothing to do" count as success
2015-12-17 07:50:20 -07:00
Matthew Flatt
d7184227e1
fix mutation of shared "self" module path index for submodules
2015-12-17 06:21:05 -07:00
ben
0d633fefd3
typo: string-contains precondition
2015-12-16 14:07:16 -05:00
Robby Findler
33ba7683b2
specify default for stronger
2015-12-15 21:54:36 -06:00
Matthew Flatt
ca237910b3
fix make-syntax-delta-introducer
with a #f argument
...
Closes PR 15202
2015-12-15 17:11:45 -07:00
Matthew Flatt
11f76cbebf
fix Burroughs's name
2015-12-15 17:11:45 -07:00
Vincent St-Amour
3dc49139cf
Fix more missing parties in contract instrumentation.
2015-12-15 14:31:38 -06:00
Vincent St-Amour
d0d6d719af
Abstract contract instrumentation.
2015-12-15 13:37:47 -06:00
Andrew Kent
b4afecab97
slightly more explicit error msg
2015-12-15 11:33:16 -06:00
Gustavo Massaccesi
6985150e0b
Don't drop expressions with side effects in eq? reduction
...
The expression (eq? x y) is reduced to #f when the types of
x and y are known. Reduce this to (begin x y #f) when they
have side effects.
2015-12-15 00:25:00 -03:00
Vincent St-Amour
b84233bca7
Tests for struct/dc instrumentation.
2015-12-14 16:30:30 -06:00
Vincent St-Amour
b8df0a38a2
Add instrumentation for optimized struct/dc.
2015-12-14 13:57:07 -06:00
Vincent St-Amour
bf1ba809ae
Test that contract profiler instrumentation always has complete blame info.
2015-12-14 13:27:08 -06:00
Robby Findler
bd77a0102c
add blame-missing-party? and document it and blame-add-missing-party
2015-12-14 12:53:35 -06:00
Vincent St-Amour
8bd47f3f8a
Fix instrumentation of struct/dc.
...
Unbreaks the contract profiler.
2015-12-14 10:52:23 -06:00