Eric Dobson
8ea7502c12
More cleanup of struct type registration.
2012-09-27 16:22:21 -04:00
Eric Dobson
2a8512ed72
Removed unused fields in 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
Eric Dobson
115345300d
Allow contract definitions created from expressions to be fixed up.
2012-08-20 12:39:40 -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
Eric Dobson
fdd2966cf4
Removed deprecated printf/log.
2012-08-14 16:04:48 -04:00
Eric Dobson
2e3965e777
Make simple substitution happen all at once.
...
Closes pr12920.
2012-08-14 14:44:55 -04:00
Eric Dobson
5f0717d278
Make disabling the custom printer work.
2012-08-14 09:45:01 -04:00
Sam Tobin-Hochstadt
aa6ed4d736
Don't generate rest specification for ->* when not needed.
2012-08-10 11:00:02 -04:00
Eric Dobson
3876dfa841
Make generated flat contracts actually flat.
2012-08-10 10:39:44 -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
e6d4fb2ee2
Fill hole in recursive type soundness. Fixes PR 11372.
2012-08-06 12:31:07 -04:00
Eric Dobson
9f453676d1
Add support for creating contracts of heterogenous vectors
2012-08-06 12:31:07 -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
1dca82784b
Handle arbitrary recursive contracts generated from Rec
types.
2012-07-14 22:45:08 -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
546c12cf2a
Parse (Struct t)
as StructTop.
...
Close PR 12903.
2012-07-14 19:20:51 -04:00
Sam Tobin-Hochstadt
683f8e4e4b
Use promises for current-type-names
.
2012-07-13 17:10:50 -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
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
ccb724155a
scheme -> racket
2012-06-25 13:39:07 -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
Sam Tobin-Hochstadt
1abb027fc7
Fix Typed Racket build with contracts enabled.
2012-04-06 10:24:49 -04:00
Eli Barzilay
c007c345f9
A bunch of more typos like the ones in David's commit.
2012-02-21 14:21:43 -05:00
Vincent St-Amour
240773ae6f
single-flonum? is not provided by TR's internals anymore.
2012-02-18 23:23:59 -05:00
Vincent St-Amour
ef2acecb96
Forbid non-productive recursive types.
2011-09-23 14:40:17 -04:00
Vincent St-Amour
40456b4fd8
Add a field to base types to indicate if they are numeric types or not.
2011-09-13 11:22:24 -04: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