Sam Tobin-Hochstadt
600935aae1
Don't report duplicate error messages.
2015-12-02 11:00:47 -05:00
Sam Tobin-Hochstadt
9c1569646e
Construct syntax to be checked with source locations.
...
Closes #258 .
2015-12-01 14:22:16 -05:00
Sam Tobin-Hochstadt
ab4514bb56
Use symbols instead of identifiers for poorly-printing struct types.
...
This case only comes up when something else unfortunate has happened
with type printing, but the current implementation can lead to paths
in the type printing.
2015-11-30 17:55:26 -05:00
Vincent St-Amour
781e0504bb
Type of expt was overly optimistic.
2015-11-29 15:47:33 -06:00
Andrew Kent
581469e749
removed scope structs from types
2015-11-28 15:04:03 -05:00
Matthew Flatt
c4f39433e1
refine the type of collect-garbage
...
The `collect-garbage` function now accepts a mode argument.
2015-11-27 06:57:37 -07:00
Vincent St-Amour
6a8c366210
Fix type of expt
to reflect fix to dynamic behavior.
2015-11-25 17:33:00 -06:00
Vincent St-Amour
fe4808f96a
Fix magnitude on numbers with negative components.
...
Closes PR 15183.
2015-11-23 14:30:20 -06:00
Sam Tobin-Hochstadt
9fc2c5b3c3
Fix mutated variable handling at the top level.
2015-11-18 13:16:41 -05:00
Sam Tobin-Hochstadt
577ab41da6
Keep ignored provide forms in the output.
...
Closes #231 .
2015-11-16 09:45:08 -05:00
Sam Tobin-Hochstadt
0e23bb48cb
Add missing file.
2015-11-14 20:49:30 -05:00
Sam Tobin-Hochstadt
71b6fc456c
Progress towards deterministic TR compilation.
...
Traverse many dictionaries in sorted order when generating
residual code.
Closes racket/racket#1138 .
2015-11-14 20:32:05 -05:00
Vincent St-Amour
1e32397658
Refine type for expt.
...
Fixes rsound.
2015-11-13 10:14:39 -06:00
Vincent St-Amour
1187281bf7
Fix sign propagation in some real-complex corner cases.
...
May have been found using random testing a while back.
2015-11-12 16:08:20 -06:00
Vincent St-Amour
fb3dee24db
Avoid double coercion.
2015-11-12 16:01:21 -06:00
Vincent St-Amour
b88b4a8829
Fix magnitude opt to not overflow.
...
May have been found with random testing, a while ago.
2015-11-12 15:36:44 -06:00
Vincent St-Amour
53e501bb8b
Avoid generating contraints for optimized-away contract definitions.
...
Closes #214 .
2015-11-12 13:46:37 -06:00
Eric Dobson
c9db5dded7
Make infer/dotted instantiate the dotted variable to improve inference.
...
With this we don't need to infer the length of the dotted variable,
in parts of the inference.
Closes #120 .
2015-11-10 16:56:14 -05:00
Spencer Florence
e0cbc15625
fix a bug where cover+tests could call syntax-local-introduce
when not transforming
...
Closes #204 .
2015-11-10 16:32:09 -05:00
Sam Tobin-Hochstadt
6cbd6d872f
Remove obsolete comment.
2015-11-10 13:24:52 -05:00
Sam Tobin-Hochstadt
93507eb519
Avoid doing too much duplicate typechecking work.
2015-11-10 13:23:39 -05:00
Sam Tobin-Hochstadt
aa969302f8
Avoid typechecking multiple times when handling eta expansions.
2015-11-10 12:34:14 -05:00
Sam Tobin-Hochstadt
d9e3c2ac6a
Repair da574a4
again.
2015-11-10 08:59:18 -05:00
Sam Tobin-Hochstadt
983b509f2a
Repair da574a4
.
2015-11-09 23:28:00 -05:00
Sam Tobin-Hochstadt
da574a47d0
Handle in-vector
with range arguments.
...
* Add `normalise-inputs` to special function env.
* Treat eta-expansion specially. Now
`(lambda (x ...) (f x ...))`
will typecheck like `f` but with a type restricted to
the size of `x ...`.
Currently, this special case only works for non-polymorphic
functions.
2015-11-09 19:04:14 -05:00
ben
5d4477d08d
safe & efficient (-> Any Boolean) contract
...
New strategy for compiling the (-> Any Boolean) type to a contract.
When possible, uses `struct-predicate-procedure?` instead of
wrapping in `(-> any-wrap/c boolean?)`.
Makes exceptions for untyped chaperones/impersonators over struct predicates;
those are always wrapped with `(-> any-wrap/c boolean?)`.
This change also affects (require/typed ... [#:struct ...]), but not #:opaque
2015-11-09 19:04:02 -05:00
Georges Dupéron
67bd07a84a
Fixes type of member
and assoc
, plus some tests for them. See github bug #223 : “(member) has wrong type, exploiting the hole causes segfault”.
2015-11-09 19:04:02 -05:00
Vincent St-Amour
65b6d3e019
Abstract over operations properly.
...
Found using random testing.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
7346abf91c
Preserve sign better in real-complex ops.
...
Found using random testing.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
d91d89ffc1
Improve code gen for real-complex division.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
db79beaf12
Actual fix for not suppressing divide-by-0 errors.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
623a29eff4
Avoid dependency between non-float and is-real properties.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
36a39f7e5d
Simplify interface.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
d50ccec0b9
Revert div-by-0 fix. Breaks other things.
2015-11-09 17:16:10 -06:00
Vincent St-Amour
63e26cf17a
Avoid suppressing divide-by-0 errors.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
6a2c8ca9f7
Fix the fix to flexpt.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
5fe4e6b03f
Add missing coercion.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
0b2ae25c92
Propagate fix to division.
...
Found using random testing, at least twice.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
7ef06f74c9
Extend this handling to multiplication.
...
Found using random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
b101d396a3
Avoid premature float conversions.
...
Found using random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
7ba1ab6e51
Use correct imaginary binding.
...
Fixes 13 bugs found using random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
f523fb1721
Recognize as real values that are not immediately consumed.
...
Fixes 18 bugs found via random testing.
2015-11-09 17:16:09 -06:00
Vincent St-Amour
9385f6e350
Yet another fix for expt and complexes.
...
Found using random testing. Found once.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
5ce00a90d2
Fix sign property of n-ary division.
...
Found using random testing. Found 4 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
23de6a654e
Fix another NaN case in expt.
...
Found using random testing. Found 3 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
3ef8fe1739
Fix type of expt for bignums that get converted to infinity.
...
Found using random testing. Found 10 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
a0ef6b1d8c
Fix type of expt.
...
Found using random testing. Found 10 times.
2015-11-09 17:16:08 -06:00
Vincent St-Amour
16a18d7648
Fix type of flexpt.
...
Found using random testing. Found 9 times.
2015-11-09 17:16:08 -06:00
Alex Knauth
43dc7632d4
don't provide Unit from typed/racket/base
2015-11-05 17:14:35 -05:00
Alex Knauth
390dc3a2b1
provide Unit from typed/racket/unit
2015-11-05 17:14:35 -05:00