Commit Graph

1223 Commits

Author SHA1 Message Date
Asumu Takikawa
3ddde6a7e9 Equip parameter/c with separate in/out contracts 2013-01-23 14:45:59 -05:00
Sam Tobin-Hochstadt
40d2fd65b0 Add OrderedAnd patterns, and use them in ? patterns.
This guarantees that patterns like (? pred pat) will
always check `pred` before matching any of `pat`.
However, `and` patterns are not required to match left-
to-right.
2013-01-22 14:59:41 -05:00
Kevin Tew
c553ce9fa3 Added rmpi-make-remote-config 2013-01-20 20:35:35 -07:00
Sam Tobin-Hochstadt
230172cf94 Use syntax-procedure-alias-property with struct constructor procedures as well.
This uses a new `racket/private/procedure-alias` module
which provides the relevant symbol via `protect-out`.
2013-01-14 14:27:33 -05:00
Ryan Culpepper
1109e0f86d fix rounding in ~r, docs
Merge to 5.3.2.
2013-01-13 15:52:08 -05:00
Asumu Takikawa
2ac6615da9 Use correct parent for date* in makeexn
Please merge to 5.3.2
2013-01-11 21:22:20 -05:00
Robby Findler
84c0208d99 add check for number of result values in ->i (that signals blame)
closes PR 13417
2013-01-07 11:04:24 -06:00
Vincent St-Amour
18389532e7 Move define-inline to racket/performance-hint.
Move begin-encourage-inline to racket/private for dependencies.
2013-01-02 12:18:36 -05:00
Matthew Flatt
cdfc4912ad racket/base: add exn:fail:filesystem:errno and exn:fail:network:errno
Provide raw error codes when available, which is mostly from filesystem
and networking primitives.
2012-12-31 12:04:03 -07:00
Matthew Flatt
c162657685 racket/class: fix interaction of class/c' and send-generic' 2012-12-25 07:20:57 -06:00
Asumu Takikawa
3fc8ce0709 Refactor f3fa5d1669 2012-12-24 17:56:08 -05:00
Asumu Takikawa
f3fa5d1669 More precise syntax errors for let and friends 2012-12-24 16:50:58 -05:00
Matthew Flatt
0e2a917bda fix printinf of `(class->interface object%)' 2012-12-23 06:42:36 -07:00
Matthew Flatt
27a1121869 racket/draw: fix race in setting up pre-multiply tables for bitmap ops 2012-12-23 06:35:36 -07:00
Robby Findler
b112a7ef0a adjust object-name on classes and interfaces to drop the prefix
Before this commit, things like this:

  (define c% (class object% (super-new)))
  (object-name c%)

would produce

   'class:c%

but now classes and interfaces will be more like procedures and, in
the example above, just produce:

   'c%

The underlying goal is to make error messages generated from contracts
like

  (is-a?/c frame%)

have "(is-a?/c frame%)" in the message, instead of "(is-a?/c
class:frame%)"
2012-12-22 15:00:54 -06:00
Matthew Flatt
f4285e4e86 JPEG decoding: remove extra allocation 2012-12-22 09:43:20 -07:00
Matthew Flatt
1545ed42c8 racket/draw: fix problem with concurrent PNG read and write
Same memory-management mistake as for the JPEG binding.
2012-12-22 09:43:20 -07:00
Matthew Flatt
a09c8f1857 Revert "racket/draw: fix another problem with the JPEG binding"
This reverts commit c2468f1f9a.

The libjpeg documentation claims that it has no static state,
so atomic mode shouldn't be necessary. Also, the stress test is
still failing on some platforms, so there must be a different
problem than I thought.
2012-12-22 09:43:20 -07:00
Matthew Flatt
22d94193ed libjpeg, win64: fix `_size_t' 2012-12-22 09:43:20 -07:00
Matthew Flatt
c2468f1f9a racket/draw: fix another problem with the JPEG binding
JPEG reading and writing involve callbacks that need to be
atomic, since the stack-swapping games that a Racket thread
switch plays may not be ok with the JPEG library (as exposed
by the stress test). So, the JPEG reading and writing code
must read/write a string port, instead of directly from/to
the source/destination port, since a string port can be
used in atomic mode.
2012-12-20 06:21:24 -07:00
Matthew Flatt
35744a7632 racket/draw: switch bitmap% accounting to phantom bytes
Avoids doubling the actual amount of memory used for a bitmap.
2012-12-19 18:42:14 -07:00
Matthew Flatt
c5c5e6959d racket/draw: fix memory-management problems with JPEG binding 2012-12-19 11:07:48 -07:00
Matthew Flatt
d88e26d7a1 racket/date: fix 'iso-8601 formatting
Closes PR 13372
2012-12-18 06:39:59 -07:00
Kevin Tew
ae97ae0fcc Fix rmpi alltoall and remove eli-tester dependency 2012-12-17 19:00:45 -07:00
Matthew Flatt
148a1d4387 set-argb-pixels: lift tests for mode out of loop
This change by itself provides only a small performance improvement.
2012-12-17 05:45:40 -07:00
Michael Wilber
e6c1e73452 Speed up set-argb-pixels by using unsafe operations.
Presumably, values shouldn't ever wrap and the bytestring is already
assured to be long enough, so using safe operations isn't strictly
necessary. This dangerous improvement yields speedup factor of ~1.86.
2012-12-17 05:45:40 -07:00
Michael Wilber
6308f3011d Speed up set-argb-pixels by using local references to b&w? and alpha-channel?
In set-argb-pixels, the critical loop for each pixel tests the value
of a boolean that was defined at the top level of the class. Forcing
these to be local variables gives a speedup of 1.5.
2012-12-17 05:45:40 -07:00
Kevin Tew
ff9dcb62e8 Improved place/distributed error reporting 2012-12-16 16:47:09 -07:00
Kevin Tew
6d9740fcf1 Added rmpi-split-comm 2012-12-16 16:47:09 -07:00
Kevin Tew
e30fdf0db6 Fixed broadcast and reduce from nodes other that 0. Added gather and allgather 2012-12-16 16:47:09 -07:00
Kevin Tew
0876466a08 Fixed broadcast and reduce for non powers of 2. Added alltoall and alltoallv 2012-12-16 16:47:09 -07:00
Kevin Tew
b6a4a48474 [Distributed Places] uncomment tests 2012-12-16 16:47:09 -07:00
Matthew Flatt
dd5b999c64 fix `quasisyntax' to better preserve syntax properties
Closes PR 13357
2012-12-12 08:34:19 -07:00
J. Ian Johnson
a193cd9efb Peephole optimization for iterating over an empty set (no allocation). 2012-12-07 06:39:27 -06:00
Matthew Flatt
4721a79c8f define-logger: make (define-logger X)' define X-logger' 2012-12-07 06:36:31 -06:00
Vincent St-Amour
cc8bd4f294 Make srclocs serializable. 2012-12-06 17:53:04 -05:00
Matthew Flatt
bd1a63a43a racket/pretty: fix `print' mode for fxvectors and flvectors
Closes PR 13340
2012-12-03 22:44:21 -07:00
Ryan Culpepper
33f3574f7e fix lazy-require for local submod module-paths 2012-12-03 19:39:39 -05:00
Ryan Culpepper
3075b4d285 remove implicit quasiquote from lazy-require 2012-12-03 19:28:12 -05:00
Ryan Culpepper
fd7d8a412c move lazy-require to racket/lazy-require 2012-12-03 19:28:12 -05:00
Matthew Flatt
9e8477dd45 racket/serialize: serialize fxvectors and flvectors 2012-12-03 10:42:35 -07:00
Matthew Flatt
9cf821b301 disallow #fx()' and #fl()' notation in `read-syntax' mode
Allowing them would require support for immutable fxvectors and
flvectors, interning, and more. Since the motivation for reader
support is to make marshaling and unmarshaling easier, allow
them only in `read' mode. Change printing to make then unquotable.
2012-12-03 10:42:35 -07:00
Kevin Tew
492167c23f read and write support for fxvectors and flvectors 2012-12-03 10:42:35 -07:00
Matthew Flatt
7b3bb4a3ba make splicing-syntax-parameterize' work with begin-for-syntax'
More generally, a `splicing-syntax-parameterize' wrapping immediate
compile-time code effectively parameterizes the compile-time code as
well as any macro-triggered compile-time code. This is implemented by
using a compile-time parameter that complements each syntax binding.
2012-12-01 08:12:33 -07:00
J. Ian Johnson
889f159103 Singleton optimization for sequences that would allocate. 2012-11-29 06:54:06 -07:00
Jon Zeppieri
486e95049f change 'case' to use equal? 2012-11-26 17:58:04 -07:00
Matthew Flatt
7d6dc98e0e racket/draw: fix problems related to failed font fallbacks 2012-11-24 08:15:43 -07:00
Matthew Flatt
20bdbb6d9b racket/serialize: simpler handling of quotable values 2012-11-23 18:44:51 -07:00
Asumu Takikawa
f3a95ba9c7 List provides explicitly in draw contracts 2012-11-20 17:47:13 -05:00
Asumu Takikawa
7a190a41b4 Lazily init the cache for interface contracts.
This reduces the memory usage of very small classes.
It appears to have no real effect on large programs
such as DrRacket.
2012-11-20 17:47:13 -05:00