Commit Graph

37761 Commits

Author SHA1 Message Date
Matthew Flatt
768b93be82 improve GC handling of out-of-memory
There's a point in attempting to allocate a new large page
where it makes sense to GC and try again.
2014-08-29 10:12:27 -06:00
Vincent St-Amour
9a7663ac73 Remove out of date OC docs and replace with pointer to the OC package. 2014-08-28 10:42:20 -04:00
Vincent St-Amour
a1f5340c91 Fix links on RacketCon web page.
Pointed out by J_Arcane on IRC.
2014-08-27 15:26:17 -04:00
Matthew Flatt
edf140a440 make server: snapshot source catalog, set local cache 2014-08-26 14:41:13 -06:00
Matthew Flatt
5fd46a4d9a distro-build: fix catalog URL handling 2014-08-26 12:24:22 -06:00
Matthew Flatt
b00638c52d ffi/unsafe: changed the way ffi-lib uses a version number with ".dll"
Add the version with a "-" before ".dll", instead of with a "."
after ".dll".
2014-08-26 09:18:43 -06:00
Gustavo Massaccesi
35eb65628e optimizer: use the equal? => eq? transformation to the optimizer phase
For some types, (equal? x y) is transformed into (eq? x y) in the resolve phase.
This commit adds this transformation to the optimizer phase. This improves
constant folding and enable some optimizations that are prevented
because equal? can run arbitrary code.

Also, transform   (eq? #f x) => (not x)   and   (eq? '() x) => (null? x)   to use
the type information of x when it's known.
2014-08-26 09:18:43 -06:00
Vincent St-Amour
af3ea12227 Link talks in schedule with their description. 2014-08-26 10:59:17 -04:00
Sam Tobin-Hochstadt
2825ba142b Treat fully-annotated plain define as an annotated defintion.
Fixes most of PR 14702.
2014-08-26 09:39:55 -04:00
Matthew Flatt
3943826b70 raco setup: fix ".dylib" references on install
If a Mach-O file installed with `{copy,move}-foreign-libs` has a
"@loader_path/" reference to a library that is installed in a
different target directory (normally because it's from a package that
is installed in a different scope), then change "@loader_path/" to an
absolute-path reference to that target.
2014-08-25 17:16:01 -06:00
Vincent St-Amour
986b5c39cd RacketCon schedule. 2014-08-25 18:15:06 -04:00
Matthew Flatt
32ae3f8308 racket/gui: change placement of children in panel% and pane%
The `panel%` and `pane%` classes were not originally intended for
direct instantiation; instead, `horizontal-pane[l]%` and
`vertical-pane[l]%` provide basic placements that make sense for
multiple children. Adjusting `pane[l]%` to just overlay all children
seems both sensible and useful (if only one child is shown at a time,
for example).

As suggested by David Nelson.
2014-08-24 07:29:55 -06:00
Gustavo Massaccesi
fdf1a1f7ae optimizer: Remove unused flag added in d14b4a8 2014-08-24 07:29:55 -06:00
Robby Findler
a6ca926aad add an optional argument example to ->i docs 2014-08-24 02:14:13 -05:00
Matthew Flatt
769c5b6edd optimizer: another ((begin ... proc) x) to (begin ... (proc x))
The tranformation this time applies before optimization of the rator
and complements Gustavo's variant, which applies after optimization of
the rator.
2014-08-23 09:13:49 -06:00
Gustavo Massaccesi
d14b4a8095 optimizer: transform ((begin ... proc) x) to (begin ... (proc x))
Currently the optimizer can convert ((let (...) ... proc) x) to
(let (...) ... (proc x)). This is useful especially if proc can be
inlined. Extend this to begin's forms.
2014-08-23 08:59:39 -06:00
Matthew Flatt
63e940d147 scribble/srcdoc: add form-doc 2014-08-22 13:25:35 -06:00
Vincent St-Amour
8de77f596f Allow type annotations after for clauses in the for macros.
Cf. GH issue #751.
2014-08-21 16:55:32 -04:00
Vincent St-Amour
2a4c1a7d18 RacketCon talks update. 2014-08-21 16:55:24 -04:00
Gustavo Massaccesi
1f2f7a1df4 optimizer: more optimizations for unary operations
Previously, the optimizer simplified the application of some unary functions inside let,
for example (car (let () ... (cons 1 2)) => (let () ... 1). This commit extends this to begin forms,
like (car (begin ... (cons 1 2)) => (begin ... 1).

Also, constant folding and some reductions were only availed in the direct case, for example
(procedure? car) => #t. With this commit these reductions are extended to the expressions
inside let and begin, for example (procedure? (let () (begin ... car))) => (let () (begin ... #t).
2014-08-21 09:37:10 -06:00
Matthew Flatt
ee799eff48 Mac OS X PPC: fix dylib paths
Relevant to PR 14694
2014-08-21 09:13:57 -06:00
Robby Findler
fefa1c520a update dns tests based on change at nwu
original commit: ad8b487712
2014-08-21 08:51:26 -05:00
Robby Findler
ad8b487712 update dns tests based on change at nwu 2014-08-21 08:51:26 -05:00
Robby Findler
2d63f11949 add slide-pict/center 2014-08-20 22:25:50 -05:00
Spencer Florence
dc4398235a Slight change to how drracket handles lexer/colorers, and doc changes to color:text<%> 2014-08-20 22:25:50 -05:00
Tobias Hammer
e637d78a09 fix cross compile on QNX
got broken in 2e284cc783
The racket version of libunwind is not compatible with QNX but old-style stacktraces are still working with the default gcc version
2014-08-20 16:47:20 -06:00
Jay McCarthy
60ab149edf Update PLT sites 2014-08-20 13:45:06 -04:00
Matthias Felleisen
746a346d3d factored out a common pattern in tests 2014-08-19 09:03:19 -04:00
Matthias Felleisen
542860fc5c run test in its own eventspace to adjust for change in running worlds and universes 2014-08-19 09:03:19 -04:00
Matthias Felleisen
5a8479b998 separated automatic from manual test so that drdr can run the former 2014-08-19 09:03:19 -04:00
Matthias Felleisen
ef535cf476 fix resource administration in run and launch-many-worlds
the goal is to enable the creation from executables from world and universe programs
2014-08-19 09:03:19 -04:00
Matthias Felleisen
9696095ada fix bug in error reporting 2014-08-19 09:03:19 -04:00
Matthias Felleisen
0b35ec71a8 fix name of function in string-whitespace and remove spurious displayln; Closes PR14679 2014-08-19 09:03:19 -04:00
Sam Tobin-Hochstadt
51254f0626 Fix URL query parsing in Firefox.
Closes bug 14686.
2014-08-18 13:52:06 -04:00
Kat Lyons
7ed93e6fba Add net/http-client to Typed Racket 2014-08-15 11:19:48 -04:00
AlexKnauth
0b045ba77b Add syntax-local-match-introduce 2014-08-15 11:19:48 -04:00
Phil Nguyen
77ae11e248 fix tiny typo in documentation for framework/test 2014-08-15 11:19:48 -04:00
Jens Axel Søgaard
9a4f6b1a19 Fix **racketmodname.
The case where (car a) is a string wasn't handled correctly. The error was provoked by sicp-manual.scrbl.
2014-08-15 11:19:48 -04:00
Matthew Flatt
ccc9edfbc9 package-system docs: add FAQ entry on installing without documentation
The entry is mostly about the new `--binary-lib` option, but it
also describes the "-lib", "-doc", etc., convention.
2014-08-15 16:11:29 +01:00
Matthew Flatt
b2b00010e3 annotate and check packages for build and binary modes
If "p" is available as a source package, which is typical, then `raco
pkg install --binary p` would strip away the build dependencies of "p",
so that "p" would not install properly.

This commit changes `raco pkg install` to look for an annotation on
the package and complain if the annotation is inconsistent with the
requested conversion: a binary package cannot be used as a source
package or vice versa. (A built package, as provided by a snapshot
site, can be used as any kind of package.)
2014-08-15 15:41:27 +01:00
Matthew Flatt
05523a0b42 raco pkg: add --binary-lib package stripping to remove docs
The `--binary-lib` mode is like `--binary`, but it also omits
documentation to form a "binary library package".

The `--binary-lib` flag and "X-lib" vs. "X-doc" approaches solve the
same problem with different trade-offs:

 * When a package is split into "-lib" and "-doc" packages, then it's
   easier install non-documentation parts, and it's possible to
   install them from source. A programmer has to work more to split
   the packages, however, and the library and its implementation must
   have separate sources (i.e., no or restricted in-source
   documentation).

 * When a package is just "X", then users can install a no-source,
   no-documentation version by specifying `--binary-lib`, but only
   when the package is available from some catalog and provider in
   built form (such as from a distribution site or a package-build
   service).

In the long run, I think that relying on `--binary-lib will be best
and typical for most packages. The "X-lib" plus "X-doc" approach
that's common in the current distribution's packages, meanwhile, will
likely stick around for basic packages that are commonly useful in
constrained settings (including the setting of a package-build
service).
2014-08-15 10:33:20 +01:00
Matthew Flatt
53290089b5 fix doc typo 2014-08-15 09:29:07 +01:00
Matthew Flatt
7b7e158b5a add update-implies to package "info.rkt"s
original commit: eb9cbe20bf
2014-08-14 16:49:53 +01:00
Matthew Flatt
8f1553919f add update-implies to package "info.rkt"s
original commit: eb9cbe20bf
2014-08-14 16:49:53 +01:00
Matthew Flatt
eb9cbe20bf add update-implies to package "info.rkt"s 2014-08-14 16:49:53 +01:00
Matthew Flatt
ed66ff4ecc pkg metadata: add update-implies
The `update-implies` declaration is half of `implies` (even though the
name is bigger): update of the package implies an update of another,
but a dependency on the package is no license to access the content
of the other.

This declaration is intended as an alternative to keeping version and
dependency declarations in sync for a pair of packages that are always
updated together, normally because the packages are in the same
repository. For example, a "-test" or "-doc" package might have an
`update-implies` declartion on the corresponding "-lib" package.
2014-08-14 16:49:52 +01:00
Matthew Flatt
d178b23c00 remove accidentally added files 2014-08-14 16:49:52 +01:00
Matthew Flatt
39eae2e647 racket/gui: fix problems with canvas autoscroll 2014-08-14 15:58:54 +01:00
Matthew Flatt
c61a4714e8 doc clarifications and typo in command-line help 2014-08-14 14:00:01 +01:00
Matthew Flatt
906ba45c6c reegxp-match: fix problem with lazy string decoding and output port
Closes PR 14684
2014-08-13 13:28:51 +01:00