Commit Graph

679 Commits

Author SHA1 Message Date
Eric Dobson
bf72db0f7b Clean up some contract errors and type->contract. Closes PR11756. 2011-07-14 17:06:52 -04:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Eric Dobson
e3c4955ac9 Changed order type annotations are processed. Closes PR 11560. 2011-06-30 14:01:47 -04:00
Eric Dobson
76a1112df0 Changed define-predicate to use recursive-contract. Closes PR 10939.
Closes PR11504.
2011-06-30 14:01:47 -04:00
Sam Tobin-Hochstadt
c658a5687e Provide `with-handlers' from prims.rkt under its real name. 2011-06-24 18:10:25 -04:00
Sam Tobin-Hochstadt
eaa156554a Add contracts for `Sequenceof' values. 2011-06-15 17:02:09 -04:00
Vincent St-Amour
e057e6a857 Optimize in typed regions. 2011-06-15 11:20:51 -04:00
Vincent St-Amour
3ff1a3320a Improve error message for untyped variables that don't come from the original program. 2011-06-14 17:53:28 -04:00
Vincent St-Amour
bb71f9b66d Fix contract generation for Exact-Rational.
Closes PR11954.
2011-06-02 16:52:46 -04:00
Vincent St-Amour
3b036388d6 Remove trailing whitespace. 2011-05-18 17:09:45 -04:00
Vincent St-Amour
a1fab6ec06 Give more meaningful names to conditional contract forms. 2011-05-18 17:09:45 -04:00
Vincent St-Amour
1ed0e84791 Move base environment files to their own subdirectory. 2011-05-17 15:16:18 -04:00
Sam Tobin-Hochstadt
c2291e049d Add types for some of `syntax/stx'
Add hacked types for `with-syntax' internals.
2011-05-16 14:55:17 -04:00
Sam Tobin-Hochstadt
e92af62ca0 Add contract generation for Set type. 2011-05-15 22:53:20 -04:00
Sam Tobin-Hochstadt
27aa3f7556 Add type for `error-display-handler' 2011-05-08 15:36:48 -04:00
Sam Tobin-Hochstadt
2f3e9fc655 Add types for `in-hash' etc. 2011-05-08 15:36:48 -04:00
Sam Tobin-Hochstadt
af56616fc8 Require numeric-predicates at the correct phase.
Closes PR 11897.
2011-05-05 19:04:38 -04:00
Eric Dobson
f3c73a197e Changed Paths to PathStrings in types where appropriate 2011-05-03 18:20:31 -04:00
Eric Dobson
613e121783 Struct types now generate flat contracts when appropriate.
Closes PR 11686.
2011-05-03 08:15:37 -04:00
Sam Tobin-Hochstadt
561d89f0af Remove uneccesary provides. 2011-04-28 18:25:22 -04:00
Vincent St-Amour
632e36f751 Add set types to TR.
Original patch by Eric Dobson.
2011-04-28 18:22:39 -04:00
Vincent St-Amour
9740d5542b No need for EphemeronTop since ephemerons are covariant.
Closes PR 11633.
2011-04-26 15:35:22 -04:00
Eric Dobson
80fa8d3c97 Beginning of ephemeron patch 2011-04-26 15:35:22 -04:00
Robby Findler
21cbd9ad81 added the racket/contract/combinator library,
and documented and adjusted these libraries:
     racket/contract/base
     racket/contract/exists
     racket/contract/parametric (renamed from exists)
     racket/contract/region
2011-04-25 11:51:44 -05:00
Sam Tobin-Hochstadt
51083dbce6 Remove useless requires. 2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
187dc63493 Remove unused code. 2011-04-18 15:41:50 -04:00
Robby Findler
570a3e58b9 renamed parametric/c to parametric->/c
and cleaned up the organization of the related files
2011-04-09 21:45:49 -05:00
Ryan Culpepper
f49412add8 moved unstable/poly-c to racket/contract/parametric 2011-04-08 08:25:22 -06:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
Vincent St-Amour
60cc8c4453 Fix type of sqr. 2011-03-21 16:06:37 -04:00
Vincent St-Amour
17afa91c09 Provide the index? predicate. 2011-03-18 13:24:58 -04:00
Vincent St-Amour
bde2ee0b8d Changes to the regular base type environment. 2011-03-18 10:25:22 -04:00
Vincent St-Amour
ee29d371c9 Updated TR's base type environment to use the new numeric types.
This ended up being an almost complete rewrite of the base environment.
Note: While the commit is dated Jan 27, the work was finished on Mar 2.
2011-03-18 10:25:21 -04:00
Vincent St-Amour
bf6379c363 Add a helper function to add filters en masse to express propositions
that are true about a function's arguments if the function returns.
2011-03-18 10:25:20 -04:00
Vincent St-Amour
88fac43d55 Add an Exact-Number type. 2011-03-18 10:25:20 -04:00
Vincent St-Amour
f8528ac892 Change type of make-sequence to reflect changes to its implementation. 2011-03-17 18:43:57 -04:00
Vincent St-Amour
1b3052748e Add a case-> type-constructor as a synonym for case-lambda. 2011-01-31 16:39:20 -05:00
Vincent St-Amour
d65438c9ea Remove some legacy bindings. 2011-01-31 16:39:19 -05:00
Vincent St-Amour
22391be437 Cleanup of exposed base types. 2011-01-31 16:39:19 -05:00
Vincent St-Amour
f1c6c74284 Small-Float -> Single-Flonum 2011-01-31 16:39:18 -05:00
Vincent St-Amour
4ac36fd59b Added the new single-precision float function to TR. 2011-01-31 16:39:18 -05:00
Vincent St-Amour
b26531774b Update base-env-indexing to use the new types. 2011-01-31 16:39:15 -05:00
Vincent St-Amour
a0a54b231d Fix TR tests. 2011-01-31 16:39:14 -05:00
Vincent St-Amour
e56663c943 Add a predicate field to base types, which makes checking for
subtyping of value types easier.

However, this means that base types can't be marshaled as before,
since these predicates can't be marshaled. Instead, we now marshal
base types as identifiers that refer to their base type object.
2011-01-31 16:39:13 -05:00
Vincent St-Amour
3e27ed607c Avoid generating large contracts for common numeric types. 2011-01-31 16:39:13 -05:00
Vincent St-Amour
d4c93cc12e TR's numeric tower is now built from unions of non-overlapping base types.
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.

In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.
2011-01-31 16:39:13 -05:00
Sam Tobin-Hochstadt
463ab0d309 Fix type of `-' 2010-12-08 19:31:57 -05:00
Sam Tobin-Hochstadt
e70ccafd7b Add `defined?' assertions to fix DrRacket. 2010-12-08 18:53:56 -05:00
Sam Tobin-Hochstadt
87eab889d6 Allow arbitrary filter specification in function types.
Allow (A -> B -> C) for curried function types.
2010-12-08 18:22:29 -05:00
Sam Tobin-Hochstadt
73dbf42e0e Better handling of `hash-*' functions, and hashes as sequences. 2010-12-08 18:22:29 -05:00