Commit Graph

33578 Commits

Author SHA1 Message Date
Matthew Flatt
0a8b4f573b racket/gui mac os x: fix compatible-bitmap scale on slow path 2014-04-01 16:38:03 -06:00
Asumu Takikawa
636e79d672 Fix TR docs for the addition of typed/racket/class 2014-04-01 18:24:46 -04:00
Robby Findler
20b7d959f3 Changed let-poly's unification algorithm
to be simpler and clearer

This caused bug #6's counterexample to change
because the unification algorithm no longer calls
∨ so we have to find a different way to call it
2014-04-01 16:47:53 -05:00
Burke Fetscher
ea3b5c0742 refactor benchmark loops for clarity 2014-04-01 15:47:47 -05:00
Burke Fetscher
3746e639ae fix extra message on timeouts
and division by 0 that caused null results to not save
2014-04-01 13:34:55 -05:00
Neil Toronto
a515e7cee1 Replaced plot's 3D depth sort hack with a BSP tree
The following should look as expected now:

 * Intersecting or adjacent surfaces, isosurfaces, lines and paths,
   even if they're sampled at different intervals.

 * Rectangles that aren't spaced regularly on the x,y plane (e.g.
   sideways histograms; the rectangles I plot to debug Dr. Bayes).

In general, the rendering should be robust enough to draw arbitrary
3D scenes, and it still produces high-quality PDFs.

Drawing 3D plots still has the same time complexity and seems to be
about as fast as before. Thanks to the fact that sorting objects by
view distance is an O(n) BSP tree walk, rotating 3D plots in
DrRacket is probably a little faster.

This update also adds direct support for connected lines, and
includes a fix that makes contour lines easy to see, even when
plotted on top of a non-contour-interval surface. (This wasn't
possible before.) Further, the 3D plot area no longer requires a
"grid center" vertex by which to sort grid-aligned shapes, making
the rendering API friendlier, and closer to ready for public use.
2014-04-01 01:51:19 -06:00
Neil Toronto
97d20c9d58 Checkpoint 2014-04-01 01:51:19 -06:00
Asumu Takikawa
8a93eeb52b Real fix for the issue in the math docs
Commit 92b0e86ed1 turns
out to have been the wrong approach, because there was no mysterious
performance problem with TR. Instead, TR's `define` expanded to new
code that interacted poorly with a macro used in the math docs.

I've kept the refactoring from that commit because I think it still
makes the code clearer, but I've removed the now extraneous comment.
2014-04-01 00:31:10 -04:00
Robby Findler
9e9cc90af8 add some error checking for when reading in the content of files 2014-03-31 22:00:21 -05:00
Asumu Takikawa
92b0e86ed1 Refactor TR define to avoid a performance bug
After commit 3d177e454e
running the main `math.scrbl` file would show peak memory
usage of around 600-700MB when before it was around 400MB.

The proximal cause appears to be the expansion of TR
definitions, which added an extra `begin` in some cases,
combined with redefinitions at the top-level. I don't
know the core cause yet.

Thanks to Matthew for pointing out the issue and to
Vincent for helping with debugging.
2014-03-31 18:21:04 -04:00
Jens Axel Søgaard
6722b7a71e Fix of PR 14413
Improved type per Ryans suggestion.
2014-03-31 16:53:32 -04:00
J. Ian Johnson
4e20ede1f2 Extend heaps to allow removing arbitrary elements via an additional equality operator. 2014-03-31 15:47:39 -04:00
Sam Tobin-Hochstadt
d3ddd3a0d4 Fix typos spotted by Ambrose Bonnaire-Sergeant. 2014-03-31 11:22:17 -04:00
Manav Rathi
2e68250660 Fix typo in readtables documentation 2014-03-31 11:15:29 -04:00
Sam Tobin-Hochstadt
78987ef608 Add a test for 2dmatch + Typed Racket. 2014-03-31 10:37:03 -04:00
Sam Tobin-Hochstadt
a9428728c5 Add annotations to 2dmatch to help typecheck.
Also use `match*/derived` to get the right error message name.
2014-03-31 10:12:29 -04:00
Sam Tobin-Hochstadt
431ba2e88b Use the form name from match*/derived to improve error messages. 2014-03-31 10:12:29 -04:00
Sam Tobin-Hochstadt
52c5d9fde6 Respect typechecker:called-in-tail-position when calling non-thunks. 2014-03-31 10:12:29 -04:00
Sam Tobin-Hochstadt
70e74b20d9 Turn timing logging on unconditionally. 2014-03-31 10:12:29 -04:00
Robby Findler
eb1fbc8bcf fix let-poly's check function so it always terminates 2014-03-30 21:15:39 -05:00
Robby Findler
d33e6e635b smaller counter example for let-poly-4 2014-03-30 21:08:29 -05:00
Robby Findler
e2fe7c658f fix printout 2014-03-30 21:07:50 -05:00
Robby Findler
cef2d83f75 add missing require 2014-03-30 17:32:00 -05:00
Robby Findler
c7c95b8906 adjust benchmark so that the 'check' functions are required to be
self-contained (and then don't call type-check anymore
from the benchmark scripts)

this fixes a problem in the let-poly models, since some
of the bugs there cause the type-checker to raise an error
2014-03-30 17:25:19 -05:00
Robby Findler
a9d8158133 tweak run-muts to clarify args in help 2014-03-30 15:56:34 -05:00
Robby Findler
33fa2f8654 adjust let-poly check functions so they count exns as failure,
but only for the bugs that are expected to show up that way
2014-03-30 10:15:55 -05:00
Robby Findler
6e29bdad31 adjust check function to properly deal with the store 2014-03-30 10:13:50 -05:00
Robby Findler
09e6f7178d Add in let-poly bugs
also, misc clean ups of let-poly
2014-03-29 22:36:15 -05:00
Robby Findler
72b5010744 fix a very very old bug in Redex uncovered by the new enumerator
The new test case in this commit shows the bad behavior;
the fix was to replace the regexp #rx".*[^0-9]([0-9]+)$"
with #rx"([0-9]+)$", ie make the regexp work properly in
the empty case (since regexps promise to find longest matches
anyway).

Also, Rackety
2014-03-29 22:36:14 -05:00
Matthew Flatt
d722fa42df racket/gui gtk: fix -singleInstance for paths that don't work as strings
Just in case a relative path turned into an absolute path doesn't
work as a string, add support for a bytes encoding.
2014-03-29 15:17:56 -06:00
Matthew Flatt
facaba6794 racket/gui gtk: fix -singleInstance mode and relative paths 2014-03-29 10:43:58 -06:00
Robby Findler
af46f203cc add ref cells and make primitives behave polymorphically and some general cleanup 2014-03-28 21:31:03 -05:00
Matthew Flatt
3e3829c2b9 ffi/unsafe/com: fix VT_BOOL representation
A VT_BOOL isn't a _bool; it's a 16-bit #xFFFF or #x0000.

Closes PR 14425
2014-03-28 15:11:08 -06:00
Robby Findler
9a455ccc12 a start on a system to explore that classic "let polymorphism+ref cells" bug
so far, we've got the buggy let rule and polymorphism going
still need to do ref cells, tho
2014-03-28 15:52:38 -05:00
Asumu Takikawa
98abb8eb90 Remove unused require in class-prims 2014-03-28 16:19:04 -04:00
Asumu Takikawa
e9f7f3de93 Fix for commit dd239f3
Forgot to commit the edits to the tests for the
reorganization in the last commit.
2014-03-28 16:19:01 -04:00
Asumu Takikawa
dd239f3d4f Cut out class dependencies for typed/racket/base
Use (require typed/racket/class) for classes when
using #lang typed/racket/base
2014-03-28 14:01:23 -04:00
Robby Findler
1effcac706 Revert "avoid calling pkg->path from DrRacket's manager-skip-file-handler"
The reverted commit assumed that all pkgs were in either (get-pkgs-search-dirs)
or (find-user-pkgs-dir), which is a bogus assumption

This reverts commit b600dcc7bc.
2014-03-28 07:36:04 -05:00
Robby Findler
b600dcc7bc avoid calling pkg->path from DrRacket's manager-skip-file-handler 2014-03-27 23:10:47 -05:00
Matthew Flatt
709ff43174 unboxing improvement in the JIT
Improve the "can unbox test" to include patterns that were already covered
by the more restrictive "can unbox without disturbing N registers" test
(which is always tried first, but the weaker test recurs within patterns
that the stronger test does not recognize).
2014-03-27 14:30:03 -06:00
Vincent St-Amour
ba9bcf5e0e Reorder profiler docs. 2014-03-27 16:28:15 -04:00
Vincent St-Amour
3a273bd2b0 Make profile and profile-thunk return the value of the profiled expression.
Closes PR14404.
2014-03-27 16:28:15 -04:00
Eric Dobson
4e51b1d737 Make domain-mismatches have a more sensible default value. 2014-03-27 09:17:56 -07:00
Eric Dobson
2bb3fa9138 Fix misuse of expected in tc-keywords. 2014-03-27 09:17:56 -07:00
Eric Dobson
eaafd418d9 Fix misuse of expected in tc-funapp. 2014-03-27 09:17:56 -07:00
Robby Findler
d66d6eacc5 fix dumb mistake in 093fba97d9 2014-03-27 10:34:17 -05:00
Robby Findler
093fba97d9 make DrRacket cache path->pkg calls within a single 'Run' 2014-03-27 07:43:28 -05:00
Eric Dobson
41ea8f3358 Add test cases for fixed PRs.
Closes PR 13191.
Closes PR 13290.
2014-03-26 23:33:40 -07:00
Eric Dobson
917fa3aeb7 Make TR work with contracts enabled. 2014-03-26 23:33:39 -07:00
Eric Dobson
ca3411155f Make tc-error/expr return (ret -Bottom). 2014-03-26 23:33:39 -07:00