Commit Graph

3283 Commits

Author SHA1 Message Date
Eric Dobson
378daf06b9 Made tc/exprs check its non final terms with the correct type.
Closes PR12974.

original commit: 5a43a5c73078b71dbe4d8b170a88b55812dcb383
2013-01-23 16:41:09 -05:00
Eric Dobson
6e55c674d6 Add tc-any-results as new result-type.
original commit: 05e53a0de5febe00d78c358f38a5c9aeb8e0df45
2013-01-23 16:41:09 -05:00
Eric Dobson
ab06e489eb Make AnyValues but don't actually start using it yet.
original commit: aac25b42c92ccdcff8e36d89bf33b81dd9f6331a
2013-01-23 16:41:09 -05:00
Asumu Takikawa
0e1f460ae8 Use new parameter/c argument for contract generation
Closes PR 13446

original commit: 4b279eaf6a71017733888bc5df3a6b95bfe4d082
2013-01-23 14:45:59 -05:00
Vincent St-Amour
7466f47f33 Fix TR optimizer tests for TR info logging.
original commit: 091e26cde841f9e493b255f84efeaafe05ef7d91
2013-01-18 18:25:18 -05:00
Asumu Takikawa
4275e4970b Fix filters on odd? and even?
Closes PR 13233

original commit: e1b6e84089af1f01e097cec5c612e1b4ce309420
2013-01-18 18:25:18 -05:00
Vincent St-Amour
3359874a4d Updated TR history.
Please merge to 5.3.2.

original commit: e763d1e1ae7cfe04d0fff173292340b6fd6c4ae6
2013-01-18 15:33:12 -05:00
Asumu Takikawa
eeb21f2d8d Add tests for PR 13094.
The bug itself was fixed already when ordinary
type variable scoping was fixed.

Closes PR 13094

original commit: 28d46105c90a026d2313d316581faf8166da1f9a
2013-01-15 15:44:34 -05:00
Eric Dobson
ed0bb82dcf Make TR compile with contracts enabled again.
original commit: 5fe004cd9b85eadf15957cb75f5c15dd7226392e
2013-01-15 12:36:42 -05:00
Eric Dobson
106b3a98cf Replace uses of Type? with Type/c?.
original commit: f315880b50564180a80de561f6fcd2e55a75e69e
2013-01-15 12:23:42 -05:00
Eric Dobson
c21fbc4aac Fix register-struct-bindings! to meet correct contract.
Please merge to 5.3.2.

original commit: a5daacd74701603eede1bd31346520c8afce4e09
2013-01-14 17:30:29 -05:00
Sam Tobin-Hochstadt
ac0ee36da8 Typed modules as languages doesn't currently work.
original commit: b6564980abc2d2669ba817152237e48896fd7858
2013-01-14 14:27:33 -05:00
Asumu Takikawa
acccf9c06a Fix error typo
Please merge to 5.3.2

original commit: d95be2ed4de0f3b1554b91361482e16d67d447ea
2013-01-11 21:22:12 -05:00
Vincent St-Amour
2f8b4ba791 Move Optimization Coach to PLaneT 2.
original commit: 2c8e5f9acb97f251bf4c9e940c440166bc5943f7
2013-01-11 18:40:23 -05:00
Vincent St-Amour
9f7a0be1f2 Document profiler support.
original commit: 903eec448e5978c7cd1f0ad2b25bacb1aeb577e6
2013-01-11 18:40:23 -05:00
Vincent St-Amour
f5e1e7bbfd Refactor arithmetic hidden cost logging.
original commit: 50777aaca4b580173c9f618f9c2f65fd9463dc8c
2013-01-11 18:40:22 -05:00
Vincent St-Amour
5111bed780 Don't track provenance at the log entry level.
Not necessary anymore.

original commit: 96078c9da637d6e2df215fc9cd0f5d5032c4437f
2013-01-11 18:40:21 -05:00
Vincent St-Amour
cdee1cc411 Report potential exact rational arithmetic in hot code.
original commit: 4271675f698d169945fc057ffa55839f2839ee8c
2013-01-11 18:40:20 -05:00
Vincent St-Amour
6838ac39df Report struct constructors used in hot code.
original commit: 9c7356370577067fffd66d3770cf4a5f3da8a53f
2013-01-11 18:40:20 -05:00
Sam Tobin-Hochstadt
8fd0b9b328 Add struct constructor table.
original commit: 696583582b55958028f50fa494a49a682787e6a5
2013-01-11 18:40:20 -05:00
Vincent St-Amour
bd2f48a5a3 Log operations with hidden costs from TR.
Currently only implicit parameter dereferences.

original commit: cc168d148dda7758ad79c84cf08fbd5dc56079e3
2013-01-11 18:40:20 -05:00
Vincent St-Amour
c3a4416c69 Rethink profiler integration.
Requires the program to manually call the profiler. This dumps the results in
a separate file.

original commit: c8d3aea6dd4066c40dc6e47454a81b776efbc23c
2013-01-11 18:40:18 -05:00
Sam Tobin-Hochstadt
4ec778616e Fix parsing of maybe-optimize result.
Merge to 5.3.2.

original commit: 1a678bd5de65aac6e806f6cf220cf0c7d441eeb8
2013-01-11 18:15:53 -05:00
Asumu Takikawa
657652d8b9 Change exception predicate for a test
For some reason, the other predicate breaks on some
test setups, even though it usually succeeds.

Please merge to 5.3.2

original commit: c5c6280d8767a33891060c6d54907b2aafe778aa
2013-01-09 18:12:45 -05:00
Asumu Takikawa
472ae5dbb2 Fix polydots
- parsing of polydots values was fixed
 - certain polydots error cases are now reported
 - the custom application rule for values was fixed

Closes PR 13365

Please merge to 5.3.2

original commit: f577b49a4df973aab1cfc8cdb45f93320637009d
2013-01-09 18:12:45 -05:00
Asumu Takikawa
04bc05d607 Use correct contract for Procedure type
The only problem with this contract is that it does
not produce a very good error message

original commit: 27d3042ad6008432428368bda882987f1f8a23c1
2013-01-08 20:03:16 -05:00
Asumu Takikawa
30da00ba79 Disallow duplicate type variable declarations
Closes PR 13416

Please merge to 5.3.2

original commit: 9c0a611b59d57548c0d0b527862f8a501a0098df
2013-01-08 14:50:08 -05:00
Vincent St-Amour
80afaf902f Extend type of min to preserve fixnumness.
original commit: 057a2bd0d2d1c9bc2085eab3817b776aa66dfa19
2013-01-07 17:00:32 -05:00
Vincent St-Amour
c30fb69cdd Fix fixnum comparisons to prove more bounds.
original commit: 81cccb4c8f9ca6a22cb908d2bbf445ab45cc0708
2013-01-02 16:55:28 -05:00
Matthew Flatt
dca5fc09a0 rename test file
":" is not allowed in a file name on Windows.

original commit: 43e01d7f4e47d83fe93b38f37ddcd0150b659b8a
2013-01-02 06:33:10 -07:00
Vincent St-Amour
d5bd8a61e9 Fix tests.
original commit: 678451f8c41601eaa8b82bb101c0ad2051f447b8
2013-01-01 18:14:52 -05:00
Vincent St-Amour
91f639247e Make let: annotations optional.
original commit: 4137eb9e73d7e4b6d1aa2fe5cff52e81c9ba10da
2013-01-01 18:14:52 -05:00
Neil Toronto
78ee359d5a More precise return type for `magnitude' (it always returns nonnegative)
original commit: e06f31c94e6655c1ecf88ff18a0ecbee9af2e250
2012-12-31 14:17:17 -07:00
Sam Tobin-Hochstadt
c8e5b8caee Fix type of log-message.
original commit: 0d01db8543d3a05d858243c697687e15dd925206
2012-12-30 22:14:44 -05:00
Matthew Flatt
ffd81f136f logging: allow name in `log-message', report it in a log-receiver evt
The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.

Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.

These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.

original commit: f2d870859aad7cf21d96f81f1f9dfc0eae8adaa7
2012-12-27 14:12:40 -06:00
Matthew Flatt
592e802ad0 add (system-type 'word)
Returns 32 or 64 to indicate whether Racket is running as a
32-bit program or a 64-bit program.

original commit: 4a57db44489055115ecf1811b116c5b3f2e3b3e5
2012-12-24 06:38:53 -07:00
Vincent St-Amour
6991bbaad0 Add failing test case for instantiation and special typing rules.
original commit: 67af968a73de3df4b86e87c71a8023bc3c929e75
2012-12-19 13:45:49 -05:00
Asumu Takikawa
160d731c4a Add define: form variant for polymorphic non-function values
original commit: acda049f7d102bd370d750e524e8fd7638201627
2012-12-19 13:08:41 -05:00
Vincent St-Amour
0c509a001f Fix contract generation for functions with optionals and keyword arguments.
Closes PR13354.

original commit: 8c66be33e79c4326960efecb00c79a0f41c67a0b
2012-12-17 13:57:32 -05:00
Vincent St-Amour
0145f047ff Allow #:unless' in for:'.
Also allow `#:break' and `#:final' in all the `for:' macros.

Unfortunately, the expansion of `#:break' and `#:final' cannot be
typechecked at the moment.

original commit: ec673fd58d3e24e999426e4bc07d72a05e3a099b
2012-12-17 13:57:31 -05:00
Asumu Takikawa
9b126624ac Explain scope of type variables in docs
original commit: 57268c2fc9ef3a7b39c99621f809aaffee9d97a8
2012-12-13 17:54:58 -05:00
Asumu Takikawa
444362d5d7 Rackety
original commit: ece218fc85570b51dcab99cfe6e0cd47dbf8d6ad
2012-12-13 17:54:58 -05:00
Asumu Takikawa
714c628bca Fix unsound type variable scoping
Closes PR 13123

original commit: 13b831f0ec03f908d836cb1d27aa66c898a8b469
2012-12-13 17:54:58 -05:00
Asumu Takikawa
a13b354d96 Simplify expansion of pdefine: and define:
original commit: 6c716759d7e172bf1a092e584c56a56da778a0a8
2012-12-13 17:54:58 -05:00
Asumu Takikawa
e1799227f0 Fix tests where type variable scoping is wrong
original commit: 28108884ab90dfe29f721dcee8575afd7d1a7f5b
2012-12-13 17:54:58 -05:00
Asumu Takikawa
e8fc1ce747 Refactor to use syntax/id-table
original commit: 5c80743ed530031150e915dcf178bc4c9b89ec2b
2012-12-13 17:54:58 -05:00
Asumu Takikawa
6639ac8f4c Add type for xor
original commit: 2bc15286300c93542632f296140ed606819fbd88
2012-12-10 15:49:51 -05:00
Asumu Takikawa
300d3dae51 Fix TR error for missing mandatory keywords
original commit: c7162ec533ece42d3ece961f30a1c4ba2f8f4b3b
2012-12-06 12:20:54 -05:00
Vincent St-Amour
f7d1cab2bb Fix tests.
original commit: 9a5db10124a68e51bdaff2da4915ca16d5157a65
2012-12-04 19:29:16 -05:00
Vincent St-Amour
efb8befe33 Disable optimization of mixed-mode arithmetic that may involve exact 0.
Exact 0 turns out to also be a corner case for addition.

At this point, mixed-mode optimizations pretty much only apply for mixes
of floats and literal non-zero non-floats.

original commit: ac58c45477b060fbdc066f378eb200bb44defb59
2012-12-04 19:29:16 -05:00