Commit Graph

5003 Commits

Author SHA1 Message Date
Matthew Flatt
88a36a077c terminology change again: "cross-phases persistent" modules 2013-02-27 08:53:43 -07:00
Matthew Flatt
c1469b9480 fix a test 2013-02-27 08:53:43 -07:00
Robby Findler
9621a58c4c change expansion of ->i to make renaming work better in check syntax
Specifically, when expanding in the body of a dependent argument, put
the original variable for the dependened on field into that code, but
changing the expansion so that the binder becomes the original field's
x, not the x in the dependent declaration list.

This means that, for example, in this program:

(->i ([x any/c]
      [y (x) (begin x any/c)]
      [z (x) (begin x any/c)]) any)

the first x will be the binder and the other four now count as
bound occurrences.

Also, rip off Casey's redex check syntax tests to add tests

closes PR 13559
2013-02-26 21:55:17 -06:00
Matthew Flatt
a04bfa5ba2 fix phase-collapsing-module inference
This bug was causing a crash in some DrRacket tests.
2013-02-26 19:19:57 -07:00
Matthew Flatt
2646ff6895 try "phase-collapsing" instead of "phaseless" 2013-02-26 19:01:36 -07:00
Matthew Flatt
2e652fc2b3 fix some "phaseless" module holes 2013-02-26 19:01:35 -07:00
Matthew Flatt
899a3279c2 add experimental support for "phaseless" modules
The intent is to support phase-crossing data such as the `exn:fail:syntax'
structure type that is instantiaed by macros and recognized by contexts
that use `eval' or `expand'. Phaseless modules are highly constrained,
however, to avoid new cross-phase channels, and a module is inferred to
be phaseless when it fits syntactic constraints.

I've adjusted `racket/kernel' and improved its documentation a little
so that it can be used to implement a phaseless module (which can
import only from other phaseless modules).

This change also adds a `flags' field to the `mod' structure type
from `compiler/zo-structs'.
2013-02-26 14:55:28 -07:00
Robby Findler
bc479b41c5 adjust scribble-lexer test to handle errors 2013-02-26 12:41:25 -06:00
Robby Findler
478ec22d02 add with-roots to plai's gc languages 2013-02-26 12:41:25 -06:00
Robby Findler
87a8e6f677 fix unstable/2d's lexer to handle eof better 2013-02-26 12:41:19 -06:00
chrdimo
a3a98fd933 support for keyword argumnets + transfer-option, exercise-option and waive-option do not raise an error on values without an option 2013-02-25 22:18:17 -05:00
Vincent St-Amour
088006413f Generalize type of curry to functions of arity 3+. 2013-02-25 14:03:17 -05:00
Robby Findler
a0059f791a more 2d lexer repairs 2013-02-24 16:37:06 -06:00
Eli Barzilay
c7173cd1c6 Improve `file' tests.
* Move sha1 test to the same place, to be run like the others.

* Unify tests for untar and unzip.

* Also improve them: test results instead of failing with errors.  Also,
  generate random text to archive, and use 0 for group+other permission
  bits (to avoid world writable results on an error).
2013-02-24 15:16:00 -05:00
Robby Findler
18c009276d fix up tests to reflect the module-lexer now behaves a little
better wrt to its first result

That is, instead of just returning the string "#lang" it now
returns the actual text that was there (it was supposed to be
doing that all along and my recent commit fixed it, but I
missed the test cases)
2013-02-23 15:42:43 -06:00
Eli Barzilay
cec73f5652 Newlines at EOFs scan. 2013-02-23 02:09:56 -05:00
Eric Dobson
f6df93ed96 Make mutable lists be sequences. 2013-02-22 21:01:21 -08:00
Vincent St-Amour
034d7245a4 Filters for comparisons with inifinity. 2013-02-21 10:49:57 -05:00
Vincent St-Amour
12aaa229a3 Fix subtyping for Negative-Single-Flonum. 2013-02-21 10:49:57 -05:00
Eric Dobson
18d90115e7 Make naturals be a sequence type. 2013-02-20 21:25:02 -08:00
Eric Dobson
4f9f00680e Make (Set a) a subtype of (Sequenceof a).
Closes PR13485.
Closes PR12615.
2013-02-20 21:25:02 -08:00
Eric Dobson
a7bc758505 Fix subtyping of invariant data structures.
Closes PR13521.
2013-02-20 21:25:02 -08:00
Eric Dobson
ddb8e7f807 Add subtyping for Parameters.
Closes PR11992.
This required moving more stuff in to base-abbrev so that it could be
used in subtype.
2013-02-20 21:25:02 -08:00
Eric Dobson
0b87c999b3 Make struct types overlap with procedures.
Closes PR11971.
2013-02-20 21:25:02 -08:00
Robby Findler
5eddac7482 fix the use of impersonator-ephemerons in the framework preferences library 2013-02-20 21:13:02 -06:00
Stephen Chang
9e26cd0b7a one more integer-set test 2013-02-20 18:34:58 -05:00
Stephen Chang
aeff5922b7 add test for integer-set:
- check that taking the rest of an integer-set results in a proper integer-set
2013-02-20 18:32:01 -05:00
Matthew Flatt
0afcda2a5a fix error checking for flreal-part' and flimag-part' 2013-02-19 16:47:39 -07:00
Matthew Flatt
ca951294d4 JIT: inline char->integer' and integer->char' 2013-02-19 08:43:50 -07:00
Matthew Flatt
dbdfd4236f racket/snip: fix style-list%' notify-on-change' and contracts
The method uses the new `impersonator-ephemeron' function to
retain a callback as long any value that it impersonates
is reachable.
2013-02-18 17:01:11 -07:00
Matthew Flatt
79c4af4e45 racket/base: add `impersonator-ephemeron' 2013-02-18 17:01:11 -07:00
Robby Findler
85f9fbbaee interactivity fix for online check syntax
commit e503850f21 broke drracket's
interactivity (for some files it could take 2 seconds to do
that one line)

This changes the bindings-table so that it maps to sets instead of
lists. Now, instead of mutating all entries in the table right after
collecting everything, just leave them as sets until we need the info
and just sort a single entry, when it is needed
2013-02-18 16:33:50 -06:00
Matthew Flatt
fdd8dc9376 JIT: fix bug in checking certain values before unboxing
The check was incomplete in the case that both arguments to a binary
[ext]flonum function need to be checked and the second one was not an
[ext]flonum and also not a fixnum.
2013-02-18 11:07:45 -07:00
Matthew Flatt
4271d987cd ffi/unsafe: fix a bug in conversion to UTF-16
Characters outside of the BMP were translated incorrectly.
2013-02-18 10:28:58 -07:00
Eric Dobson
13b205aa0a Fixes *-filter types and filter of zero?.
Closes PR13275.
2013-02-18 11:56:59 -05:00
Eric Dobson
36cc3220ea Improve type of make-immutable-hash.
Closes PR13297.
2013-02-18 11:56:58 -05:00
Eric Dobson
7d6888f229 Improve types for exit and in-naturals. 2013-02-18 11:56:57 -05:00
Eric Dobson
7e88895bd0 Add testcases for many already fixed bugs.
Closes PR11901.
Closes PR11972.
Closes PR12022.
Closes PR12224.
Closes PR12506.
Closes PR12533.
Closes PR12596.
Closes PR13198.
Closes PR13418.

Already fixed bugs, with existing testcases.
Closes PR12529.
Closes PR12631.
Closes PR13127.
Closes PR13128.
Closes PR12970.
2013-02-18 11:56:55 -05:00
Robby Findler
dbb1d8f360 adjust scribble lexer so its failures print to stderr, not stdout 2013-02-16 19:55:18 -06:00
Robby Findler
5c109946c2 add support to struct/dc to name the selector directly
and use that in struct/c

closes PR 13054
closes PR 13461
related to PR 13050
2013-02-16 17:24:11 -06:00
Ryan Culpepper
44e26d493d try to make tmp file path shorter (for drdr) 2013-02-16 15:18:55 -05:00
Matthew Flatt
9b04aef0f8 fix a problem with `syntax-local-lift-require' at top level
The problem was exposed by improved error checking
in the expander to detect references to exports of a module that
is not yet visited, and as triggered by the documentation for
`2htdp/planetcute'.
2013-02-16 09:29:16 -07:00
Matthew Flatt
72c39ca7ff test fixups 2013-02-16 08:56:21 -07:00
Robby Findler
fbeecdc1aa add gc log following info to the drr performance monitor 2013-02-16 07:39:33 -06:00
Robby Findler
1ee765c7e3 fix bad test 2013-02-16 00:09:25 -06:00
Matthew Flatt
0c37849f81 racket/gui: fix contract of set-value' in gauge%' 2013-02-15 16:02:53 -07:00
Asumu Takikawa
9ef9330d4e Informative error message for raco pkg remove
When a user tries to remove a package installed in a
different scope, notify them.
2013-02-15 15:44:31 -05:00
Michael Filonenko
840fc9c657 full unboxing for extflonums, plus `ffi/unsafe' support
Includes a repair for floating-point `min' and `max' that affects all
x86 builds that use SSE arithmetic, leaving the (otherwise unused)
floating-point stack in a bad state, which might have affected
x87-using C/foreign libraries running alongside Racket.
2013-02-15 12:15:34 -07:00
Robby Findler
93bf0cd663 fix 2d lexer for the case when the #2d expression
isn't in the leftmost column
2013-02-15 10:29:34 -06:00
Matthew Flatt
d5c1a75e38 racket/gui cocoa: fix over-eager refresh for 'gl canvas% 2013-02-14 19:47:40 -07:00
Robby Findler
30ca1f0baf add syntax coloring for 2d syntax 2013-02-14 19:51:08 -06:00
chrdimo
26726ba26f tests for option contracts 2013-02-14 19:55:10 -05:00
Matthew Flatt
ccabbaa36e fix `current-subprocess-custodian-mode' for a #f argument 2013-02-14 17:30:10 -07:00
Eric Dobson
5ed26e806b Make lists with minimum lengths be a subtype of sequences. 2013-02-14 18:24:52 -05:00
Eric Dobson
b4beabc977 Make tc-let do unions correctly. 2013-02-14 18:24:52 -05:00
Vincent St-Amour
60959467cf Fix optimization of unary complex - and /. 2013-02-14 18:24:52 -05:00
Vincent St-Amour
29a181175f Improve a number of numeric function types.
Closes PR13468.
2013-02-14 18:24:52 -05:00
Matthew Flatt
3cd4ee1c0d ffi/unsafe: allow multiple values for a `(_fun ... -> _racket)' result
Closes PR 13496
2013-02-14 15:45:26 -07:00
Matthew Flatt
421cb24138 add `port-counts-lines?' 2013-02-14 15:45:26 -07:00
Tobias Hammer
7e2b443fa9 Support for multiple value return from wrap-evt and handle-evt
wrap/handle-evt that receives multiple values must have a handler function with adequate arity.

struct.c:
  change contract for wrap/handle-evt from (any/c -> any) to procedure?
thread.c:
  adjust sync processing
sync.rktl:
  add test for handle-evt, wrap-evt and prop:evt
2013-02-14 15:45:26 -07:00
Ryan Culpepper
b3afbdd485 added unstable/socket 2013-02-14 17:19:08 -05:00
Ryan Culpepper
7a0b100ce0 tests for unstable/macro-testing 2013-02-14 17:19:08 -05:00
Matthew Flatt
294bed209e macro expander fix
Repair 73e07f576b added an item to a list without incrementing a
counter for the list length, which cause a different element of
the list to be dropped, which could mess up binding resolution in
arbitrarily bad ways.

(Ths bug falls into the "how did this not get exposed earlier?"  bin,
although part of the answer is that it requires a combination of
module re-expansion and simplification of syntax objects in the
residual program.)

Closes PR 13428
2013-02-14 07:11:16 -07:00
Ryan Culpepper
fbee1ed9c7 change stxparse tests to use unstable/macro-testing 2013-02-13 16:14:49 -05:00
Matthew Flatt
c6eb82524b fix `syntax-local-module-exports' for submodules in expand mode 2013-02-13 08:28:23 -07:00
Matthew Flatt
8c2c84f74f fix context for `#%module-begin' form in a submodule 2013-02-13 08:28:22 -07:00
Matthew Flatt
4a0adb6a74 fix syntax-local-submodules' in expand' mode 2013-02-13 08:28:22 -07:00
Jay McCarthy
6ae2c71ed5 Add raco show -d and showing package deps on failed remove 2013-02-13 07:47:59 -07:00
Eric Dobson
67c6d7804d Add tests for subtyping -poly. Closes PR13510. 2013-02-12 17:07:02 -05:00
Matthew Flatt
7f5b295308 fix problem with the initial continuation prompt
(Got it wrong in 2f7d4b5e.)

Closes PR 13494
2013-02-12 14:17:57 -07:00
Robby Findler
8edd010bec improve ->'s source location tracking
closes PR 13514
2013-02-11 20:37:15 -06:00
Vincent St-Amour
0bccf6b0b0 Forbid singleton types for integers whose type is platform-dependent.
Closes PR13501.
2013-02-11 14:30:19 -05:00
Jay McCarthy
2e7f4ba54a Allowing github URLs from PNRs to use illegal package names 2013-02-11 06:10:58 -07:00
Matthew Flatt
2fc7cad446 racket/enter: fix for `enter!' related to submodules
The load handler didn't obey the protocol with respect to a second
argument that is a list starting with #f.

Closes PR 13096
2013-02-10 05:57:25 -07:00
Matthew Flatt
dd50ac8652 catch module-not-available mimatches earlier 2013-02-08 22:57:37 -06:00
Matthew Flatt
d73ae88220 test case for `for' repair
Provided by Ryan to go with a85a71984d.
2013-02-08 22:57:37 -06:00
J. Ian Johnson
469a69772c For/product treated like for/sum for special annotation. Also allowed no annotation to be consistent with the docs. 2013-02-08 11:32:21 -05:00
Eric Dobson
19241c0979 Make overlap more precise. 2013-02-08 11:19:10 -05:00
Eric Dobson
c2b8671169 Fix :print-type. Closes PR13503. 2013-02-08 11:19:09 -05:00
Jay McCarthy
cd202f5411 Supporting headers and stateless in web-server/test 2013-02-08 07:01:36 -07:00
Robby Findler
995d4a4704 adjust test cases for recent changes to the lexers 2013-02-07 21:25:02 -06:00
Vincent St-Amour
830db3c908 Add extra tests and warning about -PosIntNotFixnum. 2013-02-07 15:19:42 -05:00
Eric Dobson
9030da217b Make static single flonum checks correct.
Closes PR13499.
2013-02-07 15:19:42 -05:00
Asumu Takikawa
9636a70f8b Add a test for PR 13490
The bug itself was already fixed by Eric Dobson
2013-02-07 13:49:50 -05:00
Robby Findler
4b9d43ce00 unbreak plai random mutator tests 2013-02-07 11:16:04 -06:00
Robby Findler
bb216d142c 2d 2013-02-06 15:55:20 -06:00
Robby Findler
e7e64f4006 a better version of deac3fa2b3
This time with test cases, and also without changing the
semantics of unhighlight-range

related to PR 13488
2013-02-05 20:52:35 -06:00
Danny Yoo
31b66484b3 Add test case to show bug with inflate.
related to PR 13489.
2013-02-05 17:02:21 -07:00
Vincent St-Amour
bf2768f2c5 Allow cast in typed/racket/no-check. 2013-02-05 16:57:42 -05:00
Jay McCarthy
fb915825e9 Allowing PNR to decide which github checksum is used 2013-02-05 07:25:31 -07:00
Matthew Flatt
442f6eaaae fix `regexp-match' variants given a long string and an output port
... again; commit d194fa6245 turned out to be incomplete.
2013-02-05 11:44:38 +01:00
Vincent St-Amour
b42034f98b Exclude the right zeroes when checking for equality. 2013-02-04 14:32:44 -05:00
Vincent St-Amour
568f401bdc Don't special case typechecking of =.
Its type is more useful than the special typing rule.
2013-02-04 14:32:44 -05:00
Vincent St-Amour
ec04467282 Add extra tests for contract generation and float zeroes. 2013-02-04 14:32:44 -05:00
Eric Dobson
e656bdb1c5 Make generated contracts for Floats include NaN.
Closes PR13464.
2013-02-04 14:32:44 -05:00
Robby Findler
ab55d43312 give up on the "find the close paren strategy that doesn't
edit the buffer" attempt

In other words, go back to (a rackety version of) the old
implementation of the get-close-paren method
2013-02-03 11:22:46 -06:00
Robby Findler
25f92f8e9e fix a problem with the way that check syntax's interval map
tracks information about the program
2013-02-02 19:35:09 -06:00
Sam Tobin-Hochstadt
2e8ffe7400 Fix sequence-lift for multiple valued sequences.
Also minor fixups of the rest of `unstable/sequence`.
2013-02-02 18:16:35 -05:00
Robby Findler
8aa3e1d473 another close-paren insertion repair
(this one causes runtime errors, not
bad behavior)
2013-02-02 09:10:17 -06:00
Matthew Flatt
0583616dd7 racket/date: change current-date', add date*->seconds' 2013-02-01 15:00:24 -08:00