Commit Graph

16 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
eed93825ab Track mutable variables across modules. 2012-08-31 17:45:11 -04:00
Eric Dobson
ac493a6f44 Replaced infer-dummy with lazy-require. 2012-08-14 16:04:51 -04:00
Eric Dobson
5f0717d278 Make disabling the custom printer work. 2012-08-14 09:45:01 -04:00
Eric Dobson
9ed360bb5e Removed convenience.rkt from typed racket. 2012-08-07 15:50:50 -04:00
Sam Tobin-Hochstadt
22904ef43e Use lazy instead of delay, as recommended by Eli. 2012-07-17 07:11:23 -04:00
Sam Tobin-Hochstadt
683f8e4e4b Use promises for current-type-names. 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
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
a05acfee4c Split out some small utilities to prepare to reduce dependencies. 2012-06-25 14:10:18 -04:00
Vincent St-Amour
da897a2f85 Disable debugging printing. 2012-06-16 18:28:01 -04:00
Sam Tobin-Hochstadt
39e014bc55 Handle submodules in Typed Racket. 2012-06-16 22:08:06 +08: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
Ryan Culpepper
e086d237cd moved unstable/mutated-vars back to typed-racket 2011-12-18 13:57:49 -07:00
Sam Tobin-Hochstadt
adb6b79620 Filesystem errors are not internal typed racket errors. 2011-12-10 17:28:34 -05:00
Sam Tobin-Hochstadt
f9b0f0ce73 Move environment initialization after local expansion in Typed Racket.
This means that syntax errors caught by `local-expand' are reported sooner, but shouldn't change other timing results.
2011-09-12 11:52:26 -04:00
Sam Tobin-Hochstadt
d2e1cc02dc Move typed-scheme to typed-racket collection.
Compatibilty typed-scheme collection left.
2011-09-03 20:49:39 -04:00