Commit Graph

5160 Commits

Author SHA1 Message Date
Matthew Flatt
eb924d75b6 scribble/manual: make `defmodule' more flexible 2013-04-30 09:36:48 -06:00
Matthew Flatt
176ff287a8 fix `read-syntax' on a vector with a size and no given elements
Closes PR 13720
2013-04-30 08:46:47 -06:00
Eric Dobson
de96643fbe Fix contract generation for mutable structures. 2013-04-29 20:45:49 -07:00
Robby Findler
8706ac286e adjust -> opter so that it avoids stacking up range checks
(using continuation marks, just like the un opt/c version of ->)
2013-04-29 19:45:59 -05:00
Eli Barzilay
b8e47541bd Switch from "x" to "*".
As previously discussed with Ryan.
2013-04-28 12:53:08 -04:00
Eli Barzilay
f93a908911 Fix a bug in base conversion.
This is a simple fix, and the bug is bad enough that it might be worth
it to include in the release.
2013-04-28 12:53:08 -04:00
Eli Barzilay
ef0f610ca7 Remove some redundant "www."s. 2013-04-28 12:53:07 -04:00
Matthew Flatt
d8f9820ef3 raco pkg: expose, record, etc., module and dependency information
A package catalog now supplies information about a package's modules
and dependencies, so propagate it when copying a catalog, make the
information accessible via `raco pkg catalog-show', and so on.
2013-04-28 08:34:14 -06:00
Robby Findler
10ac122111 fix a quoting error
related to PR 13716
2013-04-27 20:41:01 -05:00
Eric Dobson
7735aa5799 Make structs initialize to constant instead of covariant. 2013-04-27 11:50:57 -07:00
Matthew Flatt
7ad1ddab64 fix bytecode compiler safefor-space, tigher bytecode validation
The safe-for-space pass could add clearing operations on "typed"
stack positions, which are known to contain a fixnum, flonum, or
extflonum. Non-clearing references, however, were not annotated to
indicate that clearing references were present, since clearing is
not expected on typed positions.

Along the lines of not expecting clearing, the bytecode validator's
encoding of the stack doesn't accomodate both "has a type" and "claims
never to be cleared", so it couldn't detect the bytecode compiler
bug. (Also, this problem didn't show up in the HOSC paper's model of
the validator, because the model pre-dates type tracking.)

Fix the bytecode compiler's space-safety pass so that it never inserts
clearing operations for typed stack positions. Then, the validator can
simply reject any attempt to clear a typed position.

Also, annotate applications generated by lifting as safe-for-space
tail calls.

Merge to v5.3.4
2013-04-26 22:47:42 -06:00
Robby Findler
2e195935cf make opt/c contract follow the blame-add-context protocol 2013-04-26 19:44:13 -05:00
Matthew Flatt
917ec51eee racket/draw: fix in-region?' method of region%'
Merge to v5.3.4
2013-04-26 16:28:29 -06:00
Matthew Flatt
1ef1d256f7 raco pkg: don't consult GitHub if checksum is given
Also, more consistently propagate a given checksum, which can
happen more through the `pkg-install' export from `pkg/lib'
than through `raco pkg'.

Also, report to the user when consulting GitHub or downloading
a checksum.
2013-04-26 16:28:28 -06:00
Vincent St-Amour
056a6044e5 Explicitly flush output after printing random testing seed. 2013-04-26 14:16:55 -04:00
Robby Findler
ae5bde175d fix is-a?/c opter 2013-04-26 10:26:12 -05:00
Robby Findler
4bef2987a9 add 'else' support to 2dcond
closes PR 13714
2013-04-26 10:26:03 -05:00
Matthew Flatt
400e461d75 fix a parameter check 2013-04-26 07:12:21 -06:00
Matthew Flatt
0f47ec4af7 racket/sequence: fix `sequence-ref' for a too-large index 2013-04-25 16:46:23 -06:00
Robby Findler
ec2d57bf80 sequence/c changes
- build the sub projections only once and build them before getting
  the blame objects (instead of after getting the actual values)
- added context information to the blame objects
- added an optional #:min-count argument to insist on a minimum length
  for the stream

related to PR 13709
2013-04-25 17:32:00 -05:00
Vincent St-Amour
e6ff57f3bd Allow read-only hash operations to accept HashTop.
Closes PR13710.
2013-04-25 17:29:10 -04:00
Eric Dobson
b5b13222c8 Make type->contract correctly respect variance.
Track whether we are protecting values from the typed side and/or the
untyped side.

Closes PR 13662.
Closes PR 13663.
Closes PR 13665.
2013-04-25 08:29:37 -07:00
Eric Dobson
dbcb1414da Allow requiring functions with filters in contravariant positions. 2013-04-25 08:29:37 -07:00
Eric Dobson
6898a7c880 Fix subtyping of (ListDots t 'a) <: (Listof t).
Closes PR 13636.
2013-04-24 21:08:18 -07:00
Eric Dobson
863ac05332 Fix expected type when typechecking map 2013-04-24 20:13:39 -07:00
Eric Dobson
67dd956b6a Don't let map introduce type variables.
Closes PR 13581.
2013-04-24 20:13:39 -07:00
Eric Dobson
611b22ff04 Fix up lazy-requires and dynamic-requires in TR. 2013-04-24 18:46:44 -07:00
Eric Dobson
a94c449ff1 Small TR fixes. 2013-04-24 18:46:44 -07:00
Eric Dobson
55aba088de Use information of application site, to reduce possible arities.
Closes PR12905.
2013-04-24 18:46:44 -07:00
Matthew Flatt
fd883dbf32 fix a JIT bug related to inlined structure constructors
Merge to v5.3.4
2013-04-24 06:35:53 -06:00
Robby Findler
58869e41af add a few more contracts to those that opt/c recognizes and
fix a few bugs in existing ones

also, adjust opt/c so that it logs failures to optimize on its own logger
2013-04-23 23:06:22 -05:00
Matthew Flatt
bba223a9fe ffi/unsafe: allow a constant result for asynch use of a callback
A constant result for foreign-thread use of a callback allows a
callback to return without synchronizing with the Racket thread.
A constant result is thus useful when a callback's work can simply
be skipped if the callback is applied in the "wrong" OS thread.
2013-04-23 13:48:15 -06:00
Matthew Flatt
fc54bbba3c pkg: "module name resolver" and "index" -> "catalog"
This termonology change affects lots of function names from `pkg/lib'
and `pkg/db' (former `pkg/pnr-db'), and it also affects some `raco
pkg' commands.

Existing package installations that are marked as 'pnr in a
local configuration are converted automatically to 'catalog, but any
existing "indexes" configuration must be changed to "catalogs".
2013-04-23 08:38:07 -06:00
Matthew Flatt
f09d1d1ae8 fix iteration on large hash trees
Bug introduced by 7a8c2ff063: a tree can be deep enough that the
representation of the path to the current item can be too big to
fit into 32 bits. It will always fit in 64 bits, though.

Merge to 5.3.4
2013-04-23 07:15:01 -06:00
Eric Dobson
fc36c12ce4 Correctly protect Procedures in TR.
Closes PR 13664.
2013-04-22 21:00:52 -07:00
Matthew Flatt
1749c7ce07 fix a test 2013-04-22 16:32:05 -06:00
Matthew Flatt
74fb6feb45 fix `nack-guard-evt'
The generated NACK shouldn't become ready when the thread where
the NACK is created terminates.
2013-04-22 16:24:25 -06:00
Vincent St-Amour
1f3e38d305 Print seed used for TR random testing.
To make it possible to reproduce test runs.
2013-04-22 11:55:00 -04:00
Sam Tobin-Hochstadt
ecf02a32b4 Add #:omit-define-syntaxes to define-type. 2013-04-21 15:39:38 -04:00
Matthew Flatt
5c4a7db828 scribble/manual: add #:link-target?' to defproc', `defform', etc.
Specifying `#:link-target? #f' gets blue-box typesetting without
declaring documentaton for a binding.
2013-04-21 09:49:14 -06:00
Robby Findler
085170c441 adjust run.sh so it runs all of the tests 2013-04-20 22:22:06 -05:00
Matthew Flatt
075db0bf17 disable a GC test when running CGC 2013-04-20 09:38:55 -06:00
Matthew Flatt
96c5521196 scribble/reader: allow escape character to be non-ASCII 2013-04-19 20:46:25 -06:00
Vincent St-Amour
3415280657 Extra tests. 2013-04-19 14:21:04 -04:00
Matthew Flatt
5ec31c8f65 ffi/unsafe: add _double' and _float' tests 2013-04-19 07:54:30 -06:00
Matthew Flatt
e29878e7ae racket/system: make `system', etc., set PWD by default
That is, make `system' behave like a shell.
2013-04-18 07:02:05 -06:00
Eli Barzilay
e311de0522 Improve some printouts.
Specifically the one from ,rr.  Also make ,switch syntax error more
friendly.  Also, test for the recent xrepl fix, including its printout.
2013-04-17 16:39:10 -04:00
Robby Findler
c50005870f adjust case-> so that the blame context information includes
which case of the case-> happened
2013-04-16 18:40:48 -05:00
Robby Findler
a46e4c71b6 fix case-> to not abuse procedure-chaperone
closes PR 13697
2013-04-16 18:40:48 -05:00
Matthew Flatt
6fe2861877 DrRacket: if any file in package X is open, treat X as "in development"
... for the purpose of "populate 'compiled' directories" --- but only if
the user has write permission for the package directory.

This change may or may not be a good idea. The idea is that installed
packages generally should be treated in the same way as the main
"collects" tree (e.g., avoiding debugging instrumentation), but if you
happen to be developing a package, then you want it treated like things
that are not in the main "collects" tree. So, how do you pick? Maybe
opening a file in the package is a good way to pick.
2013-04-16 12:51:54 -06:00