Commit Graph

2283 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
48a9602d23 Don't use places for running single tests.
original commit: 1c275ffcc7fb79775b377340aaae3e258473a3ba
2012-08-20 14:45:50 -04:00
Eric Dobson
26b3938743 Move list-set and list-update to unstable/list.
original commit: 6e2e84664da60e82434f907d7274fcc88e47e11f
2012-08-20 14:45:50 -04:00
Sam Tobin-Hochstadt
2117167e8b Fix typo detected by optimizer.
original commit: 4c0d605c430593562b1b29ff7c7617573220aab2
2012-08-20 13:17:50 -04:00
Eric Dobson
7f2c626c7f Wrap generated code in #%expression.
This allows tc-toplevel to hand it off to tc-expr, and not reimplement
the details of annotations.

original commit: b9408e545eb72e2ef4877cd3e9909f4937ebf536
2012-08-20 12:39:41 -04:00
Eric Dobson
8086da4e7e Add back ignore-some typechecking
original commit: 8545f421abfe3e4fb689e12d19ec05b109660e5b
2012-08-20 12:39:41 -04:00
Eric Dobson
20da55c55d Add tests for make-predicate and cast, also add support for the top-level.
Closes PR 12939.
Closes PR 12201.

original commit: 533920480e4b9878a18febdc616429623bb58f50
2012-08-20 12:39:41 -04:00
Eric Dobson
9d60643a65 Added cast operator to typed racket
original commit: 553c3a4f80c094d030d11c061464529ed5741e5f
2012-08-20 12:39:40 -04:00
Eric Dobson
e70c2dea51 Add way for code to attach typechecks to itself, and implemented make-predicate.
original commit: cc52e56fe6749bba71dbae5e56c0a58d90ac119b
2012-08-20 12:39:40 -04:00
Eric Dobson
3d0e20043d Allow contract definitions created from expressions to be fixed up.
original commit: 115345300dc4bfe3a14c7b7f73507719e2f6500d
2012-08-20 12:39:40 -04:00
Eric Dobson
ce51776f1f Make TR's ignore-some property work even if there isn't an internal form.
original commit: bb67e37c4906334dbf43e650643d9162d195fa3d
2012-08-20 12:39:40 -04:00
Sam Tobin-Hochstadt
7654984ca6 Make Typed Racket integration tests run in parallel.
Parallel speedup of approximately 4x when using 8 workers on a 12-core machine.

Closes PR 12911.

original commit: 9e5060ef5b7e831480e82d45eb7459d1015f1f54
2012-08-20 12:25:50 -04:00
Eric Dobson
f41741b486 Add promise support to type->contract.
Closes PR13024.

original commit: 09d32d35e06abe31075bf3fbf04f6c749f3d5603
2012-08-20 10:10:17 -04:00
Eric Dobson
8c95235750 Cleanup builtin structs types.
original commit: a408d6bfbfacae706b8d1d51f67c7929c3fcae16
2012-08-20 10:10:17 -04:00
Eric Dobson
0277c62e46 Make promises like every other TR container.
original commit: df6562c1de124a01a4a104cf8f813078b12bd680
2012-08-14 16:16:07 -04:00
Eric Dobson
dc0849e298 Replaced infer-dummy with lazy-require.
original commit: ac493a6f44773c43c215e8c5cd5dc6d8e1edcdf1
2012-08-14 16:04:51 -04:00
Eric Dobson
a3d44f9315 Fix internal error for untyped kw functions.
Closes PR12932.
Closes PR12922.

original commit: 9ef80edfef0e872ec9224c5d1e032c3f46dc2ace
2012-08-14 16:04:51 -04:00
Eric Dobson
fb1c408062 Removed deprecated printf/log.
original commit: fdd2966cf405c5b8e877f51aeff6606816b8d9c3
2012-08-14 16:04:48 -04:00
Sam Tobin-Hochstadt
5784f96c6b Don't special-case applications with instantiations.
Closes PR 13006.

original commit: ade36c36c6f68520deb15c7152cc1e49741213d6
2012-08-14 15:45:47 -04:00
Eric Dobson
37aeb62a14 Fix substitute and add test case.
original commit: 3b6168de7d2a0b25a40c391757bc71fdb272c347
2012-08-14 14:44:55 -04:00
Eric Dobson
f071ccf186 Make simple substitution happen all at once.
Closes pr12920.

original commit: 2e3965e7772594a19aac32d9673fb0c98e19bbdd
2012-08-14 14:44:55 -04:00
Vincent St-Amour
23a26e8533 Fix type of expt.
Closes PR13026.

original commit: f514550300624a5863db333fe781e32da3273e17
2012-08-14 14:37:18 -04:00
Vincent St-Amour
911ebaa0bd Fix types of magnitude and angle.
Closes PR13025.

original commit: af8fc1f26aaf87f0ece562e6fe74804b42ddfed3
2012-08-14 14:37:18 -04:00
Sam Tobin-Hochstadt
88c5098309 Move define-struct/printer to new file.
Avoids runtime dependency on `racket/generic`.

original commit: 973da6a50cd0994b69b5b8b7cb1f374786de469f
2012-08-14 10:31:22 -04:00
Sam Tobin-Hochstadt
74b6ccbf6a Minor printer refactoring.
original commit: fddd5c63ff4113c104dd184b90b38900aa99b4ad
2012-08-14 09:58:01 -04:00
Eric Dobson
8442c9da34 Make TR debug printer work again.
original commit: cac47c0427c8d885b402d036710593cf1d360e7f
2012-08-14 09:45:01 -04:00
Eric Dobson
4667c3bb2a Make disabling the custom printer work.
original commit: 5f0717d278343f355f95bbc2ca39d9a3ebbee3dc
2012-08-14 09:45:01 -04:00
Eric Dobson
9bd0589cf6 Remove unused old printer.
original commit: 124707921fd20aed769c250f23e5d89979e457b6
2012-08-14 09:45:01 -04:00
Eric Dobson
2f3add11ff Cleanup TR printer to use lazy-require.
original commit: c9afe15f56bc7c3a6e2347f370e7d2e075ade594
2012-08-14 09:45:01 -04:00
Sam Tobin-Hochstadt
ad5018f0dc Fix internal require of typed submodules.
original commit: 6ae2a9d884d46350411b023d5eb54474f4a5ed81
2012-08-13 17:20:20 -04:00
Ray Racine
6c22c611d8 Add flvector-copy to TR base env.
original commit: 2ff1927f6c1a0da46a7fd633cf62961e2ba06b75
2012-08-13 16:58:29 -04:00
Vincent St-Amour
b59fef3342 Fix type of division.
original commit: 7c6cf0fa8b43e39f88211fa35ac151616f2704ba
2012-08-10 18:07:38 -04:00
Sam Tobin-Hochstadt
1d6678c2ad Don't generate rest specification for ->* when not needed.
original commit: aa6ed4d736b2e4486c82a4a1ed4ac7b1f9296a3e
2012-08-10 11:00:02 -04:00
Eric Dobson
da8782fb09 Make generated flat contracts actually flat.
original commit: 3876dfa8411e06b2225b614246fa0274855e915b
2012-08-10 10:39:44 -04:00
Vincent St-Amour
7acddd1b92 Refactoring.
original commit: 75efede59b26315cd0273427ca08a46a5b947d88
2012-08-07 16:33:31 -04:00
Vincent St-Amour
806c02c533 Add :query-type/args.
Shows return type for a given function with given argument types.

original commit: 674c71103b65d5ac8467433def7c4542e01985a3
2012-08-07 16:33:31 -04:00
Vincent St-Amour
3a09c5d6df :query-result-type -> :query-type/result
Result type is given, not asked for.

original commit: d87339d4145ebadc70df54c5a18b6370c2b58fbc
2012-08-07 16:31:52 -04:00
Vincent St-Amour
0f24ab150d Add a separate "Exploring Types" section to the TR reference.
original commit: 28c85dfd253a6e386da14758d0e95e9ecdd0a6a9
2012-08-07 16:31:52 -04:00
Vincent St-Amour
1e1fb40d32 Allow multi-line printing of case-> types.
Currently only used in :print-type. Everywhere else, types are pruned.

original commit: 4b30d052b0216420ef1abcec44f0c027cc588880
2012-08-07 16:31:52 -04:00
Vincent St-Amour
0b962a8f5d Use type aliases when printing full types.
Reduces the printout size significantly.

original commit: 34ee1d26032f84cd67a7835b66e3bddbdce8d497
2012-08-07 16:31:51 -04:00
Sam Tobin-Hochstadt
30e80ee604 Add back some special cases.
original commit: 7eaae20f41e0b5bbbe90af0461e24f9aef1b2931
2012-08-07 15:51:02 -04:00
Eric Dobson
ce41c349e6 Removed *Un from abbrev.rkt, replaced it with Un from union.rkt.
original commit: 21598297a7dd29ce6e0a106d13326e84a7330b6f
2012-08-07 15:50:50 -04:00
Eric Dobson
3d2814de81 Removed convenience.rkt from typed racket.
original commit: 9ed360bb5e3fd793ac4479507852aa282125fd61
2012-08-07 15:50:50 -04:00
Eric Dobson
2009c1da8a Rearange type code, so that abbrev.rkt can depend on union.rkt.
Split out base-abbrev.rkt so that subtype is not dependent on abbrev.rkt.
Remove unused code in numeric-tower.rkt so that it is now a dependent of
abbrev.rkt, which allows the body of convenience.rkt to be merged back in.
Remove special casing for union.rkt and extraneous subtyping checks.
Remove union-maker.

original commit: 56fd9e63219b87d0fddbfd5d9fdb97010acd13f3
2012-08-07 15:50:50 -04:00
Eric Dobson
a81b666a5e Replaced references to abbrev.rkt with convenience.rkt.
Skipped this for subtype.rkt, because of a require loop caused by
lazy-require.

original commit: 6dbc054e41af5820ceda8a50508ccf43c51ab7ed
2012-08-07 15:50:50 -04:00
Vincent St-Amour
13b06ee19a Control number of attempts for TR random testing from the command line.
original commit: 7494fccc4c8af1ced3771b58515e661b2aca7f6c
2012-08-06 12:48:41 -04:00
Eric Dobson
dab83ca0b0 Fill hole in recursive type soundness. Fixes PR 11372.
original commit: e6d4fb2ee247cfec157175788ff29f94e6aec3e5
2012-08-06 12:31:07 -04:00
Eric Dobson
786a64de60 Add support for creating contracts of heterogenous vectors
original commit: 9f453676d13f4b44ee9e8d891984de38db9bdeb0
2012-08-06 12:31:07 -04:00
Eric Dobson
74f13b21f1 Fix type of integer-sqrt and add type for integer-sqrt/remainder.
original commit: f09069854225ccc00b9b9041fc2f26d2e83f8450
2012-08-06 12:31:07 -04:00
Vincent St-Amour
9f060f5be7 Swap unsafe and chaperone-unsafe vector ops in the TR optimizer.
Closes PR12969.

original commit: aba046a92d42de70a2f777bfbe9a4e75f8e935a9
2012-08-04 10:32:21 -04:00
Vincent St-Amour
642e310bbe Remove invalid singleton return types.
NaN doesn't inhabit these types, but can be produced there.

original commit: 1215fb6cec8ed7e6559e279a46fc7d2be0bfd403
2012-08-03 14:21:44 -04:00
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