Commit Graph

24309 Commits

Author SHA1 Message Date
Danny Yoo
e9c5c78468 Add documentation for cfg-parser. 2013-01-15 15:20:35 -07:00
Danny Yoo
3d1f8b4406 Modify cfg-parser's treatment of error function so it can consume both arity-3 and arity-5 error functions.
Meant to match the interface provided by parser-tools/yacc's parser.
2013-01-15 15:19:28 -07:00
Danny Yoo
7ab7d97f01 Move cfg-parser from the algol60 collection to parser-tools.
Discussed in: http://lists.racket-lang.org/dev/archive/2013-January/011416.html

A stub library in algol60/cfg-parser will re-export the contents of
parser-tools/algol60 for backwards compatibility.
2013-01-15 14:19:15 -07:00
Neil Toronto
986e695bd5 Made arrays strict by default; please merge to release
* Added parameter `array-strictness', default #t

* Added `array-default-strict!' and `array-default-strict', which act
  like the functions without "default" in the name when
  `array-strictness' is #t; otherwise they do nothing

* Lots of small changes to existing array functions, mostly to ensure
  computations are done using nonstrict arrays, but return values are
  strict when `array-strictness' is #t

* Added strictness tests

* Added tests to ensure untyped code can use `math/array'

* Rewrote `array-map' exported to untyped code using untyped Racket

* Rearranged a lot of `math/array' documentation
2013-01-15 13:53:28 -07:00
Robby Findler
131af9955d fix bug introduced in f315f08dc3
closes PR 13435

Also cleaned up one more threading problem (this one was
probably innocuous, but it is hard to be sure and the
rewrite is easier to see that it isn't problematic)
2013-01-15 14:47:52 -06:00
Asumu Takikawa
28d46105c9 Add tests for PR 13094.
The bug itself was fixed already when ordinary
type variable scoping was fixed.

Closes PR 13094
2013-01-15 15:44:34 -05:00
Eric Dobson
5fe004cd9b Make TR compile with contracts enabled again. 2013-01-15 12:36:42 -05:00
Eric Dobson
f315880b50 Replace uses of Type? with Type/c?. 2013-01-15 12:23:42 -05:00
Matthias Felleisen
fbb3145f39 fixed a bug that prevented universe from restarting on some occasions 2013-01-15 10:10:18 -05:00
Matthias Felleisen
7df831feec universe restart test, bug from Marco 2013-01-15 10:10:18 -05:00
Robby Findler
1edec6a33e move the ╬ char and friends into a separate file
do not merge to 5.3.2
2013-01-15 09:08:02 -06:00
Robby Findler
c8a1ec8c9c fix bug in online check syntax's save file notification
Before this commit, the files that are loaded during expansion
were discarded when an error during expansion occurs. This commit
saves them: unless the program is something like

  (begin-for-syntax (kill-thread (current-thread)))

the handling that deals with that kind of situation (as opposed
to just an exception being raised) doesn't try to save them

Do not merge to 5.3.2: this bug isn't serious and the new code
is not as well tested as the old
2013-01-15 09:07:42 -06:00
Eric Dobson
a5daacd747 Fix register-struct-bindings! to meet correct contract.
Please merge to 5.3.2.
2013-01-14 17:30:29 -05:00
Carl Eastlund
5130abf2dd Wrote documentation for quote-srcloc-string and quote-srcloc-prefix. 2013-01-14 17:17:10 -05:00
Carl Eastlund
860cc3cbed Added quote-srcloc-string and quote-srcloc-prefix to syntax/location.
Also cleaned up implementation; only generates syntax for requested part(s) of
source location, and is more intelligent about calculation of relative paths.
2013-01-14 17:17:10 -05:00
Carl Eastlund
b03450c7b0 Clarified the purpose of quote-module-name and quote-module-path in the Scribble docs. 2013-01-14 17:17:10 -05:00
Sam Tobin-Hochstadt
230172cf94 Use syntax-procedure-alias-property with struct constructor procedures as well.
This uses a new `racket/private/procedure-alias` module
which provides the relevant symbol via `protect-out`.
2013-01-14 14:27:33 -05:00
Sam Tobin-Hochstadt
b6564980ab Typed modules as languages doesn't currently work. 2013-01-14 14:27:33 -05:00
Asumu Takikawa
3e3303156d Replace copyright notice with correct one
This is the copyright notice that is provided in
the official SRFI implementation rather than the SRFI
document license.
2013-01-14 10:35:44 -05:00
Asumu Takikawa
1ae216ec94 Delete trailing whitespace 2013-01-14 10:35:44 -05:00
Asumu Takikawa
8d1c56cb6f Rackety 2013-01-14 10:35:44 -05:00
Asumu Takikawa
d406e2db57 Make srfi/19 compatible with date* structs
- srfi/19 functions now produce and accept date*s
 - some functions produce lax-dates for backwards compat.
2013-01-14 10:35:43 -05:00
Eli Barzilay
df850724e1 Very simple job server.
Kept here in case it's useful for other things.
2013-01-13 19:27:05 -05:00
Matthew Flatt
2adf0bdf2e ffi/unsafe/objc docs: clarification on `import-class'
Merge to v5.3.2
2013-01-13 15:33:48 -07:00
Eli Barzilay
368ee6d8b5 Lots of improvements to DMG creation.
* Remove lots of sudoing, and instead use one to change the contents (of
  non-simple DMGs).  Perhaps that's not needed too.  (I think that there
  used to be some problem when the owner was a specific user in the
  installer script days, perhaps it caused some mess in the pre/post
  flight scripts.  Maybe it's safe to not do this anymore.)

* There was a fundamental weakness in the Finder script -- it tweaks the
  DMG by openning its mount, but the way to specify a disk is via its
  displayed name which is not unique.  This can be problematic if there
  is already a mount that has the same name, and given that the DMG
  machine can be used by PLT people, it's even likely to happen.  It is
  tricky to solve this, since there is no way that I see to refer to the
  disk by its mount point or device in the Finder, and no way to find
  out the name in the shell.

  I spent a ton of time searching the webs for a solution, but it seems
  that practically nobody is concerned (or even aware of this problem).
  Eventually, the hack I did is to mount the image onto a randomly named
  directory, then iterate over all disks and look for one whose `name'
  property is that directory name (apparently the `name' property is the
  name of the last component of the mount point).  For safety, throw an
  error if no such disk is found, or if more than one is found.

  Incidentally, using a known mount point also simplifies things since
  there is no need to know the device name of the mount.

* Use UDBZ instead of UDZO for the compressed image.  The savings are
  not as big as I expected them to be for some reason, but the
  compatibility issues should be all gone now (UDBZ works only from 10.4
  and up).

* Unset $LD_LIBRARY_PATH to avoid some 10.8 bug.

* Switch the build to happen on dublin, running 10.8.  At least
  code-signing is broken on the 10.5.8 machine, and possibly also the
  osascript to identify the desired image disk.
2013-01-13 16:52:08 -05:00
Ryan Culpepper
1109e0f86d fix rounding in ~r, docs
Merge to 5.3.2.
2013-01-13 15:52:08 -05:00
Eli Barzilay
ffbdaf0667 Added an optional hook script to run on the to-be-distributed directory. 2013-01-13 11:21:27 -05:00
Eli Barzilay
c8615a37b1 Saner dmg code organization.
"dmg" is now the layout-enabled usual DMGs, since they will soon have
more functionality around them (signed applications).  "sdmg" is for the
simple (or "source") DMGs, which are just plain containers for a
directory.  Also use a flag to avoid the stupid dynamic scope hack.
2013-01-13 11:21:27 -05:00
Robby Findler
f315f08dc3 make the planet2 info in the bug report form have multiple lines
in the GUI
2013-01-13 09:19:34 -06:00
Matthew Flatt
d2ce3f714b bug report GUI: guard against `raco pkg show' errors
Various things can go wrong with `raco pkg show', including
permission errors or lock conflicts.

Merge to v5.3.2
2013-01-13 07:56:58 -07:00
Matthew Flatt
b5d874e35d raco pkg: allow read operations on read-only package data
In particular, `raco pkg show' should work when the user does not
have write access to the installation directory or installation-wide
package database.

Merge to v5.3.2
2013-01-13 07:56:46 -07:00
Robby Findler
708395d51c clarify when drracket creates executables 2013-01-13 07:59:54 -06:00
Mike Sperber
f332092f58 Synch German string constants with latest. 2013-01-13 14:57:45 +01:00
Eli Barzilay
a2207e6f33 Make only binary distributions use laid-out DMGs.
This is done by adding an "ldmg" type for laid-out DMGs, and "dmg"
produces a plain container image as before.
2013-01-12 04:11:44 -05:00
Eli Barzilay
b5618b7d13 Do the conventional DMG layout.
Note that this requires a running Finder.  Note also that the process
involves attaching the created DMG which means that it might be
problematic with a machine that might have a volume by the same name
already attached (since the applescript uses the volume name, which is
not required to be unique).
2013-01-12 04:11:44 -05:00
Eli Barzilay
a3a47128de Remove "internet-enabled" dmg creation.
Robby says that they're no longer recommended and rarely used by
browsers, and with a better dmg layout the contents should not be copied
automatically anyway.
2013-01-12 04:11:44 -05:00
Robby Findler
2067534431 add #:extra-srclocs argument to raise-read-error
Also, modernize the error checking to use raise-argument-error
and generally Rackety
2013-01-11 23:09:38 -06:00
Asumu Takikawa
2ac6615da9 Use correct parent for date* in makeexn
Please merge to 5.3.2
2013-01-11 21:22:20 -05:00
Asumu Takikawa
d95be2ed4d Fix error typo
Please merge to 5.3.2
2013-01-11 21:22:12 -05:00
Vincent St-Amour
2c8e5f9acb Move Optimization Coach to PLaneT 2. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
54c8394280 Call inner when augmenting methods. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
903eec448e Document profiler support. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
65bd79b003 Improve UI for profiling support. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
09683d4441 Don't prune cold inlining successes. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
8202de8f4a Log ill-formed log entries instead of erroring. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
6480addbd1 Distinguish between different kinds of inlining failures. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
8e9f21b181 Make inliner log parsing more robust.
Relies less on regular expressions and more on a custom reader.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
6f6a95fdaa Don't reverse accumulated logs.
Not necessary anymore.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
50777aaca4 Refactor arithmetic hidden cost logging. 2013-01-11 18:40:22 -05:00
Vincent St-Amour
e82a0ee608 Clean up checks for profile information.
It is now always available when reporting about inlining.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
3da04201cd Move Typed Racket-specific processing to its own file. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
96078c9da6 Don't track provenance at the log entry level.
Not necessary anymore.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
928ea23a12 Have separate checkbox for hidden costs. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
8ffbaabfa6 Have hidden cost reporting produce report entries directly.
Since I'm more likely to do locality than causality merging for them,
there's no reason to produce log entries instead of report entries.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
e4f3d8e73c Only show inlining reports when profiling information is available.
Without profiling information, pruning is not good enough.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
6d7f1627b8 Have inlining reporting produce report entries directly. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
4933d9f00f Separate TR optimization and info logs. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
677550cbe2 Major refactoring. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
ebf25a3cdb Prune inlining recommendations more aggressively. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
defa1b96ff Refactoring. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
a2f1e33d00 Scale badness using profile data. 2013-01-11 18:40:21 -05:00
Vincent St-Amour
4271675f69 Report potential exact rational arithmetic in hot code. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
6e9ed24eae Implement TR pruning. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
9c73563705 Report struct constructors used in hot code. 2013-01-11 18:40:20 -05:00
Sam Tobin-Hochstadt
696583582b Add struct constructor table. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
a474eb9838 Report hidden parameter accesses. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
cc168d148d Log operations with hidden costs from TR.
Currently only implicit parameter dereferences.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
8170eda45c Keep reports for functions that contain hot functions.
Helps for curried functions.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
48a55f7e74 Revert "Recommend turning "hot" higher-order calls into first-order calls."
This reverts commit bb0c20ce6eff2112a25eb1f98d394b36da0128f8.

Was never useful in practice.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
89948b2954 Recommend turning "hot" higher-order calls into first-order calls. 2013-01-11 18:40:20 -05:00
Vincent St-Amour
db6b0df526 Adjust definition of interesting call sites to not rely on inlining info.
That information may not be available.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
bba3d66fb1 Factor out the concept of interesting callers. 2013-01-11 18:40:19 -05:00
Vincent St-Amour
c66654e9c8 Allow producing multiple inliner report entries per function.
This also allows reporting one function while traversing another.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
fa01a5304a Recognize "interesting" call sites.
These are call sites where one of the callees accounts for a large portion
of the total time of its caller.

When such call sites are considered inlining failures, we can refine
recommendations.

The concept of interesting call site is also useful as a building block
for higher-level patterns.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
bb9f4e4634 Report "bridgehead" inlinings as successes, even if further inlinings fail. 2013-01-11 18:40:19 -05:00
Vincent St-Amour
28d4eb4d22 Use the right version of the log to determine misses. 2013-01-11 18:40:19 -05:00
Vincent St-Amour
e02333a3c8 Fix handling of self out-of-fuel. 2013-01-11 18:40:19 -05:00
Vincent St-Amour
d1a2815197 Refactoring. 2013-01-11 18:40:19 -05:00
Vincent St-Amour
b751907e24 Keep TR and mzc logs separate.
Simplifies post-processing.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
8ace14bad9 Refactoring. 2013-01-11 18:40:19 -05:00
Vincent St-Amour
9f415ecd8a When we have profiling information, prune inlining reports about cold code. 2013-01-11 18:40:19 -05:00
Vincent St-Amour
c8d3aea6dd Rethink profiler integration.
Requires the program to manually call the profiler. This dumps the results in
a separate file.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
5bf52e9663 Keep profile entries that come from other files.
Otherwise, hot function set is only populated from the current file.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
c7f8eff883 Prune profile info to only keep hot functions. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
f6b60b2f90 Propagate profile information to inlining analysis. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
a1c93f466c Only keep profile reports from the relevant file. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
9fd9638252 Refactoring. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
4c7e319cd2 Put sandbox management in its own file.
To avoid circular dependencies.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
18e4cbbb40 First stab at hooking the profiler up to OC.
Profiling is done from inside the eval, to minimize noise.

Use samplers directly, to get access to the profiler's data structures.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
5d4bbfaf6c Abstract out right file filtering. 2013-01-11 18:40:17 -05:00
Vincent St-Amour
a65d7532f2 Log output generated when OC expands/runs programs.
To be consistent with Check Syntax.
2013-01-11 18:40:17 -05:00
Vincent St-Amour
fa2cba1c5b Abstract out OC sandboxing. 2013-01-11 18:40:17 -05:00
Sam Tobin-Hochstadt
1a678bd5de Fix parsing of maybe-optimize result.
Merge to 5.3.2.
2013-01-11 18:15:53 -05:00
Sam Tobin-Hochstadt
2a1f70264c Fix XREPL logging printer to handle new logger name field.
Merge to 5.3.2.
2013-01-11 18:15:34 -05:00
Ryan Culpepper
9b1b15d110 fix missing argument
closes PR 13429

Merge to 5.3.2
2013-01-11 16:14:58 -05:00
Danny Yoo
69ae77a253 Gracefully handle the case where the token stream just contains the END token and an error occurs. 2013-01-11 14:00:24 -07:00
Jay McCarthy
3312a8064d Working with links in collection testing 2013-01-10 10:45:54 -07:00
Tobias Hammer
0f6a5833fc readline/readline: add readline-newline' and readline-redisplay'
mzrl.rkt:
  Add and provide readline-newline and readline-readisplay.

readline.scrbl:
  Documentation and example code.
2013-01-09 19:12:22 -07:00
Matthew Flatt
5134bc0888 scribble doc corrections
Merge to v5.3.2
2013-01-09 18:52:16 -07:00
Matthew Flatt
5ab048bb5c scribble/decode: fix contract on `decode-compound-paragraph'
Add a test suite that at least tries each export of `scribble/decode'.

Merge to v5.3.2
2013-01-09 18:52:16 -07:00