Commit Graph

33587 Commits

Author SHA1 Message Date
Matthew Butterick
c4ebd6058e reduce size of manual-fonts.css 2014-05-29 09:49:08 +01:00
Matthew Flatt
9393592a80 optimizer: another little step toward type inference
Generalize some of the tracking and optimization of predicates
with respect to constructors and bindings.

This generalization exposed an old bug in the optimizer, which is
that information accumulated in the "then" branch of a conditional
was not reliably flushed when continuing analysis after the conditional.
2014-05-29 09:22:29 +01:00
Matthew Flatt
eac2ce0ef6 optimizer: ad hoc optimization of predicates applied to constructions
This is probably more of a job for Typed Racket, but maybe it's
useful to detect some obviously unnecessary allocations of lists, etc.

Closes PR 14532
2014-05-28 20:11:24 +01:00
Matthew Flatt
ca315e6f34 optimizer: more ad hoc car and cdr cases
Closes PR 14533
2014-05-28 19:55:42 +01:00
Matthew Flatt
dad9d001e1 optimizer: enable movement of constants that shouldn't be duplicated
Closes PR 14531
2014-05-28 19:55:41 +01:00
Eric Dobson
d2d9b2cce3 Fuse loops in promote-demote. 2014-05-28 08:48:07 -07:00
Matthew Flatt
2b33b8d966 scriblib/figure: make figure hyperlinks show start of figure
... instead of putting the figure's caption at the top of the
browser window.

I can't decide whether I like the technique here, which is to use
JavaScript to move a figure caption's <a name=...> when the page is
loaded.  On the one hand, fixing up HTML via load-time JavaScript code
seems ugly compared to generating the right HTML in the first place.
On the other hand, it simplifies the generatation of a
backend-independent Scribble document (i.e., don't try to generate
different target locations for HTML and Latex), and HTML-specific
behavior seems properly handled at the HTML/JavaScript level.
2014-05-28 13:14:39 +01:00
Matthew Flatt
81f6f32440 racket/private/class-internal: protect ids private to class implementation 2014-05-28 13:10:29 +01:00
Matthew Flatt
8ad889e2c4 racket/class: shave a little time from send 2014-05-28 13:10:29 +01:00
Eric Dobson
48de8a43c0 Remove #{id : Type} annotations from unit tests.
They don't work if the code is compiled and do if it isn't, which causes
interesting test case failures.
2014-05-27 22:06:18 -07:00
Matthew Flatt
ec96592702 optimizer: treat known procedure bindings, etc., as #t for if
Closes PR 14526
2014-05-27 09:27:15 +01:00
Matthew Flatt
5ad11c85e6 raco {make,decompile}: fix bytecode path calculation
Use `compiler/compilation-path` to take into account PLTCOMPILEDROOTS, etc.

Closes PR 14525
2014-05-27 09:27:15 +01:00
Matthew Flatt
dfcadcfacf compiler/compilation-path: added
Provides functions for finding the bytecode path for a source file,
which might depend on PLTCOMPILEDROOTS, etc.
2014-05-27 09:27:15 +01:00
Matthew Flatt
25d159eba7 doc repair to Reference 2014-05-27 09:27:15 +01:00
Jay McCarthy
97f087a391 Update SCG section based on Sam-TH and Greg's comments 2014-05-27 02:02:44 -06:00
Jay McCarthy
93400df33d typo 2014-05-27 02:02:44 -06:00
Matthew Flatt
e4189afb15 raco decompile: improve argument checking and reporting
Relevant to PR 14525
2014-05-27 07:17:11 +01:00
Eric Dobson
9b42fca050 Move the unconditional prop addition to with-lexical-env/extend-props. 2014-05-26 18:59:05 -07:00
Eric Dobson
13bcc61fd4 Make tc-let add unconditional prop. 2014-05-26 18:59:04 -07:00
Eric Dobson
daf087c801 Make tc-if not manage raw prop-envs. 2014-05-26 18:59:04 -07:00
Eric Dobson
fd2f1a8f22 Make tc-if use add-unconditional-prop. 2014-05-26 18:59:04 -07:00
Eric Dobson
62b41b39e7 Simplify how we add props after tc-if. 2014-05-26 18:59:04 -07:00
Eric Dobson
1dc33167c2 Add with-lexical-env/extend-props. 2014-05-26 18:59:03 -07:00
Eric Dobson
06f08b9e30 Make implied-atomic work on AndFilters as well. 2014-05-26 18:59:03 -07:00
Eric Dobson
309a3d706b Cleanup combine-props. 2014-05-26 18:13:52 -07:00
Eric Dobson
77255ba6d5 Cleanup env+. 2014-05-26 18:13:52 -07:00
Eric Dobson
0d85aa79a3 Make update do actual structural recursion over the path. 2014-05-26 18:13:52 -07:00
Eric Dobson
3f5f4c9a54 Delete case in tc-expr which is not needed. 2014-05-26 18:13:52 -07:00
Eric Dobson
684bde6c6e Fix name escape in tc/rec-lambda/check. 2014-05-26 18:13:52 -07:00
Eric Dobson
ebd7f8dc92 Cleanup function type creation in tc/rec-lambda/check; 2014-05-26 18:13:52 -07:00
Robby Findler
91e887300f use drracket:default-filters and drracket:default-extension in datalog 2014-05-26 19:38:33 -05:00
Robby Findler
e8bfd42d36 add drracket:default-filters and drracket:default-extension support 2014-05-26 19:38:33 -05:00
Eric Dobson
70a70166d1 Move replace-names from tc-metafunctions to tc-subst. 2014-05-26 17:18:34 -07:00
Eric Dobson
bdbdac3b67 Make a subst-tc-results. 2014-05-26 17:18:34 -07:00
Eric Dobson
7696b8ca71 Make tc-literal tests actually include all of the tests. 2014-05-26 17:06:27 -07:00
Eric Dobson
755f4835be Minor cleanup on app of list. 2014-05-26 17:06:27 -07:00
Eric Dobson
c60b3d8b03 Fix typechecking of andmap/ormap on dotted lists. 2014-05-26 17:06:27 -07:00
Ryan Culpepper
0821ca8717 fix undefined field in odbc connection
closes PR 14490
2014-05-26 17:15:34 -04:00
Ryan Culpepper
c3893a6c73 add client SNI tests 2014-05-26 17:15:34 -04:00
Jay Kominek
57753a7b6c define and use TLSEXT_NAMETYPE_host_name 2014-05-26 16:49:46 -04:00
Jay Kominek
52159fea13 add SSL Server Name Indication support 2014-05-26 16:49:45 -04:00
Robby Findler
8ff984a934 make c:x;c:f keybinding use file-menu:open-callback (when it can) 2014-05-26 14:53:55 -05:00
Robby Findler
5631732e9d improve ->i syntax error message when dependencies are cyclic 2014-05-26 14:53:31 -05:00
Eric Dobson
817ec2238a Fix printing of AnyValues with filters. 2014-05-26 12:01:33 -07:00
Eric Dobson
62c4f5d1fb Add support for tc-any-results having a filter. 2014-05-26 11:43:48 -07:00
Eric Dobson
fac2f05a6d Add filter to AnyValues. 2014-05-26 11:43:48 -07:00
Eric Dobson
0c5c6f50c1 Specialize ignore-some in expression position.
We now do not return -Bottom from ignore-some, because it has
issues with improved handling of filters in check-below.
2014-05-26 11:43:48 -07:00
Matthew Flatt
9e3b984463 raco make: improve parallelism
The `require` macro now logs "prefetch" messages when it sees a `require`
with multiple module paths. The prefix information is approximate, since
parsing a `require` subform might depend on imports from a previous subform,
but in the common case, there are many obvious module paths to prefetch.

The parallel mode of `raco make` watches for prefetch messages and
records the suggested "prefetch" paths so they can be compiled by other
processes.
2014-05-26 18:56:50 +01:00
Matthew Flatt
5c38034300 compiler/cm: doc repair 2014-05-26 18:56:50 +01:00
Matthew Flatt
e29418f204 compiler/cm: fix propagation of log messages 2014-05-26 18:56:50 +01:00