Commit Graph

427 Commits

Author SHA1 Message Date
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
Eric Dobson
40809e768d WIP on fixing free-variance. 2012-09-27 16:22:22 -04:00
Eric Dobson
e3743b446c Split adding the struct type and the bindings. 2012-09-27 16:22:22 -04:00
Eric Dobson
40236a3b26 Cleanup define-struct parsing. 2012-09-27 16:22:22 -04:00
Eric Dobson
8ea7502c12 More cleanup of struct type registration. 2012-09-27 16:22:21 -04:00
Eric Dobson
d84391b695 More struct work 2012-09-27 16:22:21 -04:00
Eric Dobson
626f807f00 Removed cert value. 2012-09-27 16:22:21 -04:00
Eric Dobson
8226b6764c Cleanup of tc-struct and tc-toplevel. 2012-09-27 16:22:21 -04:00
Eric Dobson
d54a573494 Removed unused constructor-return argument. 2012-09-27 16:22:21 -04:00
Eric Dobson
54401182bb Make tc-struct no longer have long lines. 2012-09-27 16:22:21 -04:00
Eric Dobson
12233600c1 Fix -struct to use the right number of arguments to make-Struct. 2012-09-27 16:22:21 -04:00
Eric Dobson
6fe850ce39 Clean up contracts in TR. 2012-09-27 16:22:21 -04:00
Eric Dobson
2a8512ed72 Removed unused fields in Struct 2012-09-27 16:22:21 -04:00
Eric Dobson
745403a88e Make struct type contracts better 2012-09-27 16:22:21 -04:00
Eric Dobson
9e1cf579a4 Fix type->contract on structures. Now uses struct/c. 2012-09-27 16:22:21 -04:00