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