Commit Graph

413 Commits

Author SHA1 Message Date
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
Ryan Culpepper
29a9abf394 fix bad attr reference (datum attr doesn't exist)
That macro doesn't seem to be used anywhere. Perhaps it can just
be deleted.
2012-09-17 12:29:17 -04:00
Vincent St-Amour
1975014c55 Remove TR optimizer log key, made redundant by named loggers. 2012-09-11 13:48:14 -04:00
Vincent St-Amour
ab328ea80b Fix TR tests for new logging system. 2012-09-11 13:48:14 -04:00
Vincent St-Amour
805a6477a7 Use named loggers to tell TR and inliner logs apart. 2012-09-11 13:48:14 -04:00
Vincent St-Amour
251159e64a Allow launching OC when it's already running. 2012-09-11 13:48:14 -04:00
Vincent St-Amour
39100bd3e3 Fix OC for new logging system. 2012-09-11 13:48:14 -04:00
Vincent St-Amour
adceb4322a Integers include inexact single-float integers.
Closes PR13103.
2012-09-09 15:46:29 -04:00
Vincent St-Amour
729d154deb Fix types of comparisons between zero and non-negative integer types. 2012-09-08 18:51:38 -04:00
Sam Tobin-Hochstadt
eed93825ab Track mutable variables across modules. 2012-08-31 17:45:11 -04:00
Sam Tobin-Hochstadt
ab5403d1ed Simplifying case-> to union is only safe for 1-argument functions.
Closes PR 13002.
2012-08-31 10:27:51 -04:00
Matthew Flatt
b61f3f751c port position-tracking clean-ups
Add `file-position*', which can return #f instead of raising
an exception when a port's position is unknown. Change
`make-input-port' and `make-output-port' to accept more
kinds of values as the initial position.

These changes make it possible to synchronize a port's
position with a `port-commit-peeked' action. It's ugly,
which I think reflect something broken about position
tracking in the port protocol (which seems difficult to fix
without breaking compaibility).
2012-08-28 16:04:41 -06:00
Sam Tobin-Hochstadt
514c1c5921 Refactoring of new tc-app. 2012-08-27 14:46:30 -04:00
Eric Dobson
1e15d4496e Fix errors in tc/app-hetero, cleanup tc/app. 2012-08-27 14:43:45 -04:00
Eric Dobson
5c7ed4a21d Cleaned up special cases by adding macros to reduce duplication. 2012-08-27 14:43:45 -04:00