Commit Graph

348 Commits

Author SHA1 Message Date
Matthew Flatt
392a8219ae futures: fix rest-arg list creation
Also, make rest-arg list creation safe for futures (and slightly
faster in general).

Closes PR 13832
2013-08-26 20:17:52 -06:00
Matthew Flatt
44e324db12 ARM JIT: fix test for VFP
Having `__VFP_FP__` defined does not mean that VFP instructions are
available; it just means that floating-point is native-endian.

According to

 https://wiki.debian.org/ArmEabiPort

the absence of `__SOFTFP__` combined with the precense of `__VFP_FP__`
can mean VFP, though.
2013-08-25 12:54:04 -06:00
Matthew Flatt
100cc0f84e fix `{put,head}-[im]pure-port'
Connection wasn't converted to a port, and included a repeated
layer of chunk decoding.
2013-08-24 15:21:06 -06:00
Matthew Flatt
7e0d3beb67 ARM JIT: avoid direct use of __aeabi_... for software fp 2013-08-24 12:28:25 -06:00
Matthew Flatt
0b8e764e99 ARM JIT: fix soft-float `round'
Use our own implementation of round(), since the round()
function might be missing.
2013-08-24 10:39:09 -06:00
Jay McCarthy
e8bafbd9b9 Adding net/http-client and using it underneath net/url 2013-08-23 12:41:37 -06:00
Matthew Flatt
e1efd2d98f package system: change syntax of a GitHub package source to "git://..."
Besides changing the URL scheme, the tag or branch is optional and
specified as a fragment (inspired by npm). Also, any subpath is expressed
as a "path=..." query (which similarly avoids giving a different meaning
to URLs than `git' itself would). The repository name can have a ".git"
suffix.

The "github://..." format is still supported for compatibility, but
`--type github' adds "git://..." instead of "github://..." if
neither is already present (which is incompatible, since branches
and tags are handled differently for the two forms).

Closes PR 13656

(See the PR for a discussion and my rationale for this choice.)
2013-08-23 07:40:45 -06:00
Matthew Flatt
52da62a956 setup/dirs: fix "config.rktd" reader 2013-08-22 10:44:26 -06:00
Matthew Flatt
e7d300d238 raco pkg: improve package-source checking and error reporting 2013-08-22 07:58:49 -06:00
Matthew Flatt
d901504174 allow hash-table chaperones to support efficient hash-clear[!] 2013-08-22 07:50:42 -06:00
Matthew Flatt
3201f1330a raco pkg install: make --force override scope-conflict errors
It's possible that an installation will have a package X already and
a user wants to install a different X. To make it all work out,
the user may have to also install a new Y for every installation-scoped
Y that refers to X --- maybe not easy, but at least possible as
a last resort.
2013-08-20 20:53:58 -06:00
Matthew Flatt
f371032a34 protect package-source parsing against non-path strings 2013-08-20 15:48:15 -06:00
Matthew Flatt
c0af1fe4bd pkg: allow path string as `#:scope' argument 2013-08-20 15:27:33 -06:00
Matthew Flatt
ccead82841 raco pkg install: add --update-deps flag
This option makes install and update even more consistent, also
`--auto` still implies `--update-deps` only in update mode.

Make `--update-deps' consult the user in `search-ask' mode,
make it ignored in `fail' or `force' mode.
2013-08-20 15:27:33 -06:00
Matthew Flatt
21d3c168a0 support file:// URLs as package sources 2013-08-20 15:27:33 -06:00
Matthew Flatt
e02e04ff2a fix `hash-clear!' on impersonated hash tables
Closes PR 13977
2013-08-20 05:52:47 -06:00
Matthew Flatt
a4b994c3cb Revert "Revert "make user PLaneT install path use installation name instead of version""
This reverts commit de230bc1ef.

Now that path computatons are built in, and now that the sandbox allows
reading the configuration file, using the installation name doesn't
break with sandboxing.
2013-08-19 17:54:20 -06:00
Matthew Flatt
220b284175 find-collects-dir' and find-config-dir' as built-in, cache values
The computations already existed in the built-in code, so moving
the functions reduces code duplication. Caching the values will
save a little time, but mostly it will avoid sandbox interactions
with the task of locating the main "collects" and "etc" directories.
2013-08-19 17:54:20 -06:00
Matthew Flatt
31c7101ec7 raco pkg: make search-ask mode work for Windows (CRLF)
More generally, trim leading an dtrailing whitespace from answers.
2013-08-19 07:17:48 -06:00
Matthew Flatt
5efab46f5a net/win32-ssl: handle eof (connection closed by server) 2013-08-19 06:58:19 -06:00
Matthew Flatt
1b7819dcd5 Windows: disable message box from system errors
For example, disable a message box for DLL links errors.
2013-08-19 06:34:18 -06:00
Matthew Flatt
e4a4a52ea9 raco pkg install: fix problem with version-triggered updates 2013-08-18 13:38:48 -06:00
Matthew Flatt
884c0bef02 fix problem with inferred package scope
When the user-scope package database hasn't been created, a
parameter to avoid changing the database without a lock
was interfering with other scopes.
2013-08-18 13:23:58 -06:00
Matthew Flatt
d9e226824f net/win32-ssl: a native Windows SSL layer
This implementation of SSL ports is less complete than `openssl', but
it's complete enough to drive HTTPS, and so it can be used to download
a package that provides the DLLs needed for the `openssl' library.

The `net/url' library uses `net/win32-ssl' on Windows when `openssl'
is not available (due to the absence of the OpenSSL DLLs).
2013-08-18 10:57:04 -06:00
Matthew Flatt
f93f488a5a add PLT_DUMP_JIT_RANGES
This variable is intended to support machine-code tracing
experiments. To enable a dump of ranges on exit, both
define PLT_DUMP_JIT_RANGES at compile time and as an environment
variable at run time.
2013-08-17 08:42:15 -06:00
Matthew Flatt
72a4191aa9 raco pkg update: allow packages sources as replacements
When an argument to `raco pkg update` is a package source,
use it to place the currently installed package.

Also, make the set of available command-line arguments more
consistent, especially for `raco pkg install` and `raco pkg update`.

Finally, fix the `--update-deps` flag, including checking
the dependencies of each updated packages based on then update,
instead of the pre-updated package.
2013-08-17 06:03:10 -06:00
Matthew Flatt
6baf90e3be Documentation and adjustments to `clear'-related hash and set operations
Document and adjust `hash-clear!', `hash-clear', and `hash-empty?'.

Also, add `hash-copy-clear'.

The clear operations are constant-time for a non-impersonated
hash table, otherwise they always remove keys one-by-one to
trigger the impersonator's interpositions.

The `hash-clear' operation works only on immutable hash tables,
in contrast to the original implementation. The new `hash-copy-clear'
works on both immutable and mutable hash tables. The "copy"
in its name is meant to suggest a difference with `hash-clear',
even on immutable hash tables: any chaperone on the input
is not on the outpue.

Change `set-clear' to be like `hash-clear', and add
`set-copy-clear'.

(Changes are in consultation with Carl.)
2013-08-17 06:03:10 -06:00
Matthew Flatt
6fc868d5b9 raco pkg show: note when auto-installed packages are not shown
Otherwise, imagine uninstalling packages without `--auto', using `raco
pkg show' to confirm that none are left, and be surprised by a later
error about installed packages.
2013-08-16 15:25:40 -06:00
Robby Findler
27e9759bd5 add shrink-path-wrt 2013-08-16 14:07:55 -05:00
Matthew Flatt
1347073cc5 fix immutable hash tree balancing
When an existing entry in the AVL tree for an immutable hash
is replaced with a new one, the new one did not always get
the right depth, which could throw off the tree balance.
2013-08-16 11:35:40 -06:00
Matthew Flatt
6a6d60dd5f setup/dirs: add `find-user-links-file' 2013-08-16 10:24:18 -06:00
Matthew Flatt
f8a225f741 faster paths for parameter lookup
Calling a parameter function (with no arguments) can be 2-3 times
as fast as before.
2013-08-16 10:24:18 -06:00
Matthew Flatt
6035db418f pkg/lib: add `pkg-directory->module-paths' 2013-08-15 18:18:42 -06:00
Matthew Flatt
21bba8a10b package system: clients extract version-specific info from a catalog result
When a client sends a query to a package catalog, it includes a
version number in the query, and a package catalog can customize its
response to the version. That approach allows evoluation of the way
that versions are mapped to results, but it does not allow a
directory-implemented catalog to offer version-specific information.
Allowing both the server and the client to filter on the version is
even more flexible, and in particular allows a directory-implemented
catalog to include version-specific mappings.
2013-08-15 18:18:42 -06:00
Matthew Flatt
fb62686d8a raco pkg catalog-{show,copy}: add `--version' flag 2013-08-15 18:18:42 -06:00
Carl Eastlund
acc4afad6f Added raise-support-error and exn:fail:support to racket/generic.
The exn:fail:support exception is used to signal "unsupported" values for
generic methods, e.g. a vector as argument to dict-remove.  Right interface,
just the wrong kind of instance.  The exception type helps define the notion of
a "supported" method, since a method might have a fallback implementation yet
some values are not considered "supported".
2013-08-15 20:10:31 -04:00
Matthew Flatt
6b16d0b9de cm: change an "internal" error to show OS-level error 2013-08-15 06:21:19 -06:00
Matthew Flatt
d586ea4e99 pkg/path: improve use of cache in `path->pkg'
Cache exploded package paths, which cuts about half
(more than a second) of the start-up time for
`raco setup' on my machine.
2013-08-15 06:21:19 -06:00
Eli Barzilay
c069b8e51c Fix output of keys.
They need to be encoded in the same way that strings are
encoded.  (Report and fixed by Phil Roberts.)

Also added a FIXME about leftover occurrences of \U in the output.

Closes PR 13966.
2013-08-14 16:51:31 -04:00
Matthew Flatt
35608b36b4 setup/getinfo: change bootstrap mode to try bytecode
Loading "info.rkt" files always from source turns out to be
expensive (adding 1 second or so on my machine to the startup
time for `raco setup'). Change bootstrap mode to try the compiled
form and fall back to source if its doesn't work.
2013-08-13 16:05:36 -06:00
Matthew Flatt
3f8475d6a9 optimizer: certain bitwise-operation patterns always produce fixnums 2013-08-13 16:05:36 -06:00
Matthew Flatt
de322740a6 file/gzip: misc clean-up
Separate state and functions, and convert a key loop to functional
style. As it turns out, this has no significant effect on performance,
but it looks a lot better to me.
2013-08-13 16:05:36 -06:00
Matthew Flatt
1acdcf2fb9 speed up gzip by moving struct definitions
Moving the `define-structs' to the module top level
makes it easier for the JIT and cuts compression time by
about 1/3.
2013-08-13 16:05:36 -06:00
Matthew Flatt
ccb31f4153 fix name handling in `tar-gzip' 2013-08-13 16:05:36 -06:00
Matthew Flatt
b1e33773c6 increase stack safety margin for 64-bit platforms
Make the stack-safety margin twice as big for 64-bit platforms
as 32-bit platforms. That was already done for Windows, but it's
also needed for Mac OS X. Also, double-check that there's a
good amount of space on the stack before calling a foreign
function.
2013-08-12 19:42:36 -06:00
Matthew Flatt
d52ba1b5e7 fix interaction of continuations and stack overflow
There was an off-by-one error in trimming overflow
records in a captured continuation.

I provoked the crash by running the program below on Mac OS X;
resizing the frame caused a crash. It has something to do with the
`try-atomic' implementation, I think. I wasn't able to make a test
case in a half-hour of trying, however, and I'm giving up for now.

(define f (new frame% [label "deep"]))
(define b (new button%
               [parent f]
               [label "0"]))
(send f show #t)
(let loop ([n 0] [m 0])
  (if (= n 10000)
      (begin
        (send b set-label (format "~a" m))
        (for ([i 10]) (yield))
        (loop 0 (add1 m)))
      (cons 1 (loop (add1 n) m))))
2013-08-12 19:42:36 -06:00
Matthew Flatt
74e49d8499 enable JIT stack trace on arity errors
On x86_64 Linux and Win64.
2013-08-12 16:27:06 -06:00
Matthew Flatt
04454678eb remove unnecessary stack-unwind test
The test was meant to detect a bad traversal step, but it could unnecessarily
truncate the stack traversal when encountering recursive calls.
2013-08-12 16:22:18 -06:00
Matthew Flatt
8f9e6529da fix (extracted part of) libunwind for x86_64
I had mixed up EBP vs. REG_EBP, etc., in extracting the x86_64 code.
2013-08-12 15:02:24 -06:00
Matthew Flatt
2d8edeffe8 make install: drop -S' flag to strip'
It turns out that no flags are standard, so don't try to use
any. That seems to be fine on the platforms that I tried.
2013-08-12 15:02:24 -06:00
Matthew Flatt
89e99657dd raco pkg {install,update}: add a `--auto' shorthand 2013-08-12 15:02:24 -06:00
Robby Findler
680d29d9cc adjust some calls to sort: use symbol<? and use strict
predicates (to get stability)
2013-08-12 12:27:16 -05:00
Matthew Flatt
502deb3bae setup/getinfo: add `#:bootstrap?' mode
Bootstrap mode disables the use of a compiled form of "info.rkt",
in case the compiled form is broken. It also attaches `info'-language
modules from the `setup/getinfo' namespace to the "info.rkt"-loading
namespace.

Formerly, `raco setup' relied on capturing the bytecode-compilation
bootstrap context used for `raco setup' itself when loading info
files. But when `raco pkg install' used `raco setup', it didn't have
the same bootstrapping context in place, so it could get confused
(e.g., if you unlink a package from one Racket version and install it
as a link in a different Racket version). Now, both `raco setup' and
`raco pkg' use `#:bootstrap?' mode for `get-info/full'.
2013-08-12 07:09:04 -06:00
Matthew Flatt
7c638a03a0 remove some obsolete files 2013-08-12 07:07:27 -06:00
Matthew Flatt
35bff5b683 first cut at script to push PLT packages to pkg.racket-lang.org 2013-08-11 14:30:04 -06:00
Matthew Flatt
7c95c5ad38 add path<?' and symbol<?'
These comparisons are useful for sorting while avoiding the overhead
of conversions to bytes or strings.

Having `path<' reduces the cost of sorting in `directory-list'.
2013-08-11 14:30:04 -06:00
Matthew Flatt
2ba615a20e directory-list: always sort results
Consistently sorting shouldn't cost much relative to the
cost of `directory-list' (except for the path->bytes conversion?),
and it makes directory traversals (including archive packaging)
more deterministic across runs and platforms.

(Eli suggested this a long time ago.)
2013-08-11 14:30:04 -06:00
Robby Findler
13e7f2f03d try to be more accomodating to low-permission contexts
when reading the development links file
2013-08-11 06:56:16 -05:00
Matthew Flatt
58c0074a71 Add ".desktop" file support
A launcher can have a ".desktop" file (found like other files: as the
same name as the main launcher file, but with a ".desktop" suffix),
where the "Exec" and "Icon" fields are added automatically. A ".png"
or ".ico" file can be supplied for the icon (where the ".ico" file
is already used for Windows launchers).

Closes PR 13953

Fix various problems with Unix-style install from an installer.

Also, add an ugly icon for the Racket Package Manager, with the hope
that it will provoke someone to create a nicer one.
2013-08-10 12:52:17 -06:00
Robby Findler
c93debe653 fix error check in #lang info 2013-08-10 05:34:22 -05:00
Matthew Flatt
47d433b9c1 Solaris: disable places and futures by default
The issue is that gcc and the Sun linker do not cooperate
correctly to implement thread-local variables on x86_64.
Since gcc is normally configured to use the Sun linker by
default, enabling places and futures is asking for trouble.
2013-08-09 19:46:37 -06:00
Matthew Flatt
19cda0396b fix stack size of threads that implement places
... on platforms other than Mac OS X and Linux.
2013-08-09 14:26:32 -06:00
Matthew Flatt
6bb55f7d14 Solaris: various repairs
Fix threading, including SIGCHLD mask.
2013-08-09 10:49:46 -06:00
Matthew Flatt
3ca82d5df7 fix subprocess issues
Fix SIGCHLD suspension for fork()-based file locks (i.e., Solaris).

Also, fix commit ea51d32e, which broke termination of process groups
where the main process terminated before the rest of the group,
because it used sigwait() before the terminate action.
2013-08-09 07:55:14 -06:00
Matthew Flatt
d93ce089a3 fixes of OpenSolaris
Make the GC always use the mmap() block cache, since mmap() on Solaris
allocates much more than a page when a single page is requested.

Enable places and threads by default on x86 and x86_64.

Fix pthread-related compilation flags.
2013-08-09 07:55:14 -06:00
Matthew Flatt
9068341cb9 JIT: add missing check on inlined `procedure-arity-includes?'
Closes PR 13951
2013-08-08 17:57:49 -07:00
Robby Findler
a8405eb77d Adjust contract-out so it uses the provide transformer machinery properly
closes PR 13946

This is probably not the optimal way to make this change; better would
have been to refactor the existing provide/contract implementation so
it does not glom the provides all together in the first place (instead
of pulling them out afterwards). Do it this way anyways, because I
have a big pile of contract-system changes in another branch that also
changes around how provide/contract works: this way will be much
easier to rebase those changes off of.
2013-08-07 15:49:08 -05:00
Matthew Flatt
b8db5aacb3 fix bytecode-format bug
The range of values used to represent "improper lists"
of length 36 to 65 overlapped with the range of values
used to represent other things.

This bug is the new chapion of the "how did we not hit that
earlier?" category. The bug was introduced around v300, at
the latest.
2013-08-07 08:37:50 -07:00
Matthew Flatt
de230bc1ef Revert "make user PLaneT install path use installation name instead of version"
This reverts commit ac20e7fc0d.

Using the installation name name seems right, but it creates sandbox
trouble, since finding the instalation name requires several
path-chasing steps. I think the sandbox problem shoudl be fixed,
somehow, but since I don't have a good idea right now, I'm reverting
the PLaneT change.
2013-08-04 10:35:30 -06:00
Matthew Flatt
c67fd14ae8 remove prohibition on handle-evt?' arguments to wrap-evt', etc.
The intent of disallowing `handle-evt?' arguments to `wrap-evt',
`handle-evt', and `chaperone-evt' was that those extra wrappers
break the tail-handling behavior that is almost certainly intended
when `handle-evt' is used. The extra checking was not obviously
worthwhile (we don't have any checked "this procedure should be called
in tail position" annotations, after all), and pushing the distinction
through Typed Racket looked particularly inconvenient.

Dropping the constraint is trivial if we say that wrapping a
`handle-evt' result disables the tail invocation of the handler
procedure.
2013-08-04 10:35:30 -06:00
Ryan Culpepper
4bc24a1117 added nearest below & above to find-seconds error message
Closes PR 13945
2013-08-03 18:20:46 -04:00
Ryan Culpepper
7d2c1c0790 fix exprs field for raise-syntax-error* 2013-08-03 18:20:33 -04:00
Matthew Flatt
df30e9c148 add missing lock acquire 2013-08-03 13:56:18 -06:00
Matthew Flatt
5e0b87a0cd raco pkg {install,remove}: promotion from & demotion to auto-installed
When you `raco pkg install' a package that is already present as
an auto-installed package, the installation is promoted to
an explicitly installed package.

When you `raco pkg remove --demote' a package, then it is changed
from an explicitly installed package to an auto-installed package.
Combine `--demote' with `--auto' to remove a package only
if there are no dependencies, leaving it auto-installed otherwise.

The defaults (promote in the case of `install', not demote in the case
of `remove') are different because it seems more likely that you
really mean to remove a package when using `pkg remove', while it
seems likely that you just want to start using a package that happened
to be auto-installed already for `pkg install'.

Also, make the package scope inferred for `raco pkg' commands
that take a list of package names, and fix up lock handling and
error reporting.
2013-08-03 12:18:46 -06:00
Matthew Flatt
ac20e7fc0d make user PLaneT install path use installation name instead of version 2013-08-02 11:19:33 -06:00
Matthew Flatt
d63b49ccbb `raco pkg' repair 2013-08-02 11:19:33 -06:00
Matthew Flatt
8eefa2126b add `current-library-collection-links' parameter
Also, the initial value causes `curent-library-collection-paths'
before collection links files, instead of after.
2013-08-02 08:24:15 -06:00
Ryan Culpepper
e0f3876e8c indent multi-line details, export more helpers 2013-08-01 19:11:28 -04:00
Ryan Culpepper
94c5e5e250 rename raise-misc-error to error* 2013-08-01 19:11:28 -04:00
Ryan Culpepper
30d6863e44 moved raise-syntax-error* to unstable/error 2013-08-01 19:11:28 -04:00
Ryan Culpepper
ed5b0afbac syntax/parse: reformat, add more info to errors 2013-08-01 19:11:28 -04:00
Ryan Culpepper
e20b5a1539 fix multi/maybe detail handling, allow missing who argument 2013-08-01 19:11:28 -04:00
Ryan Culpepper
7b113899d4 syntax/parse: removed unused exn info 2013-08-01 19:11:28 -04:00
Matthew Flatt
1b98359925 raco pkg install: use `--link' by default for directory sources
The new `--copy' flag provides the old behavior.
2013-08-01 07:01:20 -06:00
Matthew Flatt
a6f8f00f55 fix cross-phase-persistent attribute of primitive modules 2013-08-01 05:55:24 -06:00
Matthew Flatt
e5e6d097be ffi/unsafe/objc: fix selector definition lifting
The code intended to lift each selector only once (per lifting
context) was broken.
2013-07-31 17:28:56 -06:00
Matthew Flatt
c137b44a68 change `syntax-local-lift-context' to distinguish top-level environments
Although not documented as such, the implementation used to return
form did not take the special meaning of #f into account. It seems
better to fix `syntax-local-lift-context' to match its documentation.
2013-07-31 17:28:56 -06:00
Ryan Culpepper
f5b91941eb fixed hash-code for id-tables
Closes PR 13942.
2013-07-31 17:37:42 -04:00
Ryan Culpepper
2057b51f21 syntax/parse: add "expected more terms" message
Only for proper list patterns; otherwise, "more terms" might be
mischaracterization.
2013-07-31 17:37:15 -04:00
Matthew Flatt
7e3ee7105a fix `raco link -l'
Closes PR 13941
2013-07-31 12:09:59 -06:00
Matthew Flatt
895b8d2760 configure: fix `--enable-portable-binary' addition 2013-07-29 10:58:16 -06:00
Carl Eastlund
b192620b0d Restored behavior of set/c for flat contracts; #:kind defaults to 'immutable. 2013-07-28 23:52:27 -04:00
Matthew Flatt
df34ffe450 configure: pass `--enable-portable-binary' to libffi configure
The `--enable-portable-binary' flag disables optimizations specific
to the build machine's processor that may ne unportable to other
machines.

This also fixes a problem where a VirtualBox runs on an x86_64 machine
with AVX support, and so `congure' enables AVX operations, but AVX
doesn't work within a virtual machine.
2013-07-28 11:46:10 -06:00
Carl Eastlund
1c7cdfb302 Fixed a few bugs in set/c's keyword options, and one test for set/c.
Specifically, set/c no longer behaves as a flat contract, so it is necessary to
apply at least one set operation to detect a contract error on an element.  It
is possible the flat behavior can be restored for some kinds of sets, but it's
not immediately obvious what kinds those should be.  (Immutable hash sets in
particular?  Any sets that don't implement set-add! or set-remove!?)
2013-07-27 13:17:53 -04:00
Matthew Flatt
2ec49929a4 raco setup: print "summary of errors" before the summary of errors 2013-07-26 22:36:21 -06:00
Matthew Flatt
81079b3a02 Windows installer: offer to auto-launch DrRacket
The 'start-menu? aux key for launcher creation changed to 'start-menu,
with a real-number value indicating a request and precedence for
auto-launching (where a precedence is needed because only one application
can be auto-launched).
2013-07-26 22:36:21 -06:00
Matthew Flatt
67c33fb13d adjust startup to avoid config file if collection links are disabled
The intent of this change is to avoid trying to read a configuration
file from a stand-alone executable.
2013-07-26 22:36:21 -06:00
Matthew Flatt
2e067ab28c add build-stamp' configuration and fix repo-time-stamp/stamp'
The "repo-time-stamp" collection used to be omitted from a
release, but to keep things simpler, it's staying in the
"drracket" (and therefore "main-distribution") package. The
build process installs an empty `build-stamp' value (by default)
into a release build, or it installs a useful stamp for
a non-release build.
2013-07-26 22:36:21 -06:00
Robby Findler
6195c432f8 Add use of 'sub-range-binders properties for Check Syntax's benefit 2013-07-26 19:05:46 -05:00
Matthew Flatt
d94a4cd830 add migration panel to GUI package manager
Also add "gui-pkg-manager" packages, including a "Racket Package Manager"
GUI application (that needs a better icon).

The package that supplies "Racket Package Manager" is not in the main
distribution, since DrRacket already includes the GUI package manager.
2013-07-26 14:07:05 -06:00