Commit Graph

2076 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
5f08e63cb8 Disable unused code.
original commit: 08c3f784766f6bc0957fe482fcc91924952a61fc
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
76f157026a Load environments dynamically in residual code.
original commit: 794bfa50ecf854eb36bb2195c99202cc1a7f879f
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
d6f1c0eb1b Minor refactorings.
- Remove tracing requires.
 - Use lists instead of sets in a few environments.
 - Small cleanups.

original commit: 88ff5fee69ecf58527bb76923f4d4fd91aaa1967
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
19fbb978ef Split out some small utilities to prepare to reduce dependencies.
original commit: a05acfee4c1387a829972db05643375fe3fcebbc
2012-06-25 14:10:18 -04:00
Sam Tobin-Hochstadt
a80b2e0941 scheme -> racket
original commit: ccb724155a99705d7b3c23d9b13358ed2541555f
2012-06-25 13:39:07 -04:00
Vincent St-Amour
ae41d4e362 Add #:unless to the for: macros.
original commit: 972df7c89ed7951eef00af00fd1b9a5bd851206a
2012-06-25 13:38:51 -04:00
Vincent St-Amour
1ca5a51ce2 Update type of string-join for its new keyword arguments.
Closes PR12866.

original commit: b1ad108759d05a85a04f7220bb79e2b70156aaf9
2012-06-25 13:05:46 -04:00
Vincent St-Amour
d398754fef Reconstruct let bindings in the right order when unboxing let.
original commit: a0d55d4ab82bd700a191720edfd5506692a8851a
2012-06-22 17:53:43 -04:00
Vincent St-Amour
d2e69a68dc Add type for range, and extend in-range's.
original commit: ee142047f801da2cac93b681c368921e8f2a2541
2012-06-22 17:53:43 -04:00
Eli Barzilay
dcffc90c3f Random pickiness.
Spaces at EOFs, indentation, etc.

original commit: 7d6e79023cf9872e6f6af2f89961b742c6296f1d
2012-06-22 12:00:48 -04:00
Vincent St-Amour
4b21740591 Recover from any failure when attempting to prune types.
original commit: 4d5bc17f8569a54e1e37501516136637d8405f94
2012-06-17 23:28:50 -04:00
Vincent St-Amour
1477b41df6 Extend time-apply to work with procedures with more than 2 arguments.
original commit: 24b6ecf2a6ea0cd444a38519c210bad669804b0f
2012-06-17 23:04:47 -04:00
Vincent St-Amour
fe7589c807 Fix possible-domains on functions with multiple return values.
original commit: a5f2ca8fb07f92076020053fc6053a5f6808308a
2012-06-17 23:04:47 -04:00
Vincent St-Amour
ac527c5d30 Disable debugging printing.
original commit: da897a2f857e2ff3585ad946a1ca7325ab0ea9c7
2012-06-16 18:28:01 -04:00
Sam Tobin-Hochstadt
9c7c233e9d Handle submodules in Typed Racket.
original commit: 39e014bc55779699cc3a503dd9b7416c9f7d28a6
2012-06-16 22:08:06 +08:00
Sam Tobin-Hochstadt
85926af92d Don't export internal names for define & lambda.
original commit: a929bb21fc044da94bf82a909e1ccb494ec2e917
2012-06-16 22:08:05 +08:00
Asumu Takikawa
3c387528e2 Fix TR optimizer test
(round to avoid FPU sensitivity)

original commit: ab0d3d64926701cf6fab81c4f0c14348ab9c2b97
2012-06-14 18:22:42 -04:00
Vincent St-Amour
66edd8c2ba Unbox exp on complex numbers.
original commit: c4613cf9ab353aa9cb52d50e3aaea467846e18c9
2012-06-14 17:17:03 -04:00
Vincent St-Amour
9d813f495f Fix type of exact->inexact.
Closes PR 12803.

original commit: cff1cd3c6395007facff39e421f043b71cccd1d8
2012-06-12 11:09:20 -04:00
Asumu Takikawa
8369a85392 Fix typo in TR special form docs
original commit: c108fe5c6a855ecd815d1006d27f863c9ad840a7
2012-06-11 17:29:02 -04:00
Vincent St-Amour
90909c1c68 Missed some cases in sqrt.
original commit: 948a4d6184751bacabb44adad39d9fb5aa804988
2012-06-09 22:11:42 -04:00
Vincent St-Amour
a8d6407857 Restore testing of sqrt and log.
original commit: c4743724cda112cf051d287764aa21f1e7469665
2012-06-09 22:07:43 -04:00
Vincent St-Amour
b64696f560 Fix type of fl/ to reflect changes to /.
original commit: 53746ca0a5b5a959bf272ee8a88e8c3c9dbd3e8b
2012-06-09 22:07:03 -04:00
Vincent St-Amour
11b0166100 Subtraction is not commutative.
original commit: 5d26fd10e64d792d033b93faad30245ad1d5090a
2012-06-09 22:04:43 -04:00
Vincent St-Amour
58da9ff90f Fix typechecking of Single-Flonum-Complex literals.
Closes PR12840.

original commit: 442def0b0f87888fe7cb38c40e33df62f3de68e6
2012-06-09 22:00:27 -04:00
Vincent St-Amour
4e9783b436 Be more conservative about returning Float-Complex and others.
original commit: 7191ef5c744fc6ebc95a225913516e075a1bf151
2012-06-09 21:57:01 -04:00
Vincent St-Amour
dcf7827d6b Improve handling of NaN in division.
Closes PR12838.

original commit: f3f5abd1f796ffe5f678e605aa1d8bc7e6e52500
2012-06-09 21:32:37 -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
4b1a1cacd4 Fix type of n-ary * to handle NaN properly.
original commit: 0f346601f45409f29d44d2847a7048e37272057c
2012-06-06 18:26:51 -04:00
Vincent St-Amour
da7663f386 Fix flonum and single-flonum operation types.
Most issues were found with random testing.

original commit: 48f47f33843b21d30a556b16306a6fc1550f6de7
2012-06-06 18:26:51 -04: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
043c510ece Document new TR aliased definitions.
original commit: 42a2ac6026b1f8b048765299ff19db60e6289547
2012-06-04 17:02:18 -04:00
Sam Tobin-Hochstadt
8149914d6b Whitespace fixes.
original commit: 1801efe66afa21797be3a5efe92bc18975dd5a8f
2012-06-03 10:50:18 -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
9e926d2009 Improve type of identity.
Closes PR 12813.

original commit: 8459c22c0106b1dd31531f5dbbfd1ce1e7d65fed
2012-06-02 18:52: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
5106b5672d Remove testing code, and failed experiment.
original commit: c8380b94e54180a3a0e03f618e21192ecca3950f
2012-06-01 20:08:37 -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
55c8f085d1 Improve some Performance Report messages.
original commit: 4ad700021b6194c4903eb8e13052772ca73b86bd
2012-05-30 16:25:33 -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
Vincent St-Amour
7ef2431be4 Fix handling of NaN and infinities.
Most of these were found through random testing.

original commit: ebcc6d211a1108de602470540874681cd6b91443
2012-05-25 17:15:22 -04:00
Vincent St-Amour
0bcd0481a6 Add reminder that unsafe-flexpt is currently the same as flexpt.
original commit: b6a7a0c50582d1199f4246f6cb9606c02b23c556
2012-05-25 17:15:22 -04:00
Eli Barzilay
96d373e278 Drop the now-redundant " " argument from existing uses of `string-join'.
original commit: 6318df82e5f3b717c6e6c221b816232454fb9378
2012-05-24 10:40:20 -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
d2431e07d5 Fix prims.rkt's type->contract to accept keyword arguments.
Necessary when some prims are used at the top-level.

original commit: 95c2115799587caa3ed64d4503a535436bde9116
2012-05-08 11:16:27 -04:00
Matthew Flatt
63e411b474 racket/flonum: add `flexpt'
original commit: 9a41129c69cd18cfe901a26d1bee0ebe45cde1a9
2012-05-07 20:41:14 -06:00
Eli Barzilay
3cd50aade1 A bunch of fprintf' -> eprintf' conversions (and a few related things).
original commit: 17090fca4f19298f01d03fea419edb20f315d040
2012-05-06 12:06:00 -04:00
Asumu Takikawa
ed00546c9a 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.

original commit: f4fb628934dc39b5b48f16cdea168ecd75a22eb5
2012-05-04 17:24:55 -04:00
Stevie Strickland
b173d1f7cc Add special typechecking rule for expansion of (quote-module-name).
original commit: b2bfbad240cdd3cb17b84733f7d6467ee225f48c
2012-05-03 19:38:47 -04:00
Asumu Takikawa
15c7c9f6b7 Fix a TR issue with syntax-local-lift-expression
original commit: 4651ccc0adbc80635d17279b6413f8bce9c52ee9
2012-05-03 19:36:32 -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
db9690f75f Improve type for expt.
original commit: f3bbe1914dc068f84a5a3aa4782156a5360cbde5
2012-04-08 13:08:17 -04:00
Sam Tobin-Hochstadt
0cfa940a0e Fix Typed Racket build with contracts enabled.
original commit: 1abb027fc7fdf238ab0086d9d0f73aa920175431
2012-04-06 10:24:49 -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
afb83b7e91 Revise `Path-String' wording. Thanks Robby.
original commit: 2eeff9d1fccf2469b477923235b70d0a5de45027
2012-03-27 12:27:30 -04:00
Sam Tobin-Hochstadt
9a20db10c5 Document relation between Path-String' and path-string?'.
original commit: 896897942248e0a0587297416f10c176755294e2
2012-03-27 10:35:37 -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
9b3f878948 Fix types of numerics etc with expected type.
original commit: b4af99babbdeece0e1c4fcc0e0d033df368fb957
2012-02-20 18:45:33 -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
Sam Tobin-Hochstadt
4f2353d93f Improve restrict, and allow caller to control what type is returned for failure.
original commit: 74c9265d66a964e82513e1c53d597b6644560f00
2012-02-20 15:09:51 -05:00
Sam Tobin-Hochstadt
4c849a4eda Fix overlap with sequences.
original commit: 99f01f5260388ad019678d9ec4ad1a886fa43356
2012-02-20 15:09:51 -05:00
Vincent St-Amour
2c4fc39937 Add typed for missing finum/flonum conversions.
original commit: e71fa0be88d09221ef0d939a36a30bcdfd1249bd
2012-02-18 23:38:32 -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
7e9caf4eaf Provide require/typed/provide and require-typed-struct/provide from TR.
original commit: 593e4a4f1d4c8bd663d24d45d6c4190c1ce2c86a
2012-02-10 11:30:20 -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
3d5f500a4f Emit optimization logs as we optimize, instead of accumulating them.
original commit: ddb1982e019183bda437092280b6396fd0bbf2b9
2012-02-10 11:30:20 -05:00
Vincent St-Amour
901df4dc84 Don't compute the logs if no-one's reading the logs.
original commit: 4b84e56fa63459d878c3202a63d5919fd723bf35
2012-02-10 11:30:20 -05:00
Vincent St-Amour
8a8daca7b1 Simplify TR log processing and move part of it to Performance Report.
More messages get logged, but if no-one is listening, doesn't matter.

original commit: e134e7cd388678273d9ec5dc092470a9ce0e7d5b
2012-02-10 11:30:20 -05:00
Vincent St-Amour
036338faf0 Fix typo.
original commit: 8080669dd93da572c6ef0933894d20d3ff8d2493
2012-02-10 11:30:20 -05:00
Sam Tobin-Hochstadt
e9d41781f0 Relax type of `filter'.
original commit: 38e7fb5eb09a2e1eeeb776dd8fcd562a96787635
2012-02-09 17:08:48 -05:00
Sam Tobin-Hochstadt
4e9604460a improve types for literal hash tables
original commit: a5c7175e465111bcce3ae51cab14b966f6bc6020
2012-02-09 17:08:48 -05:00
Vincent St-Amour
a7230e3779 Fix printing of types in instantiation error messages.
Closes PR 12507.

original commit: b194916ad6a464c9a8a405c74dd203d7e023fb44
2012-02-02 16:00:16 -05:00
Vincent St-Amour
785df44840 Enable Performance Report in typed/racket/base and typed/scheme/base.
original commit: b73421f812b7faf3efe2644c21d401ff10c69d7a
2012-02-02 16:00:15 -05:00
Sam Tobin-Hochstadt
0460d91edb Fix type of `raise'.
Closes PR 12525.

original commit: 7c1c0c96c0752c7747eb3dba5a30585f8de7ef13
2012-02-01 20:25:05 -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
719c959418 Fix type of `memf' to be more permissive.
original commit: f3e3eb10adbe6c34093fdd0cf82ba7b504f165a0
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
Sam Tobin-Hochstadt
4a8c1ed5d2 Document unicode case->.
original commit: b75e080aee2a576d3900c3e2f4e7a2bbc2903c18
2012-01-13 14:40:48 -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
Vincent St-Amour
64cd60981a Improve documentation the TR numeric tower.
original commit: 076648fecc6688e72585bb1510b116a11946b02b
2012-01-06 13:19:14 -05:00
Vincent St-Amour
818168baf5 Export Negative-Fixnum.
original commit: f50008280ba893273814f509347641bc3662229f
2012-01-06 13:19:14 -05:00
Vincent St-Amour
ce1fa3ce81 Fix log's type for Real inputs.
original commit: 4556ea2992bc1eec218447dc3e834439e728772d
2012-01-06 13:19:14 -05:00
Sam Tobin-Hochstadt
137dff2fee Improve type of `in-range'.
original commit: 81bb8a5ea3c9ab578f0a604262fa325cb1de39dc
2011-12-19 19:41:45 -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
Asumu Takikawa
f805b37f5e Fix doc inconsistency for require/typed.
original commit: 1ec2f9ca82cde1a2285b05537ddeb80a59c70925
2011-12-13 16:54:01 -05:00
Sam Tobin-Hochstadt
ce77196e0b Filesystem errors are not internal typed racket errors.
original commit: adb6b79620f14415650fc15bd3c94517f625a817
2011-12-10 17:28:34 -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
Vincent St-Amour
10d89c8f8f Add TR support for gcd and lcm on rationals.
original commit: b5d393d9393d59a4d31b2f8c4538433b40a3e489
2011-12-08 17:13:50 -05:00
Sam Tobin-Hochstadt
4c8e90b8ac Drop some trivially-pure code.
original commit: a497300fbe2b7fff390cbb3707e23b968b3826a1
2011-12-06 17:20:32 -05:00
Sam Tobin-Hochstadt
109fa43722 Avoid providing internal macro.
original commit: 821ec051d03772dffa54cd676b80290beea77162
2011-12-03 18:46:01 -05:00
Vincent St-Amour
bace1be6d5 Fix for/sum: when summing something other than integers.
original commit: 94175034925dc2aff57cde2ccea6fb465cff6b98
2011-12-02 15:21:14 -05:00
Vincent St-Amour
a68be65d3e Whitespace cleanup.
original commit: 3279ea4b6123e58a7e1dcbae9adea6c5e31d4127
2011-12-02 15:21:14 -05:00
Vincent St-Amour
a4b5d5d935 Allow integers as sequences in TR.
original commit: 8509b81f4701dbaa06f5b113b431768430db5039
2011-11-30 17:54:27 -05:00
Robby Findler
2db9b65576 some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:'
original commit: 458e2c2282adca43aabe3d1e62957389d2fbe798
2011-11-30 06:45:50 -06:00
Vincent St-Amour
a19c809042 Fix optimization of multi-argument float comparisons.
original commit: 7ab62d109fb44c99b84c4b917f028a9d364e5ead
2011-11-22 17:52:50 -05:00
Vincent St-Amour
96c0eb804c Refine types of integer-bytes->integer' and arithmetic-shift'.
original commit: 0a3a71fbbc4fece033d57b41e36f1deb591c1e8d
2011-11-15 15:31:07 -05:00
Sam Tobin-Hochstadt
8e83505012 Move ==' to racket/match'.
original commit: 81dd112f5709b2b603363899e74b140ce91f5122
2011-11-14 11:03:22 -05:00
Sam Tobin-Hochstadt
9d81fc2593 Fix missing argument.
Closes PR 12356.

original commit: 5fe89966fcd7887223d8131e42f4b151de46d799
2011-11-14 11:03:22 -05:00
Sam Tobin-Hochstadt
432b35f0b0 Fix curried function type parsing without ().
original commit: 3caf08da43398438b5f8767233ceb831361e9e98
2011-10-28 15:43:29 -04:00
Sam Tobin-Hochstadt
1c4fed2096 Add `typecheck-fail' form for explicit type errors.
original commit: 706198c0596bb1068f03073bac5198906dbb942a
2011-10-25 12:10:58 -07:00
Sam Tobin-Hochstadt
82e7f9249b Fix wrapping of null' when provided as Any'.
Reported by 'dingfeng' on #racket.
Please merge to 5.2.

original commit: da5b68fd4d944cef981062de5ed6d283a351fd1d
2011-10-21 10:55:57 -04:00
Matthew Flatt
983f943bc4 remove built-in reader and printing support for Honu
This is a backward-incompatible change, but I think it's
unlikely that any code depends on the removed bindings
or reader syntax.

original commit: ec380e34ede09586966de5e18e7e7a32a1838d8e
2011-10-05 09:40:27 -06:00
Ryan Culpepper
580c99635e removed useless requires
original commit: c7f86d276c68b12e87dc46cef4a8e1b95538f88d
2011-09-27 19:28:44 -06:00
Vincent St-Amour
0386141c38 Forbid non-productive recursive types.
original commit: ef2acecb96900e52c08170f81e5e69eaf9737f8d
2011-09-23 14:40:17 -04:00
Matthew Flatt
cd4b331886 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.

original commit: 0197902309c5400d463393829a88282c627dafd2
2011-09-20 13:50:36 -06:00
Sam Tobin-Hochstadt
6504b0856e Two types definitely overlap if they are equal.
Fixes infinite loop in Whalesong compilation.

original commit: c55cceed8c74ac7d8115fab6656e21949a1a33b8
2011-09-16 17:20:31 -04:00
Sam Tobin-Hochstadt
d1e9916c63 Minor comment formatting.
original commit: 2570fae481d2ec4d023ca254f3ea7efe0f7a89ce
2011-09-16 17:20:31 -04:00
Eric Dobson
ac2bd59ac4 Added comments to explain TR's type on subprocess and friends.
original commit: 1f3d68e55e65ec00fbb3f3c74507487604698a16
2011-09-16 17:20:31 -04:00
Eric Dobson
5f7fbd299e Gave subprocess and similar functions more precise types.
original commit: 7fcf28bef2aa0ebeee043b252caac27065bbad65
2011-09-16 17:20:31 -04:00
Eli Barzilay
6321082875 Some selective #:when (not ...)' -> #:unless ...'.
original commit: 623c7493ed2bbf7c89caea877a7b94a5f4c42c73
2011-09-16 10:48:18 -04:00
Vincent St-Amour
2448292eaa Fix type of random to accept any Integer.
original commit: 297cecebcc130551cb6bb1c134834e6ed719f965
2011-09-13 15:42:04 -04:00
Vincent St-Amour
53553c53aa Fix case-lambda type printing.
Closes PR 12188.

original commit: 7e9e50081861d92e1ae239045a2b1bf151742328
2011-09-13 15:42:04 -04:00
Vincent St-Amour
8578b9ea79 Switch to square brackets for REPL type display.
original commit: 3c3e5902e5269f83ace39f1f2cc42329ccd11a23
2011-09-13 15:42:04 -04:00
Vincent St-Amour
65401d5bd8 Generalize types shown at the REPL, to keep types simple.
original commit: 68d58f7d2acb887e3bca046ed369b31a058e4cfc
2011-09-13 15:42:04 -04:00
Vincent St-Amour
8f044e3880 Compare numeric unions using a linear scan.
original commit: 8ae1a903fa8703e86e3225b098ba0f3a5537eb9f
2011-09-13 11:22:24 -04:00
Vincent St-Amour
43e19ae248 Optimize subtyping of numeric types.
original commit: c63b5873e37d3f33a579c233d3f2f080e7e96603
2011-09-13 11:22:24 -04:00
Vincent St-Amour
c0227807da Add a field to base types to indicate if they are numeric types or not.
original commit: 40456b4fd8119c1308cfd59effe9bf0afda65ad8
2011-09-13 11:22:24 -04:00
Vincent St-Amour
9ef9332c71 Fix whitespace.
original commit: 32b56eb2fa412218c8bb2b5eecf443faa692cc8e
2011-09-13 11:22:24 -04:00
Sam Tobin-Hochstadt
af5092b6cf random' always produces Float'.
original commit: b91880b05ae79659e45fb3ff0b0d62be3e5e9c1d
2011-09-12 16:31:00 -04:00