Sam Tobin-Hochstadt
2b9912ea9f
Repair failing test case (wrong expected value).
2012-06-04 17:02:19 -04:00
Sam Tobin-Hochstadt
cbbd889621
=
can equate values with different types.
...
Closes PR 12804.
2012-06-03 10:50:18 -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
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
3062efe47f
Reduce random testing attemps to avoid DrDr timeouts.
2012-05-26 11:06:29 -04:00
Vincent St-Amour
142158c0cb
Add random testing script for float types.
2012-05-25 17:15:22 -04:00
Vincent St-Amour
186b463217
Fix NaN and inf handling in flonum specific op types.
2012-05-25 17:15:22 -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
a2a60cb924
Fix TR test for new contract error message format.
2012-05-02 15:14:39 -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
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
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
Eli Barzilay
43ef402274
Don't compile test files.
...
(Didn't touch the tiny "test-docs-complete" tests.)
2012-03-13 10:29:13 -04:00
Eli Barzilay
f7c67b49a4
Big newline at EOF scan.
2012-02-29 00:28:11 -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
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
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
aa85692436
Clean up compiled test files to force recompiling.
2012-02-16 11:45:51 -05:00
Vincent St-Amour
eca43387f6
Fix tests.
2012-02-14 18:20:35 -05:00
Vincent St-Amour
37ba3672d4
Wait for compile-time logs to be processed before running optimizer tests.
...
This should solve the log ordering problems that caused non-deterministic
test failures during the nightly builds.
2012-02-14 18:20:35 -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
03ebf0d3de
Update tests for new log format.
2012-02-10 11:30:20 -05:00
Vincent St-Amour
1b6cf730c3
Fix type of expt.
...
Closes PR 12526.
2012-02-01 16:50:40 -05:00
Vincent St-Amour
87887b7a18
Optimize n-ary fixnum comparisons (correctly).
2012-02-01 16:50:39 -05:00
Vincent St-Amour
e3be061171
Only optimize fixnum comparisons in the binary case.
...
Closes PR 12479.
2012-02-01 16:50:39 -05:00
Vincent St-Amour
5e7d67ffa7
Include more information in TR optimizer test failures.
2012-01-31 15:43:56 -05:00
Sam Tobin-Hochstadt
c16e48a083
Fix internal constructor name for struct:' so that
struct-out' works.
...
Closes PR 12447
Related to PR 12516
2012-01-28 09:47:15 -05:00
Sam Tobin-Hochstadt
f70c1b213f
`sort' now infers properly -- test passes.
...
Please merge to release.
2012-01-24 05:19:01 -05:00
Vincent St-Amour
ca11c2e4fa
Add an alternate name for case->.
2012-01-13 11:28:36 -05:00
Vincent St-Amour
87a53159dd
Union types instead of clobbering them in the type table.
...
This fixes a bug where only the last branch of a case-> type would get stored.
2012-01-13 11:28:36 -05:00
Ryan Culpepper
e086d237cd
moved unstable/mutated-vars back to typed-racket
2011-12-18 13:57:49 -07:00
Sam Tobin-Hochstadt
7802eda605
Better types for fourth' --
tenth'.
2011-12-14 19:06:05 -05:00
Sam Tobin-Hochstadt
eb38783750
Fix type of `remove-duplicates'.
...
Also fix type inference for functions with mandatory keyword arguments in other cases.
Related to PR 12434.
2011-12-10 17:28:34 -05:00
Sam Tobin-Hochstadt
f23baef8aa
Opaque types may overlap with anything.
...
Closes PR 12434.
2011-12-09 18:11:51 -05:00
Vincent St-Amour
b5d393d939
Add TR support for gcd and lcm on rationals.
2011-12-08 17:13:50 -05:00
Sam Tobin-Hochstadt
a497300fbe
Drop some trivially-pure code.
2011-12-06 17:20:32 -05:00
Vincent St-Amour
8509b81f47
Allow integers as sequences in TR.
2011-11-30 17:54:27 -05:00
Vincent St-Amour
7ab62d109f
Fix optimization of multi-argument float comparisons.
2011-11-22 17:52:50 -05:00
Vincent St-Amour
0a3a71fbbc
Refine types of integer-bytes->integer' and
arithmetic-shift'.
2011-11-15 15:31:07 -05:00