Commit Graph

1573 Commits

Author SHA1 Message Date
Vincent St-Amour
08d32b5b0c Add an extra test that checks for non-reporting of false positives.
original commit: 0432ea16cb75bfb897d915c9d6d50d93db15c477
2011-06-17 18:18:00 -04:00
Vincent St-Amour
5d201843e5 close-call -> missed-optimization
original commit: b598c4a1ebbe6eae71384355d2b0f55d0bed6fa7
2011-06-17 18:18:00 -04:00
Vincent St-Amour
7600062905 Report unexpected complex types in arithmetic expressions.
original commit: c73bc6c918af143a774bc79d83df789888393fa6
2011-06-17 18:18:00 -04:00
Vincent St-Amour
d64af4df5d Add in-complex-layer?.
original commit: 2a7254a324e6ec68982d3966df04e8c264d89bca
2011-06-17 18:18:00 -04:00
Vincent St-Amour
292433204b Generalize reporting of wasted precision to arbitrary exact arithmetic expressions.
original commit: 2a4a4e818424cf1879afcfbd6e7f5dfa0284ced3
2011-06-17 18:18:00 -04:00
Vincent St-Amour
58360f3a16 Add an arith-expr syntax class, to simplify parts of the optimizer.
original commit: ec696f26ae5375b83f4eb8666047e803b19214e4
2011-06-17 18:17:59 -04:00
Vincent St-Amour
6cb0669985 Move layer predicates to their own file.
original commit: b64b49b078e444f0ec9c41a9ecf4543fb397d059
2011-06-17 18:17:59 -04:00
Vincent St-Amour
4c08c496f6 Report when exact arithmetic is used inside float expressions, which may make the extra precision useless.
original commit: cd027109c9aa71d788764d934992d290bd586a39
2011-06-17 18:17:59 -04:00
Vincent St-Amour
9d1bfedc5e Add a test case for close-calls on all-real arithmetic expressions.
original commit: 5d4ef5c62478ca1dfeeb5a79d6ed65479283a31f
2011-06-17 18:17:59 -04:00
Vincent St-Amour
968f60d8e1 Report close calls for pair/mpair optimizations.
original commit: 89ca99210ec6e62167e1aebc846b48882a31354e
2011-06-17 18:17:59 -04:00
Vincent St-Amour
c21628133e Add extra checks to avoid spurious close call reporting involving integer operations.
original commit: 526a84f10b0dc08ffb8f0cbc52b08d7a441487ba
2011-06-17 18:17:59 -04:00
Vincent St-Amour
a0de25443c Show irritant for the currently detected close calls.
original commit: 95bf94577c7c9d3c2c41075b3ba5d0b2ce2c1155
2011-06-17 18:17:59 -04:00
Vincent St-Amour
ede348d487 Revert "Fix optimizer expected log format."
This reverts commit bdf1073f174d5101fb94a7bd3257da7fec90c9cc.

Return that test to the new format, which it was originally written in.

original commit: 0fab9e11ad0cebe1d4afdb6bfb7908d8deb69608
2011-06-17 18:17:59 -04:00
Vincent St-Amour
6837e13536 Made logging format more compact and less ambiguous.
original commit: 33962befd4fe704f4e15caa4b157187c10cf9944
2011-06-17 18:17:59 -04:00
Vincent St-Amour
78767f809a Add layer predicates.
original commit: 26cc2cf6dc81323463e0d448de890bbb2621a3ae
2011-06-17 18:17:59 -04:00
Vincent St-Amour
69b3ea5f28 First attempt at logging unexpected Real types popping up.
original commit: 7b2c6f5765c2f3b5aefd24f15bbd6f9bf5855749
2011-06-17 18:17:58 -04:00
Vincent St-Amour
a2400d8d4b Add support for close-call tests to the TR test harness.
original commit: 2e0dd6467a4724d8dafc53455653cd6ac433481f
2011-06-17 18:17:58 -04:00
Vincent St-Amour
0b6c2b40c9 Add logging infrastructure to log close calls.
original commit: 303e1f7f883be6ada89b665d58cf40eade568ec6
2011-06-17 18:17:58 -04:00
Sam Tobin-Hochstadt
75ba3a6536 Disable this test.
original commit: 55a25a825a2ba87239187b129515f90e3aa9ada6
2011-06-17 15:17:20 -04:00
Eric Dobson
2c4a553459 Cleaned up base-env. Added comments about untyped identifiers.
Used one-of/c to clean up some types.

original commit: 1348887bd14a115518a4e0eab053b3bdd348e91b
2011-06-17 15:17:20 -04:00
Eric Dobson
ee96de4dce Moved tests for equality to unit tests
original commit: 0671945a8d39c87dfe3536291a06bf2dc00f241d
2011-06-17 15:17:20 -04:00
Eric Dobson
cfbdcf9cdb Moved new TR symbol testing into unit tests.
original commit: b3262691337e929809d0b4e7e96cd390deb0d501
2011-06-17 15:17:20 -04:00
Eric Dobson
606a9238be Moved TR string testing to unit tests.
original commit: 3a13cf0e78eace73864b1d4579bf8b3a679c3698
2011-06-17 15:17:20 -04:00
Eric Dobson
ef4531d328 Added types for reading and writing operations
original commit: feeccc062bb4a00cf3ab4f77e6bf8f100d72f630
2011-06-17 15:17:19 -04:00
Eric Dobson
c189a053f5 Added types for regexp operations. Changed Regexp to correspond to regexp?.
original commit: 029651b9eeaed6b4cecb800da2c01fa6cbed1270
2011-06-17 15:17:19 -04:00
Eric Dobson
ba0a3b98e7 Added public names for recently added types
original commit: 3e1a95750d41acc4d4ae418f6f8acafc9085f6dc
2011-06-17 15:17:19 -04:00
Eric Dobson
fedb424889 Added types for I/O operations
original commit: 6f3bbad3676120d2618e8ca359cf44c588c693b2
2011-06-17 15:17:19 -04:00
Eric Dobson
400b626e8b Added types and some tests for port operations
original commit: 54a12afb49de224a305ae1c8ecd09c517ad7a95e
2011-06-17 15:17:19 -04:00
Eric Dobson
c99acfa622 Added types and tests for equality operations.
original commit: c77e906c7afb257d94e61a01706553064150a1a6
2011-06-17 15:17:19 -04:00
Eric Dobson
5fef88131d Added types and tests for raising and handling exceptions
original commit: 2d152bac79e8a447d92ca8c5a05a78aef27da020
2011-06-17 15:17:19 -04:00
Eric Dobson
fff49902ea Added types and tests for symbol operations
original commit: 4ba12dd20e618fee9d00601a94d7ce060f2a31ee
2011-06-17 15:17:19 -04:00
Eric Dobson
046b62fdaf Added types and tests for string operations
original commit: ab23db7b5b2bbb310e503cac7345eed73af94f56
2011-06-17 15:17:19 -04:00
Vincent St-Amour
3face0ff46 Unify types and filter behavior of not and false?.
original commit: 26541ffbbdccf7d27db1f1ae439430090fcb4b0b
2011-06-16 18:08:44 -04:00
Sam Tobin-Hochstadt
a431e7b5c7 Add contracts for `Sequenceof' values.
original commit: eaa156554a5c5305d147371bec0619436a0e7993
2011-06-15 17:02:09 -04:00
Vincent St-Amour
c96832caba Optimize in typed regions.
original commit: e057e6a8573d5c3d8bb8f5ce7a5dc1be93dd2a7a
2011-06-15 11:20:51 -04:00
Sam Tobin-Hochstadt
0cf1898580 Wrap expected type. Closes PR 11980.
original commit: b76819a66e9f8c6b1b5f364c4b07301ecada7979
2011-06-14 19:05:16 -04:00
Vincent St-Amour
d78bd10198 Make type annotations optional for for*/lists: and for*/fold:.
original commit: 48bf6f829066c272a7394595fff3d83617799f98
2011-06-14 17:53:28 -04:00
Vincent St-Amour
76e8ccbf53 Improve error message for untyped variables that don't come from the original program.
original commit: 3ff1a3320a39acfa859ae79f71c4a31ccb23734c
2011-06-14 17:53:28 -04:00
Vincent St-Amour
a54a51ba07 Change examples to use prettier types.
original commit: 7a4bd387ccbd6a95b16bd6c6c810d9ddf8a537ad
2011-06-14 17:53:28 -04:00
Vincent St-Amour
5f548fa452 Tidy up TR reference.
original commit: d43c8fc406e03532a65a7b2f6df85e6199dc1fc6
2011-06-14 17:53:28 -04:00
Vincent St-Amour
bdd8420389 Add note about optimizing structs to the TR docs.
original commit: 1cf57b893c2cd863cc40a3d9fc6d1ced0b598436
2011-06-14 17:53:28 -04:00
Vincent St-Amour
51275863c0 Add missing word.
original commit: e3274a3cf789ea76ba0e5f998c9e34adc42f3cb5
2011-06-14 17:53:28 -04:00
Vincent St-Amour
170c91f43e Split the TR reference into multiple pages.
original commit: 52e14362b592e333e133c5285a7e4e0eedab0505
2011-06-14 17:53:28 -04:00
Vincent St-Amour
c0f84549b0 Reorganize TR docs directory.
original commit: 589f42feb1bac61347b17d17e894dab117e74cf4
2011-06-14 17:53:27 -04:00
Vincent St-Amour
bbe201f593 Add myself to the TR doc author list.
original commit: b835e8a75b0938de7815ecdba69f93c118090635
2011-06-14 17:53:27 -04:00
Vincent St-Amour
a2735fa92a Document optionality of type annotations for the for: macros.
original commit: a1787cede41d7c78ac2c170c426d7d27b9638a77
2011-06-14 17:53:27 -04:00
Vincent St-Amour
62db0355b4 Synthesize annotations for for/lists: if possible.
original commit: 2922821f3c47c9a3259150a057427f080248bfdd
2011-06-14 17:53:27 -04:00
Vincent St-Amour
9a2f908349 Remove obsolete comment.
original commit: f4973ff05e021b946002691e4f60266f4375a2e1
2011-06-14 17:53:27 -04:00
Vincent St-Amour
37494a9c89 Fix bad name.
original commit: 8c92a32cbba71528730b013a72bd33b8b4d6ed63
2011-06-14 17:53:27 -04:00
Vincent St-Amour
c31b879cc0 Allow omitting type annotation in most of the for: forms.
original commit: a5bccaffe1994d27582582b6ff6c1cd66ad8cbfb
2011-06-14 17:53:27 -04:00
Vincent St-Amour
d437c49ad9 Allow omitting type annotation on for/fold:.
original commit: 506980240a1b5f468ec32ad84ef54bac5089c879
2011-06-14 17:53:26 -04:00
Eric Dobson
95a11759c1 TR: Changed type of port->list
original commit: c7f9a80de88d8ce0a2743ac5baa9f4b8c30fc29b
2011-06-10 17:22:14 -04:00
Vincent St-Amour
2b2d52e646 Fix documentation of the for: macros.
original commit: d732c12b96bfbf4edee14e4ea9b379ef2b7fc81d
2011-06-07 21:15:17 -04:00
Vincent St-Amour
31bc5f4b40 Eta-expand typechecking of literals, to improve performance.
original commit: 7f5568002841b62687fece9b177f9beec5cfcf2a
2011-06-07 21:15:17 -04:00
Eric Dobson
14cbce4289 Make sure type environment is only initialized once
original commit: 44d591b5ba848dd8735c25f4bafbe1409506b219
2011-06-07 21:15:17 -04:00
Eric Dobson
6e5b63910c Added check to make sure that safe/unsafe flonumops are the same binding
original commit: 157481ceda9f032e7c160d88f33f922638071ca6
2011-06-07 21:15:17 -04:00
Eric Dobson
083295f4e3 Base type environment now checks for duplicate types.
original commit: 88ce4e281c6b96d0e0602c6210fee7c2d1babf00
2011-06-07 21:15:17 -04:00
Eli Barzilay
f936f3560d Fix TR docs wrt to `racket/function' change, close evaluators, fix
copy/paste typo in `thunk' docs.

original commit: 40a88b6037296c44dfafc98a495e3a29825e2c88
2011-06-07 13:07:46 -04:00
Eli Barzilay
5ec78220b9 Removed a bogus provide and two bogus tests.
(Which worked because the same functionality is part of `racket'.)

original commit: 2eb0a9467723ef0c00b6f2e14ee3a7ec9e61b6bd
2011-06-07 03:38:06 -04:00
Vincent St-Amour
a156863f5b Fix contract generation for Exact-Rational.
Closes PR11954.

original commit: bb71f9b66dad20d756af3842910ccc57835a102e
2011-06-02 16:52:46 -04:00
Vincent St-Amour
5dfb07f5b4 Optimize sqr on floats.
original commit: 6de5f48810f00c943104ac67603800b7f6da2f36
2011-06-02 16:49:25 -04:00
Vincent St-Amour
a84dc148cd Fix limitations of with-intercepted-logging.
original commit: b71d3cf40c1dee167ff1c737ede7496cd159f281
2011-06-01 16:11:10 -04:00
Vincent St-Amour
addca29b35 Provide with-intercepted-logging.
original commit: b86d759b626088158b2da492dc2c3ecadbabdff9
2011-06-01 16:11:10 -04:00
Vincent St-Amour
5de906251f Implement with-logging-to-port in terms of something more general.
original commit: fc705c6e29b585ee8f774175d55cabf52035e061
2011-06-01 16:11:10 -04:00
Vincent St-Amour
515cc1433f Make level a keyword argument for with-logging-to-port.
original commit: 0538f21274720a6deb5ff6575843f4b081eeb832
2011-06-01 15:24:15 -04:00
Vincent St-Amour
daba37e8ff List known limitations of with-logging-to-port.
original commit: fe161a780cb58970cd7ea707aa498e4a1e36fef3
2011-06-01 15:20:36 -04:00
Vincent St-Amour
2acacf1284 Add with-logging-to-port to unstable.
original commit: 8d96133681a1302c9395485b969049c9a072d552
2011-05-31 19:14:38 -04:00
Vincent St-Amour
534cd21a09 Preserve source location in the optimizer.
original commit: c7d2f13dd0124cf87ea8770c8c5b0299d95694d5
2011-05-24 16:53:53 -04:00
Vincent St-Amour
64ca59cc41 Have TR optimize at the REPL.
original commit: 5352593bf1e24f31c48b3cca7bd333cc70f84e23
2011-05-24 16:53:53 -04:00
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