Commit Graph

2480 Commits

Author SHA1 Message Date
Vincent St-Amour
2f0211bd19 Document not yet fixed optimizer bugs found using random testing.
original commit: d00a579c5a4b6488d87421da3a75ed6ec8032ea3
2013-04-04 10:05:53 -04:00
Vincent St-Amour
5f3a09570a Avoid unsound optimization for complex division.
Found using random testing.

original commit: a50d9bad7e0823af5f3134e5edbd9be2768f247a
2013-04-04 10:05:53 -04:00
Eli Barzilay
101b1d6496 Test for being able to customize struct printouts.
original commit: 8ffd8878476732e1e783efaa25a94d54172c950e
2013-04-03 18:10:22 -04:00
Eric Dobson
34ddd07482 Turn dynamic-requires into lazy-requires in TR.
Closes PR 13621.

original commit: 04ef9db1b31496bb9ec93f8f7899c04acf3d1230
2013-04-03 09:49:40 -07:00
Eric Dobson
3d360c2524 Make +,*,min,max support precise unary types.
Closes PR 13563.

original commit: 6c2e75ac7e21b3c1adcc9a9f7eb0fff4223de65c
2013-04-03 09:33:02 -07:00
Eric Dobson
07b7768bdb Adds subtyping for filters, and fixes -FS to be more precise.
Closes PR 12817.

original commit: 0e0f1cd6707f5cda8e636f3dd1c6dd5d885fd0c4
2013-04-03 09:25:28 -07:00
Vincent St-Amour
74fd3f536f Fix test for new complex division.
original commit: ffc90239d06a2977d7a1150b693c62d3e8e9fe53
2013-04-02 17:32:29 -04:00
Tony Garnock-Jones
e25d827eb0 Show the offending value when a TR-introduced Any contract fails
original commit: c5df74f662bf5eb733211a33db256f91bb11dfaa
2013-04-02 16:29:11 -04:00
Tony Garnock-Jones
6bdd1c3c17 Avoid stripping location information from syntax object in warning message.
original commit: f2616b934c8e71b7d1caf327b31d2c9ba032c321
2013-04-02 16:29:11 -04:00
Vincent St-Amour
a0821131dc Fix optimization on exp of complex numbers.
Found using random testing.

original commit: b808d2809e4856614248b2308d4a21bbca4400f7
2013-04-02 16:29:11 -04:00
Vincent St-Amour
e0394683a2 Fix type of tanh.
Found using random testing.

original commit: f66ee7088fec28a4283ef7acf8639bc9bbbfb37e
2013-04-02 16:29:10 -04:00
Vincent St-Amour
523bbf4882 Fix type of sinh.
Found using random testing.

original commit: ed12b64bf756ec908a507dc61aa00cce32c94234
2013-04-02 16:29:09 -04:00
Vincent St-Amour
9fa9d9751f Imitate untyped division more closely.
Found using random testing.

original commit: 6e10dd6a4dd91077e3080414ab1a440dc8d3c958
2013-04-02 16:29:08 -04:00
Vincent St-Amour
f159548363 Abstract unboxing of complex division.
original commit: 5f9bcbca496be116e7519341056572c6927a4765
2013-04-02 16:29:08 -04:00
Vincent St-Amour
6584c83187 Fix coercions from single-floats to floats.
Found using random testing.

original commit: ca63915693b706f0ead17f114ffe76a087a11c63
2013-04-02 16:29:07 -04:00
Vincent St-Amour
82f1f48ad2 Reimplement unboxing of complex division.
Add special cases to be consistent with untyped Racket.

Found using random testing.

original commit: 77b89fab993f1f8f55c705d10a5d1210bc01feda
2013-04-02 16:29:06 -04:00
Eric Dobson
9a7e5339b7 Fix parsing of dotted rest when there is an expected type.
Closes PR 13646.

original commit: 3d49087ea3aa85f205d1f70982f24564fb11345c
2013-04-01 22:17:32 -07:00
Vincent St-Amour
1d9ed172ef Simplify type.
original commit: c8c6341970db042b62c9143f92914553e90dd843
2013-04-01 14:44:32 -04:00
Vincent St-Amour
c36cbef304 Fix type of lcm.
Found using random testing.

original commit: 92c4c70e7a3ebcdfa22d8a518256543803558adb
2013-04-01 14:44:32 -04:00
Vincent St-Amour
948d4afbf8 Re-enable testing of hyperbolic trigonometry functions.
original commit: 70a8b79d0e3a0a5c3e70a798ae8e24940d2ace43
2013-04-01 14:44:31 -04:00
Vincent St-Amour
e1a6cc3618 Add random testing for complexes.
Fix a bug it found.

original commit: 990fa87a2eba6b531557c623a4b5c5b4a893313b
2013-04-01 14:44:31 -04:00
Vincent St-Amour
4da3453cf5 Sometimes generate random integers.
original commit: ca2e6bd769374b2e636fdf0a59afda484fb7975a
2013-04-01 14:44:31 -04:00
Vincent St-Amour
b78a21ce68 Factor out grammar to generate well-typed terms with higher probability.
Allows us to test integer-specific functions.

original commit: 3e9595e910d2dcbcb0e5edbbabef826ad4c4540b
2013-04-01 14:44:31 -04:00
Vincent St-Amour
f6952a0d91 Fix types of bitwise-and and bitwise-xor.
Found with random testing.

original commit: f7e8b090e6e6e2f6d5be7687878e407ee923b29b
2013-04-01 14:44:31 -04:00
Eric Dobson
9d9d226bf6 Remove dependency on GUI libraries.
original commit: 5d8f470e0bf7d7b8f0a4a70d822c526265dc5c00
2013-03-31 11:43:08 -07:00
Eric Dobson
4aa61d7de1 Reimplement for*/list: in TR so that it works.
Closes PR 13253.

original commit: eeeceedb8c0fb5102811ccdd1c4d52dc9efd813b
2013-03-31 10:40:21 -07:00
Eric Dobson
e118ab41e2 Improve type of expt since inference is bad.
Closes PR 13383.

original commit: b637c24d888270385bad4d336c58b4f653c1fcc9
2013-03-31 10:39:36 -07:00
Eric Dobson
e45eac7249 Add testcase for sibling modules.
Closes PR 13155.

original commit: ecec724747ed51478b8b5990441779897e3c5a87
2013-03-31 10:39:16 -07:00
Eric Dobson
74449f2a0a Add descriptions to for: syntax classes.
Closes PR 13284.

original commit: 38409e0d7e5170f0d75f0c7c5cd9da25809a47dd
2013-03-25 09:42:29 -07:00
Eric Dobson
06075c185d Add testcase.
Closes PR 12812.

original commit: d7f12d93f498c530ca4ada47dfc40155b664e281
2013-03-25 08:50:48 -07:00
Eric Dobson
44c905cf88 Check for structure binding and raise good error if it is not there.
Closes PR 13588.

original commit: 87facb736fab1a79f064381433256f8b8a525688
2013-03-24 18:35:22 -07:00
Eric Dobson
2393bd43a3 Remove legacy require/typed form.
original commit: bb0b071f385c42c4a4ba8cf54db032bb47a3e010
2013-03-24 18:35:21 -07:00
Eric Dobson
54d6d3ffec Typecheck (lambda args body) as (arg1 -> result).
original commit: 0e42a791a75a30bb2bf45bf968d053dfdf567d40
2013-03-23 13:18:05 -07:00
Eric Dobson
22672f99e8 Fix Struct-Type-Property.
Closes PR 13593.

original commit: 8d080b74cb78d0b000059782703b2c4aa896f5cc
2013-03-23 08:24:05 -07:00
Tony Garnock-Jones
606b192204 pretty-format returns a String, not Void
original commit: 0399babc85d72a7dfc3114cb127285779f053228
2013-03-21 18:11:28 -04:00
Eric Dobson
ff5b594242 Fix parsing of dotted formals.
Closes PR 13576.

original commit: ccc8b85cef665b310b5197fe2c145c85280f9bd1
2013-03-17 18:52:47 -07:00
Eli Barzilay
8c1e485526 Fix lots of indentation mistakes.
(Found by my ayatollah script...)

original commit: af6be85ff576e475753a46bd3f1690eb8bf88a28
2013-03-14 10:55:47 -04:00
Eric Dobson
b8c9e1f63f Cleanup of subtyping, additional comments, and improved short circuting.
original commit: 71d6189132cecffc75b4d2fdb41c985a1a763380
2013-03-13 22:59:27 -07:00
Eric Dobson
5fbd396787 Add more hacky things to make with-handlers typecheck.
Closes PR12644.

original commit: 714f667cf1758c31560fa25b5a21b5df2c17e2e0
2013-03-13 22:29:41 -07:00
Eric Dobson
02c4f0dd11 Make PolyDots be subtypes even if they have different fixed arguments.
original commit: 75f89107b1449deda042b62feaebb9b9bf3c92ec
2013-03-13 22:29:41 -07:00
Eric Dobson
57a60ad403 Make PolyDots actually subtype correctly.
original commit: 6335de099e7161447ec444ad320c6751f2c2af4d
2013-03-13 22:29:41 -07:00
Eric Dobson
b151df08bc Check actual args when form looks like for/list.
original commit: 6105ce8b2087a0c7fca99fd2e99f1785bdb2af04
2013-03-13 21:45:03 -07:00
Eric Dobson
61a2a93e40 Add checks for failing to parse types.
original commit: 4683be8793bdbd3e16e62dfbdd5d2be54cce9c05
2013-03-11 22:53:29 -07:00
Eric Dobson
6df840fe8e Make vector-set! type correctly on complicated inputs.
Closes PR13532.

original commit: 17cb4fd8d0be67db5a6ba4e71f9141222416bc17
2013-03-11 21:52:11 -07:00
Eli Barzilay
5e164bed59 Two doc typos.
Closes PR 13590.
Closes PR 13591.

original commit: a1437e71f733e1866e1998799e4f1337a4043c4d
2013-03-11 09:06:46 -04:00
Eric Dobson
5234bd3d94 Reduce usage of check-below.
This pushes almost all uses of check below into tc-expr and
tc-expr/check. This means that the optimizer sees more precise types
and can make more optimizations.

original commit: 1334e8dcc77854ac826306d3f6a36150cb0bf0c1
2013-03-08 09:00:58 -08:00
Eric Dobson
b63e5dc1ec Avoid TR internal error, by checking shape of args.
original commit: 1fd21ef640514b0c3a67356d0f68cadff36d3d3a
2013-03-08 09:00:10 -08:00
Eric Dobson
43028b1145 Remove unused argument to tc/rec-lambda/check.
original commit: df581c3e4f154660ded04d95d8a97619b6da9b57
2013-03-08 08:59:57 -08:00
Eric Dobson
4184f9b493 Fix type of split-at and vector-split-at.
Closes PR12700.

original commit: f428191e1c2b7b36054a1d00d93d6b65994a414a
2013-03-06 08:49:50 -08:00
Eric Dobson
885c3b8a79 Reduce unnecessarily complicated restrict case.
original commit: ddf0c39e980598c8958a6e582b4a70f6762ad8c0
2013-03-06 08:48:44 -08:00
Eric Dobson
1194117dba Make kw/opt lambda special checks work with other expected values.
Closes PR13544.

original commit: d59a600be69da8a487950c2bfbc663a516fc90d4
2013-03-06 08:48:14 -08:00
Eric Dobson
8377169790 Cleanup kw/opt lambda annotations.
original commit: 9f01d26f98cc9b81f0f63c9c7f9ec9ab5282d88a
2013-03-06 08:48:14 -08:00
Eric Dobson
97995e9903 Fix heterogeneous vector typechecking.
original commit: 22ef10c5446ed2fdc50b614fcb118076f3769386
2013-03-04 09:36:56 -08:00
Eric Dobson
395f539e5f Fix type of set?. Closes PR13509.
original commit: 485f246f39cd44f0c1cf3d838a3b624bc9331078
2013-03-04 09:17:40 -08:00
Asumu Takikawa
d991a2e125 Enable contract and add a purpose statement
original commit: ef08cc41e741adc355295d579f4440b8436bb91f
2013-02-26 17:38:05 -05:00
Vincent St-Amour
050a030415 Fix the fix to TR contracts.
original commit: 2846c17cb4d432571b091b9203321ff5d5f43a65
2013-02-25 20:10:14 -05:00
Vincent St-Amour
4488b7e69a Fix TR contracts.
original commit: 034aacafabd76b46eee4f475e3787056ad53ff92
2013-02-25 19:25:39 -05:00
Vincent St-Amour
1a4fc8a417 Generalize type of curry to functions of arity 3+.
original commit: 088006413f3ec10dcf188b7b21668a89409f27a5
2013-02-25 14:03:17 -05:00
Eli Barzilay
8185a65308 Newlines at EOFs scan.
original commit: cec73f5652aee0b78f9265e6a2c4135f131a8248
2013-02-23 02:09:56 -05:00
Eric Dobson
b7c3ede8ce Make mutable lists be sequences.
original commit: f6df93ed964e775cdd1734edd9a41d70b98ab0d8
2013-02-22 21:01:21 -08:00
Asumu Takikawa
75d3e13492 Add doc subforms for keyword types
original commit: e8b49e2c824542dcee27471df360c98f5e94b4d5
2013-02-21 15:35:14 -05:00
Vincent St-Amour
6c207dfc33 Add examples of function types with keyword arguments.
original commit: e69f66fd00a859b1e507611a27a47d0f4816ddc7
2013-02-21 10:49:58 -05:00
Vincent St-Amour
59299338e3 Filters for comparisons with inifinity.
original commit: 034d7245a4fb8109cde8cdc0c5612a8040839892
2013-02-21 10:49:57 -05:00
Vincent St-Amour
6755a11d36 Fix subtyping for Negative-Single-Flonum.
original commit: 12aaa229a3fb84018a44f0aff175982a1841b764
2013-02-21 10:49:57 -05:00
Eric Dobson
441845b18a Make naturals be a sequence type.
original commit: 18d90115e7b10c92b02ac843aabe3cb929d975ce
2013-02-20 21:25:02 -08:00
Eric Dobson
19a05ebadc Make (Set a) a subtype of (Sequenceof a).
Closes PR13485.
Closes PR12615.

original commit: 4f9f00680ee560ee59cddd5bdb3fb737c6bcc7f1
2013-02-20 21:25:02 -08:00
Eric Dobson
44d6d411cf Fix subtyping of invariant data structures.
Closes PR13521.

original commit: a7bc758505b0f4d1bb3f4f1053bf1821fa29a118
2013-02-20 21:25:02 -08:00
Eric Dobson
7c4051e62c Add subtyping for Parameters.
Closes PR11992.
This required moving more stuff in to base-abbrev so that it could be
used in subtype.

original commit: ddb8e7f8076e057bf0ef7bb076a17170b5fd2ccc
2013-02-20 21:25:02 -08:00
Eric Dobson
3908da65f5 Make struct types overlap with procedures.
Closes PR11971.

original commit: 0b87c999b3113bf378f7c79578a6e65c28e1df67
2013-02-20 21:25:02 -08:00
Eric Dobson
82337641a2 Fixes *-filter types and filter of zero?.
Closes PR13275.

original commit: 13b205aa0a6387fe40207753941cccb4c3bed61c
2013-02-18 11:56:59 -05:00
Eric Dobson
aeb152a92b Improve type of make-immutable-hash.
Closes PR13297.

original commit: 36cc3220ea7e07b21b430d2accb373503ccfe7b0
2013-02-18 11:56:58 -05:00
Eric Dobson
2f137e6e10 Improve types for exit and in-naturals.
original commit: 7d6888f2291570d05e7cab2b632e6edbc733395e
2013-02-18 11:56:57 -05:00
Eric Dobson
e457b15977 Add testcases for many already fixed bugs.
Closes PR11901.
Closes PR11972.
Closes PR12022.
Closes PR12224.
Closes PR12506.
Closes PR12533.
Closes PR12596.
Closes PR13198.
Closes PR13418.

Already fixed bugs, with existing testcases.
Closes PR12529.
Closes PR12631.
Closes PR13127.
Closes PR13128.
Closes PR12970.

original commit: 7e88895bd03fed78028fc79c34856f162c7ba06b
2013-02-18 11:56:55 -05:00
Eric Dobson
a51f55d04e Make lists with minimum lengths be a subtype of sequences.
original commit: 5ed26e806bb890db0aa4c3482c5780d9203a6637
2013-02-14 18:24:52 -05:00
Eric Dobson
4c543e9a5d Add a simple-Union and Bottom, and have code use them.
Requires splitting out the match expanders from base-abbrev.

original commit: 3c31803c192ea9212f5f5f6be73cd1e62afa9853
2013-02-14 18:24:52 -05:00
Eric Dobson
31397e96aa Make tc-let do unions correctly.
original commit: b4beabc977b7e0ce1c4c1363e779079d28c6198d
2013-02-14 18:24:52 -05:00
Vincent St-Amour
236548bf06 Fix optimization of unary complex - and /.
original commit: 60959467cf68e3e7e7ec096c038e5e7aa42942cb
2013-02-14 18:24:52 -05:00
Vincent St-Amour
7c65255791 Fix optimizations for complex unboxing.
Omitted parts were not used properly.

original commit: c6029cacf83366e505e9c2d0742c1f311f79d73b
2013-02-14 18:24:52 -05:00
Vincent St-Amour
23c105fa8d Improve a number of numeric function types.
Closes PR13468.

original commit: 29a181175ffdc24470a811351733b7129000860a
2013-02-14 18:24:52 -05:00
Eric Dobson
f78ac40491 Add tests for subtyping -poly. Closes PR13510.
original commit: 67c6d7804d7ffb6c129b2f98a75e8650744c39ad
2013-02-12 17:07:02 -05:00
Vincent St-Amour
5c11968cec Forbid singleton types for integers whose type is platform-dependent.
Closes PR13501.

original commit: 0bccf6b0b0f425d7052338400b5a0f3a97e124bb
2013-02-11 14:30:19 -05:00
Asumu Takikawa
63f4bfb6c5 Use up-to-date struct syntax in example
original commit: 59eb1ad13c02bf9b0fadd5ee2d0131f86f95292f
2013-02-09 19:42:21 -05:00
J. Ian Johnson
a098030f88 For/product treated like for/sum for special annotation. Also allowed no annotation to be consistent with the docs.
original commit: 469a69772cefc7d09714e1ab5374b6c7e74c0368
2013-02-08 11:32:21 -05:00
Eric Dobson
7dc142c60e Add missing pure functions.
original commit: 40a9794c8f53c41f1b5dffb7e9ca5bd0c4dd7f95
2013-02-08 11:19:10 -05:00
Eric Dobson
72e090598d Make overlap more precise.
original commit: 19241c09792dc23ff0c633ab6406d5b9189a2e83
2013-02-08 11:19:10 -05:00
Eric Dobson
5a77ece770 Fix :print-type. Closes PR13503.
original commit: c2b8671169c51aa20782bd4ba3c046aabea6c351
2013-02-08 11:19:09 -05:00
Vincent St-Amour
c436421efa Add extra tests and warning about -PosIntNotFixnum.
original commit: 830db3c908f6b1b212036d1763a18ffeba884391
2013-02-07 15:19:42 -05:00
Eric Dobson
a8a37a78eb Make static single flonum checks correct.
Closes PR13499.

original commit: 9030da217bd79249ef694f262a26ede8470180da
2013-02-07 15:19:42 -05:00
Asumu Takikawa
83d573bac4 Add a test for PR 13490
The bug itself was already fixed by Eric Dobson

original commit: 9636a70f8bdacf347a5bbf2853e8fad69ef1a65f
2013-02-07 13:49:50 -05:00
Vincent St-Amour
163b3dc11e Allow cast in typed/racket/no-check.
original commit: bf2768f2c5a28ff4940ae7e640894738af9f3686
2013-02-05 16:57:42 -05:00
Vincent St-Amour
df3fafae8c Fix docs for text-based TR optimization logging.
Closes PR13493.

original commit: 83413e4704eba009a546f03e88251148b09aede6
2013-02-05 16:57:41 -05:00
Vincent St-Amour
6687c8c5cd Exclude the right zeroes when checking for equality.
original commit: b42034f98b548aa473384e06e2cd153ba9847858
2013-02-04 14:32:44 -05:00
Vincent St-Amour
327c55a28b Don't special case typechecking of =.
Its type is more useful than the special typing rule.

original commit: 568f401bdcea778acfa8c1b80f18b23e9e9c9345
2013-02-04 14:32:44 -05:00
Eric Dobson
916a8bf3e2 Add types for imaginary numbers and fix type of exact? and inexact?.
original commit: 9e8cc6af3cb69eac97f998960b58140b1fb115b9
2013-02-04 14:32:44 -05:00
Vincent St-Amour
7dbbd56d47 Add extra tests for contract generation and float zeroes.
original commit: ec0446728277c1dfecc88ee1affae8aefdeb3339
2013-02-04 14:32:44 -05:00
Eric Dobson
3899a23a03 Make generated contracts for Floats include NaN.
Closes PR13464.

original commit: e656bdb1c572c9e256901a89bfda985aa5700877
2013-02-04 14:32:44 -05:00
Vincent St-Amour
7c8cb9a476 Fix test for invalid fixnum quotient optimization.
The test depended on fixnum width, which is not portable.

original commit: 5efaa004f0541b5562400be822bfdeb6f89aa9bc
2013-01-29 16:15:00 -05:00
Vincent St-Amour
02ad4095fa Improve type of exact? and exact->inexact.
Adapted from a pull request by Eric Dobson.

original commit: 0bc60a77c86499186fdf8087621191183104b10f
2013-01-29 12:35:29 -05:00
Vincent St-Amour
e68c287705 Fix type of quotient on fixnums.
Closes PR13466.

original commit: 32b3dfc528169609bc05a8fc769da5166d5a2858
2013-01-29 12:35:29 -05:00
Eric Dobson
dc40fa31e8 Type check with expected type when checking recursive loops.
Closes PR12678.

original commit: 3c02bb1abbe0d8965c2cd70649ebb1357499a3ee
2013-01-28 16:03:01 -05:00
Eric Dobson
e9e54d41a8 Do not update subtype and resolve caches when subtyping.
Closes PR13412.

original commit: 13ff5883fe097f8b37e6a7663e3e0d8baf8c466b
2013-01-28 15:35:56 -05:00
Sam Tobin-Hochstadt
ae3a41a9ab Avoid using unsafe structure access.
Moral: a little temporary speed should never be bought at the cost of safety.

original commit: 492bda2305665445e429ad34db495f0e12d0e466
2013-01-24 23:15:06 -05:00
Sam Tobin-Hochstadt
96bb6af7c2 Fix contracts and expected computation for tc-any-results.
original commit: e75e494e6a10b43b952de8d47c436c4f56e1fa41
2013-01-24 23:15:06 -05:00
Eric Dobson
80ed6585fb Remove tc-results? and other minor improvements.
original commit: a2f33f17e900c48fe242d10f86d43a9d2f1ce808
2013-01-23 18:15:21 -05:00
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
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