Commit Graph

1067 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
6e489f8464 Fix variance of hash tables and parameters 2010-08-13 11:06:56 -04:00
Sam Tobin-Hochstadt
3359032ad5 Handle structs with special constructors and mutability.
Closes PR 11089.
2010-08-13 11:06:56 -04:00
Sam Tobin-Hochstadt
0c1dfd3c5e Require flat contracts in box/c, hash/c, and vector/c.
Closes PR 11085.
2010-08-13 11:06:56 -04:00
Stevie Strickland
a9f6ea69bf Fix creation of a reversed List type from ListDots substitution. 2010-08-12 17:46:39 -04:00
Vincent St-Amour
201aaa9090 Documented TR's behavior on literals. 2010-08-06 12:21:50 -04:00
Vincent St-Amour
0a45e0e361 More precise type for expt. 2010-08-06 11:09:04 -04:00
Vincent St-Amour
c653a8e655 Changed optimization order for reals in complex operations.
Made generated names more informative and updated tests accordingly.
2010-08-05 16:43:36 -04:00
Vincent St-Amour
500685c0f2 Fixed source location for for:. 2010-08-05 09:04:25 -04:00
Vincent St-Amour
b18f2353ca Generalize naturals to integers to minimize annotations on mutated variables. 2010-08-05 09:04:25 -04:00
Vincent St-Amour
4cb7491309 Added opt-lambda:. 2010-08-05 09:04:25 -04:00
Vincent St-Amour
0b3c637f5d Added another tracing option to TR. 2010-08-05 09:04:24 -04:00
Vincent St-Amour
416591b355 Fixed parsing of keyword types. 2010-08-05 09:04:24 -04:00
Vincent St-Amour
1105e70b30 Unbox literals at expansion time. 2010-08-05 09:04:23 -04:00
Vincent St-Amour
bdf84f371d Optimize coercion of integer literals. 2010-08-05 09:04:23 -04:00
Vincent St-Amour
fb31a6556e Added optimization for make-polar 2010-08-05 09:04:22 -04:00
Vincent St-Amour
dbdbaed506 Fixed typechecking of imaginaries. 2010-08-05 09:04:21 -04:00
Vincent St-Amour
5fa6b1c139 Added technical term links to the optimizer documentation. 2010-08-03 14:57:42 -04:00
Vincent St-Amour
bce003fa18 Imaginaries can't be inexact complexes. 2010-08-03 14:51:24 -04:00
Vincent St-Amour
82f976a4d9 Added a link to the optimization guide in the TR reference. 2010-08-02 21:33:31 -04:00
Vincent St-Amour
cb516081c7 Documented the optimizer. 2010-08-02 21:33:30 -04:00
Vincent St-Amour
b47a77dd57 Eliminate user-introduced boxing. 2010-08-02 21:33:30 -04:00
Sam Tobin-Hochstadt
39c2359006 Remove obselete docs.
Add docs for legacy forms.
2010-08-02 17:23:01 -04:00
Sam Tobin-Hochstadt
1ce4040cd2 define-struct:' -> struct:' in docs.
Fix typo.
2010-08-02 16:59:37 -04:00
Sam Tobin-Hochstadt
431ff8d794 Don't treat Error types as potentially non-regular. (Reported by SK) 2010-08-02 15:41:42 -04:00
Vincent St-Amour
c4ba6b6038 Added some reflection functions to Typed Racket. 2010-07-29 19:11:20 -04:00
Vincent St-Amour
27f8279711 Extended use-site analysis to look through trivial rebindings, to support for loops. 2010-07-29 18:29:59 -04:00
Vincent St-Amour
914f142f4f Fixed types of let loop lambdas. 2010-07-29 18:29:59 -04:00
Vincent St-Amour
260de85a6e Make sure that let-bound functions don't escape through a rhs before we change their interface. 2010-07-29 18:29:58 -04:00
Vincent St-Amour
435407b37a Fixed over-generous pattern matching. 2010-07-29 18:29:58 -04:00
Vincent St-Amour
b58461da2d Fixed a bug that caused the let optimizations to choke on TR-introduced code. 2010-07-29 18:29:58 -04:00
Vincent St-Amour
f08456cf07 Extended unboxing of let-bound functions to support let loops. 2010-07-29 18:29:57 -04:00
Vincent St-Amour
855928eb7b Fixed a bug in the complex use-site analysis. 2010-07-29 18:29:57 -04:00
Vincent St-Amour
4633a2a30a Refactoring of the call-site correction code. 2010-07-29 18:29:55 -04:00
Vincent St-Amour
29b9eb389d Changed optimization order, to avoid potential conflicts. 2010-07-29 18:29:55 -04:00
Vincent St-Amour
eed20f7c3a Fix for escaping functions. 2010-07-29 18:29:55 -04:00
Vincent St-Amour
3e9e5560bf Be more aggressive when unboxing let bindings. 2010-07-29 18:29:54 -04:00
Vincent St-Amour
defe96a148 Fixed a bug with functions with unboxed complex and non-complex args. 2010-07-29 18:29:53 -04:00
Vincent St-Amour
9d471df8b9 Added unboxed arguments to let-bound functions. 2010-07-29 18:29:53 -04:00
Vincent St-Amour
1d758ee782 Added an option to see the result of the optimizer before compiling. 2010-07-29 18:29:53 -04:00
Vincent St-Amour
27f0e50d53 Register type of loop lambdas generated by the for macros. 2010-07-29 18:29:52 -04:00
Vincent St-Amour
b0d299d1b8 Added unboxed letrec-syntaxes+values bindings. 2010-07-29 18:29:52 -04:00
Vincent St-Amour
8dc23d43eb Added unboxed letrec bindings. 2010-07-29 18:29:52 -04:00
Vincent St-Amour
4803eafa67 Fixed a bug with exact complexes. 2010-07-25 22:15:18 -04:00
Vincent St-Amour
1b998f25e5 Fix to tolerate complexes of unknown exactness inside inexact-complex
expressions.
2010-07-25 20:13:36 -04:00
Vincent St-Amour
80b6ef7dd1 The optimizer now ignores code that is inside a with-handlers form,
since it would be typechecked in an unusual manner.
2010-07-23 18:52:47 -04:00
Vincent St-Amour
5892ef2fad Fixed unboxing of let bindings. 2010-07-23 18:52:46 -04:00
Vincent St-Amour
12ce9abda6 Fixed typo. 2010-07-23 18:52:45 -04:00
Vincent St-Amour
82b064a520 The optimizer now ignores expressions ignored by the typechecker. 2010-07-23 18:52:44 -04:00
Vincent St-Amour
83987fffac let bindings of inexact-complex numbers can be replaced by bindings
for each of their components.

This allows unboxing of intermediate results that are bound and only
ever used in positions where they would be unboxed.
2010-07-23 18:52:42 -04:00
Vincent St-Amour
063b87697a Optimized extracting parts of inexact complexes. 2010-07-23 18:52:42 -04:00