Commit Graph

34548 Commits

Author SHA1 Message Date
Eric Dobson
7f400e7bde Make inference work with lists under dotted lists. 2014-05-17 22:13:49 -07:00
Eric Dobson
7af943e41d Handle inference of list dots under regular lists. 2014-05-17 22:13:49 -07:00
Eric Dobson
b87e6a4496 Make polydotted case more standard. 2014-05-17 22:13:49 -07:00
Eric Dobson
1d43b583fb Correctly extend tvars in the right place during inference.
Removes wrong extension of tvars in apply as well.
2014-05-17 22:13:49 -07:00
Eric Dobson
eaa41a2a8a Add missing %s and corresponding unit tests. 2014-05-17 22:13:49 -07:00
Eric Dobson
7d88b7a6cb Remove special case of subtype in tc-apply. 2014-05-17 22:13:49 -07:00
Eric Dobson
7e45bc7166 Allow inference when the result has free variables. 2014-05-17 22:13:49 -07:00
Robby Findler
e930195038 fix default node pict so it doesn't draw outside of its bounding box
and make the size a little bit bigger
2014-05-17 22:23:40 -05:00
Robby Findler
419f3fdee1 use the name in the exists contract in its error message 2014-05-17 22:22:31 -05:00
Robby Findler
a05da159b0 adjust check syntax to track which submodule a reference occurs in
so that arrows point to the relevant requires only, not to all requires

this commit also changes the handling of module+ (aka module* w/ #f) so
that it doesn't count as an "inner" module anymore
2014-05-17 22:21:47 -05:00
Robby Findler
a6808bd4e8 draw error highlight before calling super
closes PR 14517
2014-05-17 17:09:08 -05:00
Robby Findler
01fb28fa87 fix cons/c for combinators that insist on projections for subcontracts
(instead of working with val-first projections)
2014-05-17 16:06:14 -05:00
Matthew Flatt
a0485cb58c fix build for module name resolver cache change
The xform bootstrap sets `current-library-collections-path` without
changing the namespace, which is a bad idea that was exposed by
the module name resolved cache change (commit a7ad0e3a01).
2014-05-17 21:25:05 +01:00
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
67f215eec0 fix contract on disk
(bug found by random testing)
2014-05-16 22:43:56 -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
f7b754dd0b use real contracts for pin-over and pin-under 2014-05-16 17:13:15 -05:00
Asumu Takikawa
fce98517e6 Fix rest arg contract generation for case-> types
The generated contracts are still not ideal when more than
one case has a rest argument, since a later case in the
case-> contract may pass but case-> won't try all of them.
2014-05-16 14:59:43 -04:00
Asumu Takikawa
02d046daf1 Rackety in TR tests 2014-05-16 14:55:35 -04:00
Asumu Takikawa
5905fbd92a Add typed-untyped interaction test harness 2014-05-16 14:55:35 -04:00
Robby Findler
b4d6f0516d add table example 2014-05-15 22:39:19 -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
19e7b89886 add a contract to colorize 2014-05-15 22:30:22 -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
Eric Dobson
7da7eacbda Correctly use a pattern variable in tc-app-apply.
Closes PR 14508.
2014-05-14 22:39:20 -07: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
Asumu Takikawa
5fff7ce07e Fix GUI types and add missing types
Closes PR 14503
Closes PR 14507
2014-05-14 15:22:58 -04:00
Sam Tobin-Hochstadt
76fe6b6e97 Enable OS X testing on Travis. 2014-05-14 11:00:24 -04:00
Matthew Flatt
81d7d0df4a scribble docs: fix example for literal 2014-05-14 06:10:50 -06:00
Matthew Flatt
c9f13248e3 scribble/base: add #:style argument to image 2014-05-14 06:10:50 -06: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
Eric Dobson
62ff915a56 Make inst fail on results that are not single valued. 2014-05-13 22:59:36 -07:00
Eric Dobson
2533effb2f Make valuesdots subtyping not cause contract violations. 2014-05-13 22:59:35 -07:00
Eric Dobson
f3fa035751 Abstract over dotted type in values. 2014-05-13 22:59:35 -07:00
Eric Dobson
a687415d6b Make tc-lambda not internal error in poly dotted expected contexts. 2014-05-13 22:59:35 -07:00
Asumu Takikawa
9435a8f447 Fix type printing for simple latent filters
Don't print a simple filter for a function with more than
one argument or with a filter object that refers to an outer
variable.

This matches up with type parsing.

Closes PR 14510
2014-05-14 01:35:16 -04: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
Robby Findler
efefe300f5 fix doc header 2014-05-13 18:06:48 -05:00
Matthew Flatt
62f42339c1 ffi/unsafe: correct and improve docs on _cpointer 2014-05-13 16:27:11 -06: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