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 lambda
s.
...
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