Commit Graph

4484 Commits

Author SHA1 Message Date
Matthew Flatt
9d6cb8e50e setup/pack: fix internal and contract errors
Part of the contract-error fix is an implementation change, and part
is a documentation change.

Closes PR 12904
2012-08-10 07:49:17 -06:00
Matthew Flatt
5f120373f1 atan: fix result for two inexact-zero arguments
Closes PR 12936
2012-08-10 07:49:16 -06:00
James Swaine
a3a55de00a Don't wait for future log messages if futures are disabled (future-visualizer) 2012-08-08 12:01:58 -05:00
Eric Dobson
21598297a7 Removed *Un from abbrev.rkt, replaced it with Un from union.rkt. 2012-08-07 15:50:50 -04:00
Eric Dobson
9ed360bb5e Removed convenience.rkt from typed racket. 2012-08-07 15:50:50 -04:00
Eric Dobson
56fd9e6321 Rearange type code, so that abbrev.rkt can depend on union.rkt.
Split out base-abbrev.rkt so that subtype is not dependent on abbrev.rkt.
Remove unused code in numeric-tower.rkt so that it is now a dependent of
abbrev.rkt, which allows the body of convenience.rkt to be merged back in.
Remove special casing for union.rkt and extraneous subtyping checks.
Remove union-maker.
2012-08-07 15:50:50 -04:00
Robby Findler
4a19ab40e8 add check for adjacent separators into tests 2012-08-07 12:51:52 -05:00
Matthew Flatt
d194fa6245 fix `regexp-match' variants given a long string and an output port 2012-08-07 05:21:33 -06:00
Matthew Flatt
0bd53a3549 compiler/zo-marshal: repair mashaling of import info in syntax 2012-08-06 15:32:27 -06:00
Matthew Flatt
02318ebcb3 fix test to work with relative executable path 2012-08-06 14:27:29 -06:00
Matthew Flatt
13d7a37eb6 re-align expt' and flexpt' to match C99 pow() spec
Also, improve precision of some complex results to avoid
excessive `+nan.0's.

Closes PR 12935
2012-08-06 13:00:36 -06:00
Vincent St-Amour
7494fccc4c Control number of attempts for TR random testing from the command line. 2012-08-06 12:48:41 -04:00
Eric Dobson
e6d4fb2ee2 Fill hole in recursive type soundness. Fixes PR 11372. 2012-08-06 12:31:07 -04:00
Robby Findler
8a0b6549a5 adjust the contract error messages to follow the error message
conventions in 9.2.1 of the reference (altho the messages do
not yet do the extra level of indenting when a field is too
long, nor are there any field names ending in ...)

Also, fix the docs for the #:stronger argument to
make-contract, make-chaperone-contract, and make-flat-contract
2012-08-05 20:09:09 -05:00
Robby Findler
34618708a6 give up on a (small) part of the repl test.
Specifically, it seems like about 20% of the time (in drdr),
running the program

  (let l()(l))

in DrRacket and then clicking the break button results in a state
where DrRacket's focus is not in the definitions window. I can't seem
to make this happen on my own machine and I'm not sure if this a
race-condition in the test suite or a real bug in DrRacket but it
seems minor enough (given all of the other focus-based testing that is
happening in this (and related) test suites) that I'm just going to
give up on this particular test.
2012-08-05 08:14:58 -05:00
Matthew Flatt
7c9e6d7193 improve port progress-evt guarantees; fix for `read-bytes-evt' et al.
A progress evt from a close input port must be initially ready,
and the primitive `peek-bytes-avail!' checks a progress evt
before checking whether the port is closed.

These changes resolve a race in `read-bytes-evt' and related evt
constructors.
2012-08-04 10:19:55 -06:00
Matthew Flatt
f28e8a02d0 fix 'disappeared-use prperty added by `syntax'
Effectively preserve `syntax-original?' of added identifiers.
2012-08-04 10:19:55 -06:00
Vincent St-Amour
aba046a92d Swap unsafe and chaperone-unsafe vector ops in the TR optimizer.
Closes PR12969.
2012-08-04 10:32:21 -04:00
Ryan Culpepper
1a77f4ee0e added recontract-out 2012-08-03 20:52:35 -04:00
Matthew Flatt
f11450d601 scribble/base: generalize `itemlist' to splice/coerce some arguments
Also, add a `spliceof' contract constructor to `scribble/decode'.
2012-08-03 13:43:23 -06:00
Vincent St-Amour
79c265ef89 Fix NaN handling of flexpt to be consistent with expt. 2012-08-03 14:21:44 -04:00
Vincent St-Amour
a6d5a98b61 Include NaN in all floating-point types.
Makes more closure properties hold, but weakens occurrence typing for
some comparisons involving flonums.
2012-08-03 14:21:44 -04:00
Kevin Tew
38e90b52c4 Fixes parallel raco make of relative paths including subdirectories
closes PR 12953
2012-08-03 09:15:22 -06:00
Robby Findler
2032aaf341 add a test case for check-expect expressions where the first position has an error
test case for commit 87a8f70148

related to PR 12943
2012-07-31 22:25:34 -05:00
Ryan Culpepper
6eb8da1f40 removed (unused) reference to not-break-exn? 2012-07-31 19:15:21 -04:00
Vincent St-Amour
800a328fe6 Fix documentation for packages and mutable lists.
As suggested by Matthew.
2012-07-31 17:12:30 -04:00
Kevin Tew
04839b39f8 [Distributed Places] fix failing drdr tests 2012-07-31 13:56:38 -06:00
Robby Findler
1a619bd047 add tooltips at the start and end of arrows indicating how many references
there are and how many definition sites there are (in check syntax)

also: Rackety
2012-07-30 21:46:22 -05:00
Matthew Flatt
b0f81b5365 racket/draw: use Cairo in a single-threaded way
This is a follow-up to commit ec6f3fd610. We're still
seeing crashes while rendering the "plot" documentation, and this
change seems to make things work on my machine.
2012-07-30 08:07:49 -06:00
Matthew Flatt
9b1db14328 ffi/com: fix clean-up of type descriptors
Merge to v5.3
2012-07-29 09:46:30 -06:00
Robby Findler
6e2fb2ac5e make the code that does the mixin checks work with define-local-member-name
closes PR 11279
closes PR 12397
2012-07-29 09:43:37 -05:00
Vincent St-Amour
dd02f5eeda Fix parametric require/typed in typed/racket/base.
Closes PR12951.

Please merge to release.
2012-07-29 09:02:58 -04:00
Ryan Culpepper
e10951024f syntax/parse: fix bug in specialized code for ellipsis patterns
The result of 'stx->list' is not always either a list or #f.

Merge to 5.3.
2012-07-28 17:37:06 -04:00
Eli Barzilay
1afc26c79b Fix test due to code refactoring, sort export lists in module descriptions. 2012-07-28 12:12:35 -04:00
Eli Barzilay
c2bea19d1b Adjust for new error mesage style.
(This is in part a temporary solution since the ",bt" command is now used
to show a backtrace as well as any "foo...:" hidden fields.)
2012-07-28 05:05:06 -04:00
Vincent St-Amour
52439d528b Move mutable list functions to the compatibility collect.
Mutable pair functions from racket/base are not moved.
2012-07-27 16:49:05 -04:00
Matthew Flatt
9d6f0e96ba fix for bytecode validator
Fix tchecking for a rest argument to a function that
is lifted by closure conversion so that one of its
arguments is a mutable local variable's location.

Also reject bytecode that would pass too many arguments
to a lifted function, since that would trigger an arity
error that might try to use a location as a value.

Merge to v5.3
2012-07-26 16:32:59 -06:00
Matthew Flatt
b208a104ec COM test updates 2012-07-26 16:32:59 -06:00
Matthew Flatt
100212cd53 another repair to `subprocess' test
Merge to v5.3
2012-07-26 10:53:56 -06:00
Matthew Flatt
87d24ece78 more on `port-commit-peeked' and EOFs
Continues/fixes commit 4c3dd00d49.
2012-07-26 10:39:24 -06:00
Matthew Flatt
1efc894ada toward fixed interaction between positions and peek-commits
When a `port-commit-peeked' succeeds, position information should
(appear to) be updated. This patch synchronizes commits and
position information for primitive ports, but synchronizing
them for user ports remains a problem.
2012-07-26 10:39:17 -06:00
Matthew Flatt
8c10dc1579 fix a `subprocess' test
Merge to v5.3
2012-07-26 08:47:06 -06:00
Matthew Flatt
70ef4e6e57 racket/port: possible repair for `read-bytes-evt'
Also restore and add some tests.

Merge to v5.3
2012-07-26 08:39:58 -06:00
Matthew Flatt
ca3272bd45 racket/port: fix `make-limited-input-port' handling of progress evts
Merge to v5.3
2012-07-25 21:37:58 -06:00
Matthew Flatt
71045e255c fix `for/vector' to really stop at size
Avoids an infinite loop for an infinite sequence, for example.
Also, expand via `for/fold/derived' to improve error reporting.
2012-07-25 20:07:23 -06:00
Vincent St-Amour
b1577bd307 Fix type for add-between. 2012-07-24 16:41:52 -04:00
Matthew Flatt
289ae98c8e add missing `super-new' from class100 conversion
Also, move relevant tests to a better place.

Merge to v5.3
2012-07-24 11:16:43 -05:00
Matthew Flatt
f7382b17c7 ad hoc optimization of `hash-ref'
Convert
 (hash-ref <hash> <key-expr> (lambda () <literal>))
to
 (hash-ref <hash> <key-expr> <literal>)
which is useful for making the `case' expansion fit
Typed Racket.
2012-07-23 21:41:49 -05:00
Matthew Flatt
22960b9c75 fix `subprocess' test
Merge to v5.3
2012-07-23 21:41:49 -05:00
Matthew Flatt
eb6a6e7136 new test cases for `case'
Trigger binary-search and hash-table modes.
2012-07-23 18:56:33 -05:00
Matthew Flatt
05495764ea errortrace: fix profiling for phase >= 2 code
Closes PR 25050

Merge to v5.3
2012-07-23 07:05:40 -05:00
Matthew Flatt
a0ba30d8e7 fix `syntax-local-get-shadower' for submodules
Closes PR 12926, 12928

Merge to v5.3
2012-07-22 21:43:20 -05:00
James Swaine
ca360cdaed Add test to track performance of code inside a future over time 2012-07-22 20:08:51 -05:00
James Swaine
6eed135d02 Fix "dancing flags" issue with timeline ticks in future visualizer 2012-07-22 20:03:36 -05:00
James Swaine
e4f50997ad Minor changes to future-visualizer/trace tests 2012-07-22 20:03:22 -05:00
James Swaine
5214995967 Add unit tests for future-visualizer/trace 2012-07-22 20:03:22 -05:00
Matthew Flatt
d95ec4d454 fixes for submodules and `variable-reference->namespace'
Closes PR 12925

Merge to 5.3
2012-07-22 11:54:46 -05:00
Sam Tobin-Hochstadt
4a90c6c1fe Ensure that structs don't overlap with simple values.
Reported by Ray Racine.

Please merge to release.
2012-07-20 13:01:32 -04:00
Ryan Culpepper
510d3937a7 change id-tables so iterators not invalidated by mutation of existing keys
id-table fixes

test for id-table
2012-07-20 10:59:50 -04:00
Asumu Takikawa
e14c5d61e9 Allow guards for impersonatable struct type properties 2012-07-19 22:46:14 -04:00
Matthew Flatt
d3677524b8 macro expander fix
Relevant to PR 12863

Merge to v5.3
2012-07-19 20:42:36 -05:00
Matthew Flatt
a45d13b52a another `namespace-attach-module' repair for submodules
Merge to v5.3
2012-07-19 16:50:25 -05:00
Matthew Flatt
d44aa13c15 test case to finish repair for `racket/gui/init' load handler
Test case for b111241afe.
2012-07-19 07:46:50 -05:00
Robby Findler
b342009e71 bring back drscheme/private/number-snip.ss since it may
appear in saved wxme format files

also, improve the testing support for testing snip loading
(before this, the testing infrastructure could let one test
"leak" into another one in a way that could mask failures)

please include in release branch
2012-07-19 07:29:42 -05:00
Robby Findler
ef5c2b825f fixed repl-test-misc.rkt for the error message changes
please include on the release branch
2012-07-19 06:26:43 -05:00
Eli Barzilay
6565538b09 Disable the #:before-first' and #:after-last' functionality in `add-between'.
Leave it working in splicing mode.  I prefer doing that over always
splicing them, since that would make a less uniform interface, so I
rather keep all options open.  There is no longer a `#:nothing' keyword,
which is the main point of this downgrade.

(See mailing list discussion on "no-argument" for the reason.)
2012-07-18 22:28:41 -04:00
Robby Findler
17594ec804 module lang test now up to date with error message changes
please include in release branch
2012-07-17 22:33:56 -05:00
Robby Findler
d8204b1624 adjusted the repl test suite for the new error messages
and the change to the racket/gui load-handler

(unfortunately, there is still another problem that keeps
the test suite from passing)

please merge to the release branch
2012-07-17 21:59:05 -05:00
Robby Findler
8744cd7811 bring the language test up to date with the latest error messages
include in the release branch, please
2012-07-17 21:58:56 -05:00
Matthew Flatt
5e4866e54c fill in one more corner of submodules and `namespace-attach-module'
When submodules are not independently loaded, then pull submodule
declarations along when attaching a module to a namespace.
2012-07-17 10:16:32 -06:00
Matthew Flatt
c8f4ac6ae4 submodules: make .zo path stick for consistent independent loading
When a module is loaded from bytecode and then the value of
`use-compiled-file-paths' changes, an attempt to load a submodule
would fail, because source isn't used if the main module is
already declared, and the bytecode code is not used according to
`use-compiled-file-paths'. Make the bytecode path stick when it
is used once, so that submodule loads succeed, and make it work
even with `namespace-module-attach'.

The module-attach part of this protocol requires a change to the
API of a module name resolver: the notification mode gets two
arguments, instead of one, where the second argument is an
environment.
2012-07-17 09:47:05 -06:00
James Swaine
b987be068e Move racket/future/visualizer, racket/future/trace --> future-visualizer, future-visualizer/trace 2012-07-16 12:23:46 -05:00
Matthew Flatt
a605183a0a more submodule repairs for `raco exe' 2012-07-16 10:02:13 -06:00
Eric Dobson
9dac995e36 Fix things broken by bad rebasing. 2012-07-15 19:21:26 -04:00
Eric Dobson
1df6165e9f Clean up of typechecking for heterogeneous vectors and structs. 2012-07-15 19:21:26 -04:00
Eric Dobson
779291c795 Remove special cases for - and fx- in tc-app.rkt. 2012-07-15 19:21:26 -04:00
Matthew Flatt
55a8445b0b allow test to run if GL is unavailable 2012-07-15 10:36:36 -06:00
Matthew Flatt
73e901a262 fix optimizer bug
The lambda-lifting transformation needs to iterate to a fixpoint
where each lambda's added arguments and order are known. The
check for whether something changed was formerly just the number
of added arguments, but that's not good enough, because a binding
might get lifted away while another one acquires an extra argument.
The right test is to check the count and original bindings for the
added arguments.

Closes PR 12910
2012-07-15 10:32:45 -06:00
Sam Tobin-Hochstadt
8c659d50ed Properly handle quoted constants with bad expected types.
Closes PR 12874.
2012-07-14 23:06:13 -04:00
Sam Tobin-Hochstadt
1dca82784b Handle arbitrary recursive contracts generated from Rec types. 2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
2aaeec4520 Improve type of values when applied to one argument.
Closes PR 12846.
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
ccf79943ab Fix special case for expected unions of vectors.
Closes PR 12845.
2012-07-14 21:56:44 -04:00
Sam Tobin-Hochstadt
2500dad8f1 Don't shortcut simple letrec forms that aren't lambdas.
Closes PR 12841.
2012-07-14 21:36:56 -04:00
Sam Tobin-Hochstadt
9e097866bf Vector fixes.
- Allow indexing into a VectorTop, with result `Any`.
- Don't use special typing rules for applications when the operator
  has an annotation or instantiation.

Closes PR 12887.
Closes PR 12888.
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
f40c7f11a6 Mutable data at typed boundaries can't have flat contracts.
Closes PR 12884.
2012-07-14 20:43:35 -04:00
Matthew Flatt
e430463ea4 another submodule expansion repair
Relevant to PR 12902
2012-07-13 09:38:44 -06:00
Matthew Flatt
f729c6441c racket/draw: fix gl-context<%> locking
The optional arguments for `call-as-current' for `gl-context<%>'
were not implemented, and the locking implementation didn't match
the documentation in other ways.
2012-07-13 07:45:21 -06:00
Sam Tobin-Hochstadt
2dd9a43d1b Fix tests for new type name declaration. 2012-07-12 17:41:12 -04:00
Asumu Takikawa
3158acd61d Fix unit test broken by mzlib movement 2012-07-11 21:38:42 -04:00
Asumu Takikawa
403aaac7d4 Moved some mzlib library implementations to racket
The libraries moved were:
  - mzlib/control      => racket/control
  - mzlib/date         => racket/date
  - mzlib/deflate      => file/gzip
  - mzlib/inflate      => file/gunzip
  - mzlib/port         => racket/port
  - mzlib/process      => racket/system
  - mzlib/runtime-path => racket/runtime-path
  - mzlib/shared       => racket/shared
  - mzlib/unit         => racket/unit
  - mzlib/unit-exptime => racket/unit-exptime
  - mzlib/zip          => file/zip

The old modules in mzlib are now pointers to the
new modules. These are all modules that were already
redirected in the documentation.
2012-07-11 18:26:10 -04:00
Matthew Flatt
f747c086d8 fix checking for `syntax-local-lift-require'
Closes PR 12894
2012-07-11 14:03:31 -06:00
James Swaine
91de1fae7c Remove unused test file 2012-07-11 09:17:49 -05:00
Robby Findler
dcdc2aea02 allow promises to be impersonated and thus allow impersonator contracts
related to PR 12861
2012-07-10 22:23:26 -05:00
Matthew Flatt
506b70f71f fix `variable-reference->module-source' for submodules
Unlike the `variable-reference->resolved-module-path', the module
source one doesn't include a submodule path.
2012-07-10 18:35:03 -06:00
Matthew Flatt
428711bf93 another submodule-expansion repair 2012-07-10 15:05:40 -06:00
Neil Toronto
392d7bfbad Added sequence typecheck tests
Added empty-sequence type (prints funny but works polymorphically; will submit bug report)
Loosened type of sequence-andmap (can't mimic andmap's predicate type)
2012-07-10 13:22:53 -07:00
Matthew Flatt
ffe39c5974 fix support code for some tests 2012-07-10 11:42:42 -06:00
Matthew Flatt
603e920538 syntax/location: fix and change `quote-submodule-{name,path}'
Paths are left as paths, instead of trying to convert them to strings
or byte strings. Submodule path elements should be unquoted -- in the
same form as a `submod' form. All extra parts are submodule path elements,
never module paths or ".".
2012-07-10 11:42:42 -06:00
Sam Tobin-Hochstadt
6bf141513f Revise type environment propagation to use submodules.
Each typed module now defines a submodule named `type-decl`.
This module performs the type environment initialization (along
with other environment updates) when invoked.  Additionall,
every typed module, when invoked, performs a for-syntax addition
to a list specifying the submodules that need invocation.
This invocation is then performed by the `#%module-begin` from
Typed Racket.

The `type-decl` module always goes at the beginning of the
expanded module, so that it's available at syntax-time for all
the other submodules.  This involved adding pre- and post-
syntaxes for the results of typechecking.

This allows significant runtime dependency reduction from the
main `typed/racket` and `typed/racket/base` languages (not yet
complete).
2012-07-10 12:49:27 -04:00
James Swaine
dbec8765e3 Futures visualizer - reorganize modules, expose formerly private stuff as public (and docs) 2012-07-10 10:55:19 -05:00