Commit Graph

2396 Commits

Author SHA1 Message Date
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