Commit Graph

70 Commits

Author SHA1 Message Date
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 lambdas.
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