Vincent St-Amour
d60793d271
Changed the interface for running single optimizer tests.
...
original commit: f3ae9c73b0f58d2d56e2ee3cee605c58a9bb3a1d
2010-10-12 16:47:45 -04:00
Vincent St-Amour
428e96980b
Added optimization for first, second and co when possible.
...
original commit: 2c4d6fbb015e7433fbd8aec68867134988f367bf
2010-10-12 16:47:44 -04:00
Vincent St-Amour
19784fffe5
Improved TR's error messages when all domains but one have been eliminated.
...
original commit: db0046101cb8b75e56215b4528d280894c59a36d
2010-10-07 18:30:35 -04:00
Sam Tobin-Hochstadt
fb0df54c79
Fix `overlap' for refinements of base types.
...
original commit: 7bcd107e7ff5ce64791a5613a13f6445a87c638c
2010-10-07 11:19:54 -04:00
Sam Tobin-Hochstadt
21eb1eeadc
Remove outdated comment.
...
original commit: a45ce954d798f178cfd17f556f84d55dead2d460
2010-10-07 10:18:06 -04:00
Vincent St-Amour
ed4294a6f2
Have the optimizer ignore struct/exec.
...
original commit: 99178c70a0dd5add19b13eec4380f357e0e6680c
2010-10-06 18:43:35 -04:00
Vincent St-Amour
220b41c75e
Updated the documentation of TR's optimizer.
...
original commit: d39cb530cf335fbe9549ced308924b0691f8ff18
2010-10-06 17:32:30 -04:00
Vincent St-Amour
30780b3f6a
Changed the optimizer's test harness for optimization on by default.
...
original commit: abcbce129bf65fc63daa33d843589305efd94b81
2010-10-06 17:32:30 -04:00
Vincent St-Amour
057043c493
Turned the optimizer on by default.
...
original commit: 8baa1682af76965400ab1071a46f8ba50f7c7165
2010-10-06 17:32:30 -04:00
Vincent St-Amour
105b82fb70
Fixed tautology/contradiction recording to work with case-lambda.
...
original commit: 5395dbca122c534db3d70139c871e0bc4b91515f
2010-10-06 17:32:29 -04:00
Vincent St-Amour
9e13c1a6d9
Register types for send exprs in the type table.
...
original commit: 21723281899d7aab5692e605386abcf6f92cefe9
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
5733f06d9a
Contract fixes.
...
original commit: c739128703d917540ff963775459b6c75ccf2c80
2010-10-01 19:29:18 -07:00
Vincent St-Amour
7876c75cbc
Got rid of a broken subtyping rule.
...
original commit: 5a67535a950ba19846151a6f7a3f7a473affea86
2010-10-01 17:48:47 -04:00
Vincent St-Amour
8c6264008d
Delete compiled benchmarks when testing.
...
original commit: f7436b59fb3d1f91481216148f4e147315b0144c
2010-10-01 17:48:46 -04:00
Vincent St-Amour
1fb2c973f0
Further improvements for TR's error messages.
...
Only the most permissive domains whose associated return type is
consistent with the expected type are shown in error messages.
For example, for a function with the following type:
Fixnum -> Fixnum
Integer -> Integer
and an expected type of Integer, only the latter domain is shown in
the error message.
original commit: e011ea00bd73fd8ac3b9c4afe4e1435dcaa27cdb
2010-10-01 17:48:46 -04:00
Vincent St-Amour
5fab19e4df
Improved TR's error messages in presence of case-lambda types.
...
- When displaying errors involving functions that have case-lambda
types with branches that are redundant modulo filters (such as <, >
and others), only the general branches appear in the error message.
(Real Real Real * -> Boolean, in the case of < and co.).
- For all errors involving case-lambda types, only domains for which
the return type is consistent with the expected type are displayed
in the error message. Further simplification is planned.
original commit: 206fe52047f24ab89ac1d538c939c04fbbae59b7
2010-09-23 12:59:47 -04:00
Vincent St-Amour
2e1cf9d4f4
Explained a design decision.
...
original commit: 4aa7bc8439195addb172976253054ca1d41c72a1
2010-09-23 12:12:15 -04:00
Matthew Flatt
b6a14210ed
rename file to avoid :, which is not allowed under Windows
...
original commit: fa7dd9b522f0dd14d3b71c74256803228379d562
2010-09-20 03:31:18 -06:00
Stevie Strickland
dbdb62fc7b
Convert vectorof/vector-immutableof to the new regime.
...
Also add old-style vectorof to mzlib/contract.
original commit: 3028f2d1424123d076a95572a7564b8fb069a86e
2010-09-16 15:04:41 -04:00
Vincent St-Amour
6b979e393f
Documented optional for: and let: annotations.
...
original commit: e0bda30738a696a427d2ffc830789628da1beb4d
2010-09-16 13:24:11 -04:00
Vincent St-Amour
75d628bd68
Added a test for optional let annotations.
...
original commit: 7e2094f2d719cfdb626c6aa78893a8516c9a7ea0
2010-09-16 13:24:10 -04:00
Vincent St-Amour
ef623a46b6
Made annotations optional for let: and variants.
...
original commit: 8aab96faa6cac4fd20b7464693152d1f9a3ad106
2010-09-16 13:24:10 -04:00
Vincent St-Amour
8a94fce374
Fix some optimizer test logs to reflect racket changes.
...
original commit: e03e53b1cba5a63b5f9c0dafbb777d7116c93d1d
2010-09-16 10:48:28 -04:00
Vincent St-Amour
cc871deebb
Made some type annotations optional in the for: macros.
...
original commit: 9f87b5a7e6a2034a4d936bd2cc8e67632f8c6e3b
2010-09-15 20:21:51 -04:00
Vincent St-Amour
99b35249ab
Removed useless requires.
...
original commit: 8b60085a177d40b8a494e8f5aafe7fe52022d225
2010-09-15 20:21:51 -04:00
Vincent St-Amour
71d2819cba
Removed an obsolete comment.
...
original commit: 1b28aa41c706292734f81a61411305e8d4546847
2010-09-15 20:21:51 -04:00
Vincent St-Amour
b03abef7ff
Added annotated versions of the for macros that generate vectors.
...
They are purposedly left out of the documentation since the typchecker
can't currently handle their expansion.
original commit: a10d145f25dd4257dd216ea0b1e97184a29c7683
2010-09-15 20:21:50 -04:00
Vincent St-Amour
f991c65bb7
Added a test to make sure derived lists accessors don't get optimized then they shouldn't.
...
original commit: 65c502f9d75f919b8af37bee9698b24a082b27a0
2010-09-15 20:21:50 -04:00
Stevie Strickland
e7e187e1de
Now change box/c to use proxies or chaperones appropriately.
...
Create a mzlib/contract compatible version of the old box/c and use that
for mzlib/contract. Change the docs so that the docs for mzlib/contract
contain the right information.
Fix the typed-scheme implementation to only force flat box (or hash)
contracts when it already is required to be flat. Otherwise, allow
non-flat contracts for the element contract (or domain/range contracts).
original commit: 994ad6d10fc817a5ceca2f9f4874dac5c14c0aab
2010-09-15 16:57:17 -04:00
Sam Tobin-Hochstadt
9d31fc0726
Fix doc typo.
...
Closes PR 11190.
Closes PR 11191.
original commit: 07227ed8f7e32ed552186f41df8c9fedde1c6a02
2010-09-13 08:46:56 -04:00
Sam Tobin-Hochstadt
70a3eb6153
Fix for new ->i syntax.
...
original commit: d1835175d7cc0cab1bc717b052c1d080e7f443f3
2010-09-10 18:38:02 -04:00
Sam Tobin-Hochstadt
087b5fd8f7
Fix internal error when single value expected.
...
original commit: 979561354d3c0949208e1dd7fed9fe750f4c1cef
2010-09-10 18:29:34 -04:00
Sam Tobin-Hochstadt
8a568284b9
Add some file primitives.
...
original commit: 5789981f2c4756f2f6cd066ac6f28555dc57e1fd
2010-09-10 18:29:34 -04:00
Vincent St-Amour
f88c8f479e
Extended pair optimization to the rest of the standard derived pair accessors.
...
original commit: 0166ece180194605a52841a2a91fb2618e0372a1
2010-09-09 18:54:34 -04:00
Vincent St-Amour
19dcce8809
Refactoring.
...
original commit: 74508210687ad0e415af1f28037357ec2640e3ba
2010-09-09 18:54:34 -04:00
Vincent St-Amour
dee0ddc16e
Extended pair optimizations to some derived pair accessors.
...
original commit: 024f873947bb5664b92cd68be55653b2ca4a24ee
2010-09-09 18:54:33 -04:00
Vincent St-Amour
51faa45faa
Removed useless requires.
...
original commit: 6e5ea420a1bad921ab07788c64df6a2daaa933af
2010-09-09 18:54:33 -04:00
Vincent St-Amour
66770afa1c
Removed unused exports.
...
original commit: 85550953c8b484da89bb107f7785c4e8e1188e2c
2010-09-09 18:54:33 -04:00
Vincent St-Amour
ba761592c6
Included expected optimization logs in the test files.
...
original commit: 7f546434ed1648ff52efdb0e84883e8af5b2837a
2010-09-09 18:54:33 -04:00
Sam Tobin-Hochstadt
c13d984042
Add additional require for identifiers in the residual program.
...
original commit: c15871a0284fcf2a6a8c78fafde4fdd9a9551bca
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
9e9680d5ff
Fix typechecker tests for new environment setup.
...
original commit: 00a8a85f9dd344026a1ca8a4087a86d9bf571728
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
ea078904a5
Remove requires for environments now handled dynamically.
...
original commit: 5302b3e87c01be9c11e5f2098c90615bf5c883bc
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e0b7b06a21
Add `require' to fix tests.
...
original commit: 0ae9e0ff851a1d5835ac8ab1eb1bd1a0b7ab3c8c
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
df6cce314c
Avoid printing results of `define-hierarchy'
...
original commit: bc6d8f98ed08e1f70f1b3ea255869b06533d2372
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
eba0c35b6c
Fix `require' for contracts.
...
original commit: 867f35927430b61c411ae7c930964b9e70f42cc5
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
a074f3dc6d
`require' changes
...
original commit: 7a1b29c8f27328cacc01b34c8e01f0ac361ccc3d
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
0c00609ade
Enable struct construction when not transforming. Necessary for testing.
...
original commit: 71ae5f0a6e92f571ab34ed1849ff31c71117e12c
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
63f6827622
Fix `hash-name' to avoid collisions.
...
original commit: eea479b34a2014f259f59098a38aa33ba0ee1971
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e717d29b74
Lots more laziness, and useless require removal.
...
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
63748f9460
Progress on delaying some environments.
...
original commit: de0e8bc81ce566d9a540832f794d96b2cf9409ce
2010-09-09 16:08:03 -04:00
Robby Findler
780c2159b8
changed the ->d contracts to ->i contracts
...
original commit: d419e8c12a554d660a65198dd102bc03e01c93a8
2010-09-09 14:21:35 -05:00
Sam Tobin-Hochstadt
54763a9ca3
simplify requires
...
original commit: 837291a793bd9602af16404db1b4fc49e639021f
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
72a11f2d56
Load typechecker dynamically to reduce footprint.
...
original commit: 120a1d0d87824f90b153047cc3a5408a60753b65
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
673abe2e46
simplify
...
original commit: cfc289d806a4a71e34df8dc8b98b5024b66a4cff
2010-09-08 11:37:02 -04:00
Sam Tobin-Hochstadt
1503fed8c3
Add memory fns.
...
original commit: fae02be9f06aefd55c65211d2e95a07041ebfede
2010-09-08 11:32:04 -04:00
Sam Tobin-Hochstadt
8cdcde83cd
Fix contract name references.
...
original commit: 350cef9af8bc27dc5eb223875d3f7a3c408753a4
2010-09-08 11:05:51 -04:00
Sam Tobin-Hochstadt
fba3c3b9ca
Propogate #:mutable for polymorphic structs.
...
Closes PR 11127
original commit: a0e77705e578927e5d8180e6bc811461173580ab
2010-09-08 10:47:51 -04:00
Sam Tobin-Hochstadt
4bf64acde5
Fix polymorphic structs with mutability.
...
original commit: 6130f3551c1019c1bc035d802378c29bf574a0c1
2010-09-08 10:24:58 -04:00
Sam Tobin-Hochstadt
617496f14e
Make syntax of #{} less accepting of errors.
...
original commit: 91fefa055ea0b0fda8ae8bffb993bc163e4160af
2010-09-08 10:24:58 -04:00
Vincent St-Amour
73decd8674
Fix broken tests that depended on an unsafe optimization.
...
original commit: 14097dd90e787c08a138fa5e907680f6af96aea3
2010-09-07 20:11:44 -04:00
Vincent St-Amour
ae11f47dbd
Fixed a dangling link in the doc.
...
original commit: 11e168f01eecd7b39228d5399e045510d6349e01
2010-09-07 16:57:02 -04:00
Vincent St-Amour
a50913b597
Removed unsafe optimization on fixnums.
...
original commit: ae88abd5c849b664e4720fb0ac20b29c684b2a2b
2010-09-07 16:57:02 -04:00
Vincent St-Amour
0df6f293ce
Added the fixnum types to the documentation.
...
original commit: 440871f99d8edc425f633e87555c9f4d110c501d
2010-09-07 16:57:02 -04:00
Stevie Strickland
3e6ab819c6
Check struct predicate before checking fields.
...
original commit: 3b0de9c141edee84be57768a22b1ae3264fcc7f5
2010-09-02 19:59:00 -04:00
Ryan Culpepper
721c939b95
added #:commit to TR optimizer stxclasses
...
original commit: 0c4f82a434daa05decb6f4c92bede7ef11d5b998
2010-08-31 16:21:44 -06:00
Ryan Culpepper
7799959a8b
fixed TR optimizer to work with backtracking syntax/parse update
...
problem was unboxed-inexact-complex-opt-expr, "non exhaustive" error variant
original commit: 04a93812b455586ca3ad8c69844e20ddc6025162
2010-08-31 10:55:58 -06:00
Vincent St-Amour
a506c6cefb
Ignored a rounding error between PPC and x86.
...
original commit: e1fd445fa4acab85eb2894bc94dc1a9b009fc9ba
2010-08-29 10:17:56 -04:00
Sam Tobin-Hochstadt
01fd7f5b8c
Use `any/c' for contracts for polymorphic functions.
...
original commit: 92ce3ca02d448df97ba8e9e2210a898848cae0f1
2010-08-27 18:36:49 -04:00
Sam Tobin-Hochstadt
a6a1840da1
Use the correct name in the provide.
...
original commit: d38af188f6ee5d52b442b14a572b7e579b417925
2010-08-27 18:36:49 -04:00
Vincent St-Amour
f360fac138
Added annotations to plain for and for* in typed code.
...
original commit: d3ee52d4514170b514faecb80b5c939bf7da3aea
2010-08-27 18:18:52 -04:00
Vincent St-Amour
e9e53e8382
Improved sandboxing with code from Eli.
...
original commit: b386f01ee45b5d6f0d6dcb59668b16e729a80cc8
2010-08-27 18:18:51 -04:00
Vincent St-Amour
b12db574b2
Removed obsolete comment.
...
original commit: f06c2d492653b52b720d8776f942255d284c756e
2010-08-27 18:18:51 -04:00
Vincent St-Amour
d516bb877d
Better way to setup the sandbox input.
...
original commit: 9f540bce011106dfcda7de2c13eae3bcd3d42582
2010-08-27 14:43:22 -04:00
Vincent St-Amour
5ead0f43e2
Cleanup of syntax-parse patterns.
...
original commit: 988466369739ac5682205e49185c3956e07f3f0d
2010-08-27 14:43:19 -04:00
Vincent St-Amour
6df18f3f24
Cleanup of the test harness.
...
original commit: 1c9e8e05b061648ee7a54bf120c288eefddbfb15
2010-08-27 13:29:43 -04:00
Vincent St-Amour
989cd5ce81
Renamed tests directory to make more sense with the new structure.
...
original commit: 7cfba9f02d48d10a886bf2cfce2499a26b8db9af
2010-08-27 13:29:43 -04:00
Vincent St-Amour
31342660e4
Improved logging since it's now used for testing.
...
original commit: ca16ac4db50032324c2886766f477909f38b983c
2010-08-27 13:29:42 -04:00
Vincent St-Amour
5169f42b28
Test expected optimizations by comparing optimizer logs instead of expanded code.
...
original commit: 18af26ec9b4a20aa62bddc5cd04d54c6c35a7ac2
2010-08-27 13:29:42 -04:00
Vincent St-Amour
2ed40e6b09
Adapted filename logging for testing purposes.
...
original commit: 6f6ec3b2bf1999e64c04b9ff2afb29739e9c3eef
2010-08-27 13:29:42 -04:00
Vincent St-Amour
99658f326c
Logging can be turned on from the command-line.
...
original commit: 9b598df60a5fb621491a3513ff445e2db6053f83
2010-08-27 13:29:41 -04:00
Vincent St-Amour
7b0682b8d0
Use sandboxes instead of duplicate files to test results when optimizing.
...
original commit: 46b2a2113af3e6f8174379880620f7add5b0f079
2010-08-26 18:08:41 -04:00
Vincent St-Amour
e291319f96
Exclude directories when testing TR's optimizer.
...
original commit: eadc2a7e4c35d56ad84a251a52f1af7ce5548425
2010-08-26 17:46:59 -04:00
Vincent St-Amour
6e2563c2a9
Documented with-asserts.
...
original commit: 63530ed74df880b55b4dc85398181fb2925e6947
2010-08-26 17:46:58 -04:00
Vincent St-Amour
acd7b572ae
Added with-asserts, from code from Neil Toronto.
...
original commit: ea472a9d57b7344e9111bd37663fd7ad0884f0d5
2010-08-26 17:46:58 -04:00
Vincent St-Amour
ee39b520ce
Extend sign analysis to sqr.
...
original commit: 694d2da4b362f83b6f492095c712703856acb068
2010-08-26 17:46:57 -04:00
Sam Tobin-Hochstadt
4d0a7b1d97
Fixes for real/imag-part
...
original commit: 52c90628ce5ec306287c8202ab863fefbb9a1d62
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
3929e32f26
Tests for new optimizer additions.
...
original commit: 3e4ddde80806795923ee8dab602da80ca38e2ec0
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
c35ef60c7f
Avoid reboxing when computing real/imag-part.
...
original commit: c40c48bd97b12526e8cc9da0b9a68926478cdbdf
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
daa11ce61f
Add optimization for `magnitude', fix handling of functions that return floats, not complexes.
...
original commit: fd2d37a7108855691b566997d4c9a3032416f169
2010-08-26 16:59:12 -04:00
Eli Barzilay
48b7074752
More "~n" -> "\n" changes
...
original commit: 8e0f8dd39c3744472b450021f003f9cbe8cbcb62
2010-08-26 12:11:00 -04:00
Eli Barzilay
8ab581cf2e
Change a bunch of "~%" and "~n" in format strings to "\n".
...
original commit: 7dc4d2e5a63ab416d90e44d7bf75cb5593329909
2010-08-25 17:17:01 -04:00
Eli Barzilay
d4b3623003
Lots of "~e" to "~.s" changes.
...
original commit: 606b7f60dc597a6870efc11364e1dd3e1a8b4a1b
2010-08-25 17:17:01 -04:00
Sam Tobin-Hochstadt
7efb07a4b0
Add Futureof' type, types for
future' and `touch'
...
original commit: b08de170bc616d2217c6fde3dff8c3f1b042eb3b
2010-08-25 10:27:07 -04:00
Vincent St-Amour
69ebe6711b
Fixed the type of file-position.
...
original commit: a4b0c69ec20074eba319070613ff63d40cd937e0
2010-08-24 16:58:21 -04:00
Sam Tobin-Hochstadt
5df8b46738
Use current-readtable as the base for the TR readtable.
...
Closes PR 1115.
original commit: 72f31ffec02fc4c8f39169b80811bca98abb8f75
2010-08-21 14:05:46 -04:00
Sam Tobin-Hochstadt
cb7ab0f8ad
Provide -> in typed-scheme/no-check.
...
- Closes PR 10882
original commit: 90eeef60d73229217f87b847b38d180e6a929301
2010-08-18 16:37:32 -04:00
Sam Tobin-Hochstadt
04481bfb64
Better printing for environments.
...
original commit: 510c80b70077f09d0d5d54c5ba566abaeb59316e
2010-08-18 16:37:32 -04:00
Vincent St-Amour
f2b9a8fe2c
Documented TR's behavior when mixing exactness.
...
original commit: cf692e986d2a3690260884d929daae321d21eeb3
2010-08-13 18:48:32 -04:00
Sam Tobin-Hochstadt
f9b3146577
Fix variance of hash tables and parameters
...
original commit: 6e489f8464d2bc60e64a03e3c618e8ebf7561129
2010-08-13 11:06:56 -04:00
Sam Tobin-Hochstadt
4d5a707d99
Handle structs with special constructors and mutability.
...
Closes PR 11089.
original commit: 3359032ad58d94c9447bf842d8abcf3ad98b41fd
2010-08-13 11:06:56 -04:00
Sam Tobin-Hochstadt
6369cdb91c
Require flat contracts in box/c, hash/c, and vector/c.
...
Closes PR 11085.
original commit: 0c1dfd3c5e3490fedf2ec27b7aed962bd0cbd174
2010-08-13 11:06:56 -04:00
Stevie Strickland
21da67fbd9
Fix creation of a reversed List type from ListDots substitution.
...
original commit: a9f6ea69bfbb23d4e6ab1b5ebfcb6bb9e3b3c05a
2010-08-12 17:46:39 -04:00
Vincent St-Amour
da31c3f9a2
Documented TR's behavior on literals.
...
original commit: 201aaa9090b3aeedc0454bdd575565f8764ef2c8
2010-08-06 12:21:50 -04:00
Vincent St-Amour
b9ef6ec241
More precise type for expt.
...
original commit: 0a45e0e361d811ac07440fb24d415502d191583c
2010-08-06 11:09:04 -04:00
Vincent St-Amour
019ea62c25
Added a test for unboxed nested loops.
...
original commit: 4d43c2156562540bcd70cf91a4c712b1546f9f2e
2010-08-05 17:21:54 -04:00
Vincent St-Amour
918d50b25d
Changed optimization order for reals in complex operations.
...
Made generated names more informative and updated tests accordingly.
original commit: c653a8e655712d1108bedfff505cb51d9b804005
2010-08-05 16:43:36 -04:00
Vincent St-Amour
507afc21f4
Fixed source location for for:.
...
original commit: 500685c0f2b02ccc8ffb8746d93fde5b25a20ccc
2010-08-05 09:04:25 -04:00
Vincent St-Amour
79f4bcfbdb
Generalize naturals to integers to minimize annotations on mutated variables.
...
original commit: b18f2353cab9712c827dda692649bcd16bc3e79e
2010-08-05 09:04:25 -04:00
Vincent St-Amour
ece22fd4fd
Added opt-lambda:.
...
original commit: 4cb749130954c821754fd976d92c02aca2013429
2010-08-05 09:04:25 -04:00
Vincent St-Amour
a29f10633f
Added another tracing option to TR.
...
original commit: 0b3c637f5d5215e3fced3e83433119524145b488
2010-08-05 09:04:24 -04:00
Vincent St-Amour
d1e64146d4
Fixed parsing of keyword types.
...
original commit: 416591b35532d117bb70acf7a8282329b626c27b
2010-08-05 09:04:24 -04:00
Vincent St-Amour
d65ea9ef38
Unbox literals at expansion time.
...
original commit: 1105e70b302416c40269c11e60d7ddaa3d14b66e
2010-08-05 09:04:23 -04:00
Vincent St-Amour
82340857d9
Optimize coercion of integer literals.
...
original commit: bdf84f371d4ccf952e08251703a4249c37f81a85
2010-08-05 09:04:23 -04:00
Vincent St-Amour
4c41407d64
Added optimization for make-polar
...
original commit: fb31a6556e04d9aa6aa31c215394a80b9d146bd7
2010-08-05 09:04:22 -04:00
Vincent St-Amour
267e4c1e78
Fixed typechecking of imaginaries.
...
original commit: dbdbaed50600b7ce47e2dacc12ba1e6f2a0345b4
2010-08-05 09:04:21 -04:00
Vincent St-Amour
5b89be655b
Added technical term links to the optimizer documentation.
...
original commit: 5fa6b1c1391b80eb3a9cb9a7823780359cc91d73
2010-08-03 14:57:42 -04:00
Vincent St-Amour
f51d1e640d
Imaginaries can't be inexact complexes.
...
original commit: bce003fa1813b309382d6af01090f3cb5b9f84d5
2010-08-03 14:51:24 -04:00
Vincent St-Amour
6e1c0a9ca5
Added a link to the optimization guide in the TR reference.
...
original commit: 82f976a4d9c94d880a817a8a70b99f8673d01616
2010-08-02 21:33:31 -04:00
Vincent St-Amour
83c6f99041
Documented the optimizer.
...
original commit: cb516081c742cfeb04d754d4925389de33319cd7
2010-08-02 21:33:30 -04:00
Vincent St-Amour
492c89be8d
Eliminate user-introduced boxing.
...
original commit: b47a77dd57a4ed92f49cd92253c6c06905923f9f
2010-08-02 21:33:30 -04:00
Sam Tobin-Hochstadt
875e95973a
Remove obselete docs.
...
Add docs for legacy forms.
original commit: 39c2359006e2cc5da862d50b6d45e38bcf8cd72f
2010-08-02 17:23:01 -04:00
Sam Tobin-Hochstadt
2c1f173d62
define-struct:' ->
struct:' in docs.
...
Fix typo.
original commit: 1ce4040cd299de6c837c81b872a3b722b42c9635
2010-08-02 16:59:37 -04:00
Sam Tobin-Hochstadt
1f05ee70e2
Don't treat Error types as potentially non-regular. (Reported by SK)
...
original commit: 431ff8d794425e12577c662be7827a38531ad39f
2010-08-02 15:41:42 -04:00
Vincent St-Amour
d19a3ff923
Added some reflection functions to Typed Racket.
...
original commit: c4ba6b60388a2d65fcb44a726d12373f9ca17eee
2010-07-29 19:11:20 -04:00
Vincent St-Amour
fbb55c63c4
Extended use-site analysis to look through trivial rebindings, to support for loops.
...
original commit: 27f8279711ae93601c00d27c8041a017afdf592c
2010-07-29 18:29:59 -04:00
Vincent St-Amour
db1103ebbc
Fixed types of let loop lambdas.
...
original commit: 914f142f4fc16e4053e9e899b12e094ac93cf53e
2010-07-29 18:29:59 -04:00
Vincent St-Amour
a016db4697
Make sure that let-bound functions don't escape through a rhs before we change their interface.
...
original commit: 260de85a6efbc692abaec64d6837a4dfa965cb78
2010-07-29 18:29:58 -04:00
Vincent St-Amour
78a27d2bf9
Fixed over-generous pattern matching.
...
original commit: 435407b37a519c2e0c4401f9a07f93de99e134cb
2010-07-29 18:29:58 -04:00
Vincent St-Amour
851401b25b
Fixed a bug that caused the let optimizations to choke on TR-introduced code.
...
original commit: b58461da2dc2fd495e555e24ffd1abddca3a25b3
2010-07-29 18:29:58 -04:00
Vincent St-Amour
0edccc7db9
Extended unboxing of let-bound functions to support let loops.
...
original commit: f08456cf0708483f267fba86e10f52c318d0dedd
2010-07-29 18:29:57 -04:00
Vincent St-Amour
a2e41f4588
Fixed a bug in the complex use-site analysis.
...
original commit: 855928eb7b446d7c7eb741afe8f3a6e632f95141
2010-07-29 18:29:57 -04:00
Vincent St-Amour
425ec70787
Refactoring of the call-site correction code.
...
original commit: 4633a2a30aef91dd7d10445d1a445c75be08fe1b
2010-07-29 18:29:55 -04:00
Vincent St-Amour
1b054179b6
Changed optimization order, to avoid potential conflicts.
...
original commit: 29b9eb389d8e5ee68c922e18d67e75fe6eaa607d
2010-07-29 18:29:55 -04:00
Vincent St-Amour
c631cec4d8
Fix for escaping functions.
...
original commit: eed20f7c3a8a459dedc8798777ff3df71f2cfb2b
2010-07-29 18:29:55 -04:00
Vincent St-Amour
0f5db893f5
Be more aggressive when unboxing let bindings.
...
original commit: 3e9e5560bf216a0d555b38ee2cb6cf8a4c5ef908
2010-07-29 18:29:54 -04:00
Vincent St-Amour
7c875c3bb2
More tests for unboxed args of let-bound functions.
...
original commit: bb144249183f8e287a37a1590df5a5aa219862f8
2010-07-29 18:29:54 -04:00
Vincent St-Amour
da5586ca57
Fixed a bug with functions with unboxed complex and non-complex args.
...
original commit: defe96a148227eceaee94c886ac565cf8f253951
2010-07-29 18:29:53 -04:00
Vincent St-Amour
f86dd7f384
Added unboxed arguments to let-bound functions.
...
original commit: 9d471df8b96be389202d39d5346f37eefb6d6607
2010-07-29 18:29:53 -04:00
Vincent St-Amour
7bc583e27b
Added an option to see the result of the optimizer before compiling.
...
original commit: 1d758ee78221a87e477e62ab9cca03c816adf49a
2010-07-29 18:29:53 -04:00
Vincent St-Amour
ff4a589eee
Register type of loop lambdas generated by the for macros.
...
original commit: 27f0e50d537ef3adc5c8db94927e6f61b3e89dee
2010-07-29 18:29:52 -04:00
Vincent St-Amour
28378f77d5
Added unboxed letrec-syntaxes+values bindings.
...
original commit: b0d299d1b86e2bf07c7715e87ebb303f03bde853
2010-07-29 18:29:52 -04:00
Vincent St-Amour
277df87ff6
Added unboxed letrec bindings.
...
original commit: 8dc23d43eb23eac7a887ae2f3ef3633c54d3ba87
2010-07-29 18:29:52 -04:00
Vincent St-Amour
c625d547ca
Fixed a bug with exact complexes.
...
original commit: 4803eafa6722acfdf0d37dab3782660d22665b84
2010-07-25 22:15:18 -04:00
Vincent St-Amour
6473855e45
Fix to tolerate complexes of unknown exactness inside inexact-complex
...
expressions.
original commit: 1b998f25e5626ff18bf18c911c4b161a66574b72
2010-07-25 20:13:36 -04:00
Vincent St-Amour
34d7dda844
Added a test for cross-module struct optimization.
...
(cherry picked from commit 4e6fc3154bd286d3edcd36a25bfc672cc6a0659d)
original commit: 8f47f0019fae4faf0ea8bb09d7fbd3b3e06254df
2010-07-25 04:16:08 -04:00
Vincent St-Amour
a248746a2d
Added one more test for unboxed let bindings.
...
original commit: ec39ea5f3352068497a97c959e72814fab7089d0
2010-07-24 17:01:23 -04:00
Vincent St-Amour
ea0d96e9dd
The optimizer now ignores code that is inside a with-handlers form,
...
since it would be typechecked in an unusual manner.
original commit: 80b6ef7dd19e7d094578ae176442ee3fa8047b96
2010-07-23 18:52:47 -04:00
Vincent St-Amour
27fe7f732f
Fixed a test that could not work because of shadowing in hand-optimized code.
...
original commit: 5d86813267521e3191b91e884418ac39bdb3a8e2
2010-07-23 18:52:46 -04:00
Vincent St-Amour
56fde8109f
Fixed unboxing of let bindings.
...
original commit: 5892ef2fad2c92346cd2871e25846696f3312185
2010-07-23 18:52:46 -04:00
Vincent St-Amour
5c75aa1793
Fixed typo.
...
original commit: 12ce9abda6916bd590ac76666a6f3db4a63dd2f3
2010-07-23 18:52:45 -04:00
Vincent St-Amour
a479e9d5e3
The optimizer now ignores expressions ignored by the typechecker.
...
original commit: 82b064a520405575ea69e453dfd768ac2df2b17c
2010-07-23 18:52:44 -04:00
Vincent St-Amour
e9d9c2aca9
Added a test to the optimizer.
...
original commit: ea580e6ff88cb3be758690b99a1968179cbc3c26
2010-07-23 18:52:43 -04:00
Vincent St-Amour
eb60ac080a
let bindings of inexact-complex numbers can be replaced by bindings
...
for each of their components.
This allows unboxing of intermediate results that are bound and only
ever used in positions where they would be unboxed.
original commit: 83987fffac7719ab0c35d3df49ea0a7adf4bc9b6
2010-07-23 18:52:42 -04:00
Vincent St-Amour
fe68e29caa
Optimized extracting parts of inexact complexes.
...
original commit: 063b87697a333b2b8f53e6d2b8a43e8f500e2762
2010-07-23 18:52:42 -04:00
Vincent St-Amour
2ef2641a4d
Refactoring of the optimizer.
...
original commit: 0493e6f7623361a289989654d25deac19e552de6
2010-07-23 18:52:41 -04:00
Sam Tobin-Hochstadt
69476bba24
Optimize (apply + (map f l)) to avoid the intermediate list.
...
original commit: 5bb730f72c91f52166009d1e5fbe52a346c91edf
2010-07-23 14:11:40 -04:00
Vincent St-Amour
9bef097987
Optimizations on one-argument cases of arithmetic operations.
...
original commit: 0ee0886cab6989843a9bef1eb3797657e0f1d0c2
2010-07-21 21:09:43 -04:00
Vincent St-Amour
6c0c6b3f65
Added optimization for string-length and bytes-length.
...
original commit: 4e944f73abc138b7d283020bf5c577fe6ecf6e95
2010-07-21 21:09:42 -04:00
Vincent St-Amour
19f4d78569
Added box optimizations.
...
original commit: d6ce6e664f0bd361207725fb3ea9b2a265f39374
2010-07-21 21:09:42 -04:00
Vincent St-Amour
245f1e311c
Improved closure properties of bitwise-and.
...
original commit: 234e8c363cfd90499566ae24b3cb548785a93ff8
2010-07-21 21:09:41 -04:00
Vincent St-Amour
3aae29501e
Bytes are fixnums.
...
original commit: c4ae44123f74de07933d1c6edfb25be4609af6dd
2010-07-21 21:09:41 -04:00
Vincent St-Amour
43683352c5
Improved behavior of coercions with n-ary arithmeric operations.
...
original commit: d078305a59368156e0c977798af4cb805bc3b679
2010-07-21 21:09:41 -04:00
Vincent St-Amour
53f7550b51
Added type signatures for operations on inexact complexes and floats.
...
original commit: a31d7b60c8e6911f7b77c3a6f96af2c37da36b9e
2010-07-21 21:09:40 -04:00
Vincent St-Amour
545a02dfe6
Changed the interface to typed racket's test harness.
...
original commit: b13075a1c0679ecf20cc6c84224131c45f455399
2010-07-21 21:09:40 -04:00
Vincent St-Amour
9fea49db55
Added optimization for zero?.
...
original commit: 47195410cbbe7d19ac6e33175fd57bfce6e6c4b3
2010-07-21 21:09:40 -04:00
Vincent St-Amour
b71fbae36a
Further fixes in overlap checking.
...
Rhss of code dispatching on overlapping structs are no longer
considered dead, and as such, are now typechecked.
Had to fix a test that passed only because some not-really-dead code
was not being typechecked.
(cherry picked from commit 4d5b50dee9e04aee167a7e04fbbe23526131fcad)
original commit: e0614cfed24dfc9e7f89b9a8c77e7930695b0269
2010-07-18 18:58:02 -04:00
Stevie Strickland
0161cda2d4
Two fixes in overlap checking.
...
- Names were not being resolved, so a superstruct name and substruct name
could be seen as non-overlapping.
- Struct parents were not checked in the overlapping algorithm.
(cherry picked from commit 654b7df1decd52763ffedcdc507a4bf367b1cecf)
original commit: 3884d5661022ef970a77f127e7a58d052760d635
2010-07-18 18:58:02 -04:00
Vincent St-Amour
1130482725
Documented the optimizer.
...
(cherry picked from commit 8d6230956dc8c207c097a389fa1f0c7273bb55b7)
original commit: 536551ce5ec30081a4823a21512e8ecbfc448bbf
2010-07-18 18:57:41 -04:00
Vincent St-Amour
a421071d91
Added whitespace to the typed racket test harness.
...
original commit: 8aa4fae613c3f2c99dd5bb145727db94916df537
2010-07-16 19:08:21 -04:00
Vincent St-Amour
8f088b820b
Don't abort typed racket's tests if the main tests fail.
...
original commit: 8563f02ba82edd822f0e6a6b39ff915d5708587a
2010-07-16 19:08:21 -04:00
Vincent St-Amour
40d4840ae1
Fixed unsafe optimization that considered floats as complexes.
...
original commit: 60bfce14bc0166742fed7675b81d8c5c0dcec2d4
2010-07-16 19:08:20 -04:00
Vincent St-Amour
134fb72de1
Further fixes in overlap checking.
...
Rhss of code dispatching on overlapping structs are no longer
considered dead, and as such, are now typechecked.
Had to fix a test that passed only because some not-really-dead code
was not being typechecked.
original commit: 4d5b50dee9e04aee167a7e04fbbe23526131fcad
2010-07-16 19:08:19 -04:00
Stevie Strickland
f3a78d1e10
Two fixes in overlap checking.
...
- Names were not being resolved, so a superstruct name and substruct name
could be seen as non-overlapping.
- Struct parents were not checked in the overlapping algorithm.
original commit: 654b7df1decd52763ffedcdc507a4bf367b1cecf
2010-07-16 19:08:19 -04:00
Vincent St-Amour
eb5e5f55d6
Documented the optimizer.
...
original commit: 8d6230956dc8c207c097a389fa1f0c7273bb55b7
2010-07-16 19:08:18 -04:00
Vincent St-Amour
1657089284
Added mutable pair optimizations.
...
original commit: fc29e7e8562e4b00c6e7de5882d8ccf374051ca1
2010-07-16 12:22:16 -04:00
Vincent St-Amour
295b5daa2d
Fixed an infinite loop.
...
original commit: f21454e71141feb491c88cf7f83636ee55c76775
2010-07-16 12:22:16 -04:00
Vincent St-Amour
210446e679
The imaginary parts of reals are ignored when doing complex division.
...
original commit: c587038b339b98ea14f90d683706c470aed05f24
2010-07-16 12:22:15 -04:00
Vincent St-Amour
4da58f05c4
Fixnums and integers can now be coerced for complex operations.
...
original commit: 443d8b9f917055d051844bb1cd4078a75dcdd592
2010-07-16 12:22:15 -04:00
Vincent St-Amour
b6597e15ed
The imaginary parts of inexact reals are ignored when doing complex multiplication.
...
original commit: c645aa7ebcb6f53686bee78caf3a66af51c36142
2010-07-16 12:22:15 -04:00
Vincent St-Amour
9c89287b24
Fixed bugs in the tests.
...
original commit: b0788372ea1fc619036656b88aab1f4736a4d5e3
2010-07-16 12:22:14 -04:00
Vincent St-Amour
c413450d2c
Better error reporting by the optimizer's test harness.
...
original commit: 566aeedb598dbc2788ff4360bb23177fbdd74a30
2010-07-16 12:22:14 -04:00
Vincent St-Amour
9c1a9c4661
The optimizer's test harness now makes sure that optimized and
...
non-optimized versions of the same code evaluate to the same thing.
Unfortunately, this leads to a lot of code duplication. We can't
abstract over optimization like we do for the benchmarks since the
wrapper module would interfere with testing expanded code for
equality.
original commit: 7fb1b41a28c1a082e5f726bbc2acab4e2cc0e5fb
2010-07-16 12:22:14 -04:00
Vincent St-Amour
5f878b83bc
The imaginary parts of inexact reals are ignored when doing complex
...
addition or subtraction.
original commit: 748e9e47ad65c31d653907623b17689b47c76269
2010-07-16 12:22:13 -04:00
Vincent St-Amour
6ec1b3686b
Added coercions for floats with unboxed complex operations.
...
However, this generates superfluous operations involving their
imaginary part of 0.
original commit: 025af5b815503cb4aa64f0a253204016ccba7383
2010-07-16 12:22:13 -04:00
Vincent St-Amour
f5c518398f
Enabled optimization of complex conjugate at the top level of complex operations.
...
original commit: fff71e6a1d5746bf30ec7b3d64ec63ccd43f8065
2010-07-16 12:22:12 -04:00
Vincent St-Amour
4e3f1c1e4b
Added unboxed complex conjugate.
...
original commit: 063211d92263267b8e6b2703af70d9a46e7186bf
2010-07-16 12:22:12 -04:00
Vincent St-Amour
19781fc153
Added optimizations for iterating over vectors and strings.
...
original commit: 0b0da84eba4fe7dcab87e4e5eed5dd213de2dc9f
2010-07-16 12:22:12 -04:00
Vincent St-Amour
70cfe1b953
Added dead code elimination.
...
original commit: 1e550139aa67631ffc965027584284b61453b634
2010-07-16 12:22:11 -04:00
Vincent St-Amour
52559ccd98
Better internal error reporting.
...
original commit: 58fe07ad70b74345e65ccf58171dc73e96be6b2b
2010-07-16 12:22:11 -04:00
Vincent St-Amour
a4cb468a71
Various fixnum unsafe operations improvements.
...
original commit: b7229487a59d3fa53f92bffb9f7374ab28bb8032
2010-07-16 12:22:11 -04:00
Vincent St-Amour
c05f2797aa
Added a test for cross-module struct optimization.
...
original commit: 4e6fc3154bd286d3edcd36a25bfc672cc6a0659d
2010-07-16 12:22:10 -04:00
Vincent St-Amour
8d95570bcb
Added types for sequence functions.
...
original commit: 4a8113eac6adfd68533a0a134ba8b1434846da97
2010-07-16 12:22:10 -04:00
Vincent St-Amour
7849444de2
Fixed the type for fxrshift.
...
original commit: 85b96a98b3f3ae2cb89f157bbf2ee3a83a5c365e
2010-07-16 12:22:10 -04:00
Vincent St-Amour
4d23f3416c
Added types for byte-string I/O functions.
...
original commit: 8c840a22825bd6f2723e02a8ff56d76ffaa66367
2010-07-16 12:22:09 -04:00
Vincent St-Amour
33f4ea048d
Added types for integer/bytes functions.
...
original commit: 3dbbd6d3fc47e3f23fee85bfcfe53d2827f18db5
2010-07-16 12:22:09 -04:00
Vincent St-Amour
9a06f49bce
Added type for collect-garbage.
...
original commit: abee5a4db7633ccbc3daff77d5ab80594756bea3
2010-07-16 12:22:09 -04:00
Ryan Culpepper
f3054a84c0
Added uses of unstable/struct
...
original commit: 07f57aac9b3f52552397bd53597de192ff62fbbc
2010-07-13 12:07:47 -06:00
Robby Findler
7477ced0dc
rewrote an ->d contract so that it would work with a let*-style scoping
...
original commit: 41cfcbe862d48722d0efef76d08b14b0ec428498
2010-07-10 10:01:25 -05:00
Sam Tobin-Hochstadt
91d6ac64d1
remove debugging printf
...
original commit: e28b60e44fde524c520c62f3fe54b9f6dac04b9d
2010-07-09 14:06:46 -04:00
Sam Tobin-Hochstadt
e103e44bc1
Fix missing unquote
...
original commit: d030d0631d8cb77888ba8a53843b0fb8e4b4c0dc
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
d3be8100a0
add variance helper functions
...
original commit: a84796d8d7c7696ee635308ebf173c375466ebb3
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
ac2e4153b0
add `make-constant'
...
original commit: c6fb95d44d2869baa2f53f3f8dba04b19620da81
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
87bf9dc23d
generalize inferred types for invariant positions
...
original commit: 898c92eb1e6b476a8511d4d4be2e9b962e147d5e
2010-07-09 13:52:39 -04:00
Vincent St-Amour
06afbef56f
Removed a stray TODO comment.
...
original commit: 8505bd8bca25f9352eca5ad8d8a009bd6fe65a68
2010-07-08 18:29:16 -04:00
Vincent St-Amour
a128800e24
Pushed optimizations to auxiliary syntax classes.
...
original commit: dbda43ac6ba5d7e001cde75b16e39fcf3f60b5e1
2010-07-08 18:29:15 -04:00
Vincent St-Amour
8deff8c920
Refactoring of the optimizer.
...
original commit: c3f46cc8a6512379ead3cf99cf94fe426bec3f5a
2010-07-08 18:29:15 -04:00
Vincent St-Amour
e9ff5ae34d
Moved Typed Scheme's optimizer to its own subdirectory.
...
original commit: 24aad77da3e3c2e411642cdb08fffaaa31a0b1cb
2010-07-08 18:29:15 -04:00
Vincent St-Amour
8ffb3128e4
Fixed pessimization of some complex code.
...
original commit: ea8523bd63665f5330d25c7babf3872298f1e570
2010-07-07 22:08:51 -04:00
Vincent St-Amour
9320340cb9
Improved unboxed complex operations.
...
Intermediate results are kept as unboxed floats as long as we stay
within complex arithmetic code.
original commit: 7853d333495376f065c63a19866ac2eba6f8926a
2010-07-07 19:42:56 -04:00
Vincent St-Amour
f7ac316db2
Avoid boxing intermediate results when doing multiple complex
...
operations in a row.
However, because of values and let-values, we lose float unboxing.
If we have a single complex operation, this is much slower than my
previous implementation (though still faster than generic
operations). With 2 complex operations, the new implementation becomes
faster.
original commit: 7921074eef1e36984479db5b8eea3c6bbbe13064
2010-07-07 19:42:55 -04:00
Vincent St-Amour
d55cf6d13a
Avoided duplicate computation in inexact complex division.
...
original commit: de52d2ce9ffede21df37e74edb6cdb47bfab1828
2010-07-07 19:42:55 -04:00
Vincent St-Amour
9e3912d390
Generic inexact complex arithmetic operations are now replaced with
...
the right combinations of unsafe float operations.
original commit: 3fb69bc764885f2e6ef25134da747caa32b80f05
2010-07-07 19:42:54 -04:00
Vincent St-Amour
592aa2ac8c
Added an optimization for vector-length of known-length vectors.
...
original commit: e52d63ee686e20401f0b0df80d178e40e9a0226f
2010-07-07 19:42:54 -04:00
Vincent St-Amour
f578a22046
Have type ascriptions record the ascribed type in the type table.
...
original commit: eb7fc7a9655f26f35220295c24086da3699c3187
2010-07-07 19:42:54 -04:00
Sam Tobin-Hochstadt
10d5e7851e
Add typeof mappings only to original form.
...
original commit: e865380f6f7ebf843c4a4a7dea25261b28e759fc
2010-07-06 14:09:46 -04:00
Sam Tobin-Hochstadt
f6df8722f5
Improve interface for `find-mutated-vars', now supports mutable *and* immutable versions.
...
original commit: 692a1724746d1dfa9f666c8f6fed2090ed900099
2010-07-06 14:09:46 -04:00
Vincent St-Amour
ccbf54bdf7
Added support for make-flrectangular, flreal-part, flimag-part and
...
their unsafe counterparts to Typed Scheme and its optimizer.
original commit: 389a20795a5bb6db25341b899e7ec58e6eb5a0d1
2010-07-02 20:58:30 -04:00
Vincent St-Amour
a3a3bd1e2e
Added coercion of fixnums to floats to the optimizer.
...
original commit: 556734a223f4193c1c23ded76f204f1e6bb25295
2010-07-02 20:58:29 -04:00
Vincent St-Amour
38d40649d5
Changed the optimizer's test harness to ignore type tables.
...
original commit: e8a0a26c2f4b3f8da6beb0b3a6b7348d6cfeccf9
2010-07-02 20:58:29 -04:00
Vincent St-Amour
fe84eaf722
Added struct optimizations.
...
original commit: a6d11a1df08336183e1af36b787c134e1bf4f469
2010-07-02 20:58:28 -04:00
Sam Tobin-Hochstadt
474741601b
Add flags for running the optimizer tests and compiling the benchmarks
...
original commit: e989631d56a70b90077cbdca7993a25dc70c2011
2010-07-02 19:00:57 -04:00
Sam Tobin-Hochstadt
b415e84cd6
Fix inference for heterogenous vectors.
...
original commit: 0e400291e78c46cf1f4ded2c668e2b989814fc5e
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
b4e86dc502
Use `define-type' to make docs clearer.
...
original commit: da3b4ed543ec9ca9aa3b114f4da44d12af4a60e7
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
c67aef8622
Refactoring of tc-app.
...
- Move `check-below' into its own module
- Move `tc/apply' to its own unit
- Move `tc/funapp' and `tc/funapp1' to own module, outside of unit
original commit: 219682bbbef3f1593bde169796087b56e354a7fc
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
6aa8cbee9d
Generalize fixed-length lists to listofs.
...
Closes PR10057.
original commit: 570df7d6658d4ff0b88c12fb6d3af4917a1a3fa3
2010-07-02 17:25:07 -04:00
Vincent St-Amour
c6d892cd0f
Fixed make-vector's type to reflect generalization on vectors.
...
original commit: ed4f7b7bd7bc452b6accfd32ae14402fc60532c7
2010-07-02 15:48:08 -04:00
Vincent St-Amour
49addde405
Added support for recursive types to vector-ref and vector-set!.
...
original commit: 40988d6d547366a520668074cc685e3f2ab22b8e
2010-07-02 15:48:07 -04:00
Vincent St-Amour
d1687b5b2b
Added optimization when iterating over lists.
...
original commit: 458b6b65c9c281c0da2f2c63de068037d3d55703
2010-07-02 15:48:06 -04:00
Vincent St-Amour
f121650526
Added support for the 2 versions of optimizer tests to be written in
...
different languages.
original commit: 1886572906c40c11eb777a3eb1e273ce3877037b
2010-07-02 15:48:05 -04:00
Vincent St-Amour
228f9a971b
Fixed some tests that used to test for an invalid optimization that is
...
now valid.
original commit: f6077b02f121c4300a761de4f5f2f1a18c361d7e
2010-07-02 15:48:04 -04:00
Vincent St-Amour
39d245984a
Calls to vector now return heterogenous vectors, to preserve length
...
information.
original commit: f79f617ee80417059c15d9228489ec1cb716448a
2010-07-02 15:48:03 -04:00
Vincent St-Amour
e431a658e6
Fixed types for the unsafe versions of vector-length.
...
original commit: 843621398b1086f492f6b9130a7a93a65c2fe4f3
2010-07-02 15:48:03 -04:00
Vincent St-Amour
93d8f8839c
Literal vectors are now given HeterogenousVector types to preserve
...
length information.
original commit: 8c25e46141da263e7f8b75813eb5b09af43e0aee
2010-07-02 15:48:00 -04:00
Vincent St-Amour
fbf7cbd494
Fixed the behavior of the optimizer on sqrt.
...
original commit: 351de3f767cd7b32fe75963e206c7c8da379d26b
2010-07-02 15:47:58 -04:00
Vincent St-Amour
1ebe111f88
Fixed the type of real->decimal-string.
...
original commit: cdfbbc5476b6c2df62aedc8813ad13bc28cb2619
2010-07-02 15:47:56 -04:00
Vincent St-Amour
98c88bf163
Generalization is now done on vector types.
...
original commit: 636fca1a83d453877bcab60f8e3f613d2afd97c3
2010-07-02 15:16:11 -04:00
Sam Tobin-Hochstadt
4340fd2909
Better handling of expected types for `vector'
...
original commit: ed88b9dd1a84908d75855e826f2b1e1d60a407a9
2010-07-01 17:32:16 -04:00
Sam Tobin-Hochstadt
2fd9e3236c
Better typing for `make-sequence'.
...
original commit: 71bb63c128f8331dc19455bb75a8918dc5055e03
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
09d59a56bf
Avoid some quotes while printing types.
...
original commit: 9a1c08e230d2a76cb052dab1ab231974ddc652ad
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
75ea7fcd25
add `displayln'
...
original commit: 6f7c0112d3310a3e189874974c0a623a0c330537
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
4b3b0cdf41
Add --just flag for running tests.
...
original commit: 3d347f117b9ba648536094eb9e0bf1ab1653ea76
2010-07-01 13:47:02 -04:00
Sam Tobin-Hochstadt
b837057b1d
Fix error reporting regression.
...
original commit: 829689eb9d93f19a7872a31c8d536be542ed8675
2010-07-01 13:46:16 -04:00
Sam Tobin-Hochstadt
2a2a54c438
Fix error spec for this test.
...
original commit: 4f3e3625b30adb9ec7af9d0139230d8b85150310
2010-07-01 13:45:52 -04:00
Sam Tobin-Hochstadt
63b18963f3
Better error message for multiple ->
...
Closes PR 10493.
original commit: 75bd26d3265d807406db3d7014e4a02ec826630c
2010-07-01 11:35:21 -04:00
Sam Tobin-Hochstadt
023c51aec2
Support syntax errors blaming multiple syntaxes.
...
original commit: efbdfd3e6e8e561858df08385f4da3acd37a599f
2010-07-01 11:35:20 -04:00
Vincent St-Amour
2229399d2c
Updated build-list and build-vector's types for fixnums.
...
original commit: 1fe70704a2cbe4462f9bd1b116db9f356d06b4ea
2010-06-30 14:53:23 -04:00
Vincent St-Amour
eb326dd443
Better types for modulo and remainder involving fixnums.
...
original commit: adf5c8c030656026d70a627009a0655bd1546af7
2010-06-30 14:53:22 -04:00
Vincent St-Amour
6dd9ffd727
Added the Nonnegative-Float type.
...
original commit: 62a15df3eb2fd7dc5a8ef2455c0f20918697a668
2010-06-30 14:53:22 -04:00
Vincent St-Amour
e25b242c6a
Added filters for numeric comparisons.
...
original commit: f026da5ecf4cd144dfc82ec5660c95542c49bb07
2010-06-30 14:53:22 -04:00
Vincent St-Amour
9b7ee99d39
Extended type signatures for addition.
...
original commit: e8c42cd20cc00e607e44bb6f172333d49b8a707d
2010-06-30 14:53:21 -04:00
Vincent St-Amour
f89158a144
Updated make-vector's type for fixnums.
...
original commit: 06b636b2e31e32fed83d1a58293e1b8f36f8381a
2010-06-30 14:53:21 -04:00
Vincent St-Amour
b7d9ed75e2
Added the Inexact-Complex type.
...
original commit: dcfb2d8a94b1359217b9451b7a97d4afa425a6da
2010-06-30 14:53:21 -04:00
Vincent St-Amour
c6a22a53f4
Fixed the type of min and max to only operate on reals.
...
original commit: ef576e27c5187783648209c55d4ca211ff693e05
2010-06-30 14:53:20 -04:00
Vincent St-Amour
848b6f0e02
Kept track of source location better in the for: macros and got rid of
...
useless type ascriptions.
original commit: 22a652ef8effe8cf670cd69221cb3dd4689b6a21
2010-06-30 14:53:20 -04:00
Vincent St-Amour
431d91bf89
Fixed the type for hash-ref!
...
original commit: 90252c9bd33e7205a5494dd13fc823d6df78b477
2010-06-30 14:53:20 -04:00
Vincent St-Amour
98738ea50a
Added a rule for valid float promotion when dividing.
...
original commit: 8ec6d7ff3f835f88be73c07dddcf9e2dd6388e79
2010-06-30 14:53:19 -04:00
Vincent St-Amour
fc1a0a9e05
Added special case to the typechecker for (- <positive-fixnum> 1).
...
original commit: c6373ca7c09ec74e50e8b435b9a0387310c1b202
2010-06-30 14:53:19 -04:00
Vincent St-Amour
be0e26235a
Fixed build-vector's type.
...
original commit: f27aac552fde4580850493dbde9fbb3d4a989e5a
2010-06-30 14:53:19 -04:00
Vincent St-Amour
783b505c9d
Eliminate exact->inexact of floats.
...
original commit: a6872c67a74e5d65a8a68b7fd5daa16b4225efe9
2010-06-30 14:53:18 -04:00
Vincent St-Amour
d89e82755f
Added fixnum optimizations.
...
original commit: dfafc0b2958debe3953aa6c525a737f8c63859c8
2010-06-30 14:53:18 -04:00
Vincent St-Amour
18155bf2c5
Added fixnums to more type signatures.
...
original commit: cee39c4a38bb0ca41f79a4b8e9e159501e5d627d
2010-06-30 14:53:18 -04:00
Sam Tobin-Hochstadt
4a5379ca01
Forgot to disable this yet again.
...
original commit: f7634043479125de58308197c3fb5fea75146db5
2010-06-30 12:04:23 -04:00
Sam Tobin-Hochstadt
19bb208f4f
make subst structs transparent
...
original commit: 18078400b77114880e99e1c39913f8df96a0faa2
2010-06-29 17:34:44 -04:00
Sam Tobin-Hochstadt
887f054a55
Refactor struct type representation.
...
- fields now represented by fld struct.
- mutability on per-field basis
- accessors are per field
This fixes lots of existing bugs, allows future #:mutable on fields.
original commit: c01b2397796cce0ade2ed7515ffe33c9eb338c4f
2010-06-29 17:33:36 -04:00
Sam Tobin-Hochstadt
7186e085fa
minor cleanups
...
original commit: 3c4f1f39b8acf610576f4069c37929f071c60ec3
2010-06-29 17:33:35 -04:00
Sam Tobin-Hochstadt
7341d85d62
Remove bogus reference to 'sexpression', add docs for Sexp type, don't use Sexp where inappropriate
...
original commit: 26e73cf61d80636246dd0bf5912b7670c30698d6
2010-06-28 11:12:21 -04:00
Sam Tobin-Hochstadt
efa50529d0
remove unneeded export
...
original commit: a214f50812546e045ff9ca3c6273a06f89c4bdf9
2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
5883e7e818
Use get-type/infer for un-annotated defines.
...
original commit: 0bae63b516a3081276aefd1e2d46b28eba4f31be
2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
e3f8fff0e8
Generalize mutated variables when inferring types.
...
original commit: 90d8a3cc13dd76ba8d1eaefa98ee5e3248e43b04
2010-06-28 11:12:20 -04:00
Vincent St-Amour
db81a50276
Fixed Typed Scheme's optimizer's test harness to work with drdr.
...
original commit: 28acece484b050cd42f57c3826e47d92bde31aee
2010-06-25 13:25:42 -04:00
Vincent St-Amour
e96760613b
Fixed the optimizer so that it optimizes float comparisons.
...
original commit: 382a45ad6fe99f758451631b07fac393333893a8
2010-06-25 11:00:26 -04:00
Vincent St-Amour
fe3ce60a26
Typed Scheme now optimizes (exact->inexact <Integer>) to (->fl <Integer>).
...
original commit: d6008f9191c5e00e335d2f683fecbc9d09c34475
2010-06-25 11:00:25 -04:00
Vincent St-Amour
773d817389
Typed Scheme now optimizes (fl)vector-length for all vectors and
...
vector-(ref,set!) for vectors of known length.
original commit: b345d5f0f0d2b8bbf02a5a97b335e288ef172e58
2010-06-25 11:00:24 -04:00
Vincent St-Amour
92347a18b6
Wrote a test harness and a couple of tests for Typed Scheme's optimizer.
...
original commit: fd987546b3d0293edba097f940c33fbdbf6c3b86
2010-06-25 11:00:23 -04:00
Vincent St-Amour
b8378a32a7
Added better tracing to the optimizer.
...
original commit: d47221c55dba99ecbce45affa92011203b02bb9e
2010-06-25 11:00:23 -04:00
Sam Tobin-Hochstadt
680e7fee29
More fixnum improvements.
...
original commit: 3251712ef79832415b371a7ff2c6593da0372411
2010-06-24 18:17:01 -04:00
Sam Tobin-Hochstadt
a7b787db6c
Add Fixnum type.
...
original commit: 4b1c62c9785a6578ba2f894a53a8ee6f1a03152f
2010-06-24 18:05:55 -04:00
Sam Tobin-Hochstadt
c898d882c6
recreate selector table automatically.
...
original commit: a33f460b2547866d492bf01c81ded9b2a669ea26
2010-06-24 16:48:10 -04:00
Sam Tobin-Hochstadt
bc193f512c
Types are not quotable.
...
original commit: 40ca16bc3059a029adddd5da1006680db578fa4c
2010-06-24 16:47:25 -04:00
Sam Tobin-Hochstadt
8e76e34368
More options for test runner.
...
original commit: 5b1118d514ca8cc7f0071bfa531f8268401fc531
2010-06-24 16:46:31 -04:00
Sam Tobin-Hochstadt
7f6da53efa
Use the correct field numbers in substructs.
...
Maintain table of struct accessors/mutators.
original commit: 3c8952d63d2cd28a3b5a588c0367b53dc963308b
2010-06-24 14:53:38 -04:00
Sam Tobin-Hochstadt
68ba63ce4d
Better handling of unsafe identifier generation.
...
original commit: 3078807757448b9223bcd58cfa10d7b30db4ddee
2010-06-24 11:05:55 -04:00
Vincent St-Amour
93728d1ebd
Switched indexing to integers in the typechecker's special cases for
...
heterogenous vectors and unsafe struct operations.
original commit: 3c9e7e34db69a6112f8aa87c4e5c3edcd550b4ab
2010-06-22 18:42:26 -04:00
Vincent St-Amour
1d48090ecb
Added support for unsafe struct operations to Typed Scheme.
...
original commit: 7d1040283ed325c93fb5499649a0aba5cfadfab7
2010-06-22 18:42:25 -04:00
Vincent St-Amour
9cbdbd8ed7
Added support for unsafe operations on heterogenous vectors.
...
original commit: 379d9a21251696293a997aa1c58611b85b41b6ce
2010-06-22 18:29:57 -04:00
Vincent St-Amour
8dc90d067b
Moved the types for some byte string operations to
...
base-env-indexing-abs.rkt.
original commit: eea31102b015d77ee989dfb0951729b3f1bfa313
2010-06-22 18:29:57 -04:00
Vincent St-Amour
1cf790fc86
Fixed the types of flvector operations.
...
original commit: 192c1fa995f44163d42e46f2466bdd05e74a98a8
2010-06-22 18:29:56 -04:00
Vincent St-Amour
0f27106fdd
Made make-vector's type more convenient.
...
original commit: 61545c4e75795adbdd951ed94fb6274a1a7b9709
2010-06-22 18:29:56 -04:00
Sam Tobin-Hochstadt
8869cd4d22
Add `struct:'
...
original commit: 6e1954d79b520fefd21abe81d06fe615e056ac93
2010-06-22 16:29:35 -04:00
Sam Tobin-Hochstadt
b718e60469
Typecheck `map' expression, not just #'map.
...
original commit: bce2cedf3864166c137ef91ca3f79f45fb6745da
2010-06-22 10:12:54 -04:00
Sam Tobin-Hochstadt
0bf7faa4fa
Initialize `infer' for tests
...
original commit: 95c5f942e6854e1d066b7627b2f65097e14e24b9
2010-06-22 10:11:14 -04:00
Sam Tobin-Hochstadt
eb621217bc
Docs for List x ...
...
original commit: 4df7d09ef1933fc128737ad3d29b61428d80b70b
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
f50aa4917a
support `map' over multiple ListDots with the same bound
...
- also support ListDots + Listof (map errors when not same length)
original commit: 0c7c722e16cd9f6e3e88deaa45cb681337021078
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
84247a1882
allow optional specifcation of var pattern
...
original commit: b8777d20b26837d8ecfa78eeeda25fdccdb4a783
2010-06-21 18:30:29 -04:00
Stevie Strickland
e73d9f5ee8
Generate dcon-dotted, and substitute for them.
...
- generated only in the case where we have two ListDots or two ValuesDots
- or when -> with the same bound, and fixed argument lengts are identical
- currently errors if there are any 'fixed' portions
original commit: 034b22d01401bba31f700dd5cb38fcf731ed64be
2010-06-21 18:30:29 -04:00
Stevie Strickland
a49d4de0ba
Take dcon-dotteds and create an appropriate i-subst/dotted entry.
...
original commit: 9c22701bd3a0178470e736b51c1c6c863ebd08d6
2010-06-21 18:30:29 -04:00
Stevie Strickland
c925e90dc6
Add fixed part to dcon-dotted.
...
original commit: 3f7ca52e370dfa0b81b5c9955c785bd429cda3d8
2010-06-21 18:30:29 -04:00
Sam Tobin-Hochstadt
380885f978
Implement substitutions as hash tables from vars to subst-rhs.
...
- add convenience function for generating substitutions
- give trivial substitution for unreferenced index variables
original commit: 339add9f78723fecb3e7332a8a173f615c37bc2c
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
6514ee71e1
Refactor substitution.
...
- new file types/substitute
- use structs for substitutions
original commit: 44d46e4cd7ecc06a264282b31dd7ba47dee421f1
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
da323feea3
This test case now passes.
...
original commit: dcc8beb5cd00f6fc12c450be56b4ba83823e3898
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
5618abb4f4
provide more information in inference failures
...
original commit: 8990459be69c3e720871bff23827826709990c49
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
9f8b2e4e2b
fix fail! to use the correct arguments
...
original commit: 692dc025c0db0aa64ee358ae5a36cbd6165455a3
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
16617152c5
Fix move-to-dmap functions
...
original commit: 9f99c914f3ce2c00119b64caa0be1a286df398c1
2010-06-21 18:30:27 -04:00
Stevie Strickland
f1ef77e550
The initial shot at extending cgen and friends to take both X and Y.
...
This doesn't fully work, in that more test cases are broken. However,
this is mostly due to questionable inference rules in the past, and
so fixing these errors should lead to a more correct inference algorithm.
(i.e. we need to handle things like (List X ... a) (List Y .. b),
where a and b are not the same bound. We'd started this work before,
but never actually gone through with it, since smashing regular and
dotted type variables into the same environment meant some things
magically worked when they possibly shouldn't have.)
original commit: b5d4d54d450b7c2e87ab1d80db66e84cbd1bd2e5
2010-06-21 18:30:26 -04:00
Stevie Strickland
b956e47ed2
Export the types provide macro.
...
original commit: 078b57c77da5051470cf88e932c69f9f95ed60b6
2010-06-21 18:30:26 -04:00
Stevie Strickland
5a4d6ed4a0
Fix up subst-gen to treat vars and idxs separately.
...
original commit: ec09139e0a22007fd3f6bd7ac69336053d65bb48
2010-06-21 18:30:26 -04:00
Sam Tobin-Hochstadt
7e4ee76e4e
Various small assorted fixes.
...
original commit: d886331807f55e5a2a4ebb464b50d50835e20393
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
c2b7caa66d
The inference engine doesn't need this annotation anymore.
...
original commit: e235c837b0d20538ca4c0fc024c18ddb30ac2ae4
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
c10334cfb0
More progress on refactoring infer
...
original commit: 82e7d281cb028e9d2e5c57a9a8c01b4d4e18275a
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
fdfdd6e3b2
Fix a bunch of uses of `infer' et al.
...
original commit: 18f45c413882b9e145fffa84d41bfb5b378396fc
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
d26ad0e213
Change inference to take into account index vs regular vars.
...
original commit: 99e499a503b8b319bc0e512b698e5543634e3654
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
9b93ec46d3
Fix free index computation when the body refers to the bound.
...
original commit: e8a591d2915c54fdf5b674d9859b7ebc7b13dd73
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
0d7111128c
Refactor free variables.
...
- free-idxs no longer holds free de Bruijn indexes
This information is not needed, and not stored anywhere
- free-idxs holds free *index* variables, in the sense of the TOPLAS submission
original commit: 662f982b724e7194f5729a9894fc642f06e7910f
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
fbd795c01e
Re-enable the printer here.
...
original commit: 7b2de5373380a0bc833215dd9d3beed87fa686c3
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
9d6132fa0e
Add case to be fixed
...
original commit: fe9395fdbf0dcf8e64bdfaf247845c7858e35423
2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
d37f9f7d54
Switch to using functional hash tables for free variables.
...
original commit: b787c7766c3cac9a5054d6a76ec5de1a78a540c2
2010-06-21 18:30:23 -04:00
Sam Tobin-Hochstadt
b3b2b264a9
Special case for (apply values ListDots)
...
original commit: a93aecbed74672948b598a960f667d3240f86031
2010-06-21 18:30:20 -04:00
Sam Tobin-Hochstadt
38e065db7f
Change type variable environments from hash tables to sets.
...
original commit: 12384c6c3fd14020c99018d51058240f4258074d
2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
78b767252d
Refactor test harness.
...
original commit: e9f8cc9aca6a67a9b56f0ba9dd202f0fa2669ab6
2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
1e98e1c1fd
Add index-env.
...
- Remove Dotted and DottedBoth values from tvar-env
- Abstract env extension and lookup for tvar/index-env
- Abstract index inference
- Remove pointless parameterizations
original commit: d570006db81dda68e69b7058fd3edfb68cc3d042
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
72f1d63d90
Properly compute Dotted variance for ListDots and ValuesDots.
...
original commit: 0fb1ac66bd03748767a30c41ec69207b9349e1bf
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
33bbcb17bc
Remove dotted-env.
...
original commit: a9c34dae6a83b296f79a9d432db3e9cfb5f6288c
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
341f6d82e6
Generalize ListDots to Listof in inference of loop var types.
...
original commit: f7b59f78e9212c03e950729944e7a9eb9370f363
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
db8c693481
Inference for passing ListDots as Listof.
...
original commit: a2af89bafd3d79587c87425488833e07465f5fc5
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
92c48f6521
Subtyping between (List T ... a) and (Listof T[Any/a])
...
original commit: fd5a662ccc7aa2fbc3f29974c075dcabf2a870fe
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4f2a113076
Eliminate expressions with dotted pre-types.
...
- Now looks for (List T ...) types.
- special handling of `map', `andmap', `ormap' when list arg is dotted
- remove tc-dots-unit
original commit: 4c3f279ab910de4fc5a059e48025d7118c97129b
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
d91f1e9998
Change type of ... rest args to have (List T ...) types.
...
original commit: 4cbeb0b2f00e652ce15e5638e15ca83a131b3b8b
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
dfe4211df8
Handle simple inference of ListDots.
...
original commit: 71939d282694485805316a02563083a6882a4fa8
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
fd9b246931
Initial ListDots test.
...
original commit: e40d1824b0b3717a1c2454ebc87257abca352a8a
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
2ecc5d35d4
Substitution for (List T ...)
...
original commit: 310bdf352980f9c629ccfa8d2a4365dd8f23cd0c
2010-06-21 18:29:56 -04:00
Stevie Strickland
28ff44d0f2
Add subtyping for dotted lists with the same bound.
...
original commit: 62fb6f93110e9ed23ed0b979af5b3c1608f088e7
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
54a57ab177
First attempts at adding ListDots (and, incidentally, List*) types.
...
original commit: 40dbb6389cd22c6f6dff42a20bdf23e32b2ba0d2
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
021e1146cb
More environment refactoring.
...
- rationalize naming of files
- split files by env constructed
original commit: 50f93b9ed7abeb1d4e687078cb5fef6976d008aa
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
8676d0ac03
Stratify environments to only include props when needed.
...
original commit: 7e9763cf14cd180db251e48fc864b23768897442
2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
f581c7796d
Refactor environments.
...
- mapping stored as dict
- use id tables for identifiers
- use env-filter instead of filter
- eliminate spurious use of conses
original commit: 647c4eef5940fde0395f9a19496244acab5f62b2
2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
3f49f996de
Refactor provide handling.
...
- use id-tables instead of lists
- smarter iteration
- prepare for eliminating declarations when not needed, but don't do it yet
original commit: 4925e7e51f487e3e9dcc3646a28cd30bf334cd02
2010-06-21 15:42:52 -04:00
Stevie Strickland
c903ffe15c
Fix use of add-type-expr from commit 5d835ded.
...
original commit: 0aae2c866f2906c1b4111aff438d3f931afa43f7
2010-06-19 14:58:52 -04:00
Sam Tobin-Hochstadt
a4cec9ce13
Fix error message for 1-arg apply
...
original commit: 1e15ce1f3299d235cd72eeb171f7224099fba41a
2010-06-19 14:58:52 -04:00
Vincent St-Amour
cfce17b8d1
Fix to make-vector's type.
...
original commit: 1e2c50ec242c130df1a02e7bee6734d2806f8aa7
2010-06-18 20:24:17 -04:00
Vincent St-Amour
034e27a280
The optimizer now promotes integers to floats when they are used as
...
arguments to a function whose result is a float.
original commit: 5e901b9ef28a9d48f41fb05e7e4be57b34897180
2010-06-18 17:43:05 -04:00
Vincent St-Amour
a4b8973528
Added the type of the 1 literals in expressions of the form (- x 1) to
...
the type table.
original commit: 5d835ded47e51e29a86a457e97f87f88561fe1d8
2010-06-18 17:43:05 -04:00
Vincent St-Amour
af2fa50318
Added type signatures for some byte-string functions.
...
original commit: ecb614849c30cc437b2cb7004321bc9e88fba8fa
2010-06-18 17:43:03 -04:00
Vincent St-Amour
ec41142ab4
Turned indexing back to using integers rather than naturals.
...
original commit: 60c3067ddb9b187855c81eabd6c5e89d74ebcbff
2010-06-18 17:43:02 -04:00
Vincent St-Amour
361fee5e59
Fixed the type of unsafe-car and unsafe-cdr.
...
original commit: b39f686e7eb67a6d3dac96fcc94cc2480aa083f2
2010-06-17 19:06:24 -04:00
Vincent St-Amour
55a3f63554
Added types for some bitwise operations.
...
original commit: 07c1f1e94f05cbbecd6d7606d725c0217f1d4a33
2010-06-17 19:06:24 -04:00
Vincent St-Amour
f14d2fd415
Added types for thread mailbox operations.
...
Can't have typed mailboxes, though.
original commit: cc796a9f9a1e0284dfd21328323cbedce416870c
2010-06-17 18:45:28 -04:00
Vincent St-Amour
b67fd7f9f1
Got rid of a reference to the non-existent channel/c.
...
original commit: c4e035dd67d44da53fb17003ad8342ed5fbdf6dd
2010-06-17 18:45:28 -04:00
Sam Tobin-Hochstadt
8088618596
Fix contract for structs
...
original commit: 02238a7c6d713e9e210ab9efee994eb98c843284
2010-06-17 15:26:13 -04:00
Sam Tobin-Hochstadt
d31b37acc1
handle multiple body expression properly
...
original commit: 0262ef681ac4394f9c2f8f19836777ee1fcc7a56
2010-06-17 12:50:30 -04:00
Sam Tobin-Hochstadt
6b89ef5f82
base-types-new -> base-types
...
original commit: 77e4bbb5eb5e568db8478d0e102b1a0f6ece50f9
2010-06-17 11:47:16 -04:00
Sam Tobin-Hochstadt
90039fecdc
Try harder to find types for loop variables.
...
- use `find-annotation' more
- recognize (let ([x y]) ...)
original commit: bdbb6d48e62e8009154a095f1fc5752766ab34fe
2010-06-17 11:26:33 -04:00
Vincent St-Amour
9eb47ff1a0
Added mutable lists to Typed Scheme.
...
original commit: a31a7b07187573b9f0d9b8b7b9fcaa21bbb50b8f
2010-06-16 12:49:01 -04:00
Vincent St-Amour
3900201b88
Rewrote the indexing code.
...
original commit: bb0747f58925c574964234c22bb4ba1d07864e23
2010-06-16 12:49:00 -04:00
Vincent St-Amour
e45bc88bfb
Moved some indexing functions' type signatures.
...
original commit: 9959f050542aba1faee00202ce5b6b1f3cbf07cc
2010-06-16 12:48:59 -04:00
Vincent St-Amour
e6d4962b46
Reimplemented assert as a macro.
...
original commit: 8dfd7d87ecd5d167514f8c7c5468448c6ad86547
2010-06-15 16:39:33 -04:00
Sam Tobin-Hochstadt
eed1167639
set-mc[ad]r!, inference, printing, tests for mpairs
...
original commit: 4cc86cc8c808d375f10c2c1fa2e4b54b126a26da
2010-06-15 16:10:16 -04:00
Sam Tobin-Hochstadt
4ed047109d
types for basic mpair ops
...
original commit: 913179f2ed6e601e795e07f79e2e38399626ad1e
2010-06-15 15:58:37 -04:00
Sam Tobin-Hochstadt
36d46fac77
eq? is a predicate for eof
...
original commit: f73d63e1afdca9f509ff0a143ae2348875766ce2
2010-06-15 14:59:08 -04:00
Sam Tobin-Hochstadt
8ddbeba6e3
fix types of `read' functions
...
original commit: b644ec7be4c77e5b0ac8c66a1bc10283856447a9
2010-06-14 17:35:05 -04:00
Sam Tobin-Hochstadt
3c594198ce
Type for `curry'.
...
Closes PR 10956
original commit: 81f262c7caf0954f7efebebc6d10bef6c93972bd
2010-06-14 08:24:43 -04:00
Sam Tobin-Hochstadt
b4d568a84d
Generate -> instead of ->* when required by case->.
...
Closes PR 10977.
original commit: cf5c74a2ca36a951d7cbeac61e58235f493291dd
2010-06-13 15:01:57 -04:00
Sam Tobin-Hochstadt
ae851e41cd
Allow (All (A) A -> A), dropping pair of parens.
...
original commit: d4d286d31dce759129c372c9e42bfb37300bf167
2010-06-13 14:38:03 -04:00
Sam Tobin-Hochstadt
3f3e732ac3
add \rightarrow as alias for ->
...
original commit: 408d9adb5abaed3f3684e045b62225c13db01a9d
2010-06-13 14:35:05 -04:00
Sam Tobin-Hochstadt
c6730fa63b
Fix grammar for rest args in lambda:.
...
Closes PR 10976
original commit: c2ac8046c45d4e807fb623f2048a4dbfabb6300d
2010-06-13 14:34:16 -04:00
Eric Dobson
fc607e7696
Added some stuff to typed scheme, mostly port and character functions.
...
original commit: 90f015408cb021a258a0c25b3eb62f589fae33f3
2010-06-13 08:20:49 -04:00
Vincent St-Amour
833693035f
Added some closure and promotion type signatures.
...
original commit: c9a96c1d2c49e87ebbc26e837edf563b359f8c57
2010-06-11 20:55:47 -04:00
Vincent St-Amour
0289d63af2
Fixed a bug in the optimizer that made it optimize where it
...
shouldn't have.
original commit: aae1acf035fb548067aef1dc3a9203a19ee76b90
2010-06-11 20:53:10 -04:00
Vincent St-Amour
dcf687d53b
Made Typed Scheme's optimizer silent.
...
original commit: a4c556bc85512ac720e9c11b3abeee9c8a8f5faa
2010-06-11 20:53:09 -04:00
Vincent St-Amour
450f6f98e2
Fixed string-copy!'s type signature.
...
original commit: de0d9a27dc83c261a166d00cb6cfbefda7a70de3
2010-06-11 19:48:23 -04:00
Vincent St-Amour
aa18b9971e
Fixed a bug with eof and procedure types overlapping.
...
original commit: 96c541912ccb6e752d83101c38f57d6da5984a42
2010-06-11 19:48:22 -04:00
Sam Tobin-Hochstadt
b19c37e9df
Actually typecheck actuals even when there's a type annotation.
...
original commit: 1cff0a1f85e30ca231cde5fa94ec2d8c47b74d68
2010-06-11 19:35:56 -04:00
Sam Tobin-Hochstadt
79fe558827
Fix type of `zero?' to properly handle 0.0.
...
original commit: 7ece2a4872bfd02d7b62b39c040e877c7ba638ee
2010-06-11 18:54:05 -04:00
Sam Tobin-Hochstadt
aa6d48e80f
Print names using the name, ignoring aliases.
...
original commit: 7c32898cb29bb6baee4591bc05fa96621ff1d6d1
2010-06-11 17:48:37 -04:00
Sam Tobin-Hochstadt
aa087d75db
Fix optimizer for refactoring.
...
original commit: fd1b20c93d195f236619a415e15c1b1dc8efde7f
2010-06-11 14:21:42 -04:00
Sam Tobin-Hochstadt
946a8dd48f
new bug with mutation
...
original commit: b649575afc2611ca0a3bec1f6f3d70e45ec011c1
2010-06-11 11:55:22 -04:00
Sam Tobin-Hochstadt
d1bbefe5bf
minor refactorings
...
original commit: 4f2952f4b9c69c6e77d64511b8a39f9729039778
2010-06-11 11:55:21 -04:00
Sam Tobin-Hochstadt
589306a88f
Refactor #%module-begin and #%top-interaction for Typed Scheme.
...
original commit: 5f069ed4bb033531d39c8b268180f4ef70598c57
2010-06-11 11:55:21 -04:00
Sam Tobin-Hochstadt
dd84cab0b2
Add types for a few more values.
...
original commit: 490361c0fc3a94187083ea45132c5d9470b1df7a
2010-06-10 18:58:44 -04:00
Sam Tobin-Hochstadt
ed35e04293
New interface for unstable/mutated-vars
...
- functional hash tables
- fix clients
original commit: 0379e534e3f0024473d6af9379d0cac0d2bd1a37
2010-06-10 13:28:29 -04:00
Sam Tobin-Hochstadt
9aef73b980
Fix promise printing, add docs. Closes PR 10968.
...
original commit: 0149a05719fdb1fbab56d231905f088bb13b4252
2010-06-09 16:56:31 -04:00
Sam Tobin-Hochstadt
5b0fec235c
Improve TS reference docs
...
- lots of examples
- reorganize type listing
- add Zero type
original commit: 315156612505bb7f666da0b1eacdbe6dce1705aa
2010-06-09 15:44:46 -04:00
Vincent St-Amour
e34babbff0
Fixed the implementation of Channel types.
...
original commit: 436e001b0e485111da5772f54fcf004eec8a3068
2010-06-09 15:28:10 -04:00
Vincent St-Amour
feaef17915
Modified the numeric base type environment.
...
original commit: 2fd1e3ac9ffc0b939cceac0e7ded9093d5e7a9a8
2010-06-09 14:54:39 -04:00
Vincent St-Amour
aacdee78b9
Added some Bytes and IO-related stuff to Typed Scheme.
...
original commit: 04e618388c53c32a80b9be89402fec685bbb783d
2010-06-09 14:54:38 -04:00
Vincent St-Amour
c689b7d3e6
Added tests and documentation for Thread and Channel types.
...
original commit: 6b4ca4d7b05ca42527788049a8bf20e322da889d
2010-06-09 14:54:37 -04:00
Vincent St-Amour
d5c72476e8
Added the Thread type and related functions.
...
original commit: 15b0c8542d3a54a37539608623754109f96b4d3e
2010-06-09 14:54:36 -04:00
Vincent St-Amour
ce236fdf46
Added Channel types.
...
original commit: ec799fb208197df8b2f4cafc0b0af3aad423871a
2010-06-09 14:54:35 -04:00
Vincent St-Amour
e0219a6f8f
Modified the for: macros to use sequence types.
...
original commit: 0741b48c99e190a31365c2fe2f2cd927d9561bb2
2010-06-09 14:54:34 -04:00
Sam Tobin-Hochstadt
ee7d9e61dd
typed/racket/no-check
...
original commit: 30fe053f7842c14bf0e0471a69b3105f41903bee
2010-06-09 12:51:27 -04:00
Sam Tobin-Hochstadt
4347da736b
document `assert'
...
original commit: ed5b10afd20f455964445a6eee56a0142bdc2167
2010-06-09 12:20:39 -04:00
Sam Tobin-Hochstadt
e16c33e1a6
Sequenceof type.
...
- inferencing and subtyping relation with vectors, lists, etc
- use in `make-sequence'
- add tests
original commit: 78023d08f99bd423a17e532b6ff9b1ded758b658
2010-06-09 11:03:12 -04:00
Sam Tobin-Hochstadt
2ddda6b00a
Support case-lambda with multiple branches with keyword arguments.
...
original commit: 78832fe332fccfe7c533243c4e1f1c1d0e3753e4
2010-06-08 17:50:48 -04:00
Sam Tobin-Hochstadt
f315f666d5
more precise type for `max'
...
original commit: 0f4db44be3cbc42e0546b7b61ad1b18156cf6607
2010-06-08 12:05:57 -04:00
Sam Tobin-Hochstadt
36854b7150
Predicates for numeric comparisons.
...
original commit: e44e454b9478e40f6cf00481bf23de27f2ee5b45
2010-06-08 12:05:57 -04:00
Sam Tobin-Hochstadt
2d28ab5f13
Special-case (- x 1) for use in loops.
...
original commit: 7f300a2c4f9d934522a3b3ba3d5c949b5bd075ed
2010-06-08 12:05:56 -04:00
Sam Tobin-Hochstadt
fcfd000fcc
Properly handling immutable invariant structs.
...
original commit: 7df8e3279396e7483a5645603726afa5424a071a
2010-06-07 14:03:06 -04:00
Carl Eastlund
14b919c942
Renamed call/debug from unstable/debug to debugf.
...
original commit: e7814b63a73776f0b3ddff8ccb2d58e9f5978c90
2010-06-06 20:31:37 -04:00
Carl Eastlund
429f5fa06b
Replaced unstable/debug with unstable/cce/debug.
...
original commit: ddc889532e5c6a20c9639d9afcbe1ac874937867
2010-06-06 20:31:36 -04:00
Carl Eastlund
092d4e3c3d
Replaced unstable/hash with unstable/cce/hash.
...
original commit: 3a525b9a121de971967b59ab3a684b5d104b53ed
2010-06-06 20:30:48 -04:00
Carl Eastlund
a5d6cf0cd4
Added unstable/cce/match macros to unstable/match.
...
original commit: a22a1a4c1561389c320b297811ff29adda9b1f44
2010-06-06 20:29:55 -04:00
Carl Eastlund
544d9dd599
Renamed bindings from unstable/hash and unstable/debug that will clash
...
with subsequent adaptation of (planet cce/scheme) to collects/unstable.
These bindings are temporary, and will be replaced in the adaptation.
original commit: e52fb81aacb27318903a407eb9ca9225557f2093
2010-06-06 19:57:15 -04:00
Sam Tobin-Hochstadt
420d38ec9c
Add require to base env to fix tests.
...
original commit: 0199e11edd314c0c7270a0875065799ccf1c64a3
2010-06-02 11:26:48 -04:00
Matthew Flatt
80e25e5cb0
try to fix Typed Racket after 'apply' changes
...
original commit: 4ebe2a0f52e23085b719752437cdededf45975f6
2010-06-01 21:25:54 -06:00
Sam Tobin-Hochstadt
6b35e1cb24
Test for PR 10946.
...
original commit: 0e3c2b71cc827236f4695e0271b869c416489557
2010-06-01 13:38:45 -04:00
Vincent St-Amour
58c87429da
Changed the types of some numerical operations to be closed on naturals.
...
original commit: 2229173b82b295a74269a11b9ff360a840f15b8f
2010-05-29 11:31:47 -04:00
Sam Tobin-Hochstadt
30120ded59
Change `typed-scheme' numerics.
...
- `number?' no longer `real?'
- Number no longer Real
- remove obsolete environments
- Fix tests to use Real where necessary.
- Fix typed/mred and typed/framework
- Fix insert-large-letters to use `sub1' for type-safe loop
Merge to 5.0.
original commit: d323a794e86993dc6a594d3d732d1cd623945d21
2010-05-28 19:24:46 -04:00
Vincent St-Amour
999ff9ebfa
Documented the for: macros.
...
original commit: 046d95293ac806e628bc804548cf3189598959d1
2010-05-28 19:05:44 -04:00
Vincent St-Amour
d7ef7a2bad
Disabled multi-valued seq-exprs in the for: macros because using them
...
triggers an internal error in the typechecker.
original commit: e9a00146303991e4517fc0f406c484f1f6cca646
2010-05-28 19:05:44 -04:00
Vincent St-Amour
506bf7890c
Wrote tests for the for: macros.
...
original commit: c92ae7385976f99bb5aa3d7a0ee29950d38a3d30
2010-05-28 19:05:44 -04:00
Vincent St-Amour
19a6f3f61d
Added the for*/X: macros.
...
original commit: 49caa00890a6bc89bb80210e041cc443cb5df2a8
2010-05-28 19:05:43 -04:00
Vincent St-Amour
a3edb55e69
Punted #:when clause expansion in the for: macros to their
...
non-annotated counterparts, except in the case of for: itself, where
it doesn't break the semantics of the underlying macro.
original commit: 08baa400c3cc03de6a5f7181a15f960238f1eaaa
2010-05-28 19:05:43 -04:00
Vincent St-Amour
48c3edca84
Added the for/lists: and for/fold: macros.
...
original commit: 1ec6bd448b4dc325603ed41ec81cf04cc33866b8
2010-05-28 19:05:43 -04:00
Vincent St-Amour
7ef168c27d
Better support for #:when clauses in the for: macros.
...
original commit: 3518428635a7adb9f591d4cb9b8905e8add439ee
2010-05-28 19:05:42 -04:00
Sam Tobin-Hochstadt
8c0e9178ac
Guard type-equal? test.
...
original commit: 8194bcc4d41c79c39cb0a4a13a810f2b6bbc35d3
2010-05-27 12:46:37 -04:00
Sam Tobin-Hochstadt
2681178ffc
Avoid requiring old base-types.
...
original commit: 9701ae0065dbc54f36059b20a78a917a20ae18e5
2010-05-27 10:56:18 -04:00
Sam Tobin-Hochstadt
53c630bc14
Simpler has-name? implementation.
...
original commit: bd0bcda85e0526e22b31a8dd64dbaf083d0d992a
2010-05-27 10:50:15 -04:00
Sam Tobin-Hochstadt
97c4253166
Fix test for new `do:' behavior.
...
original commit: 63dbde1e9eff5cf7b4d2965a6d26fbc2dc7280e9
2010-05-27 10:10:26 -04:00
Sam Tobin-Hochstadt
371934cf82
Fix error message for multiple values.
...
original commit: d4a8c52c7102778e6b1ef8fae8b5c75774069487
2010-05-27 10:10:26 -04:00
Sam Tobin-Hochstadt
b1e9e9ea82
Better type for `round'.
...
original commit: 40c77586a059efc6a09a6ef0bdf73a35808f24b0
2010-05-27 10:10:26 -04:00
Vincent St-Amour
c7db08fcf7
Typed Scheme's optimizer now recognizes specialized (safe) float
...
operations.
original commit: e3b994abfffb0ebc3a5460a0a8730441875ebbb1
2010-05-26 19:48:30 -04:00
Vincent St-Amour
3e3b203726
Fixed a bug in typed Scheme's optimizer when using binary arithmetic
...
operators in a unary fashion with floats.
original commit: 762f108c04b78f14d851b6b93b5bf0c873658399
2010-05-26 19:48:30 -04:00
Vincent St-Amour
1bd4bf1e82
Extended the type signatures of bitwise operations to be closed on naturals.
...
original commit: 664ef2c0a3bb478634591b596f2473f249095e4f
2010-05-26 19:48:29 -04:00
Vincent St-Amour
312671d85d
Added the for:, for/list:, etc macros.
...
original commit: 5213f54f56e6d9d1a14b16fd0348495a20a648e9
2010-05-26 19:48:15 -04:00
Vincent St-Amour
3bbf39b86a
Rewrote do: to expand into do.
...
original commit: 23f30af459b4157c87b62dff535cdd0b7eb46927
2010-05-26 19:20:32 -04:00
Eli Barzilay
4306ef78a7
A few more stray "racunit"s.
...
original commit: 5c702976c216362aab695a1c973fb17948b23149
2010-05-26 15:21:55 -04:00
Sam Tobin-Hochstadt
3355f0d731
Fix Typed Scheme printing of types.
...
Merge to 5.0.
original commit: 85b59a2f4c99e19948865cabbcfcc0d9b7cca6c0
2010-05-25 07:58:06 -07:00
Sam Tobin-Hochstadt
09151b1037
Remove `define-struct' from typed/racket.
...
Closes PR 10619.
original commit: 3885ba4f543626e9fa1df8d4580cdad907ce5a40
2010-05-25 00:09:04 -07:00
Sam Tobin-Hochstadt
f5c6d808af
Test for former bug. Closes PR 10470.
...
original commit: 775e1b06a577a1306ab50de05174a6e26f944d40
2010-05-25 00:09:03 -07:00
Sam Tobin-Hochstadt
987521b9eb
Check that at least one require spec is provided.
...
Closes PR 10617.
Merge to v5.0.
original commit: 27e971dce20634fa6be551fecd64e639fbd909aa
2010-05-24 22:33:31 -07:00
Sam Tobin-Hochstadt
1c955c4e56
Better internal error messages.
...
original commit: 460bb348e10f07534bc74e7f91b8b4bc8655ac68
2010-05-24 14:05:05 -07:00
Sam Tobin-Hochstadt
bbf633a95c
Tests for bug found by David Van Horn.
...
original commit: af689b253188d61ae12c01f0f0240817c767c474
2010-05-24 14:04:43 -07:00
Sam Tobin-Hochstadt
e345eb7448
Print empty filters as -
...
original commit: b21f70408687afa5617230478146ece76d71d53b
2010-05-24 14:04:01 -07:00
Sam Tobin-Hochstadt
af4ff86f52
Remove tc-toplevel from the typechecking unit.
...
original commit: 986318065d71817c59c9571e72fe8abcce4944cd
2010-05-24 14:03:14 -07:00
Sam Tobin-Hochstadt
5ba6d3297f
Only do abstraction of filters at `let's.
...
original commit: 5b0f705b8374a3a136250a40560d4e5e00c6fba3
2010-05-24 14:01:00 -07:00
Sam Tobin-Hochstadt
7692d06741
Fix parsing of All on RHS of ->
...
original commit: f320d36e9c7fc2698d1becff28511dd8413430da
2010-05-24 13:26:29 -07:00
Sam Tobin-Hochstadt
b656915497
Improve verbose printer.
...
- Fewer newlines.
- Avoid printing hidden fields.
original commit: fac0e197cfe75a4a811b0d953674731e8be14e7b
2010-05-24 13:23:37 -07:00
Sam Tobin-Hochstadt
3a0485de2b
Improve type of count and vector-count.
...
original commit: 601e693b01e3091612c3690d834becd0a83d69fb
2010-05-22 18:07:50 -04:00
Sam Tobin-Hochstadt
3257de4bff
Document Exact-Nonnegative-Integer
...
original commit: e6d85175f3713d7e65bdc0219853ff43a94f3e48
2010-05-22 18:03:18 -04:00
Vincent St-Amour
8a00140b63
Fixed a bug with Typed Scheme's do: with no finish-expr.
...
Include in 5.0 release.
original commit: fece1f6d03caea796b99921f1979a652e1a6b97c
2010-05-21 19:31:43 -04:00
Vincent St-Amour
00444e8b41
Extended the type signatures of trigonometric operations.
...
Include in 5.0 release.
original commit: 88dc30aa3c1fcc0707a440aa9e9558d0e1764bb5
2010-05-21 19:31:42 -04:00
Sam Tobin-Hochstadt
5a0e07e296
More precise types for: truncate, floor ceiling
...
original commit: 230f1a59c6bb51bf69c1651cadb3a77868bcbef5
2010-05-21 10:41:24 -04:00
Sam Tobin-Hochstadt
c679415de3
Add test file.
...
Closes PR 10594.
original commit: e9ac3651a47233a278eb332e011cd24a1c042bbc
2010-05-19 15:22:22 -05:00
Sam Tobin-Hochstadt
291937c278
Allow expected type to have weaker filters and objects.
...
Closes PR 10729.
original commit: 9fe3747a19e38d2041814d897f7db0e67d02a0e0
2010-05-19 15:14:18 -05:00
Sam Tobin-Hochstadt
1e25674287
Allow recursive types in type annotations for `list'.
...
Closes PR 10562.
Tests for fixed bugs.
original commit: 7e9313bad3c8f8b7d6e0241f6904dce45ac77786
2010-05-19 15:14:18 -05:00
Vincent St-Amour
d27153b74c
Added logging to typed Scheme's optimizer.
...
original commit: 3e757d0fb199d0cd565d2c094584a737be00942f
2010-05-19 13:10:37 -04:00
Vincent St-Amour
e78937195c
Extended the typed Scheme optimizer to handle all the core forms.
...
original commit: 7adedacf2b6acb1c8cea34aae4e8e12009141adf
2010-05-19 13:10:37 -04:00
Vincent St-Amour
a781b50533
Extended typed Scheme's optimizer to traverse more forms.
...
original commit: b543177868f97a7cfe0bdf57f555da4d580ef726
2010-05-19 13:10:37 -04:00
Vincent St-Amour
1f7ab8285d
Typed Scheme's optimizer can now generate unsafe car and cdr.
...
original commit: f2edae0e9a42e0bdb5c53224a3525edc8a6fd4d7
2010-05-19 13:10:37 -04:00
Vincent St-Amour
f824817aa9
Wrote tests for the new pair accessor type signatures.
...
original commit: 790658886b043085ec9f325e08565e52304cdd85
2010-05-19 13:10:36 -04:00
Vincent St-Amour
40360c095e
Added some special cases to type signatures for pair accessors.
...
original commit: f77e4eeb418ffc1a626d40b97e56d1cfbac6c47d
2010-05-19 13:10:36 -04:00
Vincent St-Amour
3ba7e83662
Fixed a typo in typed Scheme's base env.
...
original commit: eb95b35a12e886f6678f62f69990b4553684680c
2010-05-19 13:10:36 -04:00
Vincent St-Amour
e381611808
Added type signatures to more pair accessors in typed Scheme's base env.
...
original commit: 849ee86c855999daf91947bd26fadb4e296dfaa3
2010-05-19 13:10:36 -04:00
Vincent St-Amour
548e080a03
Added type signatures for caar and some others to typed Scheme's base env.
...
original commit: b64fb126f652a239404413db2db87c239db9b967
2010-05-19 13:10:35 -04:00
Sam Tobin-Hochstadt
7bc6e2e79e
Add test for PR 10318.
...
Closes PR 10318.
original commit: 3fd5c491728c720727785fec266d9893e163738b
2010-05-19 11:12:13 -05:00
Sam Tobin-Hochstadt
87ff7915f6
Documentation for heterogenous vectors.
...
Closes PR 10291.
original commit: 756bcc8a5e6509b2729ecfb5a20fed448224381f
2010-05-19 11:08:28 -05:00
Sam Tobin-Hochstadt
eb9f6a9916
Better type annotation support.
...
- Delay more errors for additional reporting.
- Don't re-check expressions that were checked for inference.
Closes PR 10098.
original commit: 638245e4c52f6bdaba7d62ac3d88a24462a09ace
2010-05-19 10:10:54 -05:00
Sam Tobin-Hochstadt
d30ba6ac02
More fixes for Vincent.
...
original commit: 535dc73fad6d22a5a057d18aa0ba4ff00f926810
2010-05-17 18:03:34 -04:00
Sam Tobin-Hochstadt
29cd6cac2f
Fix repeated type ascription.
...
original commit: d2a1470ea51b5ca55656833f95dacd5ae7ba1285
2010-05-17 16:20:44 -05:00
Sam Tobin-Hochstadt
2776f825c2
Fix internal error detected by vincent.
...
original commit: 7ecf424ff88d0365da3be7af3051b0acc2cfe1ab
2010-05-17 16:06:27 -05:00
Sam Tobin-Hochstadt
15c23cc374
rename to .rkt
...
original commit: 0d1d61c725e58889dcda23a44ecb9b32f87e4002
2010-05-17 15:55:23 -05:00
Sam Tobin-Hochstadt
fcf6876f28
Fix for git/rkt
...
original commit: 68391b2d7fd0e9a092d663b56d761524aafc8d77
2010-05-17 15:36:28 -05:00
Sam Tobin-Hochstadt
3efae1a1dc
rename to rkt
...
original commit: ce874bb0a16cc65348bfeaf3c2de958d86c3aa94
2010-05-17 15:29:12 -05:00
Eli Barzilay
1cc6dee899
"Racunit" -> "Rackunit"
...
original commit: 7b14a1f585d368bca8967072fbf3530d568e1391
2010-05-17 12:07:32 -04:00
Sam Tobin-Hochstadt
7b401c4e80
Add annotation to test.
...
Fix default case for `vector-set!'
original commit: 21b5c25c90a323d443b9611d9c0d30d30afb7dea
2010-05-14 11:00:23 -04:00
Sam Tobin-Hochstadt
479db80e36
sensible handling of literal vectors
...
original commit: ff36a6e8d1595cd0ee0c495efe240ebc23707419
2010-05-14 11:00:23 -04:00
Sam Tobin-Hochstadt
6f16d9e2d6
more sensible version of het vectors.
...
add vector-length, vector-set!
original commit: 7ac925695fadf3c8af20b2d65037c8bc6310f9b4
2010-05-14 11:00:23 -04:00
Sam Tobin-Hochstadt
597a8151b3
fix typo
...
original commit: 798a7f2a3c2189f14cc99143143be86c4eb0b2b5
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
a4717c49ef
Fix het vec with strange expected types
...
original commit: f40000c9c752b79d029cf2328425c5b012c16d47
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
cd0c71d923
Finish het vectors
...
original commit: ec14f2c0b81ee4e5052555cbdabfd0a53c821bec
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
094d75b4e6
more testing
...
original commit: 0558d11abb3233852f891d8f1dab2c1fefe50061
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
2fdcb1ef9a
mostly done with heterogenous vectors
...
original commit: 2c03f2223b55483bc02d66946097ed17e63529f3
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
15b1f6378b
Fix w/c to handle expression form of with-contract, and disable internal contracts.
...
original commit: 684ae395e648f22e38f1fa55aa6c0f48a60fbd5e
2010-05-13 14:41:59 -04:00
Sam Tobin-Hochstadt
bf8b4e8080
Don't generate extra filters unless they're useful.
...
original commit: 814c02664ee7892af26f6c0d0b8d90cbf55bdc4a
2010-05-13 13:37:24 -04:00
Sam Tobin-Hochstadt
15a844f9f3
fix more tests
...
original commit: a8931163918c4996a18b4cff2c69d9685fd3ef12
2010-05-13 13:36:54 -04:00
Sam Tobin-Hochstadt
7cff4534ab
Don't generate type filters for mutated variables.
...
original commit: 8d59ee77e4eefca21f2e27140d2b8bcdf691105e
2010-05-13 13:24:41 -04:00
Sam Tobin-Hochstadt
1725a8a95a
Fix incorrect tests.
...
original commit: dcf8507fd69ddd1c822feeb02e76a916a39e02fe
2010-05-13 12:35:14 -04:00
Sam Tobin-Hochstadt
2f061da0ea
abstract even when out of bindings
...
original commit: a7a56ce856e4082b951be6c51d762eb19f97d5e7
2010-05-12 21:34:18 -04:00
Sam Tobin-Hochstadt
fe7130a964
fix more tests
...
original commit: 60aed123ce0ffbd4a9a153b239be7ea863b0dedc
2010-05-12 21:33:55 -04:00
Sam Tobin-Hochstadt
2ceba6db20
Fix typo
...
original commit: 264bf78559a67d49e87581944d25a9a6b0bd0150
2010-05-12 18:43:55 -04:00
Sam Tobin-Hochstadt
772abbfa81
Updates along useless paths are not errors.
...
original commit: 4ceda9970005b4da3b56b0e48a0d69de05e3fa54
2010-05-12 18:24:19 -04:00
Sam Tobin-Hochstadt
5fb5d7125b
Allow dummy filtersets
...
original commit: 41f0152435e5f8ae7edefa75b1c4e965cf6349df
2010-05-12 17:31:58 -04:00
Sam Tobin-Hochstadt
d1153d23e0
more lost changes
...
original commit: daf43d1702800a47210489080f47a1bc14386ace
2010-05-12 17:25:53 -04:00
Sam Tobin-Hochstadt
35a4584929
re-add bindings lost in merge
...
original commit: 70d498beeb438e871c7d9b140584fc0d581af4ae
2010-05-12 17:22:13 -04:00
Sam Tobin-Hochstadt
620fb6182a
debugging
...
original commit: dbe9a0f997461f209c6893479b2fe76f9c0384e0
2010-05-12 17:06:04 -04:00
Sam Tobin-Hochstadt
0517b50456
add simple test
...
original commit: 499f36ee69a9946a0ad06cc23110bb8362668c44
2010-05-12 17:05:09 -04:00
Sam Tobin-Hochstadt
136f0942bd
Descend into path elements.
...
original commit: 6f7e88cfef024c4207d8187c0c9c2a4d0da19875
2010-05-12 17:04:43 -04:00
Sam Tobin-Hochstadt
b0b01fa807
flatten and filters before using them
...
original commit: e0c82c8ac6d4400c723d2ebace2f8efadd3fd923
2010-05-12 15:10:37 -04:00
Sam Tobin-Hochstadt
2f671bdbff
Fix contracts.
...
Handle improper formals lists.
original commit: e7c8ffb834f78bbe83033a8a1dbbfa27c829eddc
2010-05-12 11:53:27 -04:00
Sam Tobin-Hochstadt
da5bdb841a
switch to typed/
...
original commit: 5a8fac0bdf9f4a93d2407c309c7c7110d5c029b3
2010-05-12 11:52:11 -04:00
Sam Tobin-Hochstadt
507309df27
add test for bug found by vincent
...
original commit: a81de56b302dcf9a44c496967df3d40e3d5779f5
2010-05-10 17:55:29 -04:00
Sam Tobin-Hochstadt
ecbd63562b
fix handling when subtype doesn't have rest arg
...
original commit: 2d1625336e2512ba4df3a93fc28682c32be48ceb
2010-05-10 17:53:48 -04:00
Sam Tobin-Hochstadt
5cb9ec4f09
add #:optimize keyword
...
original commit: a6e314d367062858e1bf23027638c8ee66ff31ea
2010-05-10 17:32:53 -04:00
Sam Tobin-Hochstadt
cd4744d11b
use aux function to avoid generating useless filters
...
original commit: c031729e4bcd46fab66ed1c3b0aa6578563126ec
2010-05-10 17:03:21 -04:00
Sam Tobin-Hochstadt
d71a420fa4
more test errors
...
original commit: fe10457f4e3a662cc49e7c3b1b122bc6a389facd
2010-05-10 16:22:41 -04:00
Sam Tobin-Hochstadt
83e5843577
fix test suite errors
...
original commit: 08d0df52562a72507aa82db19b9bcef496315e55
2010-05-10 16:09:58 -04:00
Sam Tobin-Hochstadt
fb755e912c
don't add to identifiers
...
original commit: 6baef71d57af67f230a0f8efb23fb2d7294f1e9c
2010-05-10 16:09:47 -04:00
Sam Tobin-Hochstadt
5912a6243a
more contract fixes
...
original commit: 52c1f41a2036906ab6462abd5479053e2894b1ca
2010-05-10 15:50:24 -04:00
Sam Tobin-Hochstadt
5557322514
use racket/base
...
original commit: 1bbb857b18fa2fa6fb3be2387c51367d984a1799
2010-05-10 15:43:03 -04:00
Sam Tobin-Hochstadt
bd2e4e09ad
fix contract error, use the same contract for drest everywhere
...
original commit: d75232baa0a6076b2e16e73afcdc3fa79eb682a1
2010-05-10 15:42:45 -04:00
Sam Tobin-Hochstadt
d483be21af
avoid trying to reconstruct bogus arrow type, use dummy instead
...
original commit: 8461045e8cfaf2dbd4fffb88eed046c44276796a
2010-05-10 15:42:23 -04:00
Sam Tobin-Hochstadt
3dfdcf9722
fix `implied-atomic?'
...
original commit: b1a49470eeaae287a8b2754308c476c3257434af
2010-05-10 11:51:18 -04:00
Sam Tobin-Hochstadt
1da306516a
rackety TS docs
...
original commit: 9ccd44e8fd023e6e607233cd46dfae31f90679d3
2010-05-09 12:35:59 -04:00
Sam Tobin-Hochstadt
9bf9016106
add typed/racket and typed/racket/base
...
original commit: 820040abc14381dc4b2ad7e4f11bcadbd821e089
2010-05-09 11:44:38 -04:00
Sam Tobin-Hochstadt
80e644c20d
produce the correct type
...
original commit: 62af50867a825aab3572a442276921b205180a3a
2010-05-05 17:50:20 -04:00
Sam Tobin-Hochstadt
8335533ea2
minor test edits
...
original commit: 90f7f522f8b53d6460fc0da2113605e538969762
2010-05-04 19:47:38 -04:00
Sam Tobin-Hochstadt
153a5db15b
Remove unnecessary requires which caused bizarre errors
...
original commit: ad537cce84c9c0f16183563419512c67ad1d9ccc
2010-05-04 19:47:38 -04:00
Sam Tobin-Hochstadt
fe3eee50bd
avoid error when not transforming
...
original commit: 646bc0ecab63e350d69af5e8517503c2ab6d7fcb
2010-05-04 19:47:38 -04:00
Sam Tobin-Hochstadt
0c4ea82ca1
use racunit better to get expected/actual info
...
original commit: a728bae3cb83770c8e293e90acebe4ff1d7491da
2010-05-04 19:47:38 -04:00
Sam Tobin-Hochstadt
e30cd94960
checks can sometimes return #t
...
original commit: d7d157b441457e4bbcb07c328c9b8e350f3c92ce
2010-05-04 19:47:38 -04:00
Sam Tobin-Hochstadt
9781bbfbf4
Require '#%paramz at the correct phase (thanks ryan)
...
original commit: 087c5129e33458acb20ee4fa9c7d07a4735c719d
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
9b40abb674
Don't wrap booleans, print typed values
...
original commit: 08ca97bf9e8650f204228ebee4252805db0fcb0f
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
41634b8e34
use `test-begin' in test
...
original commit: d678e7657deee54921e332157367979b90e36971
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
11ae3af9b3
add type for 2-arg `atan'
...
original commit: 9ab4887e580d17d756e70642168c8c2171b92df1
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
7d53ae96a1
doc fix
...
original commit: 4183a3f32a254897d956f607a8b092767d098885
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
b45d2f1a0c
handle full generality of extend-parameterization
...
original commit: 4984345657eda9736b458cf73f97996e3da1ce95
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
bbf8fe4b54
use hairy macro rewriting to make more of racunit work
...
original commit: b00b72a73a78f5b24a18fd79d907d987efe61530
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
c1415c98c2
typed/racunit:
...
- fix more contracts
- make test tests not fail
original commit: 3ebd04550a14e52ed1ce44abe2c1d9f4b7c3374a
2010-05-04 19:47:37 -04:00
Sam Tobin-Hochstadt
9e9ee0aee4
fix some racunit types, add test case
...
original commit: 0a2b16f804502b169e1b1a7ab89fe25f5f6bb0ed
2010-05-04 19:47:37 -04:00
Ryan Culpepper
5f732f0a0a
syntax/parse: literals, literal-sets, and phases (todo: docs)
...
typed-scheme: added missing import for literal
original commit: eff9147ddcf6b8fefb51cb1753ae678c2ac8f0ae
2010-05-04 14:12:49 -06:00
Jay McCarthy
80a48b4a6e
Adding typed/racunit and fixing racunit exports vis a vis documentation
...
original commit: 445a143f5193e874d88bddfa9fc9ef1b52211f26
2010-05-03 22:30:32 -06:00
Sam Tobin-Hochstadt
419307edd1
add some vector functions
...
original commit: 105a560698dfa979ab592ceb3c443e9425f2c956
2010-05-03 18:13:12 -04:00
Sam Tobin-Hochstadt
db9ffaaae8
use `vector-member'
...
original commit: d5776a12666c507525df54c2f217f819dd407f33
2010-05-03 18:03:01 -04:00
Sam Tobin-Hochstadt
19c4c523f3
Add test for bug 10868
...
Add 'unit' command line arg to 'run.rkt' command to just run the unit tests
original commit: 34e64b650fd55c99aff3c79279663becd4da4249
2010-05-03 15:13:33 -04:00
Sam Tobin-Hochstadt
d4d0b811cd
rename
...
original commit: 92a3085658a7addbfd8261a8c6573918d2a4235a
2010-05-03 13:18:56 -04:00
Sam Tobin-Hochstadt
55fb37ff16
fix problem reported by Sigrid on plt-scheme
...
original commit: 996405af9c5ba32c49d1051c85b573d1383e244a
2010-05-03 13:15:19 -04:00
Sam Tobin-Hochstadt
60812be652
fix PR 10868
...
original commit: 8c22099aec99b15867cbf47bff5f6998e5cab988
2010-05-03 13:07:30 -04:00
Sam Tobin-Hochstadt
a15708cba8
run .rkt files
...
original commit: 6b5305afe742cdb399d049c6732fc92ddabbad3d
2010-05-03 13:01:58 -04:00
Sam Tobin-Hochstadt
59971400af
change error message for `define:' (fixes PR 10883)
...
original commit: 55929072bb5b8cb35a113678690418fde048390d
2010-05-03 11:35:30 -04:00
Sam Tobin-Hochstadt
bb79a8eb11
fix literal hashtables and pairs
...
original commit: abc83496b358557a96af72dbd3d8ffecf5982c9a
2010-05-03 11:31:27 -04:00
Sam Tobin-Hochstadt
11d39ed32c
don't need d/c/p any more
...
original commit: 96da4276591c93687885780e58a14d06bd21962a
2010-04-30 16:04:22 -04:00
Sam Tobin-Hochstadt
3bfbc7da7f
fix to work w/ racket renamings
...
original commit: b308a52240c9edcdd0c51bad5612314d44894b51
2010-04-30 16:04:03 -04:00
Jay McCarthy
b91ae08c0e
Renaming rktunit to racunit
...
original commit: bc5cf30ebe1ba3743f7097d81ebf1297435e0201
2010-04-30 10:57:32 -06:00
Sam Tobin-Hochstadt
2addf717a0
rename to rkt
...
original commit: 459a675b90443b59e46bccae476a6f040fa8434d
2010-04-30 09:51:32 -04:00
Jay McCarthy
331f098693
Renaming schemeunit to rktunit and adding compat layer
...
original commit: f70ffca75665f86a380c3df846c8a63b1e941b8b
2010-04-29 15:00:02 -06:00
Robby Findler
8692a5c39e
renamed the preferences to drracket:
...
original commit: fbf52d6957bde0011b654291b5ba3fd714f976c5
2010-04-29 11:03:06 -05:00
Jay McCarthy
d2b748a318
Changing unstable, xml, html, and web-server to be rackety
...
original commit: 7d1c7d874b6693e9d74722149a40ae43ac56e90f
2010-04-28 13:21:30 -06:00
Sam Tobin-Hochstadt
b922e088d6
move d/c/p
...
fix tc-e/t
original commit: b5acbe3168012661272f6ea3866efca693fa6c35
2010-04-27 19:29:10 -04:00
Sam Tobin-Hochstadt
18e9d91e0a
Split filter operations into their own file.
...
Take into account the type of arguments in filter generation.
original commit: 27b0c01cdd4b07201ba95281dae4b24346e9dabd
2010-04-27 19:12:06 -04:00
Matthew Flatt
94184a7671
rename all files .ss -> .rkt
...
original commit: 28b404307793f041bb3363135a2968e283855318
2010-04-27 16:50:15 -06:00
Sam Tobin-Hochstadt
da59949249
substitute in the dtype
...
original commit: 35f090cde86420b1618ac4a127a30c380fb22699
2010-04-27 11:39:31 -04:00
Sam Tobin-Hochstadt
95dfc50d12
fix the fold for Class types
...
original commit: 826eeab7cb2fb738da9b56a8dd02010dc5174e53
2010-04-27 11:39:15 -04:00
Sam Tobin-Hochstadt
a288c49d64
remove debugging printfs, comment out fail test
...
original commit: 53a4e4a2e46b98f009487e3357b8eb6cc2a1b586
2010-04-27 10:23:30 -04:00
Sam Tobin-Hochstadt
f792d08edb
strnum? works
...
original commit: 83c16719725e6aa423e9f2ef4adab8483def4436
2010-04-27 10:16:21 -04:00
Sam Tobin-Hochstadt
1505c7c3de
so close
...
original commit: d935b63290b1aae41b61c772f9a3a728350a1b11
2010-04-27 09:50:39 -04:00
Sam Tobin-Hochstadt
6ae59dc036
fix contract error
...
original commit: 884375ce96155d795a927a6cec473b3078e185cf
2010-04-26 12:19:11 -04:00
Sam Tobin-Hochstadt
47dce89a25
more progress towards let
...
original commit: f7bf6d8a220e3d07eb27f6213273dcee5a585b46
2010-04-23 18:36:15 -04:00
Sam Tobin-Hochstadt
f50ace2729
progress towards let
...
original commit: 788630d26a479363f8abe244f70a9b36c107ebab
2010-04-23 16:40:05 -04:00
Sam Tobin-Hochstadt
d5a9325d48
implication works
...
original commit: 2d88d698c20722f59f82e0dd2352e1e1cd067234
2010-04-23 12:31:22 -04:00
Sam Tobin-Hochstadt
f09a00fb81
better filter printing
...
original commit: 64a6f7c3d53bcf81269513dc95f9911d55d36cb7
2010-04-23 09:59:00 -04:00
Sam Tobin-Hochstadt
8c25785856
fix asym pred not to use identifiers
...
original commit: 3311b2bb3a888d0d7f30f64fdd53667f1d464be6
2010-04-22 18:27:08 -04:00