Commit Graph

2283 Commits

Author SHA1 Message Date
Vincent St-Amour
90741c2747 Include NaN in all floating-point types.
Makes more closure properties hold, but weakens occurrence typing for
some comparisons involving flonums.

original commit: a6d5a98b61c033340c66b91dd53c18ea50db8c60
2012-08-03 14:21:44 -04:00
Vincent St-Amour
5c4b0895dd Fix type of rational?.
original commit: b1fbbafd91fdd64496647f0108ece7e6fed9947e
2012-08-03 14:21:44 -04:00
Vincent St-Amour
5bb888e47e Fix documentation for packages and mutable lists.
As suggested by Matthew.

original commit: 800a328fe6524cc9aaac3d258d8bdeee3fca9337
2012-07-31 17:12:30 -04:00
Vincent St-Amour
c9d00530aa Fix type for dynamic-place.
original commit: cc8a9b5ed79ee065bdd36c1c01cec929de054192
2012-07-31 17:12:30 -04:00
Vincent St-Amour
445524b021 Fix parametric require/typed in typed/racket/base.
Closes PR12951.

Please merge to release.

original commit: dd02f5eedaaea8077e36e38511e0af1998b5f94f
2012-07-29 09:02:58 -04:00
Vincent St-Amour
6b569fa82f Move mutable list functions to the compatibility collect.
Mutable pair functions from racket/base are not moved.

original commit: 52439d528b78db6394798d9bdd39b2017de03a5e
2012-07-27 16:49:05 -04:00
Vincent St-Amour
2b8e955f68 Fix type for add-between.
original commit: b1577bd307ac1c8136630a3949755f833a8073d2
2012-07-24 16:41:52 -04:00
Vincent St-Amour
e7eaeaea33 Fix spacing issue.
original commit: cfc8fe576676de1d2834bd20fbded3e5219519ed
2012-07-24 13:48:05 -04:00
Robby Findler
e67f435938 adjust the interface reference in drracket for the new view menu
original commit: df4508573a32e3400bf209901fecd547ad078f1e
2012-07-21 11:34:13 -05:00
Vincent St-Amour
d9b716ccf4 Update Optimization Coach documentation.
Please merge to release.

original commit: ea6ba36ccb505cd8d08ca1f88d9f9aed18209e8f
2012-07-20 18:05:33 -04:00
Vincent St-Amour
3f31c7af35 Only enable Optimization Coach button in Typed Racket.
Other languages can access it through the View menu.

Please merge to release.

original commit: 24b314a40ade5c576912eea416a68d78e09ca01b
2012-07-20 18:05:32 -04:00
Vincent St-Amour
8dcab4cef0 Change Optimization Coach message.
original commit: 2e594d36068ab198662bbece0f79981779f23a0d
2012-07-20 18:05:32 -04:00
Sam Tobin-Hochstadt
460b1fe7b3 Ensure that structs don't overlap with simple values.
Reported by Ray Racine.

Please merge to release.

original commit: 4a90c6c1fea75fac3132de7df70e5e7e8207b311
2012-07-20 13:01:32 -04:00
Asumu Takikawa
2f6213c56f Allow guards for impersonatable struct type properties
original commit: e14c5d61e95b867a95c820adec6c5b9e5f1ff9dc
2012-07-19 22:46:14 -04:00
Sam Tobin-Hochstadt
63c203c7ea Document Struct.
Merge to release.

original commit: a589d027511c3a609ffbda2efaaf394c2734c1bc
2012-07-19 10:55:31 -04:00
Matthew Flatt
f549a9e634 submodules: make .zo path stick for consistent independent loading
When a module is loaded from bytecode and then the value of
`use-compiled-file-paths' changes, an attempt to load a submodule
would fail, because source isn't used if the main module is
already declared, and the bytecode code is not used according to
`use-compiled-file-paths'. Make the bytecode path stick when it
is used once, so that submodule loads succeed, and make it work
even with `namespace-module-attach'.

The module-attach part of this protocol requires a change to the
API of a module name resolver: the notification mode gets two
arguments, instead of one, where the second argument is an
environment.

original commit: c8f4ac6ae47023157a337aa5e164b74439e373d6
2012-07-17 09:47:05 -06:00
Sam Tobin-Hochstadt
be30f1ae76 Use lazy instead of delay, as recommended by Eli.
original commit: 22904ef43eeb947b6435983857baa62c4533a5e8
2012-07-17 07:11:23 -04:00
Eric Dobson
9ee5660550 Fix things broken by bad rebasing.
original commit: 9dac995e36c99a6170a72ec9b784ca446ec17ca1
2012-07-15 19:21:26 -04:00
Eric Dobson
1be54e4cc5 Clean up of typechecking for heterogeneous vectors and structs.
original commit: 1df6165e9fae2213d2ebb7f70b54c35e0193782e
2012-07-15 19:21:26 -04:00
Eric Dobson
6d683c97a6 Clean up of tc-app.rkt.
original commit: dd078dcb950a99d267c8abdd69e7c5dd1de0ba5f
2012-07-15 19:21:26 -04:00
Eric Dobson
e02e4bbe11 Remove special cases for - and fx- in tc-app.rkt.
original commit: 779291c795e6370706efa34cca6af2a110727ebb
2012-07-15 19:21:26 -04:00
Eric Dobson
fd7bea8edb Added cond-check-below
original commit: 8f98bb6d92aa2aa47910b9aa2cc8301b76f063ed
2012-07-15 19:21:26 -04:00
Eric Dobson
ceb8feedcc Fix bad contract and clashing provides in TR when contracts are enabled.
original commit: 3dfd4c52a9ef0caeee283ed82e061ae8cab4a95d
2012-07-15 19:21:25 -04:00
Eric Dobson
d93803cdeb Make TR compile cleanly with contracts enabled.
Added a couple of contracts and fixed some others up as well.
The two bugs were that with-contract was not imported, and that
subtype could be called with Values and Results.

original commit: 030e56311ec9196131e321129023c9ef21f39b32
2012-07-15 19:21:11 -04:00
Sam Tobin-Hochstadt
90e5702fb5 Properly handle quoted constants with bad expected types.
Closes PR 12874.

original commit: 8c659d50ede68e23f1c14e45000717c64dc0c2ce
2012-07-14 23:06:13 -04:00
Sam Tobin-Hochstadt
60b0b0faaa Handle arbitrary recursive contracts generated from Rec types.
original commit: 1dca82784b664e7640053333fec85980159cbd16
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
073263527c Improve type of values when applied to one argument.
Closes PR 12846.

original commit: 2aaeec4520cb82f847fa57412b60a023ba7f3fa7
2012-07-14 22:45:08 -04:00
Sam Tobin-Hochstadt
4a2fb49431 Fix special case for expected unions of vectors.
Closes PR 12845.

original commit: ccf79943ab6af0655adcb3f05d13f8f131651c4a
2012-07-14 21:56:44 -04:00
Sam Tobin-Hochstadt
57358149cb Don't shortcut simple letrec forms that aren't lambdas.
Closes PR 12841.

original commit: 2500dad8f124429fc5b035fc58add891f2bd7bb8
2012-07-14 21:36:56 -04:00
Sam Tobin-Hochstadt
c52317054a Vector fixes.
- Allow indexing into a VectorTop, with result `Any`.
- Don't use special typing rules for applications when the operator
  has an annotation or instantiation.

Closes PR 12887.
Closes PR 12888.

original commit: 9e097866bfcb0f2eed86993861f09ecf82b98e47
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
f5de041d2c Fix documentation of Sequenceof type.
Closes PR 12831.

original commit: 49b030ac8dac84a02a8f273339eedc2ceb022e01
2012-07-14 21:30:26 -04:00
Sam Tobin-Hochstadt
b5b7c3f7ed Mutable data at typed boundaries can't have flat contracts.
Closes PR 12884.

original commit: f40c7f11a6a11c9e7afe1c02b2826ebd7626edbd
2012-07-14 20:43:35 -04:00
Sam Tobin-Hochstadt
33469762b7 Parse (Struct t) as StructTop.
Close PR 12903.

original commit: 546c12cf2a2205aa19b205fd45a4653e3a1d2448
2012-07-14 19:20:51 -04:00
Sam Tobin-Hochstadt
7b9857b656 Print StructTop nicely.
Related to PR 12903.

original commit: 418a0c311b8b1e463f1c449f10c2b31f9b25a287
2012-07-14 18:41:42 -04:00
Sam Tobin-Hochstadt
57dea3aacd Intern Struct types properly wrt. identifiers.
original commit: 4cba6e010fab5d1c9efce484a6de76f7cf4a3c0e
2012-07-13 17:10:50 -04:00
Sam Tobin-Hochstadt
ee5584e4d5 Require binding of add-mod.
original commit: e6697fe43f2ed4feac1e8e74da319a0aedb3b0d4
2012-07-13 17:10:50 -04:00
Sam Tobin-Hochstadt
b109d46e28 Use promises for current-type-names.
original commit: 683f8e4e4b6f95da74b69e1587b1f1e9f77ca6b8
2012-07-13 17:10:50 -04:00
Sam Tobin-Hochstadt
60c565f64e Fix tests for new type name declaration.
original commit: 2dd9a43d1b3fe4d3b64ccee5c88db4cb58d7f3f8
2012-07-12 17:41:12 -04:00
Sam Tobin-Hochstadt
1f7d88e114 Reduce some dependencies of Typed Racket prims.
original commit: 396b04eb8689ed918f675cbed290c0a1bfa71c78
2012-07-12 17:41:12 -04:00
Sam Tobin-Hochstadt
a6fc57ea97 Delay actual initialization of type environment.
original commit: 5ab3827b488cdd638da7b48ca9c52ca9aa344faa
2012-07-12 17:41:12 -04:00
Sam Tobin-Hochstadt
788e335196 Rename type-decl submodule to #%type-decl.
original commit: 775dc67a3b30686e604cf459c017320a64f128c5
2012-07-12 17:41:12 -04:00
Vincent St-Amour
fdd870efd5 Rename Performance Report to Optimization Coach.
The new name is more accurate.

original commit: 60a0f3b8545582df43673063b65116a0f929b415
2012-07-11 10:59:35 -04:00
Vincent St-Amour
e2f3073123 Filter reports by provenance (TR / mzc).
Can't easily combine with filtering by opt / missed opt, so I dropped it.

original commit: 1d084888fddb7c3efb32f82b137d1c433cb50135
2012-07-11 10:59:35 -04:00
Vincent St-Amour
3f2c9145fa Performance Report is enabled for all languages, so don't enable it for TR.
Avoids duplicate buttons.

original commit: aaf7acb0347feb298670653af4373c9ff2dc7557
2012-07-11 10:59:34 -04:00
Neil Toronto
c2a4fbc734 Added sequence typecheck tests
Added empty-sequence type (prints funny but works polymorphically; will submit bug report)
Loosened type of sequence-andmap (can't mimic andmap's predicate type)

original commit: 392d7bfbadee8143f6ec76e965f0c4e31246695e
2012-07-10 13:22:53 -07:00
Sam Tobin-Hochstadt
6287ffe3f0 Revise type environment propagation to use submodules.
Each typed module now defines a submodule named `type-decl`.
This module performs the type environment initialization (along
with other environment updates) when invoked.  Additionall,
every typed module, when invoked, performs a for-syntax addition
to a list specifying the submodules that need invocation.
This invocation is then performed by the `#%module-begin` from
Typed Racket.

The `type-decl` module always goes at the beginning of the
expanded module, so that it's available at syntax-time for all
the other submodules.  This involved adding pre- and post-
syntaxes for the results of typechecking.

This allows significant runtime dependency reduction from the
main `typed/racket` and `typed/racket/base` languages (not yet
complete).

original commit: 6bf141513fa9387f438bb0f328f5ec67ada8f757
2012-07-10 12:49:27 -04:00
Sam Tobin-Hochstadt
29763a44d9 Remove evcase.
original commit: 88f5f4c8361d990af44ea1335d03d292f2ce2c46
2012-07-10 12:49:27 -04:00
Neil Toronto
9725465b46 Added inline hint around `index?' definition; my own timing suggests 2x speedup
original commit: 419b59e88ea025a4d6cd2fa2cdbe62eb64529c78
2012-07-09 19:15:35 -07:00
Neil Toronto
93a0e963c7 Added types for single-value sequences
Fixed some printing types

original commit: 77655f9ade5733d722a22acd52b338ea00f2af30
2012-07-09 19:15:35 -07:00
Vincent St-Amour
5251b92b21 Fix type of andmap and ormap on empty lists.
Closes PR 12882.

original commit: dba49db078bd0684562daa469df6a8b5f8dc72fb
2012-07-06 12:28:37 -04:00
Sam Tobin-Hochstadt
39f778a891 More refactoring and reduction of runtime dependencies.
original commit: 20e95f8d8e5ae3ea9106cff5b271c88e9e66cda1
2012-06-28 14:34:07 -04:00
Sam Tobin-Hochstadt
88460e98dd File splitting, dependency reduction.
original commit: f075ecd36e708d21c825666502290e3bb98830af
2012-06-28 14:34:07 -04:00
Vincent St-Amour
1d2a50c63e Update types of string-join and add-between.
original commit: db6c2e77371e31d0bed4cc504e5c8effe42959aa
2012-06-27 11:39:15 -04:00
Sam Tobin-Hochstadt
867a992700 Fix type of dynamic-place.
original commit: d346415903983e6b4b698129f8d77dcec60b4d05
2012-06-25 19:20:12 -04:00
Sam Tobin-Hochstadt
ec62a2f7c4 Remove no-longer needed require for residual code.
original commit: 5e26c329d609cda35e3b0b35c1e66e33282c7b63
2012-06-25 19:20:12 -04:00
Sam Tobin-Hochstadt
c762e9eb4c Avoid requiring the printer unneccesarily.
original commit: 94f1cb2127b9cc630d0122b6fdc98066f364597c
2012-06-25 18:07:45 -04:00
Sam Tobin-Hochstadt
d575bd40bb Depend only on the lowest-level place primitives.
original commit: c61ed30d0b0b87d7bef9dfafe2db3af719896cb8
2012-06-25 18:07:45 -04:00
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
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
Sam Tobin-Hochstadt
f0266a6660 Properly parse `Values' in types.
Closes PR 11145.

original commit: 3707310250ce2bdc6a0c31d8a3f8dd15bff639d7
2011-08-25 14:10:05 -04:00
Sam Tobin-Hochstadt
047af2b619 Support vector arguments to `datum->syntax'.
Related to PR 10290.

original commit: 4185da9035fc3c6aa5a5de796f0d6b077e3b72ec
2011-08-25 14:10:05 -04:00
Sam Tobin-Hochstadt
2d731cdfc8 Propagate expected function types propertly in case-lambda.
Closes PR 10139.

original commit: a7cf16d486dbc40febbefc00e6f174c9c4d625de
2011-08-24 15:29:10 -04:00
Sam Tobin-Hochstadt
d81dd2f811 Reuse `case-lambda' syntax in optimizer.
original commit: d6f1c35e1b615e3fc554e310de7ba2bb18217dd6
2011-08-24 15:29:10 -04:00
James Ian Johnson
4a3fbfd4ca Changed rec-id black magic to a more robust syntax parameter solution.
original commit: e12472bdf7c54d3a68e253a1cbb06420ed9961f7
2011-08-22 17:04:16 -04:00
James Ian Johnson
e40f936d52 Fixed a hygiene issue with rep-utils. Rec-ids were in improper phase.
original commit: a873675832ab427739704bf353a068adf05702c3
2011-08-22 17:04:16 -04:00
Sam Tobin-Hochstadt
08ede0e5be Typed version of `racket/date'.
Contracts make it hard to have this library automatically typed.

original commit: e39abf17da79f55966a8e356ee423c902c47614b
2011-08-22 09:46:12 -04:00
Sam Tobin-Hochstadt
4ca62d8404 Useful error message when `with-type' used in a typed module.
original commit: 292feaad43d1c1424eb57e3a115714aec7502f4f
2011-08-19 11:34:37 -04:00
James Ian Johnson
e0b3c29c1c Fixed compile failure.
original commit: 7af3d35bb3a469815286c68150ffb6ba2731eafd
2011-08-19 11:09:24 -04:00
James Ian Johnson
46f0c7574f Removed e from fold-pat attributes.
original commit: 58d84d79dbba094c6f1381b2a278a51a52e1714d
2011-08-19 11:09:24 -04:00
James Ian Johnson
d75ed64227 Fixed a comment inconsistency about double quotation.
original commit: def3834aa2497dba469a86cc67be08bceab87b1a
2011-08-19 11:09:24 -04:00
James Ian Johnson
484d2a90b8 Adding clarifying comments to rep-utils.rkt
original commit: 06edc3153f29e06e654063a9249146d91ad2e2fa
2011-08-19 11:09:24 -04:00
Sam Tobin-Hochstadt
29987d225f Handle apply for functions with no rest arguments.
original commit: bdcc63b2294b0b7bb46cf158ab8a2ad496783cf2
2011-08-17 18:19:47 -04:00
Sam Tobin-Hochstadt
2559ae0055 Simplify definition of (legacy) `typed-scheme' language.
original commit: 5870fec9c9b88e31d915b26d900a8ff6479edfc8
2011-08-16 14:54:46 -04:00
Vincent St-Amour
a041d3a15a Fix handling of impersonated vectors when bounds are fixnums.
original commit: ff0d843a096224efe7930413d1d22b3ff1be821e
2011-08-16 12:09:39 -04:00
Vincent St-Amour
b7f8546848 Formatting.
original commit: a6e633ae2f89cd240a0119462e773a62915143a1
2011-08-16 12:09:38 -04:00
Vincent St-Amour
6f4746ad75 Make error messages more consistent.
original commit: 59f5f24736998a027f920d481fdd3c60ccaefb59
2011-08-16 12:09:38 -04:00
Sam Tobin-Hochstadt
7ecdc4eff3 Document typed/scheme' versions of require/typed' and `require-typed-struct'.
original commit: 39459ec9c4f16568b0c7bf2dd6bfec96b0ef4688
2011-08-16 12:07:53 -04:00
Sam Tobin-Hochstadt
5334a847b1 DrDr repairs.
original commit: 4c56a94eb11b194060b43d39e5e444454ab41acf
2011-08-16 08:14:39 -04:00
Sam Tobin-Hochstadt
0e17e02751 Refactor unit tests to handle tests that need base-special-env separately.
original commit: c54fc6d6d79cec39fa7236fd314842f809feab73
2011-08-15 21:39:31 -04:00
Sam Tobin-Hochstadt
ec40b5be8f Refactor base-special-env to run at phase 0.
Unfortunately, it can no longer be required normally, and forces changes to test suites.

original commit: 8ecc2a4da4c995a83ddc630ab274859f47597fc6
2011-08-15 21:39:31 -04:00
Sam Tobin-Hochstadt
ab46be4998 Better error message when id is unbound in `make-env'.
original commit: 11167aa21428833fe2dbbb33301d9c7e43544e8b
2011-08-15 21:39:31 -04:00
Sam Tobin-Hochstadt
14d059022a Fix type of file->bytes-lines
original commit: 13ef3849fcee7fa8a7bd5ecf988ed0bb4fbcf84a
2011-08-15 21:39:30 -04:00
Sam Tobin-Hochstadt
2ae93408c1 re-enable type for port->bytes-lines
original commit: b25aae230be253861800c483aa0b7f2ffbb1315c
2011-08-15 21:39:30 -04:00
Vincent St-Amour
5e92d965a6 Remove redundant logging message.
original commit: 8dba93646a0fb6b2ff8ffe230342e5276a0d16f6
2011-08-15 12:19:54 -04:00
Vincent St-Amour
086e0e7ccc Fix arity raising for letrec.
original commit: 2a80582ed97e93b3c85ae8fbc21bfc7eeab05947
2011-08-15 12:19:54 -04:00
Vincent St-Amour
2bf7ce50ed Formatting.
original commit: 63b5747018f5c8cfa585016346e7a7b5dbabd38e
2011-08-15 12:19:54 -04:00
Vincent St-Amour
a05162c6df Have arity raising play nice with Check Syntax.
original commit: becaac8c1841638350dec7e59f92efe37885aa7d
2011-08-15 12:19:54 -04:00
Vincent St-Amour
4ec5413e5f Fix visibility of arity-raised bindings.
original commit: b536445cdee2ad256284a780d4b1187ac3322dd9
2011-08-15 12:19:54 -04:00
Sam Tobin-Hochstadt
fb381b7dfd comment out type that produces strange duplicate error message.
original commit: fdcb22ea32b700c0c56895b86dc5330191d7f065
2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
06367272b6 Fix initial type environment for new-style keyword functions.
original commit: 54c044c36a5738a862379e4f10d0b9453c8e27b0
2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
ff7de23488 Fix typechecking of `#%variable-reference'
original commit: 2d094db270cf25f1b301b062a393b8f44b75c63c
2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
20c54979a9 Use syntax-track-origin more pervasively to get the right arrows in check syntax.
original commit: d948626fac529ba8325ffe712f192edb4e5329d5
2011-08-12 11:09:11 -04:00
Vincent St-Amour
bc5339d19c Add disappeared uses to have optimized code play nice with check-syntax.
original commit: 281e1003e3ef60892188e8b4f5313f8fdd9e4c72
2011-08-11 18:25:46 -04:00
Vincent St-Amour
9f8918b441 Refactoring.
original commit: 271f696c5846c3e026507d5e47c648a23e5ad2ed
2011-08-11 18:25:46 -04:00
Vincent St-Amour
5d94df5648 Rename a parameter to better reflect what it's for.
original commit: cef410f5e2e6e5728cf1bc8769607f637365683f
2011-08-11 18:25:46 -04:00
Robby Findler
f38df9c69b change the #:get-lock-file argument of call-with-file-lock/timeout to #:lock-file
original commit: 997813680db107a75dae889f73bc3da5ce00806f
2011-08-11 09:29:31 -05:00
Asumu Takikawa
2673b89af3 Added a match expander for objects in unstable.
original commit: d12b617292c284c4a4c18cf926b198487a8c070a
2011-08-10 20:37:21 -04:00
Vincent St-Amour
024e04015c More TR test failures more easily detectable.
original commit: 8bcb7f26362857fad84b9dec9cf30707520d97d2
2011-08-10 15:45:54 -04:00