Commit Graph

28303 Commits

Author SHA1 Message Date
Matthew Flatt
0c91930965 mingw32: make no-futures, no-places build work 2012-12-21 11:43:42 -07:00
Neil Toronto
8d5a069d41 Moar `math/matrix' review/refactoring
* Split "matrix-constructors.rkt" into three parts:
 * "matrix-constructors.rkt"
 * "matrix-conversion.rkt"
 * "matrix-syntax.rkt"

* Made `matrix-map' automatically inline (it's dirt simple)

* Renamed a few things, changed some type signatures

* Fixed error in `matrix-dot' caught by testing (it was broadcasting)

* Rewrote matrix comprehensions in terms of array comprehensions

* Removed `in-column' and `in-row' (can use `in-array', `matrix-col' and
  `matrix-row')

* Tons of new rackunit tests: only "matrix-2d.rkt" and
  "matrix-operations.rkt" are left (though the latter is large)
2012-12-20 17:32:16 -07:00
Neil Toronto
155ec7dc41 Reviewing and refactoring `math/matrix', part 1
* Finally added `array-axis-expand' as a dual for `array-axis-reduce'
  in order to implement `vandermonde-matrix' elegantly

* Better, shorter matrix multiply; reworked all matrix arithmetic

* Split "matrix-operations.rkt" into at least 5 parts:
 * "matrix-operations.rkt"
 * "matrix-basic.rkt"
 * "matrix-comprehension.rkt"
 * "matrix-sequences.rkt"
 * "matrix-column.rkt"

Added "matrix-constructors.rkt"

Added `matrix', `row-matrix', and `col-matrix' macros

A lot of other little changes

Currently, `in-row' and `in-column' are broken. I intend to implement
them in a way that makes them work in untyped and Typed Racket.
2012-12-20 17:32:16 -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
1fc222f135 fix declaration mismatch for GC function 2012-12-20 05:43:59 -07:00
Eli Barzilay
c445a602a1 New Racket version 5.3.1.10. 2012-12-20 03:30:12 -05:00
J.C. Whittier
1bcb984266 reduce dependencies of `games/ginrummy/ginrummy' 2012-12-19 19:46:47 -07:00
J.C. Whittier
1f3b9d39b6 fix some status messages in the Rummy game
Changes set-status-text to set-status so that status messages are displayed to user.
Also, changed lang to `racket/gui' from `mzscheme'.
2012-12-19 19:45:59 -07:00
Greg Hendershott
faeba879e2 Fix bug with pound signs used to mark sections.
Also update tests/scribble/markdown-docs files accordingly.
2012-12-19 19:32:00 -07:00
Greg Hendershott
a3800cdc94 Render Scribble margin-note as Markdown block-quote.
More precisely, do this for nested flows with the "refcontent" style.

For instance this Scribble:

    @margin-note{Note: This is a note. Let's make it long enough that the
    markdown output will have to line-wrap, to make sure the > mark starts
    each line properly.}

Will render as this Markdown:

    > Note: This is a note. Let's make it long enough that the markdown output
    > will have to line-wrap, to make sure the > mark starts each line
    > properly.

A site like GitHub.com will render this in a block-quote style
suitable for notes:

> Note: This is a note. Let's make it long enough that the markdown output
> will have to line-wrap, to make sure the > mark starts each line
> properly.
2012-12-19 19:31:15 -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
aa08a68424 add phantom byte strings
A phantom byte string is a small object that the memory
manager treats as an arbitrary-sized object, where the
size is specified when the phantom byte string is created
or or when size is changed via `set-phantom-bytes!'.
2012-12-19 18:42:14 -07:00
Vincent St-Amour
67af968a73 Add failing test case for instantiation and special typing rules. 2012-12-19 13:45:49 -05:00
Asumu Takikawa
acda049f7d Add define: form variant for polymorphic non-function values 2012-12-19 13:08:41 -05:00
Matthew Flatt
c5c5e6959d racket/draw: fix memory-management problems with JPEG binding 2012-12-19 11:07:48 -07:00
John Clements
d54f51ab79 added 1e-10 floor to prevent div-by-zero 2012-12-19 09:42:37 -08:00
Robby Findler
938959611e rework online compilation's internals
Things should now generally be set up to work better --
for example online check syntax is smarter now about
what happens when switching tabs/frames and this also
makes it easier to add new ways for a window to become
dirty (that is, for it to be known that it needs to
be recompiled)
2012-12-19 10:50:01 -06:00
Robby Findler
e19243329c adjust drracket to track an lru order on tabs and use it
when closing one to pick the next one to show

added the touched and get-last-touched methods to tab<%>
2012-12-19 10:50:01 -06:00
Matthew Flatt
4fc71951ee change subprocess handling to avoid waitpid(0, ...)
Keep track of whether any Racket-managed subprocesses are pending,
and use waitpid(0, ...) only if there is one, to better cooperate
with an embedding environment.

Also, add a chapter to the "Inside" manual to explain the issues.
2012-12-19 08:54:32 -07:00
Matthew Flatt
dc3f142f31 planet2: log errors that are otherwise ignored
For example, log an error for an ill-formed "info.rkt".
2012-12-18 08:05:33 -07:00
Matthew Flatt
d88e26d7a1 racket/date: fix 'iso-8601 formatting
Closes PR 13372
2012-12-18 06:39:59 -07:00
Matthew Flatt
0f909af765 ffi/com: add `com-get-property*'
Accesses a "parameterized property", which is like a method call
but for a name that is categorized as a property.
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
Neil Toronto
2657d8f96b Plots whose functions raise errors now have an empty spot instead of
failing
2012-12-17 16:59:30 -07:00
Jay McCarthy
d120286f89 More informative HTTP reading error message 2012-12-17 16:28:46 -07:00
Jay McCarthy
921456f3ad Fixing PR13374 2012-12-17 16:28:46 -07:00
Jay McCarthy
1b41456c7f Adding a test case for post bindings and improving error message 2012-12-17 16:28:46 -07:00
Neil Toronto
44d8ebb2c6 Enabled optional non-keyword arguments in `plot/typed' 2012-12-17 16:15:20 -07:00
Neil Toronto
e06ba39b0c Added note about `plot/typed/utils' 2012-12-17 15:54:30 -07:00
Neil Toronto
b8efd58aca Array changes in response to user feedback (and my personal neuroses)
* `list->array' now accepts an optional shape argument, and always returns
  an immutable array

* `vector->array' now accepts an optional shape argument, and always
  returns a mutable array

* Removed `make-mutable-array' because `vector->array' does its job now (I
  never liked the name anyway)

* Renamed `unsafe-mutable-array' to `unsafe-vector->array'

* Added optional type annotation to `array' macro to match `mutable-array'

* Reworded error messages in array broadcasting functions

* Made minor array doc fixes
2012-12-17 15:54:29 -07:00
Vincent St-Amour
8c66be33e7 Fix contract generation for functions with optionals and keyword arguments.
Closes PR13354.
2012-12-17 13:57:32 -05:00
Vincent St-Amour
b715a6fed5 Add define-inline.
Drop-in replacement for define that guarantees inlining.
2012-12-17 13:57:31 -05:00
Vincent St-Amour
ec673fd58d Allow #:unless' in for:'.
Also allow `#:break' and `#:final' in all the `for:' macros.

Unfortunately, the expansion of `#:break' and `#:final' cannot be
typechecked at the moment.
2012-12-17 13:57:31 -05:00
Neil Toronto
009293885b Renamed typed/plot' to plot/typed' 2012-12-17 11:52:24 -07:00
Neil Toronto
60dd8d065f Fixes for errors Pierpaolo Bernardi found by reviewing the docs; also,
renamed `partition-count' to `partitions' to be consistent with
`permutations', and gave better examples in `multinomial' docs

 * (flulp-error +inf.0 +nan.0) was returning +nan.0 instead of +inf.0

 * Type of `multinomial' didn't match its docs or `flmultinomial'

 * Reworded docs for `diagonal-array'

 * Reworked/reordered quite a few things in docs for `math/bigfloat'

 * Fixed first identity given in `gamma-inc' docs

 * Fixed descrption for `+max.0', etc.
2012-12-17 11:40:37 -07:00
Matthew Flatt
130c989888 scribble: encode URLs in 'unreserved mode 2012-12-17 07:09:27 -07:00
Matthew Flatt
b8b8260379 net/url: add `current-url-encode-mode'
Changing `current-url-encode-mode' from 'recommended to 'unreserved
causes `url->string' to encode !, *, ', (, and ) using %, which
can avoid confusing some parsers.

See also https://github.com/plt/racket/pull/198
2012-12-17 06:56:38 -07:00
Matthew Flatt
3d1f1289ef net/uri-codec: added `uri-path-segment-unreserved-encode' 2012-12-17 06:32:59 -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
Chen Xiao
a04ae51f64 A tiny bug in documents of ftp 2012-12-17 05:45:40 -07:00
Ryan Culpepper
a2ae813739 replace db's sql-bits with data/bit-vector 2012-12-16 22:39:02 -05:00
Ryan Culpepper
a565f9eca9 changed bit-vector rep to bytes, made serializable
Also removed unused word-size field.
2012-12-16 22:29:43 -05:00
Ryan Culpepper
714eba684a fix docs for raise-range-error 2012-12-16 22:29:43 -05:00
Ryan Culpepper
810d07d8d5 added bit-vector <-> {string,list} operations 2012-12-16 22:29:43 -05:00
Ryan Culpepper
e4da3edeec fix popcount bug in bit-vector 2012-12-16 22:29:43 -05:00
Ryan Culpepper
28f1d4ff5d make argument order of heap-sort consistent with sort
Old order is also accepted for backwards compatibility.
2012-12-16 22:29:43 -05:00
Ryan Culpepper
462132515c added gvector->list
closes PR 13370
2012-12-16 22:14:46 -05:00
Ryan Culpepper
dfc33f851f add thread-unsafe warnings to data docs
closes PR 13367, closes PR 13369
2012-12-16 22:14:46 -05:00