Commit Graph

38639 Commits

Author SHA1 Message Date
Matthew Flatt
486debd704 repair to recent JIT repair
Fix a jump-mode bug introduced with 3408209f66. The bug is most
visible on PPC.
2015-01-10 19:15:49 -07:00
Matthew Flatt
ece9126656 compiler/cm-accomplice: adjust protocol for extra options
Instead of introducing a subtype of `file-dependency` to imply one new
option, add a subtype that has an options table for easier
extensibility. (Thanks to Sam for pointing out that I shouldn't make
this mistake again.)
2015-01-09 11:31:35 -07:00
Matthew Flatt
805cd95049 repair for indrect dependencies
Fixes a problem with 95e85ec5bd that broke `raco setup -c`
2015-01-09 11:31:35 -07:00
Gustavo Massaccesi
d03e635ee4 Fix typo in doc of find-executable-path 2015-01-09 11:31:30 -07:00
Gustavo Massaccesi
fc57ba7996 Fix typo in doc of call-with-atomic-output-file 2015-01-09 08:55:58 -07:00
bdeket
1f46ea1846 convert find-user-pkgs-dir to a simple-form-path
find-relative-path expects a simple-form-path, but according to the documentation PLTUSERHOME as propagated by find-user-pkgs-dir must only be a complete-path?
Without this building of the documentation fails if PLTUSERHOME contains ".."
2015-01-09 08:55:52 -07:00
Matthew Flatt
f2a8c31d9f avoid ambigious else
even though another `else` currently resolves the ambiguity
2015-01-09 08:54:44 -07:00
Gustavo Massaccesi
7f61a68552 Ignore fuel in optimize_for_inline when it's used just to get a known procedure 2015-01-09 08:54:13 -07:00
Gustavo Massaccesi
1b3949c233 Add flags to application in finish_optimize_application3
(finish_optimize_application and finish_optimize_application2 already do this.)
2015-01-09 08:54:13 -07:00
Gustavo Massaccesi
feb8f10165 Mark error in expression when an arity mismatch is detected during optimization
This enables further reductions, for example (begin (car x x) z) => (car x x)
2015-01-09 08:54:13 -07:00
Gustavo Massaccesi
6d8ba1fd67 Mark errors in expression when a wrong type is detected during optimization
This enables further reductions,
for example (begin (car x) (unbox x) z)  => (begin (car x) (unbox x))
2015-01-09 08:54:13 -07:00
Matthew Flatt
34c2c2ebdd raco pkg: doc improvements for command-line tool 2015-01-09 07:51:43 -07:00
Matthew Flatt
95e85ec5bd add support for indirect CM dependencies; use in lazy-require
If module M in package P imports module N from package Q,
and if N has a `lazy-require` for a module in R that is
triggered during the compilation of M, then P doesn't really
depend on R; P depends on Q, and Q depends on R, and P
shoudn't necessarily know anything about Q. At the same time,
a change to the file in R means that M must be recompiled.
So, continue to track the compilation dependency, but mark
it as "indirect" so that the package-dependency checker can
ignore the dependency.
2015-01-08 09:59:37 -07:00
Matthew Flatt
fe9a04d1db doc tweaks for raco {setup,make} 2015-01-08 09:11:38 -07:00
Matthew Flatt
c56c9250f1 fix JIT-inlined make-rectangular combining single and double
The single must be coernced to a double in that case.
2015-01-07 14:44:02 -07:00
Matthew Flatt
f27d9e9df5 raco pkg: report inferences to user
Make `raco pkg` more verbose when it infers a package name from
`--clone`, which updating a package based on the current directory,
etc.
2015-01-07 14:44:01 -07:00
Sam Tobin-Hochstadt
820638f41d Allow ";" in contract error messages. 2015-01-07 15:10:13 -05:00
Matthew Flatt
7242d7ed38 raco pkg: fix for old-format catalog entries 2015-01-07 10:43:42 -07:00
Matthew Flatt
e82487429b fix bad case-lambda sharing that breaks let-depth tracking 2015-01-06 12:58:52 -07:00
Matthew Flatt
3408209f66 fix potential stack overflow with JIT-inlined apply
If the slow path has to be taken because the number of
list elements is greater than the stack size, then the
old implementation would copy all the arguments --- which
still might be too much for the available stack space.
Avoid that copy.

Also, add pad word to the end of the stack to help detect
overflow.
2015-01-06 12:58:52 -07:00
Sam Tobin-Hochstadt
fe132b0cb6 Install in installation mode to fix test. 2015-01-05 10:31:18 -05:00
Sam Tobin-Hochstadt
c12902b36e Try compiler tests with docker and NWU snapshot. 2015-01-05 09:15:39 -05:00
Robby Findler
2b07cc34f7 fix context for instanceof/c
also improve test suite to look for ellipses
(but not when using opt/c)
2015-01-04 15:10:58 -06:00
Robby Findler
2cd8e620d4 improve error message in certain tricky case when keywords are involved 2015-01-04 15:00:22 -06:00
Robby Findler
95dcee18c7 add a cons/dc generator
Not really sure about this one. The API kind of
forces my hand here and the way this works limits
the non-dep side of the dependent pair to always
be drawn from a fixed set. Not sure if that matters
in practice or not.
2015-01-03 19:25:25 -06:00
Robby Findler
e25575b16a improve contract random generation for null? and recursive-contract 2015-01-03 17:16:52 -06:00
Robby Findler
cd747e3fb1 fix docs for #:exercise argument
(adding the default value)
2015-01-03 17:16:51 -06:00
Matthew Flatt
e4af0cac26 compiler/zo-marshal: fix offsets in submodule search table 2015-01-03 09:58:08 -07:00
Matthew Flatt
9010eb5d19 expand docs on package dependencies and checking 2015-01-03 07:37:58 -07:00
Matthew Flatt
513cee5e20 makefile: add an as-is target
The `as-is` target is like the default target, but it skips package
update and installation, so it's suitable for rebuilding after local
changes that might include changes to the core.
2015-01-03 07:11:08 -07:00
Matthew Flatt
e2f1ede981 makefile: change the default target to imply raco pkg update -a
As a result of this change, `make` will access the network (unless an
alternative catalog is specified). A `make base` is always local,
though.
2015-01-02 21:13:55 -07:00
Matthew Flatt
c5d09957ba ffi/unsafe/nsstring docs: fix C type description
The `_NSString` type corresponds to a reference, which is
an `NSString*`.
2015-01-02 18:44:05 -07:00
Matthew Flatt
daf9415a98 ffi/unsafe: fix tauint handling in define-fun-syntax 2015-01-02 18:16:34 -07:00
Robby Findler
44073e31b4 add missing neg-party
closes PR 14915
2015-01-01 09:56:00 -06:00
Gustavo Massaccesi
4272f1b18e Check more disjoint types 2014-12-29 07:26:15 -07:00
Gustavo Massaccesi
25013320be Fix is_arity_list 2014-12-29 07:26:15 -07:00
Gustavo Massaccesi
17665d33a2 Remove dead code after errors
For example, reduce (begin x (error 'e) y) ==> (begin x (error 'e)) and
(f (error 'e) y ) ==> (begin f (error 'e)).

Also, reduce (if (error 'e) x y) ==> (error 'e) and propagate the type information
and clocks when only one branch produce an error.
2014-12-29 07:24:22 -07:00
Gustavo Massaccesi
92615049aa Fix make_discarding_first_sequence
Ensure that the first expression is single valued.
2014-12-29 07:24:09 -07:00
Matthew Flatt
8056c79699 remove bogus path in FFI example 2014-12-29 07:24:04 -07:00
Robby Findler
94a450999a add stronger and random generation for integer-in 2014-12-25 22:07:05 -06:00
Robby Findler
3372ba3547 fix test after improvement in d5bb6030 2014-12-23 17:57:08 -06:00
Robby Findler
fd99e57020 fix spacing bug in contract error messages 2014-12-23 16:37:55 -06:00
Robby Findler
1f7565fe47 fix bug and tweak length 2014-12-23 13:45:22 -06:00
Robby Findler
d5bb6030ec tweak the way ellipses are inserted into
contract names to avoid bottoming out with
an ellpisis when the ellipsis is replacing
a simple thing
2014-12-23 13:15:37 -06:00
Robby Findler
94d80f0171 add #:pre/desc and #:post/desc to ->i 2014-12-22 22:31:17 -06:00
Robby Findler
9d58a067e3 add #:pre/desc to ->* 2014-12-22 14:53:25 -06:00
Robby Findler
3d48ef78f6 attempt to more closely follow the Reference's
"Error Message Conventions" in the contract error messages
2014-12-22 13:26:20 -06:00
Robby Findler
aabe9d7bad added dynamic->* 2014-12-20 22:48:26 -06:00
Sam Tobin-Hochstadt
c8c5d3b43a Remove this drdr config file, which now lives in DrDr. 2014-12-20 20:06:03 -05:00
Matthew Flatt
7b8707e576 raco pkg: adjust staging of Git clone installs and updates
If the clone directory's checkout includes a target commit, then
use the clone directory directly for staging (i.e., for checking
dependencies and collisions). That way, changes made locally are
used for metadata checks.
2014-12-20 12:25:58 -07:00