Sam Tobin-Hochstadt
cab90c16d5
Test for appropriate predicates for invariant structs.
2012-09-27 17:26:32 -04:00
Sam Tobin-Hochstadt
d066a5c1d2
Fix error message pattern for use of cons/c
.
2012-09-27 16:39:16 -04:00
Eric Dobson
ffe45ecce4
Working covariant applications.
2012-09-27 16:22:22 -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
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
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
Sam Tobin-Hochstadt
b7f9c77069
Remove #:transparent
to work around place message limitations.
2012-08-22 16:50:50 -04:00
Sam Tobin-Hochstadt
e207f5c67d
Add -v
option to TR tests.
...
Also, print errors from serialization and place message sending.
2012-08-22 16:50:50 -04:00
Eric Dobson
e9f209977b
Fix typechecking of polymorphic structs with parent types.
...
Closes PR12998.
2012-08-22 16:50:49 -04:00
Sam Tobin-Hochstadt
26a57f6420
Use module registry trick to slightly speed up TR tests.
2012-08-22 11:13:07 -04:00
Sam Tobin-Hochstadt
e705d4d450
Parallelize running Typed Racket optimizer tests.
...
No speedup yet, though.
2012-08-21 17:47:30 -04:00
Sam Tobin-Hochstadt
1c275ffcc7
Don't use places for running single tests.
2012-08-20 14:45:50 -04:00
Eric Dobson
533920480e
Add tests for make-predicate and cast, also add support for the top-level.
...
Closes PR 12939.
Closes PR 12201.
2012-08-20 12:39:41 -04:00
Sam Tobin-Hochstadt
9e5060ef5b
Make Typed Racket integration tests run in parallel.
...
Parallel speedup of approximately 4x when using 8 workers on a 12-core machine.
Closes PR 12911.
2012-08-20 12:25:50 -04:00
Eric Dobson
09d32d35e0
Add promise support to type->contract.
...
Closes PR13024.
2012-08-20 10:10:17 -04:00
Eric Dobson
ac493a6f44
Replaced infer-dummy with lazy-require.
2012-08-14 16:04:51 -04:00
Sam Tobin-Hochstadt
ade36c36c6
Don't special-case applications with instantiations.
...
Closes PR 13006.
2012-08-14 15:45:47 -04:00
Eric Dobson
3b6168de7d
Fix substitute and add test case.
2012-08-14 14:44:55 -04:00
Eric Dobson
2e3965e777
Make simple substitution happen all at once.
...
Closes pr12920.
2012-08-14 14:44:55 -04:00
Vincent St-Amour
af8fc1f26a
Fix types of magnitude and angle.
...
Closes PR13025.
2012-08-14 14:37:18 -04:00
Eric Dobson
cac47c0427
Make TR debug printer work again.
2012-08-14 09:45:01 -04:00
Sam Tobin-Hochstadt
6ae2a9d884
Fix internal require of typed submodules.
2012-08-13 17:20:20 -04:00
Eric Dobson
3876dfa841
Make generated flat contracts actually flat.
2012-08-10 10:39:44 -04:00
Eric Dobson
21598297a7
Removed *Un from abbrev.rkt, replaced it with Un from union.rkt.
2012-08-07 15:50:50 -04:00
Eric Dobson
9ed360bb5e
Removed convenience.rkt from typed racket.
2012-08-07 15:50:50 -04:00
Eric Dobson
56fd9e6321
Rearange type code, so that abbrev.rkt can depend on union.rkt.
...
Split out base-abbrev.rkt so that subtype is not dependent on abbrev.rkt.
Remove unused code in numeric-tower.rkt so that it is now a dependent of
abbrev.rkt, which allows the body of convenience.rkt to be merged back in.
Remove special casing for union.rkt and extraneous subtyping checks.
Remove union-maker.
2012-08-07 15:50:50 -04:00
Vincent St-Amour
7494fccc4c
Control number of attempts for TR random testing from the command line.
2012-08-06 12:48:41 -04:00
Eric Dobson
e6d4fb2ee2
Fill hole in recursive type soundness. Fixes PR 11372.
2012-08-06 12:31:07 -04:00
Vincent St-Amour
aba046a92d
Swap unsafe and chaperone-unsafe vector ops in the TR optimizer.
...
Closes PR12969.
2012-08-04 10:32:21 -04:00
Vincent St-Amour
a6d5a98b61
Include NaN in all floating-point types.
...
Makes more closure properties hold, but weakens occurrence typing for
some comparisons involving flonums.
2012-08-03 14:21:44 -04:00
Vincent St-Amour
800a328fe6
Fix documentation for packages and mutable lists.
...
As suggested by Matthew.
2012-07-31 17:12:30 -04:00
Vincent St-Amour
dd02f5eeda
Fix parametric require/typed in typed/racket/base.
...
Closes PR12951.
Please merge to release.
2012-07-29 09:02:58 -04:00
Vincent St-Amour
52439d528b
Move mutable list functions to the compatibility collect.
...
Mutable pair functions from racket/base are not moved.
2012-07-27 16:49:05 -04:00
Vincent St-Amour
b1577bd307
Fix type for add-between.
2012-07-24 16:41:52 -04:00
Sam Tobin-Hochstadt
4a90c6c1fe
Ensure that structs don't overlap with simple values.
...
Reported by Ray Racine.
Please merge to release.
2012-07-20 13:01:32 -04:00
Eric Dobson
1df6165e9f
Clean up of typechecking for heterogeneous vectors and structs.
2012-07-15 19:21:26 -04:00
Eric Dobson
779291c795
Remove special cases for - and fx- in tc-app.rkt.
2012-07-15 19:21:26 -04:00
Sam Tobin-Hochstadt
8c659d50ed
Properly handle quoted constants with bad expected types.
...
Closes PR 12874.
2012-07-14 23:06:13 -04:00
Sam Tobin-Hochstadt
1dca82784b
Handle arbitrary recursive contracts generated from Rec
types.
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
2aaeec4520
Improve type of values
when applied to one argument.
...
Closes PR 12846.
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
ccf79943ab
Fix special case for expected unions of vectors.
...
Closes PR 12845.
2012-07-14 21:56:44 -04:00
Sam Tobin-Hochstadt
2500dad8f1
Don't shortcut simple letrec
forms that aren't lambda
s.
...
Closes PR 12841.
2012-07-14 21:36:56 -04:00
Sam Tobin-Hochstadt
9e097866bf
Vector fixes.
...
- Allow indexing into a VectorTop, with result `Any`.
- Don't use special typing rules for applications when the operator
has an annotation or instantiation.
Closes PR 12887.
Closes PR 12888.
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
f40c7f11a6
Mutable data at typed boundaries can't have flat contracts.
...
Closes PR 12884.
2012-07-14 20:43:35 -04:00
Sam Tobin-Hochstadt
2dd9a43d1b
Fix tests for new type name declaration.
2012-07-12 17:41:12 -04:00
Neil Toronto
392d7bfbad
Added sequence typecheck tests
...
Added empty-sequence type (prints funny but works polymorphically; will submit bug report)
Loosened type of sequence-andmap (can't mimic andmap's predicate type)
2012-07-10 13:22:53 -07:00
Sam Tobin-Hochstadt
6bf141513f
Revise type environment propagation to use submodules.
...
Each typed module now defines a submodule named `type-decl`.
This module performs the type environment initialization (along
with other environment updates) when invoked. Additionall,
every typed module, when invoked, performs a for-syntax addition
to a list specifying the submodules that need invocation.
This invocation is then performed by the `#%module-begin` from
Typed Racket.
The `type-decl` module always goes at the beginning of the
expanded module, so that it's available at syntax-time for all
the other submodules. This involved adding pre- and post-
syntaxes for the results of typechecking.
This allows significant runtime dependency reduction from the
main `typed/racket` and `typed/racket/base` languages (not yet
complete).
2012-07-10 12:49:27 -04:00
Vincent St-Amour
dba49db078
Fix type of andmap and ormap on empty lists.
...
Closes PR 12882.
2012-07-06 12:28:37 -04:00