Asumu Takikawa
b4dd3b5e1d
Fail gracefully on TR struct arity errors
...
Closes PR 13209
2012-11-20 17:47:13 -05:00
Vincent St-Amour
95d51fc892
Add new versions of for/hash: and co that the typechecker can handle.
...
Based on Eric Dobson's implementation.
Closes PR13248. Closes PR13249.
2012-11-20 17:45:15 -05:00
Vincent St-Amour
e2007abd7a
Heterogenous -> heterogenEous.
...
Found by Ray Racine.
2012-11-20 17:06:51 -05:00
Vincent St-Amour
d994ba1914
Fix types of variable arity functions to work with 0-argument return values.
...
Closes PR13218.
2012-11-20 16:15:20 -05:00
Vincent St-Amour
6a7b971cd6
Only generate ->* contracts when arguments are really optional arguments.
...
Closes PR13274.
2012-11-19 17:35:07 -05:00
Neil Toronto
ac424a73a5
Added `define-typed/untyped-identifier' to typed/untyped-utils
...
Made return types of `flvector-length' and `unsafe-flvector-length' more precise (they return Index)
2012-11-16 10:52:56 -07:00
Sam Tobin-Hochstadt
30e26f00cd
Use error-display-handler
instead of threads for multiple error reporting.
...
Closes PR 13240 (in reality, avoids the bug, but ryanc says that it's too
hard to fix).
2012-11-15 12:33:25 -08:00
Asumu Takikawa
d22532db16
Fix Custodian type
2012-11-10 11:12:06 -05:00
Asumu Takikawa
daca1c0d5b
Fix a free variance bug
...
Commit ffe45ecce
had introduced a regression with some
polymorphic functions imported between typed modules due to
miscommunicated variance information.
2012-11-09 01:43:57 -05:00
Sam Tobin-Hochstadt
0a0ac35ee6
Correctly bind place?
for contract generation.
2012-11-07 12:21:09 -05:00
Sam Tobin-Hochstadt
056c1aaff4
Chars are compared with eqv?
.
2012-11-07 12:21:09 -05:00
Eli Barzilay
14d8c8b5a5
Newlines at EOFs.
2012-11-06 14:07:15 -05:00
Danny Yoo
dcf4d8b040
adding close-eval at the end of scribble files that have a toplevel evaluator
2012-11-01 15:32:53 -06:00
Tony Garnock-Jones
a57e158c43
Correct TR types for udp-bind! and udp-connect!.
2012-10-31 21:42:57 -04:00
Sam Tobin-Hochstadt
f2fd47905f
Fix binding of udp?
.
2012-10-31 21:39:16 -04:00
Sam Tobin-Hochstadt
0e71f2d5dc
Fix accidental use of the wrong letrec-bound variable.
2012-10-31 21:18:44 -04:00
Sam Tobin-Hochstadt
5861bf0b9f
Make Typed Racket name printing more deterministic.
2012-10-28 13:55:02 -04:00
Sam Tobin-Hochstadt
7573fd7ee0
Formatting.
2012-10-27 17:44:51 -07:00
Sam Tobin-Hochstadt
fa5846cb0c
Flvectors and Fxvectors are higher-order if we give them restricted float types.
2012-10-26 11:09:03 -07:00
Sam Tobin-Hochstadt
c6dc1e6ece
Improve contract generation in Typed Racket.
...
This fixes several issues:
- `Parameter` generates impersonator contracts correctly
- `Any` handling now copies immutable data when possible
- `Any` now recognizes more atomic base types
Merge to 5.3.1.
2012-10-25 23:31:02 -07:00
Eli Barzilay
cbfb1fdb37
A whole bunch of missing newlines at EOFs (and a few other spaceages).
2012-10-19 06:47:24 -04:00
Vincent St-Amour
fd6e2bd6c5
Don't provide for/vector: helpers.
2012-10-15 12:03:53 -04:00
Vincent St-Amour
5bc108c7b1
Fix type of raise-range-error.
2012-10-14 17:19:35 -04:00
Vincent St-Amour
aeddd7c18c
Document plet:.
2012-10-14 16:28:42 -04:00
Neil Toronto
9c11324cec
Added plet:
2012-10-14 16:28:42 -04:00
Neil Toronto
6f52be186b
Added working for/vector:, for*/vector:, for/flvector:, for*/flvector:
...
Closes PR13185.
2012-10-14 16:28:41 -04:00
Vincent St-Amour
3a8f4c24d9
More types for raise-* functions.
2012-10-14 15:44:55 -04:00
Eric Dobson
d31005b380
Add type for raise-argument-error in TR.
...
Closes PR13132.
2012-10-14 15:44:55 -04:00
Eric Dobson
788b046549
Make expt type more correct.
...
Closes PR13170.
2012-10-14 15:44:54 -04:00
Vincent St-Amour
844e898a54
Generate ->* contracts for functions with both optional and keyword arguments.
2012-10-14 15:44:54 -04:00
Vincent St-Amour
149d8535eb
More float conversion optimizations.
2012-10-14 15:35:50 -04:00
Vincent St-Amour
758e4ff112
Only recommend dropping exactness in truly inexact contexts.
...
Please merge to release.
2012-10-12 14:42:16 -04:00
Vincent St-Amour
7d317f1e96
Recommend float-specific operations in case of unexpected complex.
...
Please merge to release.
2012-10-09 16:58:04 -04:00
Sam Tobin-Hochstadt
6945c5bfb1
Handle contract generation for recursive class types.
2012-10-09 12:07:28 -04:00
Sam Tobin-Hochstadt
9054d0db7d
Allow #:opaque
and #:struct
in require/typed
.
2012-10-08 16:30:43 -04:00
Sam Tobin-Hochstadt
724aee0188
Add type for in-directory
.
2012-10-07 17:45:09 -04:00
Sam Tobin-Hochstadt
6fde63007e
Allow invoking thunks on the untyped side of an Any
.
2012-10-05 17:09:07 -04:00
Sam Tobin-Hochstadt
962f2472e1
Revamp handling of Any
as a contract.
...
The contract now has two major differences:
- It raises an error when it would have to wrap.
- It uses chaperones to delay errors as long as possible
In general, using `Any` as a type when exporting to untyped
code will now just work, unless the untyped code tries to
communicate values back to the typed side, in which case an
immediate error will be raised.
Much of the implementation comes from the membrane design
from [Strickland et al, OOPSLA 2012].
2012-10-05 12:39:11 -04:00
Sam Tobin-Hochstadt
b3c640870e
Simplify fast path for typechecking simple function applications.
...
Also, minorly revise subtyping code.
2012-10-05 12:12:39 -04:00
Sam Tobin-Hochstadt
8bb697108e
Fix contract-min/max base case.
2012-10-04 16:13:21 -04:00
Vincent St-Amour
937c901ce7
Add separator before Optimization Coach right-click menu entry.
2012-10-02 11:24:07 -04:00
Vincent St-Amour
69873c8db8
Fix Optimization Coach's handling of paths with spaces.
2012-10-02 10:45:29 -04:00
Vincent St-Amour
6ba0c1416e
Remove out of date comment.
2012-10-02 10:18:48 -04:00
Vincent St-Amour
61b83045fc
Fix loop detection heuristic based on self-out-of-fuel.
2012-10-02 10:18:48 -04:00
Sam Tobin-Hochstadt
d84631bc6f
Don't provide internal identifier.
2012-09-27 18:29:43 -04:00
Eric Dobson
8a8dc66a19
Replace uses of Type? in contracts with Type/c.
2012-09-27 18:10:38 -04:00
Sam Tobin-Hochstadt
ee4ba2e3dd
Fix define-typed-struct/exec
to pass struct-info.
2012-09-27 17:08:49 -04:00
Sam Tobin-Hochstadt
c07852eaf1
Ensure that identifiers defined by struct
are registered as being defined in the correct module.
2012-09-27 16:22:22 -04:00
Eric Dobson
cf4d43c04f
Made free-variance have less special cases.
2012-09-27 16:22:22 -04:00
Eric Dobson
ffe45ecce4
Working covariant applications.
2012-09-27 16:22:22 -04:00