Commit Graph

79 Commits

Author SHA1 Message Date
Vincent St-Amour
db6c2e7737 Update types of string-join and add-between. 2012-06-27 11:39:15 -04:00
Sam Tobin-Hochstadt
88ff5fee69 Minor refactorings.
- Remove tracing requires.
 - Use lists instead of sets in a few environments.
 - Small cleanups.
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
ccb724155a scheme -> racket 2012-06-25 13:39:07 -04:00
Vincent St-Amour
972df7c89e Add #:unless to the for: macros. 2012-06-25 13:38:51 -04:00
Vincent St-Amour
b1ad108759 Update type of string-join for its new keyword arguments.
Closes PR12866.
2012-06-25 13:05:46 -04:00
Vincent St-Amour
ee142047f8 Add type for range, and extend in-range's. 2012-06-22 17:53:43 -04:00
Vincent St-Amour
24b6ecf2a6 Extend time-apply to work with procedures with more than 2 arguments. 2012-06-17 23:04:47 -04:00
Sam Tobin-Hochstadt
39e014bc55 Handle submodules in Typed Racket. 2012-06-16 22:08:06 +08:00
Asumu Takikawa
ab0d3d6492 Fix TR optimizer test
(round to avoid FPU sensitivity)
2012-06-14 18:22:42 -04:00
Vincent St-Amour
c4613cf9ab Unbox exp on complex numbers. 2012-06-14 17:17:03 -04:00
Vincent St-Amour
c4743724cd Restore testing of sqrt and log. 2012-06-09 22:07:43 -04:00
Neil Toronto
8f840bd07b 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
2012-06-09 17:46:04 -06:00
Vincent St-Amour
0b7eaf56ca Fix generation of random floats in TR random testing. 2012-06-06 18:26:51 -04:00
Vincent St-Amour
3e9b527bd0 Fix comment. 2012-06-06 18:26:51 -04:00
Neil Toronto
a713ca8a8b 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
2012-06-05 22:40:44 -06:00
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