Commit Graph

809 Commits

Author SHA1 Message Date
Matthew Flatt
02bc905c02 repair for identifier handling
Repairs commit d67082ea60.
2014-05-17 19:56:25 +01:00
Matthew Flatt
35c996d041 add scheme_jit_find_code_end 2014-05-17 07:20:04 +01:00
Matthew Flatt
d67082ea60 adjust handling of identifiers without module context by set!
... and `#%variable-reference`, adding a special case for an identifier
that is bound in the encloding module.
2014-05-17 07:20:04 +01:00
Robby Findler
39195bd04f add generator for (and/c real? (not/c negative?)) and (and/c rational? (not/c negative?))
and fix -> generator for mandatory keyword arguments
2014-05-16 22:43:57 -05:00
Robby Findler
3f5ca73338 added a real? generator 2014-05-16 22:43:56 -05:00
Robby Findler
541582cbc6 improve ->i's printing so it saves some of the source text of the dependent contracts 2014-05-16 17:13:16 -05:00
Robby Findler
0e90d6449f improve contract-exercise so that it can take multiple arguments
(and can use one to generate values that might break another)
2014-05-15 22:32:48 -05:00
Robby Findler
ae298ae353 make contract-stronger? recognize that predicates are stronger than
values that they accept (for certain, well-known predicates, anyway)
2014-05-15 22:30:21 -05:00
Robby Findler
cd4dde5865 add an implementation of stronger to cons/c 2014-05-15 22:30:19 -05:00
Robby Findler
e1bd6bab6a improve new or/c's stronger predicate 2014-05-15 22:30:17 -05:00
Asumu Takikawa
7bc88336f5 Add Dr. Chang to acks. 2014-05-14 22:11:39 -04:00
Ryan Culpepper
95d1bacf15 template: pre-allocate local env vectors for nested ellipses 2014-05-14 15:51:37 -04:00
Ryan Culpepper
217dc89f5c template: fix checking of ellipsis-driving variables
closes PR 14497
2014-05-14 15:51:37 -04:00
Matthew Flatt
a7ad0e3a01 default module name resolver: fix cache
The cache was keyed on `current-library-collection-paths`, but
not other parameters such as `current-library-collection-links`,
so it was too "sticky" in the case that some parameters changed.
Adjust the cache to be specific to loaded module in a namespace's
module registry.
2014-05-14 06:10:50 -06:00
Robby Findler
5ed9b65ae5 add a random generator for struct/c
This is actually done by adding a generator for struct/dc in the case
that there are no dependencies, so it'll also work for such contracts.
2014-05-13 22:49:02 -05:00
Robby Findler
c64d70abc6 contract improvements
- add a generator for cons/c
- make flat-rec-contract not just build the predicate, meaning:
  - it has a better name
  - it can do random generation
- make the procedures that come from any/c random generation indicate that from their names
- make or/c with one argument just (check and) return that argument, so
  (or/c (or/c number?)) has the name 'number?'
2014-05-13 22:49:02 -05:00
Robby Findler
cfd1f46fa2 fix bug in flat struct/dc predicate implementation 2014-05-13 22:49:01 -05:00
Matthew Flatt
d96bfb6e29 setup/dirs et al.: thread-safe promises
Use `delay/sync` instead of `delay`.
2014-05-13 16:27:11 -06:00
Robby Findler
8b0e23d15a fix struct/dc's flat-contract mode predicate 2014-05-12 10:05:54 -05:00
Robby Findler
a1fd690201 add random generation for polymorphic contracts 2014-05-12 09:49:15 -05:00
Robby Findler
318130b716 fix positive integer generator to not generate zero 2014-05-12 09:49:15 -05:00
Matthew Flatt
be04593a31 fix bug in insertion of guards to prevent use before definition 2014-05-12 08:09:23 -06:00
Matthew Flatt
1d87c95bf0 reduce calls to current-process-milliseconds on thread swap
Call `current-process-milliseconds` once per swap, instead of twice.
2014-05-12 04:57:44 -06:00
Matthew Flatt
98b91a11e4 faster path for TCP input
Avoid polling a file descriptor to determine whether it has bytes;
just try to read, and then go to epoll/kevent mode when available,
skipping a poll/select.
2014-05-12 04:57:44 -06:00
Matthew Flatt
97da48ab67 remove/adjust obsolete C preprocessor cases
Mac OS Classic and Palm ae long since unsupported.

TCP support implies sockets (since old Mac TCP is gone).

For what it's worth, make the build work without TCP support, although
no one ever builds that way.
2014-05-12 04:57:44 -06:00
Robby Findler
6df33ab08c make new-∀/c and new-∃/c figure our their own names and have a better printing 2014-05-11 22:30:14 -05:00
Matthew Flatt
b15aea28c2 fix accidental disabling of thread-specific process-milliseconds 2014-05-10 19:29:54 -06:00
Robby Findler
9d87fe5079 cleanups to old, broken test suite and some bug fixes it uncovered
also, fix any/c generator
2014-05-10 10:01:29 -05:00
Matthew Flatt
7987740d18 file/gzip: compensate for too-far lookahead 2014-05-09 15:47:01 -06:00
Jay McCarthy
723fae213c changing valid char to XML 1.1 rather than 1.0 and reverting changes from recent PR 2014-05-09 10:39:35 -06:00
Jay McCarthy
fc8075245a protect against errors in chunking or gunziping... without this there can be hangs 2014-05-09 10:39:34 -06:00
Matthew Flatt
d5b42f8c50 add plumbers, remove custodian-tidy-all
In v6.0.1.7, I tried to give a port-flushing job to custodians. They
turned out to be unqualified, so let's try employing specialists.

Thanks to Eli for pointing out the problem with the v6.0.1.7 design:
attaching callbacks to custodians allows a sandboxed task to escape
through the custodian hierarchy. Plumbers avoid this problem by
having no hierarchy.
2014-05-09 07:06:27 -06:00
Matthew Flatt
fdf06e461a add raco pkg catalog-archive
The `catalog-archive` command not only copies a catalog, but also copies
all package sources referenced by the catalog to create a snapshot that
doesn't depend on any external pieces.

One reason you might want to do that is to download all packages on a
machine with general network access, and then building packages on a
(virtual) machine whose network access is limited.

This commit also adds support for relative package sources in the
catalog protocol, where a client converts a relative package source to
an absolute one.  Since the relative-to-absolute conversion happens on
clients, relative sources will be of limited use until v6.0 and v6.0.1
become deprecated.

A new `current-pkg-lookup-version` parameter corrects the misuse of
`current-pkg-scope-version` for package-catalog queries.
2014-05-08 11:03:31 -06:00
Robby Findler
ce3f891209 improve any/c's random generation
by using the environment sometimes and making up (simple) functions
sometimes
2014-05-07 21:29:32 -05:00
Robby Findler
05def2ddf5 unbreak or/c opter
(the missing require meant that the wrong "or/c" was being registered in the table)
2014-05-07 21:29:32 -05:00
Robby Findler
d812d171f9 add generator for any/c and improve generator for or/c
also improve test cases a little bit and minor Rackety
2014-05-07 19:25:22 -05:00
Robby Findler
7ec9cb0274 fix generator for or/c 2014-05-07 19:25:22 -05:00
Jay McCarthy
7740733c05 Fixing PR14478 2014-05-07 15:42:52 -06:00
Matthew Flatt
903e82731e fix vector-map! to not mutate immutable vectors 2014-05-07 07:41:13 -06:00
Matthew Flatt
c33707329c racket/port: add a flushing tidy callback for reencode-output-port
This change solves a long-standing problem that reencoded output
was not flushed on exit, especially in the case that the
current output port is reencoded.
2014-05-07 07:41:13 -06:00
Matthew Flatt
1bd604073a add custodian-tidy-all 2014-05-07 07:41:13 -06:00
Robby Findler
0f16f31db9 clean up and export support for exercising values with contracts 2014-05-06 21:29:19 -05:00
Robby Findler
9a6970043a fix contract-random-generate so it picks the generation method
randomly during generation, not randomly up-front, before
generation
2014-05-06 21:29:18 -05:00
Robby Findler
4de1583c68 make or/c and contract-stronger? collaborate
in order to make contract-stronger? work better when given the result of or/c
2014-05-06 16:33:20 -05:00
Matthew Flatt
5e8e2771b5 raco setup: fix default package version
The default is "0.0", not "1.0".
2014-05-05 10:37:09 -06:00
Robby Findler
1f212a2fe4 fix struct/dc chaperone/flat/impersonator-ness when #:inv is used 2014-05-05 11:27:52 -05:00
Robby Findler
90053d7d40 fix random generation environment usage
closes PR 14484
2014-05-04 14:34:55 -05:00
Matthew Flatt
2e284cc783 enable DWARF-based stack unwind for x86
Newer versions of gcc seem to use -fno-frame-pointer by
default for x86, which disables Racket's stack traces.
Use DWARF information to get them back.
2014-05-04 11:47:31 -06:00
Matthew Flatt
51614ab0b2 raco pkg config: add doc-open-url key 2014-05-04 09:32:00 -06:00
Matthew Flatt
33ad485081 setup/unixstyle-install: preserve all other config entries
Preserve any configuration entry that is not explicitly set,
as opposed to keeping only entries that are known to the
script.
2014-05-04 09:32:00 -06:00