Eric Dobson
020d053e0a
Add back template require.
2012-08-27 14:43:45 -04:00
Eric Dobson
6c2be05749
Removed dependencies from tc-app-hetero.
2012-08-27 14:43:44 -04:00
Eric Dobson
d8c9a581f2
Remove unneeded requires
2012-08-27 14:43:44 -04:00
Eric Dobson
7005f12f0d
Cleanup of tc-app refactor.
2012-08-27 14:43:44 -04:00
Eric Dobson
54d49d0ec1
Moved last special cases out of tc-app.rkt.
2012-08-27 14:43:44 -04:00
Eric Dobson
67c7e3537b
Moved lambda special cases out of tc-app.rkt.
2012-08-27 14:43:44 -04:00
Eric Dobson
51671fcec4
Moved eq? et al. special casing out of tc-app.rkt.
2012-08-27 14:43:44 -04:00
Eric Dobson
73bd7da049
Moved object special cases out of tc-app.rkt.
2012-08-27 14:43:44 -04:00
Eric Dobson
c2ab21c5a5
Moved keyword special cases out of tc-app.rkt.
2012-08-27 14:43:44 -04:00
Eric Dobson
6034423472
Split out special cases for apply and values from tc-app.rkt.
2012-08-27 14:43:44 -04:00
Eric Dobson
fcb06ac433
Move TR list special cases to tc-app-list.rkt.
2012-08-27 14:43:44 -04:00
Eric Dobson
e9f209977b
Fix typechecking of polymorphic structs with parent types.
...
Closes PR12998.
2012-08-22 16:50:49 -04:00
Eric Dobson
6e2e84664d
Move list-set and list-update to unstable/list.
2012-08-20 14:45:50 -04:00
Sam Tobin-Hochstadt
4c0d605c43
Fix typo detected by optimizer.
2012-08-20 13:17:50 -04:00
Eric Dobson
8545f421ab
Add back ignore-some typechecking
2012-08-20 12:39:41 -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
Eric Dobson
cc52e56fe6
Add way for code to attach typechecks to itself, and implemented make-predicate.
2012-08-20 12:39:40 -04:00
Eric Dobson
bb67e37c49
Make TR's ignore-some property work even if there isn't an internal form.
2012-08-20 12:39:40 -04:00
Eric Dobson
fdd2966cf4
Removed deprecated printf/log.
2012-08-14 16:04:48 -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
9ed360bb5e
Removed convenience.rkt from typed racket.
2012-08-07 15:50:50 -04:00
Eric Dobson
6dbc054e41
Replaced references to abbrev.rkt with convenience.rkt.
...
Skipped this for subtype.rkt, because of a require loop caused by
lazy-require.
2012-08-07 15:50:50 -04:00
Eric Dobson
9dac995e36
Fix things broken by bad rebasing.
2012-07-15 19:21:26 -04:00
Eric Dobson
1df6165e9f
Clean up of typechecking for heterogeneous vectors and structs.
2012-07-15 19:21:26 -04:00
Eric Dobson
dd078dcb95
Clean up of tc-app.rkt.
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
Eric Dobson
8f98bb6d92
Added cond-check-below
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
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
e6697fe43f
Require binding of add-mod
.
2012-07-13 17:10:50 -04:00
Sam Tobin-Hochstadt
396b04eb86
Reduce some dependencies of Typed Racket prims.
2012-07-12 17:41:12 -04:00
Sam Tobin-Hochstadt
775dc67a3b
Rename type-decl
submodule to #%type-decl
.
2012-07-12 17:41:12 -04: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
Sam Tobin-Hochstadt
20e95f8d8e
More refactoring and reduction of runtime dependencies.
2012-06-28 14:34:07 -04:00
Sam Tobin-Hochstadt
f075ecd36e
File splitting, dependency reduction.
2012-06-28 14:34:07 -04:00
Sam Tobin-Hochstadt
794bfa50ec
Load environments dynamically in residual code.
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
88ff5fee69
Minor refactorings.
...
- Remove tracing requires.
- Use lists instead of sets in a few environments.
- Small cleanups.
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
a05acfee4c
Split out some small utilities to prepare to reduce dependencies.
2012-06-25 14:10:18 -04:00
Sam Tobin-Hochstadt
ccb724155a
scheme -> racket
2012-06-25 13:39:07 -04:00
Vincent St-Amour
4d5bc17f85
Recover from any failure when attempting to prune types.
2012-06-17 23:28:50 -04:00
Vincent St-Amour
a5f2ca8fb0
Fix possible-domains on functions with multiple return values.
2012-06-17 23:04:47 -04:00
Sam Tobin-Hochstadt
39e014bc55
Handle submodules in Typed Racket.
2012-06-16 22:08:06 +08:00
Vincent St-Amour
442def0b0f
Fix typechecking of Single-Flonum-Complex literals.
...
Closes PR12840.
2012-06-09 22:00:27 -04:00
Neil Toronto
8f840bd07b
Fixed erroneously imprecise type for +nan.f literal (now Single-Flonum-Nan)
...
Types for nan?, infinite?, pi.f, exact-round, exact-floor, exact-ceiling,
exact-truncate, degrees->radians, radians->degrees
Extended tc-random-testing: generates exact integers and rationals now
Fixed types of sinh, cosh and tanh to account for underflow and NaNs
2012-06-09 17:46:04 -06:00
Sam Tobin-Hochstadt
1801efe66a
Whitespace fixes.
2012-06-03 10:50:18 -04:00
Sam Tobin-Hochstadt
cbbd889621
=
can equate values with different types.
...
Closes PR 12804.
2012-06-03 10:50:18 -04:00
Sam Tobin-Hochstadt
865a2cdcbd
Support definitions of keyword functions in Typed Racket.
...
Caveats:
- keyword function definitions do not define static
bindings, thus limiting optimization opportunities
- can't use `define:`, `lambda:`, etc with keywords
- error messages sometimes expose the implementation
- the optimizer skips most of the generated code for
keyword functions definitions (user-level code is
optimized)
2012-06-02 18:22:07 -04:00
Eric Dobson
c2d9f7ed9a
Attach struct info to constructor for polymorphic TR structs.
...
Closes PR 12806
2012-05-31 13:09:26 -04:00