Commit Graph

131 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
c8380b94e5 Remove testing code, and failed experiment. 2012-06-01 20:08:37 -04:00
Sam Tobin-Hochstadt
a377c42357 Use the new syntax properties for checking keyword functions.
Previously, some hacks were used to obtain the internal
identifiers that implemented keyword functions directly, and
give them types at startup.  Now, the primary "function"
(eg, `sort`) is given a type, and when used, the residual
syntax properties are used to find `sort` from the real
functions, and then the type of the real function is computed
from the type of `sort`.

Some creativity was required in the types of functions which
take optional arguments that when present, alter the return type,
such as `regexp-match*` and `file->list`.
2012-06-01 18:37:02 -04:00
Eric Dobson
262ecc3da9 Redefine Boolean as (U #t #f).
Closes PR 12815.
2012-06-01 10:26:10 -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
Eric Dobson
735b84b083 Add support for multiple provides of the same identifier in TR.
Closes PR 12807.
2012-05-31 10:02:03 -04:00
Vincent St-Amour
4ad700021b Improve some Performance Report messages. 2012-05-30 16:25:33 -04:00
Vincent St-Amour
186b463217 Fix NaN and inf handling in flonum specific op types. 2012-05-25 17:15:22 -04:00
Vincent St-Amour
ebcc6d211a Fix handling of NaN and infinities.
Most of these were found through random testing.
2012-05-25 17:15:22 -04:00
Vincent St-Amour
b6a7a0c505 Add reminder that unsafe-flexpt is currently the same as flexpt. 2012-05-25 17:15:22 -04:00
Eli Barzilay
6318df82e5 Drop the now-redundant " " argument from existing uses of `string-join'. 2012-05-24 10:40:20 -04:00
Asumu Takikawa
abf9223203 TR: Fix type-checking of hash literals. 2012-05-23 15:49:38 -04:00
Vincent St-Amour
e786149434 More precise type for flexpt. 2012-05-08 11:42:21 -04:00
Vincent St-Amour
95c2115799 Fix prims.rkt's type->contract to accept keyword arguments.
Necessary when some prims are used at the top-level.
2012-05-08 11:16:27 -04:00
Matthew Flatt
9a41129c69 racket/flonum: add `flexpt' 2012-05-07 20:41:14 -06:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Asumu Takikawa
f4fb628934 Changing new to (eventually) concretize interface contract methods.
* No-op for now, but will later do more work.
 * Fix up Typed Racket to handle the new do-make-object.
2012-05-04 17:24:55 -04:00
Stevie Strickland
b2bfbad240 Add special typechecking rule for expansion of (quote-module-name). 2012-05-03 19:38:47 -04:00
Asumu Takikawa
4651ccc0ad Fix a TR issue with syntax-local-lift-expression 2012-05-03 19:36:32 -04:00
Vincent St-Amour
376b31cf28 Use icons to distinguish optimizations from missed optimizations. 2012-05-02 17:54:29 -04:00
Vincent St-Amour
d04a1be7ea Add lines to separate popup entries. 2012-05-02 17:48:57 -04:00
Vincent St-Amour
a62444fa3e Optimize integers used as sequences. 2012-05-02 15:14:37 -04:00
Vincent St-Amour
8cbd26899f Include both float zeroes in Non-Negative and Non-Positive types.
Closes PR12706.
2012-04-16 17:51:04 -04:00
Vincent St-Amour
f3bbe1914d Improve type for expt. 2012-04-08 13:08:17 -04:00
Sam Tobin-Hochstadt
1abb027fc7 Fix Typed Racket build with contracts enabled. 2012-04-06 10:24:49 -04:00
Vincent St-Amour
e26201b4f6 Fix type of * with no arguments.
Closes PR 12679.
2012-04-05 19:18:20 -04:00
Vincent St-Amour
69899c33fc Fix type of expt.
Closes PR 12660.
2012-03-29 15:39:24 -04:00
Vincent St-Amour
054f4d9b56 Fix optimization of first, rest, etc. 2012-03-29 15:39:24 -04:00
Sam Tobin-Hochstadt
2eeff9d1fc Revise `Path-String' wording. Thanks Robby. 2012-03-27 12:27:30 -04:00
Sam Tobin-Hochstadt
8968979422 Document relation between Path-String' and path-string?'. 2012-03-27 10:35:37 -04:00
Sam Tobin-Hochstadt
a39001911c Improve filter for `path-string?'. 2012-03-24 16:04:08 -04:00
Sam Tobin-Hochstadt
56120d9697 Fix types for regexp-match*' and regexp-match-positions*'.
Note that the keyword arguments themselves are not yet typed.
2012-03-19 15:59:34 -04:00
Matthew Flatt
a81f7f289a fix typo? 2012-03-09 10:52:29 -07:00
Robby Findler
a4b721ef3a make some private methods actually be private methods (instead of fields) 2012-03-09 10:23:38 -06:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Vincent St-Amour
4a8f447dae Remove unstable/port.
`port->list' does all it can do.
2012-02-27 22:03:39 -05:00
Vincent St-Amour
b323acb999 Only check chaining for missed optimizations. 2012-02-27 13:40:30 -05:00
Sam Tobin-Hochstadt
678941ce5a Pass temporary value for Un' along in recursive call in substitute'.
Closes PR 12600.
2012-02-24 20:25:53 -05:00
Eli Barzilay
c007c345f9 A bunch of more typos like the ones in David's commit. 2012-02-21 14:21:43 -05:00
Sam Tobin-Hochstadt
b4af99babb Fix types of numerics etc with expected type. 2012-02-20 18:45:33 -05:00
Sam Tobin-Hochstadt
a8bdb9d6ce Speed up and improve tc-literal. Now uses expected types more, and more sensibly.
Closes PR 12586.
2012-02-20 15:09:51 -05:00
Sam Tobin-Hochstadt
74c9265d66 Improve restrict, and allow caller to control what type is returned for failure. 2012-02-20 15:09:51 -05:00
Sam Tobin-Hochstadt
99f01f5260 Fix overlap with sequences. 2012-02-20 15:09:51 -05:00
Vincent St-Amour
c7234772a4 Support relative path requires in performance report. 2012-02-20 14:02:07 -05:00
Vincent St-Amour
e71fa0be88 Add typed for missing finum/flonum conversions. 2012-02-18 23:38:32 -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
84e2880715 Move post-processing of missed optimization inside Performance Report. 2012-02-14 18:20:34 -05:00
Sam Tobin-Hochstadt
d0fbe825e6 Parameters can overlap with procedure types.
Closes PR 11993.
2012-02-12 14:30:36 -05:00
Sam Tobin-Hochstadt
4d21ab1019 Make inference understand the relationship between Vector' and Vectorof'.
Closes PR 12495.
2012-02-10 17:39:41 -05:00
Vincent St-Amour
593e4a4f1d Provide require/typed/provide and require-typed-struct/provide from TR. 2012-02-10 11:30:20 -05:00
Vincent St-Amour
ddb1982e01 Emit optimization logs as we optimize, instead of accumulating them. 2012-02-10 11:30:20 -05:00