Commit Graph

2122 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
f0266a6660 Properly parse `Values' in types.
Closes PR 11145.

original commit: 3707310250ce2bdc6a0c31d8a3f8dd15bff639d7
2011-08-25 14:10:05 -04:00
Sam Tobin-Hochstadt
047af2b619 Support vector arguments to `datum->syntax'.
Related to PR 10290.

original commit: 4185da9035fc3c6aa5a5de796f0d6b077e3b72ec
2011-08-25 14:10:05 -04:00
Sam Tobin-Hochstadt
2d731cdfc8 Propagate expected function types propertly in case-lambda.
Closes PR 10139.

original commit: a7cf16d486dbc40febbefc00e6f174c9c4d625de
2011-08-24 15:29:10 -04:00
Sam Tobin-Hochstadt
d81dd2f811 Reuse `case-lambda' syntax in optimizer.
original commit: d6f1c35e1b615e3fc554e310de7ba2bb18217dd6
2011-08-24 15:29:10 -04:00
James Ian Johnson
4a3fbfd4ca Changed rec-id black magic to a more robust syntax parameter solution.
original commit: e12472bdf7c54d3a68e253a1cbb06420ed9961f7
2011-08-22 17:04:16 -04:00
James Ian Johnson
e40f936d52 Fixed a hygiene issue with rep-utils. Rec-ids were in improper phase.
original commit: a873675832ab427739704bf353a068adf05702c3
2011-08-22 17:04:16 -04:00
Sam Tobin-Hochstadt
08ede0e5be Typed version of `racket/date'.
Contracts make it hard to have this library automatically typed.

original commit: e39abf17da79f55966a8e356ee423c902c47614b
2011-08-22 09:46:12 -04:00
Sam Tobin-Hochstadt
4ca62d8404 Useful error message when `with-type' used in a typed module.
original commit: 292feaad43d1c1424eb57e3a115714aec7502f4f
2011-08-19 11:34:37 -04:00
James Ian Johnson
e0b3c29c1c Fixed compile failure.
original commit: 7af3d35bb3a469815286c68150ffb6ba2731eafd
2011-08-19 11:09:24 -04:00
James Ian Johnson
46f0c7574f Removed e from fold-pat attributes.
original commit: 58d84d79dbba094c6f1381b2a278a51a52e1714d
2011-08-19 11:09:24 -04:00
James Ian Johnson
d75ed64227 Fixed a comment inconsistency about double quotation.
original commit: def3834aa2497dba469a86cc67be08bceab87b1a
2011-08-19 11:09:24 -04:00
James Ian Johnson
484d2a90b8 Adding clarifying comments to rep-utils.rkt
original commit: 06edc3153f29e06e654063a9249146d91ad2e2fa
2011-08-19 11:09:24 -04:00
Sam Tobin-Hochstadt
29987d225f Handle apply for functions with no rest arguments.
original commit: bdcc63b2294b0b7bb46cf158ab8a2ad496783cf2
2011-08-17 18:19:47 -04:00
Sam Tobin-Hochstadt
2559ae0055 Simplify definition of (legacy) `typed-scheme' language.
original commit: 5870fec9c9b88e31d915b26d900a8ff6479edfc8
2011-08-16 14:54:46 -04:00
Vincent St-Amour
a041d3a15a Fix handling of impersonated vectors when bounds are fixnums.
original commit: ff0d843a096224efe7930413d1d22b3ff1be821e
2011-08-16 12:09:39 -04:00
Vincent St-Amour
b7f8546848 Formatting.
original commit: a6e633ae2f89cd240a0119462e773a62915143a1
2011-08-16 12:09:38 -04:00
Vincent St-Amour
6f4746ad75 Make error messages more consistent.
original commit: 59f5f24736998a027f920d481fdd3c60ccaefb59
2011-08-16 12:09:38 -04:00
Sam Tobin-Hochstadt
7ecdc4eff3 Document typed/scheme' versions of require/typed' and `require-typed-struct'.
original commit: 39459ec9c4f16568b0c7bf2dd6bfec96b0ef4688
2011-08-16 12:07:53 -04:00
Sam Tobin-Hochstadt
5334a847b1 DrDr repairs.
original commit: 4c56a94eb11b194060b43d39e5e444454ab41acf
2011-08-16 08:14:39 -04:00
Sam Tobin-Hochstadt
0e17e02751 Refactor unit tests to handle tests that need base-special-env separately.
original commit: c54fc6d6d79cec39fa7236fd314842f809feab73
2011-08-15 21:39:31 -04:00
Sam Tobin-Hochstadt
ec40b5be8f Refactor base-special-env to run at phase 0.
Unfortunately, it can no longer be required normally, and forces changes to test suites.

original commit: 8ecc2a4da4c995a83ddc630ab274859f47597fc6
2011-08-15 21:39:31 -04:00
Sam Tobin-Hochstadt
ab46be4998 Better error message when id is unbound in `make-env'.
original commit: 11167aa21428833fe2dbbb33301d9c7e43544e8b
2011-08-15 21:39:31 -04:00
Sam Tobin-Hochstadt
14d059022a Fix type of file->bytes-lines
original commit: 13ef3849fcee7fa8a7bd5ecf988ed0bb4fbcf84a
2011-08-15 21:39:30 -04:00
Sam Tobin-Hochstadt
2ae93408c1 re-enable type for port->bytes-lines
original commit: b25aae230be253861800c483aa0b7f2ffbb1315c
2011-08-15 21:39:30 -04:00
Vincent St-Amour
5e92d965a6 Remove redundant logging message.
original commit: 8dba93646a0fb6b2ff8ffe230342e5276a0d16f6
2011-08-15 12:19:54 -04:00
Vincent St-Amour
086e0e7ccc Fix arity raising for letrec.
original commit: 2a80582ed97e93b3c85ae8fbc21bfc7eeab05947
2011-08-15 12:19:54 -04:00
Vincent St-Amour
2bf7ce50ed Formatting.
original commit: 63b5747018f5c8cfa585016346e7a7b5dbabd38e
2011-08-15 12:19:54 -04:00
Vincent St-Amour
a05162c6df Have arity raising play nice with Check Syntax.
original commit: becaac8c1841638350dec7e59f92efe37885aa7d
2011-08-15 12:19:54 -04:00
Vincent St-Amour
4ec5413e5f Fix visibility of arity-raised bindings.
original commit: b536445cdee2ad256284a780d4b1187ac3322dd9
2011-08-15 12:19:54 -04:00
Sam Tobin-Hochstadt
fb381b7dfd comment out type that produces strange duplicate error message.
original commit: fdcb22ea32b700c0c56895b86dc5330191d7f065
2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
06367272b6 Fix initial type environment for new-style keyword functions.
original commit: 54c044c36a5738a862379e4f10d0b9453c8e27b0
2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
ff7de23488 Fix typechecking of `#%variable-reference'
original commit: 2d094db270cf25f1b301b062a393b8f44b75c63c
2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
20c54979a9 Use syntax-track-origin more pervasively to get the right arrows in check syntax.
original commit: d948626fac529ba8325ffe712f192edb4e5329d5
2011-08-12 11:09:11 -04:00
Vincent St-Amour
bc5339d19c Add disappeared uses to have optimized code play nice with check-syntax.
original commit: 281e1003e3ef60892188e8b4f5313f8fdd9e4c72
2011-08-11 18:25:46 -04:00
Vincent St-Amour
9f8918b441 Refactoring.
original commit: 271f696c5846c3e026507d5e47c648a23e5ad2ed
2011-08-11 18:25:46 -04:00
Vincent St-Amour
5d94df5648 Rename a parameter to better reflect what it's for.
original commit: cef410f5e2e6e5728cf1bc8769607f637365683f
2011-08-11 18:25:46 -04:00
Robby Findler
f38df9c69b change the #:get-lock-file argument of call-with-file-lock/timeout to #:lock-file
original commit: 997813680db107a75dae889f73bc3da5ce00806f
2011-08-11 09:29:31 -05:00
Asumu Takikawa
2673b89af3 Added a match expander for objects in unstable.
original commit: d12b617292c284c4a4c18cf926b198487a8c070a
2011-08-10 20:37:21 -04:00
Vincent St-Amour
024e04015c More TR test failures more easily detectable.
original commit: 8bcb7f26362857fad84b9dec9cf30707520d97d2
2011-08-10 15:45:54 -04:00
Tony Garnock-Jones
8d95d8065c Correct type on typed variant of module->namespace.
original commit: 54285e2f922537a3f10d24ee99c4381666bf9a90
2011-08-04 13:34:14 -04:00
Vincent St-Amour
9c848fe5a5 Break long lines.
original commit: 5d4e5ed39352b4a1e87c5ebd9c796cc5953064a5
2011-08-03 17:39:16 -04:00
Vincent St-Amour
ffcc7e9f92 Improve error message for calls to 'sort' when inference fails.
original commit: b124d68f402ce99ddec58482be40ce279f3f4a04
2011-08-03 17:39:15 -04:00
Vincent St-Amour
ada104f62e Abstract printing of function types.
original commit: 1a661256f8c631a576fcac9100cb54c5400dd566
2011-08-03 17:39:14 -04:00
Robby Findler
4c89455512 Added online expansion and compilation of files
being edited in DrRacket (via places)

Added an API to let tools have access to that
  information (and compute more stuff)

Used that to make an online version of Check Syntax
  which led to a separately callable Check Syntax API.

original commit: b972a0940d04f4ff2c659d494805a7d34358da17
2011-08-02 16:28:16 -05:00
Vincent St-Amour
35fe79f643 Get rid of pseudo-syntax.
original commit: 5f4c577d5b9d8d3e846555be01a1ef1dfadc4e56
2011-07-29 18:31:10 -04:00
Vincent St-Amour
0c964fcda8 Have log entries carry pseudo-syntax instead of syntax.
Unlike syntax, pseudo-syntax is serializable, and it only carries the
information that Performance Report needs. Serializability is
necessary to be able to expand the program inside a sandbox and get
log entries out.

original commit: ea1ae29e0f5b780355918622fac3cd4802813d19
2011-07-29 18:23:14 -04:00
Vincent St-Amour
ed0cd8f898 Add types for #%kernel's memq, memv and member.
original commit: 0951ad5b1bd494d63dd9c7eb372dff043de8bb6c
2011-07-29 13:43:11 -04:00
Vincent St-Amour
fcfa476f15 Add a type for #%kernel's reverse.
Present in the expansion of for/list.

original commit: 88a3d93e9e93118a57a25c5da0b392763552a3bd
2011-07-29 12:54:29 -04:00
Vincent St-Amour
c3a9c07979 Add for*/sum: and for*/product: to TR.
These currently don't play nice with inference, so they only work in
limited cases.

original commit: 5b22dfb6b0d329af5c2cd78a1652431de29fe739
2011-07-29 12:54:29 -04:00
Vincent St-Amour
fea766dfbb Add for/sum: and for/product: to TR.
original commit: 6a8011854be3c67dc9fe0f3b1e7ba119a28500bd
2011-07-29 12:54:29 -04:00
Vincent St-Amour
aae4f8c4b5 Fix for empty case-lambdas.
original commit: c085f51aa27313db1695c76af7171e80f68614c3
2011-07-22 17:24:14 -04:00
Vincent St-Amour
3a3a52fd02 Display ellipses even if the :print-type message was already displayed.
original commit: df0ae80a7f69d6ebf4224aff33abf6d662daa0fd
2011-07-22 17:07:49 -04:00
Vincent St-Amour
42e4fe3bb3 Change :print-type message.
original commit: 93787f621596a2917c2abeb187b6923184825139
2011-07-22 17:05:03 -04:00
Vincent St-Amour
ccda7b859c Only suggest using :print-type once per REPL session.
original commit: dcff8854fb495542bed73a9b381bb0867bbfe683
2011-07-22 17:03:43 -04:00
Vincent St-Amour
66c483ea60 Add a heuristic for case-lambda type simplification.
Makes simplification _much_ faster for types that have a single most
general case. That includes most numeric functions.

original commit: 3ba93cb165e33d5e63eca655cd29b2298f6c73a4
2011-07-22 16:55:21 -04:00
Vincent St-Amour
3dd9d251c2 Remove stale comment.
original commit: 86490943a328e56b511cfec126497a8cec81e2d1
2011-07-22 16:46:10 -04:00
Vincent St-Amour
c6d6b97247 Omit a redundant pass.
original commit: 02b76d774134311a27dfbe85a97053118b590ccc
2011-07-22 16:40:11 -04:00
Vincent St-Amour
eabc78e169 Flip order of type simplification passes.
original commit: 84931448b57f4c044e8c40a46f85c024de6262e7
2011-07-22 16:38:15 -04:00
Vincent St-Amour
b9d59b8fb9 Refactoring.
original commit: 5b6d0ae167bd233973441c83b759470d5d31c1a8
2011-07-22 16:22:36 -04:00
Vincent St-Amour
e82fd29852 Typecheck pregexp literals correctly.
original commit: f7be12d313da40e4750d30f39826936ef5f455cd
2011-07-22 16:22:36 -04:00
Vincent St-Amour
9d88499488 Use set coverage for union printing.
original commit: 27cd6aca6f5268a2ea35230ab964629dd63ecd73
2011-07-22 16:22:36 -04:00
Vincent St-Amour
085282802d Clean up printing of unions that involve numeric types.
original commit: 10e79ba2ecfcfc770233901e5b8ec85de6f724a3
2011-07-22 11:41:27 -04:00
Vincent St-Amour
a8845e3dcb Expose more of the TR opt logging.
original commit: 30146b7b8c7a4bde11f5d356f6be9cbc5d46377a
2011-07-21 17:06:03 -04:00
Vincent St-Amour
5155f0310c Clean up.
original commit: 73140544ce9a5195b032a4c81536ed76788208ee
2011-07-21 17:06:03 -04:00
Vincent St-Amour
a212f3419e Add a lower-level interface to unstable/logging.
original commit: b068e4a53b195e182c2e75094d6f1aa83015aa34
2011-07-21 17:06:03 -04:00
Vincent St-Amour
1f647b2e50 Remove stale comment.
original commit: fe5804884441d359a0d1217233f13e1cac87c453
2011-07-21 17:06:03 -04:00
Vincent St-Amour
4f8a856630 Handle desired types being outside of the function's range.
original commit: fae966146fbb6a40973d22b88fa6e480db6cde41
2011-07-21 17:06:03 -04:00
Vincent St-Amour
4d9c5c6cb9 Moved handling of empty pruned case-lambdas.
original commit: 59027c6b4019bd648eddad3b994e95a395061daa
2011-07-21 17:06:03 -04:00
Vincent St-Amour
e5ba187ea1 Add a function to query how to get a given return type from a function.
original commit: c0d0211ebbf209b7b17aaa54f48c13ca65eab345
2011-07-21 17:06:03 -04:00
Vincent St-Amour
18a8bdbca5 Fix :print-type to use tc-setup.
original commit: 51b98138d5f15ec31bbca0f2e9d5640046ce19d8
2011-07-21 17:06:03 -04:00
Vincent St-Amour
c877e22a1b Document how to start a TR REPL from the command line.
original commit: a71db7c15cd32222cb123024fc2af2fca43c9e74
2011-07-21 17:06:03 -04:00
Vincent St-Amour
cdcc1f44ed Refactoring.
original commit: 4735ad35232c720fa259b5f99d0ca629c997c5b7
2011-07-21 17:06:03 -04:00
Vincent St-Amour
9fdfbb934d Add a function to print whole types.
With this, it's possible to get more information than the simplified
types shown at the REPL. The types are as unwieldy as ever, but you
have to ask for them explicitly.

This is not an adequate long-term solution, and will be replaced by a
"Type Explorer" tool.

original commit: 70e1d63bed2ac85313d048cc9c359ae43330a7e3
2011-07-21 17:06:02 -04:00
Vincent St-Amour
e0786acac3 Don't print full function intersection types at the REPL, if possible.
original commit: 1a66f60eb4090e66ced5fc1ceddf401c9302560d
2011-07-21 17:06:02 -04:00
Sam Tobin-Hochstadt
670dc600ab Fix types of kernel struct constructors to include parent fields.
Merge to 5.1.2.

original commit: 7a763a2da89a1432285c06cdf9d112d04b29c762
2011-07-20 15:19:53 -04:00
Sam Tobin-Hochstadt
19249700c5 Conditionalize use of contract.
original commit: 8a608ed84011cdfeca34a827adfa993896f77b2d
2011-07-19 16:47:13 -04:00
Eric Dobson
5d1a3e7a4a Switched name field in struct type to identifier. Closes PR 11728.
Closes PR 11998. Closes PR11859.

original commit: e07ce478afc1806d6805f57f96006bcb0d25668e
2011-07-19 16:47:13 -04:00
Eric Dobson
0def9642c2 Fixed TR contracts to be more/less strict
original commit: 81b1178a1749e06f097c270563e253accb727246
2011-07-19 16:47:13 -04:00
Eric Dobson
703eac8bd5 Fixed types for path operations. Closes PR12057.
original commit: a7f0f7591d17558ed17644fadb89ad01216fd77a
2011-07-19 16:47:13 -04:00
Vincent St-Amour
ff9fa5fbfd Fix test to not be dependent on floating-point printing.
original commit: 419398ce1a1662cd6810bd5a100e65367e8855f8
2011-07-19 15:19:17 -04:00
Vincent St-Amour
e89475504d Remove redundant precision-loss messages.
original commit: 29882d8fa1bfc3bda8d57f8fb77d3a14ba8f9774
2011-07-19 15:19:17 -04:00
Sam Tobin-Hochstadt
7f1a5a59ab Fix Typed Racket handling of exception handling with multiple return values.
original commit: 42b79dd48980612e459236ada0f3027f87bced76
2011-07-18 17:42:28 -04:00
Sam Tobin-Hochstadt
0a47887ef3 Strengthen contracts to require syntax lists.
original commit: 23c47728c5e8db99da907312cc0ea466d02a3383
2011-07-18 17:41:17 -04:00
Sam Tobin-Hochstadt
cfbd2df41c Fix internal error message.
original commit: 25cdd87405e72bd2468d97f264fb8e3759aefe83
2011-07-18 17:38:40 -04:00
Vincent St-Amour
838c70ac6a Change a TR doc example to take two arguments.
Otherwise, the docs don't have any examples for the syntax of
multi-argument functions that doesn't involve polydots.

original commit: 4c5bb1ddaf68ea8982d4ea635f7b20563af371b0
2011-07-18 11:53:39 -04:00
Vincent St-Amour
c6320897e7 Add test for missed opts in multi-file programs.
original commit: 5d4d9f2636a408370efd415b05cf3b9a54b2dd5e
2011-07-15 15:04:58 -04:00
Vincent St-Amour
6b9f7dca85 Document Performance Report.
original commit: f632aa52dd083b649ad019e3728b6f1d9ee08bf6
2011-07-15 15:04:58 -04:00
Vincent St-Amour
02a4010880 Change the structure of the "extra precision" missed optimizations.
Avoids reports that are almost duplicates.

original commit: db9d51fef7505776a7250446496c1784043472e1
2011-07-15 15:04:58 -04:00
Vincent St-Amour
718e488786 Update messages. Irritants are now highlighted, not circled.
original commit: be67f304a80851fbdbc24db7f0797b2e0abce877
2011-07-15 15:04:57 -04:00
Vincent St-Amour
89217e6b02 Make a test a bit more complicated.
original commit: f4c3e51d3be3264144c4dae0477305dc40d94e74
2011-07-15 15:04:56 -04:00
Vincent St-Amour
6b5104aba7 Fix new optimization to use the new loggin facilities.
original commit: c5d46449b774eedf02877d1bbe8a6fb3f1b173cb
2011-07-15 15:04:55 -04:00
Vincent St-Amour
6e218da463 Keep located syntax around so we can use it in the tool.
original commit: c1fe25200ba1ed51962d7981190aebe2c67b8442
2011-07-15 15:04:54 -04:00
Vincent St-Amour
eb9b012989 Call locate-stx at the last minute, to avoid overeager duplicate detection.
original commit: d2a8a620b149d72ffac87ac980174c8afaa19a40
2011-07-15 15:04:54 -04:00
Vincent St-Amour
9596522404 Fix new optimization to use new logging.
original commit: 34ccf6a3fb7dfbe80897c1fafdc5eef1d73d6b68
2011-07-15 15:04:54 -04:00
Vincent St-Amour
2b655af885 Use locate-stx earlier in the logging process, for nicer display in the tool.
original commit: d3db388c05529e86363f43373d7ab779fd964935
2011-07-15 15:04:54 -04:00
Vincent St-Amour
eb1f25d82e Report missed fixnum optimizations.
original commit: d146f8c590d2a79784c908cd27ecbefa2ff95bdb
2011-07-15 15:04:54 -04:00
Vincent St-Amour
5c5e65651f Fix tests.
original commit: fbf802e61cbc6e0793c6632bc5661534148f0b4e
2011-07-15 15:04:54 -04:00
Vincent St-Amour
5a414fe1e5 Add nicer optimization reporting messages.
original commit: bfc4ad42255d4f74fae6aa9275fb2ad3080f5bd3
2011-07-15 15:04:53 -04:00
Vincent St-Amour
f36b2c20f7 Fix tests for new log format.
original commit: 9640d2bfbce297a2a10eeea36e7ad88121901e01
2011-07-15 15:04:53 -04:00
Vincent St-Amour
ed4f4fe43b Add the remaining diagnosis messages.
original commit: 00d23a4535bc9aa3fbfb5c77c53010efa49f384d
2011-07-15 15:04:53 -04:00
Vincent St-Amour
33380e814b Rewrite TR logging facilities to play nicely with the DrRacket tool.
original commit: 975cb7ad9d1cb2ca3f4cf78a8635c83a5c1494de
2011-07-15 15:04:53 -04:00
Vincent St-Amour
ed8a9d3eef Have a more useful message for float missed opts.
original commit: d68267cbfad06232e146e99dc9a36e296a604a0b
2011-07-15 15:04:53 -04:00
Vincent St-Amour
85ca514d49 Circle irritants.
original commit: 5ddfcfba9d69d350d7d58753e29e2ee4624984ec
2011-07-15 15:04:53 -04:00
Vincent St-Amour
75a9095893 Have nicer information to present in pop-ups.
original commit: a134e4ffb7b6c3b279943df9a03818c64bacef29
2011-07-15 15:04:52 -04:00
Vincent St-Amour
a8540ce6d2 Remove redundant optimization reporting.
original commit: 5e5fdb2981ccdb89416cd49c2291efd59653d85d
2011-07-15 15:04:52 -04:00
Vincent St-Amour
4fcae7c696 Remove extra keyword argument.
original commit: 65e56ab387e07750fd5984b27c618b0b4bd3d9e0
2011-07-15 15:04:52 -04:00
Vincent St-Amour
f1e541a102 Display larger regions for optimizations.
original commit: 8d680ced89bc822a50d08f66be4656f1003dd6a8
2011-07-15 15:04:52 -04:00
Vincent St-Amour
a3fec404a3 Remove highlights after editing.
original commit: 2ecec626b35432408d9d558fc4aac66ce3cf4dba
2011-07-15 15:04:52 -04:00
Vincent St-Amour
c4cb2c2154 Highlight opts and missed-opts in the editor.
original commit: 14be88628870bf34e6b71155c988c9a6f5cfa456
2011-07-15 15:04:52 -04:00
Vincent St-Amour
629feb81bf Pass log struct along with the log messages.
original commit: 7f3bb5d0173d22733f49ec0b5187ab433bc0d264
2011-07-15 15:04:52 -04:00
Vincent St-Amour
3f2009c651 Relocate TR logging capture.
original commit: a71a45e41f4b90bdb5196f17d3c78fc83f379caa
2011-07-15 15:04:51 -04:00
Vincent St-Amour
57ce28ef09 Added a button for the performance report tool when in a typed language.
original commit: 101feb82007f3c2f0f7831a6be368cdae411beab
2011-07-15 15:04:51 -04:00
Vincent St-Amour
0ba01d233e Fix TR tests to use the new contract error message format.
If 7b9b3c371b10 is included in the release, this should be too.

original commit: adeef671cd12826b5e565c47b600e313b9565bb8
2011-07-14 17:06:52 -04:00
Eric Dobson
c6af28ff8d Fix kernel-struct tests in TR.
original commit: e6030295fff3c50dd66ddcd6d1d39a5b8ea18247
2011-07-14 17:06:52 -04:00
Eric Dobson
1e46426c15 Document legacy form 'values'. Closes PR1145.
original commit: 30058a5a2404cfc9bdb9e5f99219f3c0f5a51bcf
2011-07-14 17:06:52 -04:00
Eric Dobson
acac002eb5 Fixes error messages for unsupported provide forms
original commit: 27ffe4cb6ab8c963e8f8e0e427370070e9af370b
2011-07-14 17:06:52 -04:00
Eric Dobson
2393ae1033 Clean up some contract errors and type->contract. Closes PR11756.
original commit: bf72db0f7b5120f9de8aa3c4a912de935256f605
2011-07-14 17:06:52 -04:00
Eric Dobson
aa247c5d10 Fixed require typed struct
original commit: abc8e514d9bb9e054c5a9083b47f7351899621a2
2011-07-14 17:06:52 -04:00
Eric Dobson
4c45389e85 Fixes for inference. Closes PR10937.
original commit: 5e08f7a41107027ce8e38af49897fa471094473e
2011-07-14 17:06:51 -04:00
Eric Dobson
7a3d4112fe Working on improving contracts in TR.
original commit: f5e24ba1634f9e19e257b2e62c081dda6c0e885f
2011-07-14 17:06:51 -04:00
Eric Dobson
ce0f3b595b TR: Produce better error messages with values. Closes PR11772.
original commit: 8a2c9b4682786686e38cc7df431efd38e803383f
2011-07-14 17:06:51 -04:00
Vincent St-Amour
0c46eab523 Fix unsafe multiplication.
original commit: cf04739f93dd2a6e16bd022431a123c1a25865cb
2011-07-13 12:52:47 -04:00
Vincent St-Amour
b1aa042289 Make index? faster.
original commit: e5314f945e0827331d7e1dcd8320bb8d0c59132e
2011-07-13 12:07:56 -04:00
Vincent St-Amour
124cf9c5df Add list optimizations.
original commit: 59a85b3eb2eb1f8db7200b5f3e79575ec6927362
2011-07-11 15:55:07 -04:00
Vincent St-Amour
4c281da82a Fix test for new contract error message format.
original commit: 79ef8e889e327cd50df683ff9594b83f5a50cc64
2011-07-11 15:35:49 -04:00
Carl Eastlund
de9ecf5437 Corrected documentation of quote-module-name to indicate that it does not
produce collection and planet-relative paths on its own.  Deprecated
quote-module-path, and replaced existing uses of it with quote-module-name.

original commit: 2e6a608539f5ef39a9ff821d95163ea4660da952
2011-07-09 14:46:58 -04:00
Matthew Flatt
c90e2acc38 change `find-method/send' back to one result
The 2-result implementation is not needed now that contracts
 are implemented via impersonators

original commit: efd1fa51bdf8de677c9749e830843bdf4fd52322
2011-07-09 07:08:32 -06:00
Ryan Culpepper
4b788e02f6 moved typed racket docs up within section
original commit: e66275c3f51778c64a3fa9f7f8f7e27c83877806
2011-07-07 14:00:22 -06:00
Sam Tobin-Hochstadt
27a2086b33 Add types for `check-in-{port,bytes,bytes-lines}'.
original commit: 49444460d5f0280336e47d0cdd1abc1a5e81ff90
2011-07-07 14:24:28 -04:00
Vincent St-Amour
d24f4ca071 Fix test to avoid differences in printing.
original commit: 50974440f47b8d10da32ef9d8557d2576dd14e41
2011-07-07 11:41:59 -04:00
Vincent St-Amour
5afdc26236 Fix tests.
original commit: 0494e16d4f7c3882fa8edf86338e517963082d08
2011-07-06 18:34:14 -04:00
Vincent St-Amour
f8526e3870 Add an extra test for partial bounds checking elimination.
original commit: 2e6b518c952d1994bde10086de403a7e48d8a094
2011-07-06 18:09:35 -04:00
Vincent St-Amour
6779719a18 Do partial bounds checking elimination for flvector operations.
original commit: a7459c5ee7f6ed135dc5a26e3e2788365326530d
2011-07-06 18:09:31 -04:00
Vincent St-Amour
3f2a0df532 Recognize multiple argument types for flvector accessors.
With only Integer possible as type for the index argument, Integer was
used as expected type, and any information we had about the argument
(sign, range, etc.) was lost.

original commit: 7debd466211150c58f6554dde95521ad75fc86b5
2011-07-06 18:09:31 -04:00
Vincent St-Amour
7761a92cca Move flvector types with other indexing functions.
original commit: d75d6c7ee4e0cabee27689353041387a1512ed48
2011-07-06 18:09:30 -04:00
Vincent St-Amour
9e995978e1 Do the impersonator? check up front.
original commit: 60f3074ccd6b2d399765c3254180afe1bcf2830d
2011-07-06 18:09:30 -04:00
Vincent St-Amour
30792214ae First stab at optimizing bounds checking.
original commit: 979545a90ff3ca5cb730780a7a5699bb361eea48
2011-07-06 18:09:29 -04:00
Eric Dobson
9830474a58 Changed TR test to use struct with struct info instead of HTDP struct.
original commit: b25ee81d790ac3d8388cbe80bb708b6b5841d83f
2011-07-05 11:25:11 -04:00
Eric Dobson
9e1e05efad Correctly require/typed structs with parents. Closes PR11509.
original commit: 805e1fb309487ba8903b84e27b575fea485b8748
2011-07-05 11:25:10 -04:00
Eric Dobson
ad93c3fbfc Provides better error message for PR 11889.
original commit: a9655c04dd8cd150f283a5755a89b47dcd505d62
2011-07-05 11:25:10 -04:00
Eric Dobson
f357d4c0ce Fix typechecking of call-with-values. Closes PR11709.
original commit: 0b761781380ba23a6e363798ad39049a8d4e6eb6
2011-07-05 11:25:10 -04:00
Eric Dobson
1c0f8a6df8 Add types for kernel struct constructors.
original commit: 046d4769704809840c3850b501ec378cdbcdf7e7
2011-07-05 11:25:10 -04:00
Eli Barzilay
f07f04b81d ".ss" -> ".rkt" scan done.
original commit: 3157955d40f89d83fb3d5fa7a2f20639cda69579
2011-07-02 10:37:53 -04:00
Ryan Culpepper
65499a3107 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names

original commit: 1b702a2ae32aba835f7467ced6b203902db0ccd9
2011-07-01 17:16:53 -06:00
Vincent St-Amour
c891702954 Have letrec build unions in canonical form.
original commit: 27d7ad1e87da6007a4a1123941114802a74615c3
2011-07-01 16:06:15 -04:00
Eric Dobson
27265fe60e Don't export required bindings with all-defined-out and require/typed.
Closes PR11425.

original commit: 44396383088e8bcebd33f6ee92013c6ae9751685
2011-07-01 16:06:15 -04:00
Stevie Strickland
3d15ead6b5 Use fold-left instead of map for an example of a nonuniform vararg function.
Fixes PR12014.

original commit: 4f761ddb2f44f4cd4961984c8c2cb65fa39f71ae
2011-07-01 12:00:35 -04:00
Vincent St-Amour
8a0e9249ff Add a test case for struct-based match expanders.
Closes PR11617.

Using the taint system, the bug is fixed.

original commit: cd34760a3307839ef6bf08dce25a71fb87f41c97
2011-06-30 14:21:52 -04:00
Eric Dobson
45314ee84b Changed order type annotations are processed. Closes PR 11560.
original commit: e3c4955ac9f7fb10f1281bc93bd08fe594bc728d
2011-06-30 14:01:47 -04:00
Vincent St-Amour
0fa93ae065 Remove trailing whitespace.
original commit: 43efe6adf01c5ee7f7b63eebd46c85ce38eff97b
2011-06-30 14:01:47 -04:00
Eric Dobson
e8448f596c Changed order of imports in require/typed to order written.
Closes PR11193.

original commit: b5e451575208e242631b25e85ffef35112903d0d
2011-06-30 14:01:47 -04:00
Eric Dobson
b5c5ad7258 Changed define-predicate to use recursive-contract. Closes PR 10939.
Closes PR11504.

original commit: 76a1112df03083098dc5aaff951d9e768e5af1b6
2011-06-30 14:01:47 -04:00
Matthew Flatt
5fb4f1af3a remove syntax certificates; add syntax taints
original commit: 1160d3df629ce65eb8fe9ebea2c33b8d4000ea50
2011-06-29 19:15:48 -06:00
Eric Dobson
c8c1cdc655 Make TR provided struc-infos act like constructors. Closes PR11578.
Closes PR11866.

original commit: d0cfebd5b464076bbfa136861ffbaaae2d400620
2011-06-29 17:38:05 -04:00
Eric Dobson
65638b0d8b Cleaned up define-struct: and struct:.
original commit: 9721409b3994697444078d228c3208af7f484ee2
2011-06-29 17:38:05 -04:00
Eric Dobson
00e5ce0357 Added legacy support for require/typed and require-typed-struct.
Added FIXME for duplicated code.

original commit: e87ff268c2b8e19904c396640598ca00df475158
2011-06-29 17:38:05 -04:00
Eric Dobson
c3ca0bbda9 Cleaned up define-typed-struct-internal and require/typed.
Also fixed a test for require/typed.

original commit: ecaf5f40a0220b06fdf747e3baefe6d05ae69cf0
2011-06-29 17:38:05 -04:00
Eric Dobson
a5d5be4f95 Added support for configurable constructor names in require/typed.
Closes PR11171. Closes PR11194. Closes PR11314.

original commit: f3692eae29d7b0582eb90cc4768786688b8ca438
2011-06-29 17:38:05 -04:00
Eli Barzilay
52bad5959a A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)

original commit: 40124a0619da5e187d95aeb1dde237f05d6f9c6b
2011-06-28 02:01:41 -04:00
Eric Dobson
56e83287e8 Make vector-immutable work like vector. Closes PR 11535.
original commit: a14723f27a61ce262b0024db1777fa2db7f94c8b
2011-06-27 11:35:48 -04:00
Eli Barzilay
1303c1ff46 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.

original commit: ac26fe75546b5182d78f18c2cd882f0f440849e2
2011-06-25 04:08:47 -04:00
Sam Tobin-Hochstadt
079a86457d Rename to follow TR naming conventions.
original commit: f6be5447dd7beb2a3bc769c35c9d3d5f8d2baf61
2011-06-24 20:20:53 -04:00
Eric Dobson
91fea80cb6 Documented new types and minor corrections.
original commit: e4bb1ba7d980e429f45037b4a26860b302394cd1
2011-06-24 20:10:37 -04:00
Eric Dobson
9252ba3bc3 TR: Added tests for new identifiers and export type names.
original commit: 0f0b9ebc7a01df4e4d7c079040b0ab0ddaaa05a9
2011-06-24 20:10:37 -04:00
Eric Dobson
6f2514ccd0 Added types for many miscellaneous operations.
Including Places, Wills, Semaphores, Psuedo-Random-Generators,
Byte-Converters, Loggers, Promises and Structure-Type-Properties.

original commit: b88d85f79a2053066609f272e22b707221abd571
2011-06-24 20:10:37 -04:00
Eric Dobson
f09ea1f806 Add types for evaluation and compilation operations.
original commit: 41e23fee696fcdf6e069713b300cc05b7c742620
2011-06-24 20:10:37 -04:00
Eric Dobson
142f207f24 Added types for security operations.
original commit: 8a6770735320db21d45fc543da5781918807f66e
2011-06-24 20:10:37 -04:00
Eric Dobson
05e3f8859b Added types for subprocess operations.
original commit: 20ed3b809669a93191776067d4c83f3562699aef
2011-06-24 20:10:37 -04:00
Eric Dobson
a8af94e892 Added types for dynamic module access operations.
original commit: 1a44a82868f662c067fe3823d3be852fa03da977
2011-06-24 20:10:37 -04:00
Eric Dobson
be93d9c98f Added types for continuation prompt and mark operations.
original commit: 78b68171ea06378788271ca87fbdd126f19202b9
2011-06-24 20:10:37 -04:00
Sam Tobin-Hochstadt
b92dbc8079 Fix rackunit types to be Any', not Void'.
original commit: 19a7a370335413c280646cbc0653aa111f09879b
2011-06-24 18:10:25 -04:00
Sam Tobin-Hochstadt
fc51aee0b1 Provide `with-handlers' from prims.rkt under its real name.
original commit: c658a5687e0f9b9fdde8ae2dfbd9fda334fe9358
2011-06-24 18:10:25 -04:00
Eric Dobson
74ac6a4d22 Correctly recreate Scopes. Closes PR 10552. Closes PR 11532.
original commit: ce0f542028e9dfe5b18964223af8dad32ce04f57
2011-06-24 16:46:43 -04:00
Vincent St-Amour
6fcdd9ce43 Fix contract for update-type/lexical.
original commit: 62ad7846b9ff656e3f9fd5064e3ff654d9f53c73
2011-06-24 15:18:31 -04:00
Eric Dobson
98155d2366 Corrects types for typed/rackunit. Closes PR 11912.
Signed-off-by: Sam Tobin-Hochstadt <samth@racket-lang.org>

original commit: d0d748c55a3516f6f1911c437a0988fd6474061c
2011-06-23 12:19:56 -04:00
Eric Dobson
76edce6f07 Change Module-Path to be union type instead of a Base type. Closes PR 11963.
original commit: 42415575438236d0fcd900ce1ab854ed8aa256e0
2011-06-23 10:05:36 -04:00
Sam Tobin-Hochstadt
8c158b5ede Add test for PR 10794.
original commit: 0df00e31d53ceb8da8c1f1e00e3d638b80e7ce9f
2011-06-22 17:36:31 -04:00
Asumu Takikawa
e9d31e83fb Add negate (racket/function) to TR
original commit: 122aed89700b80eb9c9acde8750175cc21eda6b4
2011-06-22 16:04:19 -04:00
Asumu Takikawa
529b3cdc2b TR test for racket/function
original commit: cee2509476815e57b3e1e689a677713df8077737
2011-06-22 16:04:19 -04:00
Asumu Takikawa
ee25931548 Add identity (from racket/function) to TR
original commit: 05a5c162310ef5afb07fffd118386be74d9a73bf
2011-06-22 16:04:19 -04:00
Eric Dobson
3919eabd09 TR: Added more tests for recently typed identifiers.
original commit: 16ee3376f759bf43538e7988b53dc82c399bdec8
2011-06-22 15:17:58 -04:00
Eric Dobson
9ad6a1d6b3 Added tests for parameterizations and thread cells.
original commit: c2a473cba2d789fd96c5f70e72044fca0e7e9a43
2011-06-22 15:17:57 -04:00
Eric Dobson
5ddf7d06e2 TR: Added some syntax and set tests.
original commit: f5a7e73be82d0dcac4b7627fc81c69a8d49bf1e3
2011-06-22 15:17:57 -04:00
Eric Dobson
f1234fc2e1 Added tests for filesystem operations, and added public type names.
original commit: f5517367e5413f089f402c85bc5ae472b3d9d314
2011-06-22 15:17:57 -04:00
Eric Dobson
018ff1814a Fixed and cleaned up some types.
original commit: dedd42a9ddaa773eb983e4c740ceebd9c52bae1d
2011-06-22 15:17:57 -04:00
Eric Dobson
dca276b517 Added types for tcp and udp operations.
original commit: 7803aed77bcabee4ef35ef82daa1642d50fbb67d
2011-06-22 15:17:57 -04:00
Eric Dobson
96835b9205 Added types for syntax operations.
original commit: 85b19e9fee1fe2f0364ac23fe45e0dcf18afa85d
2011-06-22 15:16:56 -04:00
Eric Dobson
b3f46c1cdc Added types for environment and runtime operations.
original commit: ad247b28b62260441ae22702d9ed6cd604b0c8da
2011-06-22 15:16:56 -04:00
Eric Dobson
e814d4df15 Added types for file operations.
original commit: ae26c2173dd1a0f2808b2a4bc7882ebca95f4884
2011-06-22 15:16:55 -04:00
Eric Dobson
121ad5427d TR: Many small type changes.
original commit: 329b209f3bba1cdd43df3fc5cd42297d1308a8b4
2011-06-22 15:16:55 -04:00
Eric Dobson
dd401a6f98 Added types for namespace and variable reference operations.
original commit: 4f898865fd856d92b040336d7eda1cdfd5afe253
2011-06-22 15:16:55 -04:00
Eric Dobson
7dbfd5ad2a Added types for hash and set operations.
original commit: 7102c4dae2ba9af44d0ed35ec6e5285a7a825034
2011-06-22 15:16:55 -04:00
Eric Dobson
1f387b8678 Added types for parameters and parameterization operations.
original commit: 469f0a5314d1ff1348bb8fe3e4d4d45fda0387b9
2011-06-22 15:16:55 -04:00
Eric Dobson
c121869565 TR: Added Thread Cells and corresponding operations
original commit: a913a1432d8ab3ef28519732352340dd1ee92872
2011-06-22 15:16:55 -04:00
Eric Dobson
ce39dddf04 Added types for thread operations. Added Custodian type.
original commit: bdf0d13970dcb088aa4f71497e3a074b9e26d0b6
2011-06-22 15:16:55 -04:00
Vincent St-Amour
5a62623e5d Remove duplicate require.
original commit: 32d80f4c014ebe7c86e006e67ae820fb02c19e6f
2011-06-22 14:43:42 -04:00
Vincent St-Amour
4a4246e637 Fix type of = to only accept 2+ arguments.
original commit: d946060a13e688daab43949e1a623ea2a3de6102
2011-06-22 14:32:05 -04:00
Sam Tobin-Hochstadt
78dc3e4474 Fix requires/provides of `typed-scheme' language.
original commit: 7b9cd61cb3c21b32891d74776a76398d9f63d987
2011-06-22 14:28:53 -04:00
Sam Tobin-Hochstadt
e163a57a2a Document #% forms.
original commit: 9dde2a6d39a8e80a48425571cc1cc0f1a0672406
2011-06-22 14:28:52 -04:00
Sam Tobin-Hochstadt
a7ee67ce1a Ignore undocumented exports that are from `racket'.
original commit: d05d54db8efa0db72c23ece4d049866d3e13b9c4
2011-06-22 14:28:52 -04:00
Sam Tobin-Hochstadt
e08b226a96 Fix type-env-lang to handle require'/provide' better.
original commit: 2cdf05ad5c0627362c0f5dee604147acfd608b27
2011-06-22 14:28:52 -04:00
Sam Tobin-Hochstadt
0c1aa7267c Remove `SomeSystemPath'.
original commit: f195b3c68903bfacb7cfea278162ed0651984f12
2011-06-22 14:28:51 -04:00
Sam Tobin-Hochstadt
37672bf915 Avoid providing renamed identifiers.
original commit: 00f9e6342f481dae77e8161f1a71ecc0e39a55b4
2011-06-22 12:40:51 -04:00
Sam Tobin-Hochstadt
114e2d3866 Rename SomeSystemPath to `Path-For-Some-System'
original commit: 9be4b16703b89b07add3974ecb74dc6888337fda
2011-06-21 15:34:50 -04:00
Sam Tobin-Hochstadt
bbef260e76 Fix missing documentation of alias forms.
original commit: d8c972734d2006a6f6b65cb328815c241b26cf76
2011-06-21 15:34:50 -04:00
Sam Tobin-Hochstadt
cbe820453f Support additional `provide'.
original commit: fbc76a307455f55f1ee59d75272066b6d70a0019
2011-06-21 15:34:50 -04:00
Sam Tobin-Hochstadt
b835c36bdf Include `typed-scheme' language in doc check.
original commit: 2f274b789278c9c65b13fe55138e0ba9c600a866
2011-06-21 15:34:50 -04:00
Eric Dobson
03900fe84f Fixes TR regexp regression. Closes PR11991.
original commit: 0f6fde5003c1594c468b82df8cf64a2ce17f65f5
2011-06-21 15:34:50 -04:00
Vincent St-Amour
367e703ca8 Update test format.
original commit: 88dafca69fae596763037c22f9557e5f875de87c
2011-06-17 18:18:04 -04:00
Vincent St-Amour
d54c43282b Add a section on performance debugging to the TR guide.
original commit: f9205665e4e1af4808e3080592968d3b43500383
2011-06-17 18:18:04 -04:00
Vincent St-Amour
77e9234c06 Display irritants nicely.
original commit: 26b909744cb2697c00bf09638871c7688d328657
2011-06-17 18:18:04 -04:00
Vincent St-Amour
261821834f Don't merge missed optimizations repeatedly, which artificially increases badness.
original commit: e8dcee732e139885fe9eb8348e33799ff3a659c6
2011-06-17 18:18:04 -04:00
Vincent St-Amour
467f00562c Display badness of missed optimizations.
original commit: fc08b4d401b446a6f69818e2e4b42db1e48f2422
2011-06-17 18:18:04 -04:00
Vincent St-Amour
dadfa4b62d Use write instead of display for syntax in logs.
original commit: 9dbca39cfe20876b131592871670f5567471fcf7
2011-06-17 18:18:04 -04:00
Vincent St-Amour
f2c1f3c7aa Don't keep useless return values around.
original commit: dda1b1c8804dcc833082d02a59c99ae77a15ab26
2011-06-17 18:18:04 -04:00
Vincent St-Amour
51dd8b0469 Do duplicate detection at the expanded syntax level, instead of the source level.
original commit: 847e4b2e233d95d0a3fff1f8ceaf6bc62ea31e05
2011-06-17 18:18:04 -04:00
Vincent St-Amour
151ce60dc1 Adapt the log update script to work on specific files.
original commit: 866225b65977a7f5bedcfaccd8d9aabc56e1fff7
2011-06-17 18:18:04 -04:00
Vincent St-Amour
205f0882a5 Report opts and missed opts in terms of the original programs, not in terms of expanded code.
original commit: fddf18953094f1a98fe8b4afe0a95dd1500f5194
2011-06-17 18:18:04 -04:00
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