Matthew Flatt
e84e73f07b
adjust Guide to warn about performance measurement in DrRacket
...
original commit: 00e17ab51f0e18be86016d7cbf82a26146eefc2a
2011-05-24 08:02:09 -06:00
Vincent St-Amour
aaf1032df0
Don't run TR integration tests during nightly builds.
...
original commit: 7b0f64de7278e5fb932d32ff5fc9661af72cf00b
2011-05-23 13:58:28 -04:00
Vincent St-Amour
7e441e8e31
Remove trailing whitespace.
...
original commit: 3b036388d64c33a63bad18e53341b54bac719b1a
2011-05-18 17:09:45 -04:00
Vincent St-Amour
794bfe775b
Give more meaningful names to conditional contract forms.
...
original commit: a1fab6ec06b1b000e0419f617ec974f2827c57e4
2011-05-18 17:09:45 -04:00
Vincent St-Amour
c1c0fa70af
Use more descriptive variable names.
...
original commit: 027947eef230aab2b5af2012f96c0302b07726d3
2011-05-18 17:09:45 -04:00
Vincent St-Amour
f1fe0c3080
Reduce the number of hygiene violations in rep-utils.rkt.
...
Beginning of an attempt to make that file comprehensible.
original commit: c02071b262a834f385210b03f06ea403ca87951f
2011-05-18 17:09:44 -04:00
Vincent St-Amour
a8cbaeba8c
Fix TR documentation to use the new location of base env files.
...
original commit: b65054134acccced580f16383920a479b6cb26e9
2011-05-17 18:30:54 -04:00
Vincent St-Amour
a724f07dc3
Better solution to the toplevel printing bug.
...
original commit: bc4a7df94d199ac036087b778f22c434d276c0f6
2011-05-17 18:30:53 -04:00
Eric Dobson
303c4913bc
Path manipulation now works with SomeSystemPath correctly.
...
original commit: 9a65545814b114fb2d33434f24d592f6c23a72db
2011-05-17 18:03:48 -04:00
Eric Dobson
a5edb5bff9
Split Path type into Path and OtherSystemPath.
...
original commit: 05af2b9e17f976b3ecfbc14e062b1b59fa9e1d10
2011-05-17 18:03:48 -04:00
Vincent St-Amour
2b172d3a25
Avoid printing results of tests when eliminating if branches at the toplevel.
...
Closes PR 11928.
original commit: 8f6d3c792024ea0985679ac3e07f4d32b02d19c1
2011-05-17 17:47:21 -04:00
Vincent St-Amour
bc20a9f27c
Move base environment files to their own subdirectory.
...
original commit: 1ed0e8479146b478ada2c8866a468034b94cd8da
2011-05-17 15:16:18 -04:00
Sam Tobin-Hochstadt
9adfff6cde
Add types for some of `syntax/stx'
...
Add hacked types for `with-syntax' internals.
original commit: c2291e049d61b2067cb6ef9fb8bf73b7119a912b
2011-05-16 14:55:17 -04:00
Vincent St-Amour
6b519c167c
Fix optimizer expected log format.
...
Optimizer log format was changed on a different branch, and this test
was written using that new format, which is not recognized on current
master.
original commit: bdf1073f174d5101fb94a7bd3257da7fec90c9cc
2011-05-16 14:23:24 -04:00
Vincent St-Amour
9ae241c0b8
Coerce reals in float expressions when valid.
...
original commit: 4cd0ad4b1a462ff89c8959e65e815fb558454f73
2011-05-16 11:44:35 -04:00
Vincent St-Amour
bdd5b3bc1a
Have the TR test harness skip emacs unsaved file backups.
...
original commit: e64ba228e86847cc3c4a790911d083c779ff3283
2011-05-16 11:44:35 -04:00
Sam Tobin-Hochstadt
fa5a7fe291
Add contract generation for Set type.
...
original commit: e92af62ca0176ee96e69fcae638ec4a1a9e7beee
2011-05-15 22:53:20 -04:00
Sam Tobin-Hochstadt
a57d49ecb7
Add type for `error-display-handler'
...
original commit: 27aa3f7556fb9062290abfe58acf3812655a9d9d
2011-05-08 15:36:48 -04:00
Sam Tobin-Hochstadt
605cfeec02
Add types for `in-hash' etc.
...
original commit: 2f3e9fc655283f4ab375c7aaebab39f45df9f45e
2011-05-08 15:36:48 -04:00
Eric Dobson
a5bbee3ce3
Changed early failure in subtyping to all non-struct values, not just null. Closes PR 11887.
...
original commit: e9683e1dd2f6544391cc603a6385baee59c6c07e
2011-05-06 11:39:01 -04:00
Sam Tobin-Hochstadt
26a209d374
Require numeric-predicates at the correct phase.
...
Closes PR 11897.
original commit: af56616fc8ebe84f61ce9d6a2f15530361c739b9
2011-05-05 19:04:38 -04:00
Sam Tobin-Hochstadt
8fc12be2c4
Include extra-procs in the #:use-sources.
...
original commit: 507db7e5a64c3410d56f4e60e0ab6c5150d66b60
2011-05-05 19:04:38 -04:00
Vincent St-Amour
f431fd94df
Add extra early failure cases to subtype* to avoid inference failures.
...
original commit: d7fd2b2e3fad604677e04c405e7585dc2c48e872
2011-05-05 18:54:12 -04:00
Vincent St-Amour
b9b546b237
Integrate the TR and TR optimizer test suites.
...
original commit: 4b03ecde2a1858d4899d0d7702ff534e5fd4b3bd
2011-05-05 18:54:12 -04:00
Vincent St-Amour
43c99727bb
Remove redundant checks from TR's optimizer tests.
...
Checking that the optimized and non-optimized versions return the same
results is unnecessary. Optimization logs, which are checked against
an expected log, already contain the results.
original commit: 4ea9b29d12b0ef01e180222aa84aee363020d9b8
2011-05-05 18:54:12 -04:00
Vincent St-Amour
400e3ed5da
Rewrite the optimizer test suite to use rackunit.
...
original commit: 7b6edb452fac377b5d35eb5c77151fd7df3a26ff
2011-05-05 18:54:12 -04:00
Vincent St-Amour
09d88a7b26
Keep running TR tests even if optimizer tests fail.
...
original commit: fa016ea5761543428395328555e420336887d8f4
2011-05-05 18:54:12 -04:00
Vincent St-Amour
b29bb134bb
Don't display name of non-test files.
...
original commit: 850d4d325d44c9a735ef9a2ca67610b7bd1ac1ea
2011-05-05 18:54:12 -04:00
Robby Findler
0dc02d4682
moved the docs-complete library into rackunit
...
to avoid having a separate, new manual for the
one library
original commit: 507b1cd8fd81cd9c5fcf466a2a0c4c47433b0795
2011-05-05 16:10:42 -05:00
Eric Dobson
5ea9af1a69
Changed Paths to PathStrings in types where appropriate
...
original commit: f3c73a197e4379b6c852050ba0197dc3f31319a4
2011-05-03 18:20:31 -04:00
Eric Dobson
3de7ea8410
Correctly instantiate poly-dotted functions with zero arguments.
...
Closes PR 11776. Closes PR 11545.
original commit: 44f377bcd40b88147b606dbe1e8950e59b40e07d
2011-05-03 18:20:31 -04:00
Sam Tobin-Hochstadt
b55c9dfa2b
Document utility predicates.
...
original commit: 045fd7a77c814016739020a7eedaac1ad03d4795
2011-05-03 08:15:37 -04:00
Eric Dobson
00820b2a91
Struct types now generate flat contracts when appropriate.
...
Closes PR 11686.
original commit: 613e121783d34c3e2cc4904f3e4f43639ab925b3
2011-05-03 08:15:37 -04:00
Sam Tobin-Hochstadt
b8e972df37
Fix a couple typos found by mflatt and the optimzer.
...
original commit: 31aa47f13653f30d4b4eb4fc92a13964f682f9ea
2011-04-30 19:49:00 -04:00
Vincent St-Amour
5b11b9f98b
Promote more literals at compile-time.
...
original commit: 4d24cbee606b19dea77d7225fba4517957d6fc0a
2011-04-29 17:16:39 -04:00
Vincent St-Amour
c8313ec1ac
Run optimizer tests in a throw-away namespace to reduce memory usage.
...
original commit: d9451ef4abb6e44ad6a47c76d07adcfe142dc43e
2011-04-29 15:28:30 -04:00
Sam Tobin-Hochstadt
acf8e410c8
Document many more numeric types, and fix documentation for `typed/scheme' etc.
...
original commit: 551ad63f4e2bffb717abd645265c7f45a03362e4
2011-04-29 13:27:38 -04:00
Sam Tobin-Hochstadt
2ab36e790f
Document a bunch of TR types and special forms.
...
original commit: 6a87483f38214ab4efe00188a31b671d8551c4b7
2011-04-28 18:26:07 -04:00
Sam Tobin-Hochstadt
f1c0bd8280
Remove uneccesary provides.
...
original commit: 561d89f0aff26c4171776ae4ed38127e51a349d5
2011-04-28 18:25:22 -04:00
Sam Tobin-Hochstadt
aa2bbc255d
Progress on missing docs.
...
original commit: c28f024ae05ef276c9bf2e5ad5ddea45462ac3ff
2011-04-28 18:25:22 -04:00
Vincent St-Amour
e24955b66a
Add set types to TR.
...
Original patch by Eric Dobson.
original commit: 632e36f751ea454874548cdb62d6cb73694c773d
2011-04-28 18:22:39 -04:00
Carl Eastlund
fca7f32a50
Added Typed Racket reference subsection for syntax object(-related) types:
...
Syntaxof, Syntax, Identifier, Syntax-E, Sexpof, Sexp, and Datum.
original commit: 943c1bd6b5a18fce0448a1d988d222b845364b83
2011-04-27 16:46:20 -04:00
Vincent St-Amour
64b062cb6f
No need for EphemeronTop since ephemerons are covariant.
...
Closes PR 11633.
original commit: 9740d5542b1cd0046ebdbb1c28ba73ea66025366
2011-04-26 15:35:22 -04:00
Eric Dobson
3b22083244
made ephemeron test correct
...
original commit: c221c070763a9527840ddb2d5ebedf63b9af464d
2011-04-26 15:35:22 -04:00
Eric Dobson
b22c8c9c24
Beginning of ephemeron patch
...
original commit: 80fa8d3c9799ece292b764f69d10377a34d5495d
2011-04-26 15:35:22 -04:00
Robby Findler
c2fac98d9c
added lots of new tests that our documentation is complete
...
original commit: e7d0029aeaadcaf1c691756198f96cfd5eff0f4c
2011-04-25 13:24:43 -05:00
Robby Findler
59f0bfe857
added the racket/contract/combinator library,
...
and documented and adjusted these libraries:
racket/contract/base
racket/contract/exists
racket/contract/parametric (renamed from exists)
racket/contract/region
original commit: 21cbd9ad81eb35dc4d39d6063db25fcb1cc94bbc
2011-04-25 11:51:44 -05:00
Sam Tobin-Hochstadt
1185be8b1f
Fix undocumented binding.
...
original commit: 295cb191cffbfdf0cc4bfd3840994d45cef9747c
2011-04-21 12:23:44 -04:00
Sam Tobin-Hochstadt
e903b419dd
Avoid resolving types when checking subtyping on structs.
...
This fixes problems with caching, because sometimes we were giving the wrong answer for nested calls to `subtype'.
original commit: 82e6e9d19eb277be03ffd7b91d4549a61bcd723a
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
01a6586f73
Use `in-hash' explicitly.
...
original commit: d459ad47b897fed0c106f78f357744c2558f7819
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
172d85f97d
Add type keys for Struct and StructTop.
...
original commit: fe60793b4de78f80e0f12605e9853b6ab6638a6d
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
3f6c0aef0c
Add clever comments.
...
original commit: 6c17b01f99473deecea91ffe3435fd6b11819f37
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
c11338c883
Add debugging parameter, and wrappers for unstable/debug.
...
original commit: eaa63f2d1ef6c0fdec45b504aa6f2f7bcd07b2b5
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
70e0482625
Add cache for `resolve-once'.
...
Substantial speedups on "new-metrics.rkt" test.
original commit: 79061150efbc304ac6b9c3f74ba0ac0df342857e
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
13b93f380a
Use eq? on sequence numbers.
...
original commit: 0f30f5d8de67bb80f4873a25228afbd7069d2ad1
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
403354ad49
Remove useless requires.
...
original commit: 51083dbce6bc66305a7d3809097bdaba07c78313
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
32eacbc3b7
Fix typo.
...
original commit: 7ba2b6e100a9075779bdbdc0a540c8b3044587a5
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
96aaa73075
Remove unused macro.
...
Convert function to macro for inlining.
original commit: e7beef3f4fd407c7ba7f8d6c46e4f9f37fced091
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
d5d338ad2f
Refactor to avoid duplicated code.
...
original commit: 05d9e1a871de7d68d5ae878b7dc1b3bdd7be28fb
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
0c42c44942
Remove useless propositional clauses. Thanks to dyoo for test case.
...
original commit: 0f5dfd68710bbfadb499e2ab7ff294bcd377053a
2011-04-18 18:42:10 -04:00
Sam Tobin-Hochstadt
8ebebdeb8f
Copy properties when optimizing bodies of lambda/define-values.
...
Closes PR 11860.
original commit: 981616d504c1c0c6f91effedc6166a324de328e3
2011-04-18 15:41:50 -04:00
Sam Tobin-Hochstadt
edd83d1c06
Remove unused code.
...
original commit: 187dc634933a5652746d5dcb6a263732a9a46b7a
2011-04-18 15:41:50 -04:00
Hari Prashanth
c5bfe38e87
Added some examples to to the TR reference docs.
...
Signed-off-by: Sam Tobin-Hochstadt <samth@racket-lang.org>
original commit: 7934ac3461830df81836dfd8113e1b2e7a915a1a
2011-04-18 15:41:50 -04:00
Vincent St-Amour
58a8754f50
Optimize filter operations.
...
original commit: bce90e2a712dccdf0c7283abaa5be49f65d96b59
2011-04-18 13:25:28 -04:00
Robby Findler
e81eb675ac
renamed parametric/c to parametric->/c
...
and cleaned up the organization of the related files
original commit: 570a3e58b9e82a50a35466a17cd293e1df74f6bc
2011-04-09 21:45:49 -05:00
Ryan Culpepper
12955cdc37
moved unstable/{location,srcloc} to syntax collection
...
fixed bugs in unstable/wrapc
original commit: 7828a7bfa78ac6591ea7074cdf85f3cd0ca12baf
2011-04-08 08:25:22 -06:00
Ryan Culpepper
b8d44a81de
moved unstable/poly-c to racket/contract/parametric
...
original commit: f49412add8363db39de28f579add722094e21cb7
2011-04-08 08:25:22 -06:00
Ryan Culpepper
332517bc27
created racket/syntax from parts of unstable/syntax
...
original commit: 73ab1675222761363f6633061bc1156189f4ba59
2011-04-07 09:47:20 -06:00
Vincent St-Amour
f01605d921
Fix bounded-fixnum opts to only fire with the right number of arguments.
...
original commit: 9c3bee03e7f24390338e3f37d06eb84940d6a137
2011-04-01 14:56:17 -04:00
Vincent St-Amour
9005984c31
Fix type of sqr.
...
original commit: 60cc8c44537993882e41c3835c112a64b48c7d4c
2011-03-21 16:06:37 -04:00
Vincent St-Amour
8040ee8831
Fix type names.
...
original commit: 4ba3f1a6ddde6a69cd110435a0294136eb7efd13
2011-03-18 13:25:06 -04:00
Vincent St-Amour
5a35d4ea66
Optimize add1 and sub1 on floats and fixnums.
...
original commit: 3ebe9e78f9c86feb14d80dd499adec6438dc37e3
2011-03-18 13:25:05 -04:00
Vincent St-Amour
b05cef80e3
Use subtype test, just in case.
...
original commit: d06bf0de912355eb776f060c9d7a0a137f50a339
2011-03-18 13:25:05 -04:00
Vincent St-Amour
b2d591e70b
Provide the index? predicate.
...
original commit: 17afa91c095d9df8f91820dcb8268df34f9f0165
2011-03-18 13:24:58 -04:00
Vincent St-Amour
c8a4abd264
Improve TR's fixnum optimizations, using the new sub-fixnum types.
...
original commit: 1f0386b46cc7ef08ac59d1d3453412f5eaf3f1e3
2011-03-18 10:25:22 -04:00
Vincent St-Amour
cefc2bec81
Changes to the regular base type environment.
...
original commit: bde2ee0b8d122bae0ecc2c8f0cd0e26285bb9539
2011-03-18 10:25:22 -04:00
Vincent St-Amour
f0bdca6383
Updated TR's base type environment to use the new numeric types.
...
This ended up being an almost complete rewrite of the base environment.
Note: While the commit is dated Jan 27, the work was finished on Mar 2.
original commit: ee29d371c9e6882edfc78621110bd11260ee942a
2011-03-18 10:25:21 -04:00
Vincent St-Amour
f2c0187b07
Add a helper function to add filters en masse to express propositions
...
that are true about a function's arguments if the function returns.
original commit: bf6379c36346e061031fe2916a1f6aece2367fb1
2011-03-18 10:25:20 -04:00
Vincent St-Amour
ddd2dd821b
Add an Exact-Number type.
...
original commit: 88fac43d551687efc72b6241c2dffbbaffe270d7
2011-03-18 10:25:20 -04:00
Vincent St-Amour
a8ee106320
Take the meet of constraints earlier in the inference process.
...
This avoids constraint explosions in some cases, notably when working
with polydots and plain variable arity functions at the same time.
However, this also weakens inference a bit (breaks it for
unholy-terror and related tests), but not in a way that affects any
practical use cases that I know of.
original commit: 80a9027f1eee6ea56a29aa73c65675f6cf86cdb2
2011-03-18 10:25:19 -04:00
Vincent St-Amour
4f37500ccb
Move subtype check in inference engine earlier, for performance reasons.
...
original commit: d0bab9953508c8e1ff4bf126d33dd8cf4d16bdd1
2011-03-17 18:43:59 -04:00
Vincent St-Amour
246498613a
Share dotted variables to make inference faster.
...
original commit: e450e2815bea5891d61d641e71eb8873f9e43544
2011-03-17 18:43:58 -04:00
Vincent St-Amour
a006817f5e
Remove duplicate constraints when taking their meet.
...
original commit: bd301912c01c27cd20892c8ddf60b4529dd3def1
2011-03-17 18:43:58 -04:00
Vincent St-Amour
f8ded9a56d
Change type of make-sequence to reflect changes to its implementation.
...
original commit: f8528ac8926bbf7d7eb032dbb287182336828bd4
2011-03-17 18:43:57 -04:00
Vincent St-Amour
4e38d34c5a
Fix expected optimization logs to reflect changes to for.
...
original commit: 35161a0ba675677fdcfd25bb9f44809173572e22
2011-03-17 13:10:19 -04:00
Vincent St-Amour
7635a7927d
Fix TR's GUI test harness.
...
original commit: 498ee4bea17298a96a8fc0ffee956e36e3b639c7
2011-03-17 13:10:19 -04:00
Vincent St-Amour
5e37d261e5
Fix contract.
...
original commit: fe8f1c3591ea86f7d0ec7943ccff47c4c2585dea
2011-03-17 13:10:19 -04:00
John Clements
c60b5b21a9
oops rename in tests subdir too
...
original commit: ca88fdd7e52bc57a83e45131fdabc2dddbe4fef4
2011-03-08 17:37:38 -08:00
David Van Horn
091a0f64e3
Fixes more spelling errors.
...
original commit: 760a58b65df2b91010d2bcc2739ddab2a4489729
2011-02-04 19:44:13 -07:00
David Van Horn
774c62bda5
Fixed various spelling errors.
...
original commit: c9519fd11300b07292df8619e86f48533eff6e4d
2011-02-03 17:42:33 -05:00
Vincent St-Amour
4c5e687ec1
Document the Path-String type.
...
original commit: 3c081d8fa7ed9f7328d6f9acffda4ef591da4e47
2011-02-01 18:00:26 -05:00
Vincent St-Amour
f8b7eb8073
Add a case-> type-constructor as a synonym for case-lambda.
...
original commit: 1b3052748e3278deefabf646f4990dc1f8064202
2011-01-31 16:39:20 -05:00
Vincent St-Amour
2b933e4436
Remove some legacy bindings.
...
original commit: d65438c9ea1bacce33579c81cc0e22120ab64f5d
2011-01-31 16:39:19 -05:00
Vincent St-Amour
185e8c4d0b
Cleanup of exposed base types.
...
original commit: 22391be437d61fbbe7a1f19b2a2ded393b7afb55
2011-01-31 16:39:19 -05:00
Vincent St-Amour
97d8f2613c
Fix typechecking of single flonum literals, now that they are enabled by default.
...
original commit: 0f0a2625c6765a48e6aeb41230d2e6d9225f9c9e
2011-01-31 16:39:18 -05:00
Vincent St-Amour
c0970cc647
Small-Float -> Single-Flonum
...
original commit: f1c6c74284fd913ab8231426bcf1206bcf259f77
2011-01-31 16:39:18 -05:00
Vincent St-Amour
f642a6ce6d
Added the new single-precision float function to TR.
...
original commit: 4ac36fd59bc35cb0d60cb050cfaae21d213064c8
2011-01-31 16:39:18 -05:00
Vincent St-Amour
0e7bf2be4f
Update base-env-indexing to use the new types.
...
original commit: b26531774b6943e73f4b285b827432200b18a433
2011-01-31 16:39:15 -05:00
Vincent St-Amour
aa2132e024
Bytes are a sequence of the new Byte type.
...
original commit: 46f086282d7302e7e015109c9f945a92350e384c
2011-01-31 16:39:15 -05:00
Vincent St-Amour
8542bc4073
Edit TR's optimizer's docs to reflect that Float-Complex is the only
...
complex type that can be optimized.
original commit: 5dbc752542ec6dec03fb4060ecff16a8cfb5a095
2011-01-31 16:39:15 -05:00
Vincent St-Amour
f6590e9db2
Fix optimizer to work with new types.
...
original commit: 768bb6336142726023bfe2029b5aa25728bda0a3
2011-01-31 16:39:14 -05:00
Vincent St-Amour
956a1533c8
Fix TR tests.
...
original commit: a0a54b231db5c81e9ab66302399b6adc660b701f
2011-01-31 16:39:14 -05:00
Vincent St-Amour
3d6b5893ba
Add a predicate field to base types, which makes checking for
...
subtyping of value types easier.
However, this means that base types can't be marshaled as before,
since these predicates can't be marshaled. Instead, we now marshal
base types as identifiers that refer to their base type object.
original commit: e56663c943fe4ae355b6d626d3c84b6ec8ea7fd1
2011-01-31 16:39:13 -05:00
Vincent St-Amour
881a3d31e7
Avoid generating large contracts for common numeric types.
...
original commit: 3e27ed607c983bd26d3ccf0c98f4504b86b1642d
2011-01-31 16:39:13 -05:00
Vincent St-Amour
d5941cb2d6
TR's numeric tower is now built from unions of non-overlapping base types.
...
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.
In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.
original commit: d4c93cc12e6df893ba2e782f0e0ea5529738315a
2011-01-31 16:39:13 -05:00
Vincent St-Amour
ddd166c799
Make bare union constructor smarter.
...
original commit: 78c4809177e6781a42dd29dd9b0bb96c77fa0e01
2011-01-31 16:39:12 -05:00
Vincent St-Amour
6473431d0d
Documented opt-lambda: and popt-lambda:.
...
original commit: 4b3e621d0ff54671befe96bff3c49109128e8861
2011-01-31 16:39:12 -05:00
Vincent St-Amour
6a0aa26fde
Fix nightly running of TR tests.
...
original commit: 36ae5a9d50883395e521ead9abdcfe0321bf7943
2011-01-27 16:49:45 -05:00
Vincent St-Amour
b13ebb0924
Generalize hash table literals and subtypes of symbol.
...
Closes PR 11670.
original commit: 2bd0145603f411e01ce6e16bfcf6ffc842b6801a
2011-01-26 14:23:19 -05:00
Eli Barzilay
f71157285c
Abstract the initialization stuff into a separate function.
...
Make it available outside so in the future I can use it in the PL class
code.
original commit: 5998ecc56430c34cabb13519a92fe755eff145cd
2011-01-14 08:35:55 -05:00
Vincent St-Amour
9f19fceabb
Fix portable-fixnum?.
...
original commit: 7808be5e20c022799d16d3a7044dc1e17dd04898
2011-01-12 14:20:29 -05:00
Vincent St-Amour
6d105153f1
Fix portable fixnum size.
...
original commit: cb723092e26f980600df3d66c54321da28b0490e
2011-01-05 14:42:31 -05:00
Sam Tobin-Hochstadt
d2424d72fa
Fix TR tests for new contract error messages.
...
original commit: 2431f8f70646e00d3c65ef6d9d00fc75459d3ff0
2010-12-29 13:46:57 -05:00
Sam Tobin-Hochstadt
84a3802952
Document ordering in `case-lambda' types.
...
Closes PR 11394.
original commit: 25d2827d0dbf25e797c20aa6ec24cd3b7794554d
2010-12-13 07:26:31 -05:00
Carl Eastlund
034c06a30e
New test case for formatting bug in TR error messages.
...
original commit: 5b18305e11b1f2bcba0e6d6e4ebfd7d51fb6ccba
2010-12-10 17:26:17 -05:00
Vincent St-Amour
ee11638bc6
Scheme -> Racket
...
original commit: 740b8308d7d52c1b4b9f00282d1b1c5187cd81e3
2010-12-10 17:17:02 -05:00
Vincent St-Amour
432b1040dc
Update TR tests to reflect new contract error messages.
...
original commit: 09ffb7049288731040aa33c41b5c13952d9ab285
2010-12-10 16:59:13 -05:00
Vincent St-Amour
73046316e6
Allow running individual TR tests.
...
original commit: b9d67eea2f08e5eed8a5d28539aa749e2a64f790
2010-12-10 16:59:12 -05:00
Vincent St-Amour
8e569511e8
Fix double application of format.
...
Closes PR 11524.
original commit: f8c01299f971c65509877e22feaaa4f2ccb79227
2010-12-10 16:59:12 -05:00
Vincent St-Amour
a00e498399
Error when running TR's test harness with no tests.
...
original commit: 407d9b5f0792ff94438a7e5f5448f54dddb8f7d9
2010-12-10 13:44:47 -05:00
Vincent St-Amour
a650c59fb3
Test for errors in rhs.
...
original commit: 365d2726660ab9342f229789f268e2461cdd2063
2010-12-08 20:32:20 -05:00
Vincent St-Amour
f4a1a31f61
Typecheck body of letrec using original types instead of potentially undefined type.
...
original commit: 81ef5f9418b0011daa980d438c0eed451b37d578
2010-12-08 20:32:20 -05:00
Vincent St-Amour
0ccef7d4bc
Error if we get a type that may be undefined and we don't expect it.
...
original commit: 53719600d8de6c504c126a316eb87deb2c49ebdd
2010-12-08 20:32:20 -05:00
Vincent St-Amour
2865f2801f
letrec: consider outside bindings safe.
...
original commit: b045153177afe8aaebdbf179dbe27670b1cf577d
2010-12-08 20:32:19 -05:00
Sam Tobin-Hochstadt
bcb395b986
Fix type of `-'
...
original commit: 463ab0d30943f5453eaac16e1d966dd9dae093eb
2010-12-08 19:31:57 -05:00
Sam Tobin-Hochstadt
eacda65291
Add `defined?' assertions to fix DrRacket.
...
original commit: e70ccafd7b591df218a1ae036f599c671eb57824
2010-12-08 18:53:56 -05:00
Sam Tobin-Hochstadt
1527fba4b3
Allow arbitrary filter specification in function types.
...
Allow (A -> B -> C) for curried function types.
original commit: 87eab889d68dd46bfd5b0f4d79942bc104cb3da2
2010-12-08 18:22:29 -05:00
Sam Tobin-Hochstadt
05e1489dfb
Better handling of `hash-*' functions, and hashes as sequences.
...
original commit: 73dbf42e0e6fb750d871060d6ed34adf6e207eec
2010-12-08 18:22:29 -05:00
Vincent St-Amour
5acfe5b67d
Take into account potentially undefined values in letrec.
...
Closes PR11511.
original commit: dc2df4882b6abca46839ace724924df5ab0d7707
2010-12-08 18:17:06 -05:00
Vincent St-Amour
dc0473f67f
map + syntax->list -> syntax-map
...
original commit: 33581fd67e26e5cc21acac50b5380087e8e9c8b8
2010-12-08 18:17:05 -05:00
Matthew Flatt
f844b4ed00
move Typed Racket manuals to the Languages section
...
original commit: 94e2d46a8eea69ea3705c3747152e9c578d0fff2
2010-11-27 19:01:17 -07:00
Vincent St-Amour
d7a8f14636
Fix type for abs. Closes PR 11430.
...
original commit: e7c252739ddab37973cf3c013660d6c2244c44b8
2010-11-23 14:15:04 -05:00
Vincent St-Amour
26a2fd0163
Add type for fl->exact-integer. Closes PR 11429.
...
original commit: 54991835d603a81ddaee6845e4930bfe0ab9de24
2010-11-23 14:15:04 -05:00
Vincent St-Amour
8d3499453f
Fix type for arithmetic-shift. Closes PR 11428.
...
original commit: 58d1f75dc1b1e2d9c17427641fa6f295aec96706
2010-11-23 14:15:03 -05:00
Vincent St-Amour
67eb57c526
Add type for integer-sqrt. Closes PR 11427.
...
original commit: 7a7fe577cd464c80b4b344aef4a072c25c7652fa
2010-11-23 14:15:03 -05:00
Vincent St-Amour
b9303a1f4b
Fix type for raise-type-error. Closes PR 11426.
...
original commit: e10f139ad82748ee5d6b959c1f6225886b41084d
2010-11-23 14:15:03 -05:00
Vincent St-Amour
44e1994364
More precise type for sgn. Closes PR 11424.
...
original commit: 2c74984fcd442fd73802244801946e2d4dd8ba8c
2010-11-23 14:15:02 -05:00
Eli Barzilay
46cbe83ff3
Clarify comment re `fixnum?' non-use at the syntax level, and add a note
...
to the `fixnum?' documentation.
original commit: 9a485064ed81366579f2a5c7cebf591de7e07be2
2010-11-05 01:48:23 -04:00
Vincent St-Amour
9c5a1e0086
Fixed a fixnum typechecking issue.
...
original commit: 4c081c127ab91067c3a69568175d7274b090f986
2010-11-04 17:27:34 -04:00
Vincent St-Amour
26aafa3ea6
Fixed potential danger with fixnum optimizations.
...
original commit: c0a6137c67228933ad94d88409ffd86e30e922ae
2010-11-04 15:35:21 -04:00
Vincent St-Amour
b5d29776df
Add optional argument to make-hash and co.
...
original commit: c633913b9484c623ca6e56c7b485613c9d60716b
2010-10-27 16:15:50 -04:00
Sam Tobin-Hochstadt
db3c6bbbe0
Avoid dumb parsing bugs in require/typed.
...
original commit: 561fdc8db580c828a45dc27c4ca61b21dccad311
2010-10-26 18:09:45 -04:00
Matthew Flatt
28406c5093
swap vector*-ref' and
vector-ref', etc.
...
Merge to 5.0.2
original commit: 5d8e000d6d37cb9a032f4bcf4d82c63d8e51bae1
2010-10-25 11:22:35 -06:00
Vincent St-Amour
9b5a5a6bb5
Fix opt-lambda:. Merge to 5.0.2.
...
original commit: a15236ea4f1ba84c9351632e9469e1cd34b5375b
2010-10-20 14:32:37 -04:00
Vincent St-Amour
4a6b3b2b57
Removed logging when no optimization actually happens.
...
original commit: 12a5454b147468df59e92cb7057e0e9515ad5abd
2010-10-14 14:13:06 -04:00
Sam Tobin-Hochstadt
f0fad4383a
Add type for `compose'
...
original commit: 24bddafa82e28a3eee675c1ad99ae1dcde59d46a
2010-10-14 11:44:14 -04:00
Vincent St-Amour
759a3707c8
Fixed a test to reflect implicit let in cond instead of implicit begin.
...
original commit: 3f5ea8a5be1da62f4766585f891e7c5340c52588
2010-10-14 10:53:43 -04:00
Vincent St-Amour
1a4e176824
Inexact-Complex -> Float-Complex
...
original commit: 27e722f27b673cbfcee60aaba75dfdcab7e396c5
2010-10-12 16:47:46 -04:00
Vincent St-Amour
c547da857e
Added the Float-Complex type for consistency with the new float types.
...
Inexact-Complex has been kept as a synonym for backward compatibility.
original commit: 52bd739d00491d2a78b62c6d6e89fb5eaf6ae046
2010-10-12 16:47:45 -04:00
Vincent St-Amour
92b3f9af03
Changed the TR numeric tower to use the new flonums.
...
original commit: a59a99c42dffec38be98f3c0449097c80bad40fe
2010-10-12 16:47:45 -04:00
Vincent St-Amour
d60793d271
Changed the interface for running single optimizer tests.
...
original commit: f3ae9c73b0f58d2d56e2ee3cee605c58a9bb3a1d
2010-10-12 16:47:45 -04:00
Vincent St-Amour
428e96980b
Added optimization for first, second and co when possible.
...
original commit: 2c4d6fbb015e7433fbd8aec68867134988f367bf
2010-10-12 16:47:44 -04:00
Vincent St-Amour
19784fffe5
Improved TR's error messages when all domains but one have been eliminated.
...
original commit: db0046101cb8b75e56215b4528d280894c59a36d
2010-10-07 18:30:35 -04:00
Sam Tobin-Hochstadt
fb0df54c79
Fix `overlap' for refinements of base types.
...
original commit: 7bcd107e7ff5ce64791a5613a13f6445a87c638c
2010-10-07 11:19:54 -04:00
Sam Tobin-Hochstadt
21eb1eeadc
Remove outdated comment.
...
original commit: a45ce954d798f178cfd17f556f84d55dead2d460
2010-10-07 10:18:06 -04:00
Vincent St-Amour
ed4294a6f2
Have the optimizer ignore struct/exec.
...
original commit: 99178c70a0dd5add19b13eec4380f357e0e6680c
2010-10-06 18:43:35 -04:00
Vincent St-Amour
220b41c75e
Updated the documentation of TR's optimizer.
...
original commit: d39cb530cf335fbe9549ced308924b0691f8ff18
2010-10-06 17:32:30 -04:00
Vincent St-Amour
30780b3f6a
Changed the optimizer's test harness for optimization on by default.
...
original commit: abcbce129bf65fc63daa33d843589305efd94b81
2010-10-06 17:32:30 -04:00
Vincent St-Amour
057043c493
Turned the optimizer on by default.
...
original commit: 8baa1682af76965400ab1071a46f8ba50f7c7165
2010-10-06 17:32:30 -04:00
Vincent St-Amour
105b82fb70
Fixed tautology/contradiction recording to work with case-lambda.
...
original commit: 5395dbca122c534db3d70139c871e0bc4b91515f
2010-10-06 17:32:29 -04:00
Vincent St-Amour
9e13c1a6d9
Register types for send exprs in the type table.
...
original commit: 21723281899d7aab5692e605386abcf6f92cefe9
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
5733f06d9a
Contract fixes.
...
original commit: c739128703d917540ff963775459b6c75ccf2c80
2010-10-01 19:29:18 -07:00
Vincent St-Amour
7876c75cbc
Got rid of a broken subtyping rule.
...
original commit: 5a67535a950ba19846151a6f7a3f7a473affea86
2010-10-01 17:48:47 -04:00
Vincent St-Amour
8c6264008d
Delete compiled benchmarks when testing.
...
original commit: f7436b59fb3d1f91481216148f4e147315b0144c
2010-10-01 17:48:46 -04:00
Vincent St-Amour
1fb2c973f0
Further improvements for TR's error messages.
...
Only the most permissive domains whose associated return type is
consistent with the expected type are shown in error messages.
For example, for a function with the following type:
Fixnum -> Fixnum
Integer -> Integer
and an expected type of Integer, only the latter domain is shown in
the error message.
original commit: e011ea00bd73fd8ac3b9c4afe4e1435dcaa27cdb
2010-10-01 17:48:46 -04:00
Vincent St-Amour
5fab19e4df
Improved TR's error messages in presence of case-lambda types.
...
- When displaying errors involving functions that have case-lambda
types with branches that are redundant modulo filters (such as <, >
and others), only the general branches appear in the error message.
(Real Real Real * -> Boolean, in the case of < and co.).
- For all errors involving case-lambda types, only domains for which
the return type is consistent with the expected type are displayed
in the error message. Further simplification is planned.
original commit: 206fe52047f24ab89ac1d538c939c04fbbae59b7
2010-09-23 12:59:47 -04:00
Vincent St-Amour
2e1cf9d4f4
Explained a design decision.
...
original commit: 4aa7bc8439195addb172976253054ca1d41c72a1
2010-09-23 12:12:15 -04:00
Matthew Flatt
b6a14210ed
rename file to avoid :, which is not allowed under Windows
...
original commit: fa7dd9b522f0dd14d3b71c74256803228379d562
2010-09-20 03:31:18 -06:00
Stevie Strickland
dbdb62fc7b
Convert vectorof/vector-immutableof to the new regime.
...
Also add old-style vectorof to mzlib/contract.
original commit: 3028f2d1424123d076a95572a7564b8fb069a86e
2010-09-16 15:04:41 -04:00
Vincent St-Amour
6b979e393f
Documented optional for: and let: annotations.
...
original commit: e0bda30738a696a427d2ffc830789628da1beb4d
2010-09-16 13:24:11 -04:00
Vincent St-Amour
75d628bd68
Added a test for optional let annotations.
...
original commit: 7e2094f2d719cfdb626c6aa78893a8516c9a7ea0
2010-09-16 13:24:10 -04:00
Vincent St-Amour
ef623a46b6
Made annotations optional for let: and variants.
...
original commit: 8aab96faa6cac4fd20b7464693152d1f9a3ad106
2010-09-16 13:24:10 -04:00
Vincent St-Amour
8a94fce374
Fix some optimizer test logs to reflect racket changes.
...
original commit: e03e53b1cba5a63b5f9c0dafbb777d7116c93d1d
2010-09-16 10:48:28 -04:00
Vincent St-Amour
cc871deebb
Made some type annotations optional in the for: macros.
...
original commit: 9f87b5a7e6a2034a4d936bd2cc8e67632f8c6e3b
2010-09-15 20:21:51 -04:00
Vincent St-Amour
99b35249ab
Removed useless requires.
...
original commit: 8b60085a177d40b8a494e8f5aafe7fe52022d225
2010-09-15 20:21:51 -04:00
Vincent St-Amour
71d2819cba
Removed an obsolete comment.
...
original commit: 1b28aa41c706292734f81a61411305e8d4546847
2010-09-15 20:21:51 -04:00
Vincent St-Amour
b03abef7ff
Added annotated versions of the for macros that generate vectors.
...
They are purposedly left out of the documentation since the typchecker
can't currently handle their expansion.
original commit: a10d145f25dd4257dd216ea0b1e97184a29c7683
2010-09-15 20:21:50 -04:00
Vincent St-Amour
f991c65bb7
Added a test to make sure derived lists accessors don't get optimized then they shouldn't.
...
original commit: 65c502f9d75f919b8af37bee9698b24a082b27a0
2010-09-15 20:21:50 -04:00
Stevie Strickland
e7e187e1de
Now change box/c to use proxies or chaperones appropriately.
...
Create a mzlib/contract compatible version of the old box/c and use that
for mzlib/contract. Change the docs so that the docs for mzlib/contract
contain the right information.
Fix the typed-scheme implementation to only force flat box (or hash)
contracts when it already is required to be flat. Otherwise, allow
non-flat contracts for the element contract (or domain/range contracts).
original commit: 994ad6d10fc817a5ceca2f9f4874dac5c14c0aab
2010-09-15 16:57:17 -04:00
Sam Tobin-Hochstadt
9d31fc0726
Fix doc typo.
...
Closes PR 11190.
Closes PR 11191.
original commit: 07227ed8f7e32ed552186f41df8c9fedde1c6a02
2010-09-13 08:46:56 -04:00
Sam Tobin-Hochstadt
70a3eb6153
Fix for new ->i syntax.
...
original commit: d1835175d7cc0cab1bc717b052c1d080e7f443f3
2010-09-10 18:38:02 -04:00
Sam Tobin-Hochstadt
087b5fd8f7
Fix internal error when single value expected.
...
original commit: 979561354d3c0949208e1dd7fed9fe750f4c1cef
2010-09-10 18:29:34 -04:00
Sam Tobin-Hochstadt
8a568284b9
Add some file primitives.
...
original commit: 5789981f2c4756f2f6cd066ac6f28555dc57e1fd
2010-09-10 18:29:34 -04:00
Vincent St-Amour
f88c8f479e
Extended pair optimization to the rest of the standard derived pair accessors.
...
original commit: 0166ece180194605a52841a2a91fb2618e0372a1
2010-09-09 18:54:34 -04:00
Vincent St-Amour
19dcce8809
Refactoring.
...
original commit: 74508210687ad0e415af1f28037357ec2640e3ba
2010-09-09 18:54:34 -04:00
Vincent St-Amour
dee0ddc16e
Extended pair optimizations to some derived pair accessors.
...
original commit: 024f873947bb5664b92cd68be55653b2ca4a24ee
2010-09-09 18:54:33 -04:00
Vincent St-Amour
51faa45faa
Removed useless requires.
...
original commit: 6e5ea420a1bad921ab07788c64df6a2daaa933af
2010-09-09 18:54:33 -04:00
Vincent St-Amour
66770afa1c
Removed unused exports.
...
original commit: 85550953c8b484da89bb107f7785c4e8e1188e2c
2010-09-09 18:54:33 -04:00
Vincent St-Amour
ba761592c6
Included expected optimization logs in the test files.
...
original commit: 7f546434ed1648ff52efdb0e84883e8af5b2837a
2010-09-09 18:54:33 -04:00
Sam Tobin-Hochstadt
c13d984042
Add additional require for identifiers in the residual program.
...
original commit: c15871a0284fcf2a6a8c78fafde4fdd9a9551bca
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
9e9680d5ff
Fix typechecker tests for new environment setup.
...
original commit: 00a8a85f9dd344026a1ca8a4087a86d9bf571728
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
ea078904a5
Remove requires for environments now handled dynamically.
...
original commit: 5302b3e87c01be9c11e5f2098c90615bf5c883bc
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e0b7b06a21
Add `require' to fix tests.
...
original commit: 0ae9e0ff851a1d5835ac8ab1eb1bd1a0b7ab3c8c
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
df6cce314c
Avoid printing results of `define-hierarchy'
...
original commit: bc6d8f98ed08e1f70f1b3ea255869b06533d2372
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
eba0c35b6c
Fix `require' for contracts.
...
original commit: 867f35927430b61c411ae7c930964b9e70f42cc5
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
a074f3dc6d
`require' changes
...
original commit: 7a1b29c8f27328cacc01b34c8e01f0ac361ccc3d
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
0c00609ade
Enable struct construction when not transforming. Necessary for testing.
...
original commit: 71ae5f0a6e92f571ab34ed1849ff31c71117e12c
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
63f6827622
Fix `hash-name' to avoid collisions.
...
original commit: eea479b34a2014f259f59098a38aa33ba0ee1971
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e717d29b74
Lots more laziness, and useless require removal.
...
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
63748f9460
Progress on delaying some environments.
...
original commit: de0e8bc81ce566d9a540832f794d96b2cf9409ce
2010-09-09 16:08:03 -04:00
Robby Findler
780c2159b8
changed the ->d contracts to ->i contracts
...
original commit: d419e8c12a554d660a65198dd102bc03e01c93a8
2010-09-09 14:21:35 -05:00
Sam Tobin-Hochstadt
54763a9ca3
simplify requires
...
original commit: 837291a793bd9602af16404db1b4fc49e639021f
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
72a11f2d56
Load typechecker dynamically to reduce footprint.
...
original commit: 120a1d0d87824f90b153047cc3a5408a60753b65
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
673abe2e46
simplify
...
original commit: cfc289d806a4a71e34df8dc8b98b5024b66a4cff
2010-09-08 11:37:02 -04:00
Sam Tobin-Hochstadt
1503fed8c3
Add memory fns.
...
original commit: fae02be9f06aefd55c65211d2e95a07041ebfede
2010-09-08 11:32:04 -04:00
Sam Tobin-Hochstadt
8cdcde83cd
Fix contract name references.
...
original commit: 350cef9af8bc27dc5eb223875d3f7a3c408753a4
2010-09-08 11:05:51 -04:00
Sam Tobin-Hochstadt
fba3c3b9ca
Propogate #:mutable for polymorphic structs.
...
Closes PR 11127
original commit: a0e77705e578927e5d8180e6bc811461173580ab
2010-09-08 10:47:51 -04:00
Sam Tobin-Hochstadt
4bf64acde5
Fix polymorphic structs with mutability.
...
original commit: 6130f3551c1019c1bc035d802378c29bf574a0c1
2010-09-08 10:24:58 -04:00
Sam Tobin-Hochstadt
617496f14e
Make syntax of #{} less accepting of errors.
...
original commit: 91fefa055ea0b0fda8ae8bffb993bc163e4160af
2010-09-08 10:24:58 -04:00
Vincent St-Amour
73decd8674
Fix broken tests that depended on an unsafe optimization.
...
original commit: 14097dd90e787c08a138fa5e907680f6af96aea3
2010-09-07 20:11:44 -04:00
Vincent St-Amour
ae11f47dbd
Fixed a dangling link in the doc.
...
original commit: 11e168f01eecd7b39228d5399e045510d6349e01
2010-09-07 16:57:02 -04:00
Vincent St-Amour
a50913b597
Removed unsafe optimization on fixnums.
...
original commit: ae88abd5c849b664e4720fb0ac20b29c684b2a2b
2010-09-07 16:57:02 -04:00
Vincent St-Amour
0df6f293ce
Added the fixnum types to the documentation.
...
original commit: 440871f99d8edc425f633e87555c9f4d110c501d
2010-09-07 16:57:02 -04:00
Stevie Strickland
3e6ab819c6
Check struct predicate before checking fields.
...
original commit: 3b0de9c141edee84be57768a22b1ae3264fcc7f5
2010-09-02 19:59:00 -04:00
Ryan Culpepper
721c939b95
added #:commit to TR optimizer stxclasses
...
original commit: 0c4f82a434daa05decb6f4c92bede7ef11d5b998
2010-08-31 16:21:44 -06:00
Ryan Culpepper
7799959a8b
fixed TR optimizer to work with backtracking syntax/parse update
...
problem was unboxed-inexact-complex-opt-expr, "non exhaustive" error variant
original commit: 04a93812b455586ca3ad8c69844e20ddc6025162
2010-08-31 10:55:58 -06:00
Vincent St-Amour
a506c6cefb
Ignored a rounding error between PPC and x86.
...
original commit: e1fd445fa4acab85eb2894bc94dc1a9b009fc9ba
2010-08-29 10:17:56 -04:00
Sam Tobin-Hochstadt
01fd7f5b8c
Use `any/c' for contracts for polymorphic functions.
...
original commit: 92ce3ca02d448df97ba8e9e2210a898848cae0f1
2010-08-27 18:36:49 -04:00
Sam Tobin-Hochstadt
a6a1840da1
Use the correct name in the provide.
...
original commit: d38af188f6ee5d52b442b14a572b7e579b417925
2010-08-27 18:36:49 -04:00
Vincent St-Amour
f360fac138
Added annotations to plain for and for* in typed code.
...
original commit: d3ee52d4514170b514faecb80b5c939bf7da3aea
2010-08-27 18:18:52 -04:00
Vincent St-Amour
e9e53e8382
Improved sandboxing with code from Eli.
...
original commit: b386f01ee45b5d6f0d6dcb59668b16e729a80cc8
2010-08-27 18:18:51 -04:00
Vincent St-Amour
b12db574b2
Removed obsolete comment.
...
original commit: f06c2d492653b52b720d8776f942255d284c756e
2010-08-27 18:18:51 -04:00
Vincent St-Amour
d516bb877d
Better way to setup the sandbox input.
...
original commit: 9f540bce011106dfcda7de2c13eae3bcd3d42582
2010-08-27 14:43:22 -04:00
Vincent St-Amour
5ead0f43e2
Cleanup of syntax-parse patterns.
...
original commit: 988466369739ac5682205e49185c3956e07f3f0d
2010-08-27 14:43:19 -04:00
Vincent St-Amour
6df18f3f24
Cleanup of the test harness.
...
original commit: 1c9e8e05b061648ee7a54bf120c288eefddbfb15
2010-08-27 13:29:43 -04:00
Vincent St-Amour
989cd5ce81
Renamed tests directory to make more sense with the new structure.
...
original commit: 7cfba9f02d48d10a886bf2cfce2499a26b8db9af
2010-08-27 13:29:43 -04:00
Vincent St-Amour
31342660e4
Improved logging since it's now used for testing.
...
original commit: ca16ac4db50032324c2886766f477909f38b983c
2010-08-27 13:29:42 -04:00
Vincent St-Amour
5169f42b28
Test expected optimizations by comparing optimizer logs instead of expanded code.
...
original commit: 18af26ec9b4a20aa62bddc5cd04d54c6c35a7ac2
2010-08-27 13:29:42 -04:00
Vincent St-Amour
2ed40e6b09
Adapted filename logging for testing purposes.
...
original commit: 6f6ec3b2bf1999e64c04b9ff2afb29739e9c3eef
2010-08-27 13:29:42 -04:00
Vincent St-Amour
99658f326c
Logging can be turned on from the command-line.
...
original commit: 9b598df60a5fb621491a3513ff445e2db6053f83
2010-08-27 13:29:41 -04:00
Vincent St-Amour
7b0682b8d0
Use sandboxes instead of duplicate files to test results when optimizing.
...
original commit: 46b2a2113af3e6f8174379880620f7add5b0f079
2010-08-26 18:08:41 -04:00
Vincent St-Amour
e291319f96
Exclude directories when testing TR's optimizer.
...
original commit: eadc2a7e4c35d56ad84a251a52f1af7ce5548425
2010-08-26 17:46:59 -04:00
Vincent St-Amour
6e2563c2a9
Documented with-asserts.
...
original commit: 63530ed74df880b55b4dc85398181fb2925e6947
2010-08-26 17:46:58 -04:00
Vincent St-Amour
acd7b572ae
Added with-asserts, from code from Neil Toronto.
...
original commit: ea472a9d57b7344e9111bd37663fd7ad0884f0d5
2010-08-26 17:46:58 -04:00
Vincent St-Amour
ee39b520ce
Extend sign analysis to sqr.
...
original commit: 694d2da4b362f83b6f492095c712703856acb068
2010-08-26 17:46:57 -04:00
Sam Tobin-Hochstadt
4d0a7b1d97
Fixes for real/imag-part
...
original commit: 52c90628ce5ec306287c8202ab863fefbb9a1d62
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
3929e32f26
Tests for new optimizer additions.
...
original commit: 3e4ddde80806795923ee8dab602da80ca38e2ec0
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
c35ef60c7f
Avoid reboxing when computing real/imag-part.
...
original commit: c40c48bd97b12526e8cc9da0b9a68926478cdbdf
2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
daa11ce61f
Add optimization for `magnitude', fix handling of functions that return floats, not complexes.
...
original commit: fd2d37a7108855691b566997d4c9a3032416f169
2010-08-26 16:59:12 -04:00
Eli Barzilay
48b7074752
More "~n" -> "\n" changes
...
original commit: 8e0f8dd39c3744472b450021f003f9cbe8cbcb62
2010-08-26 12:11:00 -04:00
Eli Barzilay
8ab581cf2e
Change a bunch of "~%" and "~n" in format strings to "\n".
...
original commit: 7dc4d2e5a63ab416d90e44d7bf75cb5593329909
2010-08-25 17:17:01 -04:00
Eli Barzilay
d4b3623003
Lots of "~e" to "~.s" changes.
...
original commit: 606b7f60dc597a6870efc11364e1dd3e1a8b4a1b
2010-08-25 17:17:01 -04:00
Sam Tobin-Hochstadt
7efb07a4b0
Add Futureof' type, types for
future' and `touch'
...
original commit: b08de170bc616d2217c6fde3dff8c3f1b042eb3b
2010-08-25 10:27:07 -04:00
Vincent St-Amour
69ebe6711b
Fixed the type of file-position.
...
original commit: a4b0c69ec20074eba319070613ff63d40cd937e0
2010-08-24 16:58:21 -04:00
Sam Tobin-Hochstadt
5df8b46738
Use current-readtable as the base for the TR readtable.
...
Closes PR 1115.
original commit: 72f31ffec02fc4c8f39169b80811bca98abb8f75
2010-08-21 14:05:46 -04:00
Sam Tobin-Hochstadt
cb7ab0f8ad
Provide -> in typed-scheme/no-check.
...
- Closes PR 10882
original commit: 90eeef60d73229217f87b847b38d180e6a929301
2010-08-18 16:37:32 -04:00
Sam Tobin-Hochstadt
04481bfb64
Better printing for environments.
...
original commit: 510c80b70077f09d0d5d54c5ba566abaeb59316e
2010-08-18 16:37:32 -04:00
Vincent St-Amour
f2b9a8fe2c
Documented TR's behavior when mixing exactness.
...
original commit: cf692e986d2a3690260884d929daae321d21eeb3
2010-08-13 18:48:32 -04:00
Sam Tobin-Hochstadt
f9b3146577
Fix variance of hash tables and parameters
...
original commit: 6e489f8464d2bc60e64a03e3c618e8ebf7561129
2010-08-13 11:06:56 -04:00
Sam Tobin-Hochstadt
4d5a707d99
Handle structs with special constructors and mutability.
...
Closes PR 11089.
original commit: 3359032ad58d94c9447bf842d8abcf3ad98b41fd
2010-08-13 11:06:56 -04:00
Sam Tobin-Hochstadt
6369cdb91c
Require flat contracts in box/c, hash/c, and vector/c.
...
Closes PR 11085.
original commit: 0c1dfd3c5e3490fedf2ec27b7aed962bd0cbd174
2010-08-13 11:06:56 -04:00
Stevie Strickland
21da67fbd9
Fix creation of a reversed List type from ListDots substitution.
...
original commit: a9f6ea69bfbb23d4e6ab1b5ebfcb6bb9e3b3c05a
2010-08-12 17:46:39 -04:00
Vincent St-Amour
da31c3f9a2
Documented TR's behavior on literals.
...
original commit: 201aaa9090b3aeedc0454bdd575565f8764ef2c8
2010-08-06 12:21:50 -04:00
Vincent St-Amour
b9ef6ec241
More precise type for expt.
...
original commit: 0a45e0e361d811ac07440fb24d415502d191583c
2010-08-06 11:09:04 -04:00
Vincent St-Amour
019ea62c25
Added a test for unboxed nested loops.
...
original commit: 4d43c2156562540bcd70cf91a4c712b1546f9f2e
2010-08-05 17:21:54 -04:00
Vincent St-Amour
918d50b25d
Changed optimization order for reals in complex operations.
...
Made generated names more informative and updated tests accordingly.
original commit: c653a8e655712d1108bedfff505cb51d9b804005
2010-08-05 16:43:36 -04:00
Vincent St-Amour
507afc21f4
Fixed source location for for:.
...
original commit: 500685c0f2b02ccc8ffb8746d93fde5b25a20ccc
2010-08-05 09:04:25 -04:00
Vincent St-Amour
79f4bcfbdb
Generalize naturals to integers to minimize annotations on mutated variables.
...
original commit: b18f2353cab9712c827dda692649bcd16bc3e79e
2010-08-05 09:04:25 -04:00
Vincent St-Amour
ece22fd4fd
Added opt-lambda:.
...
original commit: 4cb749130954c821754fd976d92c02aca2013429
2010-08-05 09:04:25 -04:00
Vincent St-Amour
a29f10633f
Added another tracing option to TR.
...
original commit: 0b3c637f5d5215e3fced3e83433119524145b488
2010-08-05 09:04:24 -04:00
Vincent St-Amour
d1e64146d4
Fixed parsing of keyword types.
...
original commit: 416591b35532d117bb70acf7a8282329b626c27b
2010-08-05 09:04:24 -04:00
Vincent St-Amour
d65ea9ef38
Unbox literals at expansion time.
...
original commit: 1105e70b302416c40269c11e60d7ddaa3d14b66e
2010-08-05 09:04:23 -04:00
Vincent St-Amour
82340857d9
Optimize coercion of integer literals.
...
original commit: bdf84f371d4ccf952e08251703a4249c37f81a85
2010-08-05 09:04:23 -04:00
Vincent St-Amour
4c41407d64
Added optimization for make-polar
...
original commit: fb31a6556e04d9aa6aa31c215394a80b9d146bd7
2010-08-05 09:04:22 -04:00
Vincent St-Amour
267e4c1e78
Fixed typechecking of imaginaries.
...
original commit: dbdbaed50600b7ce47e2dacc12ba1e6f2a0345b4
2010-08-05 09:04:21 -04:00
Vincent St-Amour
5b89be655b
Added technical term links to the optimizer documentation.
...
original commit: 5fa6b1c1391b80eb3a9cb9a7823780359cc91d73
2010-08-03 14:57:42 -04:00
Vincent St-Amour
f51d1e640d
Imaginaries can't be inexact complexes.
...
original commit: bce003fa1813b309382d6af01090f3cb5b9f84d5
2010-08-03 14:51:24 -04:00
Vincent St-Amour
6e1c0a9ca5
Added a link to the optimization guide in the TR reference.
...
original commit: 82f976a4d9c94d880a817a8a70b99f8673d01616
2010-08-02 21:33:31 -04:00
Vincent St-Amour
83c6f99041
Documented the optimizer.
...
original commit: cb516081c742cfeb04d754d4925389de33319cd7
2010-08-02 21:33:30 -04:00
Vincent St-Amour
492c89be8d
Eliminate user-introduced boxing.
...
original commit: b47a77dd57a4ed92f49cd92253c6c06905923f9f
2010-08-02 21:33:30 -04:00
Sam Tobin-Hochstadt
875e95973a
Remove obselete docs.
...
Add docs for legacy forms.
original commit: 39c2359006e2cc5da862d50b6d45e38bcf8cd72f
2010-08-02 17:23:01 -04:00
Sam Tobin-Hochstadt
2c1f173d62
define-struct:' ->
struct:' in docs.
...
Fix typo.
original commit: 1ce4040cd299de6c837c81b872a3b722b42c9635
2010-08-02 16:59:37 -04:00
Sam Tobin-Hochstadt
1f05ee70e2
Don't treat Error types as potentially non-regular. (Reported by SK)
...
original commit: 431ff8d794425e12577c662be7827a38531ad39f
2010-08-02 15:41:42 -04:00
Vincent St-Amour
d19a3ff923
Added some reflection functions to Typed Racket.
...
original commit: c4ba6b60388a2d65fcb44a726d12373f9ca17eee
2010-07-29 19:11:20 -04:00
Vincent St-Amour
fbb55c63c4
Extended use-site analysis to look through trivial rebindings, to support for loops.
...
original commit: 27f8279711ae93601c00d27c8041a017afdf592c
2010-07-29 18:29:59 -04:00
Vincent St-Amour
db1103ebbc
Fixed types of let loop lambdas.
...
original commit: 914f142f4fc16e4053e9e899b12e094ac93cf53e
2010-07-29 18:29:59 -04:00
Vincent St-Amour
a016db4697
Make sure that let-bound functions don't escape through a rhs before we change their interface.
...
original commit: 260de85a6efbc692abaec64d6837a4dfa965cb78
2010-07-29 18:29:58 -04:00
Vincent St-Amour
78a27d2bf9
Fixed over-generous pattern matching.
...
original commit: 435407b37a519c2e0c4401f9a07f93de99e134cb
2010-07-29 18:29:58 -04:00
Vincent St-Amour
851401b25b
Fixed a bug that caused the let optimizations to choke on TR-introduced code.
...
original commit: b58461da2dc2fd495e555e24ffd1abddca3a25b3
2010-07-29 18:29:58 -04:00
Vincent St-Amour
0edccc7db9
Extended unboxing of let-bound functions to support let loops.
...
original commit: f08456cf0708483f267fba86e10f52c318d0dedd
2010-07-29 18:29:57 -04:00
Vincent St-Amour
a2e41f4588
Fixed a bug in the complex use-site analysis.
...
original commit: 855928eb7b446d7c7eb741afe8f3a6e632f95141
2010-07-29 18:29:57 -04:00
Vincent St-Amour
425ec70787
Refactoring of the call-site correction code.
...
original commit: 4633a2a30aef91dd7d10445d1a445c75be08fe1b
2010-07-29 18:29:55 -04:00
Vincent St-Amour
1b054179b6
Changed optimization order, to avoid potential conflicts.
...
original commit: 29b9eb389d8e5ee68c922e18d67e75fe6eaa607d
2010-07-29 18:29:55 -04:00
Vincent St-Amour
c631cec4d8
Fix for escaping functions.
...
original commit: eed20f7c3a8a459dedc8798777ff3df71f2cfb2b
2010-07-29 18:29:55 -04:00
Vincent St-Amour
0f5db893f5
Be more aggressive when unboxing let bindings.
...
original commit: 3e9e5560bf216a0d555b38ee2cb6cf8a4c5ef908
2010-07-29 18:29:54 -04:00
Vincent St-Amour
7c875c3bb2
More tests for unboxed args of let-bound functions.
...
original commit: bb144249183f8e287a37a1590df5a5aa219862f8
2010-07-29 18:29:54 -04:00
Vincent St-Amour
da5586ca57
Fixed a bug with functions with unboxed complex and non-complex args.
...
original commit: defe96a148227eceaee94c886ac565cf8f253951
2010-07-29 18:29:53 -04:00
Vincent St-Amour
f86dd7f384
Added unboxed arguments to let-bound functions.
...
original commit: 9d471df8b96be389202d39d5346f37eefb6d6607
2010-07-29 18:29:53 -04:00
Vincent St-Amour
7bc583e27b
Added an option to see the result of the optimizer before compiling.
...
original commit: 1d758ee78221a87e477e62ab9cca03c816adf49a
2010-07-29 18:29:53 -04:00
Vincent St-Amour
ff4a589eee
Register type of loop lambdas generated by the for macros.
...
original commit: 27f0e50d537ef3adc5c8db94927e6f61b3e89dee
2010-07-29 18:29:52 -04:00
Vincent St-Amour
28378f77d5
Added unboxed letrec-syntaxes+values bindings.
...
original commit: b0d299d1b86e2bf07c7715e87ebb303f03bde853
2010-07-29 18:29:52 -04:00
Vincent St-Amour
277df87ff6
Added unboxed letrec bindings.
...
original commit: 8dc23d43eb23eac7a887ae2f3ef3633c54d3ba87
2010-07-29 18:29:52 -04:00
Vincent St-Amour
c625d547ca
Fixed a bug with exact complexes.
...
original commit: 4803eafa6722acfdf0d37dab3782660d22665b84
2010-07-25 22:15:18 -04:00
Vincent St-Amour
6473855e45
Fix to tolerate complexes of unknown exactness inside inexact-complex
...
expressions.
original commit: 1b998f25e5626ff18bf18c911c4b161a66574b72
2010-07-25 20:13:36 -04:00
Vincent St-Amour
34d7dda844
Added a test for cross-module struct optimization.
...
(cherry picked from commit 4e6fc3154bd286d3edcd36a25bfc672cc6a0659d)
original commit: 8f47f0019fae4faf0ea8bb09d7fbd3b3e06254df
2010-07-25 04:16:08 -04:00
Vincent St-Amour
a248746a2d
Added one more test for unboxed let bindings.
...
original commit: ec39ea5f3352068497a97c959e72814fab7089d0
2010-07-24 17:01:23 -04:00
Vincent St-Amour
ea0d96e9dd
The optimizer now ignores code that is inside a with-handlers form,
...
since it would be typechecked in an unusual manner.
original commit: 80b6ef7dd19e7d094578ae176442ee3fa8047b96
2010-07-23 18:52:47 -04:00
Vincent St-Amour
27fe7f732f
Fixed a test that could not work because of shadowing in hand-optimized code.
...
original commit: 5d86813267521e3191b91e884418ac39bdb3a8e2
2010-07-23 18:52:46 -04:00
Vincent St-Amour
56fde8109f
Fixed unboxing of let bindings.
...
original commit: 5892ef2fad2c92346cd2871e25846696f3312185
2010-07-23 18:52:46 -04:00
Vincent St-Amour
5c75aa1793
Fixed typo.
...
original commit: 12ce9abda6916bd590ac76666a6f3db4a63dd2f3
2010-07-23 18:52:45 -04:00
Vincent St-Amour
a479e9d5e3
The optimizer now ignores expressions ignored by the typechecker.
...
original commit: 82b064a520405575ea69e453dfd768ac2df2b17c
2010-07-23 18:52:44 -04:00
Vincent St-Amour
e9d9c2aca9
Added a test to the optimizer.
...
original commit: ea580e6ff88cb3be758690b99a1968179cbc3c26
2010-07-23 18:52:43 -04:00
Vincent St-Amour
eb60ac080a
let bindings of inexact-complex numbers can be replaced by bindings
...
for each of their components.
This allows unboxing of intermediate results that are bound and only
ever used in positions where they would be unboxed.
original commit: 83987fffac7719ab0c35d3df49ea0a7adf4bc9b6
2010-07-23 18:52:42 -04:00
Vincent St-Amour
fe68e29caa
Optimized extracting parts of inexact complexes.
...
original commit: 063b87697a333b2b8f53e6d2b8a43e8f500e2762
2010-07-23 18:52:42 -04:00
Vincent St-Amour
2ef2641a4d
Refactoring of the optimizer.
...
original commit: 0493e6f7623361a289989654d25deac19e552de6
2010-07-23 18:52:41 -04:00
Sam Tobin-Hochstadt
69476bba24
Optimize (apply + (map f l)) to avoid the intermediate list.
...
original commit: 5bb730f72c91f52166009d1e5fbe52a346c91edf
2010-07-23 14:11:40 -04:00
Vincent St-Amour
9bef097987
Optimizations on one-argument cases of arithmetic operations.
...
original commit: 0ee0886cab6989843a9bef1eb3797657e0f1d0c2
2010-07-21 21:09:43 -04:00
Vincent St-Amour
6c0c6b3f65
Added optimization for string-length and bytes-length.
...
original commit: 4e944f73abc138b7d283020bf5c577fe6ecf6e95
2010-07-21 21:09:42 -04:00
Vincent St-Amour
19f4d78569
Added box optimizations.
...
original commit: d6ce6e664f0bd361207725fb3ea9b2a265f39374
2010-07-21 21:09:42 -04:00
Vincent St-Amour
245f1e311c
Improved closure properties of bitwise-and.
...
original commit: 234e8c363cfd90499566ae24b3cb548785a93ff8
2010-07-21 21:09:41 -04:00
Vincent St-Amour
3aae29501e
Bytes are fixnums.
...
original commit: c4ae44123f74de07933d1c6edfb25be4609af6dd
2010-07-21 21:09:41 -04:00
Vincent St-Amour
43683352c5
Improved behavior of coercions with n-ary arithmeric operations.
...
original commit: d078305a59368156e0c977798af4cb805bc3b679
2010-07-21 21:09:41 -04:00
Vincent St-Amour
53f7550b51
Added type signatures for operations on inexact complexes and floats.
...
original commit: a31d7b60c8e6911f7b77c3a6f96af2c37da36b9e
2010-07-21 21:09:40 -04:00
Vincent St-Amour
545a02dfe6
Changed the interface to typed racket's test harness.
...
original commit: b13075a1c0679ecf20cc6c84224131c45f455399
2010-07-21 21:09:40 -04:00
Vincent St-Amour
9fea49db55
Added optimization for zero?.
...
original commit: 47195410cbbe7d19ac6e33175fd57bfce6e6c4b3
2010-07-21 21:09:40 -04:00
Vincent St-Amour
b71fbae36a
Further fixes in overlap checking.
...
Rhss of code dispatching on overlapping structs are no longer
considered dead, and as such, are now typechecked.
Had to fix a test that passed only because some not-really-dead code
was not being typechecked.
(cherry picked from commit 4d5b50dee9e04aee167a7e04fbbe23526131fcad)
original commit: e0614cfed24dfc9e7f89b9a8c77e7930695b0269
2010-07-18 18:58:02 -04:00
Stevie Strickland
0161cda2d4
Two fixes in overlap checking.
...
- Names were not being resolved, so a superstruct name and substruct name
could be seen as non-overlapping.
- Struct parents were not checked in the overlapping algorithm.
(cherry picked from commit 654b7df1decd52763ffedcdc507a4bf367b1cecf)
original commit: 3884d5661022ef970a77f127e7a58d052760d635
2010-07-18 18:58:02 -04:00
Vincent St-Amour
1130482725
Documented the optimizer.
...
(cherry picked from commit 8d6230956dc8c207c097a389fa1f0c7273bb55b7)
original commit: 536551ce5ec30081a4823a21512e8ecbfc448bbf
2010-07-18 18:57:41 -04:00
Vincent St-Amour
a421071d91
Added whitespace to the typed racket test harness.
...
original commit: 8aa4fae613c3f2c99dd5bb145727db94916df537
2010-07-16 19:08:21 -04:00
Vincent St-Amour
8f088b820b
Don't abort typed racket's tests if the main tests fail.
...
original commit: 8563f02ba82edd822f0e6a6b39ff915d5708587a
2010-07-16 19:08:21 -04:00
Vincent St-Amour
40d4840ae1
Fixed unsafe optimization that considered floats as complexes.
...
original commit: 60bfce14bc0166742fed7675b81d8c5c0dcec2d4
2010-07-16 19:08:20 -04:00
Vincent St-Amour
134fb72de1
Further fixes in overlap checking.
...
Rhss of code dispatching on overlapping structs are no longer
considered dead, and as such, are now typechecked.
Had to fix a test that passed only because some not-really-dead code
was not being typechecked.
original commit: 4d5b50dee9e04aee167a7e04fbbe23526131fcad
2010-07-16 19:08:19 -04:00
Stevie Strickland
f3a78d1e10
Two fixes in overlap checking.
...
- Names were not being resolved, so a superstruct name and substruct name
could be seen as non-overlapping.
- Struct parents were not checked in the overlapping algorithm.
original commit: 654b7df1decd52763ffedcdc507a4bf367b1cecf
2010-07-16 19:08:19 -04:00
Vincent St-Amour
eb5e5f55d6
Documented the optimizer.
...
original commit: 8d6230956dc8c207c097a389fa1f0c7273bb55b7
2010-07-16 19:08:18 -04:00
Vincent St-Amour
1657089284
Added mutable pair optimizations.
...
original commit: fc29e7e8562e4b00c6e7de5882d8ccf374051ca1
2010-07-16 12:22:16 -04:00
Vincent St-Amour
295b5daa2d
Fixed an infinite loop.
...
original commit: f21454e71141feb491c88cf7f83636ee55c76775
2010-07-16 12:22:16 -04:00
Vincent St-Amour
210446e679
The imaginary parts of reals are ignored when doing complex division.
...
original commit: c587038b339b98ea14f90d683706c470aed05f24
2010-07-16 12:22:15 -04:00
Vincent St-Amour
4da58f05c4
Fixnums and integers can now be coerced for complex operations.
...
original commit: 443d8b9f917055d051844bb1cd4078a75dcdd592
2010-07-16 12:22:15 -04:00
Vincent St-Amour
b6597e15ed
The imaginary parts of inexact reals are ignored when doing complex multiplication.
...
original commit: c645aa7ebcb6f53686bee78caf3a66af51c36142
2010-07-16 12:22:15 -04:00
Vincent St-Amour
9c89287b24
Fixed bugs in the tests.
...
original commit: b0788372ea1fc619036656b88aab1f4736a4d5e3
2010-07-16 12:22:14 -04:00
Vincent St-Amour
c413450d2c
Better error reporting by the optimizer's test harness.
...
original commit: 566aeedb598dbc2788ff4360bb23177fbdd74a30
2010-07-16 12:22:14 -04:00
Vincent St-Amour
9c1a9c4661
The optimizer's test harness now makes sure that optimized and
...
non-optimized versions of the same code evaluate to the same thing.
Unfortunately, this leads to a lot of code duplication. We can't
abstract over optimization like we do for the benchmarks since the
wrapper module would interfere with testing expanded code for
equality.
original commit: 7fb1b41a28c1a082e5f726bbc2acab4e2cc0e5fb
2010-07-16 12:22:14 -04:00
Vincent St-Amour
5f878b83bc
The imaginary parts of inexact reals are ignored when doing complex
...
addition or subtraction.
original commit: 748e9e47ad65c31d653907623b17689b47c76269
2010-07-16 12:22:13 -04:00
Vincent St-Amour
6ec1b3686b
Added coercions for floats with unboxed complex operations.
...
However, this generates superfluous operations involving their
imaginary part of 0.
original commit: 025af5b815503cb4aa64f0a253204016ccba7383
2010-07-16 12:22:13 -04:00
Vincent St-Amour
f5c518398f
Enabled optimization of complex conjugate at the top level of complex operations.
...
original commit: fff71e6a1d5746bf30ec7b3d64ec63ccd43f8065
2010-07-16 12:22:12 -04:00
Vincent St-Amour
4e3f1c1e4b
Added unboxed complex conjugate.
...
original commit: 063211d92263267b8e6b2703af70d9a46e7186bf
2010-07-16 12:22:12 -04:00
Vincent St-Amour
19781fc153
Added optimizations for iterating over vectors and strings.
...
original commit: 0b0da84eba4fe7dcab87e4e5eed5dd213de2dc9f
2010-07-16 12:22:12 -04:00
Vincent St-Amour
70cfe1b953
Added dead code elimination.
...
original commit: 1e550139aa67631ffc965027584284b61453b634
2010-07-16 12:22:11 -04:00
Vincent St-Amour
52559ccd98
Better internal error reporting.
...
original commit: 58fe07ad70b74345e65ccf58171dc73e96be6b2b
2010-07-16 12:22:11 -04:00
Vincent St-Amour
a4cb468a71
Various fixnum unsafe operations improvements.
...
original commit: b7229487a59d3fa53f92bffb9f7374ab28bb8032
2010-07-16 12:22:11 -04:00
Vincent St-Amour
c05f2797aa
Added a test for cross-module struct optimization.
...
original commit: 4e6fc3154bd286d3edcd36a25bfc672cc6a0659d
2010-07-16 12:22:10 -04:00
Vincent St-Amour
8d95570bcb
Added types for sequence functions.
...
original commit: 4a8113eac6adfd68533a0a134ba8b1434846da97
2010-07-16 12:22:10 -04:00
Vincent St-Amour
7849444de2
Fixed the type for fxrshift.
...
original commit: 85b96a98b3f3ae2cb89f157bbf2ee3a83a5c365e
2010-07-16 12:22:10 -04:00
Vincent St-Amour
4d23f3416c
Added types for byte-string I/O functions.
...
original commit: 8c840a22825bd6f2723e02a8ff56d76ffaa66367
2010-07-16 12:22:09 -04:00
Vincent St-Amour
33f4ea048d
Added types for integer/bytes functions.
...
original commit: 3dbbd6d3fc47e3f23fee85bfcfe53d2827f18db5
2010-07-16 12:22:09 -04:00
Vincent St-Amour
9a06f49bce
Added type for collect-garbage.
...
original commit: abee5a4db7633ccbc3daff77d5ab80594756bea3
2010-07-16 12:22:09 -04:00
Ryan Culpepper
f3054a84c0
Added uses of unstable/struct
...
original commit: 07f57aac9b3f52552397bd53597de192ff62fbbc
2010-07-13 12:07:47 -06:00
Robby Findler
7477ced0dc
rewrote an ->d contract so that it would work with a let*-style scoping
...
original commit: 41cfcbe862d48722d0efef76d08b14b0ec428498
2010-07-10 10:01:25 -05:00
Sam Tobin-Hochstadt
91d6ac64d1
remove debugging printf
...
original commit: e28b60e44fde524c520c62f3fe54b9f6dac04b9d
2010-07-09 14:06:46 -04:00
Sam Tobin-Hochstadt
e103e44bc1
Fix missing unquote
...
original commit: d030d0631d8cb77888ba8a53843b0fb8e4b4c0dc
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
d3be8100a0
add variance helper functions
...
original commit: a84796d8d7c7696ee635308ebf173c375466ebb3
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
ac2e4153b0
add `make-constant'
...
original commit: c6fb95d44d2869baa2f53f3f8dba04b19620da81
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
87bf9dc23d
generalize inferred types for invariant positions
...
original commit: 898c92eb1e6b476a8511d4d4be2e9b962e147d5e
2010-07-09 13:52:39 -04:00
Vincent St-Amour
06afbef56f
Removed a stray TODO comment.
...
original commit: 8505bd8bca25f9352eca5ad8d8a009bd6fe65a68
2010-07-08 18:29:16 -04:00
Vincent St-Amour
a128800e24
Pushed optimizations to auxiliary syntax classes.
...
original commit: dbda43ac6ba5d7e001cde75b16e39fcf3f60b5e1
2010-07-08 18:29:15 -04:00
Vincent St-Amour
8deff8c920
Refactoring of the optimizer.
...
original commit: c3f46cc8a6512379ead3cf99cf94fe426bec3f5a
2010-07-08 18:29:15 -04:00
Vincent St-Amour
e9ff5ae34d
Moved Typed Scheme's optimizer to its own subdirectory.
...
original commit: 24aad77da3e3c2e411642cdb08fffaaa31a0b1cb
2010-07-08 18:29:15 -04:00
Vincent St-Amour
8ffb3128e4
Fixed pessimization of some complex code.
...
original commit: ea8523bd63665f5330d25c7babf3872298f1e570
2010-07-07 22:08:51 -04:00
Vincent St-Amour
9320340cb9
Improved unboxed complex operations.
...
Intermediate results are kept as unboxed floats as long as we stay
within complex arithmetic code.
original commit: 7853d333495376f065c63a19866ac2eba6f8926a
2010-07-07 19:42:56 -04:00
Vincent St-Amour
f7ac316db2
Avoid boxing intermediate results when doing multiple complex
...
operations in a row.
However, because of values and let-values, we lose float unboxing.
If we have a single complex operation, this is much slower than my
previous implementation (though still faster than generic
operations). With 2 complex operations, the new implementation becomes
faster.
original commit: 7921074eef1e36984479db5b8eea3c6bbbe13064
2010-07-07 19:42:55 -04:00
Vincent St-Amour
d55cf6d13a
Avoided duplicate computation in inexact complex division.
...
original commit: de52d2ce9ffede21df37e74edb6cdb47bfab1828
2010-07-07 19:42:55 -04:00
Vincent St-Amour
9e3912d390
Generic inexact complex arithmetic operations are now replaced with
...
the right combinations of unsafe float operations.
original commit: 3fb69bc764885f2e6ef25134da747caa32b80f05
2010-07-07 19:42:54 -04:00
Vincent St-Amour
592aa2ac8c
Added an optimization for vector-length of known-length vectors.
...
original commit: e52d63ee686e20401f0b0df80d178e40e9a0226f
2010-07-07 19:42:54 -04:00
Vincent St-Amour
f578a22046
Have type ascriptions record the ascribed type in the type table.
...
original commit: eb7fc7a9655f26f35220295c24086da3699c3187
2010-07-07 19:42:54 -04:00
Sam Tobin-Hochstadt
10d5e7851e
Add typeof mappings only to original form.
...
original commit: e865380f6f7ebf843c4a4a7dea25261b28e759fc
2010-07-06 14:09:46 -04:00
Sam Tobin-Hochstadt
f6df8722f5
Improve interface for `find-mutated-vars', now supports mutable *and* immutable versions.
...
original commit: 692a1724746d1dfa9f666c8f6fed2090ed900099
2010-07-06 14:09:46 -04:00
Vincent St-Amour
ccbf54bdf7
Added support for make-flrectangular, flreal-part, flimag-part and
...
their unsafe counterparts to Typed Scheme and its optimizer.
original commit: 389a20795a5bb6db25341b899e7ec58e6eb5a0d1
2010-07-02 20:58:30 -04:00
Vincent St-Amour
a3a3bd1e2e
Added coercion of fixnums to floats to the optimizer.
...
original commit: 556734a223f4193c1c23ded76f204f1e6bb25295
2010-07-02 20:58:29 -04:00
Vincent St-Amour
38d40649d5
Changed the optimizer's test harness to ignore type tables.
...
original commit: e8a0a26c2f4b3f8da6beb0b3a6b7348d6cfeccf9
2010-07-02 20:58:29 -04:00
Vincent St-Amour
fe84eaf722
Added struct optimizations.
...
original commit: a6d11a1df08336183e1af36b787c134e1bf4f469
2010-07-02 20:58:28 -04:00
Sam Tobin-Hochstadt
474741601b
Add flags for running the optimizer tests and compiling the benchmarks
...
original commit: e989631d56a70b90077cbdca7993a25dc70c2011
2010-07-02 19:00:57 -04:00
Sam Tobin-Hochstadt
b415e84cd6
Fix inference for heterogenous vectors.
...
original commit: 0e400291e78c46cf1f4ded2c668e2b989814fc5e
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
b4e86dc502
Use `define-type' to make docs clearer.
...
original commit: da3b4ed543ec9ca9aa3b114f4da44d12af4a60e7
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
c67aef8622
Refactoring of tc-app.
...
- Move `check-below' into its own module
- Move `tc/apply' to its own unit
- Move `tc/funapp' and `tc/funapp1' to own module, outside of unit
original commit: 219682bbbef3f1593bde169796087b56e354a7fc
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
6aa8cbee9d
Generalize fixed-length lists to listofs.
...
Closes PR10057.
original commit: 570df7d6658d4ff0b88c12fb6d3af4917a1a3fa3
2010-07-02 17:25:07 -04:00
Vincent St-Amour
c6d892cd0f
Fixed make-vector's type to reflect generalization on vectors.
...
original commit: ed4f7b7bd7bc452b6accfd32ae14402fc60532c7
2010-07-02 15:48:08 -04:00
Vincent St-Amour
49addde405
Added support for recursive types to vector-ref and vector-set!.
...
original commit: 40988d6d547366a520668074cc685e3f2ab22b8e
2010-07-02 15:48:07 -04:00
Vincent St-Amour
d1687b5b2b
Added optimization when iterating over lists.
...
original commit: 458b6b65c9c281c0da2f2c63de068037d3d55703
2010-07-02 15:48:06 -04:00
Vincent St-Amour
f121650526
Added support for the 2 versions of optimizer tests to be written in
...
different languages.
original commit: 1886572906c40c11eb777a3eb1e273ce3877037b
2010-07-02 15:48:05 -04:00
Vincent St-Amour
228f9a971b
Fixed some tests that used to test for an invalid optimization that is
...
now valid.
original commit: f6077b02f121c4300a761de4f5f2f1a18c361d7e
2010-07-02 15:48:04 -04:00
Vincent St-Amour
39d245984a
Calls to vector now return heterogenous vectors, to preserve length
...
information.
original commit: f79f617ee80417059c15d9228489ec1cb716448a
2010-07-02 15:48:03 -04:00
Vincent St-Amour
e431a658e6
Fixed types for the unsafe versions of vector-length.
...
original commit: 843621398b1086f492f6b9130a7a93a65c2fe4f3
2010-07-02 15:48:03 -04:00
Vincent St-Amour
93d8f8839c
Literal vectors are now given HeterogenousVector types to preserve
...
length information.
original commit: 8c25e46141da263e7f8b75813eb5b09af43e0aee
2010-07-02 15:48:00 -04:00
Vincent St-Amour
fbf7cbd494
Fixed the behavior of the optimizer on sqrt.
...
original commit: 351de3f767cd7b32fe75963e206c7c8da379d26b
2010-07-02 15:47:58 -04:00
Vincent St-Amour
1ebe111f88
Fixed the type of real->decimal-string.
...
original commit: cdfbbc5476b6c2df62aedc8813ad13bc28cb2619
2010-07-02 15:47:56 -04:00
Vincent St-Amour
98c88bf163
Generalization is now done on vector types.
...
original commit: 636fca1a83d453877bcab60f8e3f613d2afd97c3
2010-07-02 15:16:11 -04:00
Sam Tobin-Hochstadt
4340fd2909
Better handling of expected types for `vector'
...
original commit: ed88b9dd1a84908d75855e826f2b1e1d60a407a9
2010-07-01 17:32:16 -04:00
Sam Tobin-Hochstadt
2fd9e3236c
Better typing for `make-sequence'.
...
original commit: 71bb63c128f8331dc19455bb75a8918dc5055e03
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
09d59a56bf
Avoid some quotes while printing types.
...
original commit: 9a1c08e230d2a76cb052dab1ab231974ddc652ad
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
75ea7fcd25
add `displayln'
...
original commit: 6f7c0112d3310a3e189874974c0a623a0c330537
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
4b3b0cdf41
Add --just flag for running tests.
...
original commit: 3d347f117b9ba648536094eb9e0bf1ab1653ea76
2010-07-01 13:47:02 -04:00
Sam Tobin-Hochstadt
b837057b1d
Fix error reporting regression.
...
original commit: 829689eb9d93f19a7872a31c8d536be542ed8675
2010-07-01 13:46:16 -04:00
Sam Tobin-Hochstadt
2a2a54c438
Fix error spec for this test.
...
original commit: 4f3e3625b30adb9ec7af9d0139230d8b85150310
2010-07-01 13:45:52 -04:00
Sam Tobin-Hochstadt
63b18963f3
Better error message for multiple ->
...
Closes PR 10493.
original commit: 75bd26d3265d807406db3d7014e4a02ec826630c
2010-07-01 11:35:21 -04:00
Sam Tobin-Hochstadt
023c51aec2
Support syntax errors blaming multiple syntaxes.
...
original commit: efbdfd3e6e8e561858df08385f4da3acd37a599f
2010-07-01 11:35:20 -04:00
Vincent St-Amour
2229399d2c
Updated build-list and build-vector's types for fixnums.
...
original commit: 1fe70704a2cbe4462f9bd1b116db9f356d06b4ea
2010-06-30 14:53:23 -04:00
Vincent St-Amour
eb326dd443
Better types for modulo and remainder involving fixnums.
...
original commit: adf5c8c030656026d70a627009a0655bd1546af7
2010-06-30 14:53:22 -04:00
Vincent St-Amour
6dd9ffd727
Added the Nonnegative-Float type.
...
original commit: 62a15df3eb2fd7dc5a8ef2455c0f20918697a668
2010-06-30 14:53:22 -04:00
Vincent St-Amour
e25b242c6a
Added filters for numeric comparisons.
...
original commit: f026da5ecf4cd144dfc82ec5660c95542c49bb07
2010-06-30 14:53:22 -04:00
Vincent St-Amour
9b7ee99d39
Extended type signatures for addition.
...
original commit: e8c42cd20cc00e607e44bb6f172333d49b8a707d
2010-06-30 14:53:21 -04:00