Commit Graph

24309 Commits

Author SHA1 Message Date
Robby Findler
aa5f2e7875 adjust the framework to avoid
calling the error-display-handler when reporting
problems saving files

closes PR 13403
2013-01-03 20:47:19 -06:00
Robby Findler
94b54db118 clean up autosave a little
guard more of the filesystem manipulations with
handlers and log errors instead of letting them
be raised and show up as internal errors

related to PR 13403
2013-01-03 20:47:17 -06:00
Jens Axel Søgaard
69d7cb2e82 More matrix documentation 2013-01-03 18:03:28 +01:00
Robby Findler
12a288f135 add a checkbox to disable online expansion in the preferences dialog
(it controls the same state as clicking in the circle in
the bottom right corner of the drracket window)
2013-01-03 11:00:23 -06:00
Matthew Flatt
42c77d6290 planet2 docs: move and tweak expanation of package-library `require' 2013-01-03 07:34:33 -07:00
Matthew Flatt
e98c308e66 bundle script: fixes for "README" munging 2013-01-03 07:04:29 -07:00
Asumu Takikawa
3885ea7cdd Fix doc typos 2013-01-03 02:27:30 -05:00
Matthias Felleisen
1b07cb4ff9 fixed a @file-is mistake, race? 2013-01-02 18:32:35 -05:00
John Clements
5a4098ffec added docs on requiring planet2 modules 2013-01-02 14:23:42 -08:00
Vincent St-Amour
81cccb4c8f Fix fixnum comparisons to prove more bounds. 2013-01-02 16:55:28 -05:00
Jens Axel Søgaard
9465bc0196 Documentation for inner product space operations 2013-01-02 22:44:39 +01:00
Neil Toronto
cfa9bd9a81 Exported `matrix-basis-cos-angle' with a contractable type 2013-01-02 13:20:42 -07:00
Jens Axel Søgaard
69406bf156 Documentation on basic matrix operations and matrix-qr. 2013-01-02 19:28:05 +01: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
Jens Axel Søgaard
715b0a7be7 Documentation for polymorphic matrix functions 2013-01-02 18:02:03 +01:00
Robby Findler
ad579d07d6 put the racket version number in the title bar for the splash screen 2013-01-02 10:19:38 -06:00
Matthew Flatt
43e01d7f4e rename test file
":" is not allowed in a file name on Windows.
2013-01-02 06:33:10 -07:00
Robby Findler
836ce95343 added section on alpha blending to 2htdp/image guide 2013-01-01 23:13:13 -06:00
Robby Findler
0d0503bda7 adjust sync pattern to avoid cross-thread set! 2013-01-01 23:13:13 -06:00
Robby Findler
0f26aafd1f Adjust DrRacket to not use on-demand to populate the
teachpack menu.

Instead DrRacket explicitly changes the menu items when
the language changes or when a teachpack is added/removed

Also, Rackety.

Closes PR 13395
2013-01-01 23:13:00 -06:00
Neil Toronto
e5eb9751f0 Initial `math/matrix' documentation, and some changes
* At least stubbed out all (or almost all) `math/matrix' exports; many
  have complete documentation (e.g. types, predicates, accessors,
  constructors, for loops, conversion, much of "Comparing Matrices")

* Moved `matrix-zero?' and fixed to use (matrix-error-norm) as its norm

* Added `matrix-basis-cos-angle' (currently a stub; should return smallest
  singular value of a certain matrix multiplication)
2013-01-01 18:19:43 -07:00
Neil Toronto
5981535686 Made Gaussian elimination faster (half the scaled additions) and more
accurate (always produces zeros in the lower half)
2013-01-01 18:19:43 -07:00
Matthew Flatt
3c5135fc7a `expt' repair, again
Previous repair wasn't general enough; negative powers can also
go wrong.
2013-01-01 18:05:37 -07:00
Vincent St-Amour
678451f8c4 Fix tests. 2013-01-01 18:14:52 -05:00
Vincent St-Amour
4137eb9e73 Make let: annotations optional. 2013-01-01 18:14:52 -05:00
Matthew Flatt
1f8370d2d6 revise README and "Getting Started" info
Addresses PR 13356
2013-01-01 15:55:44 -07:00
Matthew Flatt
b67ca6350c fix doc typo
Closes PR 13353
2013-01-01 15:55:44 -07:00
Matthew Flatt
55f98a15d4 racket/gui gtk: make `on-demand' for menus work better
There appears to be no way to make `on-demand' work right for the
Unity window manager's global menu bar, since there's no notificiation
when the menu bar is clicked. We approximate the correct behavior
by calling `on-demand' when a containing frame loses the keyboard
focus, which might be because the menu bar was clicked; that may be
too late (because the menu has already been shown), but it should
work most of the time.

Closes PR 13347.

Relevant to PR 13395, but DrRacket will have to change to work
around the remaining limitations of `on-demand'.
2013-01-01 15:55:36 -07:00
Robby Findler
0e763f5b01 check the result of find-ls in the one place it wasn't being checked
probably closes 13404
2013-01-01 15:01:13 -06:00
Matthew Flatt
07d5a9e385 fix `expt' on small negative number and large positive odd
The pow() function apparently gets it wrong on some platforms.

Closes PR 13391
2013-01-01 12:33:59 -07:00
Robby Findler
974350472c whoops, fix a bug introduced in 0f9674e1dd 2013-01-01 13:12:34 -06:00
Neil Toronto
c29c4056a1 Added back partial pivoting to Gaussian elimination 2013-01-01 12:12:07 -07:00
Robby Findler
0f9674e1dd adjust drracket window size and position preferences to use a different key
This will make switching back and forth between 5.1.3 and the latest
not lose the frame size and position preferences (since the format
of the data is different now that the current release remembers
the position on a per-monitor-configuration basis)
2013-01-01 11:26:05 -06:00
Robby Findler
0f64a0ae0d fix handin server error on bad password 2013-01-01 10:58:11 -06:00
Danny Yoo
c70f7d2ed2 Disambiguate sentence on custodian shutdown.
See:
http://lists.racket-lang.org/dev/archive/2012-December/011373.html

Motivated by Sgeo's question in:
http://racket-lang.org/irc-logs/20121229.txt at 22:10.
2013-01-01 00:48:50 -08:00
Matthew Flatt
8e8cc301e4 fix dist spec 2012-12-31 17:29:45 -07:00
Neil Toronto
c8e3b45e38 Added QR decomposition tests (mostly a pretty thorough randomized test);
fixed error in `matrix-cols-orthogonal?' revealed by testing
2012-12-31 15:20:25 -07:00
Neil Toronto
f5fa93572d Moar `math/matrix' review/refactoring
* Gram-Schmidt using vector type

* QR decomposition

* Operator 1-norm and maximum norm; stub for 2-norm and angle between
  subspaces (`matrix-basis-angle')

* `matrix-absolute-error' and `matrix-relative-error'; also predicates
  based on them, such as `matrix-identity?'

* Lots of shuffling code about

* Types that can have contracts, and an exhaustive test to make sure
  every value exported by `math/matrix' has a contract when used in
  untyped code

* Some more tests (still needs some)
2012-12-31 14:17:17 -07:00
Neil Toronto
e06f31c94e More precise return type for `magnitude' (it always returns nonnegative) 2012-12-31 14:17:17 -07: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
Robby Findler
a948f1b40d fix commit c818eb3ca3
related to PR 13394
2012-12-31 11:52:36 -06:00
Robby Findler
2a83c2147c add some color to the image guide's fractals
and use local instead of internal define to
be more HtDP friendly
2012-12-31 11:42:33 -06:00
Robby Findler
8f300b9e73 add rotary dial to the image guide 2012-12-31 10:29:28 -06:00
Sam Tobin-Hochstadt
0d01db8543 Fix type of log-message. 2012-12-30 22:14:44 -05:00
Robby Findler
9b6272674e tweak the latex rendering of ╔ and company 2012-12-30 21:11:38 -06:00
Matthew Flatt
8b7379a7ad docs: clarification for `immutable?' 2012-12-30 20:30:20 -06:00
Matthias Felleisen
ede0e3c625 at JPR's request: modified memq to return boolean and added memq? to teaching languages
the symmetry to member/member? suggested he is correct
2012-12-30 14:38:32 -05:00
Asumu Takikawa
4041e3c841 Fix sandbox doc example 2012-12-30 01:55:44 -05:00
Robby Findler
c818eb3ca3 Fix the new lexer interaction when some of the lexer states were
finished, but not all. Don't re-do them the next time around

closes PR 13394
2012-12-29 23:56:38 -06:00
Robby Findler
022e252f45 add support for ╔ ═ ╗ ║ ╚ and ╝ to the latex renderer
Also, Rackety
2012-12-29 11:31:17 -06:00
Mike Sperber
99301c15ff Synch German string constants with latest. 2012-12-29 15:16:30 +01:00
Matthew Flatt
0a708b040a setup/link: fix collection-root results for version regexps 2012-12-28 11:57:34 -07:00
Matthew Flatt
480ae5e262 doc repair 2012-12-28 12:53:48 -06:00
Robby Findler
7b9879c0e6 some edits to nitty-gritty section and fix up the koch curve names
(and actually draw the snowflake)
2012-12-28 10:53:10 -06:00
Matthias Felleisen
e212c1c279 a few more definitions to avoid re-typing for BSLers 2012-12-28 10:47:36 -05:00
Matthias Felleisen
dc7df5b9f1 choose decent variable names, until Robby says 'use new evaluator' 2012-12-28 10:40:35 -05:00
Matthias Felleisen
c2c2a1b485 make first interaction more BSL-ish, take 2 2012-12-28 10:01:23 -05:00
Matthias Felleisen
7a6054e2ba make first interaction more BSL-ish 2012-12-28 10:00:21 -05:00
Robby Findler
6ff9910874 add a little bit to the image guide 2012-12-28 08:54:35 -06:00
Robby Findler
5f838f8ff5 add more agressive notes with pointers to the nitty gritty section 2012-12-28 08:54:35 -06:00
Neil Toronto
7ac8e1bbce Slightly more `math/matrix'
* Moved to-do list in "matrix-operations.rkt" to the wiki

* Added more mutating vector ops

* Added "matrix-basis.rkt" (unfinished)
2012-12-27 17:30:04 -07:00
Neil Toronto
e55a31480e Precise flonum tests (error usually must be <= 0.5 ulp), and prerequisite
additions/changes

* More accurate `flulp-error'

* Added `flonum->fields', `fields->flonum', `flonum->sig+exp',
  `sig+exp->flonum' (currently undocumented)

* Correctly rounded, robust `bigfloat->fl2' and `fl2'

* Correctly rounded, robust `fl+/error', `fl-/error', `fl*/error',
  `flsqr/error', `fl//error'

* Much faster but slightly less accurate fl2 ops (shamelessly stolen from
  crlibm, which is LGPL)

* Added `fl2ulp', `fl2ulp-error', `fl2?' (which detects overlap),
  `+max-fl2-subnormal.0' (which was tricky), `fl2abs'

* Added deterministic and randomized flonum op tests (against MPFR)

* Added deterministic and randomized flonum/error op tests (against MPFR)

* Added deterministic and randomized fl2 op tests (against MPFR)

* Exposed FPU tests in `math/utils' (currently undocumented)
2012-12-27 17:30:04 -07:00
Neil Toronto
fc02d40a66 Faster LU decomposition 2012-12-27 17:30:03 -07:00
Matthias Felleisen
01bb5c400a added a potentially useful macro 2012-12-27 19:01:34 -05:00
Matthias Felleisen
6243a928fb space management for figures 2012-12-27 19:01:34 -05:00
Matthias Felleisen
4833f9d839 added a function for parsing contest files more easily, fix doc typo 2012-12-27 19:01:34 -05:00
Matthias Felleisen
602a5a38f3 added a function for parsing contest files more easily, plus data 2012-12-27 19:01:34 -05:00
Matthias Felleisen
cdcbdfaf8c added a function for parsing contest files more easily 2012-12-27 19:01:33 -05:00
Matthias Felleisen
a15ae19d46 warn programmers that the key event specification is incomplete; Closes PR13168 2012-12-27 19:01:33 -05:00
Matthias Felleisen
1ad88436ff documenting the folder 2012-12-27 19:01:33 -05:00
Matthew Flatt
f2d870859a logging: allow name in `log-message', report it in a log-receiver evt
The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.

Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.

These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.
2012-12-27 14:12:40 -06:00
Matthew Flatt
a39004241e fix dist spec 2012-12-27 14:12:40 -06:00
Matthew Flatt
3f6b30a569 scibble: repair related to recent `scribble/tag' contracts 2012-12-27 12:49:30 -06:00
Robby Findler
353da62843 added make-module-language-tag and use it and make-section-tag
in a few places
2012-12-27 11:10:40 -06:00
Robby Findler
a412ab8411 add a basic test of the logger GUI 2012-12-27 10:23:48 -06:00
Matthew Flatt
ca3b712871 minor doc edits
consistent capitalization of section titles
2012-12-27 09:24:15 -06:00
Matthew Flatt
2d12431c0d move and fixup docs for the "help" collection 2012-12-27 09:24:15 -06:00
Matthew Flatt
f29230f8f2 add `scribble/tag' and clean up some tag-related documentation and functions
Includes the addition of `make-section-tag' and `taglet?' to
`scribble/base'.
2012-12-27 09:24:14 -06:00
Robby Findler
cbeb846043 logger GUI bug
when a tab is created, the logger gui controls may not
have been created, so in the case don't try to update them
2012-12-27 09:06:18 -06:00
Robby Findler
d2d1ac2f2c Improve the logger GUI in DrRacket
One drawback to the current situation (after this commit) is that all
log messages are sent into the user's logger, even messages that come
about as part of DrRacket's implementation. It isn't clear how to fix
this without enumerating all of the possible messages to share and
explicitly forwarding them (both of which are suboptimal things).

On the plus side, the GUI now uses the "debug@GC" notation in a text
field, and when the logger pane is not open, there is no extra work
going on. Plus other, minor GUI improvements.
2012-12-26 22:38:42 -06:00
Robby Findler
f6805ea0c2 remove fancy delay dance around load-collections-xref 2012-12-26 22:37:45 -06:00
Robby Findler
8a3f662d51 git rid of thread unsafe use of load-collections-xref
This was there, I believe, to avoid latency when clicking
on the [docs] links in the language dialog. But now that
we're using a database anyways, loading the xrefs is fast.
2012-12-26 21:20:46 -06:00
Robby Findler
10137dc679 fix bug in help/search docs 2012-12-26 21:18:53 -06:00
Matthew Flatt
18a538050a guide: improve explanation of transformer procedures and identifier macros 2012-12-26 12:15:03 -06:00
Robby Findler
0a6d8822b0 adjust DrRacket logging support following comments from Neil Van Dyke
- use the same font/size as the definitions/interactions window
- add a checkbox to control scrolling behavior and,
- when scrolling, scroll to the begining of the line, not the end
2012-12-26 09:03:43 -06:00
Robby Findler
fa85d30773 adjust the search bubbles so they flicker less when typing 2012-12-25 17:40:32 -06:00
Matthew Flatt
b69573277c reference: rerrange docs on synchronizable events
Put the details consistently with event datatypes, instead
of trying to put them all in `sync', which better reflects
the extensibility of the set of synchronizable events.
2012-12-25 07:20:58 -06:00
Matthew Flatt
c162657685 racket/class: fix interaction of class/c' and send-generic' 2012-12-25 07:20:57 -06:00
Robby Findler
1298c11d2f adjust find-string in text% so it doesn't allocate as many temporary strings
Also, Rackety
2012-12-24 23:35:12 -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
Robby Findler
6a69da76e2 adjust ascii-box => unicode-box algorithm so that
it only looks left and right at hyphens and only
up and down at pipes, etc. This better handles the
case where you have something like this:

  +--------------+
  | (<= a-x b-y) |
  +--------------+

Before this commit, it would have adjusted the hypens
inside the identifiers
2012-12-24 13:49:32 -06:00
Robby Findler
7041ea1d80 adjust online expansion's internals to call set-dirty only at
the end of an edit sequence instead of on every edit inside
the edit sequence
2012-12-24 12:31:55 -06:00
Robby Findler
a504f77d54 adjust line number mixin so it postpones recomputation of
sizes until the end of an edit sequence (when appropriate)
2012-12-24 12:30:54 -06:00
Robby Findler
5a9c5f681b clean up ascii art => unicode a little
adjust the way it changes characters so it
doesn't change them when they are already the right
thing (this means set-modified is not always called
and also improves performance in the case that little
changes in a big diagram)
2012-12-24 12:29:57 -06:00
Robby Findler
042bbbefe7 add an ASCII art rectangle => unicode rectangle keybinding to drracket 2012-12-24 11:38:54 -06:00
Matthew Flatt
4a57db4448 add (system-type 'word)
Returns 32 or 64 to indicate whether Racket is running as a
32-bit program or a 64-bit program.
2012-12-24 06:38:53 -07:00
Robby Findler
fc2f931755 fix language dialog tooltip positioning code for mac os x 2012-12-23 12:37:53 -06:00
Robby Findler
0fecdaddf7 avoid showing/re-hiding tooltip when it wouldn't move
More mouse events seem to come in under windows than
mac os x, leading to the bad flashing behavior described
in PR 13384

closes PR 13384
2012-12-23 09:52:57 -06:00
Robby Findler
ccae98777a fix a switchable button / discrete-sizes panel interaction bug
also clean up the code a bit (make sure the h? argument to
set-label-visible is really a boolean and make some of the
long lines narrower)
2012-12-23 09:52:55 -06:00
Matthew Flatt
24725f8366 props: matthias responsible for `realm' 2012-12-23 06:43:54 -07: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
Matthias Felleisen
6f40e86037 first complete draft of the Realm of Racket code, with todo list 2012-12-22 19:27:59 -05:00
Matthias Felleisen
b09fbf8b38 compiliation allowed, typo 2012-12-22 19:27:59 -05:00
Matthias Felleisen
4111379982 hungry henry game 2012-12-22 19:27:58 -05:00
Matthias Felleisen
b06f938fb8 graphics for hungry henry 2012-12-22 19:27:58 -05:00
Matthias Felleisen
1fd37e98a8 todo list; typo in 10 2012-12-22 19:27:58 -05:00
Matthias Felleisen
1621af2aab lazy version of dice of doom 2012-12-22 19:27:58 -05:00
Matthias Felleisen
b940e4fc19 made it truly strict, organized data defs 2012-12-22 19:27:58 -05:00
Matthias Felleisen
092e48a981 more uncompilables 2012-12-22 19:27:58 -05:00
Matthias Felleisen
b78d251c70 prevent compilation for files with images 2012-12-22 19:27:58 -05:00
Matthias Felleisen
613bb3e16c dice of doom 2012-12-22 19:27:58 -05:00
Matthias Felleisen
17d3d9e3f4 graphics for dice of doom 2012-12-22 19:27:58 -05:00
Robby Findler
58e15cc2c7 fix tests for the "class:"-less object-name results 2012-12-22 18:25:43 -06: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
Robby Findler
3ab14bbafe initialize the delegate text for a new frame
related to PR 13379
2012-12-22 11:47:30 -06:00
Matthew Flatt
bdaf823aee skip compilation of "realm" file that contains an image 2012-12-22 09:55:29 -07: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
853f959622 raco pkg: improve command-line checking and error reporting
For example, complain if both `-u' and `-i' are specified,
or if a bad `--deps' mode is provided.
2012-12-22 09:43:19 -07:00
Matthew Flatt
61e0610b2a raco pkg show: add -v'/--version' argument for selecting a Racket version
This is sortof a step toward `raco pkg migrate'.
2012-12-22 09:43:19 -07:00
Matthew Flatt
fdcd030e54 raco pkg show: tweak output format 2012-12-22 09:43:19 -07:00
Robby Findler
118e961cee Revert ufo changes at Matthias's request
Revert "do a little bit better job compressing the bytes"

This reverts commit 099a35881e.

Revert "adjust file to use the literal bytes for the ufo image"

This reverts commit fdd9344b27.
2012-12-22 10:35:24 -06:00
Mike Sperber
a4f0158716 Synch German string constants with latest. 2012-12-22 15:38:54 +01:00
Robby Findler
d7e6f35b97 guard against spurious status messages 2012-12-22 08:30:54 -06:00
Neil Toronto
1aebd171c5 Moar matrix review/refactoring
* Consolidated Gauss and Gauss-Jordan elimination

* Fixed Gaussian elimination to return all indexes for pivotless columns,
  not just those < m

* Consolidated `matrix-row-echelon' and `matrix-reduced-row-echelon'

* Specialized row reduction for determinants; removed option to not do
  partial pivoting (it's never necessary otherwise)

* Added `matrix-invertible?'

* Removed `matrix-solve-many'; now `matrix-solve' solves for multiple
  columns

* Gave `matrix-inverse' and `matrix-solve' optional failure thunk arguments

* Made some functions that return multiple columns return arrays instead
  (i.e. `matrix-column-space')

* Added more tests
2012-12-21 22:59:59 -07:00
Neil Toronto
3bc4c1ffdc More efficient Gaussian elimination using vectors of vectors (non-strict
arrays can't help an inherently sequential algorithm)
2012-12-21 22:59:59 -07:00
Robby Findler
099a35881e do a little bit better job compressing the bytes 2012-12-21 23:04:24 -06:00
Robby Findler
fdd9344b27 adjust file to use the literal bytes for the ufo image
this may not be suitable code for RoR, I'm not sure, but it
avoids the compilation problem and was fun to try out
(at least for me)
2012-12-21 22:32:53 -06:00
Robby Findler
7cad346cf8 add a preference to disable the arrows in online check syntax (and regular check syntax too) 2012-12-21 22:08:51 -06:00
Robby Findler
84057ce3d5 export preferences:add-check 2012-12-21 22:07:57 -06:00
Robby Findler
f4f7833531 move some literal strings into the string constants
(they should have been there ages ago ...)
2012-12-21 21:35:09 -06:00
Robby Findler
200ec130a0 drracket's online compilation now tracks files loaded during expansion
use these files to determine if a file is dirty (and thus needs
to be recompiled) when another file is saved.

closes PR 13307
2012-12-21 21:20:23 -06:00
Matthias Felleisen
a567de9a48 distributed server game 2012-12-21 21:11:41 -05:00
Matthias Felleisen
a354195ae4 purpose statements 2012-12-21 21:11:41 -05:00
Matthias Felleisen
49a62fd285 orc game 2012-12-21 21:11:41 -05:00
Matthias Felleisen
ca8c21f43c graphics for orc game 2012-12-21 21:11:40 -05:00
Matthias Felleisen
02a3736d84 source and readme for snake game 2012-12-21 21:11:40 -05:00
Matthias Felleisen
a9db702a76 graphic elements for snake game 2012-12-21 21:11:40 -05:00
Matthias Felleisen
6f9296882f read me 2012-12-21 21:11:40 -05:00
Matthias Felleisen
55ab9b4562 read me 2012-12-21 21:11:40 -05:00
Matthias Felleisen
53ac65c877 typos 2012-12-21 21:11:40 -05:00
Matthias Felleisen
ff701abe7b typos 2012-12-21 21:11:40 -05:00
Robby Findler
19d6f7a15a Rackety 2012-12-21 19:22:59 -06:00
Robby Findler
2fced5d7d6 drracket tracks the frame position and size on a
per-monitor-configuration basis and (possibly) moves/resizes
the frame when it changes
2012-12-21 19:22:59 -06:00
Robby Findler
3f9e60a908 add display-changed method 2012-12-21 19:22:59 -06:00
Robby Findler
8d4dac318c hold onto all frames weakly 2012-12-21 15:43:12 -06:00
Matthew Flatt
5259f159af planet2: include the Racket version number in a PNR request
The version number is included as the query part of the constructed
URL, so it is easily ignored by a server. The intent is that the
PLT PNRs will eventually support version-specific results.
2012-12-21 11:51:09 -07:00
Matthew Flatt
0e140a8173 planet2: versions for dependencies 2012-12-21 11:51:08 -07:00
Matthew Flatt
bfe9548aa6 planet2: "package name service" => "package name resolver" 2012-12-21 11:51:08 -07:00
Matthew Flatt
b644bb2901 planet2: remove "METADATA.rktd" compatibility 2012-12-21 11:51:08 -07:00
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
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
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
22f9c8509f fix optimizer bug, again
Corrects ef824351a1.
2012-12-16 16:04:19 -07:00
Matthew Flatt
ef824351a1 fix optimizer bug
Moving an expression that is referenced through a level of copy
propagation did not fix up a nested static distance correctly.

Closes PR 13355
2012-12-16 13:11:57 -07:00
Matthew Flatt
bbfded59bf fix doc typo
Closes PR 13362
2012-12-16 13:11:56 -07:00
Matthew Flatt
59c693ddb2 fix docs on scheme_malloc_fail_ok
Closes PR 13363
2012-12-16 13:11:56 -07:00
Matthew Flatt
fb7cbcfeb1 date struct: improve docs
Closes PR 13371
2012-12-16 13:11:56 -07:00
Matthew Flatt
d3e4fbe7a7 make scheme_check_threads() run at least on thread quantum
As long as some thread is ready to run, and in case the threads
synchronize after very little work, keep checking threads for
at least one thread quantum.
2012-12-16 13:11:56 -07:00
Neil Toronto
5a2aa226fb Initial commit for `typed/plot' module
I also made some minor changes to `plot' so that its functions would
type more easily. In particular, everything that used to take a list
of vectors now accepts a (Sequenceof (Sequenceof Real)). The 3D
discrete histogram renderers now also accept lists as well as vectors
in the sequence of categories.

For now, in typed/plot functions, optional non-keyword arguments are
required. As soon as Vincent closes PR 13354, I should be able to
uncomment part of a macro in "typed/plot/syntax.rkt" to make them
correctly optional.
2012-12-15 21:22:50 -07:00
Robby Findler
0b095382ca improve the performance of typing a close paren 2012-12-15 15:13:26 -06:00
Asumu Takikawa
2676beaa7c Make integer-sets implement generic interfaces
Supports gen:stream, gen:equal+hash, gen:custom-write
2012-12-14 16:21:07 -05:00
Asumu Takikawa
891ee1b19e Fix missing set-integer-set-contents!
Closes PR 13368

This was a MzScheme -> Racket transition issue. Also
added tests and fixed some docs as well.
2012-12-14 10:56:29 -05:00
Matthew Flatt
5baf63f821 syntax-local-get-shadower: fix interaction with marked bindings
Getting a shadower should not drop module context if the context
determines a binding that has marks.
2012-12-13 19:34:32 -07:00
Danny Yoo
be49c6731c Documentation example for string-copy. 2012-12-13 19:05:45 -07:00
Asumu Takikawa
0c11601fdf Fix documented name of unsafe-cons-list 2012-12-13 18:25:29 -05:00
Asumu Takikawa
57268c2fc9 Explain scope of type variables in docs 2012-12-13 17:54:58 -05:00
Asumu Takikawa
ece218fc85 Rackety 2012-12-13 17:54:58 -05:00
Asumu Takikawa
13b831f0ec Fix unsound type variable scoping
Closes PR 13123
2012-12-13 17:54:58 -05:00
Asumu Takikawa
6c716759d7 Simplify expansion of pdefine: and define: 2012-12-13 17:54:58 -05:00
Asumu Takikawa
28108884ab Fix tests where type variable scoping is wrong 2012-12-13 17:54:58 -05:00
Asumu Takikawa
5c80743ed5 Refactor to use syntax/id-table 2012-12-13 17:54:58 -05:00
Asumu Takikawa
5286e5016e Minor doc fix 2012-12-13 17:54:58 -05:00
Matthew Flatt
6eef00a312 raco setup: fix problem with doc index database
When a tag is serializable but not `write'--`read' invariant,
then it needs to be serialized and deserialized.

Also, clarify and check in `tag?' that a tag should be
serializable.
2012-12-13 15:45:48 -07:00
Danny Yoo
f374cb184d Add separate section to avoid conflict at scribble time. 2012-12-13 13:00:06 -07:00
Danny Yoo
db280d0941 Add scribble/doclang2 with keyword support for customization, and documentation. 2012-12-13 12:50:27 -07:00
Danny Yoo
4ff4c677bd Modernize cfg-parser from mzscheme to Racket libraries. 2012-12-13 11:58:40 -07:00
Matthew Flatt
e0de33a005 net/ftp: make progress proc keyword, change progress protocol
The revised protocol for a progress procedure doesn't create
the thread automatically, and it provides an event to indicate
when the progress count changes.
2012-12-13 07:45:26 -07:00
Chenxiao
4cc287f7e5 Improve ftp client. Add upload, progress monitor and something else. 2012-12-13 07:09:04 -07:00
Greg Hendershott
00a5bf63b1 Render italic and bold in Markdown.
Scribble => Markdown
  @bold{text}    **text**
@italic{text}     _text_
2012-12-12 20:58:44 -07:00
Matthew Flatt
dd5b999c64 fix `quasisyntax' to better preserve syntax properties
Closes PR 13357
2012-12-12 08:34:19 -07:00
Greg Hendershott
dbffc840a9 Render @hyperlink in Markdown.
Render Scribble like

    @hyperlink["url" "content"]

as Markdown like

    [content](url)

Note that this only works for `@hyperlink`. The motivation is to
preserve content the author has explicitly written. (Previously,
`markdown-render.rkt` was discarding this; `text-render.rkt` still
does so.)

This does _not_ attempt to handle everything that `html-render.rkt`
would automatically generate and render as `<a>`. It simply can't --
things like hotlinked Racket keywords in code blocks simply won't work
in Markdown.
2012-12-11 12:40:54 -07:00
Jens Axel Søgaard
e5016951d0 Improved performance of prime? for small numbers 2012-12-11 19:45:39 +01:00
Jay McCarthy
9a0e948a58 Fixing regression re path restriction patch 2012-12-11 10:47:54 -07:00
Matthew Flatt
5d57f6e497 ffi/unsafe/custodian: fix weak-reference problem
Also fix a related problem in the `math' MPFR binding (which was
masked by the `ffi/unsafe/custodian' bug).
2012-12-11 09:30:15 -07:00
Neil Toronto
764f6930ce Minor `math/statistics' doc fixups 2012-12-10 18:25:40 -07:00
Neil Toronto
9865182df4 Fixes, docs, and API changes for `math/statistics'
* Fixed and added tests for `quantile' and `median', documented them

* Added `sort-samples', documented it

* Removed `real-quantile' and `real-median' (too many design choices
  right now; will revisit when implementing Kernel Density Estimators)

* Documented `absdev' and `absdev/median'

* Fixed `update-statistics*': now uses O(1) space as advertised (if the
  sequences of values and weights both use O(1) space)

* Changed types of binning functions: allows using #:key in the future
  (when TR supports function type cases that differ only by keyword
  argument types better), places optional weights at the end like other
  statistics functions

* Clarified binning docs about sort stability and half-open intervals
2012-12-10 16:45:18 -07:00
Asumu Takikawa
9c70f3373d Expand on quote-syntax docs 2012-12-10 18:05:29 -05:00
Asumu Takikawa
2bc1528630 Add type for xor 2012-12-10 15:49:51 -05:00
Asumu Takikawa
77e687579a Doc typo 2012-12-10 15:49:50 -05:00
Jay McCarthy
b843a45cd8 Fixing in an error in how paths that went outside the filesystem to
URL map were handled.

Previously, only ".." at the beginning of the URL were checked; now it
looks at the entire URL for a path that ultimately leaves the base.
2012-12-10 11:54:31 -07:00
Robby Findler
c627f9e734 Add in more shortcuts, following Matthew's recent commit
Also, rackety
2012-12-10 11:42:32 -06:00
Matthew Flatt
490a474e0e fix comments
I had it all backwards: DrRacket went from "increment" to Greek
capital delta (which makes a lot more sense).
2012-12-10 10:27:44 -07:00
Matthew Flatt
fc112ccd46 scribble: render "incremement" and some other chars for Latex/PDF
This change was prompted by the change to DrRacket's "\Delta"
to produce the Unicode "increment" character.
2012-12-10 10:20:32 -07:00
Greg Hendershott
6aa6dc0400 Add a Markdown rendering mode to Scribble.
Uses "Github flavored markdown". Specifically, code blocks are opened
using ```scheme so that Github will lex and format them as Scheme code
rather than generic monospace.

Note: I would have used ```racket, but we are still waiting for the
pygments.rb project to pull again from pygments-main -- to which I
contributed a Racket lexer back in August. After pygments.rb pulls,
can update this to use ```racket instead.
2012-12-09 15:17:36 -07:00
Matthew Flatt
5b016b4c32 win32: support MinGW build
A MinGW build is the same shape as a MSVC build (but without
MzCOM), unlike a Cygwin build.
2012-12-09 11:26:02 -07:00