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
Sam Tobin-Hochstadt
8ab2ccb53f
add first steps in real solving
...
original commit: b0918cd8b90972bd0b134e2e67f20020444be65e
2010-04-22 16:46:06 -04:00
Matthew Flatt
8cf31c8de6
change #:module-info to #:language-info for consistency with module->language-info
...
original commit: 7503f8c6e948a7e949cc4bb48e4fad71f877c90c
2010-04-21 18:50:16 -06:00
Sam Tobin-Hochstadt
07d4b90de3
progress, fix some dumb bugs
...
original commit: 9c59782a37502e0cc45a0261df3930306201f930
2010-04-21 19:00:12 -04:00
Sam Tobin-Hochstadt
88ae88c901
everything but or and implies works
...
original commit: 0804e64695ab0d04a8db1d1f95e1fc8f14b32217
2010-04-21 18:13:13 -04:00
Sam Tobin-Hochstadt
f71591ed45
rename scheme to racket
...
original commit: bff6400fb4a6ba102f087b04ab38dfcaaf53b8a8
2010-04-21 16:06:44 -04:00
Sam Tobin-Hochstadt
f4bd6d4285
typecheck-tests compiles
...
original commit: a979bbdbdfbda13d499533d59f6c304575cfb5a1
2010-04-21 15:07:53 -04:00
Sam Tobin-Hochstadt
74aa20fcc0
annotated eta works
...
original commit: 5b5a6980d5906b8af376d7dedcd5e010517031d3
2010-04-21 14:57:05 -04:00
Sam Tobin-Hochstadt
4ee3734052
icfp-examples no longer errors
...
original commit: 86c6f3e9c06de95e950cc3a55b3235f44be78a8e
2010-04-21 11:41:26 -04:00
Sam Tobin-Hochstadt
f06b81ba16
eta abstraction seems to work
...
original commit: 462b7f1b92300fae8d4a9632ba97432426982aef
2010-04-21 11:34:04 -04:00
Matthew Flatt
7f3cf8a3ef
move most of the 'scheme' collection to the 'racket' collection
...
original commit: c95a39875453e7f057395a7bf626e5d2ed732e7e
2010-04-20 15:24:48 -06:00
Sam Tobin-Hochstadt
ed36f40a4a
finished with the examples
...
original commit: 8bea31d725a3178144d90b53c43dec12bf5c4a4d
2010-04-20 15:30:07 -04:00
Sam Tobin-Hochstadt
083b1e10ae
add tests for occurrence typing work
...
original commit: 5f0597b83463080681d97830708a1a72e3f9bb38
2010-04-20 14:49:38 -04:00
Sam Tobin-Hochstadt
e3733c768f
simple-occur now works
...
original commit: 99cfb23f22226a210192433db53351884df67b9f
2010-04-20 13:07:38 -04:00
Sam Tobin-Hochstadt
686171190a
relocate object subst code, work on fixing for indexes
...
original commit: 7b875d58a974a959a38a84197b413f91de83b5d1
2010-04-20 12:39:25 -04:00
Sam Tobin-Hochstadt
8f93f965fc
use the provide infrastructure for arr
...
original commit: 613f02a26637b4658715f8873a195979ec42f3a6
2010-04-20 12:38:00 -04:00
Sam Tobin-Hochstadt
5184639b22
re-enable abstract-filter
...
original commit: c3304b20f04bbe6732bac3ec52f0c6d7a76b47a3
2010-04-19 19:42:08 -04:00
Sam Tobin-Hochstadt
017accf104
Everything now compiles without names
...
original commit: f57ef37a6657ac43848ae09ac20fedbec438db93
2010-04-19 18:42:25 -04:00
Sam Tobin-Hochstadt
b797c59d21
start removing names
...
original commit: df1572231ea34907db23f7c930a19bea7e4e6249
2010-04-19 17:52:10 -04:00
Sam Tobin-Hochstadt
6890aab175
Update structure types to have constructor ids.
...
Use constructor to generate better contracts for poly structs.
original commit: 41e469d7aefd9aab480594caaba62dd7019ec0fd
2010-04-14 15:06:14 -04:00
Sam Tobin-Hochstadt
ce7df53455
test improvements
...
svn: r18814
original commit: 0c730ae50a4b60a982c0a1e6fee24875f2c630a1
2010-04-14 17:11:21 +00:00
Sam Tobin-Hochstadt
063e588872
Fix thinko in subtyping.
...
svn: r18802
original commit: 25a817e4aa7a74f3148b56ffb9f627ee4f0329f3
2010-04-12 22:23:39 +00:00
Sam Tobin-Hochstadt
f07551ef24
Enable proper reader and repl config for typed/scheme
...
svn: r18773
original commit: 0b55e34853ab9a4483703148aa522acaa532f698
2010-04-09 20:06:53 +00:00
Sam Tobin-Hochstadt
e1c724381b
fix doc bugs reported by danny
...
svn: r18765
original commit: 24ad4005e802bca01e540f38aa6ea49fe7c3cfb6
2010-04-08 20:11:39 +00:00
Noel Welsh
707dae25ca
Add type definition for unsafe-vector*-ref and unsafe-vector*-length, which have recently been introduced, and a test case for in-vector (which uses the above).
...
svn: r18667
original commit: cfab7a8d97c62814973a8b0e74089233873a896e
2010-03-30 13:33:45 +00:00
Sam Tobin-Hochstadt
af7254875a
a new branch of the whole tree
...
svn: r18648
original commit: d4e0c16d55c167dbef9eefac8b4820fbada0f6b1
2010-03-27 14:49:58 +00:00
Sam Tobin-Hochstadt
8e2865524c
add simple tests
...
svn: r18638
original commit: 752e93fc88111d4edd189eef4a3dc133dd7269d5
2010-03-27 00:31:29 +00:00
Noel Welsh
501766dde0
Add types for most of Byte and String Output (Section 12.3 of the Reference). Only functions that need an Event type (i.e. matching evt?) are missing. They are commented out as a placeholder for future additions.
...
svn: r18628
original commit: 302555cf0154206242d6f72f1a5572f76a16f536
2010-03-26 14:48:33 +00:00
Noel Welsh
e1072ebb22
Add the fx to fl conversion functions to Typed Scheme
...
Add tests for flonum operations to Typed Scheme test suite
Fix the compiler bug tests above uncovered
svn: r18609
original commit: af84b331a13c53709eaba9f0faf7af0c64a000a1
2010-03-24 13:18:37 +00:00
Noel Welsh
f18f8b8bf1
Add the full suite of fl and unsafe-fl operations to Typed Scheme
...
Correct an error in documentation of flmin and flmax -- they were documented as taking a single argument when in fact they take two.
svn: r18604
original commit: 7c552421792a3f91a504fefefa9e77768180b9d0
2010-03-23 12:24:50 +00:00
Noel Welsh
39e98488a7
Fix a problem generating contracts for FlVector exports. Add test for problem.
...
svn: r18603
original commit: cf017110a982fb24451691200dc05830136e9833
2010-03-23 10:30:24 +00:00
Sam Tobin-Hochstadt
47fbb81f64
add FlVector as a type
...
svn: r18559
original commit: 31911dba551fad0135cc8655585d352e611ca3c2
2010-03-17 17:00:14 +00:00
Sam Tobin-Hochstadt
8dfb2370e7
these operations do not exist
...
svn: r18558
original commit: fe68168e3d1c5139f74b9b4861151948b06ff4bb
2010-03-17 16:51:04 +00:00
Noel Welsh
ba3d01e519
Check that the FlVector type is exported. Currently this test fails.
...
svn: r18557
original commit: 5f6aeb364ff0007914809017a4e14f4f3bc65a53
2010-03-17 15:26:30 +00:00
Noel Welsh
9cf45f3392
Add FlVector types to Typed Scheme and bindings for all flvector operations in scheme/flonum and scheme/unsafe/ops.
...
svn: r18555
original commit: 39a1489403db3184b23622dfde17548d65681f6a
2010-03-17 14:49:29 +00:00
Sam Tobin-Hochstadt
3086c4e339
Actual contracts for classes. Yay sstrickl!
...
svn: r18547
original commit: b9902e514541039ac87d47c35e9bcd9d3f37d1f3
2010-03-15 18:21:15 +00:00
Stevie Strickland
7387b32825
Need scheme/class's init for use in class/c form.
...
svn: r18543
original commit: bf56a108fe3c3f05976223dd81dbbf5b80baed33
2010-03-15 09:04:10 +00:00
Stevie Strickland
d22cdbcee1
Add handling of by-name inits to commented-out class/c use in typed-scheme.
...
Also, fix class/c section of reference slightly by mentioning the role of
external contracts in class instantiation.
svn: r18542
original commit: 5a488ae7cbf9f973cf89169f5557c12e355a3f39
2010-03-15 08:57:41 +00:00
Stevie Strickland
78214ab410
Correct with-type so it handles result types of the form (values t ...).
...
svn: r18531
original commit: 7b831e86a6e70edafb2993f3169d891d27fa5d77
2010-03-14 02:32:20 +00:00
Sam Tobin-Hochstadt
0a828f2262
Prevent unbound identifiers from being in the base env.
...
Fix some bugs caught by this.
svn: r18526
original commit: 9035e2e58457bd635ceb739f3d021e30fc7262b2
2010-03-12 16:25:40 +00:00
Noel Welsh
19cdb4f096
Add tests for all the fixnum operations. This only checks that the operations have types; semantics and completely specified types aren't rigourously checked.
...
svn: r18523
original commit: 97924ffc65b5b5ded6f2b4436cde51ed00462e03
2010-03-12 12:13:10 +00:00
Noel Welsh
2545da16a9
Add scheme/fixnum to the list of require'd modules, meaning the type declarations for fixnum operations are actually bound to the correct functions and so Typed Scheme programs using fixnum ops will actually compile.
...
svn: r18522
original commit: a8b5f4275ac3118b027dbf679b5c4e024280c6f5
2010-03-12 10:58:26 +00:00
Sam Tobin-Hochstadt
db56dfd7d6
Null does not overlap with structs.
...
svn: r18508
original commit: b3be4f32f7dceb402dbfc2bce35a8db466c16219
2010-03-10 23:43:47 +00:00
Sam Tobin-Hochstadt
b207bb9c0f
update docs to use `define-type'
...
document `define-predicate'
svn: r18498
original commit: 24b9078560d936d046fe14b3198432a3f64cbd1c
2010-03-10 00:17:33 +00:00
Sam Tobin-Hochstadt
2f1771b849
Add `define-predicate'
...
svn: r18497
original commit: c24daa5dbb2e4a503e81385620008b70d044f76c
2010-03-10 00:10:03 +00:00
Sam Tobin-Hochstadt
79c93700c7
Fix PR 10813
...
svn: r18477
original commit: 87f978e59ecb88b19391e2210b6b3cb550e4df25
2010-03-05 21:52:54 +00:00
Sam Tobin-Hochstadt
3edcfaf5f5
fix PR10810
...
svn: r18470
original commit: e703d52b945d51623a781dc97eda74a10430e1f9
2010-03-04 21:42:55 +00:00
Sam Tobin-Hochstadt
04dbfaf38e
fix some unfortunate bugs
...
svn: r18433
original commit: b020c8dc216c48d52dab9a78134c34405210da81
2010-03-02 20:37:36 +00:00
Sam Tobin-Hochstadt
1e35d3a083
Use `current-contract-region' appropriately.
...
Maintain source locations.
Fix PR 10776.
svn: r18421
original commit: 65b12a2af3a487da88a0d354586e533516273d39
2010-03-01 23:43:15 +00:00
Sam Tobin-Hochstadt
b94868a43b
Re-enable printing
...
svn: r18420
original commit: 3ea26dee8440f9e72bc51142e050eefccb04869a
2010-03-01 22:56:03 +00:00
Sam Tobin-Hochstadt
9eabaf2109
fix PR 10735
...
svn: r18419
original commit: 33db456f9ee83fe38e97ac1c006c5bb3dd0407c2
2010-03-01 22:51:42 +00:00
Sam Tobin-Hochstadt
ff6ad0c29d
Fix bug 10763.
...
svn: r18418
original commit: 12257912e3a39efcd20bcd0ec3e778c630879577
2010-03-01 22:48:11 +00:00
Sam Tobin-Hochstadt
008ecc173f
fix doc typo
...
svn: r18417
original commit: 079c430e89846fda4e6925abda664300d1142572
2010-03-01 22:32:48 +00:00
Sam Tobin-Hochstadt
b0a1fde7aa
Add `with-type' for defintions, add #:result keyword.
...
Fix contract for top-arr.
Remove static version of printing conditional.
Fix brokenness in print-converting.
svn: r18416
original commit: 78c14e434b7f6dffc6c404d090b449b097e96cfb
2010-03-01 22:31:24 +00:00
Sam Tobin-Hochstadt
fd3a9e042a
fix with-types requires on windows
...
svn: r18387
original commit: 68c46cca9a57835f38cb42e6eee45c86755f7cd8
2010-02-27 19:21:42 +00:00
Sam Tobin-Hochstadt
7e4367c9cd
remove obsolete doc files
...
eliminate repeated expansion
svn: r18382
original commit: 6c4b1234bf7545fded38270fed92c886a0e49b48
2010-02-27 16:24:22 +00:00
Sam Tobin-Hochstadt
a47ed6d95a
Fix tests to use `test-suite' to delay execution.
...
Move hiding of errors down in stack.
svn: r18381
original commit: 31f0b5e305f95af45772ff11e4b04bf332ead59a
2010-02-27 15:07:45 +00:00
Stevie Strickland
a92cd6cdce
Add `unregister-type'
...
Add type regions.
Untyped lexical vars not an internal error.
svn: r18374
original commit: 8e3a67936eeb14fc08279a075966f93e35209f23
2010-02-27 01:26:16 +00:00
Sam Tobin-Hochstadt
cdb7b62f5e
whoops
...
svn: r18364
original commit: 144a25ffd4abe289cbab74c4b353e404164b6a8a
2010-02-26 21:04:00 +00:00
Sam Tobin-Hochstadt
e3cf00137d
fix no-check
...
svn: r18362
original commit: 5d3e46bb2f098eac10678e1d4d401c2f0401f382
2010-02-26 20:50:14 +00:00
Sam Tobin-Hochstadt
d98d962195
use new schemeunit
...
svn: r18361
original commit: 21d0dfcf09b7ef168f7d4e861aad2e3ee062352a
2010-02-26 20:44:30 +00:00
Sam Tobin-Hochstadt
36ee83368d
add inst to no-check
...
svn: r18357
original commit: d06b3ed1df34d1ac9f0628eb3ca87073e40ca658
2010-02-26 19:59:40 +00:00
Sam Tobin-Hochstadt
0ad41fd737
fix obvious bug pointed out by noel
...
svn: r18351
original commit: 013b12b19d56e051fddd6bd09d6c07115088b14e
2010-02-26 15:15:43 +00:00
Sam Tobin-Hochstadt
56732a6d6e
Re-enable typechecking of auto-language.ss
...
Add `syntax-e' as a path.
Turn on contracts for objects.
Refactor Noel's additions.
Fix `require/typed' at the REPL.
svn: r18345
original commit: 2e90dfc081a3160abaa49aff9f535a901999c6a5
2010-02-26 00:25:23 +00:00
Noel Welsh
bb22e41f6d
Fix order of cases in case-lambda expressions for some unsafe-fx operations.
...
Add the safe equivalents of the unsafe-fx operations.
svn: r18334
original commit: dcb01829a0f13bcdb86f9eb7a794555a5aedc9d6
2010-02-25 13:00:55 +00:00
Noel Welsh
b7d27869fd
Add types for unsafe fixnum operations. This allows support for some sequences; in particular in-range now works in some cases (though still requires type annotations).
...
svn: r18333
original commit: 3d95ef650c1908d79f9b2bf5e3086322cdb494bc
2010-02-25 11:48:33 +00:00
Sam Tobin-Hochstadt
43c22f41e5
fix comment, add test
...
svn: r18307
original commit: 1616e27b4b0a2a8cb1ad419933fdd38894c7a882
2010-02-23 21:36:53 +00:00
Sam Tobin-Hochstadt
349755c446
Fix bad hashtable type inference.
...
svn: r18284
original commit: f2ee3aa7b6a71320d00d75d0b18191dba2e2c23c
2010-02-23 02:05:40 +00:00
Sam Tobin-Hochstadt
bcebf867f4
revert this change, since it breaks insert large letters
...
svn: r18267
original commit: 8a11336b51936c0b465ed399f64579e2e73d75df
2010-02-22 20:06:34 +00:00
Carl Eastlund
8f366a3613
Renamed simple-contract and simple-flat-contract to make-contract and make-flat-contract.
...
svn: r18259
original commit: 1d6111c5328dc9b9ecfc14832879a7c47717d7a3
2010-02-22 02:51:16 +00:00
Sam Tobin-Hochstadt
b0a08fe0b8
providing static struct information to untyped code works
...
svn: r18198
original commit: 33c18b3985bce1bab5028c67e06eec5335722eb4
2010-02-19 23:27:06 +00:00
Stevie Strickland
ae00f56a11
Fix up Sam's use of make-provide/contract-transformer after Robby's change
...
to it for bug 10645.
svn: r18195
original commit: de859a88798b89c78da5386ab0a8bfdf76f118da
2010-02-19 21:57:03 +00:00
Sam Tobin-Hochstadt
3cfe752100
disable contracts
...
svn: r18156
original commit: d9f24d94e7887956ec497ea97721b7c4e9196634
2010-02-18 21:25:06 +00:00
Sam Tobin-Hochstadt
5a47ebf0c7
New representation for free variables, now stored in struct.
...
Interning now merely used to create key, eq? not = for types.
svn: r18107
original commit: 1039e68e034196550e4def3e9f0233e6751201ab
2010-02-17 00:09:38 +00:00
Sam Tobin-Hochstadt
03ae8d6f21
Improve some framework contracts, and provide scheme/base at phase 1 from typed/scheme.
...
svn: r18106
original commit: 0920b493c84cf2e8306325bd98f5ae9759acdd51
2010-02-17 00:02:44 +00:00
Carl Eastlund
0d5a01f2a7
Corrected types of hash-update and hash-update!
...
svn: r18093
original commit: 52f2ec2e30e7ffdb3d0f44d3cb2a07e52e0b5be7
2010-02-16 00:55:03 +00:00
Carl Eastlund
8c9670ca0c
Added types for full exception hierarchy.
...
svn: r18092
original commit: 08b53c715d9116ecefb7e1dd83da6527b2c20348
2010-02-15 23:22:40 +00:00
Sam Tobin-Hochstadt
f25f361bbc
remove debugging code
...
svn: r18087
original commit: 89da61307393a19dbf7ae90942c1301616939edb
2010-02-15 18:36:26 +00:00
Carl Eastlund
05c08898a6
Added automatic blame-tracking to poly/c contract in unstable (and updated use in Typed Scheme).
...
svn: r18075
original commit: 1b28ea1a6c1c499d0d4f5d0a13d2496c2bfc0ec8
2010-02-12 23:03:11 +00:00
Sam Tobin-Hochstadt
a61aef0339
Generate proper contracts for polymorphic struct types.
...
Document `Nothing'.
svn: r18074
original commit: 90c8fcff1194799ed6f522e7554d49571b1f3074
2010-02-12 21:57:58 +00:00
Sam Tobin-Hochstadt
b2ea0474f2
Fix printing of `Number' - reported by Noel.
...
Provide `assert' from `typed/scheme'
svn: r18062
original commit: e99b1d028c89c2b3b027f861260fa57d2790abf1
2010-02-12 15:49:58 +00:00
Sam Tobin-Hochstadt
00bd3adab8
More restrictive handling of contracts for the `Any' type.
...
svn: r18043
original commit: 8bf908d1061510198bb6a155fee7a25312bea714
2010-02-10 20:45:50 +00:00
Sam Tobin-Hochstadt
7eec279e96
Better error message when definition is missing. Fixes PR 10751.
...
svn: r18042
original commit: 39a8c288ec409cef59ec5a3cfec16b13a0a7c1b5
2010-02-10 20:32:53 +00:00
Sam Tobin-Hochstadt
e2b4318dfa
More precise types for typed MrEd wrappers.
...
More precise types in auto-language.ss
svn: r18041
original commit: c224d2ebfc878ddb2758cdd409cacd2dbf49e891
2010-02-10 20:23:59 +00:00
Sam Tobin-Hochstadt
cacbfb9b91
Fix subtyping for keywords.
...
svn: r18025
original commit: 2276cb10d54bd24a35bcb75f856b9be254f1bb6d
2010-02-08 23:03:55 +00:00
Sam Tobin-Hochstadt
f6c223fc05
fix dumb typo
...
svn: r18018
original commit: 89eb249b00c307f9ff8af3094d7292b3b9939146
2010-02-08 18:21:43 +00:00
Sam Tobin-Hochstadt
0db7c6d821
Fix a number of bugs reported by eli
...
svn: r18017
original commit: 55a48ca594bc7e3834bfbebea7fc5a1967c278d1
2010-02-08 18:17:15 +00:00
Sam Tobin-Hochstadt
40b9514197
fix let/ec: and let/cc:
...
svn: r18000
original commit: bf77c690f4d1a97fb530ea23602bf590f32f2479
2010-02-05 23:00:07 +00:00
Carl Eastlund
f3030b5775
Oops, got the types of char->integer and integer->char backwards.
...
svn: r17991
original commit: f9ae636aead96beb7ceac5fbeb5a0fd2185c08ac
2010-02-05 06:24:44 +00:00
Carl Eastlund
779cdbe53f
Added types for char->integer and integer->char.
...
svn: r17990
original commit: f2852257bb0987a0ffd5ca51d06ac0adf3d4a34d
2010-02-05 05:22:49 +00:00
Carl Eastlund
2d0c950305
Added types for missing hash table operations.
...
svn: r17989
original commit: 578637c691ec0301554d0170ff6ba713446c1790
2010-02-05 04:49:49 +00:00
Eli Barzilay
32dcd7960c
A bunch of additional typos
...
svn: r17976
original commit: c88a5a685674ea70991a97f35972bd5144483e7a
2010-02-05 03:21:52 +00:00
Sam Tobin-Hochstadt
4c1cf6b520
Add supertypes for mutable types, so that predicates work correctly.
...
svn: r17971
original commit: 318833f4226d9249077c772f87ee705ecfd4c617
2010-02-04 23:39:15 +00:00
Sam Tobin-Hochstadt
70118d8ebe
fix some contract errors
...
original commit: 492cab22cbebcdfeed9a4bc467d147b4722308e9
2010-02-03 11:44:10 -05:00
Sam Tobin-Hochstadt
3e18a985d7
new files
...
original commit: 1e6aaf5928d25a650e3642f84657c6cd78476672
2010-02-02 20:42:53 -05:00
Sam Tobin-Hochstadt
3842628342
new branch
...
original commit: 536b94c3052559ae51a63807d8190b01d97f7326
2010-02-02 20:42:22 -05:00
Sam Tobin-Hochstadt
b1a442d1f0
Stop using eq? for types.
...
More contracts.
Fix some contract errors.
svn: r17943
original commit: 9939f4b6194f61ff1bbed48ef3b36c7dba41363d
2010-02-02 18:09:25 +00:00
Sam Tobin-Hochstadt
cec76e7ad4
most of the way to real printing
...
svn: r17935
original commit: 8b120675bc02d0ad4396cc3a5ece7b5b19613972
2010-02-02 01:24:06 +00:00
Sam Tobin-Hochstadt
879e22a666
Progress on Rep.
...
svn: r17924
original commit: 94029a06c9af5dce0e7712cc1cc38e96e8b9b7ca
2010-02-01 15:51:32 +00:00
Sam Tobin-Hochstadt
30e08424ec
merge to trunk
...
svn: r17877
original commit: 9789615ed9840f09a6708d27276cf892d334b653
2010-01-29 00:08:15 +00:00
Sam Tobin-Hochstadt
d20ee9bf2b
progress on refactoring rep
...
svn: r17875
original commit: bbc195c0fb6d54bb645b163fe6540af342fbc004
2010-01-28 21:47:05 +00:00