Commit Graph

5164 Commits

Author SHA1 Message Date
Eric Dobson
94861becd0 Fix untested contract generation code.
Closes PR 13449.
2013-04-04 08:29:15 -07:00
Eric Dobson
76de4d3cca Fix tc-apply to correctly generate expected ValueDots filters.
Closes PR 13649.
2013-04-04 07:45:15 -07:00
Eric Dobson
17b9ed0a75 Fix prefix-of.
Closes PR 13448.
2013-04-04 07:42:45 -07:00
Vincent St-Amour
d00a579c5a Document not yet fixed optimizer bugs found using random testing. 2013-04-04 10:05:53 -04:00
Vincent St-Amour
a50d9bad7e Avoid unsound optimization for complex division.
Found using random testing.
2013-04-04 10:05:53 -04:00
Eli Barzilay
af027020ba Adjust tests to x' instead of ×'. 2013-04-03 19:53:58 -04:00
Eli Barzilay
8ffd887847 Test for being able to customize struct printouts. 2013-04-03 18:10:22 -04:00
Danny Yoo
6e32a25253 Defensively check pos before subtraction in module-reader.rkt. 2013-04-03 14:26:16 -06:00
Eric Dobson
04ef9db1b3 Turn dynamic-requires into lazy-requires in TR.
Closes PR 13621.
2013-04-03 09:49:40 -07:00
Eric Dobson
0e0f1cd670 Adds subtyping for filters, and fixes -FS to be more precise.
Closes PR 12817.
2013-04-03 09:25:28 -07:00
Robby Findler
cce76eba00 fix bug in untar when unpacking a tar file with top-level files 2013-04-03 10:18:02 -05:00
Vincent St-Amour
ffc90239d0 Fix test for new complex division. 2013-04-02 17:32:29 -04:00
Vincent St-Amour
b808d2809e Fix optimization on exp of complex numbers.
Found using random testing.
2013-04-02 16:29:11 -04:00
Vincent St-Amour
8948388ec5 Fix another unsafe optimization of unsafe-fxmodulo.
Found using random testing.
2013-04-02 16:29:10 -04:00
Eric Dobson
3d49087ea3 Fix parsing of dotted rest when there is an expected type.
Closes PR 13646.
2013-04-01 22:17:32 -07:00
Vincent St-Amour
70a8b79d0e Re-enable testing of hyperbolic trigonometry functions. 2013-04-01 14:44:31 -04:00
Vincent St-Amour
990fa87a2e Add random testing for complexes.
Fix a bug it found.
2013-04-01 14:44:31 -04:00
Vincent St-Amour
ca2e6bd769 Sometimes generate random integers. 2013-04-01 14:44:31 -04:00
Vincent St-Amour
3e9595e910 Factor out grammar to generate well-typed terms with higher probability.
Allows us to test integer-specific functions.
2013-04-01 14:44:31 -04:00
Matthew Flatt
b78982fe6a racket/cmdline: fix problem with arity checking
Extra normalization due to 59b1e32fe9 exposed the bug.
2013-03-31 20:29:23 -06:00
Eric Dobson
5d8f470e0b Remove dependency on GUI libraries. 2013-03-31 11:43:08 -07:00
Eric Dobson
eeeceedb8c Reimplement for*/list: in TR so that it works.
Closes PR 13253.
2013-03-31 10:40:21 -07:00
Eric Dobson
ecec724747 Add testcase for sibling modules.
Closes PR 13155.
2013-03-31 10:39:16 -07:00
Carl Eastlund
f509420662 Removed unnecessary duplication of normalize-arity. 2013-03-31 13:36:06 -04:00
Carl Eastlund
636f8a91dc Moved normalized-arity?, arity=?, and arity-includes? into racket/function. 2013-03-31 13:36:06 -04:00
Carl Eastlund
59b1e32fe9 Changed normalize-arity to coalesce arity-at-least with adjacent numbers.
For instance, (normalize-arity (list 1 (arity-at-least 2))) now produces
(arity-at-least 1).  The implementation and the tests for normalize-arity both
reflect this change.  The randomized tests now also check that the output
represents the same arity as the input.
2013-03-31 13:36:05 -04:00
Ryan Culpepper
bace16a4ce added test for sequence syntax with keywords 2013-03-30 10:00:44 -04:00
Matthew Flatt
ba270cde48 fix over-eager "optimization" of some unsafe-fx operations
As reported by Vincent.
2013-03-29 14:46:19 -06:00
Matthew Flatt
5afd1b4118 syntax-color/racket-lexer: update for single-precision and extflonums
Includes a doc fix to note `+inf.t', etc.
2013-03-29 07:23:49 -06:00
Matthew Flatt
1dcc7ca4dc syntax-color/racket-lexer: fix long-standing number-parsing bug
The lexer mishandled cases like "#x1E+2", because "E" is
not an exponent marker for hexadecimal --- and it has been that
way forever, but the repair isn't all that difficult.
2013-03-29 07:23:49 -06:00
Matthew Flatt
45f74eafe5 scriblib/footnote: fix for non-Latex output
Also, fix warnings generated even for Latex mode.
2013-03-29 07:23:49 -06:00
Greg Hendershott
59bba2d197 Combine adjacent code spans into one.
These result from something like

    @racket[(x y)]

being treated by Scribble as multiple RktXXX items rather than one. As
a result the Markdown emitted was:

    `(``x`` ``y``)`

But obviously instead we want:

    `(x y)`

Kludgosity alert: Although it would probably be more-correct to
consolidate the RktXXX items at the Scribble structure level, I don't
easily see how. `@racket` is baking in the concept of Racket
lexing (classifying text as various kinds of Racket elements). This is
handy when the render will be HTML or Latek, and is benignly N/A when
it will be plain text. But it's a bit square-peg/round-hole when the
render will be Markdown. Rather than attempt to "un-lex" the Scribble
structures (I'm having trouble seeing how), I'm handling it
"after-the-fact" -- adjusting the generated Markdown text.

If anyone thinks the preceding is an elaborate rationalization for an
ugly kludge, I wouldn't argue, but I would need some help
understanding the preferable way to go about it.
2013-03-29 07:23:49 -06:00
Greg Hendershott
a5f6686270 Fix problem handling examples and interaction.
Unlike plain `racketblock`, `examples` and `interaction` are
"nested". As a result we emitted bad Markdown like:

    ```racket
    Examples:
    ```racket
    some-code
    ```
    ```

Markdown code blocks can't nest, so this needs to be:

    ```racket
    Examples:
    some-code
    ```

Also: Updated the unit test with examples of `examples` and
`interaction`.
2013-03-29 07:23:49 -06:00
Matthew Flatt
a5f8584bab scriblib/figure: add `#:continue?' option 2013-03-29 07:23:49 -06:00
Jay McCarthy
8a3f831807 Fixing standalone 2013-03-28 08:45:03 -06:00
Jay McCarthy
875c20119d Generalizing define-bibtex-cite 2013-03-26 06:08:21 -06:00
Eric Dobson
d7f12d93f4 Add testcase.
Closes PR 12812.
2013-03-25 08:50:48 -07:00
Jay McCarthy
5bb51aff4c Support all define-cite options in define-bibtex-cite 2013-03-25 08:27:51 -06:00
Jay McCarthy
b3b10a39f5 Support mastersthesis, clarify docs, and add test of rendering 2013-03-25 08:27:51 -06:00
Matthew Flatt
4d76aa2040 place channels & threads: improve GC
Allow a thread to be GCed when it is blocked on a place
channel for reading and the place channel's write end
is inaccessible.

GC is limited to threads that do not participate in cycles
of such threads, where the otherwise unerachable threads
are blocked on place channels that are reachable among the
set of threads. In other words, the GC finds the greatest
fix point (as measured by the threads to retain) instead of
least fix point --- which isn't what you want, but finding
the least fix point seems to require significant extra GC
machinery across places.

This improvement was intended to solve the same problem as
commit 7b0608c, but that case seems to run into the limitation
on cycles.
2013-03-25 05:15:24 -06:00
Matthew Flatt
b34fac32c0 fix space-safety problem
A tail call with certain kinds of primitives would fail to
clear local bindings in a detectable way. For example, a
tail call to `sync' that blocks could retain references
to unreachable data in the context of the `sync' call.

Primitives that can cause problems in the run-time system
are already identified as "imemdiate" primitives. The
safe-for-space pass now inserts clearing actions before a tail
call, unless the call it to a known immediate primitive or a
Racket-implemented function.

Clearing operations are now omitted before non-tail calls
to immediate operations like structure predicates.

The newly added clearing operations could affect performance,
but they probably won't, since the clear operations are still
avoided in tail-call cases that are otherwise fast. The newly
omitted clearing operations may improve performance.
2013-03-25 05:15:24 -06:00
Matthew Flatt
c3266ef685 fix `sync/[timeout/]enable-break' semaphore shortcut
The shortcut could be triggered in a bad case (first
argument as `#f' in non-timeout mode) and returned the
wrong result (void instead of the semaphore).
2013-03-25 05:15:24 -06:00
Eric Dobson
87facb736f Check for structure binding and raise good error if it is not there.
Closes PR 13588.
2013-03-24 18:35:22 -07:00
Eric Dobson
bb0b071f38 Remove legacy require/typed form. 2013-03-24 18:35:21 -07:00
Robby Findler
57f857b45a fixed more calls to error (that should be raise-argument-error) in the contract library 2013-03-24 08:09:08 -05:00
Robby Findler
64849bddd2 update mzlib contract test suite to recent changes to racket/contract 2013-03-24 07:24:32 -05:00
Robby Findler
6e4d483403 adjust contract library to call raise-argument-error instead of error
and a few other changes nearby to clean up various things

closes PR 13623
2013-03-23 22:00:29 -05:00
Eric Dobson
0e42a791a7 Typecheck (lambda args body) as (arg1 -> result). 2013-03-23 13:18:05 -07:00
Carl Eastlund
c8f79dacbb Added tests for blame object source locations being srcloc structs. 2013-03-23 01:06:24 -04:00
Eli Barzilay
f1e5bd8fd4 Undo no-op change.
As discussed:
  http://lists.racket-lang.org/users/archive/2013-March/056907.html
2013-03-22 11:22:49 -04:00
Jay McCarthy
04d723eea8 Fixing broken rackunit tests 2013-03-22 07:45:14 -06:00
Jay McCarthy
9f337c632a Removing the planet2 name from the code 2013-03-22 07:45:14 -06:00
Robby Findler
092d98656c fix plai/gc2/mutator for the case where a lambda-bound
variable is shadowing something
2013-03-21 22:48:05 -05:00
Robby Findler
0e6975fb2c add 'values' to plai/gc2/mutator language 2013-03-21 22:48:05 -05:00
Robby Findler
13bcb73050 typo in test suite 2013-03-21 18:59:23 -05:00
Matthew Flatt
3886b7702e fix for `syntax-local-value/immediate'
The source locaiton on the second result was mangled.

Closes PR 12477
2013-03-21 14:29:40 -06:00
Robby Findler
f166934700 adjust check syntax to deal properly with submodules at non-zero phases
Thanks to Matthew for sorting this out.

(Also removed a bunch of line-ended space chars since git
yelled at me.)
2013-03-21 13:08:34 -05:00
Matthew Flatt
30a4b481dd fix submodule declarations nested in phases > 1 2013-03-21 11:51:46 -06:00
Robby Findler
fe721eaef4 adjust options tests to match new multi-party blame printouts 2013-03-21 10:22:27 -05:00
Matthew Flatt
acd6764019 support boxes in syntax patterns and templates
Also, `datum-case' and `datum' from `syntax/datum'.
2013-03-21 09:06:15 -06:00
Jay McCarthy
804791b011 Adding test logging facility to rackunit and eli-tester, with its own test and docs 2013-03-21 07:02:50 -06:00
Eric Dobson
ccc8b85cef Fix parsing of dotted formals.
Closes PR 13576.
2013-03-17 18:52:47 -07:00
Robby Findler
79b5e4dc3a fix a bug that inhibited online compilation from writing out .zo files
when it compiles required files

Now that this is fixed, the compilation manager will be (once again)
active when doing online compilation, so if the "Populate compiled
directories" checkbox is check (which it is by default) in the details
section of the language dialog, then online compilation will, as it
compiles your file, write out .zo files that will also be used by the
Run button.

The actual fix to this bug is the change in expanding-place.rkt (and
all it really does is move the setting of the
current-load/use-compiled and current-load parameters earlier so that
CM sees only the modified parameter settings and so doesn't give up on
compilation.

The rest of the changes are a test case (and change to drracket to
support the test case)
2013-03-14 16:36:51 -05:00
Robby Findler
84ce7fa762 make parametric->/c do first-order checks for the argument/result
contracts that it generates

closes PR 13600
2013-03-14 10:27:49 -05:00
Eli Barzilay
af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Eric Dobson
71d6189132 Cleanup of subtyping, additional comments, and improved short circuting. 2013-03-13 22:59:27 -07:00
Eric Dobson
714f667cf1 Add more hacky things to make with-handlers typecheck.
Closes PR12644.
2013-03-13 22:29:41 -07:00
Eric Dobson
75f89107b1 Make PolyDots be subtypes even if they have different fixed arguments. 2013-03-13 22:29:41 -07:00
Eric Dobson
6335de099e Make PolyDots actually subtype correctly. 2013-03-13 22:29:41 -07:00
Eric Dobson
6105ce8b20 Check actual args when form looks like for/list. 2013-03-13 21:45:03 -07:00
chrdimo
9743afeebf replacing transfer-option with transfer/c 2013-03-13 21:15:00 -04:00
Stevie Strickland
4119fab3ff Tests for define/contract and keyword interaction. 2013-03-12 18:15:02 -04:00
Eric Dobson
4683be8793 Add checks for failing to parse types. 2013-03-11 22:53:29 -07:00
Eric Dobson
17cb4fd8d0 Make vector-set! type correctly on complicated inputs.
Closes PR13532.
2013-03-11 21:52:11 -07:00
Robby Findler
d652d69d14 adjust 2d reader so the keyword has its own source location
and is syntax-original?
2013-03-11 18:53:40 -05:00
Robby Findler
3e27388571 missed some changes related to addition of dont-care values
in the lexers
2013-03-10 21:56:43 -05:00
Robby Findler
da7a525452 oops
(and the bigger mystery is why this didn't signal
an error when I ran the tests)
2013-03-09 19:01:31 -06:00
Robby Findler
e0aef0a575 fix two bugs in recent plai commit 2013-03-09 18:59:26 -06:00
Robby Findler
38f5823a59 adjust plai's gc2 language to use roots as the arguments
to gc:cons and gc:closure instead of passing locs

This enables the important change, namely that get-root-set
no longer returns roots corresponding to the arguments
of the allocation function that we're in the middle of.

This means that a common error students have (forgetting
to chase the 'hd' and 'tl' pointers in their GC) is
harder to make now, since get-root-set never contains
those locations as roots. (In the past you would have had
to write some pretty non-obvious mutator program to get
that behavior.)
2013-03-09 16:08:00 -06:00
Eli Barzilay
44c274e6c3 Actually swap the argument order.
(This was supposed to be included with the other commit.)
2013-03-09 16:05:01 -05:00
Eli Barzilay
c183711d34 Move the `define-inline' tests to "tests/racket/optimize.rktl".
Avoids a bad dependency.
2013-03-09 15:47:43 -05:00
Eli Barzilay
3af72ecab4 Added splitf-at', takef-right', dropf-right', splitf-at-right', and more.
* See comment about implementation issues.

* Removed the `list?' requirement on `takef' etc -- so it matches the
  non-*f versions.  (IMO, it'd be better to drop it from all of them.)
  This also changes the output of `dropf' to `any/c'.

* Swapped the argument order so the predicate is last -- this makes it
  uniform with the non-f* versions.  (IMO, it'b be better to use the
  popular order in all of them instead.)

* Includes tests, and also improved version of previous tests.

* Includes docs, and also fixes to previous docs (eg, drop* doesn't
  return a fresh list).
2013-03-09 15:47:43 -05:00
Eli Barzilay
2cdfe18beb Rename {take,drop}-while' -> {take,drop}f'.
Also, improve the tests a little.
2013-03-09 15:47:42 -05:00
Robby Findler
eb41882843 add tests for plai's get-root-set (in gc2) 2013-03-09 09:22:18 -06:00
Robby Findler
609672bfa1 bugfix in the closure support 2013-03-09 09:22:17 -06:00
Stevie Strickland
539c25bb37 Fix with-contract so that contracts are only applied per mutation.
There's still a function application (here, a thunk) lurking in
external accesses, but since that's a trade-off for an entire contract
application, we profit.
2013-03-08 18:11:27 -05:00
Eric Dobson
1334e8dcc7 Reduce usage of check-below.
This pushes almost all uses of check below into tc-expr and
tc-expr/check. This means that the optimizer sees more precise types
and can make more optimizations.
2013-03-08 09:00:58 -08:00
Eric Dobson
1fd21ef640 Avoid TR internal error, by checking shape of args. 2013-03-08 09:00:10 -08:00
Robby Findler
308a65e6ca fix plai tests 2013-03-07 16:02:51 -06:00
Robby Findler
0889133ca1 unbreak get-root-set 2013-03-07 13:52:37 -06:00
Robby Findler
5c90a7ba83 adjust gc2's mutator language so that void-producing expressions
are allowed only in places where the value is discarded
2013-03-07 13:52:36 -06:00
Asumu Takikawa
bb17b6a8f6 Add take-while, drop-while to racket/list 2013-03-07 12:26:36 -05:00
Eric Dobson
f428191e1c Fix type of split-at and vector-split-at.
Closes PR12700.
2013-03-06 08:49:50 -08:00
Eric Dobson
ddf0c39e98 Reduce unnecessarily complicated restrict case. 2013-03-06 08:48:44 -08:00
Eric Dobson
d59a600be6 Make kw/opt lambda special checks work with other expected values.
Closes PR13544.
2013-03-06 08:48:14 -08:00
Eric Dobson
22ef10c544 Fix heterogeneous vector typechecking. 2013-03-04 09:36:56 -08:00
Eric Dobson
485f246f39 Fix type of set?. Closes PR13509. 2013-03-04 09:17:40 -08:00
Matthew Flatt
114ab498d6 scribble: fix regression in HTML rendering
Fixes a problem with 2d5884b26a.
2013-03-04 07:53:18 -07:00
Matthew Flatt
5e20f51415 fix mark handling for impersonatored procedures to match docs
Using an impersonator property to represent an application mark was
a bad choice. The property gets propagated, so it is also on any later
chaperone layer, and then things go bad: the docs say that special
treatment is triggered by supplying an argument to `impersonate-property',
but it was actually triggered by the chaperone having the property.

Change the implementation to match the documentation. Using an
impersonator property to supply the mark should be regarded as a hack,
but now the implementaiton is at least consistent with the documentaiton.
2013-03-03 10:16:51 -07:00
chrdimo
7f67252cb3 replacing applicable structures for procedure options with chaperones + tweak-option + with-contract mode 2013-03-02 23:36:21 -05:00
Asumu Takikawa
3ab83001b4 Support reverse lookups with IPv6 addresses 2013-03-02 14:26:28 -05:00
Asumu Takikawa
c2e8ef30e4 Support querying AAAA records for IPv6 2013-03-02 14:26:27 -05:00
Matthew Flatt
0acb9b8432 doc correction and test additions for `atan'
Closes PR 10324
2013-03-01 15:28:39 -07:00
Asumu Takikawa
94b2ebddfa Add DNS tests 2013-03-01 16:22:36 -05:00
Matthew Flatt
2236363696 fix bug in hashing shortcut for transparency 2013-02-28 10:06:36 -07:00
Robby Findler
8a08cfcbbf adjust plai test suite tests to check the ports that things now go to 2013-02-28 07:12:15 -06:00
Robby Findler
0d3fc7db93 adjust test case for improved ->i handling in check syntax 2013-02-27 21:30:37 -06:00
Robby Findler
b0ed3b49e0 adjust plai test & co. to print only failing tests to stderr,
instead of printing all of them

also, adjust the plai test suites to cope with test results going
to two different places
2013-02-27 21:30:37 -06:00
Robby Findler
48b2410755 fix a bug in ->i parsing 2013-02-27 19:20:27 -06:00
Robby Findler
727d11df83 adjust plai's test facility to print test failures to stderr
instead of stdout (in addition to making errors red in drracket,
this will also make some of the existing test suites more
drdr friendly)
2013-02-27 19:20:26 -06:00
Matthew Flatt
abf44f8b49 add `module-compiled-cross-phase-persistent?' 2013-02-27 08:53:43 -07:00
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