Commit Graph

1527 Commits

Author SHA1 Message Date
Vincent St-Amour
3ba93cb165 Add a heuristic for case-lambda type simplification.
Makes simplification _much_ faster for types that have a single most
general case. That includes most numeric functions.
2011-07-22 16:55:21 -04:00
Vincent St-Amour
86490943a3 Remove stale comment. 2011-07-22 16:46:10 -04:00
Vincent St-Amour
02b76d7741 Omit a redundant pass. 2011-07-22 16:40:11 -04:00
Vincent St-Amour
84931448b5 Flip order of type simplification passes. 2011-07-22 16:38:15 -04:00
Vincent St-Amour
5b6d0ae167 Refactoring. 2011-07-22 16:22:36 -04:00
Vincent St-Amour
f7be12d313 Typecheck pregexp literals correctly. 2011-07-22 16:22:36 -04:00
Vincent St-Amour
27cd6aca6f Use set coverage for union printing. 2011-07-22 16:22:36 -04:00
Vincent St-Amour
10e79ba2ec Clean up printing of unions that involve numeric types. 2011-07-22 11:41:27 -04:00
Vincent St-Amour
96eee2b317 Refactor. 2011-07-22 11:41:27 -04:00
Vincent St-Amour
19ce4d44a5 Don't block DrRacket if expansion exits abnormally. 2011-07-21 17:14:05 -04:00
Vincent St-Amour
58fbd8ba75 Report errors during expansion in the interactions window, not as internal errors. 2011-07-21 17:06:04 -04:00
Vincent St-Amour
b305ea9c62 Use DrRacket's program-expansion mechanisms instead of directly calling expand. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
860feb30ae Unitize performance report, to get access to some DrRacket internals. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
30146b7b8c Expose more of the TR opt logging. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
fe58048844 Remove stale comment. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
fae966146f Handle desired types being outside of the function's range. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
59027c6b40 Moved handling of empty pruned case-lambdas. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
c0d0211ebb Add a function to query how to get a given return type from a function. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
51b98138d5 Fix :print-type to use tc-setup. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
a71db7c15c Document how to start a TR REPL from the command line. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
4735ad3523 Refactoring. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
70e1d63bed Add a function to print whole types.
With this, it's possible to get more information than the simplified
types shown at the REPL. The types are as unwieldy as ever, but you
have to ask for them explicitly.

This is not an adequate long-term solution, and will be replaced by a
"Type Explorer" tool.
2011-07-21 17:06:02 -04:00
Vincent St-Amour
1a66f60eb4 Don't print full function intersection types at the REPL, if possible. 2011-07-21 17:06:02 -04:00
Sam Tobin-Hochstadt
7a763a2da8 Fix types of kernel struct constructors to include parent fields.
Merge to 5.1.2.
2011-07-20 15:19:53 -04:00
Sam Tobin-Hochstadt
8a608ed840 Conditionalize use of contract. 2011-07-19 16:47:13 -04:00
Eric Dobson
e07ce478af Switched name field in struct type to identifier. Closes PR 11728.
Closes PR 11998. Closes PR11859.
2011-07-19 16:47:13 -04:00
Eric Dobson
81b1178a17 Fixed TR contracts to be more/less strict 2011-07-19 16:47:13 -04:00
Eric Dobson
a7f0f7591d Fixed types for path operations. Closes PR12057. 2011-07-19 16:47:13 -04:00
Vincent St-Amour
29882d8fa1 Remove redundant precision-loss messages. 2011-07-19 15:19:17 -04:00
Sam Tobin-Hochstadt
42b79dd489 Fix Typed Racket handling of exception handling with multiple return values. 2011-07-18 17:42:28 -04:00
Sam Tobin-Hochstadt
23c47728c5 Strengthen contracts to require syntax lists. 2011-07-18 17:41:17 -04:00
Sam Tobin-Hochstadt
25cdd87405 Fix internal error message. 2011-07-18 17:38:40 -04:00
Vincent St-Amour
4c5bb1ddaf Change a TR doc example to take two arguments.
Otherwise, the docs don't have any examples for the syntax of
multi-argument functions that doesn't involve polydots.
2011-07-18 11:53:39 -04:00
Vincent St-Amour
ce32003de2 Make Performance Report work on unsaved editors. 2011-07-15 15:04:58 -04:00
Vincent St-Amour
e07de3947b Have Performance Report work on multi-file programs. 2011-07-15 15:04:58 -04:00
Vincent St-Amour
47f0a36553 Fix when there are no reports in a file. 2011-07-15 15:04:58 -04:00
Vincent St-Amour
f632aa52dd Document Performance Report. 2011-07-15 15:04:58 -04:00
Vincent St-Amour
db9d51fef7 Change the structure of the "extra precision" missed optimizations.
Avoids reports that are almost duplicates.
2011-07-15 15:04:58 -04:00
Vincent St-Amour
c1e7d07586 Fix merging of report-entries. 2011-07-15 15:04:58 -04:00
Vincent St-Amour
93e1e6d710 Fix display of syntax. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
218fdcceb4 Fix highlight removal. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
76d91b4e3d Don't highlight irritants in the main editor. Leads to hard to understand red blobs. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
be67f304a8 Update messages. Irritants are now highlighted, not circled. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
f788f8c4c7 Popup formatting. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
72975a4e1c Use rectangle highlighting instead of ellipses. Works better across multiple lines. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
d7cb6fcc75 Separate each entry into multiple editors, for finer-grained control. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
ac3b487a9f First stab at highlighting irritants in the popup. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
2b9d035045 Add comments. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
baab138252 Fix highlight range and refactor. 2011-07-15 15:04:57 -04:00
Vincent St-Amour
6dda3c3e03 Display code in monospace. 2011-07-15 15:04:56 -04:00