Commit Graph

2081 Commits

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