Commit Graph

1804 Commits

Author SHA1 Message Date
Vincent St-Amour
56279151a7 Add script to update test files to new log formats.
original commit: fc25b43293a88967825c9e9b70f9aca89070e0dc
2011-06-17 18:18:03 -04:00
Vincent St-Amour
4180449ead Specify opt or missed opt in the TR log format.
original commit: 86efbc83968ddd0486dea493830f409c05b52e5e
2011-06-17 18:18:03 -04:00
Vincent St-Amour
d5ee54a9e9 Refactoring.
original commit: d9256f2b766af163c208c9d9ea93c1bb0579a218
2011-06-17 18:18:03 -04:00
Vincent St-Amour
d4a251d72e Fix test log to use new format.
original commit: 9f78a926137698280508ef4067005a558167d4ab
2011-06-17 18:18:03 -04:00
Vincent St-Amour
56f8d7e069 Handle the case where we would need to merge with multiple children at once.
original commit: 1a2080fc9708f49c0dc872c92266b24b4bbc42c2
2011-06-17 18:18:02 -04:00
Vincent St-Amour
beb05e473c Simplify log sorting.
original commit: e095976c8b09dc4ee126c6e78809ef4907ead770
2011-06-17 18:18:02 -04:00
Vincent St-Amour
d2d2432b1d First attempt at handling missed optimization cascades.
Currently, if missed optimizations a and b are of the same kind, a is caused
by b, and b is caused by c, we merge them into a single miss with cause c.

This works in some cases, but fails in others.

original commit: 8d2f66faa6e77376e04827cd56be440325d77a29
2011-06-17 18:18:02 -04:00
Vincent St-Amour
33d343dd6f Sort irritants by source location.
original commit: 6de90b71853d6b8b82e9f6a161fc3846d1f94cf3
2011-06-17 18:18:02 -04:00
Vincent St-Amour
4eece2b27f Abstract out printing of missed optimization log messages.
original commit: c5ca1422a2affa91caeb36e99a35321694ccbedc
2011-06-17 18:18:02 -04:00
Vincent St-Amour
2151a7edc0 Put logging code in its own file.
original commit: 4c31b085546f5e4c6f20982b805fcebd6c6bb5ba
2011-06-17 18:18:02 -04:00
Vincent St-Amour
1621df5042 Have more structure to missed optimizations, for eventual handling of nesting and/or missed optimization cascades.
original commit: c54717d5575b3521553c65982d19b52b721c2ade
2011-06-17 18:18:02 -04:00
Vincent St-Amour
4af09c09bc Have multiple irritants for missed optimizations.
original commit: 6b5095df2de13287ad85f8309c84a1c966632eac
2011-06-17 18:18:02 -04:00
Vincent St-Amour
f808b49551 Change log message to reflect new behavior.
original commit: cb706aab9c8ade7b929f7aa9655fe3d302acc67e
2011-06-17 18:18:02 -04:00
Vincent St-Amour
db610d44eb Remove useless irritant.
original commit: f547b99ed510d34a8f738c4f255757bff6ae56f6
2011-06-17 18:18:02 -04:00
Vincent St-Amour
b5f2771096 Swap miss region and irritant.
original commit: 9528f63cf0bd37bc8b871adaede5c2b5f27c0683
2011-06-17 18:18:02 -04:00
Vincent St-Amour
ff34fbdd82 Report missed optimizations for unary float operations.
original commit: 647ae4fe9aed2c9c171957bc631e22df54ba60fc
2011-06-17 18:18:01 -04:00
Vincent St-Amour
c333078bae Make unary float optimizations less restrictive.
original commit: cc129adb39f15f01c19ebf43270e03fde99acffd
2011-06-17 18:18:01 -04:00
Vincent St-Amour
289457fa27 Rephrase a missed optimization message.
original commit: 484fb029f100562891e50d073826fb38768cb0c1
2011-06-17 18:18:01 -04:00
Vincent St-Amour
2413e0d498 Fix missed-optimization tests to also look for optimization messages.
original commit: a319ba1058cae034c50caa84b7e9a1ed7eb9c2a2
2011-06-17 18:18:01 -04:00
Vincent St-Amour
6e9edea55d Fix optimization tests to also look for missed-optimization messages.
original commit: e8621f58eab1a363fb26febe6b4249d76d81e47b
2011-06-17 18:18:01 -04:00
Vincent St-Amour
22d40980c3 Have optimizer test harness look only at log messages that came from the optimizer.
original commit: 28692786b3dd95bdc7725a247a60ca04fe1d84b6
2011-06-17 18:18:01 -04:00
Vincent St-Amour
7dca73dd33 Fix optimizer test harness to use the new syntax of with-logging-to-port.
original commit: 641dd731ab0c699180435578fdc0a393ef03d1a5
2011-06-17 18:18:01 -04:00
Vincent St-Amour
b5cf24813c Add a "unique" key to log messages that are sent by the optimizer.
original commit: 81d6e380dad25205ddbf82120cad27ad65c83235
2011-06-17 18:18:01 -04:00
Vincent St-Amour
c8052ab240 Use with-logging-to-port from unstable.
original commit: 09015722e3dd8e2843524f80e5ebc1f7d09cfed0
2011-06-17 18:18:01 -04:00
Vincent St-Amour
191c3b4601 Revise with-logging-to-port to avoid the extra dummy log entry.
original commit: 47f48c08ad4aaa5d33b8dd9ac91f7228e7cfc2b5
2011-06-17 18:18:01 -04:00
Vincent St-Amour
0f51793f04 Adapt the optimizer's test harness for the new logging strategy.
original commit: a2afe2c285c377e9ca15bbb5eb682ab93e7dc500
2011-06-17 18:18:01 -04:00
Vincent St-Amour
8b52f84497 Use racket's logging facilities for the optimizer logs.
original commit: 7347da4919ca6c5a7496992c5cd9f0e83d215b5b
2011-06-17 18:18:01 -04:00
Vincent St-Amour
f3e69a8ac4 Sort optimizer logs by source location, to prepare for eventual user consumption.
original commit: 9ae4f82c0a3992508afdd4fbb5cbc355fa146b03
2011-06-17 18:18:00 -04:00
Vincent St-Amour
9c0d671167 Keep source location around for derived pair optimizations.
original commit: 5a151420e46fd06221c63504509de9608365e411
2011-06-17 18:18:00 -04:00
Vincent St-Amour
90e30bb455 Don't print duplicate log entries.
original commit: b8b061fb3993a154786b18b5d75d8d4d9d0b54cd
2011-06-17 18:18:00 -04:00
Vincent St-Amour
3fbdaccc51 Extra test for precision loss.
original commit: 147032e428ccb82d6487624bf8d820e50478a198
2011-06-17 18:18:00 -04:00
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
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