Commit Graph

2122 Commits

Author SHA1 Message Date
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
Sam Tobin-Hochstadt
40de6c2ac7 Add test of behavior like the "module" language in DrRacket.
original commit: d0bf047121351bc696e247299776050f13cc26b3
2011-09-12 12:14:50 -04:00
Sam Tobin-Hochstadt
af26c11c83 Move environment initialization after local expansion in Typed Racket.
This means that syntax errors caught by `local-expand' are reported sooner, but shouldn't change other timing results.

original commit: f9b0f0ce7320b09eb2203580a7d04d909dc2f430
2011-09-12 11:52:26 -04:00
Sam Tobin-Hochstadt
24ce1f006d Make the type of `syntax-local-module-defined-identifiers' more precise.
original commit: ce45c12b67c670485d5c4cc8e2af550340d8e91d
2011-09-12 11:52:25 -04:00
lvilnis
6ba006538a Fixed a bug where predicates would sometimes fail to match 0.0
original commit: 80ece9023aa583428be9292f120ee25f02cd161e
2011-09-09 12:10:58 -04:00
Vincent St-Amour
a9b46a0a80 Fix Performance Report message in the absence of irritants.
original commit: bb62ca4c2b6a933dc2c465e7420b50b90e1d30cc
2011-09-08 18:01:15 -04:00
Matthew Flatt
386f74eb98 generalized `begin-for-syntax'
original commit: d3c56c9f13327d07513f8b6bf7ea0230acb7f489
2011-09-08 14:06:00 -06:00
Sam Tobin-Hochstadt
48766fe47f Switch to racket/base to fix bizarre bug.
original commit: cd073ad549b67f3fe501456b0144f0cb17fd5bd7
2011-09-07 16:08:00 -04:00
Eric Dobson
d642105b65 Fixed subtyping for StructTop. Closes PR11099.
original commit: c62f09ac5b5d4788d06401010eb7cfd02a91c623
2011-09-07 09:17:04 -04:00
Eric Dobson
505327ffed Change overlap for structs in TR. Closes PR11390.
original commit: 32becc2e0a9a2c4d14b0c48fef602187e83e1d28
2011-09-07 09:17:04 -04:00
Eric Dobson
536ed6c037 Resolve names in overlap in TR. Closes PR11392.
original commit: 53ce20d3f9edc9d405a33a8fb2e031b67dad7a09
2011-09-07 09:17:03 -04:00
Vincent St-Amour
b911bd4d36 Forge identifiers instead of dumpster-diving.
original commit: c893502857d2484540e8ba7bde72e101d23fb22c
2011-09-06 16:35:15 -04:00
Sam Tobin-Hochstadt
c5fc573bdf Whitespace fixes, small optimizations of union cases.
original commit: 64a1aee65df1f7babc1e832a39a0fe891f2e39f4
2011-09-06 11:14:57 -04:00
Sam Tobin-Hochstadt
b46873bd75 Switch to id-table, Rackety.
original commit: 076c0fe6d821bc99c80eda95d627091e6fe0d7c3
2011-09-06 11:07:03 -04:00
Sam Tobin-Hochstadt
d42ee35141 Add logging to typechecker main loop.
original commit: 41bfb878c3dfc111be9107276712b35a995d4dcc
2011-09-06 11:07:03 -04:00
Sam Tobin-Hochstadt
1dbda12c6b Micro-optimization.
original commit: c25f7cea2709624b08bed57a468db35abe6a5b21
2011-09-06 11:07:03 -04:00
Sam Tobin-Hochstadt
2422a57cd0 Use better language for lang-info
original commit: 2faa761f533604d99df08a041aa244a45d23495c
2011-09-05 14:21:15 -04:00
Eli Barzilay
7c2f751af5 Some more "typed-scheme" -> "typed-racket".
original commit: fde857e0cbb5a1099eba0f8c88d1570f59d39746
2011-09-05 00:34:05 -04:00
Eli Barzilay
779c621e82 "typed-scheme" -> "typed-racket".
original commit: 746aea002420c8abb7c281720fac22aedc497352
2011-09-05 00:08:17 -04:00
Sam Tobin-Hochstadt
f82fee857c Tests for all Typed Racket languages, and add missing ones.
original commit: c0b4743b407f6ddf09a7c7bf78b7b66f6c311d81
2011-09-04 12:58:13 -04:00
Eli Barzilay
c5432390c5 Revert "Abolish "typed-scheme"."
This reverts commit 49a89da81860e09955f1678bab6106ce8eae8376.

(Will be redone later today.)

original commit: 6ebf3ab32d666e9d1e56cd546fea29d18c42dfff
2011-09-04 10:27:58 -04:00
Eli Barzilay
911fc81ec6 Abolish "typed-scheme".
original commit: 49a89da81860e09955f1678bab6106ce8eae8376
2011-09-04 08:46:03 -04:00
Sam Tobin-Hochstadt
e232403bac Add type for `make-reader-graph'.
original commit: 09f515dff4f1b97eb4e80e161eb182b5fed105f9
2011-09-04 08:34:19 -04:00
Sam Tobin-Hochstadt
4641d7fff0 Document `Nonnegative-Integer'.
original commit: 1a35809ee62d5edcf2ee8cbbd7e4b9cda045f5d2
2011-09-04 08:33:44 -04:00
Sam Tobin-Hochstadt
5f32fd662c Fix one more `typed-scheme'.
original commit: 0a9bc015dad87efcf66af7080b3400606268bfa3
2011-09-04 08:31:34 -04:00
Sam Tobin-Hochstadt
725bebd576 Revert "Re-enable timing"
This reverts commit a134ec73ed7f397eccc289f9163acd81c4553f0e.

original commit: ff1776e5224dfcb1d8c864d7d3e22f35deec53ad
2011-09-03 20:51:35 -04:00
Sam Tobin-Hochstadt
86f797100b Re-enable timing
original commit: a134ec73ed7f397eccc289f9163acd81c4553f0e
2011-09-03 20:49:40 -04:00
Sam Tobin-Hochstadt
a5d9b3885a Move typed-scheme to typed-racket collection.
Compatibilty typed-scheme collection left.

original commit: d2e1cc02dc587b8ed29548b16a92ee4abcde4875
2011-09-03 20:49:39 -04:00
Sam Tobin-Hochstadt
6247380066 Reduce requires.
original commit: 9a15a1febbdf81916a2638146499c872f35a6659
2011-09-03 18:43:44 -04:00
Sam Tobin-Hochstadt
a328126da4 Split syntax-classes out into separate file to reduce requires.
original commit: 77b619b7c2c4c4ef89f7830949ab90bdda07f5a2
2011-09-03 18:13:54 -04:00
Sam Tobin-Hochstadt
ba2fce22ce Fix language info when running 'racket -I typed/racket'.
original commit: d594e6ee491fd2b987f974c0275df9d40cf74320
2011-09-03 18:13:34 -04:00
Vincent St-Amour
bae88339d9 Change the logging level for the optimizer logs.
original commit: feefa31401e4eccc7fbe2e60fd018e830f019254
2011-09-01 18:49:49 -04:00
Vincent St-Amour
702e78f9fa Remove vestigial require.
original commit: 645f611ae77cda0a08a49286835e2581bf3de8cf
2011-09-01 18:49:48 -04:00
Vincent St-Amour
92daef945a Fix the Compiled-Non-Module-Expression type.
Closes PR 12150.

original commit: b105093f61163cd1be12e27ed8e459976fcfea20
2011-08-31 14:29:58 -04:00
Vincent St-Amour
8e79c557ba Remove useless requires.
original commit: 0449c3b397a6f77723c5d649a0320f3ca8c8737c
2011-08-31 12:40:24 -04:00
Vincent St-Amour
9efcc45433 Move interactive helpers away from prims.rkt.
original commit: 166efdd2ecd52c291d7f860d7117ec85cf39f707
2011-08-31 12:40:24 -04:00
Vincent St-Amour
ce1fcd2b54 Dynamic-require the optimizer.
original commit: c414b09ecfb424fcc4e0c4d80d9cf5197ea297c9
2011-08-30 17:54:25 -04:00
Vincent St-Amour
7228f10b01 Have drdr run the missed opts tests.
original commit: 0510bb09490c7c04ee86905f905fdcd209293832
2011-08-30 17:00:25 -04:00
Vincent St-Amour
4ae271ec3a Turn off TR timing.
original commit: e0f4ec56c46109e0c4051c299925f84c3df67f84
2011-08-30 17:00:25 -04:00
Vincent St-Amour
908e5e853d Delay evaluation of numeric base env types.
original commit: 70aaf6bf24e4cd80ad0e4be3baf841ed8e252cad
2011-08-30 17:00:25 -04:00
Vincent St-Amour
17d631e2ad Make TR timing info fit on a line.
original commit: f3d22879a2cf4e4000cfd47b92b3243dbdceaf1a
2011-08-30 17:00:25 -04:00
Sam Tobin-Hochstadt
61836d7939 Fix type of `make-temporary-file'.
original commit: 534d89b983a2c2c81f20cabf68b7c9ed7f930ec8
2011-08-30 11:33:40 -04:00
Sam Tobin-Hochstadt
0550dd15d2 Make environments much lazier about computing types; remove useless requires.
Allow duplicate type annotations when they are the same type.

original commit: 3e1eb67336617150b546841a0c1c3d2793385b06
2011-08-30 11:33:40 -04:00
Vincent St-Amour
bb11c93478 Add Nonnegative-Integer as a synonym for Natural.
original commit: 15aeb099ea587eef539884620b222bff7766ec77
2011-08-29 15:26:12 -04:00
Sam Tobin-Hochstadt
a9fd799164 Improve types for some date operations; fix typo.
original commit: e67415171a4655f1fa1f399abebb8e7d47abcf31
2011-08-29 12:08:13 -04:00
Sam Tobin-Hochstadt
d72477beaf Fix typo.
Reported-By: Shriram Krishnamurthi <sk@cs.brown.edu>

original commit: 8a4aee886502f4843ef8225784363841b32c92dd
2011-08-29 12:08:13 -04:00
Sam Tobin-Hochstadt
2f118dc0f8 Improve formatting of reference docs for reader abbreviations.
original commit: d000567b7959659e5aea78cbc65369d0083616e6
2011-08-29 12:08:13 -04:00
Sam Tobin-Hochstadt
03edafbc18 Repair test for boolean generalization.
original commit: c7ac40f33b0c1d25c39c5cdd487cd34f43829267
2011-08-26 14:08:40 -04:00
Sam Tobin-Hochstadt
417c8a9833 Intern based on sequence numbers for values that have them.
20% speedup on the empty program.  Closes PR 10734.

original commit: 598d81671a5531e41ec25e4e0cec790b4ed3345f
2011-08-26 14:08:40 -04:00
Sam Tobin-Hochstadt
4068b47296 Much more infrastructure for timing typed racket passes.
original commit: 403bb6414e5ba29e653e2c2dd18de076177f440d
2011-08-26 14:08:39 -04:00
Vincent St-Amour
91c229be09 Fix TR printing.
original commit: 62a71227446c417e4c9db820174abd713d0e199a
2011-08-26 14:06:10 -04:00
Sam Tobin-Hochstadt
f11e1b37d0 Generalize #t and #f to `Boolean'.
original commit: ba09e906d8c908a1e57b24a457dfeec0ee4d8ebc
2011-08-26 08:05:44 -04:00
Sam Tobin-Hochstadt
fddf518689 Initial support for standard optional arguments.
original commit: 7dd209f905882300fcc0cd74bbc3565b61112278
2011-08-25 19:00:49 -04:00
Sam Tobin-Hochstadt
a4600be405 Repair type of `find-relative-path'.
original commit: 717476f84df4927cdb2e2ae012ddd3c621892f38
2011-08-25 19:00:49 -04:00
Sam Tobin-Hochstadt
c937f35913 Revise `require/typed' docs. Closes PR 11890.
original commit: 760625c031b0967260d1ff5816affb3a830ae2fb
2011-08-25 14:10:05 -04:00