Commit Graph

34523 Commits

Author SHA1 Message Date
Matthew Flatt
1f1a10db87 chaperones: allow struct chaperones that supply no redirections
(as requested by Asumu)

A witness accessor or mutator is still required to create a structure
chaperone, but `#f` can be provided in place of a redirection, and
then impersonator properties can be attached to the chaperone.

At the same time, adjust `(chaperone-of? v1 v2)` so that `v1` as a
chaperone is not required to preserve non-redirecting chaperones of
`v2`.

The overall consequence is that a redirection procedure can cooperate
with a (suitably protected) impersonator property to override
redirection behavior without running afoul of the chaperone invariant
and without requiring O(N) space for O(N) overrides. For example, the
contract system can implement the re-application of a contract with
different blame information by overriding blame information as
represented by properties, instead of adding a new chaperone layer
every time that blame changes.

... and all the same for non-chaperone impersonators, of course.
2014-09-21 11:51:36 -05:00
Robby Findler
9681032783 improve contract-stronger for instanceof/c 2014-09-21 06:13:58 -05:00
Robby Findler
9ea9d0eaf8 fix mzlib test for eaf48bbbf 2014-09-21 05:33:19 -05:00
Gregory Cooper
f418805c32 Fixes to FrTime dynamic value snips (for textual content, at least).
* Expect DrRacket to make a copy of the copy of the snip we give it.

* Add documentation explaining some of the trickiness involved in this code
  and how it might be possible to make it less brittle.

* Add a note about editor-snip% not behaving as expected when non-textual
  elements are inserted and subsequently removed (or the underlying
  editor object is replaced).
2014-09-20 22:50:29 -07:00
Mike Sperber
f15ca607ed Comment out deinprogramm/image test cases with dubious semantics, that
have recently stopped working.
2014-09-20 16:53:25 +02:00
Mike Sperber
e07ff03729 Synch German string constants with latest. 2014-09-20 16:10:17 +02:00
Robby Findler
eaf48bbbf1 add a proper stronger implementation based for recursive-contract
Following _Subtyping Recursive Types_ by Roberto M. Amadio and Luca Cardelli
2014-09-19 23:29:11 -05:00
Robby Findler
929ed92f40 fix bug in ->i expansion when the name ctc is used in certain ways 2014-09-19 23:29:11 -05:00
Robby Findler
ad7e2a71b7 Those commits can change the blame assignment in
incorrect ways

This reverts commit 0aee13bf22.
This reverts commit a0880f7403.
2014-09-19 23:29:10 -05:00
Sam Tobin-Hochstadt
2185016c63 Fix test failure in archive tests. 2014-09-19 15:01:32 -04:00
Robby Findler
0aee13bf22 docs and tests related to a0880f740 2014-09-19 12:57:20 -05:00
Robby Findler
a0880f7403 improve contract-stronger and related things
Specifically, add a mechanism so that contract combinators
can accumulate contracts on a value (instead just storing
only one) and then use that in instanceof/c to avoid
putting contracts on values more often.

Also, fill in better contract-stronger implementations in
some of the combinators
2014-09-19 12:57:08 -05:00
Sam Tobin-Hochstadt
837abdd51a Add raco pkg archive.
This creates a catalog from the specified currently-installed
packages. The catalog can then be used to replicate some or
all of the currently-installed packages in another installation
or other context.

Also extend `pkg/command` so that `#:multi` is useful.
2014-09-19 11:03:26 -04:00
Vincent St-Amour
3d75c8ce71 Fix to the RacketCon web page source.
Should have been included in the previous commit.
2014-09-19 09:28:06 -04:00
Vincent St-Amour
ceaecb9a44 RacketCon Logistics info. 2014-09-18 23:19:53 -04:00
Vincent St-Amour
3891d52dbb Change RacketCon title and abstract. 2014-09-18 08:40:58 -04:00
Matthew Flatt
43d6684ab9 avoid stack-overflow in scheduler-triggered foreign calls
While a foreigh call is normally guarded by a check on the amount
of available stack space, a callbacks triggered by the
scheduler will first put Racket in no-stack-overflow mode, and
then it's too late to check stack space before making further
foreign calls. With Cocoa, there's some chance that the process
will run out of space. Avoid the mismatch by checking the stack
availability at the start of a scheduler iteration.
2014-09-18 06:06:21 -05:00
Burke Fetscher
bb116e476a redex: fix recursive calls to use premises clauses 2014-09-17 11:48:01 -05:00
Asumu Takikawa
089e6387de Fix type for text:line-numbers-mixin 2014-09-16 16:35:51 -04:00
Phil Nguyen
2cfe0ddcdb Add more typed bindings for framework and for GUI 2014-09-16 15:55:15 -04:00
Burke Fetscher
a3e00ac87c redex: favor recursive rules above the bound 2014-09-16 14:19:12 -05:00
Matthew Flatt
a3412354b8 fix "r6rs-test" dependency declaration 2014-09-14 17:01:23 +02:00
Matthew Flatt
7304420691 fix peek implementation in R6RS input ports
The peek operation must not block, otherwise the port behaves
badly for `sync`.

Based on a bug report from Brett Stahlman.
2014-09-14 16:39:28 +02:00
Mike Sperber
9dbc4842f7 Unbreak the build on FreeBSD 10.
isnan expands into a use of a function called _Generic.

Tell xform not to worry about it.
2014-09-14 09:09:45 +02:00
Asumu Takikawa
98e88d615c Fix the TR fix in efd482c30f
My fix had just patched over a contract violation in a different
function. This commit fixes the root of the problem.
2014-09-13 11:41:02 -04:00
Matthias Felleisen
9810539a63 fixed docs for integer-sqrt, as reported on users, take 2 2014-09-12 19:02:41 -04:00
Matthias Felleisen
11d811ac17 fixed docs for integer-sqrt, as reported on users 2014-09-12 19:02:40 -04:00
Matthias Felleisen
73afc90e68 updated history 2014-09-12 19:02:40 -04:00
Robby Findler
9ceae2fb1a unbreak macro stepper
bug introduced in d495f74648
2014-09-12 17:30:04 -05:00
Asumu Takikawa
efd482c30f Fix unannotated defines with bad number of values 2014-09-12 18:21:58 -04:00
Robby Findler
d495f74648 adjust drracket's online expansion to terminate out-of-memory expansion attempts 2014-09-12 17:14:34 -05:00
Robby Findler
c05bd45dae add a string-constant for out memory during background expansion 2014-09-12 17:14:34 -05:00
Asumu Takikawa
290cc2dd7e Fix TR reference discussion of filters
Thanks to Anthony Carrico
2014-09-12 16:54:20 -04:00
Robby Findler
cb52c50646 fix PLTSTRINGCONSTANTS printouts
also, Rackety
2014-09-12 15:31:40 -05:00
Matthew Flatt
ad2243ee01 restore accidentally removed GC check
Fixes a mistake in commit 768b93be82, which dropped a check that is
needed to trigger GCs during a sequence of large-block allocations.

Closes PR 14738
2014-09-12 12:22:55 -06:00
Matthew Flatt
c627b0fc6f pict: make hc-append, etc., match the docs
Allow pict arguments, with or without a separation-size
argument.

The recently added contract has rules out providing a
separation size with no arguments, which had been allowed
before. The underlying problem, though, was an inconsistency
in the implementation that allowed 0 pict arguments only
in the case that a separation size is provided.
2014-09-12 12:22:55 -06:00
Vincent St-Amour
1938005240 Fix more doc links. 2014-09-12 11:10:01 -04:00
Javier Olaechea
dfb227ed32 Include syntax/parse in defmacro.scrbl
So that can be hyperlinked
2014-09-12 10:58:56 -04:00
Vincent St-Amour
938dc7d41e Fix contract. 2014-09-11 10:42:42 -04:00
Robby Findler
dcfe7ede67 make some arity error messages for ->i contracted functions
slightly less terrible

... but ->i still doesn't do as good a job as -> and ->* do for arity
errors (specifically, ->i is still letting the blame-less errors that
application constructs thru when it could be assigning blame)
2014-09-10 16:57:52 -05:00
Robby Findler
c7e23b867e fix color-frame docs
closes PR 14733
2014-09-10 16:57:51 -05:00
Vincent St-Amour
5d6ecd7754 Fix the fix to type queries.
Should have been included in the original commit.
2014-09-10 14:30:22 -04:00
Vincent St-Amour
08178c1ec2 Fix type queries. 2014-09-09 16:24:09 -04:00
Vincent St-Amour
3ae6d2aa46 Merge clauses even when no clause is consistent with the expected type.
Closes PR14731.
2014-09-09 10:48:03 -04:00
Matthias Felleisen
4ddaa40e33 fixed error message according to Oliver Flatt's suggestion, take 2 2014-09-08 22:32:52 -04:00
Matthias Felleisen
9957fbd7f3 fixed error message according to Oliver Flatt's suggestion; Rackety 2014-09-08 22:32:52 -04:00
Jay McCarthy
8fb3e3b6eb Fix some typos 2014-09-08 21:35:40 -04:00
Jay McCarthy
891db224a0 Including build status and docs on pkgs. 2014-09-08 21:35:40 -04:00
William J. Bowman
c6b3f337e9 Added trace-define, trace-let, trace-lambda
In racket/collects/racket/trace.rkt
2014-09-08 16:36:16 -04:00
Asumu Takikawa
3905334f28 Fix opt-lambda property on opt-lambda methods
Related to PR 14726
2014-09-08 16:30:27 -04:00