Commit Graph

713 Commits

Author SHA1 Message Date
Vincent St-Amour
a8d6407857 Restore testing of sqrt and log.
original commit: c4743724cda112cf051d287764aa21f1e7469665
2012-06-09 22:07:43 -04:00
Neil Toronto
7f9aef2321 Fixed erroneously imprecise type for +nan.f literal (now Single-Flonum-Nan)
Types for nan?, infinite?, pi.f, exact-round, exact-floor, exact-ceiling,
exact-truncate, degrees->radians, radians->degrees

Extended tc-random-testing: generates exact integers and rationals now

Fixed types of sinh, cosh and tanh to account for underflow and NaNs

original commit: 8f840bd07b28ac9bff22c2fa728fb16a9857cdb4
2012-06-09 17:46:04 -06:00
Vincent St-Amour
4b7740ce00 Fix generation of random floats in TR random testing.
original commit: 0b7eaf56cac535fcbc3a814516fc9960ee3dc18f
2012-06-06 18:26:51 -04:00
Vincent St-Amour
1e4b2b26aa Fix comment.
original commit: 3e9b527bd03e054c01ecc1242f86c89949c0497b
2012-06-06 18:26:51 -04:00
Neil Toronto
2588094087 Added nan?, infinite?, degrees->radians, radians->degrees, exact-round, exact-floor, exact-ceiling, exact-truncate to racket/math
Altered TR's random arithmetic testing to generate single-flonums and very small flonums; fails now because of erroneous types

Fixes to sgn, sinh, cosh, and tanh:
 * preserve single-flonum-ness
 * correct zero sign (-0.0) for negative return values that are smaller than epsilon
 * correct behavior with NaN and infinite inputs

original commit: a713ca8a8b6c7aed987e80d0621484e68bc3c6f5
2012-06-05 22:40:44 -06:00
Sam Tobin-Hochstadt
a93d6734ac Repair failing test case (wrong expected value).
original commit: 2b9912ea9f0b41d30febde846f46901641410c7c
2012-06-04 17:02:19 -04:00
Sam Tobin-Hochstadt
b4a0b7e8b2 = can equate values with different types.
Closes PR 12804.

original commit: cbbd889621d1376ac5bd17080daa6884b88afffb
2012-06-03 10:50:18 -04:00
Sam Tobin-Hochstadt
0a13467456 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)

original commit: 865a2cdcbd3e4eea748e57859c846c0f7ffd61ad
2012-06-02 18:22:07 -04:00
Sam Tobin-Hochstadt
b12f0ba53c 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`.

original commit: a377c4235743296e337db64341c8518fc7dce965
2012-06-01 18:37:02 -04:00
Eric Dobson
0d84d3cbc4 Redefine Boolean as (U #t #f).
Closes PR 12815.

original commit: 262ecc3da9e20a3f3bc20e16c93f9f1f45f0deda
2012-06-01 10:26:10 -04:00
Eric Dobson
ad27327bae Attach struct info to constructor for polymorphic TR structs.
Closes PR 12806

original commit: c2d9f7ed9a3839b6ec36c21e984600c812b90414
2012-05-31 13:09:26 -04:00
Eric Dobson
c07bd9c067 Add support for multiple provides of the same identifier in TR.
Closes PR 12807.

original commit: 735b84b08310c44933cd5235719cb7f4a647a1c6
2012-05-31 10:02:03 -04:00
Vincent St-Amour
2b2592d811 Reduce random testing attemps to avoid DrDr timeouts.
original commit: 3062efe47f3f4d72b30dd7bea280bdf7fd06c2d1
2012-05-26 11:06:29 -04:00
Vincent St-Amour
c01818f6b2 Add random testing script for float types.
original commit: 142158c0cbd325891be6f039651673805c461077
2012-05-25 17:15:22 -04:00
Vincent St-Amour
8809e0d75c Fix NaN and inf handling in flonum specific op types.
original commit: 186b4632175c516e1167191dd8bf379a813b959c
2012-05-25 17:15:22 -04:00
Asumu Takikawa
ece68f93e3 TR: Fix type-checking of hash literals.
original commit: abf9223203d373840adb4bba0495dac7aa422517
2012-05-23 15:49:38 -04:00
Vincent St-Amour
8fdb647233 More precise type for flexpt.
original commit: e786149434633b802f1c880799ad5d27b2361112
2012-05-08 11:42:21 -04:00
Vincent St-Amour
56acc3592a Fix TR test for new contract error message format.
original commit: a2a60cb92406ec5319ea3323f30147992bd71b84
2012-05-02 15:14:39 -04:00
Vincent St-Amour
4522587510 Optimize integers used as sequences.
original commit: a62444fa3e218aa7675c546051badfd6b7b9ae13
2012-05-02 15:14:37 -04:00
Vincent St-Amour
8b65ec4e4b Include both float zeroes in Non-Negative and Non-Positive types.
Closes PR12706.

original commit: 8cbd26899f59773b7f574a79afca663e53ca02c9
2012-04-16 17:51:04 -04:00
Vincent St-Amour
be06428db5 Fix type of * with no arguments.
Closes PR 12679.

original commit: e26201b4f6c92d05264cbd651ec170e2547a516a
2012-04-05 19:18:20 -04:00
Vincent St-Amour
6d3c958a32 Fix type of expt.
Closes PR 12660.

original commit: 69899c33fc8cf6a7291c2398ee0dbe59dcb2738b
2012-03-29 15:39:24 -04:00
Vincent St-Amour
a76bd4d52d Fix optimization of first, rest, etc.
original commit: 054f4d9b563ab40c22523e6b115e1a35822b3d3d
2012-03-29 15:39:24 -04:00
Sam Tobin-Hochstadt
177ecf23ca Improve filter for `path-string?'.
original commit: a39001911c6b2e601e2290d198b92ce7e54bd91d
2012-03-24 16:04:08 -04:00
Sam Tobin-Hochstadt
7d25bb6ba5 Fix types for regexp-match*' and regexp-match-positions*'.
Note that the keyword arguments themselves are not yet typed.

original commit: 56120d9697756be22b19ec346a0c3d14d3238ad6
2012-03-19 15:59:34 -04:00
Eli Barzilay
d33be1917d Remove typed versions of the cgi exceptions.
original commit: f3a21c6aba515db8f5dc3bf320a7c0ac6ba8d1fc
2012-03-16 03:45:35 -04:00
Eli Barzilay
4d7c5295ff Big newline at EOF scan.
original commit: f7c67b49a49a723534454ce561cd060e63889480
2012-02-29 00:28:11 -05:00
Sam Tobin-Hochstadt
e9c224d095 Pass temporary value for Un' along in recursive call in substitute'.
Closes PR 12600.

original commit: 678941ce5aaf52a9ca62ba6270a89c892b85b516
2012-02-24 20:25:53 -05:00
Eli Barzilay
be78fbfeb2 A bunch of more typos like the ones in David's commit.
original commit: c007c345f9e57e8cd17373a8caf51a00f7d303b2
2012-02-21 14:21:43 -05:00
Sam Tobin-Hochstadt
c681b3c91f Speed up and improve tc-literal. Now uses expected types more, and more sensibly.
Closes PR 12586.

original commit: a8bdb9d6ce5fb03a40f8d1a4caa0cf6d8c392389
2012-02-20 15:09:51 -05:00
Vincent St-Amour
26311cc2ac single-flonum? is not provided by TR's internals anymore.
original commit: 240773ae6f6b998d6f57f423c7f4c2e57bf70fdb
2012-02-18 23:23:59 -05:00
Vincent St-Amour
a89972183a Clean up compiled test files to force recompiling.
original commit: aa856924367bb7839f7522258d9b119215c53987
2012-02-16 11:45:51 -05:00
Vincent St-Amour
9eee232cd2 Fix tests.
original commit: eca43387f60b3ecb33aa22ff011eb76d2c1a7cb8
2012-02-14 18:20:35 -05:00
Vincent St-Amour
44dac18547 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.

original commit: 37ba3672d4fe6195dc5905ceea9dbea4842af41b
2012-02-14 18:20:35 -05:00
Vincent St-Amour
eea94a98e6 Move post-processing of missed optimization inside Performance Report.
original commit: 84e2880715454a9ec880866d0cd3db4b95f80382
2012-02-14 18:20:34 -05:00
Sam Tobin-Hochstadt
ca2b4eaa42 Parameters can overlap with procedure types.
Closes PR 11993.

original commit: d0fbe825e6d80e925a2d94412a701366e5844fcf
2012-02-12 14:30:36 -05:00
Sam Tobin-Hochstadt
be4b0a9158 Make inference understand the relationship between Vector' and Vectorof'.
Closes PR 12495.

original commit: 4d21ab10194df181e697810bdbf303f2de4e8ca7
2012-02-10 17:39:41 -05:00
Vincent St-Amour
7c863cc080 Update tests for new log format.
original commit: 03ebf0d3dedf8498fe149e86d7503b805fcadeec
2012-02-10 11:30:20 -05:00
Vincent St-Amour
b0afc358f3 Fix type of expt.
Closes PR 12526.

original commit: 1b6cf730c3ea45f4b76b3b034eb3baf578e9fb7c
2012-02-01 16:50:40 -05:00
Vincent St-Amour
ddf090781a Optimize n-ary fixnum comparisons (correctly).
original commit: 87887b7a18eab764bba8bcc61b605bd90f4b57dc
2012-02-01 16:50:39 -05:00
Vincent St-Amour
ca115092ff Only optimize fixnum comparisons in the binary case.
Closes PR 12479.

original commit: e3be06117116bb622a410f44ee5e06f8c3f4f713
2012-02-01 16:50:39 -05:00
Vincent St-Amour
f43114c41f Include more information in TR optimizer test failures.
original commit: 5e7d67ffa7013dffabb3a3fa20142ae359c34063
2012-01-31 15:43:56 -05:00
Sam Tobin-Hochstadt
2051b79030 Fix internal constructor name for struct:' so that struct-out' works.
Closes PR 12447
Related to PR 12516

original commit: c16e48a08316ee464b59d6c6f992a7f31b7726e4
2012-01-28 09:47:15 -05:00
Sam Tobin-Hochstadt
cc3a70f0d2 `sort' now infers properly -- test passes.
Please merge to release.

original commit: f70c1b213ff5861630a5d10a3d38ee3a4cea3156
2012-01-24 05:19:01 -05:00
Vincent St-Amour
07c1349e2a Add an alternate name for case->.
original commit: ca11c2e4fa24979e81e6ea992ac38ba70d841bba
2012-01-13 11:28:36 -05:00
Vincent St-Amour
7d610b014d 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.

original commit: 87a53159dd3d69a6f9bbbe8fef543a966e6015ce
2012-01-13 11:28:36 -05:00
Ryan Culpepper
e800f1b458 moved unstable/mutated-vars back to typed-racket
original commit: e086d237cdd3b10a8f2157d663c1ba9e377b78f7
2011-12-18 13:57:49 -07:00
Sam Tobin-Hochstadt
410ed0526a Better types for fourth' -- tenth'.
original commit: 7802eda6051913dc9bb8fd67f50ec468b9b39d26
2011-12-14 19:06:05 -05:00
Sam Tobin-Hochstadt
08e0fd4b89 Fix type of `remove-duplicates'.
Also fix type inference for functions with mandatory keyword arguments in other cases.
Related to PR 12434.

original commit: eb387837505c29064978202136a9284aae63d308
2011-12-10 17:28:34 -05:00
Sam Tobin-Hochstadt
a03a4f6ea8 Opaque types may overlap with anything.
Closes PR 12434.

original commit: f23baef8aa92c8ba6af0b47a49c843147dff4cfe
2011-12-09 18:11:51 -05:00